The Shapes of Code
Expressive code in C++
Fast Fibonacci numbers using Monoids
Compute enormous Fibonacci numbers in milliseconds using this one weird trick
Controlling My A/C with a Gameboy
Last year, I was lucky enough to be gifted a Gameboy Color in great shape. Apart from its intended gameplay features, I also wanted to try and build something meaningful with it, so I made this application to control my air-conditioner over its existing, reverse-engineered infrared protocol.
Rich Comment Blocks in Clojure
A blog about life between two parens.
The Polygons of Another World: IBM PC
This article is part of a study about the ports of Another World. It is highly recommended to read Another World 101 before reading this.
Rust testing or verifying: Why not both?
Dijkstra famously dissed testing by saying “Program testing can be used to show the presence of bugs, but never to show their absence!” As if you should choose one over the other. I don’t see them as opposites but as complementary techniques that should both be used to improve the quality of your code.
You can't make C++ not ugly, but you can't not try (2010)
...everything that's wrong with C++ comes down to that. Background: I've been programming in C++ since about 1993; that's 17 years now. As...
Two Months with Powershell on a Unix
Software development blog of Joe Wright
Between two Lisps
Out of all Lisps the ones I’ve come to appreciate the most are Scheme and Common Lisp.
Using Zig to provide stack traces on kernel panic on bare metal (2018)
Last week, I reached an exciting milestone in my career as a programmer. For the first time in my life, I ran code directly on hardware , with no Operating System sitting between the bare metal and my code.
Doing a math assignment with the Lean theorem prover
Note: this post was written for Lean 3; the latest version, Lean 4, is a very different language. Turn back the clock to 2009: a confused physics major newly infatuated with math and computer science, I enrolled in MATH 273: Numbers and Proofs at the University of Calgary. This wasn’t my first encounter with…
Allocator Designs
This post explains how to implement heap allocators from scratch. It presents and discusses different allocator designs, including bump allocation, li…
Restoring the Gold Filter in Deus Ex: Human Revolution – Director’s Cut
Researching and restoring differences in game’s post-processing and lighting - with bug fixes.
/.bashrc VS –/.profile VS –/.bash_profile
Customize Shell Environment and Appearance
Z80 Explorer – a Zilog Z80 netlist-level simulator
Z80 Explorer is a Z80 netlist-level simulator capable of running Z80 machine code and also an educational tool with features that help reverse engineer and understand this chip better.
Language Design: Use 'ident: Type' not 'Type ident'
In expressive languages, developers generally need to use fewer temporary variables.This means that in a typical piece of code there are fewer names defined,...
Tackling Webdev as a Bioinformatician: why is it so hard?
The web is amazing and amazingly complex
Don't trust default timeouts
Modern applications don’t crash; they hang. One of the main reasons for it is the assumption that the network is reliable. It isn’t. When you make a network call without setting a timeout, you are telling your code that you are 100% confident that the call is going to succeed. Would you really take that bet? If you…
A Little Clojure
This expression: (1 2) represents the list containing the integers 1 and 2 in that order. If you want an empty list, that’s just () . And the list of the first five letters of the alphabet is just (\a \b \c \d \e) .
Algebraic Effects for React Developers
The homepage of Reese Williams: essays, travel, and general skullduggery.
F# Data Type Providers in .Net Core (2018)
As one of F#'s killer features; type providers have the ability to make rooms full of developers gasp when shown for the first time. Support has recently been added to the FSharp.Data library [https://www.nuget.org/packages/FSharp.Data] for .Net Standard 2.0, allowing us to
LiveCode is a modern day HyperCard (2019)
AndreGarzia.com website