Published

Single `mv` command to change all filenames in directory to lower case and replace spaces

This is the mv command I use to change all of the filenames in my current directory from mixed case to lowercase and replace spaces with underscores.

for file in *; do mv "$file" `echo $file | tr ' ' '_' | tr '[:upper:]' '[:lower:]'`  ; done

The ; semicolons indicate the end of each line of this command. To break it down:

  1. for file in * loops over all the files in the directory. You could change the * wildcard to something like *.jpg if you wanted to only target JPG files.
  2. do mv "$file" instructs the system to move each file in the loop to the location that immediately follows.
  3. `echo $file | tr ' ' '_' | tr '[:upper:]' '[:lower:]'` is the location we’re moving the file to. We use the tr “translate” command to replace spaces with underscores, and then again (separated by the | pipe character) to replace uppercase letters with lowercase letters. Then we echo that translated filename.
  4. done lets the system know that the loop is done.

I use this occasionally to prep files for use on the web when working on a static site, one that isn’t hooked it up to a CMS.

Published

Thoughts on LAMP vs JAMstack content management systems

Chris Coyier recently published a CSS-Tricks post titled “WordPress and Jamstack”. It’s a great rundown of the pros and cons, and I’m in agreement on the whole.

The most important point for my own use cases is from the section titled “CMS and End User UX”.

Sometimes, we developers are building sites just for us (I do more than my fair share of that), but I’d say developers are mostly building sites for other people. So the most important question is: am I building something that is empowering for the people I’m building it for?

I really enjoy working on JAMstack (JavaScript, APIs, Markup) sites, the dev environment can be spectacular. It’s wonderful to not worry about deployment, HTTPS, caching. BUT. I haven’t yet found a JAMstack content management system (CMS) that I love, so it’s not something I feel super comfortable reaching for in the majority of my client work.

Read more

Published

Now online: Open-weather

Screenshot of the Open-weather website showing a storm over Japan

open-weather.community

The Open-weather website is online. A bit about Open-weather:

Open-weather is a project by Sophie Dyer and Sasha Engelmann probing the noisy relationships between bodies, atmospheres and weather systems through experiments in amateur radio, open data and feminist tactics of sensing and séance.

The site is pretty straightforward, a static hub for a bunch of resources hosted in various places including their PublicLab wiki and archive of amateur radio-generated weather data. The homepage is currently a large scrollable nowcast produced in collaboration by people across the globe. We decided to embed the Google Sheet archive directly in the site for now, though that may change in the future. We may do the same for pages such as methodology, to come later on. We’ll see!

The site is hosted on Netlify and the code is in a GitLab repo. Pls excuse sub-par commit messages and the very minimal README.

Sasha and Sophie are giving a talk at 14:30 UTC-4 Toronto as part of Our Networks distributed festival. Definitely worth grabbing a ticket, it’s super well priced considering how much Our Networks is putting on and absolutely worth supporting that org.

Published

Removing whitespace from around an SVG in Inkscape

For future reference, this is how to remove whitespace from around an SVG in Inkscape according to the version I’m running right now (1.0beta2):

Open up the SVG in Inkscape, then select all elements in the SVG (cmd+A). Click File in the top toolbar menu, then Document Properties. The dialogue box should open to the Page settings. Under “Orientation”, click the drop-down arrow “Resize page to content”, then click the button “Resize page to drawing or selection”.


I used to use Adobe Creative Cloud for loads of stuff but got rid of it a few months ago. It’s just so crazy expensive, and I never need it for client work anymore. Almost all of the designers I work with hand over Figma, Sketch, or Adobe XD prototypes nowadays, and I’m happy using Affinity for personal stuff (Photo for image editing, Publisher for a never-ending cookbook project, etc.).

BUT. I do sometimes have to manipulate SVG icon exports that have excess white space. Previously I used Adobe Illustrator to sort that out, now I use Inkscape. I use it so rarely though that I have no muscle memory, I always forget how to crop to the edges of an SVG to get rid of that whitespace. Now I won’t forget, fingers crossed.

Published

Decentering Whiteness in Design History, an annotated bibliography in progress

Check out Decentering Whiteness in Design History, an annotated bibliography in progress.

One of the great FemOS ladies shared the above resource recently. She came across it via the Simply Secure Slack chat. It seems like a strong doc, I hope that the researchers and others continue to add to it.

If you’re looking for resources on a particular topic like typography or graphic design, it’s best to refer to their hashtag list currently on page 8 (search the doc for “Hashtag Authority List” if it moves). Then find a tag you’re interested in and search the doc for that tag.

Below is a list of a few resources that caught my eye and I’d like to follow up on. These are all freely available online in one form or another or could likely be loaned from a library.

  • “The Font that Never Was: Linotype and the “Phonetic Chinese Alphabet” of 1921”, an article by Thomas S. Mullaney. The article is behind a paywall, but he also presented it at ATypI 2016 (see video).
  • Saki Mafundikwa’s TED talk Ingenuity and elegance in ancient African alphabets
  • Chromophobia by David Batchelor published in 2001. The editorial description: “The central argument of Chromophobia is that a chromophobic impulse—a fear of corruption or contamination through colour—lurks within much Western cultural and intellectual thought. This is apparent in the many and varied attempts to purge colour, either by making it the property of some ‘foreign body’—the oriental, the feminine, the infantile, the vulgar, or the pathological—or by relegating it to the realm of the superficial, the supplementary, the inessential, or the cosmetic.” Purchase from the publisher, buy it secondhand, or look for it at local library.
  • “New Blackface: Neuland and Lithos as Stereotypography”, an essay by Rob Giampietro that was originally published in the journal of the Type Directors Club (an org that has been been in hot water over the past few months, incidentally…). It’s available to read on his website.
  • Design in California and Mexico 1915–1985, the catalogue for the exhibition “Found in Translation: Design in California and Mexico 1915–1985” at LACMA in 2018. Purchase from the LACMA online store, buy it secondhand. Feel like this is unlikely to be in a local library unfortunately.
  • “Violence and Economic Growth: Evidence from African American Patents, 1870–1940” by Lisa Cook, published in the Journal of Economic Growth in June 2014. Cook analyzed over two million patents, cross-referencing with Census records to track Black patent activity over time. From the bibliography: “Her data suggested something huge happened after 1921 that caused the rate of Black patenting to tank after that date; it turned out to be the destruction of “Black Wall Street” during the Tulsa massacre.” Available in full as a PDF via Cook’s website.

Time to reintroduce a whole lot of color on this site, I think!

Published

Open source tools for multi-source and cross-format academic publishing

I’m working with Sasha Engelmann and Sophie Dyer on the Open Weather platform, an archive and learning resource related to NOAA satellite 🛰 imagery. Sasha just shared a few open source publication tools that were brought to her attention by a friend and fellow artist at her Akademie Schloss Solitude residency, wanted to add them here for further research and future reference.

Manifold: A platform for publishing academic texts online

Manifold is a free “intuitive, collaborative, open-source platform for scholarly publishing”. See their repo on GitHub.

Manifold powers the Fembot Collective including Ada, Fembot’s journal on gender, new media, and technology. Looks like Fembot has been working with Manifold since about a year ago when the platform launched their pilot. Read Ada 16: Emerging Gender, Media and Technology Scholarship in Africa.

It looks pretty cool (and so does Fembot + Ada!). Manifold can bring together a whole lot of different methods of writing such as Epub, Markdown, HTML, and Google Docs. Hence the name Manifold, I guess. This is incredibly useful when bringing the work of different researchers together. Also makes it clear to me that good markup in writing is so worth it.

Manifold wants to make a digital book much more than just a screen version of a physical book, something that can easily fold in explorations, supplements, and other resources that augment the main text. It also incorporates annotation and discussion settings to keep the conversation going.

I’d love to see a book that really heavily uses the platform’s unusual features. Metagaming: Playing, Competing, Spectating, Cheating, Trading, Making, and Breaking Videogames is a featured project that’s worth a look. The chapters are punctuated with metagames they’ve created that you can download and install.

As a reader, I feel that the typography lets it down a bit. I found it hard to read, particularly on larger screens. A slightly narrower maximum width to the main text column would help a lot. Losing the justification and greater paragraph indentations would help too. Manifold does have some theme options, but it doesn’t involve control over the typography.

If your priorities are bringing together content from a wide arrange of sources, incorporating the work of disparate researchers with varying levels of technical abilities, and relative ease of setup (the documentation seems comprehensive), then Manifold seems like an incredible tool. If you need to retain any control over the design though or if you also want print publishing tools, it might not be the right fit for the job.

And probably worth mentioning: I think you’d need at least a bit of technical know-how to get this set up safely and securely. Probably worth getting in touch with Manifold directly if you’re an org since they’re still in beta.

B-ber: A tool for single-source, cross-format, design-conscious publishing

Triple Canopy is a magazine that “resists the atomization of culture”. They’re responsible for b-ber, a tool for single-source, cross-format, design-conscious publishing. Here’s how they describe it in the b-ber GitHub repo:

b-ber is both a method and an application for producing publications in a variety of formats—EPUB 3, Mobi/KF8, static website, PDF, and XML file, which can be imported into InDesign for print layouts—from a single source that consists of plain-text files and other assets. b-ber also functions as a browser-based EPUB reader, which explains the name.

Their text introducing b-ber “Working on our thoughts”—title from the Nietzche quote “Our writing tools are also working on our thoughts” according to the footnotes—is a good read, explains the impetus and a bit about the ups and downs of how it evolved.

B-ber can only consume one input, an extended form of Markdown. This makes it more limited than Manifold in that regard, but the output options are substantial. It’s particularly strong for the design-conscious, the fact that you can import to InDesign and easily theme the browser-based EPUB reader is pretty fantastic. This is exactly the sort of thing I was looking for back when I was working at Occasional Papers!

The reading experience of the default b-ber theme (or whichever they use on their post) is nicer than Manifold in my opinion, it’s just a lot easier to read. There are some snags, but I imagine you could resolve these in a custom theme. Related to that, see their repository of b-ber demos and b-ber theme starter.

It’s definitely worth following the development of this project if you’re in to digital publishing. Their announcement post was published back in December, not very long ago! Excited to see how it develops.

As with Manifold, I think you’d need a reasonable amount of technical knowledge to get this set up. Since it seems to be more of an internal Triple Canopy tool that they’ve kindly made open source for wider use, they probably wouldn’t be able to provide as much support as Manifold might be able to. (This is just a guess though!)

My experience

Though I’ve been tempted, I’ve never built something that was meant to have a digital bookish-ness, everything I’ve developed has had online-first layouts and components in mind. Some sites have had fairly extensive print styles, but that’s usually as far as it goes.

The most common related problem I’ve run in to on sites with long-format academic writing is footnotes. I’ve never come across a CMS that handles footnotes well. Heck, even HTML doesn’t handle them all that well, there aren’t any appropriate semantic elements as far as I’m aware (though there were in HTML3?).

The only easily accessible markup system that works with footnotes AFAIK is extended Markdown syntax. To use extended Markdown on a client site though, A) I have to be sure that the client is on board with learning quite a bit of Markdown (they often are once they understand the benefit, but some are stubborn!), and B) it needs to be compatible with whatever layout system the designer has devised.

I used this approach a while ago on the Jock Kinneir Library site, as of right now they’re using footnotes on the Biography page.

This implementation wasn’t super straightforward since the site couldn’t use a single Markdown field for content, we needed more of a page builder to accomplish the layout. Because of that, I had to do some trickery to recompile the footnotes at the base of the page content as opposed to after each text section. Honestly I can’t 100% remember how I accomplished it… It’s on Craft so uses Twig templates, and I don’t think we had the time to make a custom module that would take advantage of server-side logic. I do remember that it was a bit hackier than I wanted, but it safely accomplished what needed to be done.

If I need to include footnotes or something similar in the future, I’ll probably refer to this comprehensive article on footnotes, endnotes, and sidenotes (via @s3ththompson).


Would be curious if others have come across similar free, open source tools, or if anyone knows of work being done on the HTML spec to get some progress with footnotes.

At any rate, all of the above just reinforces my opinion that anyone who writes, regardless of how tech-savvy, should learn how to write in Markdown at minimum, ideally the extended syntax. If your archive of writing is in a machine-readable format, you’re miles ahead should you ever wish to publish it somewhere remotely digital or want to convert it to an IDML file or something similar.

Edit 24 September 2020: Added link to article about sidenotes.

Published

Command to delete all `node_modules` directories

How to delete all node_modules directories from your computer

Sam just pointed out this article, so useful! I ran the command to check how much space my node_modules folders are taking up, it’s 6.2G in total. Probably more on my external drives. Not necessary for sites I haven’t touched in quite a while (particularly since I’m still trying to keep my old laptop kicking…).

Published

Finding the rhythm

I’ve finally fallen in to a decent daily rhythm, it’s taken a while post-move.

My ideal routine seems to involve being at my desk around 8:30am, then calls and correspondence with UK+EU clients and collaborators until 10 or 11.30am (depends on the day). A bit of toast or something, then try to get my head down on a particular dev task for 1–2 hrs before lunch. Not a lot of time to finish any one thing, but can usually at least progress with something. This is a good window for writing, actually! After lunch, a bit more correspondence with folks in North America and then try to get my head down again until the end of the day. That’s usually when I get the most tricky stuff done.

Of course not every day looks like that, but I think that’s what I need to aim for. When it’s thrown off, particularly when I have to interrupt the head-down time for some reason, I tend to feel like I haven’t accomplished anything in the day. Which is garbage, b/c of course I have got some stuff done. Still, it’s not a nice feeling.

Also I was doing so well with exercise before we moved, now have fallen of the horse. Need to work that back in somewhere.

I also need to be careful about not working too long of hours… It seems easy to slip in to overworking during lockdown since there’s SO LITTLE TO DO. But inevitably I start to feel burnt out after a few days of carelessness, even if the overworking is on projects I’m super thrilled about. Just need to keep tabs on it.

Published

Commonplace WordPress theme

I’ve been gradually updating the WordPress theme that powers this site with the help of a very talented designer and thinker, my friend Bec Worth.

It began with conversations about overhauling her own site. She had a few disparate Tumblrs with a ton (and I really do mean a ton) of great references, photos, and more that had accumulated over the years. All of them had fallen in to disuse for one reason or another, but she still felt like some sort of outlet for collecting these sorts of snippets and longer-format writing would be really useful. She brought up the Commonplace book as a particular inspiration. I’d never come across it before but it really resonated.

We continued talking about her site, and I started to restructure my old color-heavy Notebook theme (view in Wayback Machine) to strip out the less necessary functionality, improve the accessibility, etc. I wanted to make it something that could be more widely useful to not just me and Bec, but others as well. The early version of this new theme used variable Work Sans (view in Wayback Machine)

She liked where it was going, so we got her set up on a WordPress instance and used the Tumblr importer to pull in all of that old content. Since then, we’ve been using her log and my site to test out ideas and continue pushing the idea of what a Commonplace Book could be on the web. For more along these lines, I recommend reading her post “What would a Commonplace Book feel like on the web?

What’s next

It’s far from finished. The type is nowhere near as tight as Bec’s designs, I need to spend a bit more time on that! Amongst other things, I need to clean up the table of posts, add a thumbnail view, and improve the gallery block styles. We’re also going to figure out a way of highlighting work and other projects, something that draws a bit more attention than normal posts.

And color! We’d like to make it possible for people to select preferred text colors, maybe on a post-by-post basis or per category. Color is tricky though, I’d like to preserve some baseline of legibility and I’m not sure how much I could do as the developer to enforce that. Also, how do we handle this if we introduce dark mode support? The HSL or LCH color spaces might be helpful.

I’m not planning to submit this to the WordPress theme directory. Right now, this means that installation and updates are pretty manual, the theme has to be uploaded via FTP before it can be installed. Because of that, I’ll eventually set up an update server so that anyone using the theme can perform one-click updates from the WordPress admin area. Note to self: see this article for more on how to do this.

Realistically, people using the theme might want to change up certain aspects of the theme to be more “them”. Instead of adding a ton of theme options like font pickers and that sort of thing, I’d like to encourage people to tinker with it themselves. This is going to require a bit of documentation to point people in the right direction. I’ll probably start with how someone with little-to-no CSS experience could go about changing the font (i.e. upload font files in the Media library then add the necessary CSS lines in the Customizer, or setting up a child theme).

Clearly, it’s a work in progress!

But anyone is welcome to give it a try for themselves. I recommend it if you’ve been looking for a place to keep important references or get thoughts out of your head. Head to the commonplace-wp-theme GitHub repository to download it and read a bit more.

If you do end up using it, we’d love to know.