RSSAmplifier

Blog

Luke Singham

Technology, Data Science and other ponderings

lukesingham.comRSS feed ↗29 posts

Latest posts

Holo3 Test driving the best computer use agent I could run on my laptop

March 2026 was a busy month for computer-use agents. On March 5, OpenAI released GPT-5.4 and reported a 75.0% score on OSWorld-Verified , a benchmark for desktop tasks completed through screenshots, mouse actions, and keyboard actions. The reported human baseline is 72.4% , so this was the first time a general computer-use agent had crossed that line on this evaluation. Then, on March 31, H…

FIRE Calculator for UK & Australia

A calculator for working out your path to Financial Independence, built for UK and/or Australian residents. It handles the different pension access ages and tax-advantaged accounts in each country, and treats housing as a first-class part of the plan: to be truly financially independent, you need to control the place you live in. Where are your finances? UK Only Australia Only Both Countries…

Startup Reflections

These are some of the tough lessons learned from my start-up journey. Writing this has been incredibly cathartic. My top two key-takeaways are: Validate the problem and willingness to pay upfront i.e. find someone that says 'how can I use this now? Please take my money' Stress test your co-founder relationship. Product # For a little context, our two sentence description of ilumadata was:…

How to find a co-founder

I recently went on the hunt for a new co-founder. This ended up being my process. Starting principles # Meet as many as you can in parallel. Like a sales pipeline, you wouldn't only talk to a single customer at a time, nor should you for founders. Give yourself a deadline, goal setting matters, it also creates urgency so you can close. It takes longer than you think, several months for me and I…

An introduction to Monzo’s data stack

Originally posted on Data@Monzo Medium The modern data stack is a collection of rapidly evolving technologies that together provide a platform for analytics. While we at Monzo already have quite a modern data stack, there is always more to learn and room for improvement. This post summarises the core components of our modern data platform, some of the challenges we currently face, and what we want…

8 Reasons Why Signal is Better than Telegram

1. Signal Is A Not-For-Profit 😇 # Telegram is for profit 💰. I want the reassurance that the profit motive isn't there for my communications platform - because we've seen where that leads to before . 2. Telegram Collects More Of Your Data 🗄 # Telegram collects more data on you . Whereas Signal, even under the full force of an FBI subpoena - which they declared publicly - could only share account…

Goodbye Whatsapp - Hello Signal

Anyone who uses Whatsapp would have seen the ultimatum Facebook is handing its users. The summary is, give us your data or don't use our platform, you have until the 8th of Feb 2021 . The choice is very simple for me; Whatsapp has been something I have reluctantly used ever since it was bought by Facebook. However, not everyone in my network pays attention to privacy or values it as much as I…

Grokking Algorithms - Summary

📚 Book: Grokking Algorithms ⭐️ Rating: 5/5 I don't think you could manage to produce a more friendly introduction to algorithms. I highly recommend this book for anyone who hasn't studied algorithms. You do not need to be a good programmer or to remember all of your high school maths you have probably forgotten. Grokking Algorithms is a beautifully formatted book that explains complex material…

The Pragmatic Programmer - Review

📚 Book: The Pragmatic Programmer ⭐️ Rating: 4/5 Sagely advice that is written in an engaging and highly consumable form. The Pragmatic Programmer is a very good book full of practical advice. It's written with little Tip boxes which are the tl:dr; of a particular section. Plus, there's a healthy sprinkling of Dad jokes throughout the book 😁. Unlike, a Mythical Man Month , I would recommend this…

Go Tour Summary

These are my summary notes of A Tour of Go - which is meant for people who are familiar with programming to have a quick tour of the Go language. I'm most familiar with dynamic languages ( R , Python , JavaScript ) so there are some go-lang features that naturally feel new by the nature of Go being a statically typed language. A subsequent post will expand upon some of the more advanced features…

The Mythical Man Month - Review

📚 Book: Mythical Man Month ⭐️ Rating: 3/5 (4/5 if you haven't had experience in tech) The Mythical Man Month (MMM) is a collection of essays that encapsulate wisdom accumulated by the author Fred Brooks. If, like me, you have been in the tech industry for a number of years you are unlikely to gain much value from this book - as you have either read articles or experienced first hand these…

The Best Self-Hosted RSS Feed Readers

What is RSS ? # It aims to be an open standard for the open web, where applications can get updates from websites. This runs against the current closed off portions of the web like Facebook that keep content behind their account login - i.e. the internet's 'walled gardens' . For a while, a lot of people used the popular Google Reader RSS application - unfortunately, as with many loved Google…

How to Setup a Ubiquiti Access Point

Aim : Have strong WiFi across a property. In other words eliminate the deadzone. Solution: Keep existing ISP provided router and plugin a Ubiquiti Long Range Access Point. tl;dr - ✅ Solved - No deadzone. But, setting up commercial grade wifi was not user friendly. Ingredients: Ubiquiti Networks UAP-AC-LR 175.7 x 43.2 mm 2.4-5 GHz 802.11ac Dual-Radio Long Range Access Point - White 2m Ethernet…

A Review and Summary of the Javascript30 Course

📚Course: Javascript30 💰Price: Free ⭐️Rating: 8.5/10 Review # What could be better? Not a lot. I think Wes (the instructor) could have thought harder about prompting learners to pause the video and trying solo for themselves. He does once or twice somewhere in the first 10 lessons. But didn't do it after, which meant I tended to follow along waiting for the prompt. There are a couple of mistakes…

Setting up Pi-Hole on a Raspberry Pi Zero W using SSH

Aim: 🛑 Block all advertisements for all devices on my home WiFi network Estimated time to complete: Best part of a morning ⏰ depending on how well things go for you i.e. 1.5-3hrs When the Raspberry Pi Zero came out it hit front pages as the $5 computer and sold out instantly . Here are the specs for the Raspberry Pi Zero: 1GHz, single-core CPU 512MB RAM Mini HDMI and USB On-The-Go ports Micro USB…

How to Make a Churn Model in R

The following post details how to make a churn model in R. It was part of an interview process for which a take home assignment was one of the stages. The company stated this should take 2hrs, which is entirely unrealistic. To minimise the time cost, my analysis is very succinct and short on the exploratory analysis and amount of models compared. The churn model got me to the final stage, however…

How to Deploy Plotly's Dash using Shinyproxy

In a previous post I established that I could easily deploy a 'Hello World' flask.py web application using Shinyproxy . Therefore, I thought it would be straightforward to deploy a Dash app which is built on top of flask.py . However, it proved to be a little more difficult than that. This blog post runs through the errors and eventual solution to deploying a Dash app on Shinyproxy. The Issue #…

How to Use Shiny Containers with Shinyproxy

Aim : Setup shinyproxy as a production level way of deploying multiple containerised shiny apps with authentication. Additionally I'll demonstrate how to incorporate containerised python web apps and deploy this behind a reverse proxy using Nginx. Conceptual Overview This is a pretty significant piece of software. It renders Shiny Server Pro redundant. As this solution provides authentication,…

Dual Booting Ubuntu and Windows 10 on a Dell XPS 13

My Setup : Dell XPS 13-9360 + Windows 10 Aim - Get Ubuntu on the machine. Essentially, follow these instructions with two key modifications. You should be able to get away with switching from RAID to AHCI without re-imaging windows using these instructions . Disable Bitlocker - this is crucial! The first time I ran this... I didn't complete this step which led me to screwing up my Windows 10…

Anonymous Functions in R and Python

What's in a name? That which we call a rose by any other name would smell as sweet. Normal functions # Before moving to anonymous functions, let's start with what normal functions look like. In R # # Define a function functionName <- function ( variables ) { # Function definition... do some stuff print ( paste ( variables , "doing stuff" ) ) } # Call the function > functionName ( "boring strings"…

Shiny (R) Web App Performance - Profiling

Introduced at the 2016 R conference, the profvis package offers a visual way of inspecting the call stack and highlights the most memory and computationally intensive parts of your code. Run Profvis # # Load library library ( profvis ) # Run profiler on shiny app with optional arg to save output profvis ( { runApp ( 'Projects/path_of_app' ) } , prof_output = '/path_to_save_output' ) At this point…

Binary Classification in Python - Who&#39;s Going to Leave Next?

This post goes through a binary classification problem with Python's machine learning library scikit-learn . Aim # Create a model that predicts who is going to leave the organisation next. Commonly known as churn modelling. To follow along, I breakdown each piece of the coding journey in this post. Alternatively, you can find a complete copy of the code on github . You'll need the following…

Rooting a Oneplus 3T Phone

I recently rooted my Oneplus 3T phone on Android 7.1.1. Finding the right information was not as easy as I thought it might be, so here's my summary. I used my macbook, you will need your USB cord to connect the phone. Warning - you will end up wiping your phone during this process, I'd recommend performing a backup prior. I didn't as I figured most app data are synced to the cloud, the only…

Benchmarking the Performance of R Code

To assess the performance of R code there's a great little package called microbenchmark . install.packages ( 'microbenchmark' ) library ( microbenchmark ) I was particularly interested in the performance increase of a shiny application that reads in a bunch of .csv data. To test the performance increase I ran the following code: # For all *.csv files in "data" directory csv.files <- list.files (…

How to Stop R Projects and Scripts Breaking

A how-to in getting started with Package Management in R The problem: Let's say you coded a project in R in 2014 using the package dplyr and you called the project 2014project . Over time packages get updated, sometimes changing syntax and function names, let's say some major syntax changes occurred in 2015 to dplyr and you used the latest version of dplyr in other projects in 2015. Now you come…

Map of Australia Using OpenStreetMaps, PSMA, R and Leaflet.js

Aim: To use GNAF (Geocoded National Address File) data to display the administrative boundaries (e.g. States) on top of Open Street Maps. Additionally, I want the user when hovering over a state to see summary statistics. I want an Australian version of this . Data # G-NAF, is data containing all Australian addresses with geocoding, shape files for boundaries of states, electorates, municipals. It…

A Quick Look into Stamp Duties & Land Taxes

Stamp Duties # Stamp duties are a transaction tax. Prior to the digital era, the transfer of legal ownership presented a convenient time for governments to levy a tax. Upon the transfer of ownership a stamp duty was paid and the relevant transfer of ownership document was either stamped... Or a stamp was affixed... Nowadays, most Australians recognise stamp duties as the tax paid upon the purchase…

Post War but not Post Conflict

" What happened in Sri Lanka was a major Rwanda-like atrocity, in a different scale, where the West didn't care. There was plenty of early warning. This [conflict] has been going on for years and decades. Plenty of things could have been done [to prevent it]. But there was not enough interest ." -N. Chomsky A bloody civil war that gripped the island nation of Sri Lanka for over a quarter of a…

How to Make a Wordcloud Using R

Recently I have been using R for some basic data visualisations, outputs like word clouds and heat maps. I don't have a programming background so upon first look the R command line based environment can seem a little daunting. However, the ease at which I have been able to create some pretty amazing outputs with very little code has surprised me. In this blog I will attempt to share the steps in a…