George Francis on Voronoi tessellations in generative art. Enjoyed this. Seems like a decent alternative to circle packing at least some of the time.
Elise Hein on her experience with stackless dev. The minimalist in me is pretty much always interested in this angle on web development.
WebComponents.dev on all the ways to make a web component. Lots of charts. Prism and Svelte look intriguing.
Josh Comeau on designing beautiful shadows in CSS. The techniques definitely make a difference.
Fleta Selmani’s Escheresque impossible type (via
Kottke). Love this.
Google’s Well-Tempered Traveler. Love this. Baghdad in July, though — whew.
Matthew MacDonald on whether Canvas rendering might replace the DOM. I like Canvas a lot, but I hope this potential future is far from the timeline we’re living in.
Astro is an intriguing newish static site builder.
Tom MacWright on alternatives to SPAs, also in a similar vein. I need to look more into the projects he links to.
The Science Museum Group’s Never Been Seen collection. Fun idea. I was the first Internet person to lay eyes on this dental stopper, for example.
Samo Burja on why civilization is older than we thought. Göbekli Tepe, Sumeria, and more.
vfoley on making reasonable use of computer resources. Data-oriented design has now snagged my curiosity. I think about this overall topic fairly often, though I still haven’t done anything about it. Also in this vein: Craig Mod’s essay on fast software.
Robin Sloan on having newsletters live on the web and just emailing out a link instead of the full thing. My own newsletter has been sadly dormant for the past several months, but when I revive it I plan to do this.
Josh W. Comeau on how styled-components works. This was good.
We’re overdue for some kind of general life update, I think. Weeknotes-that-are-not-weeknotes:
- The health issues I referred to in May are still largely unchanged, though I’ve come to terms with it enough that I should probably stop using it as an excuse for lower productivity. (I do need to rest more than I used to, but I also feel like I’m spending proportionally less time making things than is warranted. I’m now tracking my time using a completely rewritten version of Momentum, so I should hopefully have more actual data to work with soon.)
- We’ve also had a month of worrisome family medical issues (including two late-night ER visits) that have been weighing me down.
- On the plus side, I got some lab results that finally motivated me to start exercising more and make real changes to my diet. I’m three weeks in and the lifestyle adjustments seem to be sticking. Fingers crossed.
- The rising case counts and Delta situation certainly is discouraging. My faith in humanity in the aggregate has eroded significantly over the past year and a half.
- In spite of a spectacular lack of public results, I’m still writing, slowly. (Much more successful at avoiding it.) In the middle of figuring out a process that consistently gives me a) results that b) don’t make me cringe.
- I’ve been trying to keep artmaking to the weekends so I have more of a chance at making progress with my writing, but it doesn’t seem to be working as well as I’d hoped.
- Another thing I’ve been itching to do is get back into making web-based art tools like Cirque (which needs a lot of improvement). Several ideas here I’m excited to work on.
I seem to have forgotten how to blog. (Actual blogging, as opposed to merely linking to new art.) In an attempt to get back on the saddle again:
Outside of art, my project time lately has primarily been swallowed up by some internal tooling changes. I alluded to this back in June, though the plan changed along the way. Rather than merging all those apps into one behemoth conglomerate, I decided it would be better (along at least a few axes) to follow the Unix philosophy and stick with smaller tools that do one thing well. Which conveniently lines up with the set of tools I’ve already built. Fancy that.
In fact, it was so liberating and fun that I plowed onward and decided to ditch Vinci (my internal blog/notebook app) and build a new app, Leaf, using the same technique; the only JS it uses is for keyboard shortcuts. It’s simpler, easier to maintain (I think? it’s still early on), and in a way it feels more in line with the grain of the web.
One other thing I did differently with both apps was to wait to write any CSS until after the functionality was all in place. It was disconcerting and delightful, building something with bare browser styles, and it certainly helped me focus on functionality first rather than getting distracted by layout.
Conclusion: while I doubt I would ever build apps at work this way, this old-school mode was invigorating and absolutely worth it for these personal projects.
At work I recently had a use case for Go 1.16’s new embedding feature. Incredibly easy to implement (literally one or two minutes). Worked like a charm.
Tangential note that doesn’t completely relate but whatever, I’ll throw it in: every time I think back on embedding (which is not that often, thankfully), my brain gets all excited about compile-time execution in Jai and in Zig. (Both are languages I’ve only read about, to be clear. Might be time, though, to start building something in Zig.)
I used to use Fabric to deploy my personal apps, but I often ran into issues with it, so several months ago I switched over to simple shell scripts that use ssh. Much more resilient, and far easier to maintain (at least for me).
Here’s a sample of what one of these deploy scripts looks like for a Django app:
ssh myusername@myhost /bin/zsh << EOF
echo "- Pulling the code"
git checkout main && git pull
echo "- Restarting the app"
supervisorctl restart myappname
echo "- Running migrations"
/path/to/venv/bin/python manage.py migrate
echo "- Collecting static"
/path/to/venv/bin/python manage.py collectstatic --noinput
I’ve thought about using a CD pipeline instead, but I’m not convinced that introducing an extra dependency — no matter how slick — is actually worth it for something small and personal like this. (CI/CD sure is nice at work, however.)
Katherine Rundell on giraffes. Unexpectedly fascinating.
Sokyokuban, a Sokoban game set on a hyperbolic plane. Mind-bending in a great way.
Shawn Wang on preemptive pluralization when developing software. This seems like a wise practice. (Not following it has bitten me more than once.)
Michael Mulet on how he made a video game in a font. Fascinating and horrifying.
Alan Jacobs on blog gardens. I’m particularly intrigued by the idea of writing about the same topic in depth over longer periods of time as a way of organically writing what effectively amounts to a book.
Rob Weychert’s Plus Equals, a new zine about algorithmic art. The first issue was good, looking forward to future installments.
Riccardo Scalco’s Textures.js, SVG patterns for d3.js. Yum. I don’t even use d3 (at least not right now), but I’m tempted to do something with it just so I can use these.
Jason Kottke on the invention of a new pasta shape. Max sauceability as a concept will stick with me for a long time, I think.
Rytis Bieliunas on some of the darker corners of Go (the programming language). I’m writing a lot of Go at work now and this was helpful.
Austin Kleon on blogging as a forgiving medium. The idea of continually editing and refining posts after publishing them intrigues me. I fix typos if I find them, but that’s about it at the moment.
Iain Bean on system fonts. I didn’t realize Charter is now a system font. (In macOS, it was apparently added in High Sierra.) That’s great.
Thomas Dimson’s This Word Does Not Exist. Words generated and defined by machine learning. It’ll be interesting to see how machine-generated content affects culture going forward.
Samuel Arbesman on Newtonian anagrams. Fascinating historical tidbit, and I’m interested in reading that Newton bio, too.
Hannah Ritchie on the drop in land use if the world switched to a plant-based diet. I’m not a vegetarian (though I was for a time when I was younger), but if plant-based meat substitutes get tasting good enough, I’d have no problem dropping meat from my diet. (I am shallow.)
Hynek Schlawack on the limitations of semver. Good points with some good advice.