POPULARITY
Olá, DevPros! Estamos de volta com um episódio especial que vai te inspirar a explorar novos horizontes na instrução de programação. Hoje, temos a honra de ter Santos como convidada, uma profissional que decidiu trilhar o caminho da programação, fez a DevPro e agora é instrutora de destaque na DevPro! Santos está aqui para saudar a galera e oferecer um rápido resumo de sua trajetória surpreendente como instrutora de programação e compartilhar com você o que estudar para conquistar sua primeira vaga como dev backend!
It’s another Elecia and Chris episode and this time we cover handling hourly work when the task doesn’t neatly divide into hours, using Docker (and Conda and Virtualenv) for development, growing the podcast, overdoing conference talks, and trying to find a new laptop. Phew! The Embedded Online Conference is coming up the week of May 17th 2021, and Elecia’s talk will be Buried Treasure and Map Files (Note: the coupon code is still valid and mentioned early in the episode. Elecia will also put up a copy of her talk on YouTube after some time.)
Doblegando a la culebra https://podcast.jcea.es/python/8 Se me oye (Jesús Cea) muy mal y es muy cansado porque hablo mucho y tengo mala calidad de sonido. Lo siento. Se han eliminado las pausas en la edición, así que es bastante cansado oír a Jesús Cea hablar a toda velocidad y sin respirar. Lo haremos mejor la próxima vez. Se oye mucho tecleo. Participantes: Eduardo Castro, email: info@ecdesign.es. Jesús Cea, email: jcea@jcea.es, twitter: @jcea, https://blog.jcea.es/, https://www.jcea.es/. Sara Sáez, twitter: @saruskysaez. Luis. Audio editado por Pablo Gómez, twitter: @julebek. La música de la entrada y la salida es "Lightning Bugs", de Jason Shaw. Publicada en https://audionautix.com/ con licencia Creative Commons Attribution 4.0 International License. [01:42] API limitado API limitado de Python para asegurar compatibilidad binaria de extensiones en C entre versiones diferentes del intérprete de Python. PEP 384: https://www.python.org/dev/peps/pep-0384/. [03:42] Por qué empecé a usar Python. [06:52] Eduardo: Cartas de restaurante con códigos QR: https://www.qrico.eu/. [10:42] ¿Es mejor que una biblioteca esté en la biblioteca estándar de Python o ser una librería externa? Tema recurrent. Pros y contras. [18:34] Soporte de Python en MS Windows. Distribución de librerías precompiladas. ¿Cómo compilar una extensión C en MS Windows? [20:52] Problema de las distribuciones binarias cuando sale una nueva versión de Python. Es una de las motivaciones para usar el API limitado definido en PEP 384: https://www.python.org/dev/peps/pep-0384/. [23:22] Sistema de notificación de actualizaciones de librerías. Por ejemplo: https://libraries.io/. Feed RSS de PYPI: https://pypi.org/rss/updates.xml. ¿Actualizas a la última versión? Pros y contras. [28:22] Mejor entrar con vídeo a la tertulia. [29:12] Debugging de uso de memoria y memory leaks. Flamegraphs: http://www.brendangregg.com/flamegraphs.html. Tracemalloc: https://docs.python.org/3/library/tracemalloc.html. [33:52] Virtualenv, ¿qué usa cada uno? ¿Y en MS Windows? [35:52] Soporte de Python en MS Windows. La mayor parte del uso de Python es en MS Windows, pero los "core developers" no usar MS Windows. Eso causa problemas de soporte. [40:52] Guido van Rosum y Microsoft. Guido van Rosum ha empezado a trabajar para Microsoft: https://www.msn.com/en-us/news/technology/python-creator-guido-van-rossum-joins-microsoft/ar-BB1aXmPu. [44:22] ¿Ya estáis usando Python 3.9? El API limitado se va ampliando versión a versión de Python. PEP 384: https://www.python.org/dev/peps/pep-0384/. [45:22] Opciones para acelerar la ejecución de código Python. Numba https://numba.pydata.org/. Cython https://cython.org/. Pero una vez que empiezas etiquetar tipos, el código resultante ya no es Python. El futuro es type hinting: PEP 484 https://www.python.org/dev/peps/pep-0484/. Programar una extensión en C nativo. PyPy https://www.pypy.org/. Ojo con la compatibilidad. [54:32] Métodos para enlentecer Python :-) [55:12] Protección de código en Python. Cython https://cython.org/. [58:47] Mezclar código C en Python. Programar un módulo C. CFFI: https://cffi.readthedocs.io/en/latest/. [01:01:52] Guido van Rosum y Microsoft (segunda parte) Volvemos al tema de Guido van Rosum trabajando para Microsoft: https://www.msn.com/en-us/news/technology/python-creator-guido-van-rossum-joins-microsoft/ar-BB1aXmPu. La polémica del "walrus operator" u "operador morsa". [01:05:22] "Operador morsa" o "Walrus operator". PEP 572 https://www.python.org/dev/peps/pep-0572/. Tema recurrrente: Python se está complicando cada vez más. Problema para los novatos. [01:14:32] Opciones para acelerar la ejecución de código Python (2). Otra forma de acelerar Python: MYPY http://mypy-lang.org/ y MYPYC https://github.com/mypyc/mypyc. Type hinting. PEP 484 https://www.python.org/dev/peps/pep-0484/. [01:17:42] ¿Python con tipos? Motivación. [01:20:52] ¿Quien paga los tests? [01:22:37] Los tests como documentación. [01:23:32] ¿Qué usais para tests? [01:26:22] ¿Qué hace cada uno con Python? Hobby, Zope https://zope.readthedocs.io/en/latest/, imágenes, numpy https://numpy.org/, Jupyter https://jupyter.org/. Persistencia de datos y ORMs. Integrar Python dentro de otros proyectos, como en Kodi https://www.kodi.tv/. Django https://www.djangoproject.com/, micropython http://www.micropython.org/. [01:33:12] Colofón y mi motivación para las tertulias.
virtualenv supports six shells: bash, csh, fish, xonsh, cmd, posh. Each handles prompts slightly differently. Although the virtualenv custom prompt behavior should be the same across shells, Brian Skinn noticed inconsistencies. He set out to fix those inconsistencies. That was the start of an adventure in open source collaboration, shell prompt internals, difficult test problems, and continuous integration quirks. Brian Skinn initially noticed that on Windows cmd, a space was added between a prefix defined by --prompt and the rest of the prompt, whereas on bash no space was added. For reference, there were/are three nominal virtualenv prompt modification behaviors, all of which apply to the prompt changes that are made at the time of virtualenv activation: If the environment variable VIRTUAL_ENV_DISABLE_PROMPT is defined and non-empty at activation time, do not modify the prompt at all. Otherwise: If the --prompt argument was supplied at creation time, use that argument as the prefix to apply to the prompt; or, If the --prompt argument was not supplied at creation time, use the default prefix of "({{ envname }}) " as the prefix (the environment folder name surrounded by parentheses, and with a trailing space after the last paren. Special Guest: Brian Skinn.
Darüber haben wir geplaudert: Leistung; Barometer; enkrateia (Activity tracker data analysis for Android and iOS); Google Street View verpixeln lassen; MyMail App und mail.ru; Yubico Yubikey; Security-Token; FIDO2; Windows Hello; Python FastAPI, Virtualenv, Pipenv, Anaconda; BrowserStack; NVD3; Webpack; Angular; Phoenix LiveView; Ruby Volt; Source Maps; Sass und SCSS; CSS-in-Vienna Meetup; Vue.js; Svelte; React; CodePen; Visual Studio Code; NoMachine; 5G Dinge; LoRaWAN; VoLTE; Feinstaub-Sensor; Android TV; Obsoleszenz; Chromebook; Linux Desktop; Remote Desktop; Intel Clear Linux; A gscheiter Rechner; #covfefe Gäste: Bernhard, Stefan, Ulrich
Sponsored by DigitalOcean: pythonbytes.fm/digitalocean Special guest: Kojo Idrissa! Michael #1: donkeycar Have you ever seen a proper RC car race? Donkeycar is minimalist and modular self driving library for Python. It is developed for hobbyists and students with a focus on allowing fast experimentation and easy community contributions. Use Donkey if you want to: Make an RC car drive its self. Compete in self driving races like DIY Robocars Experiment with autopilots, mapping computer vision and neural networks. Log sensor data (images, user inputs, sensor readings). Drive your car via a web or game controller. Leverage community contributed driving data. Use existing CAD models for design upgrades. Brian #2: RIP Pipenv: Tried Too Hard. Do what you need with pip-tools. Nick Timkovich No releases of pipenv in 2019. It “has been held back by several subdependencies and a complicated release process” main benefits of pipenv: pin everything and use hashes for verifying packages The two file concept (Pipfile Pipfile.lock) is pretty cool and useful But we can do that with pip-tools command line tool pip-compile, which is also used by pipenv: pip-compile --generate-hashes --ouptut-file requirements.txt requirements.in What about virtual environment support? python -m venv venv --prompt $(basename $PWD) or equivalent for your shell works fine, and it’s built in. Kojo #3: str.casefold() used for caseless matching “Casefolding is similar to lowercasing but more aggressive because it is intended to remove all case distinctions in a string.” especially helpful for Unicode characters firstString = "der Fluß" secondString = "der Fluss" # ß is equivalent to ss if firstString.casefold() == secondString.casefold(): print('The strings are equal.') else: print('The strings are not equal.') # prints "The strings are equal." Michael #4: Virtualenv via Brian Skinn Virtualenv 20.0.0 beta1 is available Announcement by Bernat Gabor Why the major release I identified three main pain points: Creating a virtual environment is slow (takes around 3 seconds, even in offline mode; while 3 seconds does not seem that long if you need to create tens of virtual environments, it quickly adds up). The API used within PEP-405 is excellent if you want to create virtual environments; however, only that. It does not allow us to describe the target environment flexibly or to do that without actually creating the environment. The duality of virtualenv versus venv. Right, python3.4 has the venv module as defined by PEP-405. In theory, we could switch to that and forget virtualenv. However, it is not that simple. virtualenv offers a few benefits that venv does not Benefits over venv Ability to discover alternate versions (-p 2 creates a python 2 virtual environment, -p 3.8 a python 3.8, -p pypy3 a PyPy 3, and so on). virtualenv packages out of the box the wheel package as part of the seed packages, this significantly improves package installation speed as pip can now use its wheel cache when installing packages. You are guaranteed to work even when distributions decide not to ship venv (Debian derivates notably make venv an extra package, and not part of the core binary). Can be upgraded out of band from the host python (often via just pip/curl - so can pull in bug fixes and improvements without needing to wait until the platform upgrades venv). Easier to extend, e.g., we added Xonsh activation script generation without much pushback, support for PowerShell activation on POSIX platforms. Brian #5: Property-based tests for the Python standard library (and builtins) Zac Hatfield-Dodds and Paul Ganssle, so far. Goal: Find and fix bugs in Python, before they ship to users. “CPython's existing test suite is good, but bugs still slip through occasionally. We think that using property-based testing tools - i.e. Hypothesis - can help with this. They're no magic bullet, but computer-assisted testing techniques routinely try inputs that humans wouldn't think of (or bother trying), and turn up bugs that humans missed.” “Writing tests that describe every valid input often leads to tighter validation and cleaner designs too, even when no counterexamples are found!” “We aim to have a compelling proof-of-concept by PyCon US, and be running as part of the CPython CI suite by the end of the sprints.” Hypothesis and property based testing is superb to throw at algorithmic pure functions, and the test criteria is relatively straightforward for function pairs that have round trip logic, like tokenize/untokenize, encode/decode, compress/decompress, etc. And there’s probably tons of those types of methods in Python. At the very least, I’m interested in this to watch how other people are using hypothesis. Kojo #6: PyCon US Tutorial Schedule & Registration Find the schedule at https://us.pycon.org/2020/schedule/tutorials/ They tend to sell out FAST Videos are up fast afterwards What’s interesting to me? Migration from Python 2 to 3 Welcome to Circuit Python (Kattni Rembor) Intro to Property-Based Testing Minimum Viable Documentation (Heidi Waterhouse) Extras Michael: Foreword for Mastering Python Networking Pyramid (Waitress) and Django both issued security CVEs. You should upgrade! StackOverflow Survey 2020 is open. Go fill it out! Joke See the cartoon: https://trello-attachments.s3.amazonaws.com/58e3f7c543422d7f3ad84f33/5df14f77efb5642d017a593f/31cba5cdf0e9805d47837916555dd7ab/b5cb6570af72883f06c3dcbf47679e9d.jpg
In unserer zehnten Episode reden wir mit Christian über Softwareverbände, Neuland, Agile Softwareentwicklung und natürlich Devops. Für uns ist diese Folge auch insofern eine Premiere, als wir zum ersten Mal einen Remote-Teilnehmer via Studio-Link im Podcast dabei hatten. Wir haben schon im Vorfeld der Sendung etwas mit unserem Equipment kämpfen müssen und letztlich dann wohl verloren (nachdem die Knackser nicht einmal von Auphonic entfernt werden konnten). So schlimm, dass man sich die Folge nicht anhören kann, ist es nicht, aber wir werden beim nächsten Mal versuchen, das besser hinzubekommen. Shownotes Unsere E-Mail für Fragen, Anregungen & Kommentare: hallo@python-podcast.de Christian stellt sich vor Zope Python Software Verband Das Förderprogramm des PSV Python Software Foundation Django Software Foundation Neuland Why Software Is Eating the World Cynefin Framework - David J Snowden / Komplexitätstheorie Opa erzählt vom Krieg iOS Shortcuts Schwarze Schwäne Russell Keith-Magee - Keynote - PyCon 2019 Castro Sideloading Webassembly Devops Docker Toyota Production System / Kanban Manifesto for Agile Software Development The Black Swan Root Cause Analysis Mean Time Between Failures Mean Time To Recovery Ceph Virtualenv, Venv (eingebaut), Python local packages directory Buildout Continuous Integration Continuous Delivery Ansible Vagrant NixOS Django Cookiecutter Heroku AWS S3 Outage Spring 2017 MongoDB / Redis Reimplementation bei Amazon capex / opex Öffentliches tag auf konektom: pp10
Mike breaks down what it takes to build a proper iOS build server, and leaves the familiar shallows of Debian for the open waters of openSUSE. Plus Wes’ reluctant ruby adventures and our pick to ease your javascript packaging woes.
The big four-oh hits us, this time with our special Fictive Kin friend Sean Coates. We talk lots about deploying web applications in various languages, the imapct Composer has had on PHP development, formal and informal mentoring, and how to get accepted to speak at conferences. Check out our sponsors, Engine Yard and WonderNetwork Follow us on Twitter here. Rate us on iTunes here Listen Download now (MP3, 32.1MB, 1:09:20) Links and Notes Fictive Kin Calvin & Hobbes transmogrifier RVM + Bundler Composer + Packagist PIP + Virtualenv Built-in server in PHP 5.4+ Flask Shared-nothing architectures PHPMentoring.org Tug Mcgraw Webshell Variadic functions in PHP 5.6 https://wiki.php.net/rfc/variadics https://wiki.php.net/rfc/argument_unpacking