Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
12
In mid-April 2023, Sudan was plunged into civil war. The para-military group Rapid Support Forces (RSF) was formed during the war in Darfur, outside the control of the national army for “special operations”. Because they weren’t under the leadership of the army, normal war protocol was not followed, and large scale atrocities were committed, moreContinue reading "Of Coups, Wars, and Corporate Digital Transformations"
a year ago

Improve your reading experience

Logged in users get linked directly to articles resulting in a better reading experience. Please login for free, it takes less than 1 minute.

More from Patrick Kayongo

Technology & The Hollowing Middle Class

IT systems within large enterprises have done wonders to improve the efficiencies, resulting in great cost-savings, yet with unquestioned social effects. In his book Rhodes & His Banker, Richard Steyn narrates the founding and the early years of the bank we now know as Standard Bank. In the mid-1800s, with capital raised in London, theContinue reading "Technology & The Hollowing Middle Class"

5 months ago 58 votes
Substack vs Africa

The writing site, Substack, has taken the world by storm. At a time when everyone thought blogging and online writing was dead, superseded by YouTube, Substack came along and solved the problems of discovery and monetisation. Their feed and recommendations have allowed many to discover interesting writers that they wouldn’t have ordinarily found out about.Continue reading "Substack vs Africa"

7 months ago 62 votes
The Fruitfulness of Grunt Work

I had an interesting software development problem the other day. I was working on a NodeJS application, doing general maintenance work, which led me down an interesting rabbit hole. I could’ve used an online knowledge tool such as the various LLM-based tools available now. But the grunt of the search was much more useful. ItContinue reading "The Fruitfulness of Grunt Work"

10 months ago 52 votes
What Are Software Developers For

At the time of writing this, the perceived potential for AI based tools for software development is at an all time high. Devin, claims to offer a “fully autonomous AI software engineer”. Other tools like Marblism have less ambitious claims but can still create a working web application that fulfils natural language requirements, giving aContinue reading "What Are Software Developers For"

11 months ago 34 votes
Of Mountains and Hills

It’s hard to pinpoint where the cocktail Phakamani’s love, and fear of high places came from. The love may have come from the views he found solace in during his years of sojourn in Cape Town. From the upper campus of UCT, he would take lunch walks to Rhodes Memorial to escape what he consideredContinue reading "Of Mountains and Hills"

12 months ago 50 votes

More in programming

New Blog Post: "A Perplexing Javascript Parsing Puzzle"

I know I said we'd be back to normal newsletters this week and in fact had 80% of one already written. Then I unearthed something that was better left buried. Blog post here, Patreon notes here (Mostly an explanation of how I found this horror in the first place). Next week I'll send what was supposed to be this week's piece. (PS: April Cools in three weeks!)

17 hours ago 3 votes
Notes on Improving Churn

Ask any B2C SaaS founder what metric they’d like to improve and most will say reducing churn. However, proactively reducing churn is a difficult task. I’ll outline the approach we’ve taken at Jenni AI to go from ~17% to 9% churn over the past year. We are still a work in progress but hopefully you’ll […] The post Notes on Improving Churn appeared first on Marc Astbury.

20 hours ago 3 votes
Catching grace

Meditation is easy when you know what to do: absolutely nothing! It's hard at first, like trying to look at the back of your own head, but there's a knack to it.

17 hours ago 3 votes
Python Performance: Why 'if not list' is 2x Faster Than Using len()

Discover why 'if not mylist' is twice as fast as 'len(mylist) == 0' by examining CPython's VM instructions and object memory access patterns.

12 hours ago 2 votes
Our switch to Kamal is complete

In a fit of frustration, I wrote the first version of Kamal in six weeks at the start of 2023. Our plan to get out of the cloud was getting bogged down in enterprisey pricing and Kubernetes complexity. And I refused to accept that running our own hardware had to be that expensive or that convoluted. So I got busy building a cheap and simple alternative.  Now, just two years later, Kamal is deploying every single application in our entire heritage fleet, and everything in active development. Finalizing a perfectly uniform mode of deployment for every web app we've built over the past two decades and still maintain. See, we have this obsession at 37signals: That the modern build-boost-discard cycle of internet applications is a scourge. That users ought to be able to trust that when they adopt a system like Basecamp or HEY, they don't have to fear eviction from the next executive re-org. We call this obsession Until The End Of The Internet. That obsession isn't free, but it's worth it. It means we're still operating the very first version of Basecamp for thousands of paying customers. That's the OG code base from 2003! Which hasn't seen any updates since 2010, beyond security patches, bug fixes, and performance improvements. But we're still operating it, and, along with every other app in our heritage collection, deploying it with Kamal. That just makes me smile, knowing that we have customers who adopted Basecamp in 2004, and are still able to use the same system some twenty years later. In the meantime, we've relaunched and dramatically improved Basecamp many times since. But for customers happy with what they have, there's no forced migration to the latest version. I very much had all of this in mind when designing Kamal. That's one of the reasons I really love Docker. It allows you to encapsulate an entire system, with all of its dependencies, and run it until the end of time. Kind of how modern gaming emulators can run the original ROM of Pac-Man or Pong to perfection and eternity. Kamal seeks to be but a simple wrapper and workflow around this wondrous simplicity. Complexity is but a bridge — and a fragile one at that. To build something durable, you have to make it simple.

23 hours ago 2 votes