alice maz



I wrote a tour through the general principles of programming, as something of an art and something of a bucket of hammers. I muse on learning styles, knowledge graphs, the contingency and interplay of systems, and the future of the "software engineer": how I think when I think about programming. I also give a working idea of abstraction, debugging, and coin the term "jenga pagoda" for the layers of systems we build to hide other systems

it's been awhile! crazy couple years, huh? things have been pretty turbulent for for me, but I'm doing my best

2020 was really exciting! everything had a sheen of change and newness. going out in the world, it felt like everything was on the brink of becoming something completely different and unexpected, every day. I don't know if I'll ever have that same feeling of wonder and excitement as I did in march, when the world caught up with what we knew online. biking in deserted streets, exploring abandoned places, waiting for something to happen. it really was kind of magical

besides that, I was working like crazy the whole year. I was reorganizing my git repos the other week, and (at least based on a naive wc) I wrote more code in 2020 than the entire rest of my career combined. and that's including several months devoted exclusively to research. I learned more in 2020 than I ever did before too... despite how it ended, that feeling of having to hit the ground running, having to do everything and handle anything... it taught me so much, not just the things I did, but what I'm capable of

unfortunately things took a turn the next year, and for a variety of reasons, I had to resign from sylph in early 2021. within a few months I also ended my relationships, and with no reason not to, decided I may as well leave austin too. the first half of 2021 was by far the darkest period in my life, and honestly I'm still sifting through the emotional wreckage

but, I'm optimistic. I moved to seattle in the second half of 2021, and like it quite a bit. I've been doing just enough freelancing to pay the bills and no more. I've been calling myself "virtuously unemployed." it's the first time I've been single in half a decade, which affords me a certain degree of freedom that I've missed a lot. I've been traveling more than I ever have, and expect to a lot more. I've been reading a lot. I'm not working on anything exciting, and I won't have the spirit for "real work" back in me for awhile, but I'm looking forward to what the future holds

anyway! last week I finally wrote a thing I've been meaning to for awhile. a sort of willy wonka tour through what I consider to be the fundamentals of programming, aimed at providing context and background to new-ish coders familiar mostly with the rote mechanics, but who haven't built up their feel for the lay of the land. the way I think about things may well be too idiosyncratic and personal for other people to find much utility in. but, we'll see!

aside from that, I started reserializing a thing I wrote over a decade ago, a europa universalis narrative after-action report titled pine bamboo and plum. starting with the red turban rebellion, and ending about 150 years later, I basically try to set up a stable "concert of china," with the restriction that there is no "westernization," and instead the crucible of competition and conflict leads to a china that never "falls behind" europe at all, ushering in a bipolar geopolitics from the dawn of the sage of exploration

it ends abruptly, albeit on a high note, before I could put my plans into full effect. and I likewise had to stop reserializing it when my life abruptly exploded last year. but I would like to finish that, probably all at once, with an epilogue to tie things off

oh, I also went to hereticon in january! it was easily the best trip I've taken, maybe ever. a veritable paradise for an extroverted nerd. I feel like I ran into 50 friends I hadn't expected to see, and made like 100 more. I talked myself speechless (voiceless?) every day and night, then drank tea with honey and lemon all morning every morning to scrape together enough voice to do it all over again. I might write more about it at some point, it was just so so so good. I need more of that energy in my life, being around people with weird interests who can share them at length, who don't need tons of context to keep up with my insane ramblings about my own pet topics, and who are just super fun and super optimistic about what we are capable of doing

it also inspired me to dust off some other things I've wanted to write, things I felt I couldn't do proper justice to while devoting all my best brain cycles to the startup. I want to write about classical chinese philosophy and its applicability to the present, about narratives that drive society, all my big historical ideas I'm so fond of

2021 was hell but I'm doing a lot better now, and excited to see where things go now. everything feels so full of light

I'll post the programming thing in a couple days. let's work hard and have a great year!

I wrote a bit about sylph's business strategy: where we're headed. forgot to post it here when I wrote it aha. been busy lately! we got first money in so I'm on break from actively fundraising for now. the plan is to spend as much time as I can programming until we get to launch, taking a few more safes as needed or offered (so, not "actively" raising, but still raising lol), then once we launch shift most of my time to sales, marketing, and just building connections in the bio space

this post was fun! something clicked while I was working on it that I can't be a programmer handling business concerns on the side, like I was kind of sheepishly presenting myself as. trap of the technical that assumes the nontechnical stuff just falls into place on its own. now I see my role as the business guy who also can program. it's a really fun change of perspective, and I've been learning a ton as I come up to speed on that whole... half of doing a startup! right now I'm heads-down working on the sylph backend, but once we get to launch, I'm going to be doing the whole gamut of sales, marketing, recruiting, strategy. with viv on product and bio, sig on math, and all of us sort of fractional eng, it ends up being a really balanced (albeit unconventional!) team

one thing I had to cut from the post, which I want to elaborate on soon, is hiring. our way of working is strange, grounded in mathematical formalisms that will probably be seen as cutting edge a decade from now, but are virtually unheard of among software types presently. our way of thinking is stranger, and the perspectives and ambitions and values we share make communication inside our bubble easy, but outside of it quite difficult. our early hiring, at least on the technical side, will depend on a willingness to stew in our methodologies and perspectives to an extent that will never wash off

this has its pluses and minuses. the risk is how hard it makes hiring. we can't just recruit, we need to indoctrinate. we don't want to just have a company, we want an ecosystem surrounding it, a culture. we expect our first recruits to be interested in us in particular, seeing the kind of thing that we are and wanting to become like us. we offer a different way of looking at and interacting with the world, a new practice of engineering that gives those who use it absurdly disproportionate leverage. some who join us will work directly with us long-term. others will start their own organizations after some time, or float between affiliated groups. but we'll stay together, in some form or another

I suspect that our best early recruits will be young people, probably with a history of not fitting into institutions, frustrated with the shape of society, ambitious at heart but adrift. some people we know already, some people we don't know yet but who know us. people we can give the tools to inscribe their passions on the world

all rather grandiose I admit! of course every startup wants to say these kinds of things. unique team, mission, learning opportunities, blah blah. everyone thinks they're different. we, and I believe this with my whole heart, actually are. time will tell whether that's true

sig wrote a post about the mathematical challenges facing systems biology and the techniques sylph is using to solve them: an overview of paracelsus

this week we announced sylph! it's the systems biology startup I'm cofounding with viv. you can read our full announcement here: announcing sylph

basically, systems biologists model the behavior of biological systems as differential equations, we're making an optimized solver for those equations and providing a public web api plus specialized client software for using it. we've been working hard on this for a while, so it's really exciting to start putting it out into the world! we're in the process of raising seed funding now, expecting to release a v1 early next year. sig and viv will have their own posts soon about the math and the longterm vision, so keep an eye out for those

so, the core mathematics system is all haskell, but we're writing most of the web programming/business logic in scheme. I'd never written a lisp before, but I'm a devotee now. scheme is by far the best language for nonspecialized tasks I've used so far, assuming you're working with a small team you can trust. (in a large org, I'd probably prescribe ocaml for things that are complex in concept and golang for things that are complex in implementation.) at the very least it's now the language I want to use when I can use whatever I want

this does however put us in the position of having to write a lot of our own tooling. and by us I mostly mean me. this is the price I pay for taking "infrastructure" as my title! I literally started in scheme by cramming sicp in a day and a half and then immediately writing a haskell-style build system for it. that I'll release that once I clean it up some! plus a bunch of other things, mostly highly opinionated tools intended to make working between scheme and haskell as seamless as possible. we know what we like at least

more personally... as we approach the end of the year, it's natural to reflect. this was without a doubt the most difficult year of my life, but also the best year of my life. it's impossible to explain to anyone outside our circle, but the three of us were tested, and the bond we share is permanent now. I'm so optimistic for the future, more than I've ever been. we're going to do so much together, we're going to light up the world. I love you. I love you. here's to 2020

I wrote about artificial intelligence, early germanic law codes, distaste for school and cops, my perspective on history, and some personal stories: alien intelligences

my first site at this domain I made when I was still doing twines, and shortly after I started freelance webdev. the background was black festooned with dark gray mojibake. the text was white and yellow and sat in bright pink boxes with rounded corners that floated into different configurations based on the screen dimensions. there was a page with embedded tweets talking about the semiotics of the fav that had buttons to let you fav them. I wrote the whole thing in a ratking of angular and didn't even respect the platform, using various means to break its abstractions for my own convenience. I was very pleased with myself

my second site at this domain I made after I had gotten fed up with the web ecosystem and become enamored with the image of the unix graybeard. I was getting into erlang and c, I switched off debian for freebsd, I had developed philosophical objections to javascript. I wrote a static site generator as a gigantic makefile that performed a three-stage compile using sed and m4 to replace text in blocks and stitch blocks into pages. I used monospaced fonts because computer and had a horrible three-column flexbox layout that was too wide on normal monitors and too narrow on phones. the makefile built a sitemap and atom feed, and a page where it displayed itself, which required contortions to write regex patterns that would not match their own definitions. I was very pleased with myself

this is my third site at this domain. I use arch because it's good enough. I'm switching to void soon so I don't have to depend on gnu and switching to genode later so I don't have to depend on linux. my primary programming languages lately are scheme and email. I generate the site out of templates with a hundred lines of scheme. my stylesheet is seventy lines because most browser defaults are fine. I use generic sans-serif because that's fine. I don't use javascript because why. I make everything one column because I can have a small margin on phones and big margin on not-phones and never have to even think about layout. I use hrs as dividers and don't even style them. I have one page where I need to put two things next to each other and I use a table. my only extravagances are fleurons and em dashes. I am very pleased with myself

I will try to keep this updated this time! but I know my track record is not the best. lots going on lately, very excited. posting something nice in a few days!