Episode #69: Digging into StackOverflow's 2018 survey results
Python Bytes 69
Sponsored by DigitalOcean: https://do.co/python
pynblets you manage Jupyter notebooks as plain Python code with embedded Markdown text, enabling:
- Python development environment: Use your preferred IDE/editor, ensure style compliance, navigate, refactor, and test your notebooks as regular Python code.
- Version control: Track changes, review pull requests and merge conflicts as with regular Python code. The cell outputs are stored separately and don't interfere with versioning.
- Consistent execution state: Never lose track again of the execution state. Notebooks are always executed from clean iPython kernels and the cell execution is cached.
- You also get parameterized notebooks with batch and programmatic execution.
- New language Q# (snippet examples)
- How do you run a quantum app?
- Based on topological qubits and quantum computers
- Now out on macOS & Linux
- Need to use VS Code (and vs code extension)
- Comes with Python interoperability (only other language)
- Also in Jupyter
- Some real-world examples. See this Wired article.
- IBM is making quantum computers commercially available. Since 2016, it has offered researchers the chance to run experiments on a five-qubit quantum computer via the cloud and at the end of 2017 started making its 20-qubit system available online too.
Brian #3: pytest talk in Spanish
- "pytest: recommendations, basic packages for testing in Python and Django"
- By A. Vallbona (@avallbona) From PyConES 2017
- with English slides, and video in Spanish.
- Some of the topics covered:
model-mommyto easily create fixtures based on django models
pytest-lazy-fixtureallows the use the fixtures as parameters to parameterize
freezegunto helps us to "freeze" time
eradicateto eliminate commented code
pytest-xdistto run tests in parallel
Bonus pytest topic:
- pytest.org just added a Reference page, a full reference to pytest’s API.
Michael #4: StackOverflow Developer Survey Results 2018
- Sample size: Over 100,000 developers
- 55% contribute to open source
- 64% have CS degrees
- Experience and Belonging
- Connection to other devs (increasing over time)
- Competing with peers (decreasing over time)
- Not as good as my peers (decreasing over time)
- How Much Time Do Developers Spend on a Computer? Most: 9-12 hours
- Python beats C# in usage for the first time
- Most loved: #1 Rust, #2 Kotlin, #3 Python
- Most dreaded: VB 6 and CoffeeScript
- Loved: PostgreSQL
- Dreaded: IBM Db2, Memcached, and Oracle
- Most wanted: MongoDB
- Editor: VS Code
- Dev OSes:
- Windows: 49%
- macOS: 27%
- Linux: 23%
Brian #5: demoshell
- Doug Hellman (@doughellmann) announces demoshell
- Inspired by a tweet from @genehack “Hey, speakers, if you're doing live demos in a shell, clear the screen after every command to get the prompt back at the top, so folks in the back can see what you're doing.”
- demoshell is a simplified shell for live demonstrations. It always shows the command prompt at the top of the screen and pushes command output down instead of letting it scroll up.
- In his words: “I put it up there to start a discussion. I’d be happy if a bunch of people showed up and wanted to take it over and actually turn it into something useful. I invite people to give it a look. And warn them that too much interest is going to be met with commit privileges on the repo. :-)”
Michael #6: Clear statement on Python 2 EOL
- Will there be a period where Py2.7 is in security-only status before hitting EOL?
- via Nicola Iarocci @nicolaiarocci
- Yay, @gvanrossum makes it adamantly clear: “Let's not play games with semantics. The way I see the situation for 2.7 is that EOL is January 1st, 2020, and there will be no updates, not even source-only security patches, after that date.” https://buff.ly/2pbZmBZ
- Support (from the core devs, the PSF, and python.org) stops completely on that date.
Follow up and other news
- Eve: MongoDB & Flask-backed RESTful APIs course is out!
- Shoutout to everyone I met at PyCon Slovakia
- A couple of recent episodes on Test & Code focusing on project test development:
- What tests to write first
- Prioritize software tests with RCRCRC
- Upcoming topics will include beefing up test coverage with things like equivalence partitioning, boundary value analysis, state transition diagrams, state tables, negative testing, …
- Also learning a lot about developing an open source project and all the tools surrounding that. I’ll discuss those topics in episodes as well.
- Project used in both episodes, cards : a project task tracking / todo list app that will be expanded as I go along talking about different test and software development topics.