A spinning 90s computer

Hi! I'm Ash Wolf (or Ninji), a 24-year-old software developer in Glasgow, Scotland. I like graphic design (it's my passion), reverse-engineering and terrible jokes. Sometimes I make things and put them on the internet (like this website). Some of them are on the Creations page.

I'm currently a third-year Computer Science student at the University of Strathclyde.

In the past I've done a bunch of stuff with console game hacking (most notably for the DS and Wii variants of New Super Mario Bros.), but I've moved on from that for the most part.

Web Site Under Construction

Construction person repeatedly banging at a pile of dirt with a shovel I'm still working on this website, so please understand if you come across anything that's broken or incomplete. If you have a suggestion, then feel free to send me an email at ninji@wuffs.org! (No HTML email, please)

Like my content? Send me money: PayPal Donate

Recent Posts

  • · Mouse Adventures (Part 5)

    Wherein I learn more than I ever wanted to learn about USB descriptors and start using pyusb to send raw USB commands to my mouse, to try and learn even more about the inner workings of it. Partly so I can make sense of the firmware disassembly, and partly so I can maybe have a hope of unbricking it!

  • · Mouse Adventures (Part 4)

    Wherein I figure out more of the mouse's protocol by delving deep into the guts of the configuration tool, and use hidapi to write a tool that lets me poke at it. Complete with a surprising plot twist...

  • · Mouse Adventures (Part 3)

    Wherein I rip apart the firmware file and write a disassembler for Holtek's weird RISC-ish microcontroller architecture, in a quest to learn some secrets from the mouse's source code.

  • · Mouse Adventures (Part 2)

    Wherein I investigate the origins of the TeckNet mouse, find multiple OEMs selling variants of it, rip apart the configuration tool further, try to read too much meaning into PDB file paths, figure out part of the mouse's protocol and rip apart the firmware updater. The saga continues, for now!

  • · Mouse Adventures (Part 1)

    Wherein I delve into the internals of my no-name brand "Tecknet Hypertrak Gaming Mouse" in an attempt to write a cross-platform tool that can manipulate its configuration without having to use the awful Windows-only tool it's shipped with. In this first part we tear apart said tool to figure out how it communicates with the mouse.


Best viewed with any browser! Made with Mac OS Made with Cascading Style Sheets