A riff on Moshe Zadka’s blog post, using new Python features to answer the riddle from the movie Labyrinth. I learned a thing or two!
I didn’t know that Solem, the creator of Celery, is now working at Robinhood, but having used it for a bunch of things while in college, and then again at my last gig, I’m looking forward to testing out his code. From their docs, “Faust provides both stream processing and event processing, sharing similarity with tools such as Kafka Streams” and it runs modern python (3.6+ only) with RocksDB and uvloop under the hood. This is a project I’m very excited to try out.
What kind of patterns arise if we look at the street grids in various cities? It’s not all orthogonal cross streets. Open Street Map data, and the tooling to manipulate it, seems to have evolved a lot since I looked at it a couple of years ago. Big props to Boeing for open sourcing OSMnx and sharing so much of his work. Maybe it’s time for a side project…
There were a bunch of things I love reading about here. There’s history, there’s complexity science (that’s how I got into CS in the first place), there’s python, there’s UX, and more. If you’re interested in the future of education and the spreading of scientific knowledge this is a must read.
Ah, the joy of Python
This is one of those topics that confused me for a long time about Python. Ned’s post is more of a description of the lay of the land than an explanation of how and why things work the way they do in Python, but it has inspired me to go and dig through those bytecode talks he linked to, and learn more about Python internals.
I constantly remind my team to try to get into a beginner’s shoes when writing documentation, and to think carefully of every word they’re using when documenting code. My go to is “What would you think if you read that on your day 1 at the office?” Thinking about this problem at a more macro scale (i.e., all people learning python, not just seasoned engineers learning the ins and outs of a large system they’ll help develop) makes for an interesting change of perspective.
This post, and it’s follow-up made rounds on the python speaking part of the internet this week. It reminded me of Adrien Guillo’s post on the internals of Python strings. The little optimizations that happen under the hood can lead to surprising and unexpected behavior, but once you learn the deterministic rules behind the nice API, it is easy to predict how things will work, and you can use that to your advantage. Now I’m trying to decide how to optimize my current project with string interning.
When I look at demos like these, I wish I had kept learning about differential equations after sophomore year of college. Complexity is awesome, and being able to model these crazy patterns with only a few lines of code would be great.
These one-off explanations of snippets of source code are always enlightening. Coding seems like magic, until you discover that there is not magic, just layers upon layers of well thought out abstractions, each one understandable on its own, but magical as a whole.
Urban development is super interesting, and thinking of how cities work by looking at their layouts is a good exercise. I wish I had worked more with geographic data while I was in the Apple Maps team. This seems like a neat library, and the fact that it is based on networkx makes me even more curious. There might be a side project brewing here.
Using short code snippets, and a bag of mixed nuts as the motivating example, Bozonier explains a complex probabilty concept.
I’ve never even thought that disabling garbage collection could be a sensible option. It’s always fun to see how people can take a deep-dive into the inner workings of their toolchain and come out with this kind of performance boost. Questioning basic assumptions can be a good idea.
When Brett started posting a bunch of polls on how people use various Python libraries for HTTP requests, I knew he was up to something good.
I’d wager that this is the hardest problem in all human endeavors, and not just in CS. Communication is hard, and while language helps us share our ideas, it is nearly impossible to be sure that the message we wanted to get across was properly conveyed.
Another cool project on image processing by Zucker. Code that solves a real problem, however tiny, is always worth reading.
In python, everything is a dict. Understanding how they work is really important, beyond the basic idea of hashing keys and mapping to values. This article by should be required reading.
I have been helping a friend level up his python recently, focusing on web development with Flask. One of his first questions? “What does @app.route, do?”
Another in depth look at modern solutions to artificial intelligence and problem solving. As usual, Karpathy makes complex ideas understandable, this time using OpenAI’s Gym to play Pong.
The application of these simple machine learning concepts keep impressing me more and more. Autoencoders are a very simple idea. If anything, click through to see the side-by-side video.
Few times does a post involving convoluted math and programming seem so clear. The diagrams help a lot, and the jump to 2D is mindblowing.
A very cool project. Can’t go wrong with mapping + Python + 3D Printing.
The machine learning inspired cousin to Fizz Buzz in Too Much Detail. You shouldn’t miss this one, even if your knowledge of ML is minimal.