4 ms·
I've been writing programs for myself since I started programming on a Tandy Level I. I'm always working on some project or other. Most of them are too big fo
by godshatter 5y ago
I've been writing programs for myself since I started programming on a Tandy Level I. I'm always working on some project or other. Most of them are too big for me, but I do them so I can learn how the real things work. Currently writing an html user agent, but it's not even off the ground yet. I have a program that uses something like genetic algorithms to play go, but it's not doing very well relatively speaking. I wrote a program to resize files using an underlying floating point grid whose size you can specify that tends to work okay. It's slow, but I use it for resizing files for smaller displays and just to tinker with.
There are staples I keep coming back to. I'm always trying to write a reverse ray tracer that shoots photons from light sources and tracks them around to see if they hit a pinhole camera, but they are of course way too slow. I've played with some ideas for compressing images, and I've taken a few runs at the hutter prize (compressing wikipedia). Writing a massive text-based old-school rogue-like is something I keep coming back to.
I used to mod games, and have played with some programs designed to edit different file types I was trying to reverse engineer. I've played around with trying to optimize sha-256 hashing, but haven't gotten anywhere. I also have tons of shells scripts that do various things.
I usually write in straight C these days, though I've tried various programs in D, Free Pascal, Ada, Java, assembly, Perl, BASIC (back in the day) and probably others I've forgotten. I remember in high school writing a game with a friend for one of the early Tandy machines in assembly on paper and then hand-assembling it to machine code and using poke in BASIC to put it in memory and then executing it. We didn't have access to an assembler.
I haven't ever given out any of my code, I just use it to play with ideas and to keep my skills up.