-
This week’s earworm: The Songs Of Distant Earth by Mike Oldfield ๐ต
Not necessarily a new one in my rotation, but I’ve been listening to it non-stop all week.
-
In this new work-from-home world we now inhabit, it’s coming to the point where my productivity is directly proportional to how many good podcasts are available today.
-
DynamoDB JSON Attribute Types Quick Reference
Because apparently it’s too difficult for AWS to provide an easy way to find this information.
Atomic Types
Type JSON Value Binary BString value containing the Base64-encoded binary data. Boolean BOOLEither trueorfalseString SString value Number NString with the numerical value Null NULLShould always be trueCollection Types
Type JSON Value List LA JSON array, with each element being an attribute with a type. Map MA JSON object, with the keys being the map keys, and the values being an attribute with a type. Set Types
Type JSON Value Binary Set BSA JSON array of Base-64-encoded binary data. Number Set NSA JSON array of string with the numerical values. String Set SSA JSON array of strings. Sources:
Continue reading โ -
Scripting In Dynamo-Browse
Making some progress with adding scripting capabilities to dynamo-browse. I’ve selected a pretty full-featured JS interpreter called goja. It has full support for ECMAScript 5.1 and some pretty good coverage of ES6 as well. It also has an event loop, which means that features such as
Continue reading โsetTimeoutand promises come out of the box, which is nice. Best of all, it’s written in Go, meaning a single memory space and shared garbage collector. -
Coming up with a naming convention for things like metadata keys, customer HTTP headers, or log tags; and not writing it down and sharing it with others, is a mistake I’m paying for in spades at the moment.
A little while ago, when we were setting up Stripe and it came time to decide how metadata keys should look, I thought it would be enough to come up with a style in my head (e.g. snake case with a particular prefix) and simply start using it. I guess I was expecting that others would follow it, simply because they would be motivated to maintain the observed style, with the keys I were defining being a bit of an example here.
Well, I now know that not only did this not happen, but when someone does want to know how these names should look (and I include myself here) there’s no definitive guide available to refer to. The result: no convention at all. Different cases, keys without a prefix, etc. Not be a huge problem, but being unable to rely on a convention does mean more cognitive load when it comes time to figuring out how a name is expected to be formed. Plus, it just looks untidy.
I guess it would have been a good idea to document it somewhere. Doing this is not being overly specific or dictating convention from above. It doesn’t have to be as elaborate as an IETF standards: just a few paragraphs and examples that is accessible to everyone. And if others disagree with the proposed convention, then work it through until everyone is happy with it.
I’ll try to remember this for next time.
P.S. More services really need to support user-defined metadata fields like Stripe does.
-
I discovered Goomics by Manu Cornet this morning after reading this Ars Technica article. There are some pretty amusing comics there about “life at Google.” Here’s a few that I particuarily liked:
Credit: Manu Cornet
-
I started writing a comment in GitLab today for a pull request I was working on. I left the comment unfinished to do something else. I was planning to finish it when I returned, but before I could do that, my laptop crashed and I feared that I completely lost it.
Fortunately, when I rebooted, the comment remained as it was in the text-box where I left it.
I don’t know if this was GitLab or Vivaldi or something else. But to whoever program that behaviour: thank you! You saved me 5-10 minutes going back through my thoughts and retyping it (I spent that time writing up this post ๐).
-
A little hard to get through my regular Sunday routine today. I’ll do my best to keep at it though. It won’t solve all my troubles but sometimes just doing what you can to feel a little better will have to do.
-
Useful tip I learnt today about screenshots on MacOS: you can take a screenshot of a window without the drop shadow by holding down the Option key when clicking the mouse.
I wish I looked this up sooner, and not just turn to ImageMagick to try and remove the shadow myself.
-
Release Preparation & Next Steps
Finally finished the website for the Audax toolset and cut an initial release (v0.0.2). I’ve also managed to get binary releases for Linux and Windows made. I’ve started to work on binary releases for MacOS with the intention of distributing it via Homebrew. This is completely new to me so I’m not sure what progress I’ve made so far: probably nothing. For one thing, I’ll need a separate machine to test with, since I’ve just been installing them from source on the machine’s I’ve been using. Code signing is going to be another thing that will be fun to deal with.
Continue reading โ -
My Nonna bought me a set of winter gloves. This is actually my first ever set, and I can’t believe it took me this long to get a pair.
Made from a blend of wool, possum fur, and silk. Tried them out this morning in temperatures just above freezing. Wonderfully warm.
-
I really want to write something on my blog today, but the things going on right now are just making me annoyed. I don’t want this blog to be just things that I complain about: I haven’t got the wit for that to be interesting. I’ll just say that I’m looking forward to 5:00 today.
-
It’s good getting stuff released to production, so that users can get their hands on what you’ve been working on.
Unless it’s stuff that I’ve been building myself. Then it’s absolutely terrifying.
-
Covid-19 is making the rounds at work at the moment. A number of people have come down with it, posting photos of their positive RAT tests on Slack. RAT’s still coming up negative for me at the moment. I’m hoping it stays that way.
Come on booster. Don’t let me down!
-
Working on large software projects โ complete with Jira boards, code coverage requirements, and peer reviews โ it’s sometimes easy to forget that you can actually use the skills you have to solve the little problems you encounter in your job.
If you need to do something, and that thing can be done easily just by writing a small script, then don’t be afraid to go ahead and write one. It doesn’t need to be a fancy script. Doesn’t need to have unit tests or even be checked into a repo. It just needs to solve your problem.
This is probably one of the most useful things I’ve learnt in my career.
-
I’ve been seeing this message an awful lot recently when I’m trying to use mobile data. I originally thought it was Telstra, but now I suspect it’s Android, as restarting the phone seemed to have fixed it.
-
A New Name for Audax Tools (nee AWS Tools)
I think I’ve settled on a name for the project I’ve been calling “awstools”. “Settled” is probably a good word for it: I came up with it about a week ago, and dismissed it at first as being pretty ordinary1. But over that time, it’s been slowly growing on me. Also, I’ve yet to come up with any alternatives that are better.
Anyway, the name that I’ve settled on is the Audax Toolset.
Continue reading โ -
More Complaining About Autocorrect on MacOS
Earlier this morning:
Me: (writing in my journal) Nonna, my 91 year-old grandmother…
Autocorrect: Did you me “Donna”?
Me: No, undo change. (continue writing) good news is that Nonna…
Autocorrect: Did you me “Gonna”?
I can forgive MacOS for considering nonna a spelling error, since it’s not an English word.
But I do see why auto-correct on MacOS can be frustrating. Apart from the two completely random corrections it made for the same word, it also doesn’t seem to get the hint when I undo the change. I would have thought that action is a pretty strong signal from the user to just leave the word alone, at least for the moment.
Continue reading โ -
Iโd be curious to know if a brand new user to Facebook would be able to get any value from it. Looking at screenshots of their app redesign, the whole thing looks convoluted and unintuitive. Is the sole purpose of Facebook now just to keep existing users from leaving Facebook?
-
AWS Tools: Documentation & The Website
Worked a little more on “awstools” (still haven’t thought of a good alternative name for it). I think the “dynamo-browse” tool is close to being in a releasable state. I’ve spent the last couple of days trying to clean up most of the inconsistencies, and making sure that it’s being packaged correctly.
Now it’s documentation writing time. I’m working my way through a very basic website and user guide. It’s been a little while since I’ve written any form of user-level documentation โ most of the documents I write have been for other developers I work closely with โ and I admit that it feels like a bit of a slog. It might be the tone of writing that I’ve adopted: a little dry and impersonal, trying to walk that fine line between being informative without swamping the reader with big blocks of words. I might need to work on that: no real reason why the documentation needs to be boring to the reader.
Continue reading โ -
Write It Down
I am feeling some very minor after-effects from the booster I took yesterday (nothing serious, just the expected cold-like symptoms). I was curious as to whether it was anything like I experienced in January, when I got my last booster. I went to my journal to see what I wrote about it. Unfortunately for me, there was nothing there.
To be fair to my past self, there were some other events going on at the same time which I did write about. But I was left pondering this morning about why I didn’t write anything about how I was feeling back then. My guess is that I probably didn’t think it was worth writing about at the time. “Feeling a little off” was probably something that I thought was quite trivial, and wouldn’t be relevant later on.
Continue reading โ -
Boosted. ๐๐๐๐
(also muffined up once again ๐ง)
-
๐ Publishing your work increases your luck (via Github’s The Readme Project)
I found this very inspiring. Given where it was published the subject matter is about software, but I believe that it could apply to pretty much any creative endeavour.
-
Had sprint review today. Overall, it went really well. Much better than last time. We didn’t quite clear the board but that was mainly because we finished the work we planned for and were simply pulling in tickets from the backlog.
-
Newsletter Reminder Emails
I subscribe to a newsletter that sends โreminderโ emails if I skip an issue. If I donโt open one of the email newsletters I receive, then a few days later, a copy will be sent with a forward of the form โlooks like you skipped an issue. Here what you missed.โ
These reminder emails are bad, and hereโs why:
-
It gives the impression of hustling me. I appreicate the time you take to publish something that I see value in, but sending these reminders feels like your forcing your content onto me. Like I just got to read this content. Really, you must read it! And, oh! You forgot this one day? Well Iโll make sure you donโt forget it (and me) again. Please, back off! Iโve received your content and Iโll get to it when I get to it, if I feel like it, after Iโve read all the other newsletters I received. Please donโt push me to read it on your schedule.
Continue reading โ
-


