Writing a file system from scratch in Rust
A file system is responsible for organising and providing an abstraction over the storage devices where the data is physically stored. In this post, we will learn more about the concepts used by file systems, and how they fit together when writing your own.
Concurrent Programming, with Examples
Mention concurrency and you’re bound to get two kinds of unsolicited advice: first that it’s a nightmarish problem which will melt your brain, and second that there’s a magical programming language or niche paradigm which will make all your problems disappear.
Little known features of iTerm2
[iTerm2](https://iterm2.com/) has a lot of little-known features that can make development much easier.
Creating a QR Code step by step
This JavaScript demo application visualizes in detailed steps, how a text string is encoded into a QR Code barcode symbol. The content of this page essentially explains and justifies how my QR Code generator library works internally.
The Zen of Go
This article was derived from my GopherCon Israel 2020 presentation. It’s also quite long. If you’d prefer a shorter version, head over to the-zen-of-go.netlify.com .
Some SQL Tricks of an Application DBA
Non-trivial tips for database development
New in PHP 8
PHP 8.0 brings features like attributes, union types, and the JIT compiler. It has some important breaking changes, and improved performance.
Building a self-updating profile README for GitHub
GitHub quietly released a new feature at some point in the past few days: profile READMEs. Create a repository with the same name as your GitHub account (in my case …
Complexity Has to Live Somewhere
We try to get rid of the complexity, control it, and seek simplicity. I think framing things that way is misguided. Complexity has to live somewhere. Embrace it
Never run ‘python’ in your downloads folder
Python can execute code. Make sure it executes only the code you want it to.
Teaching GPT-3 to Identify Nonsense
In Giving GPT-3 a Turing Test, Kevin Lacker found that GPT-3 does well answering simple factual questions like “Who was president of the United States in 1955?”, but also happily answered absurd qu…
Rust Ownership Rules
A gentle and beginner friendly overview of Rust Ownership Rules
Bash $* and $@ (2017)
In Bash, there are two closely related "special parameters" for accessing how the current script was invoked: $* and $@ . For both variables, the behavior is affected by whether or not the variable is enclosed in double quotes. The following table summarizes all cases:
On Voice Coding
(contains amazon affiliate links) I have had repetitive stress injury (RSI) flareups on and off for many years. I’ve kept them under control mostly through use of a Kinesis Advantage ergonomic keyboard that I’ve had for fifteen years. However, several months ago, I was diagnosed with carpal tunnel syndrome and…
OpenCV in the browser using WebAssembly and web workers
Learn how to use OpenCV in the web without a lot of headaches.
Booting a 486 from floppy with the most up-to-date stable Linux kernel
Back in August of 2019 I had a Sing-Along Week contest on RetroBattlestations with the challenge of playing a MIDI file synchronized to a speech synthesizer singing the lyrics. In my stash of cards I found an MQX-32M MIDI card (Roland MPU-401 clone) which I wanted to use for converting MIDI signals to interface to an…
PHP 8: Before and After
The impact of PHP 8 on my code
2020 Leap Day Bugs
The following is a list of many bugs caught on or near leap day, February 29th, 2020. Each link below references the issue with supporting details where available.
Why Not Rust?
I've recently read an article criticizing Rust, and, while it made a bunch of good points, I didn't enjoy it --- it was an easy to argue with piece. In general, I feel that I can't recommend an article criticizing Rust. This is a shame --- confronting drawbacks is important, and debunking low effort/miss informed…
Why are video games graphics challenging? Productionizing rendering algorithms
Intro This post will cover challenges and aspects of production to consider when creating new rendering / graphics techniques and algorithms – especially in the context of applied research fo…