Ups and downs of a side project
Reflections from a 4-year side project journey.
How to design a referral program
Above: Dropbox’s innovative growth initiative — A referral program to give/get storage
The 13-Inch MacBook Air
It’s taken decades of iterative refinement to get to this point — a nearly perfect laptop for nearly everyone.
A Review of the Odin Programming Language
A review of the Odin programming language # Written by Dale Weiler Twitter GitHub Last updated Tuesday, September 10th, 2022 What is Odin # For those unfamiliar, Odin is a systems programming language that is more conservative in its design than other newer programming languages such as Rust, Zig, and Carbon. The…
Discworld on Page and Screen, Part 1: Serious Comedy
One American writer said to me, “Your books will never sell in America because you can’t hear the elves sing. Americans go in for fantasy books where you can hear the elves sing.”
How I would sell OpenBSD as a salesperson
Let's have fun, I'm now a salesperson and I have to convince customers to buy OpenBSD, here is how I would proceed.
Sufficient Decentralization for Social Networks
A design pattern to reduce centralized control and change incentives in social networks.
Go and SQLite in the Cloud
Why SQLite and Go in the cloud are a great match, getting started, best practices, and more.
Lessons learned as a software developer turned project manager
Becoming a project manager after being a software developer for many years changed me quite a bit. Below are my thoughts and breakdown of the experience.
What Are the Odds?
An unusual lottery result made the news recently: on October 1, 2022, the PCSO Grand Lotto in the Philippines, which draws six numbers from $latex {1}&fg=000000$ to $latex {55}&fg=000000$ a…
Build a PinePhone App with Zig and Zgt
Can we use Zig to code PinePhone Apps? Maybe make them simpler and safer? Let's find out!
On a road to Prizren with a Free Software Phone
Since people are sometimes slightly surprised that you can go onto a multi week trip with a smartphone running free sofware so only I wanted to share some impressions from my recent trip to Prizren/Kosovo to attend Debconf 22 using a Librem 5 . It's a mix of things that happend and bits that got improved to hopefully…
Merchant Service Horror: Amazon Pay and the Disappearing $2300
This is a story of a small e-commerce merchant who signed up for Amazon Pay: a payment processing service similar to PayPal that leverages customers’ existing Amazon accounts. It all seemed so promising. Amazon Pay would provide an easier checkout experience for my customers, with the shipping address and payment…
The Inner Osborne Effect (2021)
In software development, we talk a lot about software anti-patterns, how to recognize them, and how to extricate yourself from them via refactoring.
Silicon die teardown: a look inside an early 555 timer chip
If you've played around with electronic circuits, you probably know the 555 timer integrated circuit, 1 said to be the world's best-selli...
Fuzzing ping(8) and finding a 24 year old bug
FreeBSD had a security fluctuation in their implementation of ping(8) the other day. As someone who has done a lot of work on ping(8) in OpenBSD this tickled my interests.
What I learned from making a DNS client in Rust
A lot about sockets, syscalls and bits
Extracting TLS keys from an unwilling application (2020)
I want to be able to inspect the traffic of programs running on my computer. I don’t really trust those programs and ideally I’d like to put nearly all of them into a high security jail. One of those programs is Oculus software. There are a few reasons why I want to be cautious about Oculus software.
Literate programming: Knuth is doing it wrong (2014)
Literate programming advocates this: Order your code for others to read, not for the compiler. Beautifully typeset your code so one can curl up in bed to read it like a novel. Keep documentation in sync with code. What's not to like about this vision? I have two beefs with it: the ends are insufficiently ambitious by…
Twitter blocked my account for a tweet I did not make
Now this is pretty weird: I just got blocked by Twitter for a tweet that I did not make:
Static site hosting hurdles
When it comes to static sites, there are a myriad of solutions for authoring and compiling, but talk about hosting these static sites, and we are still in the early 2000s. I discuss the challenges one faces when hosting, and even make a proposal to solve some of these.
How to distort Scrum until it no longer works
Hot takes and cold truths on software, startups, and the lies we tell ourselves.
If you’re so smart, why aren’t you happy?
“Happiness is for stupid people.” That’s a common complaint I hear from smart overachievers. They think only dumb or lazy people can be happy. Entrepreneurs will say, “I don’t want to be happy because I want to be successful.” They worry that if they get too happy they’ll lose their desire and won’t work hard anymore…
Build the Modular Monolith First
Even talking about building a monolith today, is a bit taboo. It is all about microservices at the moment, and has been for a few years. But they aren’t a silver bullet…
Some notes on the Stable Diffusion safety filter
How deep learning models are moderated
Advice for academic refugees
Recently I met a new coworker, a now-former professor who left academia.
The IKEA Effect – Why managers fall in love with their own ideas
When and why the IKEA effect causes people to overvalue their own ideas. Examples of organisational pitfalls of the IKEA effect. 4 ways you can defend against the IKEA effect: 1) Acknowledge your unconscious bias; 2) Spike rough prototypes; 3) Talk to customers; 4) Run growth experiments