My PHP Problems
For the past months I’ve been keeping a list of things I encountered in PHP that I’ve found to be problematic, or in other words things that annoy me.
Topics /
The most popular blog posts about software engineering on Hacker News. 14,544 posts.
For the past months I’ve been keeping a list of things I encountered in PHP that I’ve found to be problematic, or in other words things that annoy me.
Many programmers are aware that C++ templates are Turing-complete, andthis was proved in the 2003 paper C++ Templates areTuring Complete.
A few weeks ago I’ve seen an interesting flock of tweets initiated by this question: This question and the tweets that followed put my brain on quite an animated discussion…
The rise of agile methods (particularly XP) makes some people wonder if there's any role left for software design. I argue that this change shifts from planned to evolutionary design.
Back in the 40's, the story goes, American troops landed on a remote island. The natives of the island had never seen modern civilization before, and were amazed by the men and materials Allied forces brought by the island. They watched the troops set up an airstrip and a tower, don headphones, and call great metal…
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
No, really, there’s something deeply flawed with web development. And I’m not (just) talking browser incompatibilities, or Ruby vs. Java vs. PHP vs. anything else or about Flash or HTML…
A rewrite of this blog post with many new insights and updates appeared in Jan 2026
This is one of a series of posts on languages, you can read more about that here . Scala's blending of programming paradigms in a single language is impressive. It's fun to write code in and is a good language for leaning into the functional plus static typing paradigm. As much as I like
best seo company australia
How are Rust, C++, and Python trending on Hacker News in the job market? As a proxy measure for programming language trends, let’s analyze the frequency of programming language mentions in the mont…
Single ownership is one of those concepts that's both easier and more powerful than we realize.
In this post, I am going to talk about the N + 1 queries problem. While trying to solve this problem myself recently, I noticed most of the blog posts only talk about the very simple version of the problem and the proposed solutions would break down when the use cases get complex. I will try to get into more depth and…
An excerpt from my book Coders at Work that I frequently find myself wanting to cite mostly because I get a kick out of someone having standing to call BS on Dijkstra:
A bespoke software revolution? I don't buy it. It'll exist. It already exists. Small consultants and big consulting firms have made custom software for years. It almost always sucks. It’s bloated, confusing, and because the client pays, it’s built in all the wrong ways. Who’s excited about bespoke software? Software…
My wife and I have been looking for an app to track things like habits, hobbies, and when we last did certain chores.To be honest there are probably hundreds of different habit trackers on the App Store. Next to todo list apps they are supposed to be the easiest apps to create so it is not really that surprising there…
On why bitmap fonts still carry more life than most default tech type.
The seedy underbelly of gRPC.
It starts innocently enough - the business needs you to write a program to automate creating peanut butter cookies (yum).
Write code that's compatible with how your brain works.
When I build an application, I build frameworks along the way. I recently realized that not everybody thinks this is normal, so I thought I'd give a description of what I do and why I think it's a good idea.
Microservice-based architecture gains popularity every day. This approach has many advantages. The most important advantages include independent deployments, shortened and simplified deployment pipelines, limited communication between teams, and technology freedom. These core advantages support the quick delivery of…
I'll be looking for a new job soon, readers! And this has been cause for some reflection. In Emeryville, CA, there is an "international...
Thoughts on building, shipping and iterating quickly
Last year I've fixed a bug in Linux kernel OHCI (USB 1.1) stack , which rendered my old printer unreliable: OHCI adds artificial delay of 1ms for each USB transfer of send-read pattern, while my very old, host-based printer expects very tight timings and constant latency, like some kind of CnC machine.
Recently my friend Lars Hupel and I had a discussion on why formal methods don’t compose well. You can read the conversation here. We focused mostly on composing formally-verified code. I want to talk a little more about the difficulties in composing specifications. This is half because it’s difficult for interesting…