23,573 karma · joined May 28, 2008
I am frequently wrong. I hope you will not spare my feelings when I am.
For my CV: https://www.linkedin.com/in/jacqueschester/
For personal email: hn@jacques.chester.id.au
Oh! I haven't seen this pattern in a long time - not since I worked on Oracle Application Express apps. In a cousin comment I noted that the bulk of app developers don't think about how to use the database to their advantage.
I think though that one distinction is that immutability in this case requires cooperation from the client, a commitment not to modify existing records. As compare to the database enforcing it.
Ah, that must be why I see FooMethod and FooMethodAsync side-by-side in C# all the time.
For most workloads it's wasteful to have max capacity provisioned at all times if you can instead provision on-demand.
This is true in general. For example, electricity supply is a mix of baseload power (cheap but only if left running constantly) and peaking (expensive but easy to turn on and off). It wouldn't be economical to have baseload capacity equal to maximum demand. Instead it is aimed at minimum demand and other sources make up the difference depending on demand.
See page 17: https://www.ibm.com/annualreport/assets/downloads/IBM_Annual...
Not the sort of thing you do for the hell of it.
I found it remarkably effective at getting business folks to actually prioritize. They don't believe you, but they'll believe the computer.
[0] http://collegecatalog.uchicago.edu/thecollege/economics/#Fun...
I think this is meant mostly to apply to code. For data, redundancy is a very common strategy for assuring accuracy and durability.
> If you say the same thing in two different places, one of them is always going to be wrong.
Yes! This is the exact point. The mismatch flags that there is an error that needs to be investigated and added to the ledger as a correcting transaction.
My main problem with adapting the representation was in the incommensurability of different kinds of asset moving through the pipeline. How does one credit source code and debit a blob store? I thought about learning more about multi-currency accounting as a source for ideas but never followed it up.
That effort inspired my thinking about a "Universal Asset Graph" for software[0] -- keeping track of not just containment but also movement and transformation of software. It's a partial but not complete inspiration for GUAC, which aims to capture software part relations for easy querying.
[0] https://theoryof.predictable.software/articles/some-requirem...
[1] https://guac.sh
What I'm getting from this is that Microsoft is a terrible place to work.
Schedule failure is a management fuckup. Expecting the line engineers to fix it is completely backwards.
For some reason I only see Rustaceans talking about it, though it's perfectly applicable in any language with static typing.
If it helps, substitute "Darmok and Jalad at Tanagra" instead.
https://en.wikipedia.org/wiki/Bent_Flyvbjerg#Megaproject_pla...
I think this comes down to audience. To a lot of engineers it's just like ... "OK, that's nice. What else?"
But for security teams in large enterprises, Chainguard is like manna from heaven. They immediately understand what is really being sold: the elimination of enormous amounts of compulsory toil due to upgrading vulnerable software -- or having to nag other teams to do it.
It's a bit like visiting the site of a medical devices manufacturer. I probably don't know what the device does, but the target audience sure do.
Disclosure: I am friends with / have worked with some Chainguard folks.
One possible way out is to look for measurements that contribute to running time but which are not affected by other factors. I remember the YJIT folks talking about using CPU instruction counters, but I can't find it on the benchmark website.
Over a medium time frame I've seen this approach produce remarkable stability in velocity measurement.
Note that this works by allowing product priorities to fluctuate, but not allowing quality to be a dial that can be turned. A distressingly rare configuration of power.