My Hadean Lands links and endnotes (March 27, 2022)
Links to my completed Hadean Lands play-stream, as well as to some key supplementary material, and some reflection on my experiences with it all.
Stuff I did (and stopped doing) in 2021 (January 3, 2022)
My 2021 was less about accomplishment than revision. Most of it was good, and none of it was easy.
A new audit of Perl’s documentation (December 31, 2021)
Announcing a new information-architecture study of Perl's documentation, including many detailed reports and actionable recommendations.
OBS is pretty great (December 26, 2021)
I've been having a lot of fun streaming weird text games via OBS.
Regarding “Rooms as UX Metaphor” (November 15, 2020)
A few thoughts on the November 13, 2020 episode of Jay Springett’s excellent weekly podcast Permanently Moved, titled “Rooms as UX Metaphor” :
A new guide about Bise (September 5, 2020)
I’m pleased to announce a new guide to installing and using Bise, my simple log-analysis tool for measuring a website’s recurring readership. My thanks to Linode for lending me a platform to share this guide with a wider audience than my writing usually has — and I suppose I can enjoy some fun irony about that, given the subject matter.
I might call it “Scaredy-chat” (September 3, 2020)
My latest attempt to untangle — and then braid together — my many incoming chat streams.
I like date-based version numbering (July 19, 2020)
I've been experimenting with giving my software projects date-based version numbers, and have hit upon a scheme that I think I like.
Announcing Whim, a Webmention multitool (June 23, 2020)
I have released Whim, a command-line program for working with webmentions: those multi-purpose messages whose potential to transform the web has fascinated me for years.
My Jan/Feb 2020 TPF grant proposal (February 25, 2020)
I submitted a grantable project proposal to The Perl Foundation's Jan/Feb 2020 CFP; it's open for public comment now.
A surprising lesson about “User-Agent” headers (February 17, 2020)
When investigating software bugs, simplify the problem space as much as possible -- and then explore every angle that simplified space offers, no matter how unlikely.
BumpySkies is my masterpiece, alas (October 25, 2019)
Three years ago I thought this project was my future. I have let that dream go.
Let’s rename “the 7-minute workout” to “the Klika-Jordan workout” (September 26, 2019)
Researching the origins of the so-called "7-minute workout" led to many surprises, including a much more sensible name for it.
Announcing Sweat, a flexible and distracting workout timer (September 16, 2019)
With pride and pleasure I announce Sweat, a new workout timer that means to distract you from the pain of exercise by reading aloud stuff it finds on the internet.
Discovering News API (and releasing a code library for it) (July 28, 2019)
Earlier this month I discovered News API, a service that provides just what its name implies: a handful of API endpoints that result in JSON-based summaries of current news stories from around the world. You can get a stream of new headlines, or search through all recent stories in its database, filtering on various criteria. Its documentation includes some example output.
Narrascope! and other stuff I’m doing this year (May 10, 2019)
I'll be reading my work in Providence, then ushering in a new game conference in Boston, then who knows what.
For Pi Day, I restarted @AcrosticPi (April 13, 2019)
I've refreshed and relaunched a Twitter bot I created five years ago, one that recites the digits of π entirely through other peoples' tweets.
Introducing Brickfielder, a Seven Minute Workout timer (November 18, 2018)
I have released a simple and highly opinionated timer program for the Seven Minute Workout. It's tiny and free and runs on macOS.
Announcing two new IndieWeb modules for Perl (April 22, 2018)
The modules implement metadata techniques that help authors publishing on different websites meaningfully link up their respective work.
More thoughts on counting blog readership (January 17, 2018)
I continue to grind my gears over the tricky problem of measuring blog readership (and not just raw traffic) with any degree of confidence.
Announcing Bise, a blog-readership reporter (January 3, 2018)
I announce the first release of Bise, a little tool for measuring the readership (distinct from overall traffic) of one's blog.
What I shipped in 2017 (December 31, 2017)
Looking back at the projects, organizations, and interesting changes I helped make this past year, and why I did any of it.
I spoke about BumpySkies at TPC 2017 (July 6, 2017)
I presented _BumpySkies: A Passion-Project Postmortem_ at [The Perl Conference 2017](http://www.perlconference.us/tpc-2017-dc/) in Alexandria, Virginia last month. It remixes [my!!Con 2017 talk from May](http://fogknife.com/2017-05-13-my-con-talk-and-other-notes.html), adding five minutes of newer stuff at either end. In this 20-minute talk I tell more or less the complete tale of how I spent much of 2016 making [BumpySkies](http://bumpyskies.com), a commercial-flight turbulence forecaster. While it works just as I’d hoped, I kind of dunno what to do next with it — and the increasingly anti-scientific stance of the country that provides its data gives me concerns for its longevity that I didn’t have when I began the project.
I drew a map to organize some cables, and then I organized the cables (June 24, 2017)
This photograph shows the area behind my televison, as of a couple of weeks ago. I must confess that it has become a bit hairier since, with the addition of some new toys I intend to write about in the near future. But I can also state that the depicted tangle has nothing on its prior state, before I applied those black, tube-shaped cable-bundlers you see snaking among the nest. I had purchased them last year, but didn’t figure out how to use them before this month. My key insight came when I realized I had to draw a map.
Alisio: prettier, and more accessible
(April 19, 2017)
Not content with Alisio’s simple black-text-on-white-field output, I added a new and fancy feature to the script. If the target blog’s most recent post contains an image, then Alisio will add a piece of that image to its output, fashionably cropped and resized so that it fills the whole width of final image without taking over its whole height. It will furthermore change the background of the text to the “average” color of the illustration (more on which below), also changing the text color to a light gray if needed.
Bayamo, a braided chat-stream viewer (April 18, 2017)
As I’ve used it continuously for more than a week, I shall share (if not release, exactly) Bayamo, a prototype for an idea of uncertain merit. Bayamo’s ideal: gather many continuously streamed sources of small bits of text — one’s various social media and chat channels, for the most part — and then funnel them into a single, non-interactive view, suitable for use as visual background to one’s work.
Introducing Alisio (March 16, 2017)
I just published Alisio, a free and open-source tool that allows bloggers such as myself to easily tweet text-as-image previews of recent posts. The results look like this:
Automatically posting Twitch broadcasts to Slack (February 22, 2017)
I wanted to set up one of my social Slacks such that a notification would automatically appear in the main chat-channel when I, or another of our circle of friends, started broadcasting gameplay on Twitch. I got it working, more or less! You’ll need a certain level of nerdcraft to follow the path I found, including access to a Linux server and knowledge of crontasks.
Sharing Sixis, and why I stopped publishing iOS apps (December 20, 2016)
This week I published to GitHub the source code and assets of my iPad adaptation of Sixis, a clever little dice game designed by my friend Chris Cieslik and published by Asmadi Games. I made this edition available in the iOS App Store between 2012 and 2016, but with digital sales falling below the break-even point, Asmadi and I agreed to wrap it up this year and share the source with the world. (The physical game remains available directly from the publisher, and I might suggest that it makes a nice stocking-stuffer for seven bucks.)
Announcing BumpySkies (December 8, 2016)
A full year after starting work on it, I’ve launched BumpySkies, a free, web-based turbulence forecast tool for most any upcoming flight within the continental United States*. I’ve been talking about writing a book for my fellow nervous fliers for some time, but it turns out that this is what I had in me instead: an interactive tool to help both them and me manage our fears.
Introducing TwitterSplit (August 13, 2016)
I just published a new tool called TwitterSplit. Paste in an essay or another hunk of text too long for Twitter, hit the button, and receive back a tweetstorm ready for pasting into the client of your choice. You can optionally have “page numbers” appear at the front or back of every tweet, or stamp them all with a certain hashtag. The tweets’ length in any case will never exceed 140 characters each.
Plerd has a homepage and mailing lists (February 13, 2016)
Determined to make good on my desire to foster a sense of community for Plerd beyond its naked GitHub page, I created a simple homepage for the open-source software that powers this blog. Includes a boastful (but entirely true!) bullet-list of features, and link to a couple of mailing lists I’ve just launched. I encourage readers interested in using Plerd to check it out.
Introducing Starble (November 1, 2015)
Each post on this blog, when viewed on the website (versus an RSS reader or the like), now concludes with a little button containing a star and a number. These buttons appear by way of Starble, a weekend project inspired by last week’s thoughts about how I use various online services’ “fave” buttons.
A little jaunt through the bitwise (August 29, 2015)
I consider myself a practical programmer. I work almost entirely in higher-level languages that don’t concern themselves with the deep details of a computer’s deep operations and core calculations. Whenever possible, I also use frameworks and libraries developed and maintained by other, smarter people to further abstract away the computational busywork between myself and my goal.
Installing Oracle on a remote server with a Mac: a few notes
(June 23, 2015)
I have spent the last two work-days wrestling a copy of Oracle Database 12c onto a remote server running Red Hat 7, for the benefit of a client’s Oracle-insistent legacy application. This oversimplifies the matter a bit; I actually spent most of yesterday trying to get the older Oracle 11g onto the thing, before learning that it simply doesn’t work with the latest RHEL, and thus necessitating a conversation about what downgrades, upgrades, or givings-up the client would rather see before trying again. Either way, getting a fresh Linux machine to a state where it has an Oracle DB ready to accept queries still constitues a plodding, ornery process, at least to someone far more used to working with nimble open-source databases like MySQL, whose installation instructions don’t carry a soupçon of embarrassed apology whenever they involve the command line.
On keeping a single ideas-file always handy (April 19, 2015)
This morning I released “an inch-long universal text encoder”. You may wish to play with it for a minute or two before reading this post any further.
Jmac.org called shots: spring 2015 edition (April 5, 2015)
I write this post to help convince myself that YAPC: :NA, [at which I plan to give a talk about Plerd](http://blog.jmac.org/2015-03-16-speaking-at-yapc-2015.html), happens in two months, and further that this does not represent a whole lot of time. By happenstance, my current clientele largely comprises seasonal businesses, and _I love my clients_ but that does mean that I must spend springtime deep in the mines. All time spent at my computer but not on billable hours begins to feel irresponsible; hell, doing my _taxes_ feels like bad customer service, this weekend.
Boosting communities through semirandom challenges (April 4, 2015)
One night back in Cambridge I found myself dining on waffle fries at Charlie’s Kitchen in the company of a few local games-n-tech people. The subject turned to interactive fiction, an interest of many at the booth, and the person sitting across from me tried to goad me into taking the parser’s side in an impromptu Twine -versus- Inform debate. I demurred, offering some lines about the equal validity of both approaches. Another friend then decided to take my position for me: “Listen, he just likes Inform because it’s weird and difficult. He also programs in Perl.”
A new text game by me, and other recent game work (March 19, 2015)
As detailed over on The Gameshelf, I wrote a short interactive story called The McFarlane Job for House of Cool, a creative studio in Toronto, to help them show off their new platform for games that resemble SMS conversations. Do give it a look!
My IFComp 2014 post-mortem (January 5, 2015)
Here I shall answer a few questions posed to me via email regarding my work last year on the Interactive Fiction Competition. (These questions came to me from Emily Short, who has in turn excerpted this post for a huge and comprehensive article about interactive fiction competitions, anthologies, and shows.)
What I built in 2014 (January 2, 2015)
A brief retrospective of the personal projects I shipped over the past year:
My minimum-viable year (December 31, 2014)
This image excellently sums up one of the most important adjustments I made to my software development philosophy this year, both personally and professionally. (I can’t find who made it, and would love to offer credit if anyone could clue me in.)
A first post on Plerd (December 29, 2014)
Time to re-launch the jmac.org blog yet again. What have we got this time?
Added to GitHub: Volity, Warbler
(January 12, 2014)
While I’m here: I’ve added two repositories to my GitHub account since my last visit to this blog.
Spoilerific is on GitHub (June 10, 2013)
The source for Spoilerific is now shared on GitHub. Enjoy…
Putting Twitter back into Octopress (March 30, 2013)
Update: This blog no longer uses Octopress, as it did when I wrote this post in 2013. (It now uses an Octopress-inspired engine of my own design ). However, to the best of my knowledge, the information in this post remains true. If you came here via a link or search, I hope you find it useful.