RSSAmplifier

Blog

Jonot's Blog

Recent content on Jonot's Blog

jonot.meRSS feed ↗44 posts

Latest posts

Optimal Addition Sequences for Integer Multiplication

Most “modern” computers have built-in hardware for integer multiplication. Note the quotes around modern. The original IBM PC had hardware multiplication. The Sega Genesis had hardware multiplication. But older CPUs, especially embedded ones, would often leave this out. One notable example is the Zilog Z80, which was still produced until 2024 (the newer eZ80 has multiplication). The…

Holistic Revision Tracking: A Better Version Control System for C Programs

This is a copy of my 2025 Sigbovik paper. I thought I’d also put it on my website for people who dislike PDFs. For those who don’t know, Sigbovik is meant for satirical papers. I’ve also had to change some things to port it over to markdown. Sorry! Abstract According to JetBrain’s 2023 developer ecosystem survey, 87% of developers use Git to track revisions in their program…

HRT

2048

Why I Wrote a Game Boy Advance Game in Zig

The Game Boy Advance is an interesting game console. It has a modern-style CPU (32-bit ARM, lots of registers), but uses an old-fashioned tile based renderer like how the NES did it in the 80s. Don’t get me wrong, since its one of Nintendo’s last tile-based systems, they took the idea as far as it can go with fancy features like affine transformations, transparency, and effects applied…

Wordle

Todd

alasa

nasin

The Tar Format

Recently, I have been getting pretty interested in the tar format (along with its command on Linux). This article will be talking about that. The format The most common format that is similar to tar is zip files. Zip files serve two different purposes at once. First, it allows you to take multiple files, and combine them into one file. This is useful if you want to download a directory, or send…

Nonogram 3D

Improved Ideas

Hey, remember that Ideas program that i created a while ago? Well I realized a long time ago that it had a lot of problems with it, so I decided to take a few minutes to make a better idea. But first, it’d be a good idea to go over the problems with the original: The original assumed that you have $XDG_DATA_HOME set to $HOME/.local/share, which is not necesarrily true. The program fails to…

Shiny Counter

Recently I’ve been getting back into Pokémon. Specifically, I’ve been playing Pokémon Blaze Black 2 Redux, which is a rom hack of Pokémon Black 2, which adds more difficulty, and also allows you to catch every Pokémon in the game (not including Pokémon added after generation V) I enjoyed the increased difficulty of the game, but something that stood out to me was shiny Pokémon. If you…

Shiny Counter

Aaron Alerts

Nds Pathtracer

Neovim

CodingBat Haskell

My Neovim Plugins

I use a lot of different editors to write code, but my go-to is usually NeoVim. NeoVim is a fork of Vim, which is itself a clone of Vi. To start this post, I feel like I should explain why I am basically using a text editor from 1976: The first point is probably the most obvious, but Vim is fast. Vim is designed around doing things with a keyboard, and overall keeping your fingers on the home row,…

jonot.me

Fedora Silverblue

Since the beginning of January I have been using Fedora Silverblue on my home computer. In this article, I thought that I would explain a bit about how I use it, why, and the pros and cons of using it for general use and development What is Fedora Silverblue? As this website states, Fedora Silverblue is a variant of Fedora Workstation where the root filesystem is immutable, meaning you can’t…

Offline Editor

Sitelen Pona Tester

The longest word you can spell in hexadecimal

It’s “coldblooded” This is something that I did a while ago, so I thought I’d just write a post about it. Here is a shell script to get every word that can be spelled with hexadecimal, sorted by length: cat /usr/share/dict/words | tr '[:upper:]' '[:lower:]' | grep -E '^[abcdeflzso]+$' | tr 'lzso' '1250' | awk '{print length, '0x' $0}' | sort -nr -k 1 | cut -d ' ' -f 2 If…

Running Android

WARNING: This blog post comes with no warranty. It should be made clear that I do not know any of what I am doing. I recently found out that Waydroid, a container-based system to run android apps on Linux, got added to the Fedora repos. I have occasionally tried installing Waydroid with very little success, but this official support from my distro gave me new hope. So I decided to try it out…

Sitelen Pona Tester

toki! mi pali e lipu sin Recently I’ve released my new website that allows you to practice sitelen pona symbols, by giving you a symbol and four words, and you have to select the one that matches: Alright, maybe I should explain somethings Toki Pona Toki Pona is a conlang created by Sonja Lang in 2001. A conlang is a language that was created deliberately, instead of emerging naturally. One…

A Comparison of GIF Replacements

IMPORTANT NOTE I have repeatedly had problems with this article due to the large file size of the videos. At this point I have decided to reduce all of the videos to 1 second to reduce this. The text all applies still, but you’ll have to encode the files yourself if you want to see what they look like in full. The GIF file format was created in 1987, and it definitely shows.

Reader Mode

Have you ever been on a website? It can be really annoying. Many pages have an absurd amount of ads, and a lot of sites have limits on how much you can read before they ask you to sign up for some account or get a newsletter or whatever. It’s annoying enough, but it’s more annoying on a dual-core Intel Celeron processor with 4 GB of ram. So a while ago, I created a bookmarklet.

Ideas

Ideas is a really simple program, and yet out of all of the programs I have made, it is probably the one I have used the most. It’s so short, in fact, that I’ll just put the entire source code into this post: #!/usr/bin/env python3 from pathlib import Path import os # Folder for ideas IDEAS_FOLDER = Path(os.environ['HOME']) / '.local/share/ideas/' def main(): title = input('What is…

ideas

sitelen

is-even-checker

Curse+

Pitcher

Recycle Reminder

Timeport

Wheatleycrab

cubiks.js

Reader Mode

chmod

TimeWaster

randrange

Conway++

Pokerus