Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror

Comment Re:Do it yourself (Score 3, Interesting) 74

So don't use STL

Indeed, No True Scotsman would use STL with C++.

clang-tidy and Cppcheck and flaw finder and Sonarqube

The last job I had where I had to use C/C++, we automatically ran an expensive static analysis tool every time we checked in code. I'd estimate that it only found about half of the potential segfaults, and it made up for that by finding twice as many false positives.

Comment Re:Do it yourself (Score 3, Insightful) 74

The "rules" of mutable collections in STL state that collections may not be mutated while being iterated.

Nope. If I had used st::list instead of std::vector, it would have been perfectly fine and officially supported. (Assuming I changed "i+10" to "i+11" in order to make the algorithm actually terminate, although that change wouldn't affect the vector crash.).

The problem is that there are dozens of different rules you have to remember to apply to the different types of lists and iterators. And that's only talking about that one topic. There are hundreds of other rules covering a multitude of language aspects that you have to mentally apply against every single line of code you write, many of which can potentially cause memory corruption.

Comment Re:Do it yourself (Score 4, Interesting) 74

You don't need the language to enforce memory safety to program memory-safe. The most important thing is, for example, to never touch raw pointers. C++ makes it very easy to avoid this. Rust forces you to avoid it, but just because C++ gives you the loaded gun, it doesn't mean you have to use it. In particular not on your own foot.

That is a dangerous misconception. You don't need to use any pointers to get memory errors in C++:

#include <stdio.h>
#include <vector>
 
int main() {
    std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9};
    for (auto i : v) {
        if (i % 2 == 0) {
            v.push_back(i + 10);
        }
        printf("%d\n", i);
    }
 
    return 0;
}
 
$ g++ -Wall -pedantic t.cpp
$ echo $?
0
$ ./a.out
 
1
2
-947527061
1600570778
5
6
7
8
9

Comment Re:There is already a safe subset of C++ (Score 4, Insightful) 74

languages like Rust exist to put ignorant programmers in straight jackets for their own good

Are you seriously trying to suggest that never allocating memory is not also a "straight jacket"?

You seem to be saying that a currently existing bowdlerized version C++ is safe for close-world problems. Possibly so, but that still leaves C++ unsuitable for open-world problems. That makes C++ only suitable for niche applications. Why learn it?

If you just use Rust or any other memory safe language, you won't have to worry about what kind of "world" you're writing for, or about choosing from a range of increasingly dangerous "profiles".

Comment Re:Either the recordings are still available or no (Score 1) 41

This page claims over 400,000 recordings but links to a listing of only 187,034 audio files. I'm guessing the discrepancy is the girth of the suit: IA agreed to take down the files that the plaintiffs could prove were theirs and no money changed hands.

Comment Re:Transitions (Score 2) 243

Someone didn't live through the loss of the floppy drive, DB9 ports, and parallel ports.

In my day, to plug in a mouse: We took the box apart, installed a proprietary bus card, and then tried to figure out non-conflicting spots for the I/O and IRQ jumpers. Then we typed a bunch of gibberish into AUTOEXEC.BAT. And we liked it!

Comment Re:Holy shit, the logic fail here. (Score 1) 38

What you describe is essentially a form of bootstrapping, which is a legitimate statistical method. However, there are important limitations that cannot be overlooked.

First, the constructed data are still being created from real data. Ethics is not just about preserving patient privacy, although that is a very important aspect. It's also about taking into consideration how the data will be used. Does the patient consent to this use, and if they are unable to consent, how should this be taken into consideration? Medical science has not had a stellar track record with respect to ethical human experimentation (e.g., Henrietta Lacks, the Tuskegee syphilis study, MKUltra--and that's just in recent US history). There is a documented history of patient collected data being used in ways that those patients never even conceived, let alone anticipated or consented. Caution must be exercised whenever any such data is used, even indirectly.

Second, this kind of simulated data is problematic to analyze from a statistical perspective, and any biostatistician should be aware of this: there is no such thing as a free lunch. The problem of missing data--in actual patients!--is itself difficult to address, since methods to deal with missingness invariably rely on various strong assumptions about the nature of that missingness. So to make inferences on data that is entirely simulated is, at the very least, as problematic as analyzing partially missing data.

Third, the current state of LLMs, and their demonstrated tendency to distort or invent features from noise (which is arguably the primary mechanism by which they operate), is such that any inferences from LLM-generated data would be questionable and should not be considered statistically meaningful. It could be used for hypothesis generation, but it would not satisfy any kind of statistical review.

It all comes back to what I said in another comment: you can't have it both ways. If you can draw some statistically meaningful conclusion from the data, then that data came from real-world patients and must pass ethical review. If you don't need ethical review because the data didn't come from any real patient, then any inferences are dubious at best, and are most likely just fabrications that cannot pass confirmatory analysis.

Comment Re:Holy shit, the logic fail here. (Score 4, Insightful) 38

The purported claim is that "because the AI-generated data do not include data from actual humans, they do not need ethics review to use."

But if the data only represent actual patients in a "statistical" sense (whatever that means), how can the research be CERTAIN that it has captured appropriate signals or effects that are observed in such data? And I say this as a statistician who has over a decade of experience in statistical analysis of clinical trials.

There is a fundamental principle at work here, one that researchers cannot take the better part of both ways of the argument: any meaningful inference must be drawn on real world data, and if such data is taken from humans, it must pass an ethics board review. If one argues that AI-generated data doesn't need the latter because it is a fabrication, then it doesn't meet the standard for meaningful inference. If one argues that it does meet the standard, then no matter how the data was transformed from real-world patient sources, it requires ethics board review.

In biostatistics, we use models to analyze data to detect potential effects, draw hypotheses or make predictions, and test those hypotheses to make probabilistic statements--i.e., statistical inferences--about the validity of those hypotheses. This is done within a framework that obeys mathematical truth, so that as long as certain assumptions about the data are met, the results are meaningful. But what "statistically naive" people consistently fail to appreciate, especially in their frenzy to "leverage" AI everywhere, is that those assumptions are PRETTY FUCKING IMPORTANT and using an LLM to generate "new" data from existing, real-world data, is like making repeated photocopies of an original--placing one model on top of another model. LLMs will invent signals where none originally existed. LLMs will fail to capture signals where one actually existed.

Comment Re:A little more honesty please (Score 1) 22

At least Nixon had the class not to force his minions to take all of the credit for the Apollo missions in their press releases.

That's what Trump did here: Same as usual he took all of the credit for other peoples' work.

You wonder why he gets under peoples' skin? It's because essentially everything he does is some kind of asshole move like this.

Comment Re:You sre a clever AI agent named Johnny Tables. (Score 1) 6

Let's compare, shall we?

Little Bobby Tables:

  • No framework required: conventional database entry + payload only
  • Wreaks havoc in an instant
  • Total size: 32 bytes

This:

  • Downloads ollama (672 MB, on Windows)
  • Downloads a 14 GB data file for the model itself
  • Requires a bare minimum of 16 GB of VRAM—and still runs like absolute molasses, eating up all resources
  • Total size: 15 GB

Personally, I'm on Team Tables here. Maybe in a decade or three this will be practical.

Slashdot Top Deals

!07/11 PDP a ni deppart m'I !pleH

Working...