Has the site actually been running all this time? I notice that the generator tag says "FrontPage 12" (post-2003), and site has a TLS certificate, which in 1996 it most certainly would not have had.
The current domain registration also dates to 2003 and as someone lower in the thread notes the current owner is connected to "4president.org".
I'm having trouble accessing old snapshots, though. The Internet Archive has one as far back as April 1, 2000, but the snapshot viewer has been giving 503 errors all morning.
I got the snapshot to load and it appears that at that point it was being sat on by scammy domain parkers, complete with promises of scandalous celebrity photos and dick pills.
That said, it looks like Ansible has deprecated those modules, and that seems fair - I haven't actually heard of anyone deploying infrastructure in a public cloud with Ansible in years. It found its niche is image generation and systems management. Almost all modern tools like Terraform, Pulumi, and even CloudFormation (albeit under the hood) keep a state file.
Being familiar with the hijinks that Steve Wozniak pulled with the switched mode power supply in the Apple II (1977), I was curious about how the author solved for this piece:
> It also needed three supply voltages; +5v, +12v, and -5v. That made it tough to power it from a single-voltage power supply or battery.
According to https://www.allaboutcircuits.com/news/mc34063-the-switching-..., the solution - the MC34063 - isn't _exactly_ a design that's contemporary with the Altair or other 1970s micros, but was introduced in the early 1980s. That would put it closer in age to the Commodore 64 which, in spite of its much smaller size, still indeed does not fit in an Altoids tin.
A few months ago I spoke with the frontman of a local Boston band from the 1980s, who recently re-released a single with the help of AI. The source material was a compact cassette tape from a demo, found in a drawer. He used AI to isolate what would've been individual tracks from the recording, then cleaned them up individually, without AI's help.
Does that constitute "wholly or in substantial part"? Would the track have existed were it not for having that easy route into re-mastering?
I understand what Bandcamp's trying to do here, and I generally am in support of removing what we'd recognize as "fully AI-generated music", but there are legitimate creative uses of AI that might come to wholly or substantially encompass the output. It's difficult to draw any lines line on a creative work, by just by nature of the work being creative.
(For those interested - check out O Positive's "With You" on the WERS Live at 75 album!)
No I don't think that really qualifies because it's solving an engineering problem. I hang out on an electronic music creators' forum which is stringently anti-AI, but nobody objects to things like stem separation. People are skeptical about AI 'mastering' but don't really object for similar reasons.
What people get mad about is the use of AI to generate whole tracks. Generating rhythms, melodies, harmonies etc via AI isn't greeted warmly either, but electronic musicians generally like experimenting with things like setting up 'wrong' modulation destinations in search of interesting results. I don't think anyone seriously objects to AI-produced elements being selected and repurposed as musical raw material. But this is obviously not happening with complete track generation. It's like playing slot machines but calling yourself a business person.
That's not AI generated at all. Using acoustic models to stem out individual sections from a recording is not creating new material (and I wouldn't even describe that as "AI" despite what I'm sure a lot of the tools offering it want us to believe).
Sorry, that's AI. So is OCR, so is voice recognition, and many other things you probably use and take for granted. I'd suggest you focus on use cases not trying to redefine definitions for an entire area of science and technology based on your own preferences.
Saying "I'm against fully AI generated music" is at least precise, and doesn't throw out detecting cancer along with the AI bandwagon term.
Not AI generated. The ML model isn’t coming up with anything novel^, it’s just converting from one format to another, or extracting data - similar to automatically cropping photos to faces.
It’s still AI, but it’s not the AI system generating something
AI and voice recognition were using "machine learning" for several decades, which is basically just brute force statistics.
ML voice recognition is still far superior to AI-based voice recognition. At its best, Gemini is still less accurate at parsing speech than Dragon Naturally Speaking circa 2000.
Artificial intelligence (AI) is the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making.
I think it makes some sense to allow leeway for intelligent "signal processing" using AI (separating out individual tracks, clean-up, etc) vs generating new content with AI.
Similarly, say, for video editors, using AI to more intelligently rotoscope (especially with alpha blending in the presence of motion blur - practically impossible to do it manually), would be a great use of AI, removing the non-creative tedium of the process.
It's not clear where the line is though. I was quite impressed with Corridor Crew's (albeit NVidia+Puget-sponsored) video [1] where they photographed dolls, motion-captured human actors moving like the dolls, and transferred the skeletal animation and facial expressions to those dolls using GenAI. Some of it required nontrivial transformative code to accommodate a skeleton to a toy's body type. There's a massive amount of tedium being removed from the creative process by GenAI without sacrificing the core human creative contribution. This feels like it should be allowed -- I think we should attempt to draw clearer lines where there are clearly efficiency gains to be had to have less "creative" uses be more socially acceptable.
It may be a tedious job to spend days rotoscoping but I personally know people who get paid to do that, and as soon as AI can do it, they will have to go find other work (which they already do, on the side, because the writing is on the wall, but there's a ton of people worldwide who do this kind of work, and that's not the only process being delegated to AI).
So, I'm not pretending that certain kinds of jobs aren't going to be obsoleted. Lots of responsibilities went by the wayside as a lot of things were automated with technology and algorithms - I mean, this is not just an AI thing. But I also see it as many people not even executing certain creative visions that would be out of reach due to the mechanical (not creative) cost of doing things. That's where Jevons Paradox really shines and I do think that's where the explosion will happen. Of the (very few) people I know who do editing and have to rotoscope, rotoscoping is one of the things they really don't enjoy, but they do it anyway.
We've been using software to fix grammar for a long time, and AI does it also. The question is valid: if I get an LLM to fix a few grammar errors in my own writing, am I ripping anyone off? We can't just dismiss the question just because grammar fixing is something we did without machine-learning AI trained on vast numbers of other people's texts.
The output does depend on training works, even if you are just fixing grammar errors. But the document is obviously a derivative of your own writing and almost nothing else. A grammatic concept learned from vast numbers of worsk is probably not a copyright infringment.
Similarly, a part extraction concept learned from training sets such as pairs of mixed and unmixed music, and then applied to someone's own music to do accurate part extraction, does not seem like an infringing use. All features of the result are identifiable as coming from the original mixed audio; you cannot identify infringing passages in it added by the AI --- and if such a thing happened, it would be an unwanted artifact leading us to re-do the part extraction in some other way to avoid it.
The question doesn't feel legit to me though. The OP somehow found the one justifiable example among a sea of AI slop.
Justifiable because there were some filters. That may not even have been "AI". They may have been some deterministic algorithms that the software maker has to label "AI" because they otherwise think it won't sell...
I've done audio engineering as a hobby. Even a decade ago, verbiage like "ai noise reduction" was very common. Of course that was RNNs, not transformers. But I think they have a valid point. I googled and found this 2017 post about iZotope integrating machine learning: https://www.izotope.com/en/learn/what-the-machine-learning-i...
I don't know. I think there's a tendency to look at things as pure or impure, as all black or all white. If it was touched by AI, it's AI. If not, it's pure.
I'm not familiar with the music business, but I'm a Sunday photographer. There's an initiative to label pictures that had "generative ai" applied. I'm not a professional, so I don't really have a horse in this race. I also enjoy the creations of some dude I follow on Instagram which are clearly labelled as produced by AI.
But in between, the situation isn't as clear cut. As photographers, we used to do "spot removal", with pretty big "spots" for ages [0]. You just had to manually select the "offending" "spot", try to source some other part which looked close enough. Now you can use "object removal" which does a great job with things like grass and whatnot but is "generative ai". These are labelled AI, and they are.
I can understand someone arguing that what required a lot of skill is now more accessible. And I guess that's true? But that just sounds elitist.
So what's the issue with "AI"? Do you enjoy the result? Great! Do you hate it? Move to the next one. Does that particular "artist" produce only thins you hate? Skip them!
--
[0] my point is about "artistic" pictures, not photojournalism or similar where "what was" is of utmost importance. Note that even in those cases, selective cropping only requires your feet and nobody would label as "edited". But I specifically don't want to open that can of worms.
I think any line is necessarily going to be arbitrary, a blanket ban on any ML model being used in production would be plainly impossible -- using Ozone's EQ assistant or having a Markov chain generate your chord progressions could also count towards "in substantial part", but are equally hard to object to.
But we also live with arbitrary lines elsewhere, as with spam filters? People generally don't want ads for free Viagra, and spam filters remain the default without making "no marketing emails" a hard rule.
The problem isn't that music Transformers can't be used artfully [1] but that they allow a kind of spam which distribution services aren't really equipped to handle. In 2009, nobody would have stopped you from producing albums en masse with the generative tech of the day, Microsoft's Songsmith [2], but you would have had a hard time selling them - but hands-off distribution services like DistroKid and improved models makes music spam much more viable now than it was previously.
If the Beatles can use AI to restore a poorly recorded cassette tape of John Lennon playing the piano and singing at his dinner table, I think it's alright if other bands do it, too.
> It's difficult to draw any lines line on a creative work, by just by nature of the work being creative.
If you want to be some neutral universal third party sure. If you're OK with taking a position, the arbitrariness actually makes it much easier. You just draw the line you want.
Creativity demands limitation, and those limitations don't have to be justified.
One is trained with a set of pairs which match words with images. Vast numbers of images tagged with words.
The other is trained on a set of photographs of exactly the same scene from the same vantage point, but one in daylight and the other at night. Suppose all these images are copyrighted and used without permissions.
With the one AI, we can do word-to-image to generate an image. Clearly, that is a derived work of the training set of images; it's just interpolating among them based on the word assocations.
With the other AI, we can take a photograph which we took ourselves in daylight, and generate a night version of the same one. This is not clearly infringing on the training set, even though that output depends on it. We used the set without permission to have the machine extract and learn the concept of diurnal vs. nocturnal appearance of scenes, based on which it is kind of "reimagining" our daytime image as a night time one.
The question of whether AI is stealing material depends exactly on what the training pathway is; what it is that it is learning from the data. Is it learning to just crib, and interpolate, or to glean some general concept that is not protected by copyright: like separating mixed audio into tracks, changing day to night, or whatever.
> With the one AI, we can do word-to-image to generate an image. Clearly, that is a derived work of the training set of images
> The question of whether AI is stealing material depends exactly on what the training pathway is; what it is that it is learning from the data.
No it isn't. The question of whether AI is stealing material has little to do with the training pathway, but everything to do with scale.
To give a very simple example: is your model a trillion parameter model, but you're training it on 1000 images? It's going to memorize.
Is your model a 3 billion parameter model, but you're training it on trillions of images? It's going to generalize because it simply doesn't physically have the capacity to memorize its training data, and assuming you've deduplicated your training dataset it's not going to memorize any single image.
It literally makes no difference whether you'll use the "trained on the same scene but one in daylight and one at night" or "generate the image based on a description" training objective here. Depending on how you pick your hyperparameters you can trivially make either one memorize the training data (i.e. in your words "make it clearly a derived work of the training set of images").
The example you present seems fairly straightforward to my intuition, but I think your point is fair.
A harder set of hypotheticals might arise if music production goes the direction that software engineering is heading: “agentic work”, whereby a person is very much involved in the creation of a work, but more by directing an AI agent than by orchestrating a set of non-AI tools.
Ya, "AI" is too broad a term. This was already possible without "AI" as we know it today, but of course it was still the same idea back then. I get what you're saying, though: would he have bothered if he'd have to have found the right filters/plugins on his own? idunno.
thats sounds more like unsupervised learning via one of the bread and butter clustering algorithms. I guess that is technically AI but its a far cry from the transformers tech thats actually got everyone's underwear in knots.
Where does it stop. My dad is a decent guitarist but a poor singer (sadly, I'm even worse). He has written some songs, his own words, some guitar licks or chords as input material and AI turning it into a surprisingly believable finished piece. To me it's basically AI slop but he's putting in a modest amount of effort for the output.
That's not "generating" the music with AI - that's isolating the tracks of existing music. Probably not generative AI at all, and depending on who you ask, not even AI.
This is why it is to these generative AI companies' benefit that 'AI' becomes a catchall term for everything, from what enemies are programmed to do in video games to a spambot that creates and uploads slop facebook videos on the hour.
One of the neater aspects of HP-UX is that, given the breadth of pre-2000s HP, HP-UX ran on a number of different devices. You can almost (_almost_ - it's a stretch) think of it as a precursor to how Linux proliferated on routers and smartphones.
While you'd _expect_ to find HP-UX racked in a datacenter, you can also find it on workstations, where its proprietary VUE desktop environment eventually morphed into CDE (which, ironically, I've only ever used on Solaris).
It powered at least one early, pre-laptop-form-factor portable PC, the HP Integral. And you can also find it running on oscilloscopes, logic analyzers, and other test equipment from the 80s and 90s.
Doing connected work from the subway has gotten much, much easier in the last few years. I attribute that to three things:
1. Cell service has become low-latency. This is very different from "fast", which it has also become! When I started working from the train (on HSPA+), pings in the hundreds of milliseconds were the norm. My first step was usually to SSH to a remote machine, and let just the text lag on me. Nowadays, I can run a Web browser locally without issue.
2. Cell service has, at the same time, become ubiquitous in subway tunnels. When I started, there were some areas that dropped down to EDGE (unusable), and some areas that had no service at all. Now, there is exactly one place on the Boston transit system - Back Bay Station - where I lose cell service.
3. Noise cancelling tech has gotten better. It's not just about noise cancelling headphones: both of my laptops (a 2024 MBP and a ThinkPad P14s) have microphones that can filter out screeching wheels and noisy teenagers quite well. That means I can take meetings without making them miserable for the people on the other end.
These, honestly, are a huge game-changer for me. The ability to take a 30 minute meeting while commuting, where otherwise I would've had to get in early or stay late at work, actually does wonders for my ability to have a life outside of work.
> 2. Cell service has, at the same time, become ubiquitous in subway tunnels.
Not in New York, unfortunately. All of the stations have cell service, and one tunnel (14th Street L train tunnel under the East River), but everywhere else has no service between stations. It’s an annoying limitation that most cities seem to have fixed by now.
Sadly, you don't even need to engage directly with these companies to be affected. Case in point: e-mail.
I host my own e-mail. Valid SPF, not on any spam blacklists, good reputation score on my static IP.
At the beginning of November, I lost the ability to send e-mail to Gmail - it was all rejected as, quote, "possibly spammy". Double checked SPF and DMARC... Double checked documentation... Spent time setting up DKIM on my mail server, even though I sent nowhere near enough mail to merit it. Nothing got through for two weeks.
Google Postmaster Tools were totally unhelpful, telling me _that_ I was being blocked, but not _why_ I was being blocked. There is a community support forum where I posted - it hasn't seen a response since I posted in November. There was also a support portal where I could, in theory, contact a human. I sent something in there, and am still awaiting a reply.
Now remember, Gmail isn't just for @gmail.com addresses. Gmail hosts my accountant's domain. Gmail hosts the domain for a club that I'm part of. Gmail hosts friends who also have their own domains. Gmail hosts... well, probably a solid half of the Internet's e-mail.
My only way out of this nightmare was to reach out to a contact at Google, who - having an @google.com e-mail - was also unable to receive e-mail from me, and made the case to the right folks internally that I couldn't send important messages to him. A few days later, I could magically send e-mail to Google again.
Do I have any idea what I did? No. Do I have any idea what they resolved? Also no. Can I prevent it in the future? Who knows!
I'm increasingly of the opinion that the modern practice of not telling people why they've been blocked -- or even that they've been blocked -- was devised by sadists to satisfy their proclivity.
The core of the flaw is that actual fraudsters and spammers are repeat players and ordinary people aren't. The bad guys expect to be blocked, so they test for it. They check if their messages are getting through and then notice immediately when they stop. Whereas real people expect their messages to go through, because why wouldn't they when they've done nothing wrong? And then become isolated and depressed because it seems like everyone they know is suddenly ignoring them.
The bad guys create thousands of accounts and play multi-armed bandit, so when some of them get blocked they can identify why by comparing them to the ones that didn't, or create new ones and try new things until something works, and thereby learn what not to do. Whereas real people have no idea what sort of thing is going to arouse the Dalek either before or after their primary account is exterminated.
So it's a practice that creates a large increase in the false positive rate (normal people have no way to know how to avoid it) in exchange for a small decrease in the false negative rate (bad guys figure it out quickly). In a context where false positives cost a zillion times more than false negatives because the bad guys treat accounts as a fungible commodity they acquire in bulk whereas innocent people often have their whole lives tied to one account.
And all of that is only disguising the real problem, which is that people get blocked having done nothing wrong. If you were expected to point them to the spam they sent or the fraud they attempted then you wouldn't be able to do it when they'd done no such thing, and then "we can't tell anyone because it would help the bad guys" is used to paper over the fact that you couldn't tell them regardless. When the decision was made by an opaque AI and then reviewed by no one, there isn't actually a reason, there's just a machine that turns you off.
Towards the end of using self-hosted email at $dayjob, a couple of years ago now, Google started bouncing [some of] our email.
In the header for the bounce messages was included a description of the problem (as they perceived it), and a link for background reading.
I never followed up on it personally (that wasn't my job anymore because reasons), but the bounces seemed descriptive-enough for someone who was paid to care about it to make it work.
I also host my own email. In my case, Google always routes the first email I send to a new Gmail address as spam. After the recipient marks the email as good, future emails are received as expected. The only way around this is to advise the recipient via Gmail that I've set an email to them via a different route, so that they can check their spam and mark the email as good. This has been going on for at least two years.
Basically, Google are shadow-banning me till they get caught. I think this should be illegal.
> All if, else if constructs will contain either a final else clause or a comment indicating why a final else clause is not necessary.
I actually do this as well, but in addition I log out a message like, "value was neither found nor not found. This should never happen."
This is incredibly useful for debugging. When code is running at scale, nonzero probability events happen all the time, and being able to immediately understand what happened - even if I don't understand why - has been very valuable to me.
I like rust matching for this reason: You need to cover all branches.
In fact, not using a default (the else clause equivalent) is ideal if you can explicitly cover all cases, because then if the possibilities expand (say a new value in an enum) you’ll be annoyed by the compiler to cover the new case, which might otherwise slip by.
Rust is a bit smarter than that, in that it covers exhaustiveness of possible states, for more than just enums:
fn g(x: u8) {
match x {
0..=10 => {},
20..=200 => {},
}
}
That for example would complain about the ranges 11 to 19 and 201 to 255 not being covered.
You could try to map ranges to enum values, but then nobody would guarantee that you covered the whole range while mapping to enums so you’d be moving the problem to a different location.
Rust approach is not flawless, larger data types like i32 or floats can’t check full coverage (I suppose for performance reasons) but still quite useful.
In principle C compilers can do this too https://godbolt.org/z/Ev4berx8d
although you need to trick them to do this for you. This could certainly be improved.
The compiler also tells you that even if you cover all enum members, you still need a `default` to cover everything, because C enums allow non-member values.
Same. I go one step further and create a macro _STOP which is defined as w/e your language's DebugBreak() is. And if it's really important, _CRASH (this coerces me to fix the issue immediately)
That is not the same thing at all. Unreachable means that entire branch cannot be taken and the compiler is free to inject optimizations assuming that’s the case. It doesn’t need to crash if the violation isn’t met - indeed it probably won’t. It’s the equivalent of having something like
x->foo();
if (x == null) {
Return error…;
}
This literally caused a security vulnerability in the Linux kernel because it’s UB to dereference null (even in the kernel where engineers assumed it had well defined semantics) and it elided the null pointer check which then created a vulnerability.
I would say that using unreachable() in mission critical software is super dangerous, moreso than an allocation failing. You want to remove all potential for UB (ie safe rust with no or minimal unsafe, not sprinkling in UB as a form of documentation).
You're right, the thing I linked to do does exactly that. I should have read it more closely.
The projects that I've worked on, unconditionally define it as a thing that crashes (e.g. `std::abort` with a message). They don't actually use that C/C++ thing (because C23 is too new), and apparently it would be wrong to do so.
For many types of projects and approaches, avoiding UB is necessary but not at all sufficient. It's perfectly possible to have critical bugs that can cause loss of health or life or loss of millions of dollars, without any undefined behavior being involved.
Funnily enough, Rust's pattern matching, an innovation among systems languages without GCs (a small space inhabited by languages like C, C++ and Ada), may matter more regarding correctness and reliability than its famous borrow checker.
Possibly, I am not sure, though Delphi, a successor language, doesn't seem to advertise itself as having pattern matching.
Maybe it is too primitive to be considered proper pattern matching, as pattern matching is known these days. Pattern matching has actually evolved quite a bit over the decades.
I likewise have a circa 1997 LaserJet that I refuse to give up. Both the printer and scanner still function flawlessly, every time I need them to - something that few printers today seem capable of.
I switched to 64-bit Windows in 2006. The printer supports PCL drivers, but there are no 64-bit drivers for the scanner. Luckily, I was able to keep it going by running 32-bit Windows in a VM, and passing the parallel port through.
I switched to a laptop without a parallel port in 2019 (thank you, Lenovo, for keeping the parallel port on docks as long as you did). At that point, I bought a JetDirect that supports both printing and scanning over the network. CUPS and SANE both support it out of the box.
Those 90s LaserJets were genuinely incredible, and aside from (understandably) dog-slow PostScript processing, I think they were a pinnacle of office printer engineering.
We had one keep on trucking for... geez, as far as I'm aware it's still out there.