Skip to main content

A photo of Max Glenister

UX Design, UI Design & Front-end Development. Technically a cyborg.

omgmog.net

blog.omgmog.net

indieweb.social/@omgmog

github.com/omgmog

www.linkedin.com/in/omgmog/

Max Glenister

Dithering in Colour
Inspired by multiple posts on dithering, I set out to create a correct implementation of Atkinson dithering with support for RGB colour palettes. The post also outlines implementing linearising the colour-space and correcting for human perception.

Max Glenister

PuTTY’s icon designs date from the late 1990s and early 2000s. They’ve never had a major stylistic redesign, but over the years, the icons have had to be re-rendered under various constraints, which made for a technical challenge as well.

Max Glenister

Running Pong in 240 Browser Tabs · eieio.games
What should you do with your unclosed browser tabs? I ran pong in mine.

Max Glenister

Max Glenister

😲

Game Bub, an open-source FPGA based retro emulation handheld, with support for Game Boy, Game Boy Color, and Game Boy Advance games.

Game Bub: open-source FPGA retro emulation handheld
I’m excited to announce the project I’ve been working on for the last year and a half: Game Bub, an open-source FPGA based retro emulation handheld, with support for Game Boy, Game Boy Color, and Game Boy Advance games. Play Video: Game Bub can play physical cartridges, as well as emulated cartridges using ROM files loaded from a microSD card. Game Bub also supports the Game Link Cable in both GB and GBA modes for multiplayer games. I designed the hardware with a number of bonus features, like video out (HDMI) via a custom dock, a rumble motor, real-time clock (for certain games). Additionally, the hardware is designed with extensibility in mind, allowing future software improvements to expand its capabilities.

Max Glenister

NESFab is a new programming language for creating NES games. Designed with 8-bit limitations in mind, the language is more ergonomic to use than C, while also producing faster assembly code. It's easy to get started with, and has a useful set of libraries for making your first — or hundredth — NES game.

Max Glenister

RetroFab by Itizso
Handheld electronic game simulations

Max Glenister

Max Glenister

HTML Whitespace is Broken - Devel without a Cause
A deep dive into HTML whitespace collapsing: How it works, why it sucks, how it should work, and how to deal with it.

Max Glenister

Restoring an oldish iMac 18,3 (mid-2017) that had been previously been running Windows 10 via Bootcamp for the last 8 years.

Some useful commands:

You can identify the serial number of the Mac from the recovery terminal (hold cmd+R while booting to get to recovery):

ioreg -rd1 -c IOPlatformExpertDevice | grep Serial

To get hold of the most up to date recovery/installer that the machine supports (Ventura).

brew install python3 qemu
git clone [email protected]:DrDonk/recoveryOS.git
python3 recovery-vmdk.py

Don't bother with converting the dmg to a vmdk or anything, just write the dmg to a USB:

sudo /usr/sbin/asr restore --source ventura.dmg --target /Volumes/UNTITLED --erase -noverify

Boot the USB and then to reinstate the Fusion drive setup, (before starting the install)

diskutil resetFusion

Then install 🚀

Max Glenister

Max Glenister

This is great!

I've personally settled on a Pixel Watch and GlucoDataHandler to get data from my CGM to my wrist.

Building a (T1D) smartwatch from scratch
Documenting an attempt to build a single-purpose smartwatch.
GitHub - pachi81/GlucoDataHandler: GDH receives data from various sources and visualizes it clearly on your Android smartphone, smartwatch (Wear OS, Miband, and Amazfit) and in your car (Android Auto).
GDH receives data from various sources and visualizes it clearly on your Android smartphone, smartwatch (Wear OS, Miband, and Amazfit) and in your car (Android Auto). - pachi81/GlucoDataHandler

Max Glenister

Max Glenister

The Art of Dithering and Retro Shading for the Web - Maxime Heckel's Blog
A detailed walkthrough of the inner workings of dithering and other shading techniques to give a retro look and feel to your WebGL and React Three Fiber work.

Max Glenister

🎉

Why We’re Bringing Pebble Back
Eight years later, you still can’t beat a Pebble

Max Glenister

cs16.css
CSS library based on Counter Strike 1.6 UI.

Max Glenister

An analysis of the colors used in Mario game titles

Most Mario games with polygonal logos have a different color per letter, but the sequence of colors in Mario’s name is rarely the same sequence across games.

Max Glenister

Max Glenister

Some awesome fabrication on this custom DMG!

YouTube video thumbnail

Max Glenister

Max Glenister

Pokemon PureRed / PureBlue / PureGreen: A purist's enhancement of Pokemon Red/Blue/Green based on the pokered decompilation.

GitHub - Vortyne/pureRGB: Pokemon PureRed / PureBlue / PureGreen: A purist's enhancement of Pokemon Red/Blue/Green based on the pokered decompilation.
Pokemon PureRed / PureBlue / PureGreen: A purist's enhancement of Pokemon Red/Blue/Green based on the pokered decompilation. - Vortyne/pureRGB

Max Glenister

DOOM: The Gallery Experience by bobatealee
An artistic parody of the ultimate classic

Max Glenister

DOOM® CAPTCHA
Prove you're human by playing DOOM

Max Glenister

The Cody Computer is an 8-bit home computer intended to be built as a DIY project.

Max Glenister

Finding and exploiting hidden features of Animal Crossing’s NES emulator
While looking for ways to activate the developer menus left over in Animal Crossing, including the NES emulator game selection menu, I found an interesting feature that exists in the original game that was always active, but never used by Nintendo. In addition to the NES/Famicom games that can be obtained in-game, it was possible to load new NES games from the memory card. I was also able to find a way to exploit this ROM loader to patch custom code and data into the game, allowing for code execution via the memory card.