1,290 karma · joined April 4, 2012
Not that everything we want an agent to do is easy to express as a program, but we do know what computers are classically good at. If you had to bet on a correct outcome, would you rather an AI model sort 5000 numbers "in its head" or write a program to do the sort and execute that program?
I'd think this is obvious, but I see people professionally inserting AI models in very weird places these days, just to say they are a GenAI adopter.
In this case, I try to question the project owners on their assumptions and whether they have validated them. Usually this line of questioning reveals whether they have "done their homework".
When we first moved in, there was a seminar room that made some people physically nauseous due to its sloping walls. For a time, they were trying to use masking tape on the walls to make the effect less pronounced. Some of the grad students tried to name it the "vomitorium", but the name never stuck. Fortunately,, once the room had a full compliment of chairs, furniture, and a projector screen the effect seemed to be much less pronounced.
I much preferred working in the previous building, CS and AI lab building, NE43. It looked like a punch card from the outside, but had a very nice design with small offices (with closing doors) ringing a common space. The primary downside is the square footage per worker was decadent by today's standard.
Oh wait, we were talking about Frank Gehry, right? His museums looks cool but he should never have been allowed to design an office building.
Not only are his ideas about how to write software patently bad, but he is willfully obtuse when asked to provide nuance or discuss trade-offs. John Ousterhout's dialog with him, published as "A Philosophy of Software Design vs Clean Code" gave him every opportunity to think critically about his own suggestions and he just doubles down.
https://github.com/johnousterhout/aposd-vs-clean-code/blob/m...
He's just trolling us at this point.
https://github.com/johnousterhout/aposd-vs-clean-code/blob/m...
This has always been my strategy, though some might say I'm closer to "archive almost everything". I still do a lot of deleting, though. Deleted mail tends to fall into the following broad categories:
- security alerts and passcodes - notifications for events happening in a different systems (e.g. Venmo payments, bank alerts, etc.) - receipts for non-durable things like restaurants
I guess I could try to move these more forcefully from email versus phone notifications, but this still is really low priority and it's kind of better to just deal with it in a batch at the end of the day.
I've been using mailing lists for about 30 years now. In the days before social networks, there was tons of forwarded crap and email chains, such that debunking them was a cottage industry. This behavior eventually moved to Facebook and Twitter which is perhaps why email lists seem more civilized these days, but I don't believe its the features that are driving it.
But maybe I should have said late 80s, early 90s tech. In the 70s, if you were communicating with others on a computer, you were almost certainly using the exact same software on the exact same time-shared system, where at least there was a symmetry of experiences (but no multimedia). The explosion of email clients happened in the 90s, mostly.
The downside is that once you know, you know and you will see lots of bad typography. Though I genuinely think digital typography has continually and gradually improved over the decades. The typography you get "out of the box" is much better than 20 years ago. Also, high dpi displays rock!
Disagree these are advantages: Mailing lists require no special software - They impose minimal security risk - They impose minimal privacy risk - They're push, not pull, so new content just shows up - They scale beautifully - they're relatively free of abuse vectors - They handle threading well
I still use mailing lists, both at work and personally, but they are 1970s technology and it feels like it. We could build mailing lists for this century that keep these advantages and fix what's broken, but there's no business model in it.
I'm impressed with how confidently you disbelieve in the field of computer security.
The problem with blogs, though, is that there is no great solution to limit the visibility to certain audiences. It really limits the types of things you can share. At least with Facebook, you can limit posts to your friends or groups of friends. But even that is not really practical—it's too much effort to have every person curate every other person they know into groups for access control (Remember "circles" on Google Plus? It didn't work).
I think the right model is to allow distributed communities to form organically and then use those communities for sharing permissions. By "distributed communities" I'm thinking of things like email lists, Discord servers, phpbb forums—communities where membership is symmetric and there is a shared sense of who is in the community. Blogs don't have anything like that.
Even if the goal is to be just "close enough", It seems as pie-in-the-sky (Py-in-the-sky?) now as it did when Mojo was first announced. CPython has a huge surface area and it seems like if Mojo is going to succeed they are going to want to focus on differentiating features in the ML space and not going feature-for-feature with CPython. I don't know what "close enough" is, but closer than Py2 was to Py3, certainly.
The bigger problem I see is lack of abstraction, or systems where the components have too much knowledge of each other. These are fast to build and initially work just as well as the more "heavily engineered" systems. However as the code evolves to meet changing requirements, what happens is that code becomes more complex, either through even more coupling or through ad hoc abstractions that get implemented haphazardly.
It can be really difficult to know where to draw the lines, though. When you are trying to decide between a simpler and more complex option, I think it's worth starting with the simplest thing that could possibly work, but build it in a way that you can change that decision without impacting the rest of the system.
On a tangent, I'm not a fan of Uncle Bob (to put it mildly) but this topic makes me think of his quote "a good architecture allows decisions to be deferred". I would restate it as "a good architecture allows decisions to be changed in isolation".
All that said, there has been a marked change since John's "Something Is Rotten in the State of Cupertino". Reading between the lines, it's pretty clear that Apple leadership did not like this article and snubbed him for his liveshow. Since then, there have been many more articles critical of Apple on daringfireball.net.
FWIW, it's not what I expect. I used Linux and Solaris extensively between 1995-2005 or so and have been a terminal using Mac user since Mac OS X public beta. My expectation is honestly that CLI programs will do whatever the heck they want and I've never heard of .config. I generally expect both configuration files and application data to reside at the root of my home directory, ideally in a subdirectory if there is more than one file.
If I could choose, I'd prefer for application data (files written by the application for its own use) to go in ~/Library/Application Support, because that's where I expect it to go. For configuration that I would edit by hand, I'm not so sure. Probably would prefer the root of my home directory, where I could at least find it easily without looking it up.