Hello, my name's James! You can find me on github and discord, as well as many other places where I go by GrateJames.

My passions range widely from retro-tech through to a touch modern cryptography, many of which are exhibited below. Some personal favorites are the GHOST project, as well as my WIP 3DS mastodon client. Aside from programming, I also do a bit of everything: sketching, guitar, crocheting, and photography.

I'm proficient in C++ and Python, and generally familiar with: HTML, PHP, SQL, JS, C#, and more. I currently daily drive a monstrositry of debian, i3, and a mash of custom forks and tools. Needless to say, I'm very comfortable working with linux and the terminal.

WHAT ARE GOOD BITCOIN EXCHANGES AND WALLETS FOR BEGINNERS

09/02/2024 - github/RETTI89SCFF

After stalling 2 years ago, I finally sat down and reverse engineered the StudyCard appvariable file format for my ti89 titanium. Why? Bacause the original software is old and unsuited to my use case: I want to paste in a list of a hundred vocab terms, not mess around with manually formatting the front and back of each card. For the specifics of my work, you can download the writeup underneath.

Things that haven't been explored:


STARCRAFT 25 BITCOINS

08/14/2024 - github/Masto3DS

I've always loved implementations of modern software on obsolete hardware, so-called 'de-makes'; Remakes, but accomodation the limitations of the system they're being ported to. This is my attempt to make a mastodon client for the 3DS. Luckily, the Mastodon API is enjoyably well-documented online, and the process has gone relatively smoothly when I have time to dedicate to it.

Except for images. The 3ds graphics libraries expect you to process the images locally on your development machine before embedding them in the program. This makes sense for game assets, but is not applicable to emoji's from mastodon. This pre-processing? Something called swizzling. It reorders all the pixels so that pixels that are nearer on the screen are nearer in memory, allegedly improving speed by makeing caching more efficient. However, this means I need to 'pre-un-swizzzle' the images before I display them, which I have working for some image sizes but not others. Apparently the algorithm scales differenly than I expected. Anyway, this will require an amount of work I've been putting of for a while now.

The other problem is fonts/emojis. As best I understand it, the emojis are being processed correctly. It's just that the font that provides the glyphs for those characters is not properly hooked into the text drawing routines. Or something like that. If I remember correctly, the whole program is currently commented out to create a minimal testing framework as I debug this, but it's been a while since I've worked on it.


BITCOIN LOWEST PRICE

04/13/2024 - github/VComic

USE AT YOUR OWN RISK: DATABASE CORRUPTION BUG

Sorry for the big warning, there's a nasty bug hiding somewhere in here, I think. I tried to use the app one day and it wouldn't open, and I couldn't debug it because I had reinstalled my laptop and the debugger didn't like that the app was built differently or something.

Anyway, this is basically a simplified web browser with some extra features that make it convenient to use to read webcomics. This isn't a scraper, it pulls up the original websites so the creators get ad revenue. It keeps all your comics in a list/spinner you can select from, and as you read the link in the database is updated. You can give each comic a name, and reorder them, but that's about it. There's not even an app icon yet.


WHATSAPP BITCOIN MESSAGES

04/05/2024 - github/Ghost

Quick preface: this description describes the program as it was a couple years ago, and I haven't had time to update it as fully as I would like to. It's close, but most components have been completely rewritten since then and operate with significant changes.

Ghost is a computer archecture I made as a thought experiment, and also as an easy way to introduce people to the ideas of assembly. It's both the definitions I've created, and a collection of python/c++ scripts including an assembler and simulator.

The assembler runs in two passes: the first pass clears comments, resolves shorthand, validates the instructions, and records labels. The second pass fills in the labels, does math, and validates each byte to ensure the hex is ready to be output. Then it's output in a variety of formats. Additionally, the compiler supports basic definitions, data definition, labels/names, 5 different output formats, and a dictionary called 'debugging' that allows you to configure the differrent debugging features.

The other main program is the simulator. It loads each instruction from memory, converts it to it's mnemonic, and executes it in an el/if tower. It automatically process writes to screen memory, key inputs, reads from the random IO device, halts, and breaks. Other assorted tools are: Sublime Text syntax highlighting, downloader to get current information from the notion document, and a few example assembly programs.


EIA BITCOIN MINING

04/03/2024 - github/JCatcher

This is a simple 3DS program that's designed to parse RSS feeds and download mp3s so that they can be played by another app. Currently nearly all the features are working except for the onscreen keyboard, so your stuck with Offbeat Oregon as your only option. Also, apparently, I started this before I knew to split things into their own files. Enjoy a horrific main.cpp, and not much else.

Also, this program uses curl, which means that while it supports modern HTTPS certs, it is dreadfully slow. Probably runs at 1/3 playback speed. So a 15 minute podcast could take up to 5 minutes to download. This is obvisouly unacceptable for real-world use, but this is just a passion project. Also, I see no way around it.


LIGHTNING ADDRESS VS BITCOIN ADDRESS

06/07/2023 - github/CustomLanguage - Try out here!

I'be been toying with the idea of making a custom programming language. The idea is to have it similar in ease of learning to python, but with stricter typing. So far, I've built a demo in python. Above is a demo that hacks together the python code from github with jsgo.


SHOW ME BITCOINS

05/01/2023 - github/FishML

This was a super simple little program I wrote to interface with code.org's introduction to AI. This program will use user input to train the neural network, and once its trained it can automatically complete the code.org process of training their 'AI' interface. (https://studio.code.org/s/aiml-2021/lessons/1/levels/1M, Intro to computer science principles, AI/ML, lesson 1)

There are two different progams: BW, which converts to black and white and only identifies outlines for the fish/not a fish excercize, and the Characteriostics versions, which lets you choose a characteristic (Circular, Rectangular, Triangular, Blue, Red, Green, Yellow) to filter for


1000 DOLLARS IN BITCOIN

04/25/2023 - github/M5Stack-Games

This is a random collection on projects for the m5stack, built on vanilla micropython and russhughes's ili9342 library. It looks like he might even be providing pre-compiled mp binary, but I've not tested it.

It contains:

As a rule, the apps in ./sd are finished, those in ./dev are not, and those in ./ are drivers or other tools


0.004301 BITCOIN IN GBP

04/25/2023 - gateio

A little game I made for my younger sister, it is designed to be a simple clone of Happy Ms. Chicken (from Peppa Pig). Click the A button and the chicken teleports around the screen and lays an egg at that position. Works forever (without running out of memory) because the new eggs are stamped to the background. An update could make the chicken instead initiate an egg sprite that will, after a delay, hatch and stamp a chick to the background; which is what she really wants.


AMC GIFT CARD WITH PIN BITCOIN

03/14/2023 - gate io

This is a super simple app designed to track inventory stock. Items are tracked by their name, modifier (Color, size, etc...), and location. On either the add screen or search screen you can tap an item to filter by that name/modifier.


FIDELITY ETF BITCOIN

03/14/2023 - github/Raycast

A super fun little raycasting demo loosely based on the tutorial series by Griffpatch. Loads a basic little map and renders it, has some lens corrections, and supports shading based on compass direction. Could possibly support more detailed maps later.

Key Action
n/m Resolution
v/b FOV
x/c Depth Res
z Smoothing

SEND MONEY TO BITCOIN ADDRESS

01/03/2023 - downloads/main.py

Super simple calculator script that uses pythons builtin eval function, but ouputs in hex, binary, and decimal. Super useful for debugging GHOST.


44.0454 BITCOIN TO USD

08/17/2022 - github/Digger

A super simple game! The idea is that you dig around to mine ores to upgrade your robot. It's currently unplayable, but was an interesting proof of concept.


BITCOIN RUNES TOKEN

09/06/2021 - downloads/TicTacToe.py

Or, Matchbox Educable Noughts and Crosses Engine. A learning tic-tac-toe playter base on the MENACE concept, which manuipulates the chances of the computer making any given move based on whether that move was included in a previous game's win or loss.


.0001636 BITCOIN

06/04/2020 - downloads/maze.py

A super simple maze generator copied almost entirely from my scratch project.