New
The latest blog posts to take off on Hacker News. 21,834 posts.
Teach Yourself Scheme in Fixnum Days (2015)
A practical introduction to the programming language Scheme
When FFI Function Calls Beat Native C
Over on GitHub, David Yu has an interesting performance benchmark for function calls of various Foreign Function Interfaces ( FFI ):
Space Invaders from Scratch
In this series of posts, I am going to create a clone of the classic arcade game, space invaders, in C++ using only a few dependencies. In this post I will set up a window with an OpenGL 3.3 context u
Zero-Overhead Tree Processing with the Visitor Pattern
The Visitor Pattern is one of the most mis-understood of the classic design patterns. While it has a reputation as a slightly roundabout technique for doing simple processing on simple trees, it is actually an advanced tool for a specific use case: flexible, streaming, zero-overhead processing of complex data…
Modern CMake short tutorial and best practice
The end of semester is here and, as I grade our students semestral works, I get to use CMakeLists of dubious quality. After seeing the same errors repeat over and over again, I decided to write a short tutorial towards writing simple CMakeLists.
ReasonML – React as first intended
ReasonML is a technology Facebook uses to build React apps, seen as a futuristic version of JavaScript. Here is what you should know.
Why did I spend 1.5 months creating a Gameboy emulator? (2017)
For me, the most favorite type of a computer program is an emulator. Being able to run code from a completely different hardware architecture always seemed like a magic. The old computers are great on their own, so this kind of connection between historic machines and the modern computing environment feels almost like…
Adobe Photoshop 1.0.1 Source Code (2013)
When brothers Thomas and John Knoll began designing and writing an image editing program in the late 1980s, they could not have imagined that they would be adding a word to the dictionary.
The Eudora Email Client Source Code
Electronic mail is one of “killer apps” of networked computing. The ability to quickly send and receive messages without having to be online at the same time created a new form of human communication. By now billions of people have used email.
Are triggers really that slow in Postgres?
PostgreSQL trigger performance. Should we use tiggers at all? Find out how triggers perform in performance tests.
My favorite principle for code quality
The Embedded Design principle, Jimmy Koppel's favorite principle for code quality, shown via caching code that looks fine but invites bugs.
The end of an era: Saying goodbye to search.cpan.org
It's with sad hearts that we are announcing that search.cpan.org will be retired on the 25th of June 2018. Graham Barr originally wrote t...
Deconstructing Kitty
So today we look inside these amazing cats that can somehow keep on wavin’ using less than 15 microwatts (!) of power. If you are into either ultra low-power or extreme design-for-manufacture, the you will want to see what is inside of these guys!
Recursive Common Table Expressions in Postgres
Common Table Expressions in PostgreSQL are a powerful SQL construct. You can think of CTEs as a view that is materialized only while the query is running. Recursive CTEs allow themselves to be called until some condition is met. This post from the Citus Data team explores how recursive CTEs work in Postgres.
The Power of Prolog
Introduction to modern Prolog
Go vgo: Semantic Versioning and Human Error
What happens when human error enters into semantic versioning and vgo
Python for Lisp Programmers (2000)
I looked into Python because I was considering translating the Lisp code for the Russell & Norvig AI textbook into Java. Some instructors and students wanted Java because
Value Type Hygiene
Briefly put, types in L-world are ambiguous, leading to unhygienic mixtures of value operations with reference operations, and uncontrolled pollution from null s infecting value code.
Apps for which macOS applies compatibillity fixes
What do Photoshop, Matlab, Panic Transmit, and Eclipse have in common? They are among the 299 apps for which macOS applies compatibillity fixes.
Tearing apart printf()
How does printf work behind the scenes
Getting 1Password 7 ready for the Mac App Store
We are getting close to the official release date and have begun final preparations, including submitting 1Password 7 to the Mac App Store.
Python as a declarative programming language (2017)
If you look at the programming languages benchmarks game, Python is one of the slowest commonly used programming languages out there . Typical programs written in pure Python average around 40 times slower than the equivalent program written in C or C++.
History of Symbolics Lisp Machines (2007)
Richard Stallman has been telling a story about the origins of the Lisp machine companies, and the effects on the M.I.T. Artificial Intelligence Lab, for many years. He has published it in a book, and in a widely-referenced paper, which you can find at http://www.gnu.org/gnu/rms-lisp.html .