Full-Text Search in Django with PostgreSQL
Article based on my talk about Full-text search in Django with PostgreSQL.
JIT Compilation for Emacs Lisp
There have been a few efforts at writing an Emacs JIT — the original one , Burton Samograd’s , and also Nick LLoyd’s . So, what else to do except write my own?
Technical Writing: Learning from Kernighan
I have in front of me two books that immediately struck me with their similarity: The c Programming Language 1 1 The c Programming Language ; Kernighan & Ritchie; Prentice Hall; 1988. and The awk Programming Language 2 2 The awk Programming Language ; Aho, Kernighan & Weinberger; Addison-Wesley; 1988. Available…
Reverse engineering Animal Crossing's developer mode
Last summer I began reverse engineering Animal Crossing for the GameCube to explore the possibility of creating mods for the game. I also wanted to document the process to create tutorials for people interested in ROM hacking and reverse engineering. In this post I explore the developer debugging features that are…
Tools for Exploring .NET Internals
Whether you want to look at what your code is doing ‘under-the-hood’ or you’re trying to see what the ‘internals’ of the CLR look like, there is a whole range of tools that can help you out.
Solving My Email Problem
Email is not a messaging protocol. It’s a TODO list. Or at least my inbox is a TODO list and email is the protocol for putting stuff on it. Here’s the problem. It is a s**tty TODO list. Any one of you can put something on my TODO list. And I don’t want that.
Seemingly Impossible Swift Programs
We will construct Swift programs that should be impossible to implement, yet somehow are not!
Dark Patterns, the Ratchet
A dark pattern in the design world means something that is purposefully created to mislead users and to get them to perform actions against their own interest.
Deprecating Raw Pointers in C++20
The C++ Standard moves at a fast pace. Probably, not all developers caught up with C++11/14 yet and recently we got C++17. Now it’ time to prepare C++20! A few weeks ago The C++ Committee had an official ISO meeting in Jacksonville, FL (12-17 March 2018) where they worked hard on the new specification.
Writing space invaders with Go
The earliest memory I had of arcade video games was watching my older brother and cousins going at the video game machines at Genting Highlands. While our parents were at the other types of games Genting Highlands was more popularly known for, we were generally let loose to play arcade games to our hearts' content…
Linux v4.15: Performance Goodies
With the Meltdown and Spectre fiascos , performance isn't a very hot topic at the moment. In fact, with Linux v4.15 released, it is one ...
Making Windows Slower Part 2: Process Creation
Windows has long had a reputation for slow file operations and slow process creation. Have you ever wanted to make these operations even slower? This weeks’ blog post covers a technique you can use…
Interactive GPU Programming, Part 1: Hello CUDA
Today, fast number crunching means parallel programs that run on Graphical Processing Units (GPUs). Thanks to the recent highly publicized deep learning and ...
Dark side of ergonomics in Rust
The dark side of ergonomics
How to write X in both Python 3 and JavaScript
Python and JavaScript are two of the most popular programming languages . If you're a Python programmer learning JavaScript, or a JavaScript programmer learning Python, this handy cheat sheet might help you.
Making Penicillin at Home
This article explains how to make antibiotics at home in the event of a collapse situation
How early 8-bit arcade machines differed in design from 8-bit home computers
TL;DR: what I learned about the Bomb Jack arcade machine while writingan emulator for it.
How Does an Intel Processor Boot?
When we switch on a computer, it goes through a series of steps before it is able to load the operating system. In this post we will see how a typical x86 processor boots. This is a very complex an…
Towards λ-calculus
lambdaway is built on a wiki engine, lambdatank, and a small Lisp dialect, lambdatalk.
The Federalist Papers: Author Identification Through K-Means Clustering
Using K-means clustering on writing style to classify disputed Federalist Papers authorship.
The iPhone Franchise
The iPhone is a franchise, a product that will make money in well-defined ways; Apple understands that and is exploiting it more than ever before with the iPhones XS and XR.
The secret life of NaN
The floating point standard defines a special value called Not-a-Number (NaN) which is used to represent, well, values that aren’t numbers. Double precision ...