Last year I had a filling on my hindmost bottom-left molar replaced. While the procedure itself took mere minutes, it brought along personal concerns that lasted for months afterwards. Here, then, is the article I wish that someone else had written on the topic, and I hope it’ll prove useful to some future web-searcher.

Before I begin: Everything is fine! Nothing bad happened! This article chronicles my experience with the new filling and a couple of worries I carried for a while after the procedure, and how they at last met thoroughly non-disastrous resolution.

Early last year, an x-ray showed my dentist that my oldest filling — installed around 1990, many dentists ago — had worn down enough to form a little pocket of exposure between itself and the tooth surface, making a cozy hideout for destructive bacteria. I would need to have the filling replaced, and so made an appointment for a couple of months later.

Friends and the internet both figured that replacing a filling is always a cinch, as opposed to having a new filling installed. Alas, I found this not quite accurate to my situation. Perhaps the old filling’s age led to the discrepancy of expectations; the dentist did imply that its ancient amalgam represented some truly archaic dental tech, especially compared to the new-hotness composite he planned to press into its place.

Whatever the reason, the procedure ended up about as involved as repairing a previously unworked tooth: the dentist presented the long-needle novocaine, then the drilling, then the filling. The middle part wasn’t agonizing, thanks to the first part, but it was rather unpleasant, dancing just on the edge of outright pain — just like it felt when that now-worn filling had first gone in. Nothing for me to do but wait it out, and in time the dentist dismissed me with the first real novelty of the day: I could go eat and drink anything I wanted, right away! I liked this new dental technology better already, and immediately let myself enjoy a calming hot coffee.

This brings us to the start of the mild worry phase regarding this new filling, which would last for much of the year. I attended a gathering at a friend’s house that same evening, where I enthusiastically crunched down on a snack, and it hurt. Oh no! Had something gone terribly wrong? Sitting on my friend’s couch, I frantically thumbed through internet medical advice on my phone, and found a few articles suggesting that this sort of dental surgery can leave the salient nerve-endings traumatized long after the local anesthetic has worn off. Pain from bite-pressure, these pages advised, is normal for a while; I should talk to my dentist only if it persists after a month or so.

A month! Well, I hadn’t expected that. But, I could chew on the other side of my mouth for a while, and lord knows I always favor solutions involving ignoring the problem and hoping it goes away on its own. And indeed, the pain persisted for the rest of April and well into the summer, tapering off very gradually. The healing at least seemed to progress in the right direction, however slowly, so I just left it alone. Today, nine months after the procedure, I can’t clearly remember when biting with that molar last hurt, letting me chew with my usual happy carelessness ever since.

This left me with the other concern: my tooth had changed shape, in a way I didn’t associate with my old fillings. At my friend’s house after the procedure, once the numbing effect of the novocaine had worn off, I could feel with my tongue how the tooth had some sort of new, sharp edge to it. I couldn’t see anything obviously strange in the mirror — but when I flossed, the new tooth-edge would fray and sometimes break the thread.

Given the nature of the new filling’s casus belli, I inevitably worried that it had somehow gotten all warped or something, and now lay pockmarked with the very same germ-craters that led my dentist to drill out the old filling. As with the other trouble, I bravely faced this down by doing nothing at all and waiting for my next regular dentist appointment to come ‘round. When it did, I told both the hygienist and the doctor about my concerns, and they listened patiently, and after their respective examinations had nothing to report except that everything looked fine.

That was all I needed to hear! I can still feel that new edge while writing this, but nothing about it worries me any more. And that’s the end of the story about how I had an old filling replaced and then worried a little about it for a long time afterwards, until at least receiving expert advice to stop.

A photograph of green and snow-capped mountains.

I greet the new year with the release of Bise, my holiday-break project, and the latest entry in my “wind series” of highly specific little digital tools (and for which I should probably make a dedicated web page one of these days). Feed Bise a bunch of recent webserver logs, and it prints out a tiny little report of how many discrete humans have visted the website regularly over the last couple of weeks. As such, it’s a readership reporting tool — designed with blogs in mind — rather than an overall web-traffic analyzer.

Bise (named for either of two cold, dry winds of France or Switzerland) can print its output as JSON data, or as a human-readable table that looks like this:

December 14 - December 28
Source                 Uniques Regulars
---------------------------------------
All visitors              2489      260
RSS feed                   305      147
JSON feed                   10        1
Front page                1664       47
From Twitter                31        6

In this table, “Uniques” means the number of unique and probably-human visitors according to that row’s criteria, and “Regulars” means the number of probably-human regular readers, those who have visited your blog more than once over the two-week span Bise considers. (It counts a repeat visit as “regular” if at least a day has elapsed between that visitor’s earliest appearance and their most recent one.)

Each row represents a user-configurable report, built on simple pattern-matching tests against the last two weeks’ worth of server-log entries. The five reports seen here ship with Bise as its default example configuration.

From the above example output, then, we could consider our regular readership as around 200 people, adding the number of apparent RSS subscribers (147) and repeat front-page visitors (47).

Or we could more generously call it 260 people, looking simply at the number of visitors who’ve dropped by any part of the site more than once. This latter number would include, for example, someone who found a particular article via a search engine one day, and then returned to the same article a few days later for reference, but didn’t explore the rest of the blog. Bise leaves the question of whether to consider such visitors “regular readers” up to the user’s own judgment.

Bise wants to run regularly, perhaps in a weekly crontask that sends you its output in email. By limiting its considered data to only the last couple of weeks, Bise gives you a rolling summary of your blog’s active readership, rather than a strictly cumulative view.

So: why did I write yet another server-log analysis tool, when so many free, stable, and feature-rich ones already exist? I have, after all, analyzed Fogknife’s visitor logs using AWStats since 2015. It does a fine job, especially for getting a big-picture view of a blog’s overall traffic!

But, as a numbers-obsessed blog author, I found AWStats too general a tool to give me certain very precise statistics I sought. These included not just raw hit-counts on my RSS feed, but a notion of how many unique humans this represented — including those subscribed indirectly, through aggregation services.

Furthermore, I know that much of my readership doesn’t use RSS, instead manually visiting the front page from time to time, checking whether I’ve added anything new. Others primarily swing by via the tweets (and their automated Facebook-echoes) I post for every new article. I wanted to track these non-RSS-using readers too, and to further differentiate between one-time visitors and those who keep coming back to check for new content. This latter number especially I found intriguing and elusive, but none of these desires could be met by AWStats or any other general-purpose server-log analyzer.

Were I a wizard with Google Analytics, I suppose it likely that I could build something to meet my needs there, albeit using some tortured pile of script-driven redirections in order to somehow allow it to work with the blog’s RSS feed as well as its HTML-based content. But that sounds like a very horrible idea, so I made Bise instead.

I have only started using it myself, of course! I look forward to seeing how it wants to be used, and then doing my best to develop and tune it in the indicated directions, as time allows. Do follow its progress on GitHub, if so driven, and of course I welcome any comments or questions about Bise via email or Twitter.

Share or reply to this post on Twitter!

To my surprise, I see that I haven’t written a year-end review post here since 2014. I can guess why; my renewed blogging efforts were still only weeks old at the time, so that post served as initial public announcement for much of the work mentioned therein. The Decembers since then have all seen their respective years’ project announcements already happen, all filed neatly in the archive, so why repeat myself?

But as I wrote last week, I need to push myself harder to not just acknowledge but actively maintain paths to all my past work, and not just shout Look at this! before flinging each just-hatched project over my shoulder and diving into to the next one.

And, yes: I feel so bruised and shaken from 2017, absolutely the first year of my adult life where ending it within a still-intact civilization feels noteworthy. I think we all deserve a little self-indulgent horn-blowing.

Please grab a celebratory kazoo, then, and play along as I recount what work I managed to ship this past year.


One more Play of the Light episode. I relaunched my video-game podcast late last year as an interview show, having conversations with people who love certain games about why they love them. In the first one, I interviewed my wife about Marvel Puzzle Quest. In the second one, I talked with four long-time friends about how they play single-player CRPGs together. That latter interview happened two days before the 2016 U.S. presidential election, and that hurled whatever regularly scheduled podcast-production energy I might have accumulated into the gray sea. But I did get around to editing it and putting it up a few months later, at least.


My final IFComp as lead organizer. After four years of running it, I have passed along IFComp’s lead-organizer role to Jacqueline Ashwell. Stephen Granade offered me the leadership position after the 2013 competition, just as I finished a very trying year with family matters. I committed myself to the project fully, partly as therapy, but also because I really did have a vision for the comp. I dare say that — with help from many volunteers, and all the years’ participants — I pulled it off.

I plan on sticking around as IFComp’s tech lead for the time being, continuing to operate the web application that runs at ifcomp.org.


IFTF’s first full year in public. Inspiration for this IF technology nonprofit came directly out of multiple conversations I had with IFComp’s unofficial advisory board, as well as its volunteer legal counsel, during my first couple of years organizing the event. We filed it into existence in January of 2016, and unveiled it that summer, so 2017 stands as its first full calendar-year. I’ve served as IFTF’s president throughout this time.

We’ve had a great year. Every program but one has met its goals for 2017 (and we have a plan for bringing that straggler back ‘round for 2018). Our first topic-focused fund-raising drive exceeded expectations, raising thousands of dollars in IFComp support, and we successfully assumed stewardship the IF Archive — something I wanted to be a launch program two years ago, but which we (correctly) decided at the time to delay. And we just this month opened up a little merchandise shop in celebration of this!

I’ve lately and often thought that IFTF, due to outlive and outshine any of the brief-burning projects towards which my attention defaults, will stand as one of the best things I’ll have ever helped create.


Alisio and Bayamo. These two springtime projects, while unrelated in purpose, share a common source of energy.

During the first few months of the year, I had an opportunity to ascend my consulting business to a new level, taking on some truly door-opening new clients. This carried a price: I would have to dedicate myself wholly to this endeavor, abandoning my freelancing stance, and instead establishing and then running an honest-to-goodness consulting firm, probably with multiple employees — something larger than myself in every sense. In other words: doing what I did with co-creating IFTF, except with this set of easily sellable skills and knowledge I didn’t necessarily care about, not in the way that I cared about preserving and supporting interactive text art.

After weeks of conversation with friends, family, and colleagues, I ultimately decided to bail, even though this involved ending multiple freshly inked agreements with these would-have-been clients. The brief pain from this so quickly blossomed into such a relieving field of energy and inspiration to focus on things I cared about that I knew I chose correctly.

Alisio and Bayamo, the first two projects in my “wind series”, represent the first tangible fruits of this new personal and professional definition that I found for myself. And, yes, I have a couple more of these in the oven, but of this I shall speak no more tonight.


No new Bumpyskies development. A year ago, I thought that further developing Bumpyskies, maybe even expanding it into a commercial enterprise of some sort, would take up much of my 2017. In fact, I barely touched it.

Frankly, I feel pessimistic about spending a lot of time and attention on a project that depends so much on American tax-funded climate-science data sources. I love that Bumpyskies works as well as it does — I’ve managed to make use of it myself several times, this year — and I hope that reality will change such that I’ll feel more confident about further developing it, some day.


A talk about lessons I learned making Bumpyskies. I made a ten-minute version, presented at !!Con in May, and a twenty-minute version for The Perl Conference in June. In retrospect, a mistake: making the shorter talk was a pleasure, but then trying to flesh it out by another ten minutes for a subsequent conference felt terribly frustrating and painful. I don’t regret pitching both conferences, and I think that both talks ended up pretty good — but I should have limited my speaking to one or the other.


A proper games-writing portfolio. Yes, only last year did I assert that all my ambition for writing professionally about video games had long since passed. Well, I wrote from a time deepest in the grip of Bumpyskies-development fever. Things have shifted!

I made a note a few months ago to pull some sort of games-writing portfolio together. When a friend earlier this month retweeted a certain game-news website’s want-ad for editorial assistance, I felt such a magnetic pull to the idea that I finally sat down and made it happen. And I did apply to that job, and I don’t hold my breath about it, and I know that further opportunities won’t come calling just because I made another webpage. But at least I feel finally dressed to go out looking for gigs, now.


Version 1.5 of Plerd. I continue to grow and tweak and share the software that powers this blog — as well as a handful of others around the internet, some of which aren’t even by me! Plerd remains my most successful traditionally open-source software project, and I take a very subtle joy in continuing to develop and maintain it.


A new title for this blog, followed by sixty-three new posts. I have no idea about correlation versus causation, but starting in January of 2017 — the same month I gave it a more interesting title than “jmac’s blog” — Fogknife experienced a surge in readership. Certainly my audience remains quite cozily modest in size, but according to my nerdy little visit-tracking tools, the thousand-ish monthly unique visitors I’d see quite consistently after my 2014 year-end post suddenly doubled this past January, and has doubled-and-more-again since.

Well, I’m glad you are all here. Here’s to surviving another year together, and making stuff when we can manage it.

Share or reply to this post on Twitter!

Sensing the passage of the blessed and narrow holiday-assisted window in between old projects wrapping up and the necessity of bearing a swath of new ones, I spent the entirety of last Friday revisiting some older web content I’d let fall into sad disrepair. I expected some attention upon these websites by certain people I’d like to impress, you see, and so cleaned up the place. In retrospect, the fact I needed a motivation like impending guests seems quite selfish, my present self begrudgingly getting around to honoring an implicit but long-ignored contract established by my past self. He had poured so much time, attention, and talent into these sites under the expectation that they’d last for more than a few dozen months, and today I feel like I really bungled the hand-off.

To wit: for much of this past year, the navigation links on The Gameshelf, my shared and now-retired ludological blog and video series, just didn’t work; articles older than the handful on the front page had essentially vanished. Long story short, this happened because the open-source CMS it uses became abandonware almost as soon as I eagerly adopted it several years ago, and I must now actively apply programming and system-administration knowledge to keep the increasingly system-incompatible thing propped up via handwritten patches. My semiconscious dismissal of yeah, but they’re old regarding the several hundred stories this made invisible allowed me to ignore the problem for a long time. But I finally put a little R&D into it, and as of Friday you can once again nose around the whole site and its ten-year history.

Similarly, all the constituent audio files of Play of the Light, my not-officially-retired conversational podcast about games, had been wholly inaccessible ever since Dropbox abruptly deactivated all its user accounts’ public-access directories, an act that broke countless media URLs all across the web. This broke image links all over Fogknife too, and I took the trouble to bang out some Perl code within hours to fix that, since this blog retains the favor of my current attention. Not so for the podcast, which I let default into the yeah well it’s old bin until now. On Friday I took the trouble to shuttle the whole lot of them over to my personal Linode, and manually updated all the posts’ URLs while listening to other peoples’ podcasts.

It would have seemed strange to say this at the turn of the century, full of assumptions about the new digital permanence, but I have since come to accept that the default mode of the web is forgetting. This applies equally to every source, whether corporate new-media giant or scrappy open-web homesteader. Yes, social-media sites that today seem to host the majority of new online work will, when their fortunes change and they go dark, pull all user-submitted content down into the gloom with them. But we cannot lay all the blame there! Anyone who manages their own content — myself included — knows how quickly websites can can start to decompose as soon as we no longer give them our active personal attention.

Sometimes we change hosting providers; sometimes we change focus of interest. Sometimes individual bits and pieces of our multi-dependency setups stop working, as with Dropbox with my podcast, or my old blog’s CMS. Sometimes we run out of time for our online projects, and sometimes we straight-up die (and don’t leave behind clear digital preservation instructions). In every case, our older online work becomes a ship with no pilot, staying both online and discoverable for no longer than luck allows. The moment either its technology or its search-engine accessibility fails, it all vanishes in utter silence.

And everyone who writes online has a sense of this, I think, making it far too easy to take a shrugging oh well attitude to the thought of one’s own work sinking away forever, even though we cared so much about it when we made it. Eh, it’s old, it’s not me anymore, we tell ourselves. As if we take our definition only from what we’ve written in the last year or two! As if we harbor some sort of resentment towards the voices of our younger selves.

I know that I sometimes do feel that way, perversely. It’s the easier route, certainly, to keep our eyes locked to the future, and let all our past work succumb to gravity! Pushing back against that takes real and conscious effort, at least a little bit applied at regular intervals. As this labor doesn’t feel like making anything new and worth announcing, it can be hard to summon the necessary attention for it.

And yet I do feel its important for everyone who makes things on the web, and who claims to care about their work, to take that sort of upkeep seriously. Our past selves poured their passion into this work with the expectation that their future selves would at least care enough about it to preserve it — or, when necessary, to bury work we truly want forgotten with dignity, scrubbing the web clean of broken links and outdated references.

I’m happy to have given my past self this little Christmas gift, in retrospect, and I humbly hope my future self will remember the favor and repay it in kind.

The title of this post refers to this timeless poem by John M. Ford.

Share or reply to this post on Twitter!

I’ve worked as a full-time freelance software consultant for around ten years, and I still don’t feel like I’ve solved the problem of how best to bill for my labor. I don’t think an hourly rate, with its built-in time-tracking overhead and its frustrating disconnect between the value of my time and the value of the deliverable, always represents the best approach. And yet I keep returning to it, however begrudgingly, in part because every client understands it. Today I use a Mac app called Timing to track my billable time, finding it the best approach to mitigating the pain of this chore, if I must continue doing it.

I began my career with a naive time-and-materials billing style, declaring a single hourly rate and billing with strict adherence to it. Those with any experience at all with this sort of thing will know why I started casting around for other billing strategies not long after. At one point I got the flat-project-rate religion, thanks to the persuasive arguments of Breaking the Time Barrier, a book that well understands how strictly hourly billing can so easily feel off-balance between work performed and work billed. But that blew up in my face! Unpracticed with drafting up larger single invoices than I’d ever created before, I ended up losing money on multiple projects, falling into painfully awkward situations with both clients and subcontractors. It burned me badly enough that I will probably never attempt project-rate billing again, at least not as my default stance towards new work.

I’ve also experimented with billing where I block out a whole week at a time and declare myself dedicated to the client for that whole week in exchange for a delightfully round-numbered invoice. This works well enough that I continue to keep it in my toolkit for those rare times when a project really does require full-time-equivalent attention for that long. My attempt to permanently “candy-stripe” my calendar into a repeating cycle of client-dedicated weeks didn’t work, though. In this scheme, Freelance Client A got the first week of every month, my nonprofit got the second, then Freelance Client B, and then personal projects enjoyed up the final week-and-change. A fine idea in theory, and I don’t regret trying it — but the lack of flexibility led me to abandon it after only a few laps. Having even only a few clients (and treating myself as one of them) requires the ability to switch contexts with more graceful speed than this plan easily allows.

The most comfortable billing pattern I’ve found is the sort of monthly retainer agreement where the client agrees to pay a pre-arranged amount month after month, and I do my best to deliver enough value to the client that they feel they get their money’s worth every time. At regular intervals — every six months or so — we revisit this arrangement to extend it, adjust it to the satisfaction of both parties, or just cancel it.

This sort of pseudo-salary brings the benefit of removing surprising variance from one’s monthly invoices, but it rolls me back into the need to track time. I still need to document my work for the client’s sake, and I also must keep the ability to justifiably claim “overtime” on months with an unexpectedly heavy work-load. Pair this with the fact that I have at least one client who has turned down all such retainer proposals from me, preferring the uncertainty but simplicity of good old hourly billing, and I find myself unable to put away my time-tracking tools.

Which brings us to Timing, and why I like it. What frustrates me so about all the timing tools I’ve used before this one? In a word, overhead. I must always dedicate a running sliver of my attention to starting and stopping that timer when appropriate, keeping it up-to-date with my current project-list, and making sure it’s always pointed at the task of the present minute, even as the many-sourced external demands on my attention roil and bubble at their usual rate throughout the workday. When it worked, it felt like a mildly buzzing annoyance all day long, and when it didn’t work — which is to say, I forgot to turn on the timer, or turn off the timer, or switch the timer’s current task, all of which are very easy to forget when I’m trying to get real work done — my annoyance would bloom into frustration.

In summary, working like this carries a subtle but very real ongoing expense, injecting unwelcome uncertainty into time-measurements while stealing a little bit of one’s attention all day long. Boy, did I not enjoy any of it.

Timing acknowledges this cost of using typical timers, and proposes an almost inverted sort of user interaction in order to mitigate it, one where you let it make and record its best guesses about how you spent your time, and you regularly — but not continuously! — check in with it to refine its output and improve its future estimates. For me, it pushes the task of accounting for my time into exactly that, a task, bounded with a beginning-time and end-time of its own. I vastly prefer this over managing with a thin paste of sticky meta-task spread over my entire day.

Timing runs in two parts: an always-on daemon process, and a front-end application. The daemon watches all your user-level Mac activity, taking especial note of things like the applications you have in focus, the titles of the webpages you read or the documents you work on, and the names in the emails you read and write, all minute-by-minute. And then when you’re ready to take stock of the day’s work — right before going home, say, or over coffee the following morning — you view a report of your activity using the graphical Timing app. It presents your day with three parallel timelines: A series of blocks representing the apps you had open, switching around in real-time; another block-series where Timing guesses which of your tasks you were working on, based on the first timeline; and then an empty line that you fill with your own task-associated time-blocks, using the first two timelines to guide you. When you finish, Timing treats only the third timeline as “canon” for the monthly per-client reports that it can generate.

During this same time-assignment view, Timing presents clever ways to let you permanently assign keywords, applications, and other cues to certain tasks. For example, I have set Timing so that when I have a Terminal window focused and logged into a certain remote Linux machine, it should consider me busy with the freelance client to whom that machine belongs. After a bit of initial setup, Timing quickly guesses your activity correctly enough — even if you bounce around among windows and applications constantly, like I do — that it takes only a few minutes of focused attention to properly fill out that third timeline for any given day. I love this. Through these methods, Timing lets me work on this stuff when I’m ready to do so, and only then.

The app also lets you assign a zero-through-five “productivity” score to each task-category, which powers a dashboard-view with lots of fun bar graphs, and a daily percentage-score of how productive Timing thinks you think you are, and so on — but I consider all that candy. It also offers some shortcuts to create invoices for you, but I don’t use that either, preferring my comfortable old FreshBooks account for that sort of direct-to-client interfacing. Per its name, meat of Timing is its timer, and the ingeniously upside-down way one works with it. I might not be able to escape time-and-materials billing as a freelancer, but with this tool I can at least scrape most of the burden of it out of my brain, and this alone I find worth every penny of Timing’s purchase price.

Share or reply to this post on Twitter!

Photograph of a statue of a mounted, armored man holding an axe, and looking at a steeple in the near distance.

A year and a half ago I enjoyed my first overseas adventure, traveling to Denmark with my partner and a few close friends. I wrote a bit, while there, about the country’s friendly accessibility to Anglophonic monoglots like myself. Since returning, I’ve shared the tale of my encounter with the red thing under Aarhus. Today, inspired by a lovely printed-and-bound photo album our traveling companions recently gifted us, I’d like to describe two more events from the trip, both of them times I found myself troubled by something I struggled to recognize. One happened right after we landed in Cophenhagen, the other shortly before we returned home.

The moment I arrived, I felt a stressful confusion, and I wasn’t sure why. By “arrived” I mean a very particular moment: after passing through the nowhere-land of the airport, and then riding half-asleep (I don’t sleep on flights, no matter how long or dark) on the tram to our target station under Copenhagen, and at last emerging up, up into daylight far from home. Immediately I felt a thrilling collision of comfortable recognition with jarring novelty, something I expect any veteran international traveler takes in stride but felt entirely new to me. I found myself in the heart of a new city, expressing its embrace of me in myriad citylike ways with which I easily resonate — but also surrounding me with street signs all the wrong shape, and city buses covered in writing I couldn’t read, and statues of valkyries and armored dudes with war-axes, and myriad other ways of telling me that I had at long last made a foreigner of myself.

All this I recognized within moments! Nothing subtle about it, and I did my best to shake off my sleep-deprived jet lag to drink it all in (and get my phone synched up enough so its map would work). As I stood blinking and busily categorizing everything around me into buckets labeled familiar and foreign, I had the nagging sense that something that belonged in the latter bin eluded me. As I picked my way towards our AirBnB, I struggled to recognize what about the environment felt so subtly strange, other than all the obvious stuff. Once I’d crossed enough of the city’s wide intersections, the answer struck me — and not literally, thankfully. Bicycles! Copenhagen hummed with bicycles, like no place I’d ever seen before.

Now, I’ve visited and even lived in American cities that call themselves cyclist-friendly, and used to ride around town myself in years long gone by, so the sight of a few bikes hugging the curb doesn’t itself elicit surprise. And in my first few minutes in Denmark, the cyclists I saw, taken individually, were not engaged in any particularly un-bicycley activity. So it took my sleepy and overwhelmed senses a few extra turns to realize what a difference in degree surrounded me, compared to any pedal-powered display I’d ever seen stateside — outside of a road race, perhaps.

Where some American cities have anemic little bike lanes that cars share begrudgingly at best, bikes held equal esteem with cars in Copenhagen — and the road-sharing went in two directions. Bikes queued up at red lights, layers-deep within their wide, dedicated lanes, or directly amongst the cars when necessary. I didn’t see a single cyclist ignore a light, something I could never say about a day in bike-laden Boston. Furthermore, I don’t recall seeing any cyclists wearing American-style bike helmets, which suggested to me that they didn’t grimly expect to be flattened at any moment by a carelessly flung-open car door. Just a wholly different world, all within this single aspect of city life.

During my days in Cophenhagen, I remained a dedicated pedestrian, just like back home. But I did spend the whole time in perpetual mild marvel over this facet alone, once I knew to see it.

And then, after two weeks in Denmark, I felt a stressful confusion, and I wasn’t sure why. Day by day, even as I continued having a great time seeing and learning so much, I could once again feel something unwelcome creeping in, ratcheting up a sense of uncertain irritation. I don’t know what triggered my understanding this time, and I don’t think it came all at once with a sudden camera-pullback as with the bicycle hordes, but it arrived anyway.

It dawned on me that the Danish-language signage, whose illegibility so enthralled me upon arrival, had slowly transformed from a delightful novelty to a source of constant, low-level mental stress that I’d unwittingly let accrue for several days. Danish uses the same alphabet as English, of course — along with a few diacritical-trimmed letter-variants — so even though I consciously knew that I couldn’t read most of the signs that always surrounded me in my urban wandering, the automatic parsing processes in my brain would always try anyway, only to get flummoxed again and again.

Having quite recently read Daniel Dennett’s Consciousness Explained, with its metaphor of mind as a gaggle of daemons in a computer system, I can’t help but imagine my language-parsing process — chorded into the looping braid of sensory inputs and processors that make up my sense of self — suddenly spewing out errors and warnings all over the place after decades of quiet operation. What was happening?! Nothing made sense anymore! But as just one voice in my personal pandemonium, its complaints went easily ignored, until after many days… er, my hard drive filled up with log-files, I guess? My own failure to extend Dennett’s metaphor notwithstanding, I do believe that here lay the source of my invisibly accumulating confusion.

Happily, this realization came not long before the flight home, where I could massage my language-jangled neocortex by staring at the curt but soothing English of baggage carousel signs in Logan Airport for as long as I wanted. I ended up feeling good about my ability to self-diagnose and treat these little travel-novice syndromes as they happened, and hope to get in more first-hand practice in the not-too-distant future.

Close-up photo of an inscription on a gravestone reading 'TAK FOR ALT'.

Share or reply to this post on Twitter!

In September 2016, I wrote a list of promises to myself should Trump thread the needle and win that year’s election. I figure that I owe myself a check-in.

We now enter our first full winter under the Trump presidency, and I fear that — after an exhausting year of resistance, with occasional moments of bright success — it’ll feel very dark and cold for a while. A thick mass of Trump-enabled cruelty seems likely take smothering hold soon, including but not limited to the “tax bill” that torpedos much of the Fairey-tinted hope of life under Obama, shredding American support for nationwide health, education, and opportunity in order to further enrich the already-richest. I know I need to light a candle against it. I have to live through this, and help my loved ones through too.

Well then, according to the rubric laid down by my naive, pre-election self, how’s my footing? Taking it point by point:

“I will stay calm.” I did need to hire help with this part, very soon after the election. There came a day just before Christmas of last year where I felt things spinning away from me, and I called the first therapist from the little list of those accepting my wife’s insurance. Happily, he worked a three-minute walk from my office, and we met that day.

So, yes, the wryly reported spike in therapist traffic due explicitly to Trump-driven anxiety was real, dear reader, and I was part of it. Happily, I can report that the therapy helped. A year later, I continue my visits, the frequency gradually decreasing from weekly to every month or two.

“I will accept my feeling sad and scared. Corollary: I will accept my friends and family feeling sad and scared, too.” When I wrote that two Septembers ago, I recalled how angry I felt during the majority of George W. Bush’s presidency. I vividly recalled walking down the street listening to his voice in a news podcast, not noticing the stream of foul language I emitted until some minutes in.

Somehow, though, I figured that fear, not anger, would rule my emotions during a Trump presidency. Bush was a fool who made one disastrous decision after another, but at least he had a moral compass, and he tried his best to be president; Trump, meanwhile, is a transparent sociopath who adores nothing more than stirring up chaos and drama to keep the spotlight on himself.

And I did feel scared, on election night. I will always remember how my wife and I held each other in the darkness, shivering, for a long time. But then the sun came up. And since then? I’ve mostly felt some mix of angry, sad, and disgusted. Sometimes with a frisson of genuine disbelief: How can this be happening. How did we get here, when things seemed to be going so well.

Weirdly, I just can’t work up anything like sustained fear over any of the things Trump’s world gives us to fear. Even the increasing prospect of nuclear war just makes me angry at how the evil men who’ve hijacked this train gaily shovel all our national potential into the furnace just to keep themselves toasty-warm, forgetting their mission to move us all forward. I hate them, and I hate all this.

So: A category error, on my part. Do I accept it? Well, I suppose so. I’ll hardly deny my friends’ right to feel angry, let alone my own.

“Internal resistance: I will not give in to despair or nihilism.” This has been harder than merely staying calm, and my head does dip under the inky waves now and again. Sometimes I say things in public I regret. Just yesterday a friend said “Stay strong” to me in a text chat, one hundred percent unironically, because I had been typing up such a dark streak. I get myself into situations where I need to be told that.

I have only recently admitted to myself that Twitter has become poisonous. I still need it, I haven’t bailed on it, but I try not to take long attention-focused pulls of it any more. Furthermore, I actively avoid all Twitter users, even ones I used to adore, who have succumbed completely into the comfortable all-is-lost nihilism that sings to me, too. They represent a personal danger more subtle than that of the neo-nazis lately and more famously insinuating across the same network.

“External resistance: I will seek out movements keeping American hope alive.” Well, I had hoped the Obamas would emerge as resistance leaders, but of course they’ve gone in their own direction, and I can hardly blame them.

I don’t really feel like I have any political leader right now, though I have increasing admiration for my state’s outspoken Senator Whitehouse, and I’ve recently subscribed to the Washington Post, which changed its slogan at the beginning of the Trump presidency to overtly stake out its mission in a new, gloomier era. They help.

I have written about engaging in modest “earn-to-give” philanthropy, and I do continue with this tack, though it all feels rather passive.

“I will keep doing what I love.” In this respect, I have found the most success. Since the beginning of the year, I’ve redefined and greatly improved my attitude towards my self-employment day-job, delivering the best work I can for my two core clients, and actively investing time and attention into improving my management processes.

In the meantime, the non-profit I preside over ends its first calendar year having met most of its goals, including running its first — and quite successful — program-specific fundraiser. Having established itself, IFTF enters 2018 holding new second-order public-service goals which I quite honestly look forward to helping it achieve.

IFTF began during the sunset of the Obama era, and at the time I wondered if it represented a waste of energy; why expect support for a new digital arts organization now when one should really focus on, say, defending civil rights? But today, I recognize that cofounding IFTF will likely remain one of the best things I’ll have ever done. I helped create a protective bastion for creative energy just as a long darkness settled in all around. That’s important, very important and good, and my continuing to serve it gives me a lot of the light I need to keep going.

Share or reply to this post on Twitter!

The cover of this book.

This book took me twenty years to read! I bought it while living in my very first post-graduation apartment in Bangor, Maine, probably from the wonderful giant borg-cube Borders out by the mall. I would start to get into it again and again over the years, but never made it very far. This most recent and at-last successful sortie required this blog to exist, I reckon. I hadn’t thought about Consciousness Explained since starting to record my reading in public three years ago, but then its author tweeted about it — surprised to find the 1991 publication heading a new best-books list — and set my course.

So, does it explain consciousness? Well, not really, no! Rather, it provides a novel lens for thinking about how the mind might work — in humans, animals, and constructed intelligences yet to come. Dennett introduces his multiple-drafts model, in which consciousness arises when the output-flows of various lower-level neurological processes, analagous to daemons in a computer system, exist in sufficient number and variety that they chord. These mental data-streams flow and resonate into each others’ inputs, creating feedback loops of such wonderful twistiness that — though no fault of their own — build an enormously complex super-process that can reflect upon itself.

I’ve run into this notion before in books written after this one, most notably 2007’s I am a Strange Loop, by Dennett’s cognitive-philosophy colleague Douglas Hofstadter. Consciousness Explained does not glory as much in the concepts of self-reference and feedback as Hofstadter’s work; under Dennett’s theory, the self is less a hall of mirrors than a “center of narrative gravity”, and boy do I love that idea.

Under the multiple-drafts model, consciousness is an ongoing narrative under constant revision based on a pandemonium (to use the author’s own preferred word) of low-level sensory and cognitive processors. We creatures who possess consciousness also possess a notion of self in the sense that a physical object has a center of gravity. In one sense, a fiction: the gravity of a body isn’t really all mashed down into a single point within itself. But we can treat it that way anyway for convenience’s sake, and the math all works just the same, and thus we can do physics. Likewise, I can act as if “I” am concentrated within a single point of observation — my soul, my pineal gland, whatever — and it’s true enough to let me enjoy its benefits and get on with my life.

Alongside these novel ideas, Consciousness Explained spends the bulk of its energy tearing down other theories. For every assertion this book makes about multiple-drafts theory, it makes many more attacking every reigning (as of 1991) or “common-sense” notion of consciousness, to the point where the whole thick book seems mostly an act of demolition against the set of assumptions that Dennett derisively calls the “Cartesian Theater” — the comfortable notion that consciousness works something like a deliberately constructed film that somehow observes itself (or is observed by a separate “self”). The book made me receptive to the multiple-drafts model of consciousness as a beautifully fragile emergence from many overlapping and otherwise dissonant mental subprocesses, but I ended my read feeling unsatisfied, witness more to the author blasting away at rival hypotheses — however convincingly — than exploring the implications of his own.

I did have some hesitancy going into this, since wouldn’t everything be terribly out of date? But, no, of course not. While Dennett writing in 1991 had access only to research published before then, it was still all new to me as a layperson, and I found the book’s many summaries of past experiments quite fascinating in their own right (and apart from Dennett’s invocation of them as either supporting evidence towards his own theory, or misleading paths away from it). Moreover, despite a quater-century of global scientific advancement, the true nature of consciousness remains a mystery without a consensus explanation. Laboratory-reproducible illusions such as the color phi phenomenon, oft-referred to by this book, still see their experimental subjects report physically impossible observations today, with no tidy reason as to why.

Earlier this year, in fact, I read (again via the author’s Twitter feed) a 2017 paper by Dennett attacking the popular cognitive-philosophy notion of qualia. It amused me, then, to only a little later discover his 1991 book having an entire chapter titled “Qualia Disqualified”, engaging in more or less the same battles — only with the philosophy-journal articles of the late 1980s, rather than those of today. I’ve brought this up with a couple of friends, a psychologist and a philosopher married to one another, and they assure me: Oh, this is quite normal for any sort of discourse in these fields. And — ha! — just now reviewing my 2015 post about Dennett’s Freedom Evolves, I see myself making the very same somewhat exasperated observations there, about both that book and Hofstadter’s later works. I referred in that article to my not having read Consciousness Explained yet, and seemed to assume that it somehow stood apart in this regard. Sorry to disappoint, past-self…

Dennett himself admits, in the book’s closing chapter, that he could do no more than introduce multiple-drafts theory. It falls to me, I suppose, to see if it has developed further in the intervening years. In the meantime, I have already found it a valuable way to view certain phenomena around me, increasing my appreciation for the ways that a single apparent stream of order can emerge from many chaotic processes. I’m glad I finally read this.

Share or reply to this post on Twitter!

The 'Water Works' property card from the board game Monopoly.

Twitter’s made three swift and mutually unrelated policy changes, two of them quite alarming, in only the last few days. For years, after incidents like these would happen now and again, I would nod along with all the voices warning about the dangers of treating privately owned, profit-seeking Twitter like a public utility, and then I’d slide right back into pretending otherwise. Lately, though, I fear that the increasing frequency of these sudden modifications to its policy or technology has forced this comfortable fiction to come to an end. I still want to use Twitter, and I’m not sure what ought to happen next.

To review this past week: after Twitter suddenly removed the service’s single most definitional attribute by doubling tweets’ allowed length, it verified the account of the American white nationalist who organized the murderously hateful Charlottesville march last summer. Twitter seemed to express genuine surprise at the furious pushback to the latter, and declared a temporary moratorium on further account verification. They end up looking so clueless that Randall Munroe drew an uncharacteristically headline-tied XKCD about it.

And then, after all that, the service tripled the maximum size of users’ on-screen names. Surely the least consequential Twitter-fiat of the week, and some have reason to praise it. However, its following the others so closely in time, paired with its completely unheralded deployment, made the new policy also feel capricious. Despite its arguable benefit, the change lands like a non-sequitur response to a week already heavy with criticism for Twitter, and for me held the strongest recent evocation of @actioncookbook’s joke from early last year.

(This dates to the time Twitter changed, overnight, its iconic star-shaped “favorites” into heart-shaped “likes”. People in my circle now mutter “timeline goes sideways” as shorthand for Twitter once again confounding us with its new and exciting decisions.)

What I wish for Twitter — though I really have no idea how it might get there, from its present position — is more bureaucracy, something to force at least a little bit of drag on the company’s ability to enact surprise fundamental transformations or profound policy actions based on the private decisions of a few people. I don’t want to shut it down; I just want to slow it down!

In my fantasies I envision a committee-laden standards body with all the request-for-comment periods, public mailing lists, PDF-archived meeting minutes, and other intentional communication-tangles that act as brakes on powerful organizations’ ability to otherwise act too quickly. Twitter could volunteer to burden itself in exactly this way, setting up, I don’t know, maybe a separate nonprofit organization that it defers to as its own diversely populated steering committee. It could at the very least make a show of broad public representation within its decision-making.

Or something. Anything! Right now, and very lately, Twitter has acted like just another technology start-up offering a cool fun service and feeling no scruples at all about unfettered experimentation with it, seeking freshly profitable angles while wholly heedless to the undeniability that this service acts — like it or not — as a vitally important communication layer for our global civilization. We-the-users can no longer pretend that Twitter is as neutral a utility as water or electricity, and as such I feel sudden hunger that, somehow, Twitter’s corporate owners must also stop pretending.

Share or reply to this post on Twitter!

Tommy Lee Jones as a sheriff, holding a newspaper, offering side-eye to some target off-camera.

Gif-darmoks allow the insertion by reference of “reaction gifs” into spoken conversation, text-only correspondence, or other contexts that do not lend themselves to the direct and immediate display of internet-searchable images. They accomplish this with creativity and panache, unexpectedly injecting a bit of mythologically-tinted metaphor into the conversation, as they borrow their structure and purpose from the celebrated Star Trek episode whence they get their name.

To deploy a gif-darmok when the image of a well-known reaction gif overwhelms you, simply state a literal description of that gif using a carefully minimalist syntax reminiscent of that spoken by the aliens in “Darmok”. Looking at a list of quotes from that episode we see that the general template goes “[Person], [momentary attribute of that person]”. Sokath, his eyes uncovered, for example, or Zinda, his face black, his eyes red. But we see plenty of variation, too: the subject may be two people, or a river or mountain rather than a person. It might describe (in just a few words) the place where the person stands, and what they see.

Allow me to present three examples that I have used recently, along with a literal gloss of my intended meaning for each:

I see reaction gifs — and their kissing cousins, emoji — as a novel but richly meaningful, accessible, and legitimate way to express oneself through sharing pointers to common cultural references, and I cannot resist attempting to back-port them into spoken language through the mechanism that “Darmok” demonstrated a quarter-century ago. I also love the fun and challenge of creating and interpreting gif-darmoks, and the way that — by their nature — they elevate their subjects from anonymous dancing loops to named people within a single moment that bespeaks a larger epic, each one a proper-noun myth-hero bearing our culture forward.

Share or reply to this post on Twitter!


Previous post: I attended All Things Open 2017