There are a number of comments here where people open up about their contrasting experiences of not being a part of a programming community. Those are well addressed, I think, but there is another point to consider.
We need to remember the people, that we may never talk to, that are downstream of all of this software. Not necessarily “the users” as there are many pieces of software meant for other devs, but I think the users deserve consideration nonetheless.
Handing over software quality to the stochastic code extruder is causing a sharp drop in the quality of software put out into the world. This is on top of all of the problems that existed before LLMs, like human error and perverse financial incentives. Shipping poor quality and user hostile software actually hurts people. Real people. Harm is caused in both big and little ways to living, breathing actual people. This “inevitable” slide into generative AI harms every single person it comes into contact with. The devs, the users, the investors, everyone. Those harms may happen at different times and in different ways and the creeping nature of it all might make it easier to ignore, but it’s happening.
“AI” is a blight. You can leave me behind as well.
So do we want to acknowledge that interest in this is probably driven by the desire to abusively scrape the web for LLM training data? I wouldn’t be surprised if the motivation is focused around bypassing the anti-bot restrictions of Reddit alone.
This quote comes up often in SJ biographies or anecdotes and they universally attribute it purely to aesthetic concerns. Admittedly the man cared quite a lot about "beauty", but I've always thought this was more about the caring and less about the beauty.
To spend time making something most people never see look just as good as the things they do see you have to care quite a lot. This care begets a wide range of (usually) desirable secondary effects brought about by diligence. In my view it's similar to the effect of spending the time to make many iterations of a thing versus one perfect thing, with the former usually resulting in an end product much closer to "perfect".
> Despite skepticism from Volcker and Buffet, financial innovation has been and will continue to be a massive net positive for humanity.
Juxtaposing yourself with Warren Buffet and then hand-waving away his wisdom is probably the reddest of flags when discussing finance (not that Buffet is always right). "Innovation" in payday loans is akin to inventing new ways to feed living, breathing things into a meat grinder. In this case it's the poorest among us. The author goes on to say:
> Is financing your lunch a sign of societal decay? Maybe, maybe not. But it’s definitely an evolution in Market Completion.
This is undiagnosed sociopathy.
There is a point when making a thing that you must ask "what affect will this have on the world?" or you risk destroying far more than you create. Finance types have learned absolutely nothing since Buffet laid down his "newspaper test":
"I want them to not only do what’s legal obviously, but I want them to judge every action by how it would appear on the front page of their local paper written by a smart but semi-unfriendly reporter who really understood it to be read by their family, their neighbors, their friends."
> … it means delivering the kind of things that are legible to the decision-makers at the company: i.e. visible to your manager, plus 1-3 skip levels, depending on your title. The easiest way to do this is to deliver things that they already know about, such as projects that they’ve asked you to do, or incidents that are serious enough that they’re involved in them. It’s possible to make other work legible to them as well. If your work produces or saves money, that will make it immediately legible, for instance (or you could just be really convincing). By default, work you do isn’t legible: to the decision-makers, it’s generic technical nonsense. They don’t know whether it’s crucial high-impact work or pointless code reshuffling, and will tend to assume the latter.
This person understands the “business” side of the tech business. I couldn’t agree more. Where many struggle is that they can’t communicate legibly about the indirect benefits their work has for the business. The classic “refactoring” (which he mentions) is a great example.
Refactoring code has a context dependent benefit to a business. When you’re searching for product/market fit is has essentially no benefit, and then you’re Microsoft and the code is deep within Windows and affects the performance of every Win32 app it can have extreme benefits. In the end it’s all about how you relate your work to either making or saving the organization money, and doing so indirectly can be legible if you take the time to figure out how to best communicate it to the target audience (and how it can be conveyed to customers).
Subscribed. All this money I’m saving boycotting spineless American companies is coming in handy.
If LWN is worth $16 a month, and it is, then so is The Atlantic, ProPublica, etc. We collectively need to make a habit of financially supporting actual journalism and doing so loudly.
Loading up this thread I knew this kind of response would be here. Like, I was willing to bet money on it.
Examples of support people worth $200k+ are abundant, and the business case is the same every time. When you do the work to place a monetary value on customers and their retention your support personnel costs relative to that are easy to justify. When a support person is preventing churn of X number of customers worth $Y dollars a year the math becomes trivial.
The (American) tech industry is so accustomed to massive scale and lack of competition that the notion of giving a damn about customer retention has risen to the level of a cultural, not economic, problem.
Arguing that many humans are stupid or ignorant does not support the idea that an LLM is intelligent. This argument is reductive in that it ignores the many, many diverse signals influencing the part of the brain that controls speech. Comparing a statistical word predictor and the human brain isn’t useful.
> You might think "something something incentive systems". No. At my big tech job I had the pleasure of interviewing a few programmers who worked for a large healthcare company that engages in regulatory capture. Let me assure you: They. Do. Not Care.
Regarding programmers specifically I can concur, but with a caveat. Devs often care quite a lot about many things, but often one of those things is not doing the job they were hired for. The tedium of building software for businesses, even what we now call "big tech", is universally unappealing and definitely not the reason most devs started tinkering with computers. So they care very little, and it shows in the tech taking over the clerical aspects of every day life.
The realities of the news business are fine, but the realities of the adtech business are not. As a consumer I very much want profiling and targeting to die off.
Were the ads run on the web not built on a separate business that attempts to violate the reasonable sense of privacy the average person expects, and didn’t attempt to warp consumer’s expectations of privacy, I think there would be less objections.
Was any regex documentation unclear on this? Some libraries have modes that change the semantics of ^ and $ but I’ve always found their use to be rather clear. It’s the grouping and look ahead/behind modifiers that I’ve always found hard to understand (at times).
I'll go one step further. RTO mandates are being used to mask how shockingly bad most manager's written communication and critical thinking skills are. When their ability to "manage by walking around" is taken away you very quickly notice how terrible their writing (and thus thinking) is.
I've experienced this first hand at multiple companies and it's fairly cringe-inducing to hear the excuses made for simple asks like having a written meeting agenda, project specification, or high level feature descriptions. Work breakdown meetings with these types over video calls amount to them trying to tell other people what to write down and ending the meeting as quickly as possible (perhaps the only upside).
Ascension to management appears to be a more extreme, self selecting version of the Peter principle for many. They can't make a living, or their desired income, in a role that has a well defined output and thus search for hiding places within organizations. Remote work puts them back into a role with expected outputs, and that's basically panic-inducing for someone who opted out of such things long ago.
My verdict: too much pride to admit that whatever communication skills they ever had have atrophied in the cauldron of management-level in-office politics. More energy than is required to learn to write coherently will be expended protecting identity and status. Companies will have to die and be replaced by those with more sensible policies and hiring discernment.
> The best optimization is simply shutting things off
This is the way.
A similar idea has been bouncing around in my mind for a while now. An ideal, turnkey system would do the following:
- Execute via Lambda (serverless).
- Support automated startup and shutdown of various AWS resources on a schedule influenced by specially formatted tags.
- Enable resources to be brought back up out of schedule when demand dictates.
- Operate as a TCP/HTTP proxy that can delay clients so that a given service can be started when it is dormant or, even better, the service isn't serverless but you want it to be. This can't work for everything, but perhaps enough things such that the need to run always on services is reduced.
Cloud Custodian [1] can purportedly do some of this, but I've been reluctant to learn yet another YAML-based DSL to use it.
So this is my "make things designed to be always-on serverless instead" project and the work AWS has done to make Java apps function on Lambda keeps me thinking about the potential to take things that 1) have a relatively long startup time and 2) are designed to be long running service loops, and find a way to force them into the serverless execution model.
It covers a broader range of topics than some of the other books mentioned here and helps with an understanding of where existing tech comes from and why. Also it covers topics that you don't necessarily need to know if you're only operating in a cloud environment, but that help to understand what is going on in those far off data centers.
You'll notice I didn't recommend search, or actually anything, as a solution to the problems I mentioned. I think these issues need more research and experimentation before we can arrive at better long term solutions. Also I didn't advocate for hiding things. Instead I think we agree with the idea that less things should be hidden, and the majority of the issues I have with Windows (and macOS/iOS) user interface elements is that they don't do a good enough job of surfacing the things I'm trying to find.
The "Fisher-Price'ing" [1] of the user interface isn't necessarily better in my view. It took the already big and colorful user interface elements and essentially made them bigger. When the video finally gets past the installer there isn't much that wasn't already a part of XP beyond the added, slow UI animations (which is definitely not an improvement, just look at most UI research and anecdotal griping on the web for the last 15 years).
Yearning for XP is something I can relate to. It feels like the last good UI version of Windows. The video is only a nostalgia trip though. Actual improvements on XP's UI would be:
- Removing the hierarchy and modes Microsoft kept piling on since 3.1. These are endemic in the shell. Both the Start menu and Windows Explorer are rife with them.
- Organizing the Control Panel such that it's thematically grouped. All settings involving the display (and thus graphics sub-system) are in a single place, all networking is controlled in one place, etc.
- Reducing the number and complexity of mouse interactions. Context menus should only be needed for the most exceptional cases. Right clicking to accomplish a task should be rare.
- Near elimination of dialogs. Users mostly dismiss them without reading anyway.
- Reduce, to the degree possible, the need to understand the file system, and its hierarchy, to find one's data and make basic use of the system. Watching people try to understand files and the file system hierarchy is pretty painful.
- Reduce the need to manage individual windows, and introduce a way to intelligently place windows across programs such that the user can juxtapose the applications they need to copy/paste between to get work done with minimal effort.
These are just what's top of mind, and I don't fault the creator of the video for making a tribute to XP. I'll add that a lot of these complaints apply to macOS, but often to a lesser degree. Perhaps I'm the old man yelling at the cloud here [2], but this stuff has been eating away at me for years and there doesn't seem to exist the will to address any of it.
People seem very focused on “should they or shouldn’t they, and why”, which somewhat perplexes me given that there is at least one really good reason for doing this: to create Rosetta Stones for very common pieces of software. To really and truly know if Rust should become the new C we have to start seriously exercising it in the places where C reigns. That’s not a bake-off entirely defined by technological superiority, but also of practical applicability, maintainability, and ability to ship pervasively deployed solutions. This project is a great test of Rust.
RIIR isn’t merely a “sprinkle Rust magic because I believe” thing. The tech has clear potential and I personally think a version of it will take hold where C was once assumed. To know for sure we have to ship more software with it, and we need good comparisons. I’m quite thrilled to have projects like this pressing on.
We need to remember the people, that we may never talk to, that are downstream of all of this software. Not necessarily “the users” as there are many pieces of software meant for other devs, but I think the users deserve consideration nonetheless.
Handing over software quality to the stochastic code extruder is causing a sharp drop in the quality of software put out into the world. This is on top of all of the problems that existed before LLMs, like human error and perverse financial incentives. Shipping poor quality and user hostile software actually hurts people. Real people. Harm is caused in both big and little ways to living, breathing actual people. This “inevitable” slide into generative AI harms every single person it comes into contact with. The devs, the users, the investors, everyone. Those harms may happen at different times and in different ways and the creeping nature of it all might make it easier to ignore, but it’s happening.
“AI” is a blight. You can leave me behind as well.