A better merge workflow with Jujutsu
A merge workflow for activating multiple branches simultaneously using Jujutsu, an alternative VCS to Git.
Topics /
The most popular blog posts about software engineering on Hacker News. 14,541 posts.
A merge workflow for activating multiple branches simultaneously using Jujutsu, an alternative VCS to Git.
I’ve been programming in Clojure for a long time, but I haven’t been using transducers much. I learned to mechanically transform (into [] (map f coll)) to (into [] (map f) coll) for a slight performance gain, but not much beyond that. Recently, however, I’ve found myself refactoring transducers-based code at work…
Some weird legacy behavior in JavaScript
Since I first started working on my website at age fourteen, the site has gone through many revisions, and hopefully changed for the better. This blog was originally dynamically served using a Python/Flask backend, having a custom login system and post “editor” (just an input box). One of the more strange things about…
There is a new release of Is Parallel Programming Hard, And, If So, What Can You Do About It? . This release features a number of formatting and build-system improvements by the indefatigible Akira Yokosawa. On the formatting side, we have listings automatically generated from source code, clever…
As a result of a long sequence of coincidences I entered the programming profession officially on the first spring morning of 1952 and as far as I have been able to trace, I was the first Dutchman to do so in my country. In retrospect the most amazing thing was the slowness with which, at least in my part of the…
I learned Java and C at school, I learned Python by myself and it was a relief. After 8 years working and doing side projects in Python and JavaScript (mostly web dev, Django/Flask/AngularJS/Vuejs), I am not satisfied anymore by the overall experience so I’m making Common Lisp my language of choice.I am not here…
Note: This post and our new engineering blog can be found at lumi.dev
I’m not sure of the exact date, but 20 years ago, around now, I started my first professional programming job. It’s weird to think about having done anything for 20 years. That’s as long as all my schooling put together.
Fiber, a less known concept compared with coroutine, is a pretty powerful addition to cooperative multitasking. As a graphics programmer in game industry, I totally appreciate the great flexibility that fiber brings on the table. As a matter of fact, I feel the tech is a little bit underappreciated due to the lack of…
In previous posts, we covered the most popular implicit use cases. What is left to complete the picture is the mechanics of implicits itself.
If you grew up in the UK and went to school during the 1980’s or 1990’s there’s a good chance that this picture brings back fond memories:
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.
No-one really likes engineering war stories, but this one's relevant because there's a moral to it. I've talked before about defining technical debt as technical decisions that provide immediate value, but with long-term negative impact if they aren't cleaned up. Sometimes introducing technical debt
The Pragmatic Pragmatic Programmer - Rogério Chaves
Describing the way architectures for UIs have evolved over the years, in particular the many and often misunderstood definitions for Model-View-Controller.
What if you could let Claude and Codex work together as pair programmers, talking to each other directly? One of them as the main worker and the other as a reviewer.
This is amazing. HTML5. No Flash. No Java. Works on iPhone. Related posts: ePubs and iBooks and whether we care about the EULA. Ugh. More Flash. Do not read. Flash: a legacy technology Amazing ePubs
How I built LoginWithHN, an OAuth2+OpenID Connect provider for HackerNews.
Over the last few weeks, I’ve been devoting my free time to fleshing out the theory behind non-lexical lifetimes (NLL). I think I’ve arrived at a pretty good point and I plan to write various posts talking about it. Before getting into the details, though, I wanted to start out with a post that lays out roughly how…
The talk I released today is called " Media for Thinking the Unthinkable ". It's the most personal talk I've given, in that it was driven by my own motivations as opposed to someone else's.
A new way to make games
A computer scientist working in open source towards a more hopeful future.
For sure easier than solving it in SAT!
JSON is important, damn near everything that we do as programmers or operators involves JSON at some point. JSON decoding is expensive, if your product talks JSON then performance of marshalling data in and out of JSON is important. This is a talk about designing an efficient replacement for encoding/json.Decoder .
Emulating win32 on Mac using Apple's x64 emulator.
Challenging your software modelling techniques to be simpler