RANDOM BITS

A random site by a random clueless human

Random bits of programming, math, and thoughts By a clueless human

µBlog Archive



2026



Site Update

February 28, 2026

As returning visitors may have noticed, the site has changed for better or worse with a few new sections in the past month or so. Notably: Book Recommendations: random non-fiction books I liked and would recommend for anyone interested in computer science Blog: My long form content that I have...

Read More...


Singularity Rootkit

February 19, 2026

An interesting yet scary piece of software I read about on the weekly Linux news is Singularity, an open-source rootkit, which can hide itself from being detected, at least does a decent job at it. It hides its existence by removing itself from the list of active kernel modules, and...

Read More...


Digital Signatures on PDF

January 17, 2026

Recently, I came across my electronic copy of my degree and transcript from several years ago and remembered that it was digitally signed. I previously wrote about how to manually verify an email signature 2 years ago and that got me thinking: how can I verify the signature of my...

Read More...


2025 - The End of Two OS

January 9, 2026

micro   eol
December 31st marked the end of HP-UX. Apparently released in 1982, it was mainly used in the enterprise world from what I know. I do not have much fond memories of this platform due to my work compiling (building) security fixes (PSIRT - Product Security Incident Response) when I was...

Read More...


New Year, New Desktop

January 8, 2026

A new year, a new computer, and a new experience, building my first desktop. It’s only been a year since I got a Framework laptop which is already sufficent for my current needs so there wasn’t any good reason to get a new computer. While most think GPUs are only...

Read More...


2025



The Unintended Consequence of Replacing CRLF (\r\n) to LF (\n) on PNG Images

December 11, 2025

Today there was a PR at work that tried to address the issue of engineers submitting code with DOS (Window) end of line (EOL) to the codebase. Background (Skip if you are a Programmer) \r and \n are what we call control characters, non-printable characters that have effects to data...

Read More...


Braille in Pokémon Sapphire and Ruby Game and Manga

November 23, 2025

Pokémon Crystal was the first to introduce symbols or glyphs for players to decode according to my research. [1] Thankfully the Unknowns ressemble the English or the latin alphabet so the task to decode the ruins was feasible for children. However, in generation III, in the Hoenn region, decoding the...

Read More...


Firefox - MP4 Cannot be Decoded

November 21, 2025

One constant issue I have with Firefox is the instability of playing videos outside of Youtube. Often when watching anime online, I would often encounter issues where skipping even a second would cause the video to stop playing. Hence why I have mention in my FAQ that I use Brave,...

Read More...


Anime and Manga Tech Gallery

November 18, 2025

For years, I always wanted to create a webpage with a collection of images from manga and anime that featured code or computers. I did amass a large collection but loss many of them over the years and the ones I do still have, I no longer remember where it...

Read More...


Fedora 43: Random Request to Access Macbook Pro Microphone

November 18, 2025

Fedora 43 was released in October 28 and my only gripe against this update is their inclusion of ROAP, some feature to connect to Apple devices. It was honestly annoying because my microphone would stop working once the video platform demands if I wish to connect to someone’s Macbook nearby....

Read More...


Random Photos

November 14, 2025

Nothing technical, just some random photos I took that I found on my phone. It snowed recently in the city I currently moved into. Though it quickly melted. It’s definitely a lot warmer here compared to where I am from. Disassembling my laptop because I spilled coffee over it …...

Read More...


How Linux Executes Executable Scripts

November 8, 2025

micro   linux   C/C++
One is traditionally taught that when running an executable (a file with execute permission), the shell will fork() itself and have the child process replace itself using execve(). One winter a few years back, I random question popped in my head: Who determines whether a file is a script or...

Read More...


Hangul - Unicode Visualiser

October 31, 2025

micro   utf   unicode
Inspired by the best video I have encountered on Unicode, I was inspired to create a visualiser of how unicode represents Hangul, the Korean writing system, that was covered in the video. Link to visualiser: https://zakuarbor.codeberg.page/unicode/hangul/ It is fascinating how one can represent all 11,172 possible combination so elegantly. The...

Read More...


UTF-8 Explained Simply - The Best Video on UTF-8

October 6, 2025

micro   utf   unicode
Video: UTF-8, Explained Simply Channel: @nicbarkeragain (Nic Barker) This is the best explanation I have found on UTF-8 thus far. I previously said UTF-8 is Brilliant was the cleanest explanation I’ve seen on this subject, well that was shortly beaten on October 2 2025. There are a few reasons why...

Read More...


Render Archaic Hirigana

October 6, 2025

micro   utf   unicode
What does does U+1B002 look like on your screen? 𛀂 Did it look like some some unicode box inscribing the unicode value? That is because your system lacks the typefont to render the unicode. If you visit the following wikipedia page on 変体仮名, you’ll likely notice the following: Instead of:...

Read More...


Migrating Away Github: One Small Step To Migrate Away From US BigTech

October 3, 2025

As title suggests, I no longer actively use Github as my personal Git hosting service. This does not mean I have abandoned Github entirely as I still visit the site and use it regularly for work. For a while, the code for this site, my blog, and my personal side...

Read More...


Binary Dump via GDB

October 2, 2025

micro   gdb   hex
Recently at work, I’ve been relying on a very handy tool on GDB called dump memory to dump the contents of any contiguous range of memory. I first came aware of this tool from a stackoverflow answer that a coworker linked as each of us had a need to dump...

Read More...


Gundam With Decent Portrayal of Code

August 27, 2025

Years ago I encountered a Reddit post asking us redditors to rate a piece of code shown in Mobile Suit Gundam 0083: Stardust Memory. This led to an interesting discussion and analysis of the code from a few redditors, particularly the analysis from gralamin who disected the code revealing a...

Read More...


The Issue With Default in Switch Statements with Enums

July 4, 2025

Reading the coding standards at a company I recently joined revealed to me the issue with default label within the switch statement and why it’s prohibitted when its being used to enumerate through an enum. default label is convenient to handle any edge cases and it’s often used to handle...

Read More...


2025 Update

May 24, 2025

Website Since the last last update when I decided to revive my neocities website, there has been a lot more activities. Unfortunately, due to low motivation and laziness, I have not been able to finish a number of blogs and microblogs … There are definitely a number of topics I...

Read More...


DuoLingo Dynamic Icons on Android

May 6, 2025

Recently, I have been noticing that the icons for Duolingo changes throughout the day depending whether if I have done my daily exercise: Originally I thought this feature is called adaptive icons due to its name but it is not. In Android Development, there is a file that contains information...

Read More...


Behavior of Square Roots When x is between 0 and 1

April 14, 2025

micro   math
Small numbers between 0-1 has always stumped me as it’s behaviors seemed unintuitive. For instance: $0.5^2 = 0.5 \cdot 0.5 = 0.25$ $\sqrt{0.5} \approx 0.707106781$ which implies for $x \in (0,1)$: $x^2 \lt x$ $\sqrt{x} \gt x$ I can rationalize in my head the first example by transforming the problem...

Read More...


4 is less than 0 apparently according to US Trade Representative

April 8, 2025

micro   math
Note: After publishing the post, turns out $\epsilon < 0$ could be correct, but $\epsilon$ should have been -4 instead. A friend shared with me the recent and infamous Math equation that has trade and economic experts scratching their head: \[\Delta \tau_i = \frac{x_i - m_i}{\epsilon \varphi m_i}\] I am...

Read More...


Row Major v.s Column Major: A look into Spatial Locality, TLB and Cache Misses

March 16, 2025

Memory is often the bottleneck of programs. When writing programs, it is important to consider how data is structured based on their data accesses patterns. A classic example is accessing a matrix via row or column major i.e. going through a matrix by row or by column order. Theory: Accessing...

Read More...


The Bit Size of the Resulting Matrix

March 7, 2025

Recently I have started reading Performance Analysis and Tuning, and a passage made me ponder more time than I would like to admit: Intel’s AMX extension, supported in server processors since 2023, multiplies 8-bit matrices of shape 16x64 and 64x16, accumulating into a 32-bit 16x16 matrix. If you understand how...

Read More...


Compiling and Running AARCH64 on x86-64 (amd64)

March 7, 2025

micro   c/c++   linux   gcc
Cross-compilation targetting ARM architecture does not work out of the box in Fedora unlike what it would seem on Ubuntu based on what I am reading online. Nonetheless, the unofficial packages for arm gnu gcc toolchain works like a charm unlike the official toolchain. While I have not done my...

Read More...


top and Kernel Threads

February 23, 2025

micro   c/c++   linux
Recently I was curious if I am able to trick top to believing a userspace thread is a kernel thread. For context, a kernel thread unlike its userspace counterpart only exists within kernel space and lacks an address space. Another note is that kernel threads can only be created by...

Read More...


this: the implicit parameter in OOP

February 11, 2025

micro   c/c++   asm
I was recently reminded that the variable this is an implicit parameter passed to all methods in OOP such as C++. We can observe this by comparing a regular function vs a method belonging to some class: #include <iostream> void greet() { std::cout << "Hello World\n"; } class Human {...

Read More...


Software Version Numbers are Weird

January 28, 2025

It is important to install the right version of dependencies, libraries, and software to obtain the desired features. I made the mistake twice thus far where I misunderstood version numbers. Here’s my grievances about how software versioning system works in how incompatible it is to the numbering system we use...

Read More...


view is just vim in disguise

January 23, 2025

micro   unix   utilities   vim
I recently found out accidentally at work that vim and view were the same thing when I happened to be editing a file on view instead of my beloved vim editor. This should not come to any surprise, plenty of documentation will state this such as the man pages: $...

Read More...


My Thoughts on the Future of Firefox

January 21, 2025

micro   web   firefox
I’ve been a Firefox user since around 2010 and tried various “flavors” of Firefox including Aurora (a build of Firefox version that is more stable than their nightly builds but less polished than the Beta version) and Firefox Developer Edition. I was also hyped for the short-lived FirefoxOS where I...

Read More...


The Sign of Char in ARM

January 15, 2025

micro   arm   C/C++
The following below has a value that is vague: char i = -1; The issue with the above line is that the value of i is not immediately obvious as compilers for different architectures could treat this as signed or unsigned. The signedness of a data type can be simply...

Read More...


A First Glance at Raspberry Pi 4 Running QNX 8.0

January 4, 2025

micro   qnx   rpi
I recently purchased a Raspberry 4 to fiddle around with QNX 8.0 that has been released to the educational and hobbyist community. Being frustrated with running QNX virtual machines via Momentics, I decided it would be much easier to run QNX on a piece of hardware. I do not know...

Read More...


2024



New Laptop: Framework 16

December 29, 2024

Ever since Linus Tech Tips (LTT) introduced Framework, a repairable and modular laptop, back in 2021, I always wanted one for myself. I always loved the idea of modular electronics ever since PhoneBloks introduced their idea of modular phones. Electronics that are modular are usually highly repairable due to the...

Read More...


Utilizing Aliases and Interactive Mode to Force Users to Think Twice Before Deleting Files

December 29, 2024

I previously mentioned that I lost my file by accidentally overwriting my file using the cp command. This got me thinking as to why this would be impossible on my work laptop since I would be constantly bombarded with a prompt to confirm my intention to overwrite the file. $...

Read More...


Stack Overflow: The Case of a Small Stack

December 20, 2024

micro   stack   qnx   C/C++
Years ago I was once asked by an intern to debug a mysterious crash that seemed so innocent. While I no longer recall what the code was about, we stripped the program to a single line in main. Yet the program still continued to crash. Source: int main() { char...

Read More...


QNX is 'Free' to Use

November 9, 2024

micro   qnx
Recently on Hackernews, a relations developer from QNX announced that QNX is now free for anything non-commercial. QNX also made an annoncement to the LinkedIn Community as well which was where I learned about it. For those who are not familiar with QNX, QNX is a properiety realtime operating system...

Read More...


[Preview] Manually Verifying an Email Signature

October 8, 2024

micro   gpg   signing
I noticed that the neocities community love using protonmail and some even share their public key to enable full encryption communication. While I care about cyber security more than the average human, I do not care enough to start requiring others to start encrypting their email and sign their messages...

Read More...


[Preview] Half-Width and Full-Width Characters

October 6, 2024

Those of us who live and speak English will probably never think about how characters are encoded which is how characters such as the very letters you see in the screen are represented by being given some number like 65 for ‘A’ in ASCII which takes 1 byte to be...

Read More...


Mixing Number and String

September 18, 2024

A recent post has gotten somewhat popular on the web and is something many of us could somewhat relate with. In the case of many including the author, the issue stems from how YAML treats strings and numbers. As a rule of thumb, I would always suggest avoiding any potential...

Read More...


`.` At The End of a URL

August 30, 2024

micro   dns   network
I recently learned that websites can be terminated with a . such as www.google.com. or https://neocities.org.. However, this does not work for all websites. I was skimming through Network for Dummies during work and while it doesn’t cover anything useful for the work I am trying to do (if you...

Read More...


Splitting Pdfs into Even and Odd Pages

August 28, 2024

During the winter break I have obtained an old Xerox XE88 Workstation Printer released in the year of 2000, the year where the media were worried about Y2K causing havok to our digital infrastructure which never came to the scale we all feared thankfully. Though of course a bug will...

Read More...


Executing Script Loophole

August 28, 2024

I recently came across an article discussing an attempt to close a loophole bypassing the normal execution permission bit. Exploiting a program suid and euid to gain high privilige is a commonly known technique called privilege escalation. This article does not cover this but it introduces a flaw in the...

Read More...


Replacing main()

August 24, 2024

micro   gcc   C/C++
Any beginner C programmer will know that the first function executed in any program is the main() function. However, that is not the entire truth. Just like how we have learned the Bohr and Lewis diagrams in Chemistry in Highschool, this is an oversimplification. From my knowledge, the first function...

Read More...


Editing GIFS and Creating 88x31 Buttons

August 18, 2024

micro   gifs   gimp
Lately I have been learning how to edit GIFS and it is painstaking difficult to remove a background from a GIF without using an AI tool, especially when the image has over 70 frames. There is likely an easier way to edit GIFs but I had to manually edit over...

Read More...


multiple definition of `variable` ... first defined here

August 10, 2024

micro   gcc   C/C++
Randomly I decided to compile some old projects I worked on and I was surprised to see a few compilation errors in an assembler I wrote years back. As it has been many years since I last touched most of the projects I looked at, I was pleased to see...

Read More...


Delusional Dream of a OpenPower Framework Laptop

August 4, 2024

Framework is a company that makes modular and repairable laptops that has captured the interests of tech enthusiasts over the past 4 years. Currently Framework laptops are limited to x86-64 architecture supporting Intel and later AMD CPUs in 2023. Although Framework laptops are not entirely open source, they have open...

Read More...


2024 Update

August 4, 2024

micro   site
Website In the past year I have been very lazy as evident with my lack of activity on my personal blog. I'm now trying to pick up blogging again. It's hard to believe that it's been almost an entire year since I created this neocity site, which has almost 0...

Read More...