Jon Ericson

I'm currently looking for work:

The source of this site can be found on GitHub.

Status Netlify

My logo is ripped off from Don Quixote, 1955 by Pablo Picasso. Back when I was active on Usenet, I wanted to start using an X-Face, which is a 48x48 black and white image format that can be embedded in posts or emails. Automatically converting images tends to result in something of a mess:

X-Face version of my current profile picture

I'm using this online converter, but it doesn't tend to matter. Extreme compression sacrifices quite a lot of detail. For reference, here's the code needed to render that image:

X-Face: DSyNvIaDL&l#a%6<8=5!`92or[/V'U4zr'cmo]+alpAA}<w/1:ZXe5sy0ogc6D%X||C<6jH

Meanwhile, images that are already low density look pretty amazing even enlarged 4x so the pixels are more clear:

X-Face image of the Don Quixote, 1955 by Pablo Picasso. It's highly

Remember Geek Code? Here's a modern version:

profile for Jon Ericson on Stack Exchange, a network
of free, community-driven Q&A sites

If you want to send me a secret, I have a Keybase account. I also use one of those GPG keys to sign my commits.

Project Euler account

The Eric Conspiracy

Why Jekyll?

Over the years, I've used a number of blogging options, including:

Of those, my clunky, manually designed Geocities page was the most satisfying. I won't go into detail, but each of the other options are limited in some way or another by the whims of the blog software developers. With a hand-built page, I just edited some HTML and FTPed it to the server. If anything looked off, I fixed it.

One of my frustrations with building my own web page was writing HTML. Having to open and close tags makes authoring in HTML a tedious pain. I would have preferred to write my blog in Pod or, better yet, LaTeX. While that would solve the authoring problem, it also requires complicated and error prone *2html scripts. In 2001, I wrote my resume in Pod. It started with this section:

=begin latex




\enlargethispage*{1 in}

=end latex

So, that's LaTeX embedded into a Pod file that I used to generate a PDF. At the time, I'd hoped to use that same source to generate HTML. But none of the options (including creating my own script) worked the way I liked. So I resigned myself to authoring HTML manually.

Enter Jekyll, which uses Markdown. The idea behind Markdown is to formalize conventions of text-only communication (such as pre-HTML email and news groups) into a robust markup language. It's reminiscent of a simplified and polished version of Pod. As a programmer and an author, it's all I could ask for.

Conversion to HTML would still be a problem if it weren't that Jekyll uses Liquid templates. I'm addicted to subtitles, which is not an option provided by the base theme. No matter. I just added a line to _layout/page.html:

{% if page.subtitle %}
  <h2 class="post-subtitle">{{ page.subtitle }}</h2>
{% endif %}

Then I can add in the front matter of my page:

subtitle: In which the author spoils his own punchline.

Finally, when I save those changes in my editor and if I have Jekyll running as a local server, I can check my work by refreshing a browser tab. That reduces the edit-compile-run-debug cycle to (almost) the bare minimum. The one tweak I'd like to make is for the page to be reloaded automatically when I make a change.

On the hosting side, GitHub Pages are served by a GitHub repository. Instead of FTPing the output, I just push the source from my local machine. If GitHub stops hosting pages, I'd have all my content and the tools I need to generate it under my control. I get the best of both cloud and local storage with automatic version control built right in. (My Geocities setup was backed by RCS, but that was considerably less convenient.) If you are a programmer who likes to write, there's no reason not to try it out.

I'm testing out hosting on:

Unexpectedly, Jekyll imports several of my legacy blogs seamlessly. I no longer need to rely on the Wayback Machine to serve my Geocities pages or my Medium posts. All I had to do was put them in sub-directories under my source directory and Jekyll collected them into the site. I have my Blogger and blogs saved as XML files ready to be deployed if needed.