Before you can lay out a path to becoming a better custom software developer, you need to understand the multidimensional nature of your toolkit.
Should you try to be more of a specialist or a generalist? That was the most debated point in the discussion. At Aptera, a group of us are reading Chad Fowler’s fantastic book The Passionate Programmerand were discussing the first section. There were many things that we all agreed on, like the importance of not letting a lack of perfection prevent progress, and, especially, the importance of continuous learning for the software developer.
Source: Should Custom Software Developers Be Generalists or a Specialists?
Python’s Hidden Regular Expression Gems
There are many terrible modules in the Python standard library, but the Python re module is not one of them. While it’s old and has not been updated in many years, it’s one of the best of all dynamic languages I would argue.
What I always found interesting about that module is that Python is one of the few dynamic languages which does not have language integrated regular expression support. However while it lacks syntax and interpreter support for it, it makes up for it with one of the better designed core systems from a pure API point of view. At the same time it’s very bizarre. For instance the parser is written in pure Python which has some bizarre consequences if you ever try to trace Python while importing. You will discover that 90% of your time is probably spent in on of re’s support module.
Source: Python’s Hidden Regular Expression Gems | Armin Ronacher’s Thoughts and Writings
Einstein’s theory of general relativity, explained using only the thousand most common words in English.
Source: The Space Doctor’s Big Idea – The New Yorker
When Dave Messina entered a graduate program for genomics in 1998, he was elated. He was taking the first steps of what could be a career at a top-tier university, working on scientific research that could impact millions of lives.But while his chosen field had so much promise, he realized that for him, the academic environment might not.“I looked around, and saw that some of the smartest scientists I’d ever met were having trouble getting funded, and moving forward in their research,” Messina says. “The life of an academic scientist is really hard. You’ve got to really, really want it. And even then, for many people it just doesn’t work out.”
Source: How Scientists Can Thrive in the Startup World · The Macro
Facebook is firing on all cylinders. Now Mark Zuckerberg is looking to the decade ahead, from AI to VR to drones.
Source: Inside Mark Zuckerberg’s Bold Plan For The Future Of Facebook
Genomic pipelines consist of several pieces of third party software and, because of their experimental nature, frequent changes and updates are commonly necessary thus raising serious deployment and reproducibility issues. Docker containers are emerging as a possible solution for many of these problems, as they allow the packaging of pipelines in an isolated and self-contained manner. This makes it easy to distribute and execute pipelines in a portable manner across a wide range of computing platforms. Thus, the question that arises is to what extent the use of Docker containers might affect the performance of these pipelines. Here we address this question and conclude that Docker containers have only a minor impact on the performance of common genomic pipelines, which is negligible when the executed jobs are long in terms of computational time.
Source: The impact of Docker containers on the performance of genomic pipelines [PeerJ]
Imagine a future where you are building that rich, client-side web app. You start by creating some backend services in Flask or Node, an HTML page, throw in a few divs and uls, and then you type <script src=”main.py” language=”Python”>. That future might just be possible, for the right types of applications, with Ryan Kelly’s pypy.js project.
Links from the show:
Source: Episode #32 PyPy.js – PyPy Python in Your Browser – [Talk Python To Me Podcast]