I still think of myself as a programming beginner. I don't have any formal education on it; but I've learned piecemeal from hundreds of better-educated and more-experienced people than me over the years, mostly indirectly through their writing. I've been (barely) making my living writing code since... 2015?

This hasn't been an easy path. I learned basic HTML around 1999, only using it intermittently on forums and band sites. I branched out into CSS in 2006 because I had a dream about a site called "I Love Sitting On Chairs," told my friend Erik about it — he said I had to make it, but I had to do all the styling in CSS, so I learned and did. I used those techniques to make a web booklet for my album Plate, which I put SO much time into and hardly anyone ever saw that I know of, and doesn't really work in modern browsers. I studied Why's Guide to Ruby in the summer of 2007, sitting on the couch every afternoon at Blackbird with my first mocha forays into coffee. I had a hard time wrapping my mind around more than the basics of code, but that taught me about a lot more than syntax and logic, things like text editors, the command line, and introduced me to some voices online that I would follow for many years, even when I wasn't actively coding. I sat nearby, listening to people talk into microphones about new developments in code, things I mostly didn't understand but which grew slowly more familiar.

Every 6 months or so, someone would ask me to make them a website. Each of these attempts, usually after successfully creating something useful, was punctuated by a collapse into depressive failure-feeling, but slowly I built up my knowledge and experience. I made one for a property management company after moving to Athens in 2009; that led to me, jobless and sweltering, being asked to fill in when the property manager left abruptly. I did that job for 3 years, mostly not doing web stuff, but still learning periodically, and eventually revamping the company's site to be more useful along the way. In my last year there, I read every word published to action button dot net, sent a small fix to Tim for action button entertainment's site, and he asked me to make them another site. So I did, desperate for something interesting and validating, and that led to my tentative forays into real Javascript code. Making the videoball.net site in... 2013??? led to me getting more paid gigs; people reached out to me, asking if I'd make them a site. Wow! What an idea. After a few decent small gigs, I got a job making a dynamic site, that wound up with me making a final version in Vue.js, writing an honest-to-god Web Application.

That whole time, I felt like I was holding on to a bucking bronco mounted to a roller coaster; almost everything I've ever coded has felt like, "I dunno!!! MAYBE I can do this???" And, usually, I've figured something out. But it wasn't until I took a job working on Wordpress sites (fuck wordpress) in an office that I realized just writing HTML, CSS, PHP, and basic Javascript had become deeply boring. I think I'm honestly probably among the top 10% of CSS programmers in the world? I can make CSS do weird stuff. I can answer esoteric questions, and find some way to make just about anything someone's asked me to do work. Especially with a little JS mixed in. I mean, hell; I've been making web sites for literally twenty years now. But, unfortunately, I haven't been able to parlay that extensive knowledge into a lucrative job; and as has been the case with so many skills in my life, I get really good at something, can't find a way to get paid consistently for it, and so I begin to resent the skill and look for something else to do. I've been making between $14k and $22k a year for most of the last decade; the latter two years as a property manager I made closer to $30k, but that required every ounce of available energy and attention and burned me out so badly. Same with the 6 months I spent at the ad agency; I made almost $30k in 6 months, but due to my own fucked up body chemistry, my health tanked, I quit, and then didn't really work for most of the next year. So. All of this has been excruciatingly-difficult, and I did almost all of it with untreated depression that would crater me for weeks at a time! Good for me, I guess!!!!!

The thing I realized while at the ad agency was, I had finally gotten more than just a decent grasp on logical programming. I had become good at it, and more surprisingly, really missed doing it. The few times I got to write a small JS behavior in those months, my whole mind lit up, and I realized I needed to find a way to do that. Now, of course, if I lived in a big city and could stand being cooped up in an office, I could take a job at a startup or something. I've been told by people who have seen my code that I could easily have a mid-level to senior JS programmer position, if I applied to a few. I interviewed for and was offered a couple of jobs in Europe over the last few years; I declined them because I valued my friends and social situation here. OOPS! Guess that might have turned out to be a mistake, because everything is fucked now and I could maybe have had my own apartment in a strange city and actually felt like an adult rather than a fucked-up perpetual-adolescent failure, but that's another conversation.

Rather than follow that more obvious path, I started to study game programming. An infinite frontier of difficult mental labor where I could express my creative ideas. Moreover, my brother Ryan was developing his art skills; we worked on a few things small things together and really liked it. We'd worked together with our friend Tony on Bugspeed Collider for a couple years of free time effort, when I was still too scared of complex code, and too hung up on my own anxiety to do more than a couple hours of challenging creative work. What if we made our own things? I had a handful of strong-feeling game design concepts, and set out to learn how to make some simple things in late 2018. I studied Pico-8 and Lua, and more importantly "the game loop," which was another thing it took many attempts and experiments to really wrap my mind around, which now feels second nature. I made a few small prototypes and experiments, and then we hacked Celeste to make Ingeste. I moved onto Love2D for more power, working with Ryan for several months in 2019 on a little game we called Party Monsters, which was a playful riff on Pokémon. We never really released anything about that, not wanting to promise anything we couldn't deliver, and I studied and struggled and figured out how to make a lot of things work, ultimately hampered by Love2D's deliberate technical limitations and my own inexperience. But I was learning, and showed it to a few people, and that got me the gig I have now, that I'm not allowed to talk about yet. It's cool, it's satisfying, but it's also been massively challenging, and has served as a real game-making boot camp.

All of that in the midst of adapting to antidepressants since November, which has been a real up and down experience, thankfully mostly up. In the midst of covid. In the midst of the end of my longest partnership, and a marked increase in my own social anxiety, and a period of political turmoil in which the bastards may still be getting the upper hand, but we're collectively pushing back against harder than ever, in which I have not been able to participate as directly as I want. I'm broke again because the project is taking longer than anticipated, and debt I accrued over the last couple years of worsening depression has to be paid, and money is harder than its ever been, and we're entering an economic depression because dipshits run everything and haven't been roasted alive yet. I have to move to a new place somehow, despite having no money, because my housemate is going back to work in a preschool in a week, and I'm not gonna get fucking covid if I can help it. I'm grateful to have been seeing an amazing woman since the end of last year, who is going to let me stay with her temporarily. And another friend has offered a guest room, but again, covid worries, just generally, because fuck everything.

But basically, everything is massively fucked, my own stuff is massively fucked and difficult, and yet I'm still trudging forward, doing code work every day, and learning new things in anticipation of future challenges. I fully credit my antidepressants for keeping me going this year; the person I was 12 months ago wouldn't have been able to handle half of this shit. But here I am, and I'm going, and maybe I'll go to debtor's prison, and maybe I'll die in the street, but I'm gonna do my best not to!

... I just wanted to contextualize this video, but wound up typing all of that. I've started studying C++ and Unreal Engine just a little at a time, because assuming I get to work on some more game ideas, I'm going to try in UE. I've also been broadening my base of general computer science knowledge; reading snippets of Knuth, Dijkstra, Game Programming Gems, and others. This far-ranging path crossed with Alexander Stepanov, co-creator of the C++ Standard Template Library, and several recommendations to learn from him. I downloaded the now-free PDF of his Elements of Programming, and the first few pages were a baffling discussion of what programming even is, from a conceptual perspective.

I needed to know what his voice sounded like; who wrote this book, and did I really need it? Hence the above video. The audio sucks; he's talking directly into a blown-out lav mic the hold time. But I loved it; he's talking about the book and its big ideas in a way that definitely convinced me to spend more time with it, however long it takes me, to learn more about the foundation of what's going on at the root of programming. Stepanov is funny, deeply knowledgeable, and I love his contrarian presentation of the book.

A lot of what he's talking about makes my head spin. But a good portion of it is within my grasp. And the thing I've learned over all these miserable years scraping a living from the butt of this prolonged era of American collapse, which I understand how has been happening since before I was born and has just gotten steadily worse... the thing I've learned is that if I point my attention at something for long enough, no matter how obtuse, I will make sense of it. C++ was terrifying a few years ago; now I'm nodding through the opening sections of a video course, waiting for something surprising to happen. I'm deeply knowledgeable about Javascript, Lua, and a bunch of other stuff. And for now, because it's the only thing I can get anybody to pay me to do, as long as there's money available for it, I'm going to keep making websites and hopefully more games, and getting better and better at programming as a discipline, leaning into the torrential wind of our uncertain future, fucking up just about everything along the way but refusing to give in to despair.

If anybody has money or a programming job for me, hmu. Sorry if I haven't been able to do something for you in the last few months. I'm trying to finish this game over the next few weeks and move on to something else, which, at the moment, does not yet exist.

love too not starve in the stupidest country in history