Long Form Posts The RSS feed for Long Form Posts.

  • My Evening

    So here’s how I spent my evening:

    Watching the WWDC state of the union until the DNS resolver konked out in the WiFi router, causing the Chromecast to get into a state in which it could no longer connect to the network, resulting in about 10 minutes of troubleshooting before deceiding to clean up, not go to the gym, spend another 10 minutes trying to troubleshoot the issue, then stared at my laptop for about half an hour wondering whether to go back to troubleshooting the Chromecast, or doing something else with the hope that it would eventually work itself out.

    Continue reading →

  • The Powerline Track Walk

    Went on a walk of the Powerline Track, which I was personally calling the “powerline walk” (yes, I’m impressed at how close I was). I saw this trail when I was in Canberra earlier this year, and knowing that I would be back, I made a note to actually walk it, which I did today. This track follows the powerlines just south of Aranda Bushland Nature Reserve, then goes under Gungahlin Drive and into the Black Mountain Nature Reserve. The weather was cold but pleasant, at least at the start of the track. It eventually got quite dark and a little wet near the end, but that did result in some nice winter lighting over the landscape.

    Continue reading →

  • Humour In Conference Videos — Less Is More

    It might be just me but I get a little put off with over-the-top attempts at humour in developer conference videos.

    I’m four minutes into a conference video which has already included some slap-stick humour (with cheesy CGI), and someone trying to pitch to me on why what they’re talking about is worth listening to. This was done in such a way that it actually distracted me from the content, a.k.a. the reason why I’m watching it.

    Continue reading →

  • Cloud Formation "ValidationError at typeNameList" Errors

    I was editing some Cloud Formation today and when I tried to deploy it, I was getting this lengthy, unhelpful error message:

    An error occurred (ValidationError) when calling the CreateChangeSet operation: 1 validation error detected: Value ‘[AWS:SSM::Parameter, AWS::SNS::Topic]’ at ’typeNameList’ failed to satisfy constraint: Member must satisfy constraint: [Member must have length less than or equal to 204, Member must have length greater than or equal to 10, Member must satisfy regular expression pattern: [A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}]

    Continue reading →

  • GitLab Search Subscriptions with NetNewsWire

    I’m working (with others) on a project that’s using GitLab to host the code, and I’m looking for a better way to be notified of new merge requests that I need to review. I cannot rely on the emails from GitLab as they tend to be sent for every little thing that happens on any of the merge requests I am reviewing. For this reason, any notifications sent by email will probably get missed by me. People do post new merge requests in a shared Slack channel, but a majority of them are for repos that don’t need my review. They’ve also been days where a lot of people are making a lot of changes at the same time, and any new messages for the repos I’m interesting would get pushed away.

    Continue reading →

  • What Would Get Me Back to Using Twitter Again

    Congratulations, Elon Musk, on your purchase of Twitter. I’m sure you’ve got a bunch of ideas of how you want to move the company forward. I was once a user of Twitter myself — albeit not a massive one — and I’m sure you would just love to know what it would take for me to be a user once more. Well, here’s some advice on how you can improve the platform in ways that would make me consider going back.

    Continue reading →

  • Showing A File At a Specific Git Revision

    To display the contents of a file at a given revision in Git, run the following command:

    $ git show <revision>:<filename>
    

    For example, to view the version of “README.md” on the dev branch:

    $ git show dev:README.md
    

    There is an alternative form of this command that will show the changes applied to that file as part of the commit:

    $ git show <revision> -- <filename>
    

    This can be used alongside the log command to work out what happened to a file that was deleted.

    Continue reading →

  • Code Review Software Sucks. Here's How I Would Improve It

    This post is about code reviews, and the software that facilitates them.

    I’ll be honest: I’m not a huge fan of code reviews, so a lot of what I speak of below can probably be dismissed as that from someone who blames their tools. Be that as it may, I do think there is room for improvements in the tooling used to review code, and this post touches on a few additional features which would help.

    Continue reading →

  • Broadtail 0.0.7

    Released Broadtail 0.0.7 about a week ago. This included some restyling of the job list on the home page, which now includes a progress bar updated using web-sockets (no need for page refreshes anymore).

    For the frontend, the Websocket APIs that come from the browser are used. There’s not much to it — it’s managed by a Stimulus controller which sets up the websocket and listen for updates. The updates are then pushed as custom events to the main window, which the Stimulus controllers used to update the progress bar are listening out for. This allows for a single Stimulus controller to manage the websocket connection and make use of the window as a message bus.

    Continue reading →

  • Learning Through Video

    Mike Crittenden wrote a post this morning about how he hates learning through videos. I know for myself that I occasionally do prefer videos for learning new things, but not always.

    Usually if I need to learn something, it would be some new technology that I have to know for my job. In those cases, I find that if I have absolutely no experience in the subject matter, a good video which provides a decent overview of the major concepts helps me a great deal. Trying to learn the same thing from reading a lengthy blog post, especially when jargon is used, is less effective for me. I find myself getting tired and loosing my place. Now, this could just be because of the writing — dry blocks of text are the worst, but I tend to do better if the posts are shorter and formulated more like a tutorial.

    Continue reading →

  • Some More Updates of Broadtail

    I’ve made some more changes to Broadtail over the last couple of weeks.

    The home page now shows a list of recently published videos below the currently running jobs.

    Clicking through to “Show All” displays all the published videos. A simple filter can be applied to filter them down to videos with titles containing the keywords (note: nothing fancy with the filter, just tokenisation and an OR query).

    Finally, items can now be favourited. This can be used to select videos that you may want to download in the future. I personally use this to keep the list of “new videos” in the Plex server these videos go to to a minimum.

    Continue reading →

  • Time and Money

    Spending a lot of time in Stripe recently. It’s a fantastic payment gateway and a pleasure to use, compared to something like PayPal which really does show its age.

    But it’s so stressful and confusing dealing with money and subscriptions. The biggest uncertainty is dealing with anything that takes time. The problem I’m facing now is if the customer chooses to buy something like a database, which is billed a flat fee every month, and then they choose to buy another database during the billing period, can I track that with a single subscription and simply adjust the quantity amount? My current research suggests that I can, and that Stripe will handle the prorating of partial payments and credits. They even have a nice API to preview the next invoice which can be used to show the customer how much they will be paying for.

    Continue reading →

  • Cling Wrap

    I bought this roll of cling wrap when I moved into my current place. Now, after 6.5 years and 150 metres, it’s finally all used up.

    Cling wrap, now empty

    In the grand scheme of things, this is pretty unimportant. It happens every day: people buy something, they use it, and eventually it’s all used up. Why spend the time and energy writing and publishing this post to discuss it? Don’t you have better things to do?

    Continue reading →

  • Trip to Ballarat and the Beer Festival

    I had the opportunity to go to Ballarat yesterday to attend the beer festival with a couple of mates. It’s been a while since I last travelled to Ballarat — I think the last time was when I was a kid. It was also the first time I took the train up there. I wanted to travel the Ballarat line for a while but I never had a real reason to do so.

    Continue reading →

  • OS Vendors and Online Accounts

    Looks like the next version of Windows will require an online account, and while the reason for this could be something else, I’m guessing this would be used to enable file sync, mail account sync, calendar sync, etc.

    I think it’s a mistake for OS vendors to assume that people would want to share their sole online identity across different devices. Say that I had a work computer and a home computer, and I’d use the same online account for both. Do I really want my personal files and work files being synced across, or my scheduled meetings to start showing up in my personal calendar?

    Continue reading →

  • My YouTube Watching Setup

    I’m not a sophisticated YouTube watcher but I do watch a lot of YouTube. For a while I was happy enough to simply use the YouTube app with a Chromecast. Yes there were ads, but the experience was nice enough that I tolerated them.

    Recently, however, this became untenable.

    It started with Google deciding to replace their simple Chromecast target with a Google TV style app, complete with a list of video recommendations I had no interest in watching. This redesign also came with more ads, which themselves would be annoying enough. But with this year being an election year, I started seeing campaign ads from a political party I have absolutely zero interest in seeing ads from. Naturally Google being Google, there was no way for me to block them1. I guess I could have just paid to remove the ads, but this wouldn’t solve the Chromecast problem. Besides, the feeling of paying for something that is arguably not a great use of my time felt wrong. I felt that a bit of friction in my YouTube watching habits wouldn’t be a bad thing to introduce.

    Continue reading →

  • Reminder That Your Content Isn't Really Yours on Medium #3

    Looks like Medium has had a redesign recently, with recommended posts now being featured more prominently. Instead of appearing at the end of the post, they’re now in a right-hand sidebar, which doesn’t scroll, that is directly below the author of the post you’re reading.

    And let me be clear: as far as I can tell, these are not recommendations from the same author. They can be from anyone, covering any topic that I can only assume Medium algorithmically thinks you’d be interested in. It reminds me a lot of the anxiety supplier that is Twitter Trending Topics.

    Continue reading →

  • The "Too Much Data" Error in Buffalo Projects

    If there’s anyone else out there using Buffalo to build web-apps, I just discovered that it doesn’t clean up old versions of bundled JavaScript files. This means that the public/asset directory can grow to gigabytes in size, eventually reaching the point where Go will simply refuse to embed that much data.

    The tell-tail sign is this error message when you try to run the application:

    too much data in section SDWARFSECT (over 2e+09 bytes)
    

    If you see that, deleting public/assets should solve your problem.

    Continue reading →

  • On Posting Daily

    I recently listen to an interview with Seth Godin on the Tim Ferris podcast. In that interview, Seth mentions that he writes up to five blog posts a day. He just doesn’t publish them all. I guess that means that he has at least one or two drafts that can be touched up and published when he needs them.

    Although I don’t think of this blog as being anywhere near the quality of Seths, I think I’d like to start trying to publish on this site at least once a day. I don’t post to any specific schedule here, and there have been stretches of days in which this blog has not seen an update at all. But over the last week, I’ve found myself falling into a streak, and I like to see how long I can maintain it.

    Continue reading →

  • The Future of Computing

    I got into computers when I was quite young, and to satisfy my interest, I read a lot of books about computing during my primary school years. I remember one such book that included a discussion about how computing could evolve in the future.

    The book approached the topic using a narrative of a “future” scenario, that would probably correspond with today’s present. In that story, the protagonist was late for school because of a fault with the “home computer” regarding the setting of the thermostat or something similar. Upon arriving home from school, he interacted with the computer by speaking to it as if he was talking to another person, expressing his anger of the events that morning by speaking in full, natural-language sentences. The computer responded in kind.

    Continue reading →

  • PGBC Scoring Rules

    I get a bit of a thrill when there’s a need to design a mini-language. I have one facing me now for a little project I’m responsible for, which is maintaining a scoring site for a bocce comp I’m involve in with friends.

    How scoring works now is that the winner of a particular bocce match gets one point for the season. The winner for the season is the person with the most points. However, we recently discuss the idea of adding “final matches,” which will give the match winner 7 points, the runner up 2 points, and the person who came in third 1 point. At the same time I want to add the notion of “friendly matches” which won’t count to the season score.

    Continue reading →

  • On the Moxie Marlinspike Post About web3

    Today, I took a look at the Moxie Marlinspike post about web31. I found this post interesting for a variety of reasons, not least because unlike many other posts on the subject, it was a post that was level-headed and was coming from a position of want to learn more rather than persuade (or hustle). Well worth the read, especially for those that are turned off by the whole web3 crap like I am.

    Continue reading →

  • Burnt Out on Design

    I’ve been doing a heap of design work at my job at the moment; writing documents, drawing up architecture diagrams, etc. I’d thought I would like this sort of work but I realise now that I can only tolerate it in small doses. Doing it for as long as I have been is burning me out slightly. I’d just like to go back to coding.

    I’m wondering why this is. I think the biggest feeling I have is that it feels like I’m not delivering value. I understand the need to get some sort of design up so that tasks can be written up and allocated. I think a big problem is the feeling that everything needs to be in the design upfront, waterfall style, whereas the method I’d prefer is to have a basic design upfront — something that we can start work on — which can be iterated and augment over time.

    Continue reading →

  • Still Off Twitter

    A little while ago, I stopped using Twitter on a daily basis as the continuous barrage of news was getting me down. Six weeks after doing so, I wrote a post about it. Those six weeks have now become six months, and I can say I’m still off Twitter and have no immediate intention of going back.

    My anxiety levels dropped since getting off1, and although they’ve not completely gone, the baseline has remained low with occasional spikes that soon subside. But the best thing is that the time I would have spend reading Twitter I now spend reading stuff that would have taken longer than 30 seconds to write. Things like books, blog posts and long-form articles (and Micro.blog posts, I always have time for those). It feels like the balance of my information diet has centred somewhat. I still occasionally read the news (although I stay away from the commercial news sources) but I try not to spend too much time on it. Most things I don’t need to be informed about in real time: if I learn about it the follow day, it’s no big deal.

    Continue reading →

  • 100 Day Writing Streak

    I promise I won’t post about every single milestone that comes along, but I’m quite happy that I reached 100 consecutive days of at least one blog post or journal entry.

    100 day Day One streak Continue reading →