RSSAmplifier

Blog

Live and let Learn

Live and let Learn

liveandletlearn.netRSS feed ↗31 posts

Latest posts

Building Open Aviation Solutions

For the past couple of years while working towards my pilot licence, I’ve looked for interesting ways to use my open source software engineering experience in an aviation context. More recently I’ve founded Open Aviation Solutions - a software development company building a collection of aviation-specific Open Source projects to simplify aviation software development. Two of the…

5 Tips Towards Your Commercial Pilot Licence

As 2025 comes to an end, I’ve been thinking about my own journey to gaining my commercial pilot licence and multi-engine instrument rating. With all my (in)experience of 300 hours total time flying aeroplanes, below are my thoughts and tips for getting your commercial pilot licence . Your mileage may vary. But first (and I will come back to this point throughout), if your goal is to fly…

Are there pilot bloggers in Australia?

I love learning together with others who are going through similar experiences and working through similar things. It’s incredibly helpful to be able to write, interact and help each other learn . At the same time, I want to own, collect and build my own learning , so writing online with a blog website is ideal, even though it doesn’t have the same immediate reactions that social media…

Blundering Through the Authority Gap

Read the close-call Blundering through the Authority Gap from the Flight Safety Australia website where one pilot describes, as a young pilot, their passenger stepping into the role of co-pilot and navigation expert in a bad weather situation. I was recently studying the Risk Management chapter of the FAA’s Aviation Instructor’s Handbook , according to which, one of the principles of…

10 tips for writing software with LLM agents

I’ve been working in software development for a whilie now and have consistently chosen to stay in an individual contributer role because, among other reasons, I love working and learning together in a team solving problems with code. So when I say, with complete honesty, that I have never enjoyed developing software more than the last six months or so while developing together with large…

Flipping a Coin: An Analogy for simulated Quantum Computing Limitations

I love chatting about science with whoever I find myself with and learning together through those interactions. A few times I’ve found myself talking about Quantum Computing and specifically discussing why quantum computers are required for quantum calculations. That is, restating the question, why can’t we just simulate quantum calculations on the powerful computers we have today ?…

United Nations Transparency Protocol: transparent facts about products you purchase

For the past year I’ve been working with the people at GoSource around 3 days per week while also working towards my commercial pilot license (more on that journey separately). GoSource are involved in quite a number of interesting projects, but for the past 5 months I’ve been involved with the United Nations Transparency Protocol , which aims to make product claims easy to verify -…

Live and Let Learn with Rust, Quantum Computing and Piloting aeroplanes

In mid 2022 I was presented with an amazing opportunity through no effort of my own: VMware, the company I worked for, announced it was being acquired by a non-remote, non-open-source-oriented multi-national in a somewhat lengthy 18 month process. As a fully-remote staff engineer on an open-source project I estimated a 75 to 90 percent probability that I’d receive a redundancy in around 18…

Day03 Tokens, Enums and Docstrings

The Day 03 challenge involves the calculating whether a character symbol is adjacent to a part number in a two dimensional map, such as: 467..114.. ...*...... ..35..633. ......#... 617*...... .....+.58. ..592..... ......755. ...$.*.... .664.598.. and then doing things with the part numbers. To calculate whether a symbol is adjacent to a part number we’re going to need: the position of each…

Day02 Copilot and Vanilla Parsing

After refreshing my knowledge of the rust parsing library ’nom’ with the day01 challenge , I was keen to do the second challenge without, simply using the standard library’s string manipulation and default parsing for this simpler parsing problem. At the same time, I was keen to work more with GitHub Copilot since I’ve not been able to use copilot at my most recent job due…

Day 01 - a Rust Parsing Exercise With Nom

It’s been quite some time since I’ve taken time to enjoy coding challenges primarily for the fun of it. Over the next months, I’m keen to work my way through the 2023 Advent of Code - a fun set of problems created by Eric Wastl strung together with a seasonal story - and write up a bit about my own learning and fun. For me it’s a chance to keep improving my fluency with…

VMware Take 3 Experience With Rust and DBSP

One of the great aspects of working at a larger company like VMware is that there are programs like Take 3 , designed to help people who meet certain criteria to take 3 months on a different project to learn new skills in other contexts and bring those skills and experience back to their team - rather than potentially looking elsewhere for a similar learning experience. This post documents my own…

Fan-Out and Fan-In Golang channels in Kubeapps

During a career as a software engineer, every now and then you come across a design pattern that becomes your darling for a few years following the discovery. Other design patterns are useful, but not so special that you want to tell the world about them. Up until recently, my favourite design pattern was the state pattern which allows encapsulating different behaviours (implementations of an…

Kubeapps APIs - a plugable system supporting different Kubernetes packages

The recent release of Kubeapps marks a milestone for the Kubeapps team in that we are no longer restricted to presenting a catalog of only Helm packages in our UI and, behind the scenes, we’ve addressed a long-standing security issue to remove the reverse proxy to the Kubernetes API server that our UI depended on until now. We’ve done a few overviews of the new Kubeapps APIs service…

Kubeapps on Tanzu Kubernetes Grid 1.3

This is the second post in a series of two post detailing the steps that I took to install Kubeapps running on a TKG 1.3 cluster on AWS configured to allow user authentication via the TKG identity management: The first post focuses on the TKG 1.3 setup required to get a workload clusters with identity management (using your chosen identity provider), This followup post details the related Kubeapps…

Tanzu Kubernetes Grid 1.3 with Identity Management

Way back in 2020 I’d detailed how I’d setup a Tanzu Kubernetes Grid 1.1 management cluster with OpenID Connect support (for single sign-on) before installing Kubeapps with single sign-on on that management cluster . Recently TKG 1.3 was released and the identity management support in TKG has changed significantly, so it’s time to see what’s different when setting up a TKG…

Kubeapps on Tanzu Mission Control via Pinniped

We’ve been able to run Kubeapps in a multi-cluster setup on various Kubernetes clusters for a while now, but this was dependent on the Kubeapps’ user being authenticated in a way that all the clusters trust. Up until now, this meant having all the clusters configured to trust the same OIDC identity provider , which is not possible in some Kubernetes environments. Particularly, this…

Carvel kbld With Helm Post Render

For the past couple of years I’ve been working on the Kubeapps project , which until recently has been a UI dashboard for the Helm project - providing a simple, web-based UI to deploy applications on Kubernetes . I’m currently looking at generalising Kubeapps to support other Kubernetes packages formats, including Carvel from VMware of course. So I set out today to start learning more…

Ridge soaring, meteorology and course completion!

The 8th day of our course was completely blown out weather-wise with no possibility of flying, which is unfortunate as most of us only need to do some ridge soaring hours practising the give-way rules of the air and get more experience doing our reverse launches on our own in varying conditions. On the 9th day some of us were able to do a brief ridge soar after our theory test, but it was only by…

Morning high flights and sunset sleddies

There’s some windy weather headed this way for the weekend, so our aim for the day was to get as much practise in as we could, which is exactly what we did - a day without theory classes! We left around 7:45 as planned to head up to the north launch and got 4 flights in before the wind died, landing in the East paddock. In the evening we managed another 3 flights from the west and south…

First big flight and more ground handling

We started the day at 7:45 heading up the hill in the basher to the North launch at Mt Borah again. After our first flight to the triange paddock we began doing solo flights so that after takeoff, Godfrey hands us over to the landing-site instructors, Karl and Bob, but they only use the radio if necessary. On my last flight for the morning I got to fly with another student all the way from Mt…

Reverse launches, wind gradients and turbulence

The winds just wouldn’t cooperate today, even for learning reverse launches in the paddock. We all got up ready to go, packed ourselves into the basher 4WD with our gear in the trailer, but didn’t even leave. The winds at the top of the mountain were getting stronger rather than weaker over the previous half-an-hour, so that it was currently gusts of 30km/h or 8m/s. So we came inside…

First high flights and learning about emergency situations

At 8am we were in the basher heading up to the north launch and ready to go! Our first high flights are done with pretty strict supervision: Godfrey checks everything at the top and gets us into the air safely and then hands over on the radio to Karl and Bob who instruct us via radio for our approach and landing. All up the flights were only 6 or 7 minutes, but that’s 6 or 7 minutes being in…

More training flights and first theory lessons

As planned we headed out to the training slope first thing this morning at 8am as the wind was calm but would be getting stronger later on. A thunderstorm after lunch saw us heading to head-quarters to start the course theory, beginning with wing shapes, glide angles and stalls. Disclaimer - Day 3 This is part 3 of my personal learning notes from the paragliding course at FlyManilla . These are my…

First flights on the training hill

We started early today, heading straight out to the training hill which sits in the morning sun and so has heated air rising for a nice gentle breeze (anabatic flow). We each had an Advance Alpha 6 matching our size (the 6 is the previous model but similar to the current 7). Everyone did pretty well, getting off the ground, learning to flare when landing, as well as doing a little bit of steering.…

From Harness to Canopy and Forward Launches

Starting from the harness attachment loops we worked through the correct names for all the parts of a glider through to the canopy while learning how to identify any issues along the way. In the afternoon we similarly detailed our harnesses and putting them on safely before heading to the field to practise forward launches in the evening. Disclaimer - Day 1 This is part 1 of my personal learning…

What is Kubeapps

For over a year now I’ve been working together with Andres on the Kubeapps project at VMware and have made various videos of new features that we’ve worked on, but I’ve never stepped back to give an overview and answer the more general question, “What is Kubeapps?” and show how those features work towards a single goal. The goal of Kubeapps is to help users and…

Kubeapps on a TKG Management Cluster

This is part two of a series detailing the steps required to run Kubeapps on a VMware TKG management cluster (on AWS) configured to allow users to deploy applications to multiple workload clusters, using the new multicluster support in Kubeapps. Though details will differ, a similar configuration works on other non-TKG multicluster setups as well. The first post described setting up your VMware…

VMware Tanzu Kubernetes Grid (TKG) with OpenID Connect - First Experience

Andres and I have been doing quite a bit of feature work in Kubeapps over the past months at VMware and one of the key features that I’ve been working on personally is enabling Kubeapps users to deploy applications not only on the cluster on which Kubeapps is installed, but to multiple other clusters as well. Enter VMware Tanzu Kubernetes Grid (TGK): an “Enterprise-ready Kubernetes…

Spanish Interactions

I’m currently travelling at nearly 300km/h through the Spanish country-side on my way to Seville to meet some of the Bitnami team, but it’s not the speed which has me surprised, but the willingness of people to engage with total nearby strangers. Australia used to be known for this (with the cliché example of Mick Dundee walking down a New York street greeting tipping his hat to each…

Dual booting the Dell XPS13 (9365) with linux

I recently purchased a Dell XPS13 (9365) (thanks to Bitnami for whom I now work) which comes with Windows 10 preinstalled. I was aware when purchasing that suspend on Linux is not yet working (thanks David Farrell . As of Aug 2017 suspend is fixed , see below), as well as other functionality (autorotate, pen integration etc.) and so was keen to have a few options to work on this machine : Running…