Cartoon image of a woman walking along a Manhattan sidewalk, down past densely stacked storefronts with signs like 'Kosher vitamins' and 'Purse-a-teria' and 'Brass polishers union' and so on.

Ater I announced my impending move to New York City on Twitter, I asked what books about the city my friends would recommend to a newcomer. I received several excellent responses, one especially so.

One friend put forth Mark Helprin’s Winter’s Tale, a genre-novel doorstop set in a magical-realist Manhattan during the apex of its industrial-age gang wars. This friend allowed that the book might not make for the most practical guide to New York, but I have fallen quite in love with the story regardless, and look forward to paging through the enormous thing over the coming weeks.

Another introduced me to Going into Town, a quite recent guidebook in comic-book form by Roz Chast. According to the book’s own introduction, it adapts and expands upon a pamphlet that Chast created years ago as a present to her daughter, as she began her university career in Manhattan. As such, I found it perfect for my purposes, exactly what I needed to read now: a calming balm against the anxiety and unsureness that unavoidably accompanies my own preparations to live outside of New England for the first time in my adult life.

Chast’s book, every page hand-drawn and lettered by the veteran New Yorker cartoonist, pads out the guidebook content with a bit of memoir and philosophy among a scattering of observational-humor vignettes. The book’s title comes from her own parents’ phrase, as Brooklynites, for their occasional trips into Manhattan. She remembers the snacks her dad would pack on these journeys, and how he would stress out over subway tokens. A few pages later, she gives us a two-page comic about a chatty weirdo at Starbucks, or illustrates the folly of trying to walk your cat in the city.

Mostly, though, Going into Town presents a refreshingly direct and accessible newbie-guide to the island of Manhattan, appropriate both to visitors and to long-term arrivals like me. It educates the reader about the island’s fundamentals more clearly than any guide or explanation I’ve encountered heretofore. Having read through the book once, I can now run down the basics myself: the difference between streets and avenues, and what “up” and “down” mean in terms of grid-nagivation — and how they translate to “Bronx” and “Brooklyn”, respectively, on subway signage.

And I now have a coarse idea of that subway system — why some lines have numbers and others letters, and what you can tell about them by their labels, and what makes the S line special. Chast acknowledges that she can explain only so much about the tangled subway graphically, and assures the reader that a little bit of personal experience will fill in the rest. I have learned enough to trust her.

In fact Going into Town, less guidebook than primer, intentionally shies from delving into too much detail about any facet of New York, giving readers tools to instead navigate and explore Manhattan for themselves. The few places within the island that it does examine a bit deeper — the Met, Central Park — represent areas as dense and internally varied as the city that contains them, inviting active exploration over merely visiting.

Chast notes that the island is only two miles wide at its broadest, and advocates spending a day now and then choosing a nondescript street and then walking its length, “coast to coast”, taking the time to admire the jumbled homes, storefronts, and surprising bursts of color and culture pressed into every cubic foot of city. Find the store that sells only ribbons, then see more types of ribbon in one crammed room than you knew existed on earth. Let New York unfold its fractal around you, and walk into it. It will make you part of its infinite surface, if you choose to stay.

The arc of my life has decreed this fate for me, at least for the next several years, and I still feel nervous about it. But reading this book has, at least, let me feel less lost.

This article was also posted to the “books” section of

Share or reply to this post on Twitter, or elsewhere.

A simple outline map of the United States, with a many-colored curve, suggesting a flight path, connecting the two coasts. It is watermarked ''.
Turbulence forecast for United flight 510, from LA to Newark, departing 12:15 PM Pacific time, Oct 25, 2019.

Nearly three years ago I launched BumpySkies, my turbulence forecaster for airline flights over the continental US. Pride of my heart at the time, it sang with potential for growth, and whispered golden promises to me of commercial possibilities. Alas, other than a handful of bug fixes, I have put no further effort into it, and I have no plans to expand it beyond its current functionality.

Utterly static, it has taken on the role of my masterpiece: a clear and immediate demonstration of expertise in creative software engineering, as only I can express it… and no more than that. A useful enough purpose, and one I feel glad to have, of course, especially as I start to look around for new work. But I must admit some regret that it cannot grow beyond this, and feel compelled to examine the reasons why.

First of all, I cannot truly dogfood it. In one sense, yes, I did build BumpySkies for myself, a nervous flier with great anxiety about unexpected turbulence. And you can be sure that I do use BumpySkies when I fly! But that happens four times per year, perhaps. I simply don’t travel by air that often. In the thirty-four months since BumpySkies’ debut, I have boarded only twelve domestic flights. (I also rode four trans-Atlantic flights, which crossed out of BumpySkies’ American-airspace purview.)

More to the point, these opportunities to use BumpySkies happen weeks or months apart from one another, meaning that it precludes rapid iteration. The first couple of times I flew after launching the website, I excitedly wrote down notes for improvements even while strapped into my seat. Once on the ground, as I began to plan how I could encode these fixes, the insurmountable problem of actually testing them became clear.

When I work at my best, I keep many windows of input, output, and internal-state logging open: make a change, observe the effect, make another change, and so on, until everything lit up the way I wanted. Often, these cycles take minutes or even seconds each. Improving BumpySkies, on the other hand, would mean working with iterative cycles which might each take months to circle around. So, I would implement a trial improvement, and then… wait until my next Christmas flight to see if it actually did anything? I watched as the likelihood of this ever happening went soaring away, without me on board.

Finally, BumpySkies has political dependencies I cannot control. The program’s two major data sources are NOAA and the FAA. It gets the former through a resource I found because I asked some scientists nicely, and the latter through a federal data-sharing program, open to any citizen-run project willing to put the effort of application in.

Both of these run entirely on American public funds, and I can imagine either one vanishing suddenly, should the current short-sighed and thoroughly corrupt administration decide that it can kill it in order to score some political points, or redirect its funding towards some disgusting vanity project. Earlier this year the Trump administration demonstrated its willingness to suborn NOAA, overtly and outrageously, to support the president’s childish lies. I have no doubt that it would not pause to eliminate the programs that provide my data, if it meant even a momentary political advantage.

I built BumpySkies on quicksand, then, in the heart of a jungle I seldom visit. It is a folly, constructed in a frenzy over the course of a single year, and its inhospitable terrain resists any attempt to build upon it any further. Let it stand as a monument to my own ingenuity; let it serve my masterpiece, unchanging. I feel pride in its immediacy, like no other thing I’ve built, and in how it has run for years with so little need for maintenance. Let it coast on.

Sweat represents my next hope for an intensely personal project that might have a broader and more dynamic future. An ugly little command-line program, it lacks BumpySkies’ very visual, map-based immediacy, but it has lots of room to grow. As a program that I run almost every day, can iterate upon rapidly, and which operates free of any external politcal threat, it avoids the pitfalls that have doomed BumpySkies to stasis. I don’t know for sure that it will grow over the next three years, but at least I can afford to hope.

7 reactionsShare or reply to this post on Twitter, or elsewhere.

A screenshot from the video game 'Let it Die', depicting a player-character receiving an enormous bowl of mushroom stew from the game's 'mushroom lady'.As I consider the game-over screen after yet another wipeout with Slay the Spire, I think about how I’ve heard that one key, often-overlooked difference between the ways that Americans eat versus folks elsewhere has less to do with the portion size than the diner’s sense of obligation towards it.

I count myself among those Americans inculcated as children that any scraps left on your plate, whether at home or dining out, serve as evidence that something has gone terribly wrong. If you didn’t hate your meal, then clearly it has made you ill — or else you brought disgrace upon yourself by spoiling your appetite, overdoing it on the openers. Whatever the cause, your abandonment of the dish covers yourself, your host, the server, and all other eyewitnesses in shame.

I carried this attitude well into adulthood — until I started to learn how, in other parts of the world, people set their forks down when they start to feel sated. In these lands, the diner feels no embarrassment at this, and the host feels no insult. Japanese culture even has a term for eating until one feels 80 percent full.

Only recently have I begun to attempt this myself, and I know that my life has improved for it: no more sleeplessly indigestive nights after conquering my whole appointed portion, no matter the size. I have traded in my Clean-Plate Club card for a doggy bag in the fridge and a lazy lunch the next day. And as Slay the Spire hoses my last character into the dungeon’s drain and invites me to roll up my next one, I think about how this approach to our diet can apply to video games as well.

I first gained this insight from my friend Joel, who in late 2016 introduced me to Let it Die, the utterly unique, absolutely bonkers hack-and-slasher from Grasshopper Manufacture. I had a grand time tearing my way through the game’s roguelike-inspired single-player levels, as well as tussling with the game’s bizarre asynchronous-multiplayer modes, where I joined Joel in representing Rhode Island. (The game, otherwise quite divorced from reality, encourages players to join teams named for American states, each flying its own wonderfully inaccurate flag.)

After a couple enjoyable weeks of bloody struggle I came to defeat the game’s first boss, and naturally the game rewarded me by swinging open the doors to World Two — more of the same, but harder, with more complicated power-ups and enemy effects to learn. It unfolded new styles of maps to master, promising more weeks of play, and the dim shadow of the third and fourth worlds waiting beyond all that.

And even though I had had a great time, I just couldn’t work up the energy for it. Defeating that first boss had a sense of not just triumph but finality. That didn’t seem right, though: the game had a clearly telegraphed endpoint, a long but finite distance ahead of me, and stopping now would constitute abandoning a project. A failure, and a stain on my conscience. And yet, here I sat, unable to eat another bite.

Some months later, I happened to visit Joel’s home city, and the topic of Let it Die came up over drinks. I thanked him for turning me on to the game, but admitted my regret at not finishing it — in fact, at not even getting to its nominal halfway mark. When I described my feeling of undeserved satisfaction at getting as far as I did, Joel interrupted my lamentation. “But that sounds good, though.” He leaned back and patted his belly, pantomiming a satisfied diner. “You felt full, and you stopped! That was all you needed.”

Earlier this month, after my wife and I shared an intense, days-long folie à deux over Slay the Spire, we both got to enjoy a winning run: Amy first, and then myself, mere hours later. By some measures — by the yardstick of online gamer culture, certainly — we had only just begun. The game intends for a single winning run to serve as mere prologue: it clearly signals that, for a real victory, one must complete the game with each of its three characters at least once, and then face down who-knows-what after that in order to score a “true ending”.

Amy, of far more organized mind than me, waved all that away, marked the game as complete, and thought upon it no further. But I, a fool, returned to the slog, relitigating Spire as if my genuine and hard-won victory meant nothing. I find myself playing with increasing impatience, rushing, making careless errors leading to messy deaths and a sense of time wasted.

And this is how I come to realize that I shouldn’t have gone back for seconds, just because I enjoyed the meal. I am powering through this extra helping, grimly, for no purpose. For me, one victory was enough. I should celebrate my time with the game and enjoy telling my story of how I beat The Collector with 3 HP left on a hail-mary play involving a Gambler’s Brew potion. That is my personal and true story of how I beat Slay the Spire forever, and the existence of a “Continue” menu option doesn’t make it false.

Some players, foodier than I, will relish the chance to keep grinding away after that point, exploring more permutations of deck-building combat. The game is ready to serve them as well. But those options exist for them, not me. I will set my controller down, sated, and give myself a chance to digest.

8 reactionsShare or reply to this post on Twitter, or elsewhere.

Photograph of a University of Maine banner, attached to a street pole, set against a clear blue sky.

“University of Maine Flag” by jimmywayne is licensed under CC BY-NC-ND 2.0

As a graduate of its Class of 1996, I call upon the University of Maine to rescind its hosting and support of the College Republicans. While the group may once have stood for legitimate conservative values within a liberal college campus, its more recent actions have demonstrated its descent into ethno-nationalism, cynically abusing the university’s “marketplace of ideas” to advance a regressive, destructive agenda. A progressively minded American university — and my own alma mater — has no business providing it a platform.

Maine has joined other cities and regions around the country in officially renaming the mid-October federal holiday from “Columbus Day” to “Indigenous Peoples’ Day”. UMaine’s College Republicans (UMCR) responded with an absurd post to its Facebook page, condemning pre-Columbian civilizations as “brutal societies” and suggesting that the existence of human-sacrifice rituals in ancient Mesoamerica validated the subsequent subjugation and near-eradication of Native American cultures by European colonists.

The university’s president and its dean of students responded swiftly through a campus-wide mailing list, stating that this hateful message did not reflect the university’s values. UMCR immediately followed up with another Facebook post describing how this rather lukewarm email “horrified” them, making them afraid for the safety of its membership, and threatening to “hold [the dean] personally responsible” if any of them were “attacked, bullied or intimated[sic]”. It concluded with an exhortation to call the president’s office directly and complain.

All this, of course, lies perfectly in keeping with the behavior of the national Republican party under Donald Trump. I imagine that UMCR sees their activity as “counterpunching”, as Trump’s allies tend to describe his entirely reactive political style. But those who live outside Trump’s personality cult call it nihilism, sowing chaos and discord for its own sake. And when aimed at fearing and hating immigrants or Americans of color, it reflects the very worst of the contemporary Republican agenda: nihilism in the service of white nationalism.

UMCR’s has dedicated its online presence to the grievance-based politics that defines Trumpism. Its homepage mentions no policy or goals, except for a “fight” against “socialism”. Aside from the Columbus Day content, its Facebook page features the expected wall of memes, alternating between heroic portraits of Trump and unflattering photos of Hillary Clinton — the party’s own Emmanuel Goldstein — all adorned with extremely suspect quotes. It fills its equally active Twitter and Instagram timelines with conspiracy theories and mockery aimed at Trump’s enemies, mixed in with micro-screeds against immigrants, the free press, transgender people, and every other recipient of its leader’s ire.

I attended UMaine during the ascendency of Newt Gingrich’s Republican party, a quarter century ago. Its “Contract with America” at least had the pretense of offering a forward-looking political agenda. Some of us may have disagreed with the direction of that agenda, but we had little reason to question the basic legitimacy of the Republicans as participants in American democracy. We also recognized that UMCR had as much right to presence on-campus as any other significant political group.

That vision of UMCR drowned in the same tide of white-nationalist rage that swept away the rest of the pre-2008 Republican party. Today’s UMCR has made abundantly clear that it has adopted the new party line eagerly. The organization I remember as a grudgingly accepted conservative bastion in a granola-hippie college campus has transformed into another factory of right-wing hate, burning white racial animosity as its fuel and expelling choking clouds of informational poison. As with the national party, it possesses no apparent goals other than societal wreckage in the service of Donald Trump and his angry base.

Here, meanwhile, is the first two paragraphs of UMaine’s mission statement, with emphasis added by me:

The University of Maine advances learning and discovery through excellence and innovation in undergraduate and graduate academic programs while addressing the complex challenges and opportunities of the 21st century through research-based knowledge.

Opportunity for all members of the University of Maine community is a cornerstone of our mission. The university welcomes students, research partners and collaborators into an atmosphere that honors the heritage and diversity of our state and nation.

With this mission in mind, I urge the University of Maine to give the College Republicans a fresh look — one based on its activity since the start of the Trump era, and continuing through its present statements implying support for indigenous genocide. I would hope for it to conclude that UMCR, through its willful and fear-driven misinformation, works only to confuse and corrupt the values of knowledge and diversity that UMaine makes its mission to instill in its students and promote in its wider community.

In their email, the president and dean extolled the virtues of countering speech with more speech. This view, certainly correct in the general case, does not preclude one from declining to actively offer resources to those speaking disagreeably — let alone harmfully. UMaine has no obligation to give an organization like UMCR a platform, not when it uses it to work directly and flagrantly against the university’s own goals and ideals.

I invite the individual members of UMaine’s College Republicans to re-examine their own choices, to look around at the broad, multi-hued, and many-voiced American society that has given them the freedoms and fortunes they enjoy, and question the wisdom of polluting it with regressive ideas. But until they do, I hope that that UMaine itself will invite that group to pursue those ideas elsewhere.

Share or reply to this post on Twitter, or elsewhere.

Detail of an ancient Greek mosaic portrait of a person's face, cropped to show only their eyes.

This summer I developed presbyopia, or anyway had my genetically predestined presbyopia develop to the degree that compelled me to seek out and read the web pages that taught me the word “presbyopia”. With here-yesterday, gone-today suddenness, I have — forever, it seems — lost the ability to focus my eyes on any objects closer than the length of my arm. My visual world, once an unbroken bubble extending into the infinity of space, has developed a lacuna: a tiny sphere of uncertain blur immediately surrounding my own head.

I came to enter my symptoms into a search engine because I quite honestly had no idea that this happens to everyone, or at least everyone with typical eye-function who lives long enough. Apparently one usually becomes a candidate for the condition in one’s mid-thirties, with a near-certainty to obtain it before you turn fifty. At age 45, then, the near-focus fairy seems to have visited me right on schedule.

This happens as I adjust to exercising more than ever and shoring up my diet in a bid to — putting it frankly — do better than my father (and his own father) at dodging the heart disease that my family history predisposes me to. Insofar as I’ve responded to my own physical aging, it has taken this form: getting serious about resisting the inherited threats I’ve long expected. And that’s all fine.

In my zeal to sweat these dangers away, though, it seems I spent no time at all learning about various inevitable robberies of aging that visit nearly everyone who pass various milestones, once they’ve rolled on beyond the easy pavement of young adulthood. Presbyopia has stricken nearly every human who has survived to middle age, and yet it was news to me. Definitionally, the list of people who live with this condition include several friends of mine, who upon hearing my complaint rolled their already long-blighted eyes and advised me not to let pride delay getting some decent bifocals.

(I have not bought any bifocals yet. The last pair of glasses I purchased have the sorts of skinny frames quite fashionable in the early aughts. They let me achieve a poor-man’s bifocal effect by tilting my head up and peering beneath the lenses, since my uncorrected eyes can focus on objects as close as elbow-length. I recognize that I’ll want to do better than this, someday.)

I can grimly appreciate that while I strive to blunt and delay, with diet and exercise, the ever-increasing incline of age that otherwise saps the energy, flexibility, and mental acuity that burble in abundance through one’s first decades, there exists an irrestiable schedule listing one self-contained anatomical system after another that must succumb to accumulated entropy. Had I somehow pushed my resting heart rate down below 50 beats per minute, had I dropped all red meat and sugar from my plate years ago, my eye-lenses would still have flabbed out exactly as destiny decreed.

I can’t help but wonder what other unhappy events might lurk on this ordered checklist of personal systemic wrap-ups. Maybe I’ll actually look, sometime; surely this knowledge has existed more or less unchanged for centuries, maybe millenia, and I suppose it just doesn’t come up until one arrives at it personally because who wants to talk about that? More likely, though, I heard references to these events my whole life and didn’t pay much attention. That has changed: In the opening of his new essay collection Calypso, David Sedaris chooses to describe his current age by noting, with characteristic frankness, how his urinary “washer” has recently given up, permanently adding unwelcome complication to his bathroom visits. Last year I would have given an amused snort and forgotten the passage. This year it made me a little dizzy.

Two years ago I visited the RISD Museum for the first time, and I encountered one particular artifact from its permanent collection: a slab of ancient white marble, chiseled all over with Greek writing. The plaque affixed by it noted that it still retained a very few flecks of the red paint that originally tinted its beautiful lettering. Forgetting my place, I could not resist putting my face right up to it, eager to see the paint for myself. Within seconds, of course, a watchful docent had a hand on my shoulder, a surprising gesture that flash-froze the whole scene into my permanent memory.

And because of all that, that slab became my most recent — and therefore final — definitive memory of looking at anything close-up with my naked and unmodified eyes. I suppose I should take a philosophical view, making metaphorical my new obligation for far-sightedness, appreciating that I got to enjoy supplely youthful eyes for as long as I did. Wikipedia says that written references to presbyopia appear as far back as Aristotle, and I find that oddly comforting. I can treasure my memory of the carved letters, a memento from a time and place long ago, and the arcs of time it represents both personal and civilizational. If I have to put a little more distance between myself and the things I contemplate, so be it. I will trust that the paint is there.

Photographs in this post by the author.

Photographic detail of the tablet described in this post. Line after line of ancient Greek words carved into white stone.

23 reactionsShare or reply to this post on Twitter, or elsewhere.

Photograph of an hourglass-style egg timer.

“sands of time 7Dii0937” by coldpenguin1952 is licensed under CC BY-NC-SA 2.0

I have announced a lot of projects on this blog, and Sweat, the chatty workout timer that I first made public earlier this month, has become one of those rare projects that continues to grip my interest afterwards. The projects I love the most are those that lead me to start researching topics outside the strictly technological: how The Warbler’s Nest led me to study a certain folk-legend beyond the bare sketch I already knew, or how BumpySkies required a dive into the specifics of modern aircraft navigation. This week, Sweat joined this group by encouraging me to read the original journal article that first introduced the seven-minute workout to the world. This fired me up with indignant impatience for everything I didn’t know from years of using only third-order workout timers (based on newspaper articles based on that journal article). I feel more driven than ever to work on Sweat, bringing in more in-line with the workout’s original intent. But first, I want to fix the workout’s common name.

“The seven-minute workout” caught attention, and not for the wrong reasons, when the first mainstream news articles about it appeared — such as this New York Times piece, contemporary with the original ACSM’s Health & Fitness Journal article, that has served as my own go-to bookmark when I want to link to a primer on these exercises. Indeed, in the original article, authors Brett Klika and Chris Jordan cite the workout’s brevity as among its most attractive features. But, as I wrote years ago, “the seven-minute workout” is a terrible name, and recent work has given me both less patience for it and a suggestion for a sensible replacement.

Beyond its inherent hokeyness and ambiguity, “seven-minute” proves itself an unhelpfully misleading descriptor in light of the framework that Klika and Jordan propose, even given their design-emphasis on keeping things short. While it does indeed take seven minutes to run through one lap of their proposed workout, they unequivocally intend the exerciser to cycle through it more than once per workout session. Quoting the article:

Participants can repeat the 7-minute bout 2 to 3 times, depending on the amount of time they have. [ … ] Because most individuals may not be able to execute the program at an intensity significantly greater than 100% of their V˙O2max, following the established ACSM guidelines for high-intensity exercise of at least 20 minutes is recommended. This may require multiple repetitions (or circuits) of a multistation exercise circuit.

I found this shocking to read. For one thing, it puts the lie to literally every seven-minute workout timer I’ve ever tried, all of which declare you done after completing the twelfth drill. I don’t call any of them out for deceitful or inaccurate design, mind you; in retrospect they all clearly derive either from news articles touting this amazing new science-backed seven-minute workout routine, or from previous timers. That Times article from 2013 ends with “after seven minutes, you’re done,” and that misconception naturally percolated through all the future media and technologies that it wrought.

Certainly, Sweat counts itself among the misinformed, beginning life as yet another response to all the seven-minute-timer apps and videos that have jumping-jacked through the internet over the years. Reading the workout’s published origin drives me to pull Sweat out of this category, basing it more on first principles — and I want to begin with the name of thing it purports to implement. As the title of this post already spoiled, I intend to call it the Klika-Jordan workout from now on. (Non-alphabetical, yes, but it replicates the order of the authors’ names as they appear at the top of the Health & Fitness Journal article, and frankly I find it more pleasant to pronounce this way.)

As for what Klika and Jordan themselves call the workout — well, their article leaves that uncertain, actually. They do name their creation “HICT”, for “high-intensity circuit training” — but that describes the general class of a workout consisting of short, fast drills that exercise different major muscle groups in a cycle, while requiring no special equipment. The paper explicitly labels the twelve drills of the seven-minute workout as a “HICT sample program”, showing one possible way that a trainer could construct a HICT-based workout — and, perhaps inevitably, this example froze into immutable gospel as soon as the invention’s appeal hit mainstream news outlets.

And so, as a formal defintion, I might offer this:

The Klika-Jordan workout is a short but intense exercise routine described by Brett Kilka and Chris Jordan in the article “High-intensity circuit training using body weight: Maximum results with minimal investment”, published in ACSM’s Health & Fitness Journal, Volume 17, Issue 3. Specifically, it is the application of HICT described in the section “HICT sample program”, comprising twelve unique exercises to be performed in seven-minute bouts, with the whole circuit repeated up to three times.

I feel good about at last having a proper-sounding name for something I feel increasingly enthusiastic about — and which, I very recently learned, I haven’t spent half as much time with as I ought. So, this new term will go into all future discussion of Sweat, more of which I’m afraid you can expect so long as I dwell in this project’s honeymoon period.

5 reactionsShare or reply to this post on Twitter, or elsewhere.

Photograph from an old magazine ad featuring muscleman-entrepreneur Charles Atlas in his leopard-pattern briefs, pointing at you the reader.
YOU won’t look like Charles Atlas from using Sweat, but I like to think he’d approve of it anyway

With pride and pleasure I announce Sweat, a new workout timer for Unix-ish operating systems. Sweat is a open-source program that escorts you through the pain of exercise — in particular, the effective but unpleasant intensity of the seven-minute workout — by reading aloud some mildly interesting novelties to distract you from your struggle. This includes cultural trivia, headline news, weather reports, and sad old jokes.

It is easy to install — as far as weird open-source command-line programs go, anyway — highly configurable, and simple to run. I have for the past several weeks used Sweat every day on macOS, running through all twelve of the seven-minute workout’s drills in a semi-random order. I aim to make sure that Sweat works on Linux as well (though it may require a bit more setup there).

Allow me to present an abbreviated demonstration of Sweat running on my own Mac. Watch as it guides you through the first four drills of the seven-minute workout, and with every drill opens up a new Wikipedia page and reads aloud its first paragraph, giving you something to think about while you struggle nearby. (Please do play this video with sound on!)

A few things to note, all demonstrated by this video:

  • You can control Sweat’s behavior through command-line options (such as --drill-count, seen here) as well as a separate configuration file. Sweat uses sensible defaults for everything, so you can use it right away before fine-tuning it suit your specific needs better.

  • In the “trivia mode” shown here, Sweat visits a randomly chosen Wikipedia article with its first drill, and then follows a random link from its current page for every drill thereafter. Pondering the connections between these articles gives your mind another thing to play with, distracting its attention away from your complaining body.

  • Sweat finishes up by reading the output of fortune, if available on your system. While lying on the floor and catching your breath after that last ab-crunch, enjoy a context-free joke (or probably-misattributed quote) that some Unix system administrator circa 1988 found profound enough to preserve forever.

  • Sweat doesn’t have to open the articles it reads in a web browser. It does this mainly to give you something vaguely interesting to look at while you grunt through your lunges. If you’d rather have Sweat keep itself to a terminal window but still read article text, it can.

Another short demonstration, this time showing off Sweat’s ability to fetch and read news and weather headlines from a variety of sources (and please accept my apologies for the by-definition extremely dated and political content herein):

  • All the headlines come courtesy of NewsAPI (and indeed, via my own NewsAPI programming library, which — now it can be told — I wrote with this nascent project in mind).

  • I use ad blockers, resulting in the large blank areas in my browser window after loading news sites. Admittedly, this behavior probably makes for a more appropriate environment for running Sweat without unrequested distraction.

  • Note the --no-chair command-line flag, which tells Sweat not to run any exercises requiring a chair; it will substitute another drills of the same kind, instead. This option can be useful when you’re in a hotel room or some other location without a stable chair to exercise with.

    Sweat offers a similar --no-jumping mode, as well, for when you might otherwise disturb downstairs neighbors.

  • Sweat provides you with a few seconds to switch sides in the middle of the side-plank drill — which appears in this demonstration thanks to a configuration-file change I made between these two clips.

    Furthermore, because of the side-plank drill’s peculiar timing, it reads a short, local weather report instead of a news headline. (And, yes, I was in Providence when recording this.)

Sweat is the followup to Brickfielder, and indeed represents the implementation of the “fun and extremely opinionated fetaures” mentioned at the end of the blog post that announced it. It’s got all the features Brickfielder had, all the ones demonstrated here, and more besides, as its documentation shows.

I consider the project unfinished but useful enough for a public release, and I plan to continue improving it for a while yet. I feel very pleased with this work, my attempt to share my enthusiasm for the seven-minute workout’s rewarding discomfort. I hope that Sweat encourages more people like me — lazy, but roused into motion by the promise of novelty — to exercise regularly.

8 reactionsHow to respond to this post.

Photograph of a cloudless blue sky.

“71-365 Blue sky” by kmardahl is licensed under CC BY-SA 2.0

I happen to have woken up in New York City today, and eighteen years is a significant personal anniversary in my society, so I may as well write down my memories now. I don’t expect them to contain any great objective significance or insight; it just feels right to share them today, here, where I have not before.

Not a habitual TV watcher, I believe I learned of the attacks while listening to WBUR as I got ready for work, in my little Somerville apartment. By the time I’d switched to my car’s radio, driving down Highland Avenue, I recall Tom Ashbrook’s calm public-radio voice bluntly stating “America is under attack.” I recall the skies through my windshield as cloudlessly blue, just as they were 200 miles away in New York.

The office presented a surreal, dreamlike scene. I worked in the Boston branch of a significant publishing house, with as many New York connections as any other worldwide business, and the people there didn’t know what to do or how to act. A general sense of confused paralysis had taken over. The company’s president in California, not a cruel person, sent us an all-hands email early in the morning that he did expect us to work as usual.

I don’t remember getting any work done, but I certainly did stay tuned to, which continued to work unlike all the utterly clogged national news websites. Through the company’s internal mailing list I also learned of a text-transcription news feed about the ongoing situation, and kept a window open to that. Local news websites in 2001 did not typically feature multimedia, so I did not see or hear any video of the disaster, and I think I benefitted from this. I would successfully avoid video exposure for many years thereafter, until enough time had passed for clips to start showing up in unrelated movies and such, used for the same sort scene-setting shorthand as the Zapruder film.

The company mailing list remained lit up all day, as were other lists I belonged to, in those pre-Facebook days: multiple lists used by different Boston-area friend-circles, and another for fans of an obscure board-game company. Everyone just reaching out, however they could. Checking in and telling uncertain jokes. I recall the first post on the day’s news to that board-game list, subject line “The bombs”, reflecting how much misinformation spread, so quickly. The message’s author making an effort to stay on-topic by sharing their plans to bring some games with them if they had to relocate to a shelter.

My best friend in the office, Erik, maintained a hopeful mood on the mailing list all morning, insisting that the towers still stood. It did not take long for the truth became clear and undeniable, and he sank into a profound sadness, and said he was going home, and he went home. I think we all did. I don’t quite remember how I felt; not sad, but just carried along.

That evening I had to go out on some errand. On my route home I walked past a throng of high school kids by the Davis Square subway stop, having an impromptu rally. A smiling girl wearing sparkling eye-makeup waved large American flag with both hands and I will remember her forever, she my mental anchor for the whole day. The boys in the group yelped at shouted for passing traffic to holler back at them. One called me out as I trudged past them: “You, in the Open Source backpack!” I raised my arms and went “wooo”.

Another boy in the group shouted “Raghead!” at a car. I also heard a young guy say “Let’s go kill some Arabs!” to his friend, out by the Star Market. Finally, as I got home, some very young kids took their excess of uncomfortable energy out on strangers. One pointed to the sky and shouted “Hey look!”, then with his other hand threw a paper twist of cap-gun powder at my feet, where it snapped loudly. They laughed as I flinched and kept walking.

I had not been hassled like that by the local kids before, and it would not happen again. We were all breathing strange air and I gave them a pass. (And do they even sell those little novelty bang-powder packets any more? I recall them as somewhat common when I was a kid, and this was the last time I’d ever encountered one. How bizarre they seem in retrospect.)

My parents called before I went to bed. They never approved of my living in what they considered a big, dangerous city like Boston, and the day’s events made them more worried than ever for my safety. I did my best to reassure them that I was fine, that everything was normal. My mother asked if I knew about the jet fighters that she heard were deployed in the city’s defense. “Can you see the planes?” she asked. I looked out over the skyline, and said I didn’t see any planes at all.

Share or reply to this post on Twitter, or elsewhere.

Photograph of people gathered at, and strolling past, a Parisian café at dusk.

“Paris sidewalk scene at night” by tbeckeryvr is licensed under CC BY-NC 2.0

Before actually arriving in Paris, I dreamed about all the work I’d get done there. In the weeks leading up to the trip, I’d heard in detail from Francophilic friends, a variety of travel guides, and various other sources about the unique atmosphere of the Parisian open-air café. As a lifelong aficionado of American coffee shops, I pictured myself sitting hour hours at a sidewalk table with my laptop, a cup of strong coffee near at hand, and letting the atmosphere of a new city inspire and permeate my work. It sounded heavenly — and, of course, was entirely bogus, the product of my own foreign preconceptions.

By my second day there, once I felt reasonably synched up enough with the local time zone to get some work done, I realized that while had indeed seen those cafés lining most every street — just as promised — I had not noticed a single open laptop in any of them. Under ordinary circumstances this detail would have escaped my notice, I’ve no doubt, but I’d cranked up my sensitivity to avoiding ugly-American tourist stereotypical behaviors to such as degree that this discrepancy between assumption and reality penetrated even my jet-lagged perception.

So — in the safety of my little hotel room, far too European-cozy to work at length from — I performed a little research. Quickly I found the article “My Favorite Working Cafés in Paris” by Anne Elder, which opens thus:

Working at a café goes totally against French nature. Cafés are for socializing, for relaxing, for having apéritifs after a long day of work. For dipping croissants in café crèmes so the crumbs don’t get stuck to your sweater. Cafés, historically, are the antithesis of work.

This certainly jibed with my observations! Further research taught me the purposes of and the protocols for proper customer behavior at one of these sidewalk establishments. In a nutshell: if its tables have no cutlery, then just seat yourself, face the street, and sit quietly. Eventually, a waiter will approach. Say “Merci” when the drink arrives, then enjoy it as slowly as possible while doing absolutely nothing “productive”. Feel free to chat, if you happen to have brought a conversational partner, and otherwise sit in quiet contemplation of the urban scene around you, watching the people go by.

I am pleased to say that I did participate in this very Parisian ritual once during my two weeks in the city, at a randomly chosen café in the first arrondissement. I felt treated like any of the establishment’s native customers, albeit with the patient server kindly switching into English as soon as she heard the grubby accent of my “Bonjour”. When have I last felt so completely welcome by a foreign place, and so rewarded for putting a soupçon of assimilatory effort in? Emotions well up, just recalling the experience now, despite its utter (and utterly intentional) uneventfulness.

So, yes, I did get rather little work done in Paris, compared to my expectations. I breathed in the air, I’m afraid. I arrived determined not to stand out unpleasantly, a foreigner but not a tourist, and it seems I succeeded well enough to learn a half-lesson: I learned to participate in languid part of the French attitude towards life, but without staying long enough to comprehend how these people manage to get things done just the same.

But I have since returned to the United States, so I shall set aside this highly un-American apology to myself and come to the business of offering three suggestions, in order of decreasing impressiveness, for places in the city I did discover as laptop-appropriate. (Please do consider them an addendum to the lists in Elder’s article, if you wish.)

I found The American Library in Paris through a tip-off from my librarian spouse and traveling partner. A true oasis for any Anglophone in the City of Light who wants to sit ensconced in their mother tongue for a few hours — and who can get to the seventh arrondissement without too much trouble. (That’s the one with the Eiffel Tower in it.) Friends, I learned to ride the bus in order to get there.

Working at the library requires the purchase of a permanent membership or a visitor’s pass; the latter costs 10€ per day, or 30€ for a week. I gladly took the latter option, and made the library my daytime base of operations for the length of my stay in Paris. I found the space comfortable, the staff kind, and the vending machine in the lobby to serve the best vending-machine coffee I’ve ever tasted, because France.

Before discovering the American Library, though, I made use of the rather more visible Anticafé, a business located variously around the city. Besides explicitly welcoming laptop-toters, it features an intriguingly inverted business model: you pay a flat fee of 5€ per hour to stay, and during this time the staff will make all the hot or cold drinks you may desire. You can also make use of a kitchenette out back to fix yourself some snacks, like toast or simple salads.

The Louvre-neighborhood Anticafé let me take my first gulping breaths of internet after several days away, while seated at a bright, sidewalk-facing window, and this buoyed me. I stopped visiting Anticafé once I worked up the nerve to ride the ligne 72 bus from the hotel to the library (board at the front, press one of the red buttons request a stop, then exit out the middle only), but I feel thankful to have discovered it early in my stay.

And, both last and least, you can always fail over to Starbucks. I came across Starbucksen at around the same frequency as I would in any American city of significant size, which is to say that no major square went unblighted by one or two. The inside of every Parisian Starbucks looked like the inside of any other Starbucks I’d seen, including its population of my fellow sad laptop-hunchbacks. Its coffee tasted exactly the same too.

But I don’t list Starbucks here just to bad-mouth it: it’s good to have a fail-over, when in a foreign place. Not speaking the local language carries a heightened baseline of stress — even if you can get by with English plus basic host-language politesse. Sometimes you just want to slip back into your comfort zone, or something close enough to it, even if it seems to run against the spirit of your journey. And sometimes you don’t want to travel more than one block to get there.

To that end, I willingly entered a Starbucks in Paris at least twice, over the course of my trip. Maybe as many as three times. I state this with neither pride nor defiance, but in memory of the fleeting but valuable relief they brought me, with their watery café Americano and their free wifi, before resuming my role as foreigner under the Gallic sun.

Share or reply to this post on Twitter, or elsewhere.

Logo of the 2019 IFComp.The Annual Interactive Fiction Competition celebrates its 25th year in 2019, and for the third year running it offers the Colossal Fund, a special cash prize pool that gets shared among the authors of the top two-thirds of the year’s IFComp entries. It seems I’ve never promoted this here on Fogknife, even though the Fund began life during my own IFComp organizational tenure — so allow me to correct that! The Fund has proven one of the most popular changes to IFComp that I helped introduce, and I’m excited to see it pushing new boundaries this year under its current leadership.

The first two Colossal Fund instances handily met their respective funding goals, so this year IFComp organizer Jacqueline Ashwell has set it to $10,000, the largest so far. From now until mid-November, anyone can donate to the Fund through that blue PayPal button on the IFComp prize page. The Fund is managed by IFTF, an American charitable nonprofit, so all contributions are tax-deductible where allowed by law. Those who do contribute will see their name (or, if desired, an anonymous placeholder) enshrined on the Fund’s annual honor roll. IFTF retains any contributions beyond the maximum, and so far has always applied them directly to the following year’s Colossal Fund.

One subtle feature I especially like about Colossal Fund is the group effort involved at every level, and not just in the obvious facet of the many generous hands that build up the Fund every year. As IFComp organizer in 2017, I had the privilege of presence for the Fund’s inception, and so I know how Nick Montfort suggested the name in 2017, as a nod to Colossal Cave — whose iconic treasures get referenced in the names of the Fund’s donor-rankings. (And so we have “platinum bar” donors, “jade figurine” donors, and so on.) Andrew Plotkin led the design of its mechanics, including the graceful curve that determines which IFComp place-finisher gets how large of a portion, a system inspired by Etienne Vouga’s single-handedly setting up the Colossal Fund’s unnamed predecessor as a special IFComp prize in 2015.

I am a fan of that curve: each step away from first place getts a progressively smaller share, but only a little, step by step. This gently downward slope aims to avoid any hard feelings about losing a lot of money due to a one-place difference in IFComp’s final ordering, where entries sometimes end up separated by a hundredth of a point in judges’ collective opinion. And we intentionally kept the minimum payouts above ten dollars, just large enough to serve as a palpable token of recognition.

Speaking of judges: the competition always needs judges. Why not make some plans to join this year as a judge? The only requirement is that you play at least five of the mumble-umpteen games which will launch at on October 1, submitting your ratings through that website by November 15. You can find everything you need to know about the competition, its processes, and its history at that website (built, I will aside, largely by myself around 2014, and maintained since by a small team of excellent volunteers).

6 reactionsHow to respond to this post.

Previous post: Some observations about Paris