Why I Program in Lisp
A blog about computers, functional languages, Lisp, and Scheme.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,820 posts.
A blog about computers, functional languages, Lisp, and Scheme.
PHP isn't the same old crappy language it was ten years ago
Here’s a program roughly 0% of programmers know how to write: generate a list of random tweets, without duplication. You may think you know how to do this, but you almost assuredly don’…
LLM agents make bad pairs because they code faster than humans think. I'll admit, I've had a lot of fun using GitHub Copilot's agent mode in VS Code this month.…
Please don't write your documentation in Markdown. Please. I'm begging you. Markdown is tolerable for short documentation, like a readme.md. Past that, it's...
ORM looks great early in a project but breaks down as complexity grows, forcing you to learn SQL anyway. Relations aren't objects. Either use NoSQL for object-like data or write a model layer with real SQL. ORM's abstraction is leaky, its efficiency poor, and the alternatives are better.
I started learning Objective-C about three years ago while I was studying music in Nashville, TN. Some time during high school, I had poked around in C++, but I didn’t understand it. By college, I …
Previously I have covered a relatively obscure now-removed placeholder string in Android that doubles as an easter egg, the fictitious carrier by the name of El Telco Loco. But this time it is about methods and other parts of the publicly facing Android API that may generally be more humourous than they are useful…
Marcin ‘mbork’ Borkowski has a nice post showing us how he trims video clips from our beloved editor. Trimming clips is something I do from time to ti...
Localforge blog post
Dash knows your context, your team, and your work, so your team can stay organized, easily find and share knowledge, and keep projects secure, all from one place.
Previously on my quest for fast rendering of 2D vector graphics on GPU, I have posted a piet-gpu update and a deeper exploration into a sort-middle architecture. These intermediate results showed promise, but fell short of my vision for truly high performance 2D GPU rendering.
Notes from my colleagues on AI-assisted software delivery
Hey! We're getting really close to releasing React + Vue support for Tailwind UI, so I thought it would be interesting to share some of the behind-the-scenes efforts that have gone into even making it possible.
(This essay is a companion piece to Gitlet, my implementation of Git in JavaScript.)
Drawing separator lines between various sections of a webpage is a common design technique, which can help to structure the content and make it more readable, as well as more aesthetically pleasing. As we'll see in this article, there are techniques
How a software developer bypassed proprietary publishing silos using LibreOffice, Standard Ebooks, and LaTeX to build a sustainable, Git-tracked book production pipeline.
In October 2021, Ian, a fellow frontend developer at GDS posted a message in our support channel for the GOV.UK Design System on Slack:
How I used Advent of Code to learn about the programming language Rust.
I put together a list and explained why they are important.
Building on the earlier article on automatically transforming Git URLs, I’m back with another article on a (potentially powerful) feature of Git—the ability to conditionally include Git configuration files. This means you can configure Git to be configured (and behave) differently based on certain conditions, simply…
This is one of those “N technical things every programmer must read” lists, except that “programmer” is way too broad a term and the styles of writing people find helpful for them are too different for any such list to contain a non-zero number of items (if you want the entire list to be helpful to everyone). So…
A friendly introduction to assembly for high-level programmers — Hello
Posted by Tim Graham on April 1, 2015
A visual, interactive guide to what bloom filters are, when you would use them, and how they work.
After a while, I decided a write a short blog post about Linux binary reversing CTFs in general. How to approach a binary and solving for beginners. I personally am not a fan of Linux reverse engin…
This article introduces the implementation difficulties and challenges of Movable Tree CRDTs when collaboration, and how Loro implements it and sorts child nodes. The algorithm has high performance and can be used in production.