-
Started watching Severance yesterday and I got to say, it’s pretty good. Certainly something that grabbed me early, which is probably the reason why I couldn’t get into Ozark.
-
A Case For Mocking in Unit Tests
Here’s a short account of a realisation I had this morning on the occasional usefulness of mocks in unit tests. I’ve never been a huge fan of mocking in unit tests. The code to set them up is tedious to write, and tends to be very fragile. Any change or refactor you make to the module being tested — even if the behaviour doesn’t change — and all your tests break because the mocks are no longer called the way they were. This goes against one of the key principals of unit testing in my opinion, in that it is the behaviour of the module is being verified, not the actual implementation.
Continue reading → -
Love this remark from Gruber about the comment from Twitter about Musk’s board seat:
The first thing I’ll note is that Agrawal had to share the “brief note” itself as a screenshot, because, well, Twitter only supports up to 280 characters in a post. Duh, right?
Could have been worse than a screenshot. They could have shared their brief note as a Twitter thread. 😄
-
Passport renewal forms filled in and sent away, along with new passport photos. Apparently there’s a bit of a backlog, and it will take six weeks for my new passport to arrive. I guess after the last two years, people are eager to get back to travelling overseas again.
-
Finished reading: Indie Microblogging by Manton Reece. Great read, especially about all the work the Indyweb is doing, and the principals behind Micro.blog’s design. 📚
-
Went for a walk this afternoon and came home to two deliveries of online orders, which was quite surprising. Guess I wasn’t the only one working this weekend.
-
Fired up Logic Pro for the first time in a while. Trying a rearrangement of Passion for Exploring from the VVVVVV Sound Track. Got the chorus sounding pretty good, although some of the synth attributes need a bit of fine tuning. Here’s a sample of what I’ve got so far.
-
Had a drinks with friends and watched a comedy set at Comedy Republic last night. Nice place for a catch up. Managed to get a table before it got really crowded, which was lucky. Comic was pretty good too.
-
On the subject of Twitter’s edit button announcement, I find it amusing that they tweeted about it on April 1, only to tweet again a few days later to avoid the impression that it was an April Fools joke. I guess tech companies can no longer announce anything on that day anymore.
-
I don’t know how people on Twitter live without an edit button. I’m always posting something, then a minute later finding either a miss-spelling or a clunky sentence that can be rewritten. If I was posting on Twitter, every second tweet would be a correction.
-
Testing modern systems is the worst. It feels like half the time is spent either logging into something, or troubleshooting the various layers of infrastructure that I have zero knowledge or control in. It slows everything things down and breaks flow. 😩
-
After a hard day of work, it’s great to live a little vicariously by listening to the story of how John Siracusa chose the indy life on Reconcilable Differences.🎙️
-
Something I wonder about these web3 and NFT projects: if the wealth aspect was removed, and there was no possibility of material gain, how many people would still be working on them?
-
Just started Safari up for the first time on this laptop and I was greeted with the new “tabs” they were working on last year. Can’t say that I’m a fan. Bit surprised that this was chosen as the default.
P.S. Love the slug vs. the title of the Daring Fireball post.
-
It’s the end of the day and I’m struggling to think about what to write here. All I can think about is work and some personal stuff going on at the moment, and it’s a little difficult to think of much else. Hopefully more thoughts worth posting here will come tomorrow.
-
Doing a small weekend/week-long project at the moment to track favourite moments in a few podcasts I’m listening to. This is something that I’ve been thinking about for a while, and I’m not entirely sure what compelled me to actually start work on it. Probably because the system I’ve been using so far — a set of timestamped Pocketcast links managed in Pinboard — has been growing quite recently and much of the limitations involved, such as the list being unordered and no skip back 30 seconds available on playback, is start to annoy me. It’s also a chance for a bit of novelty, at least for a few days or so.
It took roughly a day or so to get a small Buffalo web-app up and running which does most of what I want. It just needs some styling and a better way to play the episodes, which is what I’m working on now. I really don’t want to spend more than a week working on this — last thing I need are more projects. But a good thing about this one is that I think the scope is naturally quite small, so no real risk of it blowing out to become too large.
-
Walked a little of the Castlemaine to Maldon bike trail today, which runs besides the tourist railway line. Usually a steam train travels along it, but I didn’t see one today.
-
I was compelled to try the Substack app this morning after wanting to make a comment on a post. I might use it to read the few newsletters I’ve subscribed to. Looks like it could be good for that, but they’ve obviously not got around to optimising it for the iPad yet.
-
Two new awstool commands: one for browsing SSM parameters and one for simply viewing JSON log files. The SSM parameter one was especially handy, as I was dealing with parameter subtrees a lot and doing that in the AWS web console is always a pain. As for the JSON log viewer; well, let’s just say there were one too many log files from Kubernete pods I needed to look at this week.
The pattern for working with state seems to be working. I may need to be a little careful that the state management doesn’t get too unwieldily as I add features and more things that need to be tracked. But at the moment, it seems to be manageable.
-
🔗 Not an April Fool: Dyson announces apocalyptic filter-headphone combo
Yes, the product is weird, but what prompted this link-post is the remark about this being a “perfect addition to your Mega Man cosplay project.” I believe in the games, you could always see Mega Man’s mouth.
-
Even after 18 years of use, I still get blown away at how amazingly useful the command line can be for doing anything slightly non-trivial with text and files. Maybe that’s why it’s still going strong for 50 years and counting.
-
An amusing thought came to me after reading Gruber’s post on Facebook and TikTok. Here’s Facebook hiring a strategy firm that is considering mediums other than Facebook to try and sway people’s opinions of TikTok. Maybe they should try getting their message on to TikTok. 😄
-
Scene: work.
Team: here’s the tasks we need to do, here’s how long they will take, and we’ll probably get it done on 24 April.
Managers: OK, I’ve taken that list, pulled out half the tasks and cut the estimates by 50%. Can you get it done in two weeks?
😠
-
I’ve been racking my brain trying to best work out how to organise the code for awstools. My goals are to make it possible to have view models composable, have state centralised but also localised, and keep controllers from having too much responsibility. I started another tool, which browses SSM parameters, to try and work this all out.
I think I’ve settled on the following architecture:
- Providers and Services will remain stateless
- State will be managed by controllers
- Operations in controllers are only available through tea.Cmd implementations.
- Updates from controllers will only be available through tea.Msg implementations.
- View models (i.e.
tea.Model) will only know enough state to be able to render themselves. - There will be one master model which will coordinate the communication between controllers and view models. This model will react to messages from the controllers and update the views. It will also react to messages from the views and launch operations on the controllers.
We’ll see how this goes and whether it will scale as additional features are added.
-
Credit to Apple for the work they did to get x86 working seamlessly on the M1. It’s only just now, after 6 hours of use, that I realised I downloaded the x86 version of Go when I should have downloaded the ARM version. I finally cottoned on when I tried to spin up the debugger.