Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror

Comment Re:Sad (Score 1) 148

So I'm all for evidence-based medicine as a starting point, but when you realize it isn't behaving normally, you should adjust accordingly.

The thing about adopting evidence-based policy is that you also need to review and if necessary change policy when more evidence becomes available. The kind of situation you're describing would surely qualify.

Comment Re:Electric Trucker (Score 1) 73

In the US, you can drive 800 km as see little more than asphalt and coyotes between the beginning and end

Bullshit. I live in the western US and have regularly driven through some of the least-populated areas of the country, but I've never seen an area you can go 500 miles without encountering any infrastructure. You might be able to accomplish it if you take careful note of where the truck stops are and go out of your way to avoid them, but on any realistic route you'll encounter truck stops -- if not towns -- at least every 150 miles.

As for charging infrastructure, if you stay on the interstates I don't think there's anywhere in the country you can go more than 100 miles without finding a Tesla Supercharger. Those aren't designed for truck charging, but this demonstrates that building out the infrastructure isn't that hard.

Comment Re:Alternate headline (Score 5, Interesting) 71

"Whitehouse prepares document to force yet another fight in the Supreme Court."

These day's it's quite obvious that the only line in the constitution that any republican has ever read is the 2nd Amendement. And even then they didn't read it properly.

They certainly seem to have completely missed Article I. You know, the part that says that the legislature makes the laws? Even if you think restricting AI regulation to the federal government is a good idea, the right way to do it isn't with an executive order to set up a DOJ task force aimed at litigating state AI regulations out of existence based on complex legal theories about interstate commerce. The right way is for Congress to pass a law barring states from regulating AI. This is simpler, cheaper and should invoke public debate about the issue, which is how things are supposed to be done in constitutional republics.

I don't even think Trump is taking this route because he and his advisors don't believe they have the votes for it. I think they're doing it this way because they don't even consider governing through legislation rather than through executive power. Granted that Congress is fairly dysfunctional, but they actually can and do make laws... and the way to fix the dysfunction is to work the system.

Comment Re:Very quick code reviews (Score 1) 37

The above was already quite long, but allow me to add a bit :-)

I spent a few minutes looking for the state of the art in C++/Rust interop for contexts that don't have a nice intermediary like binder. It turns out that the situation isn't as bad as I thought. The CXX project enables automatic generation of bi-directional definitions between Rust and C++ and is being used at scale by the Chromium project and that seems to be going pretty well.

There's also a Google-funded Rust Foundation project to define a better solution, though I don't see what, if anything, has happened since it was announced last year. Hopefully that's because there's a small group working too hard to waste a lot of time talking about it.

The reason I went to look is that my new team (I left Google a couple of months ago) might need such a thing. I've been asked to define an API that would benefit from being implemented in Rust and usable from C++ and Rust.

Comment Re:Trump Mania (Score 1) 239

3) The outbreak is all along the southwest border with large populations of people who lack access to regular health care.

With the republicans holding a majority in 3/3 branches of the government, what are they doing to to combat this problem?

Telling people that vaccines are bad, ensuring that any parent who wishes to refuse to vaccinate their children is fully supported in that decision, and working to make vaccines harder to get, more expensive and more painful (RFK Jr. wants to separate the MMR vaccine into three shots, each of which will still require three injections, so kids will have to get 9 shots to be fully vaccinated instead of three).

This is similar to their plan to fight inflation by imposing tariffs and forcing the Fed to lower interest rates in spite of rising inflation (note that this last part hasn't really happened yet -- the interest rate cuts have been measured, cautious and justified by economic conditions -- but Trump is working on it). Though to be fully fair, by making the tariffs arbitrary and capricious so that business leaders are completely unable to plan, Trump is also causing a contraction in US economic activity that might eventually generate significant unemployment, which actually does reduce inflation. I see no corresponding "silver lining" in the mumps plan, though.

Comment Re:Oh, Such Greatness (Score 1) 239

From an economic perspective, he was right. The Southern slave system enriched a small aristocratic elite—roughly 5% of whites—while offering poor whites very limited upward mobility.

And, ultimately, slavery was a far less efficient and effective economic system. One might think that keeping a big chunk of the populace poor is efficient, since you're not "wasting" a lot of production on providing them with unnecessary goods and services, but it's really not, at least not since the industrial revolution. I think the core reason that it's so inefficient is the same reason that Marxist communism is inefficient: From an economic perspective, both systems value the masses only for their physical labor, and fail to cultivate and take advantage of their brains, which also actually tends to reduce their labor output. Harnessing the distributed ingenuity of your workforce requires giving your workforce some reason to exercise ingenuity and some way to benefit from doing so.

It's going to be interesting (or maybe terrifying, or maybe just sad) to see what happens when we fully automate ingenuity, too, which will mean that the system no longer depends on or benefits from distributed ingenuity because the machines are smarter and think faster, just as the machines are already stronger and indefatigable.

Comment Vibe coding is an intermediate step that will die (Score 2) 30

I don't think vibe coding is going to last long as a thing, because it's just a sort of intermediate step to telling the AI to do what you want and having it do that. Right now, people are telling the LLM to write code to accomplish a thing and then running the code to see how it works, then telling the LLM to refine it, but that's a lot of unnecessary extra steps. I'm sure that in the not-too-distant future people will just tell the LLM what they want to do, which may require creating a custom user interface to make user interaction convenient, and may require creating databases or performing network queries or whatever, and the LLM will understand what they want, and do it.

In that future, it's possible that the LLM may generate code to implement the requested functionality, but if it does so that will be a compute-saving shortcut, essentially a way to cache the LLM's work and be able to repeat it with less effort. There won't be any need to show any of the code to the user, or even tell the user that the LLM chose to generate some code.

As an aside, the whole notion of leaning "prompt engineering" is another intermediate step that will die. The whole point of natural language-capable AI is that it will be able to understand what humans want when we express ourselves as we would to other humans. As the LLMs get more capable, it will become less necessary to treat them as something different from an entity that is fully capable of understanding and acting on human communication.

Comment Re:Very quick code reviews (Score 2) 37

At my company we don't have any dedicated Rust programmers. We all have to learn it (eventually). So passing a review off to a Rust developer or dedicated team isn't an option for us.

C++ reviews go quick for us because we have 20 years of it in our code base. And our changes tend to either be a tiny increment at the core. Or a massive dump of support for a new feature or chip that not every reviewer is familiar with.

At my company we don't have any dedicated Rust programmers. We all have to learn it (eventually). So passing a review off to a Rust developer or dedicated team isn't an option for us.

One of the things Android did very right with the Rust transition was to set up a small team of people who were entirely focused on Rust support. It wasn't a large team, only 2-6 people (it varied over time) out of approximately 1500 engineers. Having that core team who either were or became deep Rust language and toolchain experts was critical to smoothing the path for everyone else. It provided a group that had the knowledge and bandwidth to solve the problems that inevitably came up, as well as to offer advice and code review support to the early adopters.

That group no longer provides code reviews and design advice because Rust knowledge is now widespread enough that teams have their own, homegrown, Rust experts (not people designated as Rust experts, just engineers who became enthusiastic and dived deep), but the group still exists to resolve complex technical problems with language integration and to work on improving tooling and performance.

I think any shop adopting Rust (or any new language or complex tool) needs to have some people who become deeply expert in it and are allowed the time and freedom to support others who are picking it up.

C++ reviews go quick for us because we have 20 years of it in our code base.

So does Android. Google has been a primarily-C++ shop since its inception and although I'm not sure if Android had a lot of C++ in it when Google bought Android in 2005, it definitely became a C++-based system as soon as that happened.

And our changes tend to either be a tiny increment at the core. Or a massive dump of support for a new feature or chip that not every reviewer is familiar with.

The highly-segmented architecture of Android really helped facilitate the transition. Most of Android is structured as a web of collaborating services that communicate through a common language-independent [*] IPC mechanism (binder). Implementing Rust binder IDL generation and support libraries was a moderately big job, but once that was done it was easy to begin writing new system components (or replacing existing system components) in pure Rust, generally without any unsafe blocks at all.

If your code runs as a monolithic process, or has a lot of different IPC mechanisms, or uses a lot of existing libraries, it will be a lot harder, and the benefits will come slower. You'll have to wrap a lot of C interfaces in Rust -- and they will have to be C, not C++, since there isn't a good way for Rust to interoperate directly with C++. People are working on that, but it's a very hard problem and at present the best option is to layer a C interface on top of your C++ code, then wrap a Rust interface around the C interface. Yuck. Or, in the alternative, insert some other language-agnostic boundary between them.

So in a lot of ways Android got lucky because of its modular architecture and single, language-agnostic IPC mechanism. OTOH, that wasn't really "luck", it was a lot of work, done for good reasons, one of which was cross-language compatibility, notably between Java and C++.

[*] Language independent-ish, maybe I should say. The binder IDL is definitively Java-based, but this maps fairly nicely onto OO languages that support common primitive types (int, char, enum), basic composite types (array, vector, class/struct, string (which is just a vector, but used enough to be worth treating as a first-class thing)) and Java-like methods (fixed argument list, single return value). Further, it's based on "old" Java, before Java acquired functional extensions, when doing things like passing method references as argument was uncommon, and therefore not supported. So it's moderately-expressive but avoids things that get weird and complicated. My one big complaint about it is that I wish it supported unsigned integer types. That's my biggest gripe with Java, too.

Comment Re:Oh, Such Greatness (Score 1, Interesting) 239

Lincoln was a Free Soiler. He may have had a moral aversion to slavery, but it was secondary to his economic concerns. He believed that slavery could continue in the South but should not be extended into the western territories, primarily because it limited economic opportunities for white laborers, who would otherwise have to compete with enslaved workers.

From an economic perspective, he was right. The Southern slave system enriched a small aristocratic elite—roughly 5% of whites—while offering poor whites very limited upward mobility.

The politics of the era were far more complicated than the simplified narrative of a uniformly radical abolitionist North confronting a uniformly pro-secession South. This oversimplification is largely an artifact of neo-Confederate historical revisionism. In reality, the North was deeply racist by modern standards, support for Southern secession was far from universal, and many secession conventions were marked by severe democratic irregularities, including voter intimidation.

The current coalescence of anti-science attitudes and neo-Confederate interpretations of the Civil War is not accidental. Both reflect a willingness to supplant scholarship with narratives that are more “correct” ideologically. This tendency is universal—everyone does it to some degree—but in these cases, it is profoundly anti-intellectual: inconvenient evidence is simply ignored or dismissed. As in the antebellum South, this lack of critical thought is being exploited to entrench an economic elite. It keeps people focused on fears over vaccinations or immigrant labor while policies serving elite interests are quietly enacted.

Comment Re:Computers don't "feel" anything (Score 1) 55

It's different from humans in that human opinions, expertise and intelligence are rooted in their experience. Good or bad, and inconsistent as it is, it is far, far more stable than AI. If you've ever tried to work at a long running task with generative AI, the crash in performance as the context rots is very, very noticeable, and it's intrinsic to the technology. Work with a human long enough, and you will see the faults in his reasoning, sure, but it's just as good or bad as it was at the beginning.

Comment Re:Computers don't "feel" anything (Score 3, Informative) 55

Correct. This is why I don't like the term "hallucinate". AIs don't experience hallucinations, because they don't experience anything. The problem they have would more correctly be called, in psychology terms "confabulation" -- they patch up holes in their knowledge by making up plausible sounding facts.

I have experimented with AI assistance for certain tasks, and find that generative AI absolutely passes the Turing test for short sessions -- if anything it's too good; too fast; too well-informed. But the longer the session goes, the more the illusion of intelligence evaporates.

This is because under the hood, what AI is doing is a bunch of linear algebra. The "model" is a set of matrices, and the "context" is a set of vectors representing your session up to the current point, augmented during each prompt response by results from Internet searches. The problem is, the "context" takes up lots of expensive high performance video RAM, and every user only gets so much of that. When you run out of space for your context, the older stuff drops out of the context. This is why credibility drops the longer a session runs. You start with a nice empty context, and you bring in some internet search results and run them through the model and it all makes sense. When you start throwing out parts of the context, the context turns into inconsistent mush.

Comment Re:The price of wealth (Score 1) 85

Does a story like this make anybody else wonder if the lifestyle cost of wealth is too high?

The problem in this story is not the wealth, but its form. Cryptocurrency transactions are generally irreversible and not subject to the layers of process and protection that have been built up around large banking transactions. Keep your money in banks and brokerages like a sensible person and you don't have much risk.

Slashdot Top Deals

"It's a dog-eat-dog world out there, and I'm wearing Milkbone underware." -- Norm, from _Cheers_

Working...