I am absolutely cheating, here, but today marks the start of World Space Week, recognizing the span between the anniversary of the Sputnik 1 launch to the signing of the Outer Space Treaty that basically everybody ignores. This year’s celebration is themed around women in space, so if you’ve been dying to start conversations about Valentina Tereshkova, Christa McAuliffe, Mae Jemison, or any of that crowd, this week is your excuse.
It’s also World Architecture Day, World Habitat Day, and World Animal Day, if you’d rather keep your feet on the ground.
So, let’s get to the week’s code.
I’ve continued to tinker with Ham Newsletter, primarily just cleaning things up.
I updated the blog’s code to create a way of visually identifying posts that I haven’t yet (marked as) proofread. Jekyll exposes a
jekyll.environment property to posts, which I can test using Liquid. By default, the value is “development,” but I can set it in my build script to “production,” so that readers (like yourself) can’t see the different CSS.
This should serve as a reminder, whenever I feel the need to revisit a post. If I haven’t marked it
proofed: true in the post’s frontmatter, it shows up as an uglier post, so I should at least run my spelling and grammar checker to pick up the most egregious errors.
I have a lot of different kinds of notes, unfortunately, and they don’t mix well. My various archives include a variety that includes—but probably isn’t limited to—the following.
- These blog posts, written in Markdown.
- Issues of the newsletter, also written in Markdown.
- Text files on various topics related to business and fiction ideas from as far back as twenty years ago, plus ideas branching from those ideas. If I need a list of television stations derived from something that comes from Free Culture or public domain fiction and won’t accidentally overlap with a real channel, that’s in there, somewhere. Oh, and while most of these collections are managed using git, this collection is in a Mercurial repository, because I liked it better back then and incorrectly thought it would become the industry standard.
- Lecture notes from my years of teaching, mostly in Markdown.
- The notes that I used to maintain with Boost Note, but now maintain with my own Miniboost. The notes are written in Markdown embedded in CSON, the CoffeeScript version of JSON.
- A “workbench” of different folders representing various non-code projects that I might be working on at any given time. There are partial board games, works of fiction, role-playing games, translations, design documents for possible browser games, and so forth. That’s where I keep the sources for Seeking Refuge, for example. Most of that is in Markdown, but some of it isn’t.
- The usual “Documents” and “Downloads” folders, which could include just about any kind of file. Unlike the other collections, these aren’t managed under version control.
- A couple of backups of twenty-year-old systems, which are snapshots of whatever I was working on and reading at the time, which I wanted to take another look at. Again, these could be in almost any format.
- A nightly journal to review what I’ve accomplished, what I’m eating, what I remember that I need to take care of soon, and anything else that might come to mind while I’m dumping out the rest of that information.
- Code, some of which is downloaded for use, rather than something that I work on. Most of this is text-based, but could be any programming language.
You get the idea. When I remember that I’ve written something about whatever I’m about to work on, I need to figure out where I might have written about that and what program(s) I need to see the information as I originally intended it. This isn’t even the end of it. What if the comment was in the middle of a webpage that I read last year, or brought up in a chat on any number of services?
Right now, the repository is empty, just created yesterday, which leads me into…
Expect INTERN to be the primary focus for at least the next few weeks. My main goal for just this week is going to be a program that can monitor a list of folders—specified in a configuration file—for changes, identify their formats, and concoct some sort of index that isn’t just a redundant copy of all my content in the database.
If that’s finished, nothing else comes up, and I still have time left over (or I just get lost devising the index values), I’ll also want to either have the program respond to a simple API (so that I can write clients that use it) or detect whether the files are managed under version control and would therefore have more metadata available for them.
Credits: The header image is the logo for World Space Week by QWqDk, made available under the terms of the Creative Commons Attribution Share-Alike 4.0 International license.
Tags: programming project devjournal