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_FOUND response 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.

When I discussed this with someone at work, they came up with a decent enough counter-point. Suppose you’ve accidentally missed-configured a URL of a micro-service, and when you hit that URL you get 404s. Arguably that does warrant error logs and PagerDuty alerts, especially if the quality of service is degraded and you want to get it fixed as soon as you can.

So I can see how the HTTP response codes for a REST-API can be ambiguous here. But is it the same for a gRPC API? Since gRPC has UNIMPLEMENTED to indicate a miss-configured service, can a developer use NOT_FOUND for out-of-band non-error signalling? Should error codes be used at all, and the response code be OK with the response body itself having in-band signalling to indicate that a resource isn’t found but that’s OK?

Don’t know the answer to this.

📺 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.

It always seemed a little off that these organisations were using Twitter for this. Not everyone is on Twitter, and those that were had to agree to the terms of a private company which could, at any time, do… well, what it’s doing now. Should public alerts for weather and transportation really rely on such private entities?

I can see why these companies were used back in the late 2000’s, when they first came onto the scene. They had apps with push-based notification with a good (enough) user experience. They were also investing in the backend, setting up services that can scale. So organisations palming off dissemination of these alerts to Twitter made sense.

But I don’t think it makes sense anymore. With ActivityPub and (in theory) whatever BlueSky is cooking up, you now have open, federated protocols, and a bunch of apps people are building which use them. You also have public clouds which provide an easier way to scale a service. With these two now available, it seems clear to me that these organisations should deploy their own service for sending out these alerts using any or all of these open protocols.

Then, the public can come to them on their terms. Those using Mastodon or BlueSky can get the alerts in their app of choice. Those that aren’t interested in either can still use any mobile apps these’s organisations have released, and these protocols can be used there as well. One can imagine a very simple ActivityPub “receiver” app, stripped of all the social features apart from receiving notifications, that can be used for organisations that don’t or can’t release a mobile app. Plus, having a service that they run themselves could also make it possible to setup more esoteric notification channels, like web push-notifications through the browser.

And yeah, it’ll cost money and will require some operational expertise. But I’d argue that serving the public in this way is their perdure, and the reason why tax dollars go in their direction.

So now’s a great time for these organisations to step away from relying on these private companies for disseminating alerts and embrace the new federated protocols coming onto the scene. Who knows, maybe they’ll also embrace RSS. That would be nice.

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. 😀

Multiple entries in the Micro.blog timeline of danielpunkass post about the Beths being his new obsession.

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)
Photo of a redback spider beside a garage door opener, with another spider on the left.
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.


  1. Of course I say that, but I’ve seen redbacks on shed doors that I haven’t done anything about. Though I wouldn’t call them harmless, there were out of the way enough for me to disregard them. ↩︎

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.

Screenshot of the main page of Linkding with a list of bookmarks on the left and tags on the right

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.

🔗 Cheating Is All You Need

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

🔗 CSS Wish List 2023

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.

Bush with burnt undergrowthBush with burnt undergrowth

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.

Their displeasure comes through in their tweets on why they think these people choose not to subscribe. Many tout money (these people are too stingy) or logistics (write it off as a business expense). But they don’t give a reason as to why they care. Surely money or logistics is their problem to sort through. Why should you be unhappy that they chose not to join Twitter Blue? I haven’t seen any tweets answering this question.

I’m not surprised by that. I wonder if the reason is that many of those that have acquired a checkmark saw the those with a verified Twitter handle as being part of the in-group; members of an elite club that you cannot get a membership for1. Naturally they wanted to be part of this in-group, and when this new Twitter Blue subscription offer rolled out, they saw an easy opportunity to gain entry.

But the thing about status symbols is that they’re only valuable if the in-group chooses to keep them. When all these formally verified people refuse to sign up to Twitter Blue, and their checkmarks were removed from their handle, so too did the checkmark loose it’s value as an indicator of worth. The checkmark no longer a signals status.

Even worse is this in-group has changed their position to one where not having the checkmark is the sign of status. Suddenly, those that have signed up to Twitter Blue found that their attempts to buy their way in was for naught. And that’s what I think they’re angry about. Their new checkmark doesn’t impart status anymore, since those that had it don’t want it. Now it’s just an indicator that you’ve paid $8 a month, with maybe a hint that you found the symbol important in the first place.

That’s also probably why Musk saw it fit to “pay” for Twitter Blue for accounts with more than a million followers, trying to prop up any remaining status this indicator once had. This raises more questions though. Surely he would have seen that allowing anyone to verify their account would dilute the intrinsic status that came with it. I guess he thought that those with the checkmark felt it important enough to keep it, and it will retain its value as a status indicator.

Anyway, this could be all pretty obvious to a first year psychology student, but I found it all very revealing. It’s certainly interesting seeing this play out over the last couple of days.


  1. I know that’s not the point of this verification status, but it does seem like many saw it as an “I’m an important person” signal. ↩︎

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.