Iain McLaren
  1. Stepping stones across a stream

    What is the best way to pay for agile software development?

    The agile methodology reflects how software is built. It’s complex and messy. So what is the best way to pay? The agile manifesto does not mention when developers should be paid I have been thinking about David Kellam’s …

  2. Formula 1 pit stop

    Drill down without slowing down

    We can drill down without slowing down. We are seeing increasing regulatory scrutiny of the information security of the financial services industry, including superannuation trustees and banks. The art is to drill down …

  3. Neon open sign

    Open source software licences

    A very interesting study interviewing lawyers who work with open source software and the challenges they face: arXiv:2403.14927 (PDF) The key findings certainly track with my experience. Particularly how using …

  4. Sticky notes on a board

    Oh agile

    Oh agile. The wide world of agile projects - lessons we can learn from Austech Applications v Oz Wide (HWL Ebsworth) It’s an evergreen theme. When your lawyer hands you a supplier’s services contract, is it clear and are …

  5. Neural network lattice

    How to draft an AI contract

    Best practice for using AI (i.e. in this context large language models) is in a state of flux. Our clients tell us that they see a lot of abstract high-level articles about AI, but little concrete practical advice about …

  6. In praise of boring technology foundations

    Why is an organisation the 'technology leader'? Boring technology foundations.

    If there are three to five large players in a highly regulated market, and one is seen as the technology leader, it is often because that organisation has already invested in replacing their technology foundations with …

  7. Software escrow

    Have you checked your software stored in escrow lately?

    Have you checked your software stored in escrow lately? Inside Iron Mountain: it’s time to talk about hard drives (Mix) For critical software and software as a service (SaaS) projects, large customers often require their …

  8. Security key

    YubiKeys can be cloned (and why it's mostly a non-event)

    YubiKeys are vulnerable to cloning attacks thanks to newly discovered side channel (Ars Technica) 1. What are YubiKeys and what are they used for? YubiKeys are little hardware dongles (see the picture in the article …

  9. Bug hunt

    That time when I spent two weeks hunting down one software bug

    This post is a response to two questions that I am commonly asked. ‘Is coding fun?’ and ‘What is coding like?’ That time when I spent two weeks hunting down one software bug. TV shows about computer programmers are …

  10. Padlock

    Golang database locker (calmdocs/dblocker)

    How I access databases in golang: github.com/calmdocs/dblocker Golang database locker. A simple library to lock a shared database session for each “user” or “id” behind what is effectively a RWMutex.

  11. Tech cost cutting trends

    The 20% cut - Tech cost cutting trends

    The 20% cut: Tech cost cutting trends The background: The tide is going out For companies that are not building underlying generative AI models and hardware, we can see a quick shift from “Oh look at the amazing AI …

  12. Cyber insurers may increasingly influence how organisations run their technology systems

    Why cyber insurance is becoming like health insurance

    The health insurance industry has a significant influence on how health care is provided. Similarly, cyber insurers may increasingly influence how organisations run their technology systems and secure their data. Data …

  13. Avoiding the business continuity trap

    Avoiding the business continuity trap

    Real business continuity for critical industries like banks, hospitals, and government organisations The challenge: Are we really ready for disaster? We do a lot of work to assist banks and other financial service …

  14. Should your business buy AI products?

    Commonly asked question - Should your business buy AI products?

    Consider just waiting for machine learning to be built into the products that you already use, or buying targeted tools requiring human oversight. The new machine learning models are more than a little magical Using …

  15. Passengers waiting in an airport terminal

    What happened with CrowdStrike and why it is interesting from a security perspective

    CrowdStrike’s statement on the Falcon content update for Windows hosts What happened? CrowdStrike sells falcon security software which its customers install on their computers. This software can update itself by checking …

  16. Gopher peering out of its burrow

    Why Go is my favourite programming language

    go is my favourite programming language. Introduction (and why not rust?) Every now and then I am asked why go is my favourite programming language. There are so many reasons, so here is a summary. Like all programming …

  17. MacBook

    macOS golang backend and native SwiftUI frontend using http long polling

    calmdocs/SwiftPollManager Run a golang binary embedded in a native macOS SwiftUI app. The golang binary and SwiftUI app communicate via http long polling. I hope that you find it useful. 1. Websockets on macOS is flakey …

  18. Swallow flying over water

    Run a golang binary embedded in a native macOS SwiftUI app

    calmdocs/SwiftStreamManager Run a golang binary embedded in a native macOS SwiftUI app. The golang binary and SwiftUI app communicate via encrypted websocket messages. 1. Setup Create a new macOS Swift Xcode project: …

  19. Can banks use cloud services?

    Can banks use cloud services?

    The Australian banking regulator (APRA) just released an information paper on ‘shared computing services’, including cloud computing. Can banks still use cloud services? 1. APRA has just released an information paper Can …

  20. Tough contracts

    Suppliers make more money by signing tougher contracts

    Immature suppliers smash their standard contract terms and conditions through the bureaucracy of their enterprise customers. But mature suppliers sell more services (and make more money) by signing “real” contracts, and …

  21. Black box

    No middle ground - why CIOs thrive or die

    Customer business teams are outsourcing their technology to cloud providers while avoiding or ignoring their internal technology teams. Great Chief Information Officers (CIOs) who embrace wider business responsibilities …

  22. Zen

    Zen and the art of drafting simple contracts

    Simple contracts are quick and cheap to draft and negotiate. But if our contract is too simple then we risk project failure. How do we draft the simplest possible contract? 1. Time is actually money (in this context at …

  23. Agile

    Can you draft an "Agile" contract?

    One of the four core Agile values is “customer collaboration over contract negotiation”. So is it possible to negotiate an “Agile contract” or is the whole concept nonsensical? 1. Is an “Agile contract” nonsensical? …

  24. Security

    Why large companies don't invest in security

    Data breaches are currently embarrassing but not crippling. But major data breaches will destroy companies once instant anonymous digital transactions become mainstream. 1. Data breaches have been relatively minor. No …

  25. Specialists

    How to hire a superstar

    Superstars are specialists 1. Superstars are smart and get things done In 2000, Joel Spolsky wrote the Guerrilla Guide to Interviewing. By far the most sensible document that I have ever read about employing people. Some …

  26. Procurement

    Why are manufacturers and retailers more efficient than services companies?

    The former win or die based on the efficiency of their supply chains 1. We can divide all industries into two broad categories An executive friend of mine (who I will not name for reasons that will soon become clear) …

  27. Printing

    It's time to face it - printing is ridiculous

    Forget saving the environment. Printing at work is a ridiculous waste of time. 1. Printing at work is ludicrous A few months ago, I needed to print and sign forms for our internal electronic expenses system. And yes, I …

  28. Control

    Think before you upload

    Control what you create 1. Control what you create Soon after very private celebrity photos were released to the public, Ricky Gervais posted (and then swiftly deleted) the following note: Celebrities, make it harder for …

  29. Robin Williams

    Robin Williams (1951 - 2014)

    He was a giant 1. He was a genius How do we start. Even start. To get to grips with how important Robin Williams was to my generation. How can I even start to explain how important he was to me? I don’t think it’s …

  30. The Two Giants

    The Two Giants - the Amazon and Google cloud problem

    Amazon and Google run our critical cloud infrastructure but can switch it off at any time. What’s your plan when the cloud goes down? 1. The cloud used to be called floppy disks We need the cloud. Back in the stone ages …

  31. Perfection

    Perfection is worth risking your company and your job

    Fight the culture of cutting corners. 1. Perfection is always in fashion We are paid to get it right. That is how I was trained. Typos were not tolerated. Never-mind out-and-out mistakes. It was built into our …

  32. Are banks doomed?

    Are banks doomed?

    Telecommunications services were commoditised in the early 2000s. Are banks next? 1. The rise and fall of the telcos Ben Evans recently made the point (in Unbundling innovation: Samsung, PCs and China) that most truly …

  33. 8 rules for closing contracts

    8 rules for closing contracts

    “Amateurs discuss strategy. Dilettantes discuss tactics. Professionals discuss logistics.” - Unknown Yes, we can close any1 contract by following eight2 simple rules. Two weeks ago: Client: “No, we are not doing that. We …