Double decker trains I just find fun for some reason, and you get slightly better views riding up top over fences and walls and such.
6,563 karma · joined April 20, 2015
Working on https://withdocket.com -- it's a system for active note taking in regular meetings like 1-1s.
I have a blog at https://davidnicholaswilliams.com
Email: my HN handle at google's email service. Put (HN) in the subject line to tell me you came from here!
Double decker trains I just find fun for some reason, and you get slightly better views riding up top over fences and walls and such.
It does seem like a bit of a trend in engineering that the first to get there set slower standards that others then copy, speed up and otherwise improve upon. See Britain and trains.
On that note, the very same Jesse W. Reno tried to build a spiral escalator in London in 1906 in Holloway Road tube station, the shaft for which still exists today. It never made it into production aparrently, but goes with the trend.
It makes the future feel fun, and feels like a return to adventurous aesthetics for the pure sake of it. At the very least, it's noticably different and interesting. I hope architecture follows suit.
To be honest it is worse than this. Spotify over the years just seems to have gotten worse and worse at the one job I want it to do well which is just play the music I already know I want to play, which should be incredibly obvious from my play count and what I've downloaded.
Instead I'm regularly surprised by random noise such as popover in-product ads for extra features I don't care about, and simple AI features I might want like detecting I am in this certain place at this certain time where I usually listen to these albums or playlists so maybe weight them accordingly in a quick access list on the home screen or something aren't, for whatever reason, done.
I mean this doesn't even need LLMs it's just an algorithm, but you see what I mean. Using intelligence in the ways I should obviously care about from the way I use the product, instead of trying to get me to change the way I use it (I won't, I wish there was a way I could just definitively tell them this).
Alas, after years of annoyance with this it's still just about above the bar of useful enough, so I keep paying, and just can't be bothered to invest the time switching to some other service like apple music. So in a sense I'm probably encouraging this behaviour by not churning.
I might be misunderstanding your point but I think you're in agreement with the gp, as in they are arguing for a locked down interface behind which the AI sits, narrowed to use within whatever particular operations the user can access, as opposed to a wide open AI interface with access to any operation (in principle).
So in your example there's no way to ask the AI for any old discount because the interface for doing so is locked down to just the discounts you can access, although the AI may be able to apply a discount you didn't ask for dynamically, if allowed, to give the customer a better experience.
Of course both versions can be implemented securely, it's just probably in general a smaller attack surface if you provide a tighter interface first.
One thing you notice in kids in their native language is they get the trickier/irregular parts of grammar wrong all the time and repeatedly, as in they are corrected but just carry on making the mistake, I guess until one day finally the right pattern gets learned through sheer brute force of repetition. In the meantime, they're perfectly well understood by everyone anyway.
Obviously as an adult you can somewhat shortcut this because of better understanding of grammar and knowing how to learn, and being quicker to absorb and make the changes, but regardless I think the basic premise still applies - you learn the right way over time just by doing it over and over and over until you can't not remember it is the right way.
And, to be honest, if the wrong way is understood, how practically wrong really is it? (you will always always have tells you are not a native speaker no matter what, some of these can even be charming, I don't know if it should even be a goal to get this to zero at all).
I think it's pretty likely that in, let's just go for the round number and say 80% of cases, everyone will conclude that just existing well used frameworks / code generator templates where everything's understood and most of the hot paths are well tested is pretty fast to build with (and more importantly, maintain and operate) and was really all we needed for most useful business software.
Everyone else also thinks like that and so isn't normally unambiguously critical, so you end up not knowing who really thinks that way and who's just doing it because of the game theory.
It could even be practically nobody. There's no way to tell until the deadlock breaks.
I do it too so it's not a criticism, but I find it kinda interesting culturally. It's a reflection I think of the environment that we've created for ourselves, or has been created for us (or some combo) where somehow you can't point out an unqualified negative of this tech.
This to me is actually one of the clearest bubble signals, just because if it really were as good as all that, it'd be completely redundant to remind everyone of that when criticising it.
I think it might be a sort of weird collective psychological thing where we must not admit what seems pretty clear, just for fear of breaking from norms.
But, of course, yeah it's very useful for some stuff and I use it all the time :-)
It's probably just the old 'fake loader' psychology, to be honest. Waiting without knowing when the elevator will arrive is boring/frustrating, where getting into an elevator that moves, even if the wrong direction, feels like progress.
Things are happening, and even if it takes longer ultimately that's a less frustrating state to be in.
Yes, it's annoying, and blame does lie with me for it happening because I did let friends know about the launches for this on HN, and the comments that come from that are entirely predictable.
Actually it's annoying on a deeper level for me too: I've realised through the referenced comment links that I thought the account in question was an actual user on the original launch post, where I responded to them with an enthusiastic thanks, but in fact it wasn't real positive feedback just one of my friends trying to help. Which is nice, but not very useful for me. I still don't know which friend this is, by the way :-D
Overall I learned for future to just not do this again at all. It just doesn't help on these launch posts anyway, the amount of interest they need to actually get on the front page and stay there is way above what just a handful of friends upvoting or commenting can do for you. When it happens it always happens because people find the actual thing interesting, so there's no point trying to induce that if it doesn't exist. But it's so easy to feel like you want to do everything possible to help get something out there that, as the parent says in a downstream comment, you've poured your heart and soul into.
And you're right, ultimately it's against the spirit of HN and not how we want this place to work. I'm a long time member of this community, it's my favourite place on the internet to be honest, I want to see its standards maintained, and should be doing my best to do that.
I don't know if you intended this to be exclusive of the opposite, but I do often find actually the opposite thing is true. That is people tend to be wildly, inappropriately optimistic for things they don't understand well and more likely to be skeptical in the details of things they do.
This makes total sense to me. I'm not saying it solves all problems but it eliminates so many of them, including a meta problem: the risk of new classes of problems being unexpectedly introduced (by say a private equity acquisition or similar).
If domains themselves are the profit center, you are likely in trouble if there's really any incentive for them to make incremental revenue in such a competitive market. Doing 'the right thing' just of course will not factor in if there's really no reputation at stake.
You will be unsurprised to learn though that I largely haven't used AI to program it.
The main ways I do are documentation/research questions, obviously autocomplete when writing code (which I do, still exclusively in an editor), and some ancillary scripts and tools.
I guess the whole point of it is that it isn't a transcription / automated summary tool :-)
It's a tool for people who want to use their own brain to pick out the key notes and actions in a meeting and get (and create!) a lot of value by doing so - not hand this off to AI.
Obviously some will do that but this tool isn't for them. It's not for everyone.
It's difficult to not get defensive when you put a lot of work into something and you receive what you feel are very unfair / unjustified comments.
Of course like anyone, when I do a substantial launch on HN I do tell friends. Most probably the referenced comments came from one of my friends trying to be helpful, but I don't actually know that - I have no idea who the account is in fact.
But I feel (perhaps wrongly) an accusatory tone in the very deliberate pointing out of this, and I just don't understand what is trying to be acheived. If you look at my submission history, comment history, and account age here I think one could probably assume good intentions and treat my submissions here with grace and benefit of the doubt.
But anyway, I regret making the original defensive comment and have re-learned the lesson to not do this as it just detracts from the quality of discourse. My bad.
To be honest I'm not sure how true this is. I think it's more that there does seem to be quite a baked-in bias to repeat basic structures and not reuse (much less come up with) abstractions. So where that is the existing pattern it looks like it's keeping with that, when in reality it would often do that either way.
There have been many cases where I've started a piece of work by laying down very rigid abstractions and a few examples of using them, and I explicitly prompt to not only exclusively use the specific abstraction API but also copy the way I've used it. And the (frontier) LLM does neither, it just steams ahead re-implementing things from scratch from bottom up basic structures, partially and often totally ignoring the abstractions.
I don't know exactly why this should be the case but my naive suspicion is that there's just an awful lot of this type of stuff in the masses of training code and the weights just somehow 'know better' how to get results this way, rather than using your more novel abstractions/patterns.
You hardly ever change the thing and if you do, changing it in two or three places 'manually' is really not a big deal.
Now changing something fairly often, that affects logic in 50+ places? Then it makes sense to automate with an abstraction so it all flows through the same lines of code.
I know I've personally spent way more time over the years debugging bad abstractions than changing things in a few places.
There are people whose current behaviour/situations will happen to benefit from this, and that may be a niche, but seems like there's a really solid chance many more people actually will change their behaviour in response to this being available. That's how disruption happens.
To be honest I can easily see the default changing if the service is good enough. I mean it seems like you basically get most of what is good about wired plus a whole load of extra previously totally unavailable benefits. For a price, to be sure, but that'll come down.
It's a clever argument because if you question it, you're reminded of the entire history of technological development which is, guess what, exponential.
You're sometimes also dismissed as not understanding the concept of exponentials. This again is clever, as it's baked into the definition that if you don't see it happening, or can't imagine it happening, well that's precisely a tell you're living through an exponential!
All the reasons you might give can be countered with, essentially, "that problem that seems clear today will go away sooner than you can imagine and when it does you'll be on the back foot, so you'd better just assume it will go away and project/plan accordingly".
The trick is entirely that one cannot possibly deny the general power of exponential progress across all of technology, it's almost a law, but it doesn't work in the other direction - no particular local technology is owed exponential growth because of this general pattern. Sometimes things just cap out at merely 'useful' and don't improve much further, no matter how much you want to believe they won't, no matter how steep the progress curve (or, indeed, line) has been up to that point.
To this point the narrative of what these tools can do over these last 3 or 4 years has always been way ahead of the reality. Everyone who works with the tools knows this.
Not everyone wants it to be true, so some will not acknowledge it and will just keep pushing this year-ahead projection as ground truth today. Many (not all) of those people aren't builders, so they don't have to deal with present reality jarring up against this projection of what ought to be possible, they're safe just talking about what should hypothetically be possible and making plans around that that won't be executed for months to years anyway. This keeps the flywheel going, and in fairness, some of the reality has actually caught up in certain ways, so some of those plans will have to some degree worked out which spins the flywheel faster still.
In the end though I just keep thinking: it's been 4 years (as referenced in the post). A lot has happened, the tools are very cool and very useful for certain things. But when I put my head up and look around in the world, even just the software world, nothing's really changed in terms of actual outcomes, in terms of new things appearing or being built that didn't exist 4 years ago. Certainly nothing feels instinctively like it's improved much, subjectively.
Maybe this is what it feels like to be in the knee of a curve of an exponential, but it seems equally reasonable this is just a breakthrough that's kind of improving at a clip you'd expect it to for all the investment put in, but fundamentally is just a new tool that needs to be slowly commercialised in an economically rational way, as we gear up for the next breakthrough which may or may not be related. Who says it must just keep improving forever? This argument never made much sense to me.
Where do these improvement curves go? Does the gap close, do they intersect for practical purposes (factoring in cost etc)? Or is the local curve always just a translation of the hosted, lagging behind, or indeed does hosted just pull ahead?
Nobody knows, but it's a very open question I feel, and it certainly appears like the answer might quite reasonably be that yes they intersect on that kind of short-ish term time horizon.
I don't see strong evidence the average consumer is demanding 'AI features' in everything. I mean even amongst the technically inclined this is often bemoaned, anecdotally.
There's also, of course, the not insignificant value in the software itself actually working, being operated, being updated when necessary, all of that. Again just extra hassle no business will want to shoulder when they can just buy something that does it for them.