Skip to content

Instantly share code, notes, and snippets.

@minif
minif / triple-booting-imac-5,1.md
Last active April 11, 2025 03:53
Triple Booting my 2006 iMac 5,1 with Mac OS, Windows XP, and Debian 12

Triple Booting my 2006 iMac 5,1 with Mac OS, Windows XP, and Debian 12

This is a semi-blogpost semi-tutorial on performing a triple boot on my 2006 iMac with my three favorite operating systems.

If you would like to skip to the step-by-step, click here.

Background

I received my 2006 iMac, along with a 2006 Mac Pro for free from a family member in the summer of 2023. I didn't really care for polycarbonate intel macs at first but now I've grown a bit of a soft spot for my iMac and since then I have the urge to use it as much as I can.

To be honest, I don't really remember when I first wanted to set up a triple boot. I had played around with different operating systems on it, and at some point in the past year I wanted to try a modern linux distribution on it. My linux distribution of choice is Debian, and I tried installing it on a partition I made. Unfortunately, fo

iOS App Hashing

An important aspect of video game preservation is collecting hashes of ROM files or disc dumps. A hash provides a "unique fingerprint" of the game that can be used to identify a game. Databases such as no-intro.org and redump.org exist to collect and verify these hashes. I am interested in iOS app preservation and so I have decided to write what I know and what I think would be needed to acheive something similar for iOS.

Hashing what?

ROM files and disc dumps can easily be hashed, because all cartriges and discs often contain byte-for-byte identical copies of data. However, iOS apps are distributed digitally, and can be downloaded from different places (App Store, iTunes, 3rd party tools, Apple Configurator, etc). iOS apps are folders with the .app extention which contains multiple files and thus are tricky to hash. iOS apps are packaged and distributed in .ipa files, which is a single file that can be hashed. Given the prevelance of the .ipa file, this is the most likely contender for w

@minif
minif / ultimate-angler-save-modification-rods.md
Last active September 1, 2024 18:26
Ultimate Angler Save Modification: Rods

Ultimate Angler Save Modification: Rods

This is my findings when trying to modify rods for Ultimate Angler. This is information that I originally discovered back in April, but I originally posted it in a private chat, so I have decided to write this as a public gist for anybody to reference.

Save file information

The save file is mgFshX.dat, which is an extdata save file on the sd card (sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/extdata/00000000/00000218/user/mgFsh0.dat). Like with all Streetpass Mii Plaza DLC saves, there are two files: mgFsh0.dat and mgFsh1.dat. They are identical, probably for redundancy (i.e. if one of them corrupts, then the other is fine). I usually edit mgFsh0.dat and deleted mgFsh1.dat to get the results I want.

Some findings in the save file:

  • Money is stored at 0x287C
  • 0x000C is a counter for every time the game is played

Download .ipa files removed from purchased tab.

As of around March 20th, 2025, the volumeStoreDownloadProduct endpoint (required to download removed apps) has changed and now has a tendancy to not work sometimes. There is not any noticable pattern as to what apps work or not but note that there is a high likelyhood this tutorial may not work.

Due to various reasons (such as Apple developer account termination), apps you had previously purchased can no longer be downloaded from the App Store or iTunes. However, it turns out these applications can still be accessed. Third party .ipa downloading tools such as iMazing, ipatool, and ipatool-py use a special endpoint that allows downloading removed apps.

This app must have been purchased on your Apple ID beforehand. You cannot download any app ever made. Apple only lets you download apps you had bought or downloaded in the past.

I reccomend using the ipatool-py method, because it is easier. However, if you are unable to use it, I have left the original

@minif
minif / copy
Created February 16, 2017 03:17
Minif OS v1.0 pre-alpha
if fs.exists("Library") then
fs.delete("Library")
fs.copy("disk/Library", "Library")
else
fs.copy("disk/Library", "Library")
end
if fs.exists("startup") then
fs.delete("startup")
fs.copy("disk/startup", "startup")