About
Hi, I’m Shriram Krishnamurthi. I live in Providence, RI, USA, and I work as a professor in the computer science department at Brown University. My other Web presence is my work site.
I’ve programmed in Scheme and Racket for most of my programming life. I love parenthetical syntax. Many people don’t. I understand why, and I’ve worked on alternatives for them, most notably the Pyret programming language. But left to myself, that’s how I like to program.
Parentheses sometimes also feature in literature.
This site is generated using Scribble, the Racket programming language’s document generator. Scribble uses a document format carefully designed from first principles to solve hard problems that most other document generators stumble on or ignore (and still stumble on). Since I hope to maintain this site for a long time, I don’t want to pre-emptively rule out having the full power of a programming language and well-designed document format.
Ironically, Scribble is itself not primarily a parenthetical language.
The current typeface is Frank Grießhammer’s Source Serif Pro, provided free by Google. On the one hand, I like that it has proper apostrophes for contractions, like in “I’m”—
it’s surprising how many typefaces used on the Web don’t. On the other hand I’m not entirely satisfied with its weight, so it might change. The current color scheme is taken from Color Hunt.
The Twitter logo is from Twitter’s brand resources.
I copied the dingbats from Fancy text tool.
Thanks to all of them!
Au contraire!
I blogged for a while from Notes from a Sticky Wicket. Somehow, the blog format didn’t appeal to me, as I discuss below. I was also disappointed that Blogger didn’t seem to be getting much better. So when our daughter was born, I felt that was the perfect moment to stop.
For years I wrote numerous answers on Quora. Granted, those are answers, but I think that’s a format I like: to respond to prompts. However, Quora has numerous problems and I’ve grown very distant from it.
Over the years I’ve also written down a few things on my university site. But it’s always been halting and uncomfortable, both because it’s my work site and because I couldn’t settle on a medium or infrastructure. But it’s closest to what I want.
I’m not very good at embracing packaged things. I learn best by deconstructing things and explaining them to myself in my own terms, then putting them back together.
For instance, when Joe Gibbs Politz and I taught a programming languages MOOC, we could have easily gone with a bunch of packaged solutions. But part of the reason we were running it was to really understand this new medium. Every package imposes its own ontology and restrictions, and often you don’t even understand that it does! So we (mostly Joe) cobbled together a half-dozen different systems to assemble the course we wanted.
The same way, using one of those systems is bound to impose various restrictions that I may not want and may not even realize exist. Hosted blog sites have their own driving logic. They offer certain freedoms but not others in terms of design. They may or may not let you know your traffic. They decide how and where to plant ads. They decide how to monetize. You surrender control over all these things.
Still, if I were doing this for publicity or money, hosted sites have a lot to offer. They optimize for search. They bring in readers. Some of them pay you. But I’m not doing for either of those things. Rather, I’m doing this to explore a medium. I can’t learn the medium if I let someone else tell me what it is.
There’s also the matter of permanence. Many of these sites are flashy today and boring tomorrow, no longer innovating and declining in quality to find new revenue sources once their flash is gone. And that’s in the good case. Remember Posterous? Yeah, nobody else does, either. Burned by that, knowing better than to rely on a cool startup, I put a lot of energy into carefully curating posts on Google+. How do you think that worked out?
Finally, hosted sites can be at odds with your goals. Once they “land” a reader, they’d like to keep them on-site for as long as possible. Notice how they’re always recommending someone else’s production (whether articles on Medium on videos on YouTube)? I love to signal-boost work that I enjoy. But some of these juxtapositions are silly, and others can be offensive. You realize it’s a realm of mutual theft: other writers want to write headlines to take readers away from your writing, and vice versa. Is that the kind of content anyone should really aspire to produce?
No, it’s not!
I really don’t care for blogging. The key part of a blog is the log: a serial, temporally-indexed archive. I think the temporality of blogs is misleading and wrong. The idea that your site would be structured in the order of first authoring strikes me as completely absurd. Have you ever tried to read a book or watch a movie structured around such a premise?Surely it has some entertainment value as a post-modern statement, but no more than that. Admittedly, sometimes some of Don Knuth’s literate programs can have this flavor—
and can be just as hard to make sense out of. I get it: it’s easy, it’s convenient—
it doesn’t require thought. But one of the values that content creators provide is that they curate. Like the author or movie-maker, I intend to order this content into a sensible form. You may not like that order, but surely you can’t like the dis-order, manifesting as a fake order, of a blog any more. (And if you do, my loss.) Dates aren’t just about what you see when you visit a site. They serve another useful function. People want to know what’s new. They want to follow for updates. But still, these dates are about convenience, not about establishing a ground truth. So I’ll be thinking about how to reconcile undated content with the dated updates that blog feeds use.
As a litmus test, I consider anything that puts dates in filenames and URLs as broken: the date when a posting was begun is essentially irrelevant to its state (after possibly several revisions) several years later.Unfortunately, a topic like the structure of URLs is just the sort of thing that can bog me down. Dates of creation, posting, and revision are metadata, and no one meta-datum captures all of that.
For a while, I seriously considered the idea that each posting’s URL is just, say, its SHA-1 hash. Just like locations as names for values in a computer’s heap, or cell coordinates as names for values in a spreadsheet, automatically-generated names would certainly save having to think about names! Each new version would have a different hash and a different page, and version control would be exposed from the outside. I haven’t implemented it, for two reasons: I don’t understand all the implications of not having human-readable URLs; and I’m not sure how much I want to keep every archival version online. But, I also haven’t given up on this idea entirely.
I’ll continue to use the term “blog” simply because it’s become synonymous with “publishing articles on-line”. I’ll probably also expose an Atom/RSS feed, because people expect that sort of thing. However, I’m doing this in part to understand the medium, not to adopt a convention. This isn’t really a blog: not at all.
Humberto Ortiz-Zuazaga pointed me to a lovely piece by Maggie Appleton, A Brief History & Ethos of the Digital Garden. This not only introduced me to the term “digital garden”, which is what I seem to be trying to cultivate, but also provided a typology that I found useful and thought-provoking. I recommend reading the piece for a perhaps better articulation of my thoughts.