I've had various little undocumented utilities
hanging around that didn't share a clear connection in terms of design. I
recently needed a desktop calendar to track some personal stats and decided to
riff on Note Pad for its UI, which is itself already
a port of the classic Macintosh program. To tie it all
together, I gave the same treatment to the music player, which was inspired
from the first generation iPod. They all look really nice next to each other
now.
I seem to be alternating between working with html and Lua/LÖVE. In the last few days I've been trying to extract some more timeless tools out of the ad hoc static site I replaced my old Rails website with a couple of years ago. Here's the project. Requires just Lua (any version after 5.1) and nothing else. In particular, it doesn't mess with any Markdown variant, just leaves you to edit raw HTML.
There's 3 tools that you can use independently:
- slapping a common template around many files/pages/posts
- generating paginated index pages for a list of files/pages/posts
- autogenerating a feed of the most recent posts in a list
All 3 tools use a common data source of a) files with some `---
` metadata up top and a small number of VARIABLES
that get substituted in, and b) index files containing a list of files that constitute a site.
All 3 tools are single-file and so self-contained and easy to move wherever you want, mix and match. For example, my site has two distinct blogs (main site and devlog). I run the first tool once and the others twice each.
I can't quite cut my site over to this, though. Open questions I ran into with my site:
- How to style the pagination links. Those bits of html are hard-coded in the generator.
- Some of my older blog posts have no titles. Then I want to show the date in the
<title>
tag, but show no title in the <body>
(because I already show the date and it would be redundant). It's unclear how to do that without a whole templating language.
I'm sure there are others. SSGs seem to be one of those things that everyone a unique-snowflake version of. But check it out if you're willing to leave Markdown behind. Using HTML is more accessible than Markdown. For example, it lets you distinguish a couple of key categories of <code>
: keyboard shortcuts with <kbd>
, references to names in other snippets with <var>
and computer output with <samp>
. Markdown's backticks can't do that. It doesn't matter if you never share your posts, and it's natural to not want to look at HTML given how monstrous it can get. But HTML also has a lovely core that a lot of civilizational effort went into, and it's sad that layers above don't use all of it. A little more manual labor can provide a nicer reading experience for others.
For the last three weeks and up through May, I've been acting as a teacher's assistant for a course introducing computer science and project planning fundamentals. This has been a highlight in between the more pertinent work of moving forward immigration affairs. It is fascinating to see how younger people relate to computers now, and to some degree I'm not sure that teaching has changed all that much. Yes, students can "cheat" with generative AI, but it wasn't all that long ago when the most visible solution online was Experts Exchange, a popular means to give folks (bad) advice absent useful reasoning, for a fee.
Events of the last month have reminded me that even family members I often look up to tend not to recognize trouble is brewing until it affects them. I am doing my best to be patient, as I try to move quickly when I can, when there is news to act upon.
It's warm again in Bucharest at the end of January. The weather forecast says we'll have a winter without snow. That's unheard of. Even last year we had a little, a couple of times. Things are changing fast.
In other news, I'm still burnt out on coding, after doing way too much of it last year. Note to self, that can happen even with one's main hobby. That didn't stop me from releasing a new version of
AntiWiki, because I'm using it more again, and it was lacking.
But mostly I've been working on my websites. Lots and lots of that. Learned all kinds of new tricks. Made some experiments, too, of which I can announce a couple at last: my redesigned
photography website and my new blog.
Overall, I've been a lot more active again starting in December. It's obvious from the amount of notes I've been taking. That's a good sign.
February started with a cold spell for a change. Not even as much as last year, but I'm no longer used to it. Didn't stop people from going out a lot, anyway, myself included. And now it's all sunny again.
2025-02-02 Goblins - a
It was a busy, cold month. I am doing my best to not read headlines, because the 24-hour news cycle only serves to overwhelm, and to distract. When things go to shit, art is and will always be a worthwhile refuge.
ARTICLES. I wrote a post detailing on why I stopped drinking alcohol: no alcohol.
ART. I participated in Goblin Week and drew lots and lots of goblins! My focus this month has also been into making a 1-bit version of oquonie for Playdate, I revisited all of the assets for the project. This version of Oquonie was shipped with the soundtrack from the original iOS game! This month I also designed some very cute two-headed beasts, which I've affectionately nicknamed Tchouni and Bombafu, for tote.
MOVIES. My sister encouraged me to watch Eurovision Song Contest: The Story of Fire Saga, and it did not disappoint. It has pretty shit ratings online, but I thought it was a super fun, and surprisingly addictive, movie. What is more interesting is that it was written by Will Ferrel and Harper Steele, long-time friends. Both recently starred in a documentary called Will & Harper, which follows the same two aforementionned people on a road trip across the United States, a trip that Harper had done many times in the past, but now it would be her first time doing it as a woman(having recently transitioned). It was a heart-wrenching, but important movie to watch.
BOOKS. I started reading How do You Live by Genzaburo Yoshino. It was a book I had tried reading aloud to Devine a few months back, but I had trouble getting into it because we found that the writing(Bruno Navasky's translation) was not especially good. I picked it up again the other day with the goal of finishing it to try and understand why it was so important to Hayao Miyazaki(the book was the inspiration for his latest film The Boy and the Heron). A young Japanese boy named Copper(Koperu) learns, through his family and friends, about social inequality, the value of hard work, and on how everything and everyone is inextricably linked, etc. How Do You Live invites the reader to be curious, and kind. I do like how the author uses storytelling to impart values, but it has the same issues as Sophie's World, in that I wish that these lessons were better integrated so as to not feel overly preachy.
QUOTESPlato imagined a class of rulers in his ideal Republic who would not own property at all. He proposed that no system of government could be just if the leaders were primarily concerned with their own personal wealth and the future wealth of their children. How can any leader successfully work for the health and prosperity of their society if they are simultaneously trying to preserve or grow the contents of their own purse? Property, by its unequal distribution in society, made people selfish. Plato believed that this selfishness weakened the state. He believed that petty concerns over the acquisition of material things distracted the mind from the pursuit of justice.
From Everyday Utopia by Kristen R. Ghodsee
ARTICLES I READ AND LIKED
Trying to bridge the gap between rewriting
systems and interaction nets, I gave a
second look at McCulloch & Pitts neural nets. I
was curious to see if this would make for a fun and readily parallelizable
language runtime, so I went ahead and spent the better part of the past few
days designing one.
I haven't used it for anything serious yet, but already with as little as 150 lines of code it allows me to
quickly prototype and evaluate tasks! My plan is to use it as a sort of
coordination language.
Some months ago, attendees of the Handmade Seattle conference expressed their
grievances with the conference in regards to its pivoting to include talks with
mentions of social justice awareness and a slightly more diverse panel of
speakers, at the cost of the usual guy-packs-bytes-in-the-right-sequence
talks. Which I have nothing against as someone who tend to give talks of
that exact flavor.
In any case, the conference organizer apologized for the poor selection of
speakers which did not correspond to the expectations of ticket holders,
promising to resolve the issue in the following year, and in passing, that free
and open source software developers would no longer be welcomed as
speakers.
I happened to be present in the chatroom when the apology letter went out and
merely questioned whether the choice was really about the lack of
low-level talks, and not something else. It did not take long for
bigots of all sorts to come out and lament the good old days of the conference
and soon the chatroom was ablaze with some pretty vile things against trans
people, this went on for hours without intervention, the usual.
What I did not expect was for the conference organizer, who ghosted me for
months, to finally break radio silence to slam me for speaking out and
partially blamming me for the unraveling of the conference organization, and
decided against covering the agreed upon travel stipend. I have since
requested for the talk videos to be removed.
So why is software so terrible?
We made it terrible.
The Handmade Manifesto
A single-file html page you can save locally, fill/replace with text to read, highlight and annotate, then save again with annotations to your local device.
Thanks Cristóbal Sciutto, m15o, Eli Mellen, Tom Larkworthy and others in the Future of Coding community for inspiration.
Previously.