Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 653 posts.
Bootstrapping Rust
There are two stories I particularly like about the problem of bootstrapping self-referential tools. This one : Another way ...
The Future Programming Manifesto
It’s time to reformulate the principles guiding my work. [Revised definition of complexity in response to misunderstandings]
How Python 3 Should Have Worked (2012)
As a workaday Python developer, it’s hard to shake the feeling that the Python 2 to 3 transition isn’t working. I get occasional requests to make my libraries work in 3 but it’s far from clear how to and when I try to look it up I find all sorts of conflicting advice, none of which sounds very practical.
Summer of Programming Languages
Having just returned from the annual Oregon Programming Languages Summer School, at which I teach every year, I am once again very impressed with the impressive growth in the technical sophisticati…
Rust borrow and lifetimes
Arthur’s thoughts on coding, software engineering, and other interesting things.
Bypassing a Python sandbox by abusing code objects
Awhile ago, I stumbled upon a service that let you write python-bots to interact with a number of external services. The basic idea was th...
The Firing Squad Problem
In 1957, John Myhill first posed an interesting problem that was closely related to computer programming, but did not require any related background to solve. Dubbed the "firing squad synchronization problem," the puzzle was passed along by word of mouth and first solved by Marvin Minsky and John McCarthy. However…
What’s New in Emacs 24.4
Discover what's new in Emacs 24.4 as I annotate most of the changes made to the new Emacs version.
2D gaming using Processing.js
We had a look at some of the basics of making a game using the Processing.js game library, so let's kick it up a notch by just getting down and making our own Super Mario game. When we're done with this part of the tutorial, we'll have a game with koopa troopers, platforms that we can jump up through but not fall down…
Link-time optimization in GCC, part 3 – LibreOffice
After Firefox , I decided to look into LibreOffice performance with link time optimizations (LTO) and profile feedback (FDO). This post was ...
OCaml 4.01 for iOS 8
The current OCamlXARM compiles by default for iOS 7.1, but using it for iOS 8 is not too difficult. The only thing that changes is the name of the SDK, which can be specified with the -ccopt option of ocamlopt.
The Emacs Problem (2005)
The Emacs Problem Stevey's Drunken Blog Rants™ Charles G. pointed out in an email discussion recently: Lisp still doesn't seem like the right language for doing text manipulation, and nothing I've seen from the Emacs libraries is making me think any differently. It sure beats the hell out of Java
Cdb: a fast, reliable, simple package for creating, reading constant databases
Packages that need to read cdb files should incorporate the necessary portions of the cdb library rather than relying on an external cdb library.
Finite State Entropy - A new breed of entropy coder
In compression theory, the entropy encoding stage is typically the last stage of a compression algorithm, the one where the gains from t...
Distributed systems for fun and profit (free ebook)
git , Single page HTML , Kindle .mobi , PDF , .epub , HTML for printing , book cover .
An argument against call/cc (2012)
Why a programming language should not offer a primitive to capture undelimited continuations (call/cc).
The empirical evidence that types affect productivity and correctness
There are some pretty strong statements about types floating around out there. The claims range from the oft-repeated phrase that when you get the types to line up, everything just works, to “not relying on type safety is unethical (if you have an SLA)” 1 , " It boils down to cost vs benefit, actual studies, and…
The Magpie Developer
I’ve often thought that software developers were akin to Magpies, birds notorious for stealing shiny items to decorate their complex nests. Like Magpies, software developers are unusually smart and curious creatures, almost by definition. But we are too easily distracted by shiny new toys and playthings. I no longer
bliki: Bounded Context
Don't try to build a single, unified model for a large domain. Instead DDD advises us to divide such a domain into many bounded contexts with explicit relationships between them.
Unyielding
Be as the reed, not the oak tree. Green threads are just threads.