While walking this afternoon, I met a small flock of gang-gang cockatoos. A gang-gang gang if you will. And yes, I have been sitting on that line for the past week or so. 🙂


Hand-made, Home-cooked
“Here, buy this sandwich. It’s hand-made.
“Well, it’s machine made. But hands made the machines.
“Well, hands made the machines that made the machines.
“But it’s a home-cooked receipt.
“Well, it’s a home-cooked inspired recipe. We did have to get some input from nutritionists and focus groups. And a few of our stakeholder had to approve the list of ingredients we used. But we think it’s close enough.
“Anyway, enjoy.”
(There’s no real point to this. This just came to me while I was at the supermarket.)
I’ve turned off cross-posting to my work journal in Micro.blog. I think it will help me write a little freely there. I just cannot shake the feeling that I’m spamming people with uninteresting notes on the progress of personal projects by including those post in this timeline.
Finally bit the bullet and got scripting working in Dynamo-Browse. It’s officially in the tool, at least in the latest development version. It’s finally good to see this feature implemented. I’ve been waffling on this for a while, as the last several posts can attest, and it’s good to see some decisions made.
In the end I went with Tamarin as the scripting language. It was fortunate that the maintainer released version 1.0 just as I was about to merge the scripting feature branch into main
. I’ve been trying out the scripting feature at work and so far I’ve been finding it to work pretty well. It helps that the language syntax is quite close to Go, but I also think that the room to hide long-running tasks from the user (i.e. no promises everywhere) dramatically simplifies how scripts are written.
As for the runtime, I decided to have scripts run in a separate go-routine. This means they don’t block the main thread and the user can still interact with the tool. This does mean that the script will need to indicate when a long running process is occurring — which they can do by displaying a message in the status line — but I think this is a good enough tradeoff to avoid having a running script lock-up the app. I still need to add a way for the user to kill long-running scripts (writing a GitHub ticket to do this now).
At the moment, only one script can run at any one time, sort of like how JavaScript in the browser works. This is also intentional, as it will prevent a whole bunch of scripts launching go-routines and slowing down the user experience. I think it will help in not introducing any potential synchronisation issues with parallel running scripts accessing the same memory space. No need to build methods in the API to handle this. Will this mean that script performance will be a problem? Not sure at this stage.
I’m also keeping the API intentionally small at this stage. There are methods to query a DynamoDB table, get access to the result set and the items, and do some basic UI and OS things. I’m hoping it’s small enough to be useful, at least at the start, without overwhelming script authors or locking me into an API design. I hope to add methods to the API over time.
Anyway, good to see this committed to.
Oof, I really feel for those third party developers responsible for Twitter clients. It’s not their fault that Twitter’s API is down, but it sucks that it’s their problem. Considering’s Twitter’s treatment of them over the last 10 years, it’s commendable that they stuck it out.
Also, if you like Oxygene Pt. 4 rearrangements, here’s one I made several years ago. Not as faithful to the original as the one linked to in the last post. Trying to recreate the patches would have taken some time, plus it was an opportunity to see how a few changes would sound.
🔗 Jean-Michel Jarre’s “Oxygene Pt. 4” in 19kb of JS code
A pretty good recreation of Oxygene Pt. 4. Also, I’ll have to explore this tool a little more.
Via waxy.org.
Hustle Writing
There was one other thing that was a bit distasteful about those posts on how you can further your career by being a technical writer, and it had to do with how they formatted their writing.
Many of them were not afraid to include a lot of emphasis. And when I say a lot, I mean a lot. As it whole phrases or even entire sentences. They did it quite often. Sometimes in bold. Actually, quite often in bold. And once or twice, they even used both bold and italics.
This was mixed in with prose that included a lot of tweets, liberal use of emojis 🧑💻, and block quotes as call-outs to something that was just said a few sentences ago.
Because block quotes stand out from the body text, and are easy to do in Markdown. 🔥
I see a lot of this writing in tech newsletters or blog aggregators, and I’m always a little suspicious of them. I doubt it’s mealy to highlight a point, like a typical Coding Horror blog post. I think the motivation for all this emphasis is different. They could be just trying to make the article look fun and approachable, or trying to make it stand out. Does it work though? I suspect it’s harder to stand out if every other post on the site looks like this. You’re more likely to stand out if you don’t include any formatting or emoji at all.
I wouldn’t be to fazed by this if was a personal blog and that was just the author’s style. But these posts are trying to inform or persuade, and it all feels a little like the hustle equivalent to writing — “hustle writing” if you like — as if it’s trying to get me jazzed on a subject that I totally should be on board for. But if the content is good enough, or your argument compelling enough, does it need all this embellishment?
Maybe I’m just a cynic — when all the web3 stuff was blowing up this time last year, I saw many a Substack newsletter touting NFTs or d-apps (remember those?) written in this style. Or it could be that I just don’t like fun, and that I’m just a stuffy old man. And yeah, there might be something to that. I took a look at my archives this morning and many of my older posts were… well, I wouldn’t say “bad”, but they were pretty dry and boring. So it might simply be that my personality just doesn’t jell with this style of writing.
Even so, I wish there was less of this.
I’ve fallen down a bit of a rabbit hole today reading posts about how you can get ahead in your technical career by writing online. A lot of suggestions in these posts, some which made a lot of sense: check you spelling and grammar, write to a routine/deadline, don’t be afraid to rewrite, etc. All fine and good.
But there were also suggestions that just made me groan. Some of them involved dealing with Twitter a lot more: cross-posting your content there, tweeting things that are “too small” to be a blog post, etc. And one writer suggested getting feedback on drafts before you publish them. This one amused me because the writer compared this to pair programming, something I’m not a huge fan of. That’s probably why I found this suggestion off-putting.
All of these are understandable in principal, especially if your goal is to get readers and build an audience. And that’s not really what I want from a blog, at least not from the ones I have right now. I keep them for fun and because I want a place to document and share my experience and ideas. If they were to help my career, that’s great, but I don’t really expect them to.
But hearing about what’s involved in writing for developing my career gives me pause in starting a blog like this. I’m not sure I like the idea of posting to Twitter (or Mastodon, or any other platform other than the blog itself) or getting my content reviewed before I publish it. Surely one’s not required to do this to be successful technical writer, right?
Froth and Bubble
Woke up in the early morning with this poem in my head:
In this world of froth and bubble,
Two things stand like stone;
Kindness in other peoples’ trouble,
Courage in your own.
I first read this in a young adults novel some good 25 years ago, and over the years it’s come back to me several times. I guess you can say it resonates.
I don’t know what’s causing the ongoing issue with my iPad keyboard folio. Sometimes I can resolve it by fixing the alignment of the pogo pins, so it might just be a connection issue. But then why does restarting the iPad, without doing any adjustments, fix the issue?
Every time I scroll through the history in a Slack channel, I get the notice suggesting that I use search. But the reason I don’t use search is because I can’t come up with search terms that would help me find the message I’m looking for. So until Slack starts supporting search queries along the line of “a message that contains a screenshot of a spreadsheet made around the time there was a huddle call for about an hour with about 80% of the people in this channel,” maybe they should stop showing this notice.
Hammers, Nails, and Hugo
Going through my hammer and nail phase with Hugo. Trying it out on my personal knowledge base to see if it could replace the tool I wrote to generate the site from a set of Markdown files.
Hey, if you were to squint, that tool kinda looks like a pale imitation of Hugo. How about that.
Such as it is with things like this. I first tried out Hugo a few years ago and did the bare minimum to get a few sites off the ground. Then I coasted on that knowledge for a while, using Hugo’s basic features, and doing only cursory explorations of the more advance stuff like layouts, short-codes, and taxonomies. When it came to the personal knowledge base, I knew in principal that I could use Hugo, but since I didn’t have a lot of experience in these advanced features, I decided to just hack this tool up.
I guess that occasional explorations worked eventually, since I came to a point where everything “click” together. That happened last Saturday as I was trying out the largest amount layout changes I’ve attempted so far. And now, I can see how Hugo can be used several other things as well.1
If I had all this knowledge before, I probably wouldn’t have hacked together that static site generation tool. I probably would have made it work with Hugo, seeing that they are so similar.
Now I’m not going to beat myself up too badly over this. One characteristic I’ve noticed about myself is the need to go from an idea to something that works as quickly as I possibly can. If I don’t, the idea will die on the vine (I’ve lost many draft blog posts this way). I guess the trick is trying to balance that against that other characteristic I have, which is rushing to a solution using the knowledge I already have, before spending a bit of time looking at the alternatives.
Hey, if you were to squint, the cognitive bias of that characteristic might the same one that I’m worthing through now. How about that.
P.S. This is the second time in three days that I work up at 5 AM with the need to do something. This doesn’t normally happen to me, and I’m not sure how keen I am for this to become a habit, but I guess sometimes you just gotta feed that beast.
-
One other thing favouring Hugo here was that I was facing some largish changes to this hacked up tool which I wasn’t too keen on doing. And yeah, these are changes I can theoretically do using Hugo layouts. ↩︎
Well, looks like buying shoes online was a mistake. The pair I bought was causing me pain, so I went to the store and after getting my feet measured, it turns out that pair was too small. Maybe that one other time I bought shoes online was a fluke.
I won’t lie to you. I got some pretty strong vibes of the Birds at this point in my walk.
Just bought a domain name which assumes UK English spelling, and then it occurred to me that I probably need to get the name spelt in US English as well, since it’s different. So that’s two new domains today. Should’ve thought of that before I chose the name. 🤦
Spending some time this morning working on the layout of a new Hugo site. I must say I’m pretty impressed by Hugo’s capabilities. So far I haven’t encountered any blockers on what I’d like to achieve. I guess the trick is trying not to fight it too much.
I’m starting to suspect that my wandering eye for blogging CMSes is driven less by the features of the software itself and more by the style of the available themes. Maybe instead of signing up to yet another one I can improve my visual design and CSS skills.
That said, I’d still be interested in how each CMS works, just from a user experience design point of view. Maybe someone can start a YouTube channel where they go through each CMS out there and do a bit of a review. That way, I don’t have to do it myself. 😛
Currently reading: Evil Plans: Having Fun on the Road to World Domination by Hugh MacLeod 📚
This was the book that was easier to get as atoms rather than bits. But I got it in the end and I’ve started reading it yesterday. So far it’s pretty good. Very much written in the same way as Ignore Everybody, which is a style I quite like. It’s a bit more business development-ee than what I was expecting but honestly this is a topic I’ve been curious about for a little while now.