1,623 karma · joined June 4, 2018
Python developer for web systems with interests in concurrent programming.
My opinion is that free-speech absolutism is a policy position that causes much more harm than good, and which erodes social cohesion. There should be perpetual debate about where we as a society accept where the line is between speech which is allowed and that which is disallowed.
And to wit, on the tea party analogy: how's that working for the US now?
It takes billions to certify a nuclear power plant, and it takes billions more to re-certify it every few decades, to say nothing of the costs of modernization.
To be clear, I consider myself generally pro-nuclear power, but let's not ignore the massive upfront and ongoing capital and operational costs that really undermine this idea that it's free power.
I think that this is exacerbated by many LLMs defaulting to placating, complementing, and otherwise reinforcing biases in their users, and it will often produce just enough evidence to make its (and its user's) position seem compelling, while that evidence is often either tangential, orthogonal, or straight-up hallucinated.
Humans aren't perfect vessels for information, but working on a reasonably-qualified, healthy team, a degree of respectful professional disagreement has always been the norm, and that covers both cases where the disagreement comes from a genuine matter of opinion, as well as cases where one colleague cross-checks anothers' assumptions and finds some of them to be wrong. That's the process.
- Photography hasn't erased other visual arts. Both require a separate skillset; both have their uses and their enthusiasts. Photography benefits from having a lower skill floor, in my experience doing it, and this in turn has led to commercial photography eclipsing commercial painting (barring things like painting buildings) as a viable business model, largely.
I'm not sure if we're better or worse off as a society for having gone through that shift.
- Television is arguably not a net positive in society (I won't say net negative yet, but there are some reasonable arguments for that position). It enables a form of passive consumption that allows bad arguments to come through as persuasive through the gradual (on the scale of months and years) numbing of critical appraisal of the media being consumed. This has more- and less-pronounced areas. In the US (which is geographically close to me and which has an outsize proportion on my own country's culture), Fox News is an excellent example of how TV can erode critical thinking.
- Smartphones arguably reproduce and amplify this problem, and tack on others: they make it increasingly easy to dissociate from daily life, and make it easier to continue consuming content from actors increasingly interested in steering conversations in one direction or another (on the most benign end, it's influencers trying to get you to buy things, which obviously has negative economic impacts on an individual scale; on the more overtly harmful end, they serve as a hardware channel for less-regulated or unregulated extreme and hateful content). Just like with TV, smartphones have clear benefits and utility in daily life. They aren't abjectly bad inventions, but they have a serious societal toll, and it's difficult to ignore that.
- In aviation, the first generation of (relatively modern) automation did lead to a high number of accidents and loss of life. American Airlines flight 965, in 1995, is a well-studied case of an over-reliance on flight automation before it was widely understood among pilots what the limits of these early-modern incarnations of autoflight were. In the wake of that accident, many aviation regulators instituted or began requiring that manufacturers and airlines formalize training and operational procedures that protect thoroughly against this sort of cognitive gap.
I think that last example (and many aviation accidents) are an interesting example to study in the context of software. Aviation's extremely and conspicuously responsive to accidents, often requiring procedural and hardware changes as a result of these. They can be as simple as a software patch, or as complex as the redesign of a component because a human factors analysis found that it could be confusing under stress.In software, we like to think that we're a serious industry, sometimes. We spent much of the 2010s going in what I found to be a good direction: the development of IaC, the popularization and standardization of tools like Git, registries for vulnerabilities like the NVD, and even the development of languages like Rust which address historical technical shortfalls of high-performance, low-level languages like C; but we always fell short, industry-wide, on matching these toolchain upgrades with technically-rigorous procedures.
For every borrow checker, there's vibe coding.
Pi is a naturally-emerging concept: it's the ratio of a circle's circumference to its diameter. It just so happens that a lot of useful stuff we do in math operate on that ratio, not on either on the individual values (at least, not those alone).
Go's historic maintainability strong suit has been its simplicity and consistency. The syntax is, relatively speaking, lightweight, the language invites complexity through composition, and information density for any unit of code is typically quite low (which isn't necessarily a bad thing).
In my opinion, though, these are all drawbacks, and Rust addresses all of them. It's syntactically and semantically much heavier, leading to its oft-maligned steep learning curve. It has, uniquely among the major languages, I think, a syntax for expressing variable lifetimes (with its own unintuitive semantics). It stuffs lots of abstraction into a hodgepodge of terse semantics and punctuation.
It sucks to read, until you get really used to it. Then it tends to read really quickly, and, at least for me, it's easier to reason about a conceptually-broad piece of logic if I don't have to jump between different locations in a file, a module, or a package to do it.
With Go, I find it more difficult to get into a flow state, and easier for my eyes to glaze over when looking over large diffs.
It's not lost on me that these are purely subjective arguments, though. My preference remains with Rust, and that goes back to before I used LLMs.
I'm also aware that Go is very prescriptive about how you write it; it's explicitly opinionated, and Rust doesn't have that. It means that most Go code bases will look more alike. I consider this an anti-feature; I believe code should be able to conform to the problem space or product and a good team will find the best way to do that.
The wealthy have been using their wealth to consolidate power for essentially as long as the concept of material wealth has existed, and the exceptions to this are far outweighed by the cases which conform to the rule.
It is not reasonable to give the benefit of the doubt on the basis of Lutke and his ilk maybe being benevolent dictators if given largely unfettered access to the levers of power.
Is it possible to use it in a more involved way? Certainly. I try to do that. But it's challenging, because ultimately even taking a more collaborative approach, this thing puts out a lot of slop, and then I have to deal with going over the output and just spending most of my day in code review mode vs an author that doesn't ever learn from feedback.
The most frustrating thing for me beyond the feedback black hole is that when things do inevitably go wrong, trying to point out the concrete issue and instructing the LLM to do better around it is challenging; a lot of the time directives (even those in a global CLAUDE.md!) are just ignored either outright or as the context grows, or fail to be passed down to subagents; negative prompts are discouraged because of the pink elephant effect, so I have to jump through hoops to try and frame a "never do $thing" constraint as an affirmative prompt (which is then often ignored). That aside, english is a godawful language for specifying things compared to programming languages. It's just a really frustrating experience overall.
New fuels (SAF) and the technology to use them have been developed for less.
This is all to say nothing of the continuous work done over decades now to make aircraft more efficient; as these effects compound, intuition says that returns would start diminishing, so 10-20% is even more impressive.
AI is still seen very negatively in opinion polls across multiple countries, and anecdotally, tools which were often obnoxious to use before AI are now much more so, at least to my flesh-and-blood self. It really seems like we're making things worse for ourselves just to help support this would-be self-fulfilling prophecy.
I ask about Slack here because it's pertinent, but I've both seen and experienced firsthand this inversion across the industry where we must adapt our workflows for AI.
Isn't a tool supposed to work for you, not the other around?
It's a common misconfiguration and one of the footguns available through containers, which I don't say a wholesale condemnation of the technology, but certainly as a UX facet that could use reevaluation.
But it doesn't matter how good a best practice is if the industry doesn't adopt them wholesale; and even then, if your container or VM is configured with inappropriately-permissive passthrough (which, from experience with similar misconfiguration in the past, will widely happen), it could be for naught in many orgs.
That said, I do hope these become the norm if LLMs are here to stay.
System-level ACLs; mandatory or discretionary access control; secure-by-default application and network configurations are all for naught if you take an LLM, run it with all the privileges you'd have an accountable, judgemental operator, and then tell it to act based on arbitrary untrusted input which might include prompt injection attacks, something which cannot generally be sanitized.
Well-defined, well-enforced security policies can mitigate disasters, but many in the wild right now just don't account for this kind of threat model.
Trying to use markdown files to limit access should never be treated as a security guarantee at all.
This is a form of in-band signalling that goes into a machine that, among other things, tries to read between the lines of your requests, extrapolate user desires, and please the user.
The only sane way to address this is using a control plane. A well-built harness can do this; a sandbox can do this; hell, a carefully-chosen `umask` can do this; but both of those are liable to introduce notification fatigue in the user.
That said, I think it's a good thing that this sentiment is coming to the forefront.
I'm fatigued by it all at this point. It's streamlining the interesting and fun parts out of my job (by practical necessity of use there), and if I used it half as much outside of work I'm sure it'd do the same there too.
> 150M at 5B revenue is not great
Considered as a raw percentage in a vacuum, sure, I guess, but we're talking about...- A company which has undertaken a concerted, long-term effort to consolidate the industry under its umbrella (something they themselves call out as a problem in this post), reducing consumer choice
- A company which has captured a significant chunk of the console market. They're one of the big three (alongside Sony and Nintendo), and have been since the early 2000s, arguably, for crying out loud.
At a certain size (typically as measured by market capture) the expectation for growth needs to be reality checked. This is still $150M of pure gravy every single year. Sure, this is going to a corporation, but that's more money than most people could possibly dream of earning in ten lifetimes.
Every year. For a company that's already putting money towards opex in the form of developing new games and new content for existing ones, for a ridiculously broad portfolio.
To be clear: it is Microsoft's and Xbox's prerogative to pursue more profit, but I reserve the right to call this out as absurd under the circumstances.
If you want to make the argument that Xbox has suffered from a lack of focus in the past decade (... or even longer), or that there's been mismanagement (I would say since around the time 343 got created), then those are fair arguments, though I don't think those are justifications, on their own, for cutting thousands in headcount.
Allowing this org to balloon to fourteen levels of management on any vertical is a joke. Allowing the absorption of so much of the game dev industry and still being unhappy with $150M in annual profit after being such an active participant in the oligolpolization of console gaming is just a bit unserious.
But really impressive stuff! Between this and (a particularly optimistic outlook on) the Linear-A news from the other week this is an exciting time for linguistics.