I mean, it wasn't an altogether terrible year.
This was my second full year at Chalkbeat, and it remains one of the best career decisions I've ever made. I don't think we tell young people in this industry nearly often enough that you will be much happier working closer to a local level, in an organization with good values that treats people sustainably, than you ever will in the largest newsrooms in the country.
I did not have a background in education reporting, so the last two years have been a learning experience, but I feel like I'm on more solid ground now. It's also been in interesting change: the high-profile visual and interactive storytelling that I did most often at NPR or the Seattle Times is the exception at Chalkbeat, and more often I'm doing data analysis and processing. I miss the flashier work, but I try to keep my hand in via personal projects, and there is a certain satisfaction in really embracing my inner spreadsheet pervert.
You can read more about the work we did this year over in our retrospective post as well as our list of data crimes.
Blogging's back, baby! I love that it feels like this is being revitalized as Twitter collapses. I really enjoyed writing more on technical topics in the latter half of the year, and I still have a series I'd like to do on my experiences writing templating libraries. Technically, I never really stopped, but in recent years it's been more likely to be on work outlets than here on Mile Zero.
Next year this blog will be twenty years old, if I've done my math right. That's a long time. A little while back, I cleared out a bunch of the really old posts, since I was a little nervous about the attack surface from things I wrote in my twenties, especially post-Gamergate. But the underlying tech has mostly stayed the same, and if I'm going to be writing here more often, I've been wondering if I should upgrade.
When I first converted this from a band site to a blog, I went with a publishing tool called Blosxom, which basically reads files in chronological order to generate the feed. I rewrote it in PHP a few years later, and that's still what it's using now. The good news is that I know it scales — I got linked by Boing Boing a few times back in the day, and never had a reliability problem — but it's still a pretty primitive approach. I'm basically writing HTML by hand, there's no support for things like syntax highlighting, and I haven't run a backup in a while.
That said, if it's not broke, why fix it? I don't actually mind the authoring experience — my pickiness about markup means using something like Pandoc to generate post markup makes me a little queasy. I may instead aim for some low-effort improvements, like building a process for generating a post index file that the template can use instead of recursing through the folder heirarchy on every load.
Splatoon 3 ate up a huge amount of time this year, but I burned out on it pretty hard over the summer. The networking code is bad, and the matchmaking is wildly unpredictable, so it felt like I was often either getting steamrolled or cruising to victory, and never getting the former when I really needed it to rank up. I still have a preorder for the single-player DLC, and I'm looking forward to that: Nintendo isn't much for multiplayer, but the bones of the game are still great.
Starting in September (more on that in a bit), I picked up Street Fighter 6 and now have almost 400 hours logged in it, almost all of it in the ranked mode. I'd never been very good at fighting games, and I'm still not particularly skilled, but I've gotten to the point where I'd almost like to try a local tournament at some point. SF6 strikes a great balance between a fairly minimal set of mechanics and a surprisingly deep mental stack during play. It also has an incredibly polished and well-crafted training mode and solid networking code — it's really easy to "one more round" until early in the morning. I've tried a few other fighting games, but this is the only one that's really stuck so far.
The big release of the year was Tears of the Kingdom, which was... fine. It's a technical marvel, but I didn't enjoy it as a game nearly as much, and for all its systemic freedom it's still very narratively-constrained — I ended up several times in places where I wasn't supposed to be yet, and had to go back to resume the intended path instead of being able to sequence break. ToTK mainly just made me want to replay Dragon's Dogma, which gets better every time I go through it, including beating the Bitterblack Isle DLC for the first time this year.
What did I read in 2023? I barely remember, and I didn't keep a spreadsheet this time around. I did record my Shocktober, as usual, so at least I have a record of that. My theme was "the VHS racks at the front of the Food Lion in Lexington, Kentucky," meaning all the box art six-year-old me stared at when my parents were being rung up.
Some of these were actually pretty good: Critters is surprisingly funny and well-made, Monkey Shines is not at all what was promised, and The Stuff holds up despite its bizarre insistence that Michael Moriarty is a leading man. On the other hand, Nightmare on Elm Street 3 doesn't really survive Heather Langenkamp's acting, and C.H.U.D. has actually gotten worse since the last time I watched it.
Outside of the theme, the strongest recommendation I can make is for When Evil Lurks, a little post-pandemic gem from Argentina about a plague of demon possession. Eschewing the traditional trappings of exorcism movies (no priests, no crosses, and no projectile vomiting), it alternates between pitch-black comedy and gruesome violence. I love it, and really hope it sees a wider release (I think it's currently only on Shudder).
Belle's been studying Spanish for a few years now, and headed to Spain in September to work on her Catalan and get certified as an English teacher there. I joined her in November, and we took a grand tour of the southeast side of the country. We saw Barcelona, Sevilla, Granada, Valencia, and Madrid. My own Spanish is serviceable at best, but I skated by.
They say that when you travel, mostly what you learn are the things you've taken for granted in your own culture. On this trip, the thing that really stood out was the degree to which Spanish cities prioritize people over cars. This varies, of course — the older cities are obviously much more pedestrian friendly, because they were never planned around automobile travel — but even in Madrid and Barcelona, it still feels so much safer and less aggressive than the car-first culture of Chicago and other American metro areas.
Given the experience, we've started thinking about whether Spain might be a good place to relocate, at least for a little while. While I'm cautiously optimistic about the 2024 election cycle, I wouldn't mind watching it on European time, just in case.
After NICAR, I wasn't really sure I ever wanted to go to any conferences ever again — the travel, the hassle, the expense... who needs it? But I am also apparently unable to moderate my extracurricular activities in any way, even after leaving a part-time teaching gig, so: I'm happy to announce that I'll be speaking at a couple of professional conferences this summer, albeit about very different topics.
First up, I'll be facilitating a session at SRCCON in Portland about designing humane news sites. This is something I've been thinking about for a while now, mostly with regards to bots and "conversational UI" fads, but also as the debate around ads has gotten louder, and the ads themselves have gotten worse (see also). I'm hoping to talk about the ways that we can build both individual interactives and content management systems so that we can minimize the amount of accidental harm that we do to our readers, and retain their trust.
My second talk will be at CascadiaFest in beautiful Semiahmoo, WA. I'll be speaking on how we've been using custom elements in production at the Times, and encouraging people to build their own. The speaker list at Cascadia is completely bonkers: I'll be sharing a stage with people who I've been following for years, including Rebecca Murphey, Nolan Lawson, and Marcy Sutton. It's a real honor to be included, and I've been nervously rewriting my slides ever since I got in.
Of course, by the end of the summer, I may never want to speak publicly again — I may burn my laptop in a viking funeral and move to Montana, where I can join our departing editor in some kind of backwoods hermit colony. But for right now, it feels a lot like the best parts of teaching (getting to show people cool stuff and inspire them to build more) without the worst parts (grading, the school administration).
Last Tuesday was my last day at Seattle Central College, and I turned in my grades over the weekend. If nothing else, this leaves me with 10-20 free hours a week. And while I'll no doubt spend much of that time watching movies, practicing my dance moves, or catching up on my Steam backlog, I do have some projects that I want to finally start (or restart) in my spare time.
...is ridiculously busy. Class at SCCC has ramped up, I've been prepping for the University of Washington workshop, and of course I've got my everyday work at ArenaNet as well. In lieu of a more substantial post, here are some quick notes about what's on my plate.
Obviously I've been a little obsessed with RSS the past couple of weeks (get used to it: it'll be everyone else's turn come July 1). Along the way, I've been trimming my subscription list: I've been blogging for more than nine years now (!), and collecting feeds for nearly as long. A lot of those URLs are now broken, which is a little sad. In a precursor to the whole Google Reader situation, if you were on Feedburner, there's a pretty good chance I'm not reading you anymore.
Speaking of things that people don't really do in a post-Twitter world, I was reminded this week that I need to post another set of links--not so much because anyone else is interested, but because between the dismal searchability of social media and the death of bookmark services like Delicious, it's the only way I can be sure to find anything more than three months from now. And so:
I've recently been recommending Zed Shaw's Learn X the Hard Way books for learning a variety of computer languages. I find these books, and the educational theory behind them, kind of fascinating. Shaw himself encourages other people to fork his project for new languages, and provides some advice on its structure:
The way to think of the book's structure is the first half gets them strong, the second half gets them skills. In the first half they're just doing push-ups and sit-ups and getting used to your language's basic syntax and symbols. In the second half they use this strength and grounding in the basics to start learning more advanced techniques and concepts, then apply them to real problems.This is not a way that I particularly like to think about learning--my least favorite part of high school was doing drills in class. But in retrospect, what I hated was drilling things I already understood. I despised sentence diagramming because I already understood grammar--I didn't need to draw arrows above the subject-verb-object relationship. When it comes to new problems, I actually spend a lot of time on simple, repetitive practice, what Shaw calls "getting strong." The same seems to be true of most of my students, and that realization has dramatically changed the way I teach this quarter.
When I started learning bass, someone recommended a really good book on bass technique--not a book of songs, or a book on music theory, but just step-by-step foundation on how to hold the instrument and pull the strings without causing long-term physical harm. I spent hours just running through the most basic exercises: plucking strings with two fingers, then playing across strings, then muting unplayed strings. It was tedious, but whenever I play a looping arrangement (where unmuted strings would create "drone notes") and sing simultaneously, I'm glad I spent the time.
Likewise, I was reminded of this the other night at dance practice while talking to one of the other poppers about traveling. When I first started, I remember asking the teachers in class how they were able to combine movement across the floor with their isolations and waves--when I tried, it was too hard to keep both motions in my head, and one of them would collapse into awkward spasming. I wanted a "secret"--some kind of special technique that would let me skip the hard work. But that shortcut didn't exist: gradually I learned to travel while dancing only by working hard on each component individually and repetitively.
I'm proud this quarter that the examples, in-class exercies, and homework I've assigned for Intro to JavaScript have all been "real" work--my students have learned how to make basic slideshows, to filter and display data from CQ and the World Bank, and even how to imitate Paint.exe using canvas. I hope that they'll be able to leave the class and talk about what they've done in interviews, or use them as jumping-off places for other projects. But more importantly, I'm spending each class with students typing along with me, giving them feedback and drilling the basic skills of reading and writing code. They're learning the hard way, and so far, it seems to be working.
I'm writing from our new home, Seattle! We arrived at our new apartment yesterday, after a long, six-day road trip across the country with the dog and the cat in the back seat.
Turns out there's a lot of country between the two coasts. I wouldn't necessarily want to do it again, but it was neat to drive through parts of the United States that I'd never seen, like the deserts of New Mexico or the overwhelming flatness of Oklahoma, and to revisit a few, like my birthplace of Lexington, KY.
In any case, now we're just settling in, getting to know our new neighborhood, and waiting for the shipping containers to arrive with all our stuff. Regular blogging should return soon. Thanks for your patience!
This weekend, Belle and I got married. It was a small, homemade, personal kind of wedding. Among the crafts we made was a "photo booth" consisting of my laptop running a bit of custom ActionScript and a box of very silly props. Unfortunately, we didn't have power and I'm not sure I had the screen saver all set up correctly, so some people may not have had a chance to take their pictures with it before the batteries died. If you'd like to give it a shot, feel free to download and install the Official Nerds Get Hitched Photo Booth (works on Mac or Windows, requires Adobe AIR). It'll take four pictures of you, then save them to a folder on your desktop. There's no quit button (it's a kiosk), but you can hit Escape to leave full-screen mode and then close the window.
This is a great case of what ActionScript (and the AIR platform that Adobe built out of Flex/Flash) does well: pair a better version of JavaScript with a comprehensive runtime library for exceptionally fast, easy multimedia production. I procrastinated on this project like crazy, but in the end it only took me a few hours of real work to create. Sure, we could have paid for software to do the same thing, but if it's so simple, why bother? And this way it's all under our control--it looks and acts the way we wanted it to look.
Anyway, feel free to install our photo booth and send us a picture. And thanks to everyone who came out to our little wedding celebration!
IT'S ALIVE.