Stack Overflow: How We Do Deployment
This is #3 in a very long series of posts on Stack Overflow’s architecture.Previous post (#2): Stack Overflow: The Hardware - 2016 EditionWe’ve talked abou...
Disassembling Sublime Text
This afternoon I spent some time with the free trial of the Hopper Disassembler looking through the binary of Sublime Text 3. I found some interesting things and some undocumented settings.
Please do not delete this commented-out version
Let me check, just how old is Emacs 10.31? According to the Emacs timeline Emacs 13.0x was the first public release - in 1985. Feel free to study the over 30 years old sources , simply because they’re significantly more readable than what’s making up expand-file-name these days.
Things every React.js beginner should know
I've been using React.js for about 6 months now. In the grand scheme of things that's not very long at all, but in the ever-churning world of JavaScript frameworks, that just about qualifies you as a bearded elder! I've helped out a few people lately with React starter tips, so I thought it would be a good idea to…
Kill Your Dependencies
This post talks about Ruby but it’s true of every language community: Python, JavaScript, Java, etc. The scourge of dependencies spares no one. This is a dependency visualization of every Rails app I’ve ever used. Does any of this sound familiar: Gemfile with 100s of entries. Test gems loading in production. Each…
Learn Docker by building a Microservice
Dave Kerr, partner and Head of Engineering at QuantumBlack Labs, McKinsey & Company. Writing on software engineering and agentic AI.
How to Write a Spelling Corrector
I figured they, and others, could benefit from an explanation. The full details of an industrial-strength spell corrector are quite complex (you can read a little about it here or here ). But I figured that in the course of a transcontinental plane ride I could write and explain a toy spelling corrector that achieves…
Linux debugging tools you'll love
New zine: Linux debugging tools you'll love
A minimal raytracer
How my quest to make a business card sized raytracer got a little out of hand.
Why are the Microsoft Office file formats so complicated? (2008)
Last week, Microsoft published the binary file formats for Office. These formats appear to be almost completely insane. The Excel 97-2003 file format is a 349 page PDF file. But wait, that’s not al…
GitHub Code Search – Programmers' Goldmine
Learning new language or framework can sometimes be a struggle. Traditional approach is to read documentation which explains the concepts, and provides simple examples. Sometimes that might be enough, but what those documentations are often lacking are some advanced examples and usages in real projects.
What I found wrong in Docker 1.12
The Sad State of Docker
JavaScript libraries should be written in TypeScript
Open Source Freelancer
What ORMs have taught me: just learn SQL (2014)
I’ve come to the conclusion that, for me, ORMs are more detriment than benefit. In short, they can be used to nicely augment working with SQL in a program, but they should not replace it.
Write a Shell in C (2015)
A tutorial on how to write a Unix shell in C.
Fizz Buzz in Tensorflow
interviewer: Welcome, can I get you coffee or anything? Do you need a break? me: No, I've probably had too much coffee already! interviewer: Great, great. And are you OK with writing code on the...
I don't understand Python's Asyncio
A little confession that I have no idea how asyncio works in Python 3.
If your code accepts URIs as input, filter out “file://”
There are many online sites that accept reading input from remote locations. For example a site might try to extract all the text from a webpage, or show you the HTTP-headers a given server sends back in response to a request.