There is no 'printf'
In C, 'main' returns an int. What happens when you don't explicitly return a value, though? C99 provides a return value of 0, but C89... well, that's undefined, my favorite kind of behavior.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,540 posts.
In C, 'main' returns an int. What happens when you don't explicitly return a value, though? C99 provides a return value of 0, but C89... well, that's undefined, my favorite kind of behavior.
I challenged myself to make a tiny subset of Python in C.
This summer, I embarked on a side project to create a brand-new Palm OS game, and after less than two months of intermittent coding, I'm excited to announce that it's ready to be released to the public!
I got tired of attempting to get shell scripts to produce valid JSON. You’ve likely seen something like this before: echo '{
A security research blog.
Update: the matplotlib pull request has been merged! See This post for a description of the XKCD functionality now built-in to matplotlib!
Last week, I released base , a universal Base class for Ruby. Inheriting from it gives your class every instance method, class method, and constant from every module and class in the system. In a Rails app, it results in:
Introduction Recently, I watched a video by YouTuber ThePrimeTime which details a dev’s frustrations with business culture. Prime is an ex-entrepreneur who currently works in software development at Netflix. His views in this video have been criticised for being jaded by FAANG business cultures he has worked in. I…
A deep-dive into the challenges and misconceptions surrounding async programming in Python
Update (2016-10-07): The official FAQ has an entry for this exact problem now. I'll leave this post as more curiously minded people.
I magine for a moment that, by some quirk of the universe, you are sharing your workspace with a time traveller. Specifically, yourself from 1 year in the future. How will you react to your new co-worker? 1 [ 1 If you find this exercise difficult, try instead imagining how your past self of a year ago would react to…
From COBOL in the 1960s to AI in the 2020s, every generation promises to eliminate programmers. Explore the recurring cycles of software simplification hype.
At work, we really like the basic simple idea of Htmx. Based on using Htmx in a non-trivial user interface, across a team, we’ve found that the following cases are actually not simple and are quite complicated.
In my first decade writing Makefiles, I developed the bad habit of liberally using GNU Make’s extensions. I didn’t know the line between GNU Make and the portable features guaranteed by POSIX. Usually it didn’t matter much, but it would become an annoyance when building on non-Linux systems, such as on the various…
We try to get rid of the complexity, control it, and seek simplicity. I think framing things that way is misguided. Complexity has to live somewhere. Embrace it
We usually perceive that it costs more to get higher quality, but software internal quality actually reduces costs.
gRPC comes up occasionally on the Orange Site , often with a redress of grievences in the comment section. One of the major complaints people have with gRPC is that it requires HTTP trailers. This one misstep has caused so much heartache and trouble, I think it probably is the reason gRPC failed to achieve its goal…
I occasionally give free Go consults and code review on top of my daily work. As such, I tend to read a lot of other peoples’ codes. And while this is really more of a feeling *Now, you should go, really? You're a statistician by training ffs, I’ve seen an increase in what I call “Java-style” interface usage. This…
Simon is the creator of Datasette and co-creator of Django web framework. Formerly he was a JSK journalism fellow at Stanford, and prior to that an Engineering Director at Eventbrite.
They're not all good and not all bad
If you spend a lot of time typing plain text, writing programs or HTML, you can save much of that time by using a good editor and using it effectively. This paper will present guidelines and hints for doing your work more quickly and with fewer mistakes.