RSSAmplifier

Blog

iainschmitt.com

Iain Schmitt's Blog

iainschmitt.comRSS feed ↗31 posts

Latest posts

July 2026 Earnings for AT&T, T-Mobile, and Verizon

July 2026 Earnings for AT&T, T-Mobile, and Verizon In the week of July 20th, the big three American mobile network operators (MNOs) announced earnings for the second quarter of 2026. It was a pretty decent quarter for each of the carriers, and each beat Wall Street's estimates as shown below. T-Mobile was the only carrier to open lower after earnings; in part this was due to the company adding new…

Non-performant software and its incentives

Non-performant software and its incentives I end up re-listening to Episode #78 of Software Unscripted at least once a year. As I've previously written , this podcast is hosted by Richard Feldman, a high-profile Elm programmer and the creator of the Roc functional programming language. Episode #78 is Feldman's conversation with game developer Casey Muratori. Feldman correctly decries how…

Manifest 2026 Recap

Manifest 2026 Recap For the second time this year, I made it out to the Bay Area for a conference. In a write-up on my March visit for JavaOne, I wrote the following: ...as Byrne Hobart points out , by clustering a lot of people in a small location for a couple of days you end up creating a miniature industry-specialised city with all the implied nonlinear benefits. It was a mistake to write that,…

Photography

Photography My first proper digital camera was a Canon Rebel T1i. It was the type of camera you'd buy a photography-curious highschooler for Christmas if it was 2010, but I got my hands on one almost a decade later in 2019. The camera was a Craigslist find from one of my sisters, but she didn't get enough use to justify keeping it. When I was home one weekend in May that year she asked if I would…

The Great Token Wager

The Great Token Wager In the first half of 2026 the AI infrastructure buildout has been firmly top of mind. 1 The November 2022 launch of ChatGPT brought large-language models into the spotlight, and with each passing year you could feel the diffusion into nearly every conversation about the future of work, education, and culture. To feed the insatiable appetite for generative AI, the industry is…

RSS Scraper Development Notes

RSS Scraper Development Notes Artemis.bm is a strange website and I wish that more industries had a counterpart: the website tracks the insurance-linked security (ILS) and catastrophe bond industries. ILSs are an alternative to traditional reinsurance, which is the insurance that insurance companies themselves purchase to protect against tail risks. One bad hurricane could result in a lot of…

A few thoughts from JavaOne 2026

A few thoughts from JavaOne 2026 Last month SPS sent me and a staff engineer to JavaOne , the main Java language conference held at the Oracle campus in Redwood City, California. It was a great experience and I got a lot out of it. It is worth asking what the value of conferences is when there is no shortage of high-quality content online about advancements in the language, JVM, and important…

February 2026 Puro Notes

February 2026 Puro Notes Last July I wrote the following in Kafka in One File : It all made me think that surely someone has created a high-quality, open-source "SQLite of Kafka" because that is exactly what I want. Given that SQLite fit my needs well as a database we're not talking about all that much data. But I find event streams interesting to work with given that they have useful qualities of…

Review of <em>The Shenzhen Experiment</em>

Review of The Shenzhen Experiment For all the attention paid to America's semiconductor reliance on Taiwan and the military consequences of selling advanced Nvidia GPUs to China, I've found it unusual how comparatively little effort has been placed in coming up with an alternative to the Shenzhen manufacturing ecosystem. Before reading The Shenzhen Experiment I didn't know much about this region…

Vibe code at your peril

Vibe code at your peril At every software company that I have worked at, if something is going wrong the customer has a named person who is responsible for getting the problem fixed. If a piece of the company's software could be to blame, there is a living, breathing developer on-call 24 hours a day, seven days a week. This on-call developer is responsible for answering questions like 'why is this…

On Automation

On Automation At the founding of the country, 9 out of 10 Americans lived on a farm, but as of 2022, fewer than 2% of Americans made their living farming. Explaining this transition to an intelligent observer in the late 18th century would be difficult. While they might not use the words 'mass unemployment', that would definitely be on their minds. But more than anything, they wouldn't believe…

My Rough and Incomplete Backend Developer Skill Tree

My Rough and Incomplete Backend Developer Skill Tree A few weeks back, an associate software engineer was asking me for advice on the types of side projects that would build relevant skills in his backend role. In the process I talked through some of the books that I found the most helpful in getting me to where I am now, and it forms something of a backend 'skill tree'. By 'backend' I mean server…

Uncomfortably Functional Kotlin

Uncomfortably Functional Kotlin SPS hosts an informal, internal technology conference every year. This was where I presented work on a stock exchange simulation project a few weeks back. The project was mainly an excuse for learning a couple of technologies that I thought would be fun to use. One of said technologies was Kotlin, which was my server-side language of choice. Kotlin: better in every…

T-Mobile&#39;s Fiber Ambitions

T-Mobile's Fiber Ambitions US Internet (USI) is a regional ISP based out of Minnetonka, a western suburb of Minneapolis, Minnesota. Its primary offering is fiber optic broadband, and its service area is about 2/3rds of Minneapolis and a smattering of her western suburbs. At most about half a million people are in the USI service area, so the company isn't a household name anywhere outside of…

August Event Stream Notes

August Event Stream Notes Kafka Consumer Group Offset Durability A few weeks back I read Taylor Troesh's "How/Why to Sweep Async Tasks Under a Postgres Table". Not only does it show off how elegant the Postgres NPM package is, more importantly it shows some good patterns for using PostgreSQL in place of an event stream or message queue. Because I'm sympathetic to arguments that Kafka can often…

Kafka in One File

Kafka in One File On a piece of software whose lack of existence confuses me. A Love Letter to SQLite When Redis's original BSD open-source licence was changed, Machine Learning Engineer Vicki Boykis mourned the occasion with "I love Redis with a loyalty that I reserve for close friends and family and the first true day of spring, because Redis is software made for me, the developer." While I have…

The English Civil Wars and the Republic That Failed

The English Civil Wars and the Republic That Failed In May 1660, Sir Thomas Fairfax crossed the English Channel with eleven other men to formally invite King Charles II to reclaim the throne. Fifteen years earlier, Fairfax had commanded the army that defeated and deposed Charles's father. What made a successful revolutionary general personally restore the monarchy he'd helped destroy? Fairfax’s…

The next big asset class?

The next big asset class? One anecdote that Byrne Hobart is fond of is that when Warren Buffett was getting his start in equity investing most Americans believed that the stock market was a place to bid on livestock. In Hobart's telling, one lesson that Americans took away from the 1929 crash was that equities were scammy nonsense best left entirely alone; Buffett came into the equities investing…

Software firms and subjective judgment

Software Firms and Subjective Judgement If the CEO of LG wants to add a new button to the remote on one of their TV models, this will require prototyping the new remote, designing changes to the PCB and plastic casing, getting on the same page with their manufacturing contractor, and updating support documentation. I've certainly left out a few steps, but executives at a CRM SaaS company could ask…

Prism Proxy Bug

Prism Proxy Bug: STOP-2386 A few disclaimers to start - nothing in this blog post discloses proprietary information from either SPS or our customers, and I did get company permission prior to writing this. This post and everything else on this website is written in my personal capacity and not on behalf of SPS or any previous employers; all opinions expressed here are my own. With that out of the…

First Thoughts on <em>The Little Book of Semaphores</em> and Rust

First Thoughts on The Little Book of Semaphores and Rust In my review of Domain Modeling Made Functional , I made the following comment about Rust: This has made me realise that I would much rather learn a new language by diving into a problem area that it is well equipped to work in: rather than just learn Rust, I'd rather do a deep dive in concurrency and learn Rust in the process. This was what…

This blog&#39;s new syntax highlighting

This blog's new syntax highlighting This blog is written from scratch with my custom static site generator , and up until a few days ago I was using Prism for client-side syntax highlighting. 1 This added about 34.3 kB of JavaScript to support F#, TypeScript, and JavaScript syntax highlighting. In the grand scheme of things this is a small bundle, but this always bothered me because syntax…

LLM Chat Interfaces Will Change

LLM Chat Interfaces Will Change Grant Sanderson is the mind behind 3Blue1Brown, a math YouTube channel featuring exceptional visualisation and animation created with his own animation library, Manim. 1 In October 2024 he published a walkthrough video of animating a Lorenz attractor in Manim. 2 At 13:25 Sanderson shows his desktop ChatGPT a shared screen, and this image has stuck with me for…

The Strangest Carrier: Southern Linc

The Strangest Carrier: Southern Linc Any firm's contingency plans or redundant infrastructure says a lot about the business that they are in and what tradeoffs they are faced with. As an example, if your company's HR software vendor was inaccessible for a day because of an AWS availability zone failure, you probably have bigger problems that day. Beside the point that AWS customers are far…

Understanding monads?

Understanding monads? The Node reverse proxy explained in my last post sprinkled in a little bit of functional TypeScript through Ramda. 1 This naturally gave me an excuse to talk about the project at the functional programming group at work, but some of the feedback that I got was that Ramda takes advantage of the permissive nature of JavaScript types, so fp-ts is a better functional library for…

My needlessly complicated ZooKeeper-enabled reverse proxy

My needlessly complicated ZooKeeper-enabled reverse proxy Self-Hosting and Apache ZooKeeper Background After moving my personal website to my home DMZ network over a public cloud reverse proxy, I have increased my self-hosted footprint. Given how well cheap VPSs had performed for me in the past, I knew that some spare small-form-factor Lenovo desktops with more than one core and literally an order…

Reinventing the wheel to go back in time

Reinventing the wheel to go back in time Back in the 90s, you had to deal with any number of problems that are foreign to the software engineers of today: the idea that a bug in the Linux TCP/IP libraries could explain some undesired behaviour in your code would have been far more credible in 1994 than it is in 2024: in the early 90s, ICMP ping packets larger than the maximum IPv4 packet size -…

Mobile Network Operators and Capex Tradeoffs

Mobile Network Operators and Capex Tradeoffs A discussion of why being a wireless carrier is such a tough business, and what lessons about the industry from both sides of the Atlantic can teach us about electrical utilities. Wireless Carrier Challenges It can't be fun to be a wireless carrier. Given that it's corporate earning season in the US, we can see Alphabet (Google's parent company) and…

November Grab Bag

November Grab Bag There are a couple of topics that were cut from drafts of the previous two posts. I liked the sections too much to shelve, so I'm posting them as a grab bag here. Software Unscripted and Enterprise Haskell There aren't all that many good software engineering podcasts because the medium isn't a great match for the message: source code in plain text is ultimately, well, text, and…

October 2024 GDPLE Development

October 2024 GDPLE Development GDPLE is my Wordle-inspired US state economy guessing game that I wrote last year, but this October I did some work on both the frontend and backend that I thought warranted a blog post. Re-writing the GDPLE Backend in F# After reading Domain Modeling Made Functional I decided to re-write the GDPLE backend in F#. The player is shown a breakdown of a US state's GDP by…

Review of <em>Domain Modeling Made Functional</em>

Review of Domain Modeling Made Functional Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# is a 2018 book by Scott Wlaschin. 1 As it says on the tin, the book's goal is to show the reader how to implement domain modeling using functional programming. The phrase "domain-driven design" itself was coined by Eric Evans' 2003 book of the same name where all…