Design a site like this with
Get started
  • Songs with a really satisfying key change – Day 5/31 of #blogeverydamnday

    Yeah I’m already scraping the bottom of the barrel at day 5 lol. I was listening to “2 B Loved” and realised how good it is – especially that key change. So now I’m doing a list of songs with really satisfying key changes for today’s post.

    I don’t know about you but they make me SHIVER. S H I V E R. In a good way.

    2 B Loved – Lizzo

    Key change at 2:15. Very very very satisfying 👌

    Money Money Money – Abba

    Key change at 2:30 🥰

    Greedy – Ariana Grande

    This is perhaps my favourite. Key change at 2:16. Travesty that this wasn’t a single 😠

    Heaven Is A Place On Earth – Belinda Carlisle

    Key change at 3:12.

    Heart Attack – LOONA

    Key change at 2:40 😍

    Always Be My Baby – Mariah Carey

    I couldn’t find all of them but there’s definitely one at 3:04. It’s my fave.

    Dynamite – BTS

    Perhaps my favourite recent one, key change at 3:03 🤯

    Love On Top

    The absolute queen, with a key change at 1:44 (and 2:04, 2:25, 2:45, 2:14 lol). I’m going to end this post with this one because WHO HAS 5 KEY CHANGES IN A SONG OH MY GOD.

    Bonus cute video of Beyonce watching everyone in the crowd singing the key changes :’)

  • Coffee and me – Day 4/31 of #blogeverydamnday

    Written while sipping a homemade cold brew, Normcore’s Damn Good Blend

    These days I drink between 1-3 coffees a day, depending on when I get up, how motivated I need to be, what the weather is like…and yet I only started drinking coffee in 2014

    How it went:

    2014 – started uni and occasionally would drink mochas but anything more than that was too much for me

    2015 – started working casually at an eCommerce company, and got into soy flat whites from Sonoma; the neutral blend and reason to go for coffee breaks made me drink it at least once a day

    2017 – started working full time at a company that had a coffee machine on site; I started making my own coffee and would occasionally have a second one-shot coffee in the afternoon

    2018 – started drinking cold brew after a late afternoon coffee stop in Pyrmont; my first cold brew had a bit of milk mixed in it but later I found out I preferred it WITHOUT the milk. Quickly became my drink of choice during summer!

    2020 – I started having three coffees a day to break up my day during WFH, and briefly also would be generally drinking large coffees. Pulled back from that habit pretty quickly

    2021 – tried batch brew at a new local cafe, found it nice when I wanted a hot coffee but without the milk (I still can’t stand long blacks)

  • Small batch recipes – Day 3/31 of #blogeverydamnday

    For todays blog post I’m going to talk about small batch cooking.

    I’m pretty sure most of us aren’t very familiar with small batch cooking from our childhoods; recipe books will usually assume we’re cooking for 4 or a party of some sort and will want to make plenty for all. Love this. About inclusion. We’re here for it.

    But if you’re just cooking cos you have a craving, the ✨ internet ✨ has a vast array of recipes curated specifically to make just a few of something. When I have the energy to bake, I love this idea. I’m prone to eating as much as there is available, so for me small batch recipes means I can indulge a craving without going overboard.

    I’ll give you two recipes I’ve made in the past year in small batch:

    – gingerbread cookies

    focaccia (this second one I made for the first time just on Sunday and I’m obsessed)

  • Day 2/31 of #blogeverydamnday

    Failed to blog yesterday so here we goooo!

    Todays post is dedicated to the hyperpop genre of music, which these days is pretty nebulous as a category. In particular I wanted to call out this song, a remix of Kim Petras’ “heart to break” that was done by Australian musician Donatachi.

    This song just makes my brain lock up with happiness??? I don’t understand the quality that makes it do that but other songs in this category include “picture this” by kero kero bonito and “every time we touch” by cascada.

  • not a weeknote: WA photography edition

    Busselton Jetty @ sunrise
    Mouth of Margaret River at sunset
    Joey near the top of Bluff Knoll
    Us near the top of Bluff Knoll
    me at Lucky Bay (best sand in the world)
    Kangaroos in Cape Le Grand national park
    Really big whale tail
    Another amazing beach in Esperance
    Surfing at Wave Rock

    And a bunch of wildflowers

    Sunset on the top of a hill
    Really cool pink lake
    Me and a quokka
  • Week 19

    I’m tired this week so you only get cliffnotes:

    • apis, abstractions and what does the customer want?
    • our trip up the p’matta river
    • opening up and seeing friends 🥰
    • biang biang
    • pokemon legends: arceus (and r/patientgamers)
  • Week 18

    little/big week

    I spent this week thinking a lot about API design. It turns out there’s actually A LOT to API design beyond just “does it return the right status code and make use of the correct HTTP verbs?”. It feels very much like an art, and an art I am not very skilled at.

    Like when you envision something in your head but when you try to put it on paper it is an objective disaster. Probably one to work on in the future.

    I got the new Pokemon game! Pokemon Legends: Arceus. Also I got a long-overdue haircut, now that we are boosted. My thoughts on PLA basically match pretty much everyone elses (although I’m still only a few early hours in, I’m trying to savour the experience):

    • Bloody hell we needed a mainline (i.e. Gamefreak produced) refresh of the Pokemon formula like….four generations ago. Sun and Moon DO NOT COUNT.
    • Gamefreak cannot compete on graphics at all in 2022, and it is obvious even to non-gamers. This may never actually be a problem for them but, even given the graphical limitations of the Switch, the graphics are absymal. The water rendering and tree rendering in particular.
    • Relatedly, the open worlds are slightly more alive than SwSh but not by much. This is very hard to solve without overwhelming new players.

    I’m glad they tried! I’m not super convinced on the longevity of the franchise based on this effort though.

    We took a venture out to Sydney Olympic Park and surrounds. It’s a very weird area, half extremely built up, half parklands. And a third car-driven suburban hellscape.

    The walks were stunning though, I’m super keen to go back 😁

    The mangroves were EXTREMELY healthy
    Neato ship

    I had a dream mid-week that they had fixed the L1 line in Sydney (which is currently down) and that I was on the first test run upon re-opening. I was allowed to be on the tram because I knew the emergency breaking procedure at Haymarket 🤔

    Afterwards I posted a photo from the trip on my IG story with the caption of “life changing”. Dream me was WAY too excited.

  • Week 17

    Booster week 🥳 got my third jab and I am KEEN TO SEE PEOPLE.

    My ongoing flirtation with Cities Skylines has intensified! I have apparently spent 25 hours in the past two weeks playing it. Yikes!

    I am learning more and more about roadway hierarchy and how to build effective city connections.

    There’s also a sale on Cities Skylines, two of my lovely friends bought me some of the DLCs (they really wanted me to have trams and universities) so now I have:

    • After Dark
    • Mass Transit
    • Campus
    • Park Life
    • Snowfall

    I didn’t manage to get anything done outside of core project work this week 😅 so no updates on that front.

    I did however get to play with Parcel 2, which is even more zero-config than prior versions. I was very impressed 🙆‍♂️ I wonder how hard it would be to write a vanilla-extract plugin for Parcel 🤔

    I’m finding it a bit hard to find things to look forward to. My mind is a bit of a mush after almost a month since I’ve seen anyone. Hopefully this is the peak and we can soon..

  • Week 16

    A major breakthrough with vanilla-extract this week; finally using it for a a vertical slice of functionality we couldn’t do without it. The biggest challenge in my mind remains is how best to implement things like scoped variables that rely on some non-Web-API calculations. For example, we have some code that does a11y contrast checking on foreground against background. This is pretty simple in LESS or SASS, since its all running against Node or whatever behind the scenes, but with vanilla-extract all you have are dynamic variables, and you can’t pre-run them through a JS engine.

    This week, I also got to grips with how the Slate editor library implements history and an undo/redo stack. It’s very clever, and took some time to wrap my head around. The benefit of an operations log (which comes as part of Slate) really becomes clear with things like this.

    While the code itself is a bit complicated, the idea is simple: with the undo stack, just create an inverse operation for the given operation you’re undo-ing 💥

    Been enjoying and exploring the natural and man made surrounds of Sydney the past few weeks.

    Last weekend, we walked a bunch more of the Cooks River trail, from Dulwich Hill to Campsie. I treated myself to Hot Star chicken at the end, cos I couldn’t resist 🤤

    And then this weekend we did the “Two Creeks Track” in Lindfield. Absolutely stunning trip, mild signage difficulties aside.

    Some guides suggest you walk through the stormwater drain to get to the other side of the creek; we decided that would not be a lot of fun during La Nina, so ran over a 6-lane highway instead 😬

    In retrospect, it was pretty quiet I think BECAUSE of the lack of good guides. Still, stunning af.

    Unsurprisingly, I’ve moved on from my Sims addiction to the impressive Cities Skylines. I started watching a really solid tutorial, and it’s guided me on the basics of building out a city that doesn’t grind to a halt once to get over 5000 citizens 😅

    I’ve always had a soft spot for city building simulations, but never really quite _got_ it. Turns out the biggest pain points I’ve missed are:

    • budget REALLY matters at the start; economies of scale soon to make this irrelevant
    • once budget DOESN’T matter, your real limiting factor is fear of experimentation and tweaking, razing buildings to the ground
    • relatedly, roads and road hierarchies matter a LOT

    I’m really keen to get some DLC for it, but I’m also kicking myself for not buying any during the December sales 😭 so I’m not sure if I’ll bite the bullet and buy anything more. Also, most of the ones I want seem like they’ll just make me go crazier about this game 😅

    I completed week 3 of the Couch to 5K program 😮 this was the first week where you run more than you walk. I was almost SURE I couldn’t run for 3 minutes straight. I WAS WRONG?!?!?!

    Super cool stuff.

  • Week 15

    Another week, another spent in isolation 😬

    This article on the battle for time hit me in the feels, especially:

    …these stances all have their uses, but they’re still just one side of the axis. You can also choose to simply live atemporally. To understand that you have already died, will always have died, and all that’s happening here is your experience through the temporal axis of your own life.

    I have always felt not quite right about hackathons. I tend to get really stressed out during them, oscillating wildly between ecstatic excitement and the lows of never quite matching to with your expectations. Afterwards you slump in a catatonic state for the next 24-48 hours, with very little in the way of catharsis unless you win a prize.

    So reading my friend and ex-colleague Georgie’s article on redefining her relationship to hackathons was super refreshing and uplifting. The biggest takeaway for me was that hackathons are not about you, especially if you’re a mid-to-senior engineer who’s been around the organisation for awhile. It’s about helping out your team members, showing them the way, helping them build connections.

    As I mentioned previously, I’ve been looking into vanilla-extract to help solve some problems. Unfortunately it doesn’t work in our server context due to the lack of appropriate plugins, which was a big pain point as some of our CSS and style attachments are run on the server side.

    One of my coworkers explained that WE COULD WRITE OUR OWN TRANSPILATION PLUGIN(?!) for Node by adding a require middleware, and went about doing it. It’s technically not recommended to do this, especially nowadays, but it was good for a spike.

    I really enjoyed all the articles on this Stripe employee’s blog. Highlights:

    A lot of this adds to my existing knowledge base and was hyper readable for me; I’ve been lucky enough to work on billing systems in my prior roles, and interned at American Express which had a truly fascinating domain once you got over the “ew finance” thing.

    Finally, I’ve been playing lots of The Sims 3 the past few weeks in iso. I got into the wild world of Sims 3 Store Deals, which is somehow extremely mundane and also very cool.

    Basically it relies on two mechanics of the store that have remained constant since the game was abandoned by EA marketing:

    • Sims 3 Daily Deal (DD) – a rotation of hourly deals on items available in the store, some quite heavily discounted
    • Sims 3 Complete Your Set (CYS) – basically the equivalent of iTunes’ “complete your album” which allows you to pay a discounted price to get the rest of the items in a “set”

    Some of these sets are available under DD, and the CYS price is also influenced by the DD, to the point where your CYS price can sometimes fall below the price of the DD for the set. This means, with a little bit of planning (the DD schedule is now entirely predictable and repeating) you can own the store by buying a few items (also on a DD), and then just getting the set for free.

    The weirdest quirk in this is that some items may appear in multiple sets, which means that these free CYS deals can “cascade” to the point where you can spend a few Simpoints and get multiple sets.

    Finally, I’ve been seeing a lot more of my faves in the park, TURTLES: