Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 14,540 posts.

Any year
6964

Bun, JavaScript, and TCO

Bun is a JavaScript runtime that just released version 1.0! Now you have three choices for running JavaScript outside of the browser: Node, Deno, and Bun. One of Bun's selling points is speed! It makes some interesting decisions to achieve this.

6965

Are LLM merge rates not getting better?

I was reading the metr article on how llm code passes test much more often than it is of mergeable quality . They look at the performance of llm s doing programming when the success criterion is “passes all tests” and compare it to when the success criterion is “would get approved by the maintainer”. Unsurprisingly…

6975

Writing Small CLI Programs in Common Lisp

I write a lot of command-line programs. For tiny programs I usually go with the typical UNIX approach: throw together a half-assed shell script and move on. For large programs I make a full Common Lisp project, with an ASDF system definition and such. But there's a middle ground of small ish programs that don't…

6979

Celery – Best Practices

If you’ve worked with Django at some point you probably had the need for some background processing of long running tasks. Chances are you’ve used some sort of task queue, and Celery is currently the most popular project for this sort of thing in the Python (and Django) world (but there are others).

6982

LLMs Unleashed: The Power of Fine-Tuning

Disclaimer: This article mentions https://terra-cotta.ai/, an LLM experimentation platform I am building Introduction ChatGPT, Bard, and other large language models (LLMs) are very useful for a wide variety of tasks from writing code to answering complex questions to aiding with education. However, these models are…

6983

Idiomatic Monads in Rust

A pragmatic new design for high-level abstractions Monads (and, more generally, constructs known as “higher kinded types”) are a tool for high-level abstraction in programming languages1. Historically, there has been a lot of debate inside (and outside) the Rust community about whether monads would be a useful…

6984

The Principles of Versioning in Go

This blog post is about how we added package versioning to Go, in the form of Go modules, and the reasons we made the choices we did. It is adapted and updated from a talk I gave at GopherCon Singapore in 2018 .

6987

Interface Upgrades in Go

Much has been written about Go’s interfaces . They’re one of the language features I like best, providing a very pragmatic trade-off between the complexity of more powerful type systems and the anarchy of duck typing. If you’re not already familiar with Go or Go’s interfaces, I’d encourage you to read an introduction…

6988

M2dir: Treating mails as files without going crazy

Sometime recently in the past I complained about Maildir. You can go read the post, but the executive summary is that I think Maildir uses an actively user-hostile directory structure and extremely convoluted filenames that do not convey any meaning at all. For good measure, I will also reiterate that Maildir does…