Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,819 posts.
PDF to Text, a challenging problem
The search engine has recently gained the ability to index the PDF file format. The change will deploy over a few months. Extracting text information from PDFs is a significantly bigger challenge than it might seem. The crux of the problem is that the file format isn’t a text format at all, but a graphical format. It…
I ruined my vacation by reverse engineering WSC
describing my wsc adventure
Compiler Explorer and the promise of URLs that last forever
How we're preserving 12,000 legacy links as Google's URL shortener rides into the sunset
Never create Ruby strings longer than 23 characters
Obviously this is an utterly preposterous statement: it’s hard to think of a more ridiculous and esoteric coding requirement. I can just imagine all sorts of amusing conversations with designers and business sponsors: “No... the size of this <input> field should be 23... 24 is just too long!” Or: “We need to explain…
The software engineering notebook
Fellow software engineers/hackers/devs/code gardeners, do you keep a notebook (digital or plain dead-tree version) to record things you learn?
Doing a database join with CSV files
How to combine data spread over two CSV files, like separate tables in a normalized relational database.
Elixir RAM and the Template of Doom
I will attempt to convince you, in two lines of code, that Elixir is more interesting than any programming language you’ve ever used.
Name It, and They Will Come
A change starts with a story.
TIL: timeout in Bash scripts
How to use the `timeout` command to terminate processes after a specified time and how to combine it with `until` for smarter shell scripting.
Fighting spam with Haskell
Visit the post for more.
Farewell Node.js
Leaving node.js land
How to do OCR on a Mac using the CLI or just Python
a kind reader reached out about all of my iphone alarms and asked how specifically did I run OCR on my mac. I’m not one to gatekeep, so here’s how you can get yourself a nice local ocr ‘service’ that works in the terminal/CLI/python and costs 0 dollars:
Common DB schema change mistakes in Postgres
Common DB schema change mistakes and how to avoid them in PostgreSQL development.
Create Statistics in PostgreSQL 10
Postgres stores a lot of statistics about your data in order to effectively retrieve results when you query your database. Here we deep dive into some of the statistics PostgreSQL stores and how you can leverage a new feature in Postgres 10 to improve performance when different columns are related.
Claude’s C Compiler vs. GCC
A Guide to comparing Claude Code Compiler with GCC
Why do long options start with two dashes? (2019)
Around 1990, Richard Stallman (RMS) and I were writing the GNU C library getopt() and he wanted to extend it to support long (multi-character) option names for user-friendliness. He considered Unix…
Accidentally making a language, for an engine, for a game
It's a wise saying, because we game developers have so much fun making the underlying foundations, that we never get around to adding the actual gameplay.
Problem solving with Unix commands
I am starting to realize that the Unix command-line toolbox can fix absolutely any problem related to text wrangling. Let me tell you about a problem I had, and how I used some Unix command-line utilities to solve it.
Intel's "cripple AMD" function (2009)
Software optimization resources | E-mail subscription to this blog | www.agner.org
Software horror show: SAP Concur
From the highly eclectic blog of Mark Dominus
Phoenix 1.7.0
Phoenix 1.7.0 is here! This releases includes major new features, component-based generators, updated conventions, LiveView Streams, and more!
So long, and thanks for all the bytes
Goodbye Tech, Hello Future
Supabase – Realtime: Multiplayer Edition
Announcing the general availability of Realtime's Broadcast and Presence.