46,939 karma · joined January 31, 2009
https://hokstadconsulting.com
Engineering management/leadership; AI; devops; software development, architecture; Ruby, C, JavaScript, C++, PHP, Java, Go, Python (roughly in descending order of commercial experience)
E-mail: vidar@hokstad.com (job opportunities, contracts, and questions about my comments or projects are all good, but please be to the point and I can be slow to reply to unsolicited e-mail)
Mastodon: @vidar@galaxybound.com / https://m.galaxybound.com/@vidar
LinkedIn: https://www.linkedin.com/in/vhokstad/
Personal site: http://www.hokstad.com and http://www.hokstad.com/blog
My (not regularly updated) Ruby compiler project: http://www.hokstad.com/compiler
Github: https://github.com/vidarh
One of my favourite recent projects is this ~500 line TrueType font renderer in Ruby: https://github.com/vidarh/skrift
Site for my science fiction book series: https://galaxybound.com
To provide me with API access to my own accounts, Era goes through another third party provider which again connects to my bank. I guess they could eventually get direct connections themselves.
So instead of me get convenient read-only access to my bank, I've ended up giving two separate third party providers credentials I'd prefer they didn't have.
All I'd need was an automated way to get a CSV or JSON dump of my transactions and I'd have been happy, but none of my banks support that without manually logging in. It's infuriating.
I agree with the caveats you outline, though. I think to work, something like this would need to be a box you'd tick when signing up for your ISP that promised some "ad free premium access to [X number] of sites" or similar, and you'd trade entirely on it being big name sites. Even then I'd expect relatively limited takeup mostly from people unaware of ad blockers.
[1] https://proton.me/blog/what-is-your-data-worth-to-google
Yes, you'd need to sort out pricing. I'm unusually price insensitive, but too many sellers play stupid games and win stupid prizes (me shopping around instead of blindly buying from them every time) by changing unit prices too much too often (e.g. my sons preferred shower gel litre price regularly rotates between prices that adds up to a factor of 3 difference, with any given size container at any given time potentially being a massive rip-off). You could fix that by letting users configure price bands and make it pick from a set of products based on price parameters or give an error. Or only include products where the sellers agree to not play stupid games.
But now your UI is massively complicated and you have error scenarios you didn't have before.
Even then, though, the bigger problem is that there just aren't enough product categories where we frequently order the same thing often enough separately from e.g. the weekly grocery run, to be worth it.
In my household I think it basically boils down to shower gels - because I have a teenage son - toilet rolls, dishwasher tablets and washing machine tabs.
That's not nothing, but it's not going to make me order materially more from Amazon to be able to press a button to reorder vs. pull out my phone, press "orders" in the Amazon app, and find the last order I made and reorder the product.
And I say this as someone who did order a couple of Dash buttons when they came out and promptly forgot to even use them (and I don't even remember why).
It's just such a very minor convenience that to work it'd need to have absolutely zero friction, and even then the revenue it'd bring would likely be totally marginal.
I'm using Codex, Claude Code, Kimi Code for different things, but most of my interactions now is with claw-like agents hanging off a self-hosted Matrix server in my VPN, and I expect to migrate pretty much all of my use to that setup because it's a lot more flexible. The agents have their own wiki for orchestration and increasingly I feel complex orchestrators are already becoming obsolete because the agents are good enough at self-organising with very little around them.
I don't use any of the agent platforms you list as it took a Kimi agent about half an hour to build something small and auditable that handles what I want it to do and load-balances/fails over between several providers for the backend.
They handle my finances (read-only), acts as a general assistant (and reads my e-mail), plan out my projects, manages my soon-to-launch podcast setup, runs several websites autonomously. The only reason they don't do more yet is that getting security right without kneecapping their usefulness is still a really hard problem.
If your language doesn't allow you to do the same thing with operators as you can do with functions, that's a language design issue and has nothing to do with operators as a concept.
It makes it harder to extract decent margins from models at or below the quality of the open models, and so makes it harder both for new entrants and for any existing providers that are depending on cheaper models for revenue. At the same time you make people comfortable with your product.
It's the IP version of dumping products below cost if you're capital rich and want to winnow down the competitive field while "buying" customers.
If you're using a closed model, the model provider gets all your data, and can if they want to send back actively hostile tool calls and rely on your harness to catch them without any effort on their side to train that behaviour into their models. The only things you can do about that is to place careful restrictions
If you're using an open model against your own system or a third party provider, the origin of that model could have trained in "triggers" that'd cause the model to produce actively hostile tool calls as well, but they'd have no direct control and would need to train in that behaviour "blind" to how you'd actually use the model.
It doesn't mean you can be complacent about trusting the model, but it does change the likelyhood they'd be able to do any damage, not least because you'd be able to run evals against the model without any risk that the model or provider API could just randomly change on you after a while.
So it takes far more trust to run a closed model than to run an open model even on a hosted third party provider, and certainly far more than to run an open model on your own hardware.
https://www.primevideo.com/detail/0QGEAKI5A10J71NPXAXEX4GSHS
Among the more internationally renowned actors in it you'll find Liv Ullman and Max von Zydow. There's a sequel - Nybyggerna ("The New Land", which is not a direct translation; the original title is better translated "The Settlers") - which I also remember as being good, but I haven't watched either since the 1980's.
But there's also this new adaptation from 2022 which I have not seen:
What you're doing is different to translation, it is insisting on a different grouping. It's rude and insulting.
But even when it comes to translation, then yes, a lot of people take offence at that as well, and you'll notice there is a trend back towards the official spelling of names that has been ongoing for decades for exactly that reason.
Only English speakers ignorant of the history of Scandinavia sometimes excludes it.
Tjere is no English language authority that has any business redefining what Scandinavia means at all. It's just insulting when English speakers believe they get to decide to redefine the names of regions that don't belong to them. It's rude.
In the Nordics the terms are not just "preferred" but unambiguously used this way.
The use to include any country other than Denmark, Sweden, and Norway, is something that will tend to really annoy Scandinavians, as we're generally consistent in that use and it's foreigners trying to tell is what names to use for ourselves.
It may be a losing battle, but it's not one we'll give up on.
In fact, immigration to Norway from Sweden started already back then. My great great grandfather moved from near Bullaren to Southern Norway in the late 1809's. But then emigrated with most of his family onwards to the US a couple of decades later as Norway was also poor at that time.
What was Norway's way out of the worst of that poverty apart from reduced surplus of people from emigration was shipping, and several of his sons, including my great grandfather ended up working on ships (and my great grandfathers family ended up moving back to Norway, supposedly in part because his wife got tired of the warm summers in Brooklyn...)
E.g. consider HG Wells The Time Machine, where the future start out seeming quite like an utopia but then we meet the Morlocks.
But lots of books were downright dystopian much earlier. Heck, several of the "standards bearers" for dystopias pre-date cyberpunk by a lot, like Brave New World, This Perfect Day, 1984.
Particularly stories like The Time Machine where the setting as a whole very much was revealed not to be an utopia were among the most common "utopian" settings pre-cyberpunk.
Pure utopias were very rare for a reason: They're really hard to set compelling in stories in, and so most of the ones that do exist tend to set stories on their edges and fault lines.
What changed with cyberpunk wasn't that (surface) utopias went away, or even that we get to see the imperfect underside, but that the script is flipped so that the protagonist isn't a tourist on the underside, but belongs there, and is often alienated from any seemingly perfect parts of the world they inhabit.
Compare settings that do show both sides, like The Time Machine, and a cyberpunk version of The Time Machine would probably have a protagonist that was a Morlock. The world itself wouldn't change, but we'd get to see it from the opposite POV.
The consequence of that is that the original question GuB-42 raised is pretty pointless too. An "inert" transformer effectively has limitations, but as typically used it trivially becomes Turing complete, and so the class of problems it can solve is the exact same class of problems almost any of our other computational devices can solve.
And if you want to point out that this externalises all of what actually matters if we are talking about e.g. intelligence, then yes, it does. But by extension you can trade complexity of the tape for complexity of the machine, and so you can internalise any part of the problem that can be solved with a finite section of tape as a single state transition (trivial proof: For a given machine M with finite state, you can make your machine N execute those steps as a single state transition by having N run M on a state transition.)
To extend that to where I assume they'd want to go in the first place: A transformer wrapped in a loop with access to "just" a "tape head" can "only" be limited from being theoretically able to get all the way to human level intelligence if human brains depend on computations that exceed the Turing computable. But that is no different from any other Turing complete device.
Of course that says nothing of whether it's a practical way of getting there.
So if you use the context not as a tape in itself, but as an io channel to read/write an infinite tape, the context for any given step can remain fixed in size, and so the step itself can be O(1).