RSSAmplifier

Blog

Bren's Blog

Continuously Integrating since 1973

brendanwhelan.netRSS feed ↗10 posts

Latest posts

Comparing Benchmark Performance of Mobile Multiplatform Tools

I’ve built a lot of mobile apps, most recently using multiplatform development tools. I started multiplatform with React Native (RN), which was a popular tool at the time that also shared the same language I was using for the backend, i.e. TypeScript. I still maintain RN production app code today. With the emergence and maturing of Kotlin Multiplatform (KMP) I returned to my Android development…

The Truth About Remote Work in 2026

Time flies. It’s hard to believe 2013 was when I last (and first) wrote about remote working . A lot has happened in the meantime and finding myself exposed again to the vagaries of the IT remote job market I realised it’s time for an update on the state of play out there, based on my own experiences. First let me define what I mean by remote work. I mean a job which can be done entirely from…

Laelaps

I wrote the app for this some time back. Really great to see how far the guys have come with the hardware. Skiing – never thought of that use for it! (Wish I’d had it in my skiing days.) Check it out on Kickstarter Always great fun working with these guys!

Bluetooth Command Queuing for Android

Bluetooth 4 (aka BLE – Bluetooth Low Energy) on Android has some important limitations that need to be addressed in apps that need a high degree of user interactivity with a Bluetooth device. Very quickly when you set out to write such an app you’ll come to realize that you’ll need some sort of Bluetooth command queuing system. First, a little background. Recently I had to develop a client app…

LED Strip Dimming

I’m using LED strip lights for a model I’m working on. The trouble is, they are too bright. You can buy dimmers for LED strips fairly cheaply, but they are overkill for my purposes – I’m only using a portion of the strip therefore the current is low and I want a small, non-bulky circuit that I can pack in neatly with the rest of the electronics. LEDs are always on, or off, so dimming is done by…

The Truth about Remote Working

There’s a lot of buzz about remote working, especially today. It’s the new big thing, allegedly. Thought influencers like Tim Ferriss and 37signals are making great efforts to “disrupt” the geographical bias of working with their books . However, I’ve found the reality of thought out there is very different. Don’t get me wrong – I’m personally invested in the notion of telecommuting. In my case,…

Scaling Subdomains with Redis and ZeroMQ

You know those nice web apps that allow customised subdomains per customer, i.e. mycompany.webapp.com? Nice to have, sure, but there are challenges in keeping this feature performant in a scalable server farm and it’s non-trivial, as I discovered. To determine which customer organization a web request is for based on the subdomain you could make a call to the service layer to determine the…

Localized String Templating in .NET

I’ve been building a mustache-style string template system for my Saas app. It will mainly be used for e-mail notifications sent to users via Amazon’s SES. The idea is simple; you have a text template where you want to substitute the tokens {{…}} with send-time specific data: {{Title}} Here's a sample template for {{Person.Firstname}}! Generated on {{CreationDate:d}} There’s a couple of important…

.NET WCF Custom Headers

I use server-side error logging to trap and record any exceptions an end-user might be receiving. It’s handy for pro-active debugging and it’s also useful for tracking any potential intrusion attempts. To that end, I need to have the end user’s IP address to see if the intrusion attempts are all coming from a IP address or range that can potentially be blocked. In an N-tiered SOA app though, the…

Android OpenGLES Water Caustics

I like water caustics – those sinuous reflections you get from the surface of water. I’ve always wanted a good “water pool” type animated background. The apps on the store don’t quite do what I’ve been looking for, so I wrote one. Initially, I dipped back into 3D programming and tried to see if they could be done in real-time on the device. Water Caustics are notorious for being computationally…