A better peacock photo (well, just).

One of the photos I was going to use in my last post was this photo, which was modified using Google’s Magic Eraser. You can compare this with the original photo in that post (it had two people in it). It’s far from perfect, but it’s still quite impressive.

Rode an eBike for the first time today. Can definitely recommend. Even with the assist engaged at the lowest level, it made a huge difference going up hills. Great fun.
Greetings from Cowes, Phillip Island.

My first experience with a distributed SCM systems was Mercurial. Running hg branch
created a new branch and automatically switched you over to it.
When I moved to Git, I occasionally fell into the trap of typing git branch
and expecting to change over to the new branch. I fell for this quite often for a long time, for several years at least. It was happening frequently enough that I actually hacked Git to tell me that I haven’t actually changed branches yet:
$ git branch xyz-123
Branch 'xyz-123' created, but you're still on 'develop'
I’m using OhMyZSH now, which shows the current branch in the prompt. This has helped a great deal, and I fall for this much less often than I used to.
And yes, I know about git checkout -b
, but typing checkout
to create branches was a bigger change to me than simply learning that git branch
doesn’t change branches.
Using tools I’ve built to help me at work and all I see are features not implemented. Never-mind that the tool didn’t even exist a year ago. It exists now, so why doesn’t it do the thing I need it to do at this exact time? A person’s expectation is just insatiable, I guess. 😏
It’s amazing what a difference going to the gym can make. This afternoon I was feeling so lethargic, like all I wanted to do was crawl into bed. But I decided to crawl to the gym instead. I really didn’t want to, and I usually don’t go Mondays so I had an excuse not to. But I’m so glad I did because afterwards I got my energy back and I was eager to just do stuff.
Partial credit goes to coffee. It also helped with getting over the slump.
Photos of Fitzroy Gardens, while we play our bocce comp. grand final. Perfect weather for it. Also lots of weddings going on.



Dev Log - 2023-03-12
Preamble
When I moved Working Set over to Micro.blog, I’d thought I’d be constantly writing micro-posts about what I’m working on, as a form of working in public. I found that didn’t really work for me, for a few reasons.
I’ve got a strange relationship with this blog. I wanted a place online to write about the projects I’ve been working on, but every time I publish something here, I always get the feeling that I’m “showing off” in some way: ooh, look what I’ve done, aren’t I cleaver? And okay, I’d be lying if there’s not a part of me that wants others to see how I spend my time. If I didn’t want that, I’d be content with these posts existing in a private journal.
And maybe this is a form of self-justification but I’d like to think that there’s a bit of that feeling in every developer that keeps a public blog on what they do. Maybe not exactly “showing off”, but I’m sure they feel proud on what they work on and they want to talk about it. And there’s really nothing wrong with that. In fact, the posts I tend to enjoy the most are those from other devs talking about the projects they’re working on.
So yeah, I admit that having others see what I’m working on would be nice. They say write what you want to read, and this is my attempt at doing just that.
But that only explains why I write about it on a public blog instead of a private journal. Why I should want to write these posts at all is that I’d like to keep a record of the the projects I work on. Nostalgia is one reason: seeing a project progress over time or remembering projects long since abandoned. But another might be a way to track where I’m spending my time. This is theoretical at the moment, but if there ever came a time when I wanted to find this out, I have to have the record written somewhere.
But not as micro-posts. I think a fixed weekly cadence is more appropriate. I tried this a couple of years ago, and although it worked for a while, I fell out of the habit. But after seeing the weekly entries by Jonathan Hays, I’ve been inspired to try it again.
So that’s why I’m trying these weekly update. They’ll be frequent enough to be useful to act like diary entries, but not so frequent that they will bother people who aren’t interested. They’ll be long enough to warrant a title, making it easy for people to skip it. And they’ll be any anything related to a side project I’m working on: either current or abandoned, public or completely private. And I’m giving myself permission not to feel bad about it.
Anyway, we’ll see how we go.
Update 6th July: I’ve gone back to just making posts when I have something to write about.
Dynamo-Browse
Big week for Dynamo-Browse: I finally got v0.2.0 out the door. This is the release with scripting support (yes, it finally shipped). The scripting implementation has been finished for a while. The thing that was blocking it’s release was all the documentation I had to write: both the section in the manual and the API reference.
The build was also a bit of an issue. The release builds are built using GitHub actions. To get them published as Homebrew casks, the actions need to push them to another repository. The secret token used to access this repository expired, and I had to create another one. Not difficult, but the fact that I had to create a whole new secret instead of rotate the existing one was a little annoying. Getting the permissions right, and being forced to choose a different name (“Deploy Homebrew formulas v2”) didn’t help matters either.
But got there in the end. The v0.2.0 release is now available on dynamobrowse.app and GitHub.
I’ll reduce the time I spend on this for a little while. We’ll see how long that lasts. I use this tool for work so often and I’ve got a whole list of features I’d like to see added to it.
CCLM

I got the editor up and running again last week and I spent Saturday designing a level with the working name “The Beach”. I’m a huge fan of the Developing series on the Game Makers Toolkit YouTube channel, and the latest video was about how difficult it was for Mark to design levels for his video game. I found I had the exact same problem for designing levels for mine (although I think the lack of effort I put into it doesn’t help). He pointed to a blog post by an indie game designer that had some useful tips to help with puzzle design. The one about using two elements that interact with it.
The one I worked on was for a custom element that will change boxes with a square indicator to blank tiles when pressing the yellow button. I’ve had this element around for a while but I haven’t actually used it in a level yet. I’d thought I’ll be time to do so, but the level I came up with seems a little simple. Not sure what I’d do about it. I could either rearrange it so that it appears earlier in the level set, or I can make it a little more difficult in some way.
Client Project
One thing that releasing Dynamo-Browse has given me is the opportunity to do a small client project. I’ve talked about this on lmika.org and the latest update is that I think I’ve convinced him to consider a static site, seeing that it would be easier for him to run (don’t need to worry about plugins) and would be easier for me to build (I don’t know how to use Wordpress, especially not their new block editor).
This week was basically coming up with a site layout. I had the opportunity to use Figma for the first time. Works reasonably well, but I’m wondering if Balsamiq Mockups was probably a better choice for a rough outline of what the site is to look like. But that’s all moot: a layout was put together and sent to the client for him to get some feedback.
Anyway, still early days here. I’m looking at possible Hugo templates to build the site in and possible hosting solutions that would work with the client. I’m not aware of options for static hosting other than the AWS, Cloudflare or Azures of the world. Not sure it will work for the client, although it’s totally possible that I’m just not looking in the right places.
So that’s it. Update one done. Although next week I’ll be taking some leave so update two might be slightly shorter (at least there’ll be no preamble) so it may be less about current updates. I guess we’ll find out together.
It took me a while to get use to it but I’ve grown to like The Verge homepage redesign. Having the micro-posts there seems to work well, especially considering that certain microblogging services have effectively cut off API access.
I know UI designers like using either Sketch or Figma — and after signing up to Figma this week, I can see why. But I’m going to give a shout-out to Balsamiq Wireframes (nee Balsamiq Mockups). I’ve found it to be a great tool for demonstrating a proposed layout for a UI without worrying too much about the details. It’s so quick to put together and the hand-drawn motif makes it clear that the drawn UI is just a concept.
I also love how they use text to represent visual content. An example is items in a table-view: instead of using the mouse to draw each row by hand, you configured it by effectively typing out a CSV with some Markdown. Use commas to separate the columns, use [ ]
to indicate a column should have checkboxes. Such a great idea.
Do sites that just load their articles with (video) ads, pop-overs, requests for emails, etc. see any improvements in their metrics after doing this (more clicks, longer visit times, more ad revenue)? Or are the just in a cycle of diminishing returns and think that adding more crap will help?
🔗 After 6 long months, an Android phone finally cloned the iPhone 14
The screen-shots of this “mini capsule” are hillarous. The animated waves that appear when the capsule is expanded; the fact that the only thing it can display is the battery level since there’s nothing like Live Actions. The capper is the “90%” on the right side of the capsule, right next to the 90 in the battery indicator. You know, just in case you need reminding that the battery is at 90%. Champions indeed!
Hilarity aside, it’s a little sad seeing these Android OEMs doing everything they can to rip off Apple’s design. And it’s not just those in the long tail of OEMs either. Seeing Samsung half-arse features months after they debut on the iPhone, just to abandon them months later is really cringeworthy (anyone remember “AR Emoji”, their rip-off of Animoji). It’s past time they developed some taste on their own.
Hiding Your Attachment Folder In Obsidian's Outline
A useful little CSS snippet for anyone using Obsidian that wants to hide their attachment folder from their outline.
.nav-folder.mod-root>.nav-folder-children .nav-folder>.nav-folder-title[data-path^="Attachments"],
.nav-folder.mod-root>.nav-folder-children .nav-folder>.nav-folder-title[data-path^="Attachments"] + .nav-folder-children {
display: none;
}
To use:
- Go to the directory
$VAULT/.obsidian/snippets
where$VAULT
is the directory of you vault. If thesnippets
directory doesn’t exist, create it. - Copy the CSS snippet into a new CSS file.
- Open you vault settings and go to Appearance.
- Scroll to the bottom to where you see CSS snippets.
- Click the reload button. You should see the CSS file you’ve just created appear in the list. Turn it on to apply it.
This’ll work if you’ve configured Obsidian to store attachments in a folder called “Attachments” located at the root of your vault, like I do. But I suspect the data-path
attribute holds the folder’s path so you could use whatever CSS attribute selector you need based on how you’ve configured attachments. For example, [data-path*="/Files"]
selector will probably work if you’ve configured attachments to be in folders called “Files” that sits alongside your notes (I haven’t tested this so YMMV).
Working with some GitHub access tokens last night left me wondering why there’s no way to just renew an expired token. Dealing with the secret is not as tedious as dealing with the token permissions. Get that wrong and you’ve wasted several minutes of work.
Completed the release of Dynamo-Browse 0.2.0. Most of the work in the last week was updating the manual, especially the scripting API. Some more updates need to be made for the query expressions as well, but I’ll publish what I have now and update that over time.
It’s 2023 now, and I still hate code reviews.
Seeing Mastodon posts from Jason Snell about his trip to Aotearoa New Zealand prompted me to check when I travelled to Queenstown for a holiday. It was 10 years ago to the day: 7th March 2013. Would love to go back there again some day.