Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 2,232 posts.
Piet: Programming language in which programs look like abstract paintings (2002)
Piet is a programming language in which programs look like abstract paintings. The language is named after Piet Mondrian , who pioneered the field of geometric abstract art. I would have liked to call the language Mondrian, but someone beat me to it with a rather mundane-looking scripting language. Oh well, we can't…
Are We Really Engineers? (2021)
This is part one of the Crossover Project. Part two is here and part three is here. A conference talk based on this work is now available here. I sat in front of Mat, idly chatting about tech and cuisine. Before now, I had known him mostly for his cooking pictures on Twitter, the kind that made me envious of…
On Hacking
In June 2000, while visiting Korea, I did a fun hack that clearly illustrates the original and true meaning of the word "hacker".
hacker
1. A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary. RFC1392, the Internet Users' Glossary , usefully amplifies this as: A person who delights in having an intimate understanding of the…
The C language is purely functional (2009)
Inspirations & experiments, mainly about denotative/functional programming in Haskell
The Game Engine Black Book: Doom
The Game Engine Black Book: DOOM is now available for purchase. It is being released exactly 25 years after DOOM.zip was first published on the University of Wisconsin FTP server in December 1993. You can get it at the following locations: - Amazon ( USA , France , UK , and many more). - Google Books ( here with no…
Intel's "cripple AMD" function (2009)
Software optimization resources | E-mail subscription to this blog | www.agner.org
Functors, applicatives, and monads in pictures
Aditya Bhargava's personal blog.
How Google Code Search Worked: Regex Matching with a Trigram Index (2012)
In the summer of 2006, I was lucky enough to be an intern at Google. At the time, Google had an internal tool called gsearch that acted as if it ran grep over all the files in the Google source tree and printed the results. Of course, that implementation would be fairly slow, so what gsearch actually did was talk to a…
Fizz Buzz in Tensorflow
interviewer: Welcome, can I get you coffee or anything? Do you need a break? me: No, I've probably had too much coffee already! interviewer: Great, great. And are you OK with writing code on the...
A collection of things that are Turing-complete by accident (2013)
A list of things that were not supposed to be Turing-complete, but are.
The TTY demystified (2008)
The TTY subsystem is central to the design of Linux, and UNIX in general. Unfortunately, its importance is often overlooked, and it is difficult to find good introductory articles about it. I believe that a basic understanding of TTYs in Linux is essential for the developer and the advanced user.
Readme Driven Development
I hear a lot of talk these days about TDD and BDD and Extreme Programming and SCRUM and stand up meetings and all kinds of methodologies and techniques for developing better software, but it’s all irrelevant unless the software we’re building meets the needs of those that are using it. Let me put that another way. A…
The one true REST explanation
Leonard Richardson's model for understanding a RESTful architecture as steps in a maturity model. Levels are (1) resources, (2) HTTP verbs and return codes, and (3) hypertext controls.
The Principle of Least Power
Tim Berners-Lee on the Principle of Least Power: Computer Science spent the last forty years making languages which were as powerful as possible. Nowadays we have to appreciate the reasons for picking not the most powerful solution but the least powerful. The less powerful the language, the more you
The Power of Prolog
Introduction to modern Prolog
Knuth and the Unix Way
Another great post
CQRS: Command Query Responsibility Segregation (2011)
CQRS (Command Query Responsibility Segregation) is the notion that you can use a different model to update information than the model you use to read information
How to Ask Questions the Smart Way
Translations: Brazilo-Portuguese Chinese (Traditional) Czech Dutch Estonian French Georgian German Greek Hindi Hungarian Indonesion Japanese Lithuanian Polish Portuguese Russian Spanish Ukrainian Uzbek If you want to copy, mirror, translate, or excerpt this document, please see my copying policy .
The Configuration Complexity Clock
When I was a young coder, just starting out in the big scary world of enterprise software, an older, far more experienced chap gave me a ste...
The Biggest Myths
Posts and writings by Lennart Poettering
You Might Not Need Redux
People often choose Redux before they need it. “What if our app doesn’t scale without it?” Later, developers frown at the indirection Redux…
TCCBOOT: TinyCC Boot Loader
TCCBOOT is only 138 KB big (uncompressed code) and it can compile and run a typical Linux kernel in less than 15 seconds on a 2.4 GHz Pentium 4.
Tangle is a JavaScript library for creating reactive documents.
Tangle is a JavaScript library for creating reactive documents . Your readers can interactively explore possibilities, play with parameters, and see the document update immediately. Tangle is super-simple and easy to learn.
Welcome to Gas Town
Happy New Year, and Welcome to Gas Town!
The Flask Mega-Tutorial
You are reading the 2024 edition of the Flask Mega-Tutorial. The complete course is also available to order in e-book and paperback formats from Amazon. Thank you for your support!If you are looking…
Elastic TabStops: A Better Way to Indent and Align Code (2017)
Elastic tabstops - a better way to indent and align code
Regexp-based RFC822 email address validation
Mail::RFC822::Address is a Perl module to validate email addresses according to the RFC 822 grammar. It provides the same functionality as RFC::RFC822::Address, but uses Perl regular expressions rather that the Parse::RecDescent parser. This means that the module is much faster to load as it does not need to compile…