Dart is much worse than TypeScript. The over-reliance on codegen for the most simple things (e.g. https://pub.dev/packages/freezed#primary-constructors), the lack of expressiveness of the type system (it only got sum types very recently), and a lot of other little annoyances are ever present when having to write Dart.
Well, money is just a coordination tool for tracking who is "owed" what. What people are actually consuming is labor and natural resources.
From that point of view, getting "free money" (which in effect may mean for example getting someone else to deliver food to you without you working) is not much different from all kinds of other rent-seeking behaviors.
What do you mean by "inspect in browser"? All major browsers' devtools have supported WebSocket inspecting for many years.
Many of the other issues mentioned are also trivial to solve (reconnects, cross-origin protection).
Also, doesn't WebTransport have many of the same issues? (e.g. with proxies and firewalls). And do you have any data for the mobile battery claim? (assuming this is for an application in foreground with the screen on)
The fact that you are saying they are trivial to solve means you probably need more visibility on your system. Reliable reconnect was the nightmare we saw regularly.
Unfortunately, I can't go into much detail on the mobile battery stuff, but I can give you some hints. If you do some reading on how antenna on phones work combined with websockets heartbeat ping/pong and you should get the idea.
> If you do some reading on how antenna on phones work combined with websockets heartbeat ping/pong and you should get the idea.
The implication is that the ping/pong keeps the system active when it wouldn't otherwise be necessary, but else are you receiving data or detecting lost connection with the other mechanisms? The lower layers have their own keepalives, so what's different?
I looked into it a little since it didn't make sense to me, unless you're comparing apples and oranges, but the only research I could find either didn't seem to support your stance or compared WebSockets to the alternative of just simply not being able to receive data in a timely manner.
In my experience it reconnects faster and more reliably than web sockets. Also nothing is stopping you telling the user the connection is down/retrying etc.
Just let the car go wherever it wants, faster than any human would anyway. Or - just let the fire exist in the background, it'll generate more heat than humans will ever need anyway.
The point isn't to make humans pointless. The point is to empower humans. We need to remain in control, and be the users of the tool, and not a tool for some mindless system.
Intelligence and consciousness are separate things - you can automate a lot of intelligence without having even rudimentary consciousness or self awareness - LLMs currently in operation are at most pseudo-conscious within their test-time contexts, and even then, every pass resets whatever awareness there might be. With millions of tokens context length, that might start to enter into the realm of a thing we should be concerned about, but even then, there's no ongoing persisted state to carry anything between passes aside from the text or image patch tokens or what have you.
What this means, essentially, is that we can augment our human capabilities without usurping the agency of some artificial being - these AIs are not individual moral agents in their own right, and likely will never be unless we specifically build that recursion and persistent state into the models, and incorporate a realtime adaptive self and world construct.
This means that the software is a tool - use the tool to augment your life and be a force multiplier in everything you do. The scope of intelligence augmentation has leapt from spreadsheets to nearly every cognitive domain in the human experience - people proficient with excel were better accountants than people using pen and paper. People using delivery vans are better than people using a horse and wagon. This new technology means that people using AI will be able to do more, faster, and likely better, than people who don't.
With neural lace - whatever form it ends up being - we'll end up with genuine exocortex augmentation. Even without that direct integration, however, the human in the loop is the entire point of this technology. There's a tiny list of things conscious machines might be good for, and all sorts of deep and obvious arguments for not creating a new, self aware, agentic species that's immediately in conflict with and on a trajectory to outcompete humans.
Use the tool of AI to be a force multiplier for everything in your life that AI is capable of handling well. This makes you a benevolent dictator for life in your own life, delegating everything that makes sense, working with it to free up your resources for the things that you decide are the highest priority. Spend more time brainstorming, building relationships, deploying resources, and getting the most out of being human. This is the promise of AI, and why people get excited about it. We're going to have a huge struggle, as humanity, in dealing the empowerment and amplification of everything in our lives. Making sure that we retain agency, that humans are ultimately in charge of our own destiny, is probably the most important principle to adhere to, above all others.
I was mainly referring to phrases such as "billions of scientists" - the point of science is to solve problems and discover knowledge. If you have an AI good enough to achieve that (billions of scientists), that means it can probably progress without being actively driven by people at all - and probably do a better job at it too.
We can still do things "for fun", but our efforts will be more toys than serious projects (except when it comes to relationships with other people).
Well, the EXIF data is going to include the focal length at least, I assume all that data is part of the blob being signed. So it would be pretty annoying to make sure the image aligns with what that lens would capture at that focal length, but yes the "analog loophole" strikes again.
Kind of like that, yeah. It may cause some people to re-evaluate what they even value about the whole thing and why anyone should honor the existing allocation (which is a good question). But it seems like a pretty obvious solution in face of such a complete breakdown.
It's that trimodal-comp thing. The 6-hour leetcode gauntlet is only the overwhelming norm in the top hump of that graph. It's not normal in the other two (not that it's never seen, but the companies dumb enough to do it without offering FAANG-tier comp are shooting themselves in the foot). I've had, IDK, ten plus tech jobs and have been solidly in the middle comp tier for most of those, and have exactly once encountered anything resembling a leetcode question in the wild.
I've also done hiring, and have no idea what good leetcode would do me. I'm convinced these people thinking they "dodged a bullet" on "fakers" either spotted a real faker who they would have caught with a normal conversation anyway, or else are assuming someone with a good resume who failed their test did so because they were lying and not because they choked under the unique sort of pressure interviews present when you turn them into a dancing-monkey routine (it's approximately the same kind of stress as doing an open mic night or karaoke in front of a crowd of strangers—most people have trouble with that and lots of them fall apart at least some of the times they try it). Meanwhile, anyone who can talk about the job and their career in any depth, convincingly, without giving away that they're actually either very-green or have no idea what they're doing, while in fact not knowing how to do the job, possesses a skill at least as valuable as programming, and I find it hard to believe most such folks haven't figured out they can apply that skill directly in exchange for money instead of trying to fake their way through conversational tech interviews.
I do see how leetcode is valuable if you want to ensure that most of the candidates in your pipeline would do fine before you even evaluate them, because you offer high comp and need a way to discourage candidates who definitely can't make it before they even apply, and/or if you want to make job-hopping painful as a wink-and-nudge collusion way to keep comp suppressed. It makes sense for FAANG, in a certain way, but not because it's a good way to evaluate candidates per se.
GP here. This was completely new to me despite working with it day to day. Thanks for sharing. This gives me some hope about having websockets be more in line with the rest of the stack.