-
Kinda wish Go adopted the idea of explicitly nil types, similar to Kotlin or Swift. It’ll make the language less minimal, but the cost of minimalism is more boilerplate code. And after writing a bunch of it to traverse a structure in a nil-safe manner, it does make things a little less readable.
-
F5 To Run
While going through my archive about a month ago, I found all my old Basic programs I wrote when I was going through school. I had a lot of fun working on them back in the day, and I though it would be nice to preserve them in some way. Maybe even make them runnable in the browser, much like what the Wayback Machine did with the more well-known DOS programs.
Continue reading → -
It’s a cool day today, yet the bus driver decides to put on the air conditioning like it’s the middle of summer. Feels like I’m traveling in a fridge. 🥶
-
I had no idea that Google I/O was on this week. Usually this kicks off my conference watching season, but with my upcoming trip, it’s taken a bit of a backseat this year. Besides, you can only watch so many announcements from Google for things that eventually get killed six months later.
-
I’ve been trying to get a site up on Netlify that can serve assets from Git LFS. The only way to enable this is with the CLI tool, and whenever I try to run it, I get a “socket timeout” error. Might need to look at a simpler ways to do this, even if it means ditching using Git to deploy the site.
-
Had a bit of success with organising the roadmap for the squad I’m running. I decided to see if good old Obsidian could help me here. I just needed something that would present each roadmap item in a table and allow me to do some basic sorting and filtering. I probably could’ve stuck it into an Obsidian note, and used the advanced-table plugin, but I was hoping for something that worked with structured data.
So far, the db-folder plugin seems promising. What it does is read the front-matter of a bunch of files in a directory, and presents it as a table. Each column in the table is backed by a particular front-matter entry. You can add new columns, assign them types (string, number, select, date) and sort by or modify their values. Changing the cell in the table also changes the cell in the front-matter. The only downside is that each row has to be a separate file, but I think I can live with that. It might actually be a benefit.
So what I’ve done is create a separate file for each roadmap item, added front-matter entries to represent the “subcategory” (frontend vs. backend) and priority of the item, and assigned them to columns in the table. Now I can order by priority and see which part of the squad can work on each item within a single view. Pretty good.
I decided to lean a bit further into this and add the Jira JQL query for all the tickets for each roadmap item to the front-matter as well. I wrote a bit of code that’ll run this query through jira-cli and generate a nicely formatted Markdown table of the tickets, which I include in the file. It’ll also use the ticket statuses to write a one-line summary status of the road-map item (“not started”, “in progress”, “ready for release”) to the front-matter, and that is also shown in the table. The whole thing is kicked-off with a Keyboard Maestro shortcut.
This is all working pretty well. I kinda wish I can paste screenshots about the setup here, but… you know, corporate secrets and all that. Plus the whole thing is still evolving as I work out what is useful to me or not. But I this approach has got legs.
Some might say this is all procrastination to avoid dealing with Jira tickets. To that I’d say… ssh, don’t tell anyone. 🤫
-
It’s quite something seeing developers using Go to build (toy) operating systems. As much as I like Go, I wouldn’t call it something designed for such low-level use cases. Then again, they’ve made Go work on microcontrollers, so it’s probably easier than I think.
-
The state of modern office software is depressing.
I want to have something tailored for tracking the roadmap for my squad: current priorities, release dates, etc. Ideally I’d like to organise this all in some form of structured way, so that I can slice the data in different ways: producing summaries, overviews, kanban boards, etc. Because this is company data, it should live on my work laptop or on work’s systems: the cloud’s a non-starter here. It could also be great to share this with other teammates.
What are my options here? I could use Jira, but that is a shared space and very rigid in how it want’s you to define the task. That’s good for writing out the work that is ready for others to pick-up but annoying for anything higher-level than that. I could use Confluence, but Confluence is not geared towards anything resembling semi-structured data. Everything is so manual, and there’s no great way to separate data from presentation. You’re left with just adding pages with tables everywhere. It’s barbaric.
The only alternatives are all the office software that’s installed: Pages, Numbers, etc. Numbers might work: at least you’re storing data in a table. But it’s difficult to use the data in any domain other than searching and sorting (well, I guess pivot tables might help with summarising data). It’ll be difficult to present this data in any other forms, other than graphs. And sharing it with others would be nice.
What would be nice is to use some of these low-code development tools like ToolJet, or flexible databases like NocoDB or BaseRow. They can be centrally managed, configured to talk with other tools that the company is using like Jira, and available to anyone to build these small utilities or databases that you come across in your roles. Which means: no asking for IT to create these little apps.
I guess in the old days this would be the type of things that you’d get a skunks work team to build. That’s pretty heavy handed for anything that I’m thinking of. Something that can be quick to build out, say in like an afternoon or so, and that can be improved over time if others find it useful, or otherwise junked if it’s more trouble than it’s worth.
But part of me doesn’t see this happening anytime soon. And if I’m being realistic, that’s understandable. I’m probably the only person who wants this. Ah well. I guess one can dream.
-
Oof, someone save me. I just realised that my flight to Europe would’ve got me a day earlier than my hotel booking. Thankfully I manage to move the flight a day later. But boy, I’m so glad I checked! 😮💨
Now to go through every booking and make sure all the dates line up.
-
In-Band vs. Out-Of-Band Error Codes In gRPC
Is the
NOT_FOUNDresponse codes in gRPC an actual error, or could one use it to indicate a resource doesn’t exist — and it doesn’t matter if it doesn’t — on the happy path?There seems to be a bit of disagreement to what degree non-200 OK error codes should be used to signal non-error conditions. I’m generally of the opinion that all the 4xx HTTP response codes are not actually errors, and should be available to the developer to indicate that, while the method execution was not quite as expected, it wasn’t adverse in a way that warrants error logs or PagerDuty alerts. That’s what the 5xx response codes are for.
Continue reading → -
📺 Sophie Koonin – This Website Is under Construction, a Love Letter to the Personal Website
Saw this boosted on social.lol. A really good talk on why having your own place on the web is worth it.
-
Twitter, Public Alerts, And Federated Protocols
So apparently Twitter’s leadership team has discovered the value it has for public alerts:
Of all the changes Elon Musk has made to Twitter, blocking emergency and public transit services from tweeting automated alerts might have been his least popular. User backlash roared, as National Weather Service accounts got suspended. Then, one of the country’s largest public transit services, Metropolitan Transportation Authority (MTA), had so much trouble tweeting, it decided to quit posting updates to Twitter.
Continue reading → -
I just got news today that work has decided to move office. Somewhere with much better public transport links (i.e. a tram line). As someone who’s been on this frickin bus for 40 minutes, I couldn’t be happier.
-
Seen a few posts on Micro.blog over the last few days about people sleeping badly. Might be that those posts are contagious because today it’s my turn to post about how badly I slept last night. Worse was that I had to get up at 5:40 to go into the office. Ah well. Hopefully tonight. 😫
-
I’ve found myself using ChatGPT to do quite mundane things recently, like get the postcodes of cities around the world. It feels like I’m barely pushing the limits of what it’s capable of. I just prefer the chat-like interface it has.
And I think that’s the danger that people running “real” websites have when it comes to these chat bots. I’m sure there’re a bunch of sites out there that can get me the postcode for any world city I throw at it. But dealing with a crappy web interface filled with ads does not sound appealing to me. Much better is the clean chat interface that ChatGPT provides, complete with a history of all my prior requests that I can just look back on.
Also, and this is just my current use case, I’m not too phased with how accurate these postcodes actually are. These are all for test addresses to test a Stripe integration. So near enough is good enough.
-
Much of the personal stuff I’m currently doing outside of work involves writing. Lots of writing. So much writing. It’s not like a novel or anything: just a couple of websites I’ve decided to work on. Even so… still doesn’t give me the same buzz as coding does.
-
Hmm, either Daniel is super obsessed with the Beths (or at least posting about it), or there’s a bug somewhere. 😀
-
Content Warning: About A Spider
This spider was hanging around my garage door opening button for a few weeks now. I didn’t think much of it until today, when I noticed that it was actually a redback. Not the largest redback I’ve seen, but one located pretty close to a button I push quite frequently.
Photo of said redback (it's small, but the photo is a close-up)
If you look closely you can see a bit of the classic red stripe on the spider's abdomen. I don’t know about other Australians, but I’ve got a “kill on sight”1 policy with redbacks, so it had to go.
Continue reading → -
I’m going to be putting on my “I don’t like fun” hat for a minute and say I’m so glad there’s no “verb” for posting on Micro.blog. No tweeting, tooting, truthing, skeeting. None of that. Just good old fashioned “posting”, like the blogging gods intended. Okay. Hat off.
-
I’ve abandoned any further thought of self hosting my code, at least for now. As predicted, I found other shiny things to distract me away from that path to madness. I can still use custom domains for Go packages if I wanted to, so I’m not really loosing much by keeping it all in GitHub.
-
I’ve set up an instance of Linkding within PikaPods this afternoon. I’m going try it out as my bookmark manager, given that my Pinboard subscription has expired.
So far, so good. Importing my bookmarks from Pinboard was a breeze. The UI is cleaner that Pinboard as well, although I wish I could change the colour scheme (the purple is a but much).
Bulk editing of links was easy to do. Just run a search and click the “card” icon next to the search box. Checkboxes appear next to the links and you can select the ones you’d like delete, archive, or add or remove tags to. All pretty straightforward.
No social features though, which makes sense given that this is something you host yourself. But I never used the social features from Pinboard, so I won’t miss that at all. Poking around the settings it does look like you can make links public, but I probably won’t need that anytime soon.
One thing I’m excited about is that it sets the title of new bookmarks to that of site automatically if I don’t set one myself. Thank you! Finally! The fact that Pinboard didn’t do this, and just set the title to “No title”, really annoyed me. Such a bleeding obvious feature to add as well, and I don’t know why Pin… okay, breath, not a problem anymore. 😮💨
So yeah, we’ll see how this goes.
-
Dentist today. The only mistake I made with arranging the appointment is booking it for today. Seeing the dentist doesn’t feel like a Thursday thing. Feels more like something for a Tuesday, for sure. Maybe even a Monday. Not Thursday.
-
New post by Steve Yegge. I always enjoy his writing but please, can someone buy Steve a domain name? He changes blogging platforms so often it’s difficult to follow him (well I guess Twitter would have worked at one point).
Via: birchtree.me
-
I’ve wanted attr() to be more widely accepted in CSS values since, well, I can’t remember. A long time. I want to be able to do something like:
p[data-size] {width: attr(data-width, rem);}I realize adding this would probably lead to someone creating a framework […] where all the styling is jammed into a million data-*attributes […], but we shouldn’t let that stop us.
Is it too late to vote for this? I’d love to be able to do this for background images. Relying on JavaScript to get the URL from the attribute and style the element is such a hack.
Via: Jim Nielsen
-
April usually means controlled burns, and they’re conducting these burns at a bush reserve near my place. I was afraid that the smoke would be an issue, but so far it’s been such a non-issue I was wondering if the burns were actually called off. Apparently not.


-
About Those Checkmarks
This posts going to be about Twitter. Yes, I know; another one out there. It’s also going to be a bit speculative in nature, so feel free to skip it if you like.
I’ve been reading the coverage over the “retirement” of the legacy verification system, both in the news and on the socials. And what I find interesting about this whole affair is all the new Twitter Blue subscribers complaining about people that had the checkmark choosing not to sign up.
Continue reading → -
Note to self: a shell script will always be quicker and easier to write than a Go program for a throwaway thing, no matter how much you wished it to be otherwise.
-
Day One and Project Jurassic
So, Day One is in danger of being sherlocked by rumor’s of Apple’s upcoming journaling app:
Mayne echoes the sentiment of several app developers who have been frustrated when Apple launched in-house competitors to the apps they have introduced to the ecosystem, often copying features those apps innovated and adding functionality that only Apple can offer, per the iPhone’s privacy and security policies and APIs.
I’m a user of Day One and I have my doubts that Apple’s app would be a drop-in replacement for my journaling needs. And I think the reasons why Day One works for me — and could be made to work better — are also opportunities for Auttomatic to differentiate Day One from project Jurassic.
Continue reading → -
Nerd Counterflex
You know that Washington Post article that has the list of websites Google used to train Bard? I been seeing people post screenshots of their sites in the training set on their blogs and Mastodon. This morning I read a post from Chris Coyier about it:
My largest corpus of writing to date is on the web at css-tricks.com (along with many other writers), so naturally, I’m interested in seeing if it was used. (Plus, I’ve been seeing people post their rank as a weird nerd flex, so I’m following suit.)
Continue reading → -
Options For Self-Hosting Code Repositories
I’m considering something that some might say is stupid: I’m looking at options for self-hosting my personal code repositories.
I’m coming around to the idea of having my own domain for things like Go packages. It’ll provide more opportunities for adding some structure to my repos, rather than having them all hang off a single
Continue reading →github.com/lmikanamespace. Plus, my personal code management system is reasonably good at the moment so, naturally, the time has come to change all that 😛. -
It’s always fun playing the “which faraway land is closer to me” geography puzzle when setting up an online services that doesn’t have a presence in Australia.
The answer is Hillsboro, OR — 13,021 KM from Melbourne.
-
Dear The Economist,
Please restore the witty headlines you use for your articles to the digital edition. That’s one of the reasons why I read you. I know you include them as postscripts at the bottom, but it’s not the same.
Sincerily,
Me
-
Sunny day today, yet a bit chilly. So the hat and jacket ensemble is out at the moment.
-
Adding a new feature to dynamo-browse and now I’m beginning to wonder if this is why JavaScript has both a
nullandundefinedtype. In short: dealing with null pointers suck. They suck in Go and I’d imagine they’d suck a million times more in C. Better to have a dedicated type representing an undefined value, with all the associated methods to simplify the code.The thing is: JavaScript should’ve not exposed this to the user. Do they really care that
nilandundefinedare two separate things? Was it worth the added confusion. Hmm. I’ll try not to make the same mistake. -
Got to use one of the software tools we build and sell at work for a “real” purpose today, as in not just to test something. Felt good. Don’t get to do that super often.
-
Maybe, before AI swallows our careers to the point where we’re little more than glorified prompt engineers, they’ll be a brief period of time where AI does the boring things in software engineering. Leave us to do the fun stuff like write the code. They can review it for us, like some fancy linter.
-
🎵 Going Home: Theme from Local Hero
This week’s earworm. Apparently I loved this track when I was a little kid. Well, apart from the very 80’s sound (not a criticism), I’d say the younger me had great taste.
-
This teeny tiny lizard made its way into my house somehow. I’ve seen it on and off over the last week, but I managed to catch it and put it outside. There’s another one running around that I’ll also need to find and rescue.
-
There is no way to turn this news feed off. The best you can do is “manage interests” which kicks you out to msn.com to have you tell it what topics you prefer.
Definitely not trying Windows 11. I hate software that pushes news onto you, unsolicited and with no easy way to turn off! I’ve have my news sources that I read and trust. I don’t want things pushed to me from sources with some commercial agreement that doesn’t have my interests in mind.
-
I’d argue that Google Reader shutting down was probably one of the best things that could happen to RSS. It might’ve been bad at the time, but it gave way to services like Feedbin that respect open standards and bring new users to the format, like myself. Having a large company like Google suck up all the oxygen in the room can’t have been good for RSS long term.