All posts
-
Japan 2023 in Film: Part 2
This is the second in a short series of posts where I share my film rolls from our Japan trip in 2023. We started our second day in Tokyo by wandering the streets of Tomigaya, a residential neighbourh...
-
Japan 2023 in Film: Part 1
This is the first in a short series of posts where I share my film rolls from our Japan trip in 2023. Since this roll was mostly used up already, it’s a short one. Sorry! Our trip started in Tokyo whe...
-
Moving to Eleventy
Over the weekend I moved my blog from Jekyll to Eleventy. There might be a few things broken or missing; let me know if you see anything. In particular, I am hoping the RSS feed isn’t busted since it’...
-
Achievement Unlocked - February 2021
Grateful for last month Apple watch fitness competition with Georgie Trying some delicious Sichuan foods for the first time @ Spicy Joint Going to Canberra and spending time with family 😍 (and we go...
-
Going carless: A six month update
As discussed on the post “Going carless”, we gave up our car in June last year. Admittedly, it has been a rough time since then, specifically regarding COVID. General observations: most of my friends...
-
Achievement Unlocked - January 2021
General notes: Took a week off work and visited my parents, lots of sleeping and pool time and beach time and long lazy summer hangs ☀️ Making progress on my Japanese - I now know some basic grammati...
-
Achievement Unlocked - December 2020
Welp, it’s certainly all happening. What I am grateful for last month Some awesome times at the beach with my lovely friends!! Got a hold of a copy of Normal People by Sally Rooney, and got to visit...
-
Achievement unlocked - November 2020
It’s been awhile since I did one of these posts. Gonna get back into it with a new and lightweight formula. What I am grateful for last month Got to go on a little company retreat (we’re luckily smal...
-
Animation on the web
I’ve learnt a lot about animations on the web in the past year since joining the product team at Qwilr. I’ve spent a lot of it thinking about how to distill what I’ve found hard about designing and bu...
-
This is not 'The Cookie' recipe (but it is very good)
Simply obsessed with this recipe from the food blog, Buttermilk Pantry. A designer who I work with at Qwilr recommended it to me, and I’m making it for the second time this arvo. It calls for white mi...
-
Day 5 of leave
Ah yes, it is day five of leave, the first day I have decided to sit down and write some code for a personal project. Thus far I have spent 3 hours debugging a series of esoteric dependency-related No...
-
Science of Wellbeing
How I started What I got out of it rewirements are fun (I really enjoyed the interactivity) making habits stick is really HARD...
-
Choose boring technology
As I get more and more experience in software development, I am reminded more and more of the statement “choose boring technology”. If you’re building out a simple client-side web application and If y...
-
Attractive things work better (jnd.org)
Some interesting food for thought....
-
One year at Qwilr
comments dashboard shield kaleidoscope scale/o11y feature flags but what have I learnt...
-
Pasta
We’re doing some cooking challenges at work at the moment, and this last week’s challenge was to cook homemade pasta! We elected to bite the bullet and buy a pasta machine, because we’ve made pasta fr...
-
Yalc and fast feedback loops
As mentioned in one of my previous posts, I’ve been making intensive use of Slate, an open source Javascript project, which is developed as a monorepo and published to npm. As part of working on it I’...
-
Space for BLM
It felt wrong to not use my own platform to speak out about Black Lives Matter, and “just” post something about going carless this weekend when there is so much more important events occuring. One of...
-
Going Carless
With the exception of a brief period when I first moved out of home, I’ve had a car of my own my whole life. At first, it was a necessity - living in the outer western suburbs of Sydney is not practic...
-
A fix for Slate, and on open source projects
Over the past few months, I’ve been helping out at Qwilr upgrading the version the core library underpinning our editor experience, Slate. Slate is a really cool library that I have a hard time explai...
-
Sirius, etc.
From Wikipedia: The Sirius building is an apartment complex in The Rocks district of Sydney, New South Wales, Australia. Designed for the Housing Commission of New South Wales in 1978–1979 b...
-
Gifts from my Pocket archive
Over this long long event-less weekend, I’ve had some time to breathe and cull my Pocket archive (without much care for the stuff I cull; see the note on calling bankruptcy below). I thought I’d take...
-
The Coal Loader
We took a trip up to the Coal Loader Centre For Sustainability a few weeks ago, as I figured it would be one of the more quiet and social-distance-able parklands around the inner city, and we had some...
-
Park life
In the current climate, it has been hard to enjoy simple moments without feeling like we are trivialising broader happenings. I moved in with my partner a few weeks ago, and we now live opposite one o...
-
Spectre: Initial usage
Last weekend, I went for a little walk down to Blackwattle Bay, and spent some time taking some photos on my phone as the sun set. I had heard about a neat little app that allows you...
-
Mushrooms are fun?
So I bought a mushroom growing kit as a gift for a friend last September. Being a lazy millenial though I haven’t actually gotten around to giving it to her (we have seen each other plenty, I just kee...
-
Room names @ Qwilr Sydney
From what I can tell, it’s pretty on-brand to have clever or significant names for meeting rooms at trendy startups. As a trendy startup, Qwilr are no exception. Our new Redfern office has a few meeti...
-
NCSS 2020
I had the fortune of participating at NCSS as a tutor again this year, from 3-12 January 2020. This year’s NCSS was held in two locations for the first time. I took a bunch of photos that captured my...
-
📚 Books of 2019
What I read this year could loosely be described as “anticapitalist stuff”. It was enjoyable; a particular highlight was “How To Do Nothing” as I alluded to in last year’s book compilation. Thanks to...
-
The awesomeness of Autoprefixer (and browserslist)
The rocky introductory days of CSS3 were where I cut my teeth as a web developer, and it was where I learnt how much I disliked prefixes. I remember distinctly reading about how, if I wanted to use th...
-
Hey Jeeves
Everyone at Qwilr keeps a list of goals/things achieved the previous week, and it’s distributed around the company through the “standup” email thread each week. I’m not the first to have discussed the...
-
Building something small
This weekend, I took a Friday off and headed up to the coast to have a little holiday, and build something small on the web along the way. I didn’t want the building project to take up my entire weeke...
-
Maintenance
A brief meditation of the cost of maintenance, and upgrading to Jekyll 4.0. Lately I’ve been thinking a fair bit about maintenance, and the importance of not just ignoring it. And how hard it is to no...
-
Sunrise
Woke up this morning and took some sunrise photos. Reading: Digital minimalism Listening to: “Productivity Shame”, a podcast episode by Jocelyn Glei Jamming to: “104 Degrees” by Slaughter Beach, Dog...
-
DevOpsDays Sydney 2019: The good, the great and the open spaces
A little bit about what made DevOpsDays Sydney 2019 (my first!) so great as an attendee. I went to DevOpsDays Sydney 2019 this month, the first DevOps focussed conference I’ve been to thus far. It was...
-
PyCon 2019
This year was my second Pycon, and it was somehow even better than last year?! Read on for my notes about why it was so good 😀 The things I enjoyed The people The Rainbow Curlyboi 🐍...
-
Govhack 2019: The making of burra.town
What we did to make our Govhack 2019 project on suburbs and a Simcity visualisation. During GovHack this year, we produced a really neat prototype that visualises Sydney suburb development. We called...
-
Short note - Captions
After wanting them for some time, I finally added captions support to my blog post images. Hopefully I’ll have some time to go back and sift through all of my blog posts and add some captions to them....
-
Short note: Language agnostic scripts pls
Taking a look through the source code of Jekyll-Admin, I found a really good comment discussing the use of generalised scripts to do common tasks that are language-agnostic. This takes something like...
-
Short note - Ta-ku's Nujabes tribute
Just discovered Ta-ku’s tribute to Nujabes; it’s real good. A sublime listen; if you haven’t listened to Nujabes I strongly suggest you find his album “Modal Soul” on Youtube and take some time to imm...
-
What I'm doing in 2019
What I’m doing to get stuff done at work and in life, in 2019. It’s been awhile since I’ve done one of these. I’ve been inspired by Rands’ post on “a context bucket for everything”. I’m trying not to...
-
Short Note - Analogue Time
A brief meditation on the power of analogue stuff. Came across a neat blog post on overcoming digital addiction on FreeCodeCamp. The author had an interesting idea to make time out from our gadgets an...
-
🌟 Achievement unlocked - May 2019
This month really just flew by, holy shit. Just before writing this, I was: Getting packed to go visit the bf before he goes overseas for a bit This path month, I achieved: ✅ Got my full license 🐶...
-
HomeKit Automation with a Raspberry Pi
Where I’m going with my little bedroom-bound Raspberry Pi. After doing the initial work last June to set up a little Raspberry Pi complete with AirPlay to Sonos support (blog post on that here), I let...
-
🌟 Achievement unlocked - April 2019
Wisdom teeth and food again Just before writing this, I was: Cooking dinner (lamb and mushrooms and snow peas 😋) This path month, I achieved: 🚴♂️ Joined in a company-wide spin class to raise funds...
-
Talk is cheap, show me the working
Code is a representation of your program. Not-code is also a representation of your program. Both of these representations are fair and valuable. I don’t think that’s a problem. Peoples attitude towar...
-
🌟 Achievement unlocked - March 2019
The month of March was full of rain and food. Damn good food. Just before writing this, I was: Eating blueberry pancakes 😍 This path month, I achieved: 🥡 Moved my blog over to Netlify for easier de...
-
🌟 Achievement unlocked - February 2019
I wrote this post retrospectively on the 9th March 2019. Just before writing this, I was: Working out my finances for the month - thanks Scott Pape 😛 This path month, I achieved: Getting stuff r...
-
🏕️ Devcamp 2019 thoughts
After months of planning, deliberating over talks and hoping it would all come together, Campaign Monitor’s Devcamp for 2019 is over. A great 3 days of sessions and hangs was had and I’m so glad we go...
-
Things I Spend Money On 2019
It’s often said that a lot of your money goes out regular expenses. Especially if you set it to auto-renew a subscription, you never even realise that you’re spending (and missing out on) the money in...
-
🌟 Achievement Unlocked: January 2019
Just before writing this, I was: Reading some interesting roundups of apps and interviews over at The Sweet Setup. This past month, I achieved: Went to a SoFar Sounds gig for the first time! 🌺 Saw F...
-
The surprising effectiveness of launch checklists
This week, our team launched a new user experience flow to a percentage of new signups. No big deal, except that it touched some critical billing flows. We’re pretty risk averse to touching those. So...
-
🌟 Achievement Unlocked: December 2018
Just before writing this, I was: Waking up! This past month, I achieved: 🎵 Saw Jeff Rosenstock live 🎄 Survived three work Christmas parties in 4 days 🤓 Started learning Typescript 📕 Read “Has The...
-
📚 Books of 2018
My reading journey in 2018 This year I rediscovered the magic of the local library in encouraging steady, sustainable reading. The past few years I would go into (mostly independent) booksellers on a...
-
🌟 Achievement Unlocked: November 2018
And thus another month is over - November was huge! Just before writing this, I was: Sleeping in 😴 This past month, I achieved: Going to WebDirections Summit and learning a fucktonne of stuff. The o...
-
🌟 Achievement Unlocked: October 2018
Just before writing this, I was: Finishing off my migration to Travis CI from CircleCI. This past month, I achieved: 🧘 Doing yoga on a Thursday night for the first time - turns out that the Thursda...
-
🌟 Achievement Unlocked: September 2018
Just before writing this, I was: Listening to an episode of HTTP 203. I am not usually a big fan of this podcast, and haven’t been regularly listening to it, but it’s been quite good tonight listening...
-
DDD 2018: A reflection
This past weekend I was able to attend DDD Sydney, an awesome non-profit inclusive developer conference. I had a great time catching up with some friends, make some new friends, and learn some new tec...
-
The pitfalls of transpilation: class inheritance in Javascript
It’s 2018 and modern build pipelines have become quite standard across front-end projects. Having a transpiler like Babel to produce browser-agnostic Javascript is the default nowadays so you can writ...
-
Achievement Unlocked: July 2018
I’m rebranding this monthly post to “Achievement Unlocked” to match what other people have, and cos it sounds more fun! Just before writing this, I was: Having a post-lunch lazy arvo nap 😴 This past...
-
Month in review: June 2018
Just before writing this, I was: Going out for dinner with friends from work! This past month, I achieved: 🎶 Going to two gigs; I had St. Vincent planned for a few months, but ended up getting a tic...
-
AirPlay + Sonos
How I got my Sonos system to support Apple’s AirPlay streaming, without buying a pricey Sonos One speaker. This past Christmas, I bought a Sonos Play:1 speaker, since it was on sale for a super cheap...
-
Month in review: May 2018
Just before writing this, I was: Booting up my 3DS so I can get back into Pokemon Alpha Sapphire! This past month, I achieved: Getting my tonsils out - whilst this was quite an ordeal, with lots of...
-
Month in review: April 2018
Just before writing this, I was: Chilling and having a homemade breakfast. This past month, I achieved: Doing two more tech talks at work, and learning a bunch in the process Seams in C# for my team...
-
Remembering to breathe
As part of my ongoing attempt to cultivate a better mindset towards my life, I’ve started to question some practices I’ve taken on at work. One of those is the need to be at one’s desk for a majority...
-
Month in review: March 2018
Just before writing this, I was: Paying bills, and finally cleaning out my top drawer for stationery! This past month, I achieved: Doing two tech talks at work C# refactoring The ReactJS Context API...
-
OpenLayers for new players
One really quick thing I want to write about today is OpenLayers and a common pitfall I come across when writing mapping code. I originally came across this when writing code for a GovHack project, bu...
-
Month in review: February 2018
I’ve been at a loss as to what to write on my blog lately, as I haven’t been doing a lot of code stuff that isn’t directly applicable to my work. Was chatting to Georgie, someone I work with, and she...
-
Top Reads for 2017
2017 was my first year out of full time education and into full time work. I learnt so much every single day, and read a ridiculous amount of articles. When I sat down to write this post, I was overwh...
-
What I learnt about writing React in 2017
Over the past month or so, I’ve gotten some real world experience of React in a project, where I’m replacing existing front-end code with quite a large footprint and significant complexity. I’ve previ...
-
Using the .NET HttpClient class more efficiently
On a recent piece of work, I was updating some code in our codebase which makes use of a HttpClient for fairly similar actions, repeatedly. During a code review, someone noted that I was repeatedly cr...
-
Auto-backed properties in C#: a quick primer
I’ve been excited and curious about the fancy auto-backed properties of C# since I first got into the language about three years ago. I’ll admit that, though I’m not a language nerd, the improved ergo...
-
Top Reads for 2016
2016 certainly did become the year that was, with a series of unfortunate events leading to the internet becoming quite morose and anachronistically blaming an arbitrary timescale for their misery. It...
-
Digging a bit deeper into Angular 1.x components
I’ve been playing around with Angular components at work lately, and attempting to mentally map my understanding of Angular components against the concepts found in React components, which I’ve had so...
-
Trials and tribulations of writing my first serious Android app
This semester I took an Android development course. I’ve struggled with Android programming in the past, mainly due to my Web background. Most web apps have a different architecture and different API...
-
Rapid embedded development with React and Node
As previously mentioned, this semester I enrolled in a new subject, Prototyping Physical Interactions, which involves learning how to utilize embedded hardware such as arduinos, to create flexible and...
-
I Migrated A Project To ReactJS For The First Time And Didn't Die
Before I start: a note on Javascript fatigue Amongst all the negativity over the past year of “Javascript fatigue”, it’s become quite trendy to hate on the Javascript community, which is a true shame....
-
KD-Tree fun in QuestionTime
This past week, I was working on QuestionTime, and needed to work out where the nearest points of interest were to the user’s location in an expedient fashion. Now, the last time I did anything involv...
-
Documenting Your Schemas
Last week I spent some time reading about using message queues like RabbitMQ and Apache Kafka as stream data systems. In the process I found an awesome article on the reasons why LinkedIn built and op...
-
Name Shaker
This semester, I'm studying a new course, "Prototyping Physical Interactions", that's aimed at strengthening students' problem solving skills using the new class of IoT devices that exist around us. T...
-
Apple Is Bad For Education
Apple’s newfound interest in harnessing the education potential of the iPad and by extension its closed ecosystem isn’t a great deal for society at large. Here’s why. Overview So lets look at the stat...
-
A Quick & Dirty Intro to RequireJS
Module loading in Javascript is still finnicky in 2015; here's a guide to making your life a little easier with the popular RequireJS library. The creation and loading of Javascript modules is s...
-
Careful Consideration
Today I was doing a bit of casual reading and came across an article discussing the inherent tension between wanting to try out new technologies in projects, and sticking to tried and tested framework...
-
Enabling continuous integration through Drone
I’ll just note before I start writing that I am pretty terrible when it comes to Linux. I’ll read a guide on how to build your own home server with a Linux distro, or how to get shiny graphics in Ubun...