• Applying least privilege to end-to-end encrypted dashboards

    Applying least privilege to end-to-end encrypted dashboards

    Years ago I built an application called Dashman. Customers used it to show web dashboards on screens around an office, a factory, a classroom, or a public space: Google Analytics, internal Grafana, shop-floor counters, org announcements, whatever they cared about as long as it was on web pages. This post is a retrospective on how that…

  • I got my hand in Apple’s cookie jar

    I got my hand in Apple’s cookie jar

    When I was building Dashman, I hit a wall that Apple’s paid developer support told me was unsolvable. Then I solved it by reading the…

  • When failure was an option

    When failure was an option

    A few years ago, at Wifinity, around 4 in the morning, I made one of the hardest decisions of my career: I rolled back a…

  • Your competitive advantage is your agency

    Your competitive advantage is your agency

    I see a lot of grandiose statements floating around: You will not be replaced by AI, you’ll be replaced by someone using AI. AI won’t replace your creativity. AI can’t do THIS or THAT. AI will never be able to do THIS or THAT. And many more. My take: maybe. Who knows! LLMs are getting…

  • The SaaSpocalypse is real, but not for the reasons you think

    The SaaSpocalypse is real, but not for the reasons you think

    SaaS valuations dropped. The narrative is simple: AI lets anyone build anything, so why pay for software? They’re calling it the SaaSpocalypse. I think part of it makes sense. But a big part of it doesn’t. You don’t buy code, you buy decisions When you buy a piece of software you’re not just buying the…

  • Constant Eval in Production, the idea

    Constant Eval in Production, the idea

    I’m sure this is not my idea, so I’m not claiming it to be. I’ve been wanting to do a sort of continuous AI eval in production for a while, but the situation never presented at work. It was a mixture of having the data to do the eval off line, and wanting to avoid…

  • The Feedback Loop

    The Feedback Loop

    I work at a pretty amazing company, Canva, that has a culture of feedback. I think I have given and received more feedback in the two years I’ve been here than in the rest of my professional life put together. It has taught me something critical about the importance of a growth mindset. Managing several…

  • The role of CTO should have no job description

    The role of CTO should have no job description

    I’ve been thinking about this one for a while. Imagine you are the CEO of a company and your competitors are getting ahead of you because they started to use ChatGPT to build their tech. You ask the CTO what’s going on and the CTO says “ChatGPT was not on my job description, so I…

  • Generating an all-files file in Windows, to verify backups

    Generating an all-files file in Windows, to verify backups

    When I was 16 years old or so, one day, my computer didn’t boot. I got a blue screen with some white text-mode error. Something was broken with the file system. This was after being utterly disappointed by Windows 95 and before I became a Linux person, so I was running Windows NT 4.0. I…

  • The ultimate developer perk that’ll let you hire anyone you want

    The ultimate developer perk that’ll let you hire anyone you want

    To convince people to come work for you you offer them, aside from compensation, perks. And you try to have better perks than your competitors (other employers). Brainstorming with my friend Justin a few years ago I came up with what I believe is the ultimate perk and since then I’ve been desperatly trying to…