Of course we do not. Because there is no need. The process of compiling higher order language to assembly is deterministic and well-tested. There is no need to continue reviewing something that always yields the same result.
> We care that it works, and is correct for what it is supposed to do.
Exactly. Which is something we do not have with an output of an LLM. Because it can misunderstand or hallucinate.
Therefore, we always have to review it.
That is the difference between the output of compilers and the output of LLMs.
This. The comparison between compilers and LLMs is so utterly incorrect, and yet I've heard it multiple times already in the span of a few weeks. The people suggesting this are probably unaware of the fact that Turing complete languages follow mathematical properties not just vibes. You can trust the output of your compiler because it was thoroughly tested to ensure it acts as a Turing machine that converts one Turing complete language (C, C++, whatever) into another Turing complete language (ASM) and there's a theorem that guarantees you that such a conversion is always possible. LLMs are probabilistic machines and it's grossly inappropriate to put them in the same category as compilers - it would be like saying that car tires and pizzas are similar because they're both round and have edges.
In the 12+ years I've been a professional developer, I can only remember two bugs that were caused by the compiler / interpreter, everything else were logic bugs, oversights, 3rd-party libraries, misunderstanding of the requirements, internal contradictions in the requirements etc.
So that's maybe 0.1% of all the bugs I've touched.
In that sense, code generation isn't really an interesting source of bugs for the discussion at hand.
There were more ~26+ years ago. gcc and egcs had some subtle register allocator bugs that would get tripped up under heavy register pressure on i386 that were the bane of my existence as a kernel developer at the time.
If the "bug" shows up every time in the output given the same input, then it definitely is deterministic.
Just because there are bugs does not mean a compiler is non-deterministic. I looked through a bunch of the bug reports and there is nothing there that can't be fixed to make it deterministic.
You can't fix an LLM to be absolutely deterministic, but you can fix a compiler.
It's close enough. If we had a build pipeline that kept prompts in source control, and ran it through an LLM and then a compiler to produce the build output, this would fall over constantly. You'd get radically different results every time. Build pipelines that store actual source code in source control, then run them through a compiler to produce the build output, are used all over the place and they generally work great.
This is related to Firefox unwilling to add support for WebUSB because, I suppose, they believe that a browser is not a general purpose application launcher and the scope of what it can do should be limited. As such, it should not be allowed to e.g. control peripherals like the USB devices.
Which is in my opinion a fairly reasonable take.
But given the current situation, I would assume that the companies providing WebUSB tools like installers would also spend a few moments to create e.g. a Python script that would do the same thing but locally. So that anyone unwilling to use WebUSB within their browser can have a vetted and transparent way to get the same thing done.
I am opposed to it for similar reasons as in GP, but it does let you do cool things like installing Android ROMs without touching adb by having a (presumably) WASM-based impl of adb.
I agree, but they always will be expensive because they are a niche. Same reasoning as phones that focus on one niche (like photo/videographers) always end up being super expensive (eg. Xperia from Sony).
Sony's problem is that they have garbage marketing teams that don't understand that 99% of people don't look at a spec sheet, they ask the employee at the shop for the best phone, which is gunna be the one that gets the employee the most commission.
In Japan, they already have that with Docomo, AU, and Softbank. But they've failed to materialize that strategy outside of here.
I am not surprised. Considering only the main segment, i.e. Model 3 and Model Y, there has not been any major innovation by Tesla for years.
No significantly better battery technology. No significantly more powerful or efficient motors. No significantly improved comfort.
They have been making minor improvements in many areas, yes. For instance, they added ventilated seats, adaptive suspension, front camera, etc. But those are not new technologies that would make them stand out. The competition already had such features before.
Meanwhile, the Chinese cars have head-up displays, massage seats, vehicle to load, internal power outlets, fridges, dimmable glass roofs and what not.
One might argue that Tesla is improving their driving assist technologies and that is, in Tesla's view, supposed to be the deciding factor which would make them stand out. But I am not sure about that.
Their better driving assist (the so-called "FSD") has not been available in Europe for years. But that is almost besides the point.
The most important question is, in my opinion, the following: Who cares about those systems enough that they would be willing to pay $100 a month or $8k, $10k, $15k or even more one time for this kind of technology?
From what I have heard, the majority of drivers does not care. Not for this kind of money. No matter how good such a system might be.
Assuming that there will be a significant number of people who would be willing to pay thousands of dollars extra for a driving assist feature is, in my opinion, detached from reality.
> the technology you mention in an EV, then compare it to an ICE vehicle its still miles ahead
Yes, that is typically the case. But I am not suggesting to compare against the ICE cars at all. I am only suggesting to compare Tesla against the other EV cars.
The only advantage of ICE cars is at the moment their lower price.
most importantly their design looked bad/aged already at the time of release, let alone many years later when you have beautiful EVs from Porsche, Xiaomi or Hyundai available
all the ad blockers I used to use stop working, and it became an annoying game of cat and mouse that I didn't have time for. Luckily, most of the time I can "skip" the ad in like five seconds, and it gives me a moment to catch up on incoming Slack messages.
The only ad blocker I have used for the past couple of years has been uBlock Origin, more recently combined with SponsorBlock.
There has been two or three instances that I can remember when it did not block YouTube ads correctly for a couple of days. But those were quickly patched and it started to work again.
When has ublock origin browser extension ever stopped working?
On a locked down mobile OS like iOS you can use the Brave browser.
No cat and mouse game.
One day I visited DistroWatch.com. The site deliberately tweaked its images so ad blockers would block some "good" images. It took me awhile to figure out what was going on. The site freely admitted what it was doing. The site's point was: you're looking at my site, which I provide for free, yet you block the thing that lets me pay for the site?
I stopped using ad blockers after that. If a site has content worth paying for, I pay. If it is a horrible ad-infested hole, I don't visit it at all. Otherwise, I load ads.
Which overall means I pay for more things and visit less crap things and just visit less things period. Which is good.
Moreover you don’t even need a 0-day to fall for phishing. All you need is to be a little tired or somehow not paying attention (inb4 “it will never happen to ME, I am too smart for that”)
At $JOB IT actually bundles uBlock in all the browsers available to us, as per CIA (or one of those 3-letter agencies, might've even been the NSA) guidelines it's a very important security tool. I work in banking.
I do that as well. For me it is almost exclusively the case with the news sites.
> If it is a horrible ad-infested hole, I don't visit it at all.
Same.
> Otherwise, I load ads.
There is no "otherwise" for me. I simply do not want to load any kind of ads or "sponsored" content. I see no reason, either moral, ethical or other, to ever do that.
I think that the most fundamental issue with ads and more generally with provider-curated content is that they represent what the advertiser or the provider wants. Not what you want.
Even if the ads are heavily personalized, the advertiser is still the one who is trying to push an idea onto you. Similarly, even if your social media account has a lot of personal information on you, the provider is still the one who is selecting which content will appear in you "feed".
I believe that these practices make people less self-aware of what they actually want. Because they mostly respond to suggestions. They do much less research into what is possible. They just say yes or no to the things they see in their ads or in their "feed". While becoming more and more distant from the reality that is happening outside the provider-managed ads or "feeds".
I think that a safe way out of this is to ignore ads and "feeds" completely. And actively search for the things or content you want. Curate your interests in a way you like. Not in a way advertisers or providers want.
Those numbers are meaningless unless you specify what you get in return.
It is like saying that you pay $30,000 for a car. But the most important question is: For which car?
Also, if the installation services are so expensive, you can always install everything yourself.
Study how to do it, get the tools and materials, and then do it. It would be time-consuming, challenging and perhaps it would carry extra risks. Absolutely.
But it is not rocket science. It can be done. As long as there is a motivation to do it, i.e. a good value you will get out of it in return, it should be a valid approach to consider, in my opinion.
> how "renewable" are the materials used to produce these
Very renewable. Solar panels are mostly glass, silicon and a little bit of metal. And they last ~30 years. Wind turbine blades are made out of fiberglass or similar materials. They may need replacing every ~30 years as well.
Other infrastructure would not need any significant maintenance for even longer.
These kind of power plants, apart from being renewable, have very low running costs. And that is the point.
Of course their production is very variable and therefore they cannot be used as the only power source. So e.g. nuclear power plants are still needed to back them up.
I think it is very rational to build as much power plants that are cheap to run. And back it up with nuclear or other power plants that are expensive to run but which can cover for time when the production of renewables is low.
Mono-crystalline silicon - which is now the dominant technology - is a pretty clean, but thin film PV - which is on the wane - had high heavy metal content. Good news.
> the tool it uses to interface with the database doesn't have those capabilities
Fair enough. It can e.g. use a DB user with read-only privileges or something like that. Or it might sanitize the allowed queries.
But there may still be some way to drop the database or delete all its data which your tool might not be able to guard against. Some indirect deletions made by a trigger or a stored procedure or something like that, for instance.
The point is, your tool might be relatively safe. But I would be cautious when saying that it is "100 %" safe, as you claim.
That being said, I think that your point still stands. Given safe enough interfaces between the LLM and the other parts of the system, one can be fairly sure that the actions performed by the LLM would be safe.
Of course we do not. Because there is no need. The process of compiling higher order language to assembly is deterministic and well-tested. There is no need to continue reviewing something that always yields the same result.
> We care that it works, and is correct for what it is supposed to do.
Exactly. Which is something we do not have with an output of an LLM. Because it can misunderstand or hallucinate.
Therefore, we always have to review it.
That is the difference between the output of compilers and the output of LLMs.
reply