Comment by mopsi

2 months ago

... until the extended-range version is ordered and no one remembers to fix the leak. :]

They will remember, because it'll have been measured and documented, rigorously.

  • I've found that the real trick with documentation isn't creation, it's discovery. I wonder how that information is easily found afterwards.

    • >I wonder how that information is easily found afterwards.

      Military hardware is produced with engineering design practices that look nothing at all like what most of the HN crowd is used to. There is an extraordinary amount of documentation, requirements, and validation done for everything.

      There is a MIL-SPEC for pop tarts which defines all parts sizes, tolerances, etc.

      Unlike a lot in the software world military hardware gets DONE with design and then they just manufacture it.

    • By reading the documentation thoroughly as a compulsory first step to designing the next system that depends on it.

      I realise this may probably boggle the mind of the modern software developer.

      7 replies →

    • For the new system to be approved, you need to document the properties of the software component that are deemed relevant. The software system uses dynamic allocation, so "what do the allocation patterns look like? are there leaks, risks of fragmentation, etc, and how do we characterise those?" is on the checklist. The new developer could try to figure this all out from scratch, but if they're copying the old system's code, they're most likely just going to copy the existing paperwork, with a cursory check to verify that their modifications haven't changed the properties.

      They're going to see "oh, it leaks 3MiB per minute… and this system runs for twice as long as the old system", and then they're going to think for five seconds, copy-paste the appropriate paragraph, double the memory requirements in the new system's paperwork, and call it a day.

      Checklists work.

    • If ownerless code doesn’t result in discoverability efforts then the whole thing goes off the rails.

      I won’t remember this block of code because five other people have touched it. So I need to be able to see what has changed and what it talks to so I can quickly verify if my old assumptions still hold true

    • When people don't read the documentation, discovery is a real problem. When people do read the documentation, things are different. Many software engineers do not read the documentation, and then complain to you if they break something in a documented way. If you compare to hardware engineers, whose vendors put out tens of thousands of pages of documentation for single parts, they have a lot of skill at reading documentation (and the vendors at writing it).

  • Was this one measured and documented rigorously?

    Well obviously not, because the front fell off. That’s a dead giveaway.