• 1 Post
  • 140 Comments
Joined 2 years ago
cake
Cake day: June 19th, 2023

help-circle



  • Bit of a rambly story, but I swear it is relevant.

    So previously I worked as a consultant for a company that manufactured a relatively small number of high value (tens of thousands of dollars each) Gizmos in a lightly regulated industry - the requirements weren’t too crazy, basically that everything has a serial number and they can prove that any given serial passed the full range of tests before it left the factory. Pretty much the sort of thing you’d want to have if you gave a crap about quality products anyway.

    Initially they were using Excel to keep track of this - they manufactured 10 units a week, it worked well enough. Eventually, they got more successful and needed to scale up to 50 units a week, and it was decided that they needed A System to keep track of testing and manufacturing. Their head of manufacturing “looked around and couldn’t find anything off the shelf that was suitable” (ie, cost $0, and perfectly matched his aesthetic tastes; mistake #1), so they decided to build their own system.

    They had a few in house developers, but they were focused on building new features (things that drive sales, unlike maintaining their reputation for delivering reliable products), so head of manufacturing decided to get one of the production line techs (who was “good with computers” by virtue of having built the Excel system, but was not a software developer mistake #2) to do it.

    Eventually, they decided to use Microsoft PowerApps to build the new system - for those with the good fortune never to have seen PowerApps, it’s essentially a “no code required” drag and drop UI tool that you script using Excel formulas. Think Visual BASIC or Scratch, but Cloudy.

    On the surface this made sense - the developer was proficient in Excel, so use what you know. Unfortunately, PowerApps is designed to rapidly build throwaway UIs over simple data models and lacks some of the things that actual software developers would have thought to ask about:

    • It lacks real version control - you can “undo” a deploy, but there is no way to discover what changed between versions, or do branches, or code review
    • Because you can’t effectively manage changes to the system, you can’t do pre-production releases
    • Its native database system doesn’t do referential integrity
    • There is no straightforward way to do any kind of locking - and because there is no referential integrity, it’s really easy for concurrent users to really mess up the data
    • There is no way to do automated testing
    • The development group could have actually documented how stuff worked, requirements, specs etc but didn’t, so any time there was any issue you had to play the game of “is this a bug or bad design?”

    Eventually, these chickens came home to roost in the form of a defect that slipped through testing that they then couldn’t isolate to a particular batch because none of their testing data could be trusted. I was brought in to try and unpick this mess and advise on a replacement system, but between the cost to fix the issue and the lost sales from it they ended up in a pretty bad spot financially and ended up being acquired by an investment group.

    Anyway, the takeaway from this is that you disregard experience and judgement at your own peril, up front savings generally don’t manifest in the long term and I expect there is going to be a thriving market of consultants brought in to point and laugh at companies that decided that a bunch of cheap, inexperienced developers and a magic talking parrot would build better software than cheap, inexperienced developers being guided and upskilled by an experienced senior developer






  • I’m imagining a somewhat boring looking office/lab with a bunch of locked rooms.

    “What’s in there?”

    “Oh, it was Dr Simpsons lab in the 90s”

    “Well what were they working on?”

    “Don’t know, its classified”

    “Well can we get rid of it?”

    “I don’t know, it’s classified”

    “Well who does know?”

    “I don’t know, its classified





  • Being on the hill must have been rough. Have a friend who moved to the city a few years ago and was super excited to find a bit of bare land up on the hill with a great view into the estuary to build a house on - explained why it was bare, didn’t seem to deter him.

    It’s interesting how the geography affected things - another friend had a batch in Akaroa on the other side of the peninsula that barely felt the quakes - theory being the peninsula is a dead volcano, so it’s mostly really spongy basalt that effectively acted as a dampener and absorbed most of the energy



  • I was in Christchurch for the 2010 and 2011 earthquakes that killed 185 people and critically damaged essentially every building within the city centre.

    The whole thing was pretty surreal. My family were pretty lucky, our house was lightly damaged (old timber frame, moved ~2cm off its piles but was livable while that was fixed) and we had a few things break (including a 60L fishtank that nearly landed on me as I tried to get to a doorway), I know a few people who were without electricity and clean water for a week, or whose houses were damaged beyond repair then had to spend years fighting insurance companies to get what they were due.

    I still live in the city, and it’s pretty much unrecognisable as to how it was before. Basically every major building in the central city had to either be torn down or significantly renovated to repair it. Basically every brick building built before the 1950s was damaged beyond repair. Huge chunks of residential land in the east of the city was so badly damaged that there is no way it could be safely built on again - the government brought all the houses, tore them down and fenced the area off.


  • Internet in NZ used to work a bit like the US does now with one large ISP that is also the network operator and gave exactly zero shits about quality of connections or internationally competitive pricing, except they got greedy and charged their retail arm half what they charged their competitors. Anti-monopoly folks got very pissy about this and managed to get the largest fine permitted by law, forced them to split their wholesale arm off into a separate company, banned them from tendering on the government-funded fibre network (which cost them literally billions of dollars) and then changed the law so that if they did it again there wouldn’t be a cap on the penalty they could impose.

    In 20 years we went from ~35th of the 38 OECD countries in internet speed and accessibility to 9th. Markets only work long-term if you actually regulate them


  • Yeah, pretty much. The way the rest of the world deals with it is by splitting the infrastructure maintenance and retail sides to eliminate the profit incentive to not do maintenance.

    You have a company who owns a/the fibre network in an area and is obligated by anti-monopoly rules to sell access to the network at the same rate and terms to anyone who wants it. They have a profit incentive to maintain the network to a reasonable standard because having a functioning network is how they make money. In a lot of places this wholesale provider will be at least part government owned given that the government usually pays a good chunk of the cost to build out large national infrastructure projects like fibre networks.

    Separately, you have retail ISPs who buy access to the fibre network (or 4g, satellite, …) and sell it to the public along with value adds like tech support, IP addresses, peering agreement etc.

    It’s never work in the US because holding private companies accountable for how they spend public money and maintaining well regulated competitive markets is communism or something.