big doings in aliceland. as usual I'm pulled in fifty bajillion directions by this and that, but things are starting to come together in a good way.
soo stockfighter launched! this is something I've been looking forward to for awhile, neat quasi-ctf game by the matasano crypto challenge folks. (gah! I keep forgetting to get back to this, still only halfway through.) so I made a REST client for it, then started on a websocket-based trading dashboard...
screenshot of an ncurses-style terminal gui showing a stockticker, price information, and a crude history graph made with background fill
...aaand decided after a year of writing server code I really wasn't that pumped to play a game about writing a bunch of server code. ah well. their other game, hacking away in C and AVR assembly, should be debuting shortly, and that one I'm absolutely dying to dig into.
I did about half of an advent calendar of programming challenges in rust, t'was fun and interesting, though in pure alice style the goal of "one problem a day for twenty-five days" turned into "bang out twelve problems in three days and then get distracted by something shinier".
the something shinier this time was a simple operating system, also in rust. nothing of note since the code is mostly just from following a guide, but getting my hands dirty in x86 asm for the first time was lovely, and I was actually kind of surprised at how sense-making it all is. I have a habit of being like "omg this thing I never did, it must be so out there and impossible to grok and" *does some of it* "oh this is straightforward" and then feeling silly for thinking it would somehow magically be harder than any other random thing I've done.
I don't quite have the theoretical grounding to actually build an os on my own yet though so, backburner while I do my required reading. seeing this though felt pretty rad, a culmination of where I was at 12, fascinated by C because the idea I could learn to understand on a fundamental level the magic box I lived on my whole life was just the most amazing thing ever:
the text 'hello world!' in the center of a qemu window, with scraps of assembly code and compilation in other terminals underneath
besides all that, a few friends and I have started a groupblog: status 451. In the words of one of our cobloggers:
Topics will be an eclectic mix of math, politics, architecture (maybe buildings if I'm the one writing the post, maybe software if it's Meredith), tax policy, and so forth. The guiding principles of the blog, to the extent that it has any, are that no topics are beyond the pale, and we aim to discuss things at a systems level instead of object level.
my first post went live the other day, about communication between what I've dubbed "emotional harmonizers" and "information sharers". normals and weirdos, basically. it turned out well, quite pleased with the response it's gotten so far. very happy to have a nice place with friends to put words (and their words are very nice).
and on a personal note... after eight years in new york, I'll be moving this month for a new opportunity in the bay area. it's a big change, and I'm beyond excited for it.
happy new year, friends.
so I started writing rust a week ago. very enjoyable thus far. functional goodness and I get to fiddle with pointers?? best of both worlds. the ecosystem is also really fresh, it's so exciting to look around and see all this work that needs to be done! look forward to doing some of it.
part of my "learn the language" first project, I wrote code to do oauth 1.0a request signing. incidentally a great starter project, forces you to touch a lot of disparate parts of a new language--string manip, timestamps, crypto, http, data structures--just briefly, so you get a good overview of how everything fits together. I got annoyed I had to depend on an entire [de]serialization lib just to do base64, so I wrote a tiny thing that does base64. it's called base64. also on nothing fancy, but it was a fun diversion.
besides that I finally got fed up enough with web twitter to start on my long-planned custom interface. with the fun name subtwitter.
screenshot of a webpage containing three columns of tweets, with avatars, icons for common actions, and other helpful information
the core idea is a multi-column layout where, presently, the left column is the unfiltered timeline, right is mentions and direct messages, center is what I've been calling "the feed". the feed is meant to be a fluid thing, with simple controls to quickly combine and exclude lists of accounts, so you see just what you want and can swap things in and out on a whim. I've recently been made aware (as I probably should have guessed) that I'm replicating a lot of functionality from the old usenet readers. so that's encouraging, a sign I am aiming in the right direction.
after that (and all the core twitter features of course), I plan on messing around with neural nets trained on my interactions with the service. lots of data, have lots of ideas. there's some unhinged rambling in the readme where I hash out my goals.
but, philosophically... rather than unaccountable moderation or opaque algorithms, I would like to see services that act as dumb pipe, where endpoints do all the filtering, and users have the freedom to apply or reject whatever rules they see fit. twitter is less than an ideal platform obviously, but the concepts can be applied to arbitrary networks. with all the old institutional filters collapsing, we become more discerning, and with the volume of data we process increasing and increasing, we need tools to help sort through it. this is my initial stab at building an understanding of how to accomplish all that.
also, twistor, ha ha, did I say a week or two? I get distracted by the shinies easily, everything is so interesting. soon.
this site now supports tls. yay! shoutout to the folks at letsencrypt, truly they are doing the work of the goddess.
note that presently git only works over http. alas, nothing I can do until my subdomains are whitelisted. for now I've just set https to git to 403, but if you happen upon a scary browser warning, that is why.
ideally I will have a 1.0 of twistor up and running in a week or two. I migrated this site to a new host yesterday, and setting this server up takes care of most of what I'd need to do for that project.
current project: twistor, a site that archives and makes publicly viewable deleted tweets from politicians, and a small set of programs that enables others to do likewise with arbitrary twitter feeds.
screenshot of a webpage containing a table of tweets by politicians that they had deleted, their account information, information about the tweets, and a search bar