294 karma · joined December 20, 2022
::facepalm emoji::
Non prod code, good use case.
But a BCNF (or 5NF or whatever) database without nullable columns wouldn't have prevented it. Formally verified code might have but that remains a pipe dream for any significant code base.
The proposed cure is worse than the disease.
You are right. But alas, a peek at the AMZN stock ticker suggests that the market doesn't really value resilience that much.
Windows value to me was "everything just worked". But that's no longer the case now, unless you are willing to walk down Microsoft's centralized rails. Need an MS Account and OneDrive... need expensive modern hardware... get ads and crapware... get telemetry and data exfiltration. The effort of working around all that is non trivial. EDIT: and if I was ok with all that stuff I'd already by captured by Apple.
If I have to fuck around with something in my home OS, that OS might as well be Linux. So now I am compiling wifi and printer drivers from github (FFS Linux!) instead of disabling telemetry and hacking an install with local accounts only.
The challenge, as always, is going to be taking the family with me.
These kids have been on camera since they were in the womb. The delivery had a pro videographer. Parents had baby monitors with a video feed, later a nanny cam. Schools had cameras in the classrooms and busses from before first grade. Higher grades onwards all their peers had smartphones and social media accounts.
Some middle aged dude who doesn't want to be on video makes no sense to them, like that weird uncle of yours who in 2010 had no phone or email address.
One thing is very different from the other.
I weep for our field, because this should be true beyond the confines of each app.
Instead even on the desktop we have hoards of local "optimisations" - one in each bloated Electron POS.
There's a place for novelty UI - entertainment.
Productivity should have no place for it.
Data comes from outside your application code. Your algorithms operate on the data. A complaint like "There isn’t (yet?) a format for just any kind of data in .class files" is bizarre. Maybe my problem is with his hijacking of the terms 'data' and 'object' to mean specific types of data structures that he wants to discuss.
"There is no sensible way to represent tree-like data in that [RDBMS] environment" - there is endless literature covering storing data structures in relational schemas. The complaint seems to be to just be "it's complicated".
Calling a JSON payload "actual data" but a SOAP payload somehow not is odd. Again the complaint seems to be "SOAP is hard because schemas and ws-security".
Statements like "I don’t think we have any actually good programming languages" don't lend much credibility and are the sort of thing I last heard in first year programming labs.
I'm very much about "Smart data structures and dumb code works a lot better than the other way around" and I think the author is starting there too, but I guess he's just gone off in a different direction to me.
These companies are left to choose between self-hosting models, or a vendor like MS who will rent them "their own AI running in their own Azure subscription", cut off from the outside world.
Internally we expected 15%-25%. A big-3 consultancy told senior leadership "35%-50%" (and then tried to upsell an AI Adoption project). And indeed we are seeing 15%-35% depending on which part of the org you look and how you measure the gains.
Budget. Getting some for your team or at least for your priorities. Protecting what you get. Capex vs Opex.
Upward management. Translating messages upwards. Interpreting C suite decrees. Pacing and leading. Inducting new leadership before they fuck things up.
Retention. Keeping the people you need on your team. Cutting the people you don't. Compensation and promotions.
All of which is to say, Politics. How to not come out a loser at the game of thrones next time there is a merger, reorg, budget season, or just end of quarter.
They're not wrong, but they're missing the point. These bottlenecks can be reduced when there are fewer humans involved.
Somewhat cynically:
code reviews: now sometimes there's just one person involved (reviewing LLM code) instead of two (code author + reviewer)
knowledge transfer: fewer people involved means this is less of an overhead
debugging: no change, yet
coordination and communication: fewer people means less overhead
LLMs shift the workload — they don’t remove it: sure, but shifting workload onto automation reduces the people involved
Understanding code is still the hard part: not much change, yet
Teams still rely on trust and shared context: much easier when there are fewer people involved
... and so on.
"Fewer humans involved" remains a high priority goal for a lot of employers. You can never forget that.