About:

Imran Nazar is the author of the website imrannazar.com, where he writes articles on emulation and software development, with the occasional bit of sci-fi thrown in.

Website:

Specializations:

Incoming Links:

Outgoing Links:

Subscribe to RSS:
The author shares their experience of transitioning away from Google services, specifically focusing on migrating TOTP (Time-based One Time Password) codes from Google Authenticator to a command-line utility called oathtool. The p...
The text discusses the story of how the world went dark due to a failed attempt to cool the planet by painting the skies with titanium dioxide. This led to billions of lives lost to famine and the eventual reliance on machines for...
The article discusses the slow load speed of the Commodore 64's 1541 disk drive, and the history leading up to the C64's release. It explains the technical details of the disk drive's operation and the reasons behind its slow spee...
The text is a tale of the author's experience using XMODEM to transfer files to a laptop in rural Pakistan in 2008 after the Windows installation on the laptop got corrupted. The author faced challenges in finding the right hardwa...
The text discusses the implementation of ActivityPub event handling in PHP and MySQL for a blog in the Fediverse. It covers topics such as publishing posts, storing comments, handling reactions, and undoing events. The author prov...
The text discusses the implementation of ActivityPub on a blog, focusing on handling HTTP Signature specification, finding the blog, knowing the endpoints, receiving future posts, publishing posts, commenting, reacting, deleting r...
The text discusses the influence of Piet Mondrian's abstract art on the Piet programming language, which uses colors and directions to execute code. It also mentions the work of Barbara Maahs, who created a piece that was converte...
The article discusses the use of inline tooltips for asides in articles. It explains how to use CSS to create tooltips, and the issues that arise with their use. It also discusses the need for JavaScript in some cases.
The text discusses the implementation of HTTP Signatures with PHP and OpenSSL, focusing on ActivityPub support for Mastodon compatibility. It explains the process of generating and verifying signatures, and provides PHP code examp...
The text discusses different options for accessing a REST API from a local machine when the remote is firewalled. It explores testing from the server, NAT-based forwarding, and proxying the remote API. The author then delves into ...
The text discusses building a solver for Klondike Solitaire using JavaScript. It explains the process of determining if a game is winnable, representing the game board, rendering the board, and building the solver. It also mention...
The article discusses the use of wildcard email addresses to determine the provenance of spam and how to configure Postfix mail package on a Debian Linux machine for self-hosted mailserver.
The text discusses the author's experience with an SSH failure after upgrading to Debian 12. It details the troubleshooting process and the discovery of the root cause, which was related to the kernel version and bootloader config...
The article discusses the structure of conversations on microblogging sites like Mastodon and how to use Mastodon's Context API to gather and produce the necessary data. It explains how to fetch the toot's context, the presentatio...
The author discusses the modern CSS techniques used to rebuild his website, including the use of variables, webfonts, transform: rotate, font-display: fallback, font-size: clamp, background-size: contain and aspect-ratio. He also ...
The article discusses the author's experience with code golfing, specifically in the context of the Binary Golf Grand Prix. The task was to create the smallest self-replicating file, and the author explores the process of achievin...
The text discusses the process of converting the emulation core behind Commodore Clicker to hand-written WebAssembly. It highlights the problem of an inability to name constants and provides examples of code in JavaScript and WAT....
Hyper Four is the first test of a hyperspace tunneling engine with humans on board. The engine had been retrofitted to one of SpaceX's old service capsules. James Kent, veteran of the Hyper series, had been voluntold as the crew m...
The author describes the time when his encrypted RAID5 failed, and he lost access to his data. He made several attempts to recover the data, and after several years, he was finally able to recover the data and finish the song that...
The document outlines an extension to the Hyper Text Coffee Pot Control Protocol (HTCPCP) to allow for pots to provide networked tea-brewing facilities. It specifies an extension to HTCPCP to allow communication with networked tea...
The article discusses the concepts and implementation of JPEG decoding, focusing on frames and bitstreams. It explains the requirement of a queue for variable-width symbols, the implementation of a bit queue, and the structure of ...
The article is part three of a series exploring the concepts and implementation of JPEG decoding. It focuses on Huffman coding, which is used by the most common JPEG encoding. The article explains the concept behind Huffman coding...