To this end, my big server in the data center will be shut down at some point to add a GPU.
This will allow for the experimentation with AI models. What interests me right off the bat is image and vision processing models. Definitely something that can certainly do things that I cannot. Should this turn commercial, which is my real intent, I will of course have people with well-tuned visual accuity and judgement to vet anything generated.
I am most certainly approaching this with skepticism, but I am approaching it, as opposed to stubbornly avoiding it, and potentially missing opportunities.
By running the models entirely under my control, and on resources I control down to the OS layer, I am responsible, but also very much in control of what and where the data goes, and happens to it.

Graydon Hoare
in reply to John Regehr • • •✧✦Catherine✦✧
in reply to Graydon Hoare • • •Graydon Hoare
in reply to ✧✦Catherine✦✧ • • •it's not a language (and he doesn't call it one). it's an implementation / instrumentation pass for C/C++ that makes memory errors abort. that's great. but it's exactly C/C++ as source language(s). so if you like C/C++ (or have a gargantuan C/C++ codebase you can't port) and you want to trade perf and memory overhead for dynamic safety it seems like a fine option. it's in a similar ballpark as "building with asan in production" but covers different cases.
(I also find his trolling annoying but I think it somewhat incidental; it's not like the project exists to spite rust people, it's there for good reason, just like asan!)
cliffordheath
in reply to Graydon Hoare • • •✧✦Catherine✦✧
in reply to cliffordheath • • •cliffordheath
in reply to ✧✦Catherine✦✧ • • •✧✦Catherine✦✧
in reply to cliffordheath • • •UBSan/ASan/MSan/TSan were revolutionary when they were introduced; before them your only option (if you used something like gcc on linux) was valgrind, which while effective had some serious limitations, and the sanitizers were like suddenly having normal compiler diagnostics for even previously undiagnosable issues
I've never heard of Rational Purify before (is it some proprietary IBM thing?), but I think Borland had memory check tools back in DOS days too
Graydon Hoare
in reply to ✧✦Catherine✦✧ • • •Purify is the grandparent of all of these, in the sense of instrumenting C object code and trapping every single memory access in a C program and tracking byte-validity of all addresses. It was slow but immediately, astonishingly valuable. It was also proprietary and patented and cost thousands of dollars a seat. Proprietary code used it, FOSS rarely had the luxury until Valgrind.
For a while people (eg. myself, at Red Hat) were prevented from working on Valgrind because of the Purify patents. To dodge them we worked on Mudflap instead, which was "sufficiently different", at least until IBM bought Rational (which had previously bought Pure) and gave assurances they wouldn't enforce them. And of course Red Hat also wound up at IBM anyway. Everything converges.
As an additional quirk of history: Reed Hastings wrote Purify! It's what he made his initial blob of money from. You could say it's indirectly why we have both Valgrind, Asan _and_ Netflix.
web.stanford.edu/class/cs343/r…