New
The latest blog posts to take off on Hacker News. 3,497 posts.
What am I running inside my bash? (2014)
What am I running inside my bash?
Cracks are showing in Enterprise Open Source's foundations
I've worked in open source my entire career1. To say that I'm worried about the impact recent events have on the open source ecosystem would be an understatement. In the past couple months: Red Hat effectively killed CentOS Elastic effectively killed Elasticsearch People may rightfully refute these statements, but the…
Hotwire: A new old way to build web apps
I’d like to share my experience of encountering Hotwire from the team at Basecamp which was extracted from the tooling used to build their…
Ontology of Psychiatric Conditions: Taxometrics
Is mental illness a thing? What kind of thing is it?
Fix Terminals
I want terminal keypresses to Just Work. What do I mean Just Work? I mean programs in a simple orthogonal way, can determine the key that was pressed, and this model should easily map to the user's expectation.
OO in Python is mostly pointless
Note from 2025 me - I largely still agree with myself - and I still see the same crappy OO code getting pumped out. The final point in "Exceptions" is worth emphasising more.
Most of the time, you don’t really need another MOOC
Stop procrastinating, go off the happy path, learn just-in-time, and get your hands dirty.
Mocks Aren't Stubs (2007)
Explaining the difference between Mock Objects and Stubs (together with other forms of Test Double). Also the difference between classical and mockist styles of unit testing.
Crony Beliefs
[Note: if you prefer audio, you can listen to this essay narrated by Grognor on his excellent podcast Second Enumerations . —Ed. ]
Why Create a New Unix Shell?
This post explains the project's motivation from several perspectives. Unix shell is an old and successful technology, so there are many ways of looking at it.
Silicon Valley is shutting down speech loopholes. Latest target: live content
Silicon Valley is shutting down speech loopholes. The latest target: live content
I tried to report scientific misconduct. How did it go?
This is the story of how I found what I believe to be scientific misconduct and what happened when I reported it. Science is supposed to b...
Netflix and Spotify on a Raspberry Pi 4 with Chromium and Widevine
As of 3-30-2020, if you want the “paste-one-line-it-just-works” go to: vpetkov.net/2020/03/30/raspberry-pi-netflix-one-line-easy-install-along-with-hulu-amazon-prime-disney-plus-hbo-spotify-pandora-and-many-others/ ^^^ Please use the post linked above for my “one-line it just works” install ^^^ (Ignore everything…
Python's Type Checking Renaissance
You may have heard that TypeScript has been taking the web development space by storm in the last few years , bringing to it static types. I believe the same thing is starting to happen in the world of Python, where type checkers like mypy , Pyre , and Pyright are increasingly used, at least where Python is used by…
The unreasonable effectiveness of simple HTML
I've told this story at conferences - but due to the general situation I thought I'd retell it here. A few years ago I was doing policy research in a housing benefits office in London. They are singularly unlovely places. The walls are brightened up with posters offering helpful services for people fleeing domestic…
What color was “Apple Beige”?
I went looking for a defining color of the personal computer era. I found it in an old jar of paint.
Greens: why we eat the leaves that we do (2013)
Jeanne reveals which branches of the evolutionary tree of plants bear edible leaves and speculates about why that is. Most of the 300,000 + plant species have leaves, and the function of all of the…
Replacing Dropbox in favor of DigitalOcean spaces
A few months ago I experimented with DigitalOcean spaces as my backup solutionthat could replace Dropboxeventually.
The high price of mistrust
When we can’t trust each other, nothing works. As we participate in our communities less and less, we find it harder to feel other people are trustworthy. But if we can bring back a sense of trust in the people around us, the rewards are incredible.
Latches in C++20
Latches and barriers are coordination types that enable some threads to wait until a counter becomes zero. You can use a std::latch only once, but you can use a std::barrier more than once. Today, I have a closer look at latches.
Making is show business now (2020)
Nadia Eghbal’s new book, Working In Public: the Making and Maintenance of Open Source Software, may not have been on your short list of books to read this year. It’s admittedly a nerdy topic: …
Escaping the Roadmap Trap
Stop chasing your feature development plan and start crafting strategic product roadmaps
The computer revolution hasn’t happened yet (1997)
In this video, Alan Kay talks about his vision of object oriented programming and how to design scalable systems.