It was a denial of service attack, not in the sense of soaking up my brain cells solving puzzles, but in causing me to devise and program my own solver. (In Java, text console only.) Once I wrote a solver, I felt as if I had solved all puzzles.
Then I got interested in devising puzzles with multiple solutions. Not too difficult. But making a few puzzles with two solutions was fun.
Then I got to looking at difficult puzzles on the web. Apparently AI escargot is the world's most difficult. (And the site http://www.aisudoku.com/index_en.html says I can't publish the board). So I'll only publish the stats of applying my solver to it.
Solution #1. Found in 0 days 00:00:00.029.
3,906 boards examined so far.
1 total solutions found.
7,832 total boards examined.
Total time 0 days 00:00:00.085.
In that case, I have important news to tell you about! OpenAI has come out with am AI web browser! What is an AI web browser good for? I don't really know, but what you _can_ do, is log into hacker news with it, point it at your hacker news comment history, tell it to look at /newcomments page for stuff you'd want to comment on, and it'll shitpost for you!
What a wonderful time saver! Now you can get back to the important work of doing the dishes and folding laundry, and don't feel the need to personally participate in the denial of service attack on human intellect going on here.
Writing a sudoku solver/generator immediately and completely cured me of my crippling Sudoku addiction. I've been playing sudoku since I was probably 13, but after writing a solver I just can't muster up any interest to finish solving a puzzle. Not in a "my program could do this for me" sense, but more along the lines of "I've solved this and every other problem, now it's boring"
Assume use of 8 bit characters. Declare a constant 256 entry array pre-filled with all False except for the five (or six) vowel characters. This is baked into the code and not initialized at runtime.
Now for each character c in the input string, simply do an array index and see if it is true (a vowel) or not. This avoids either five conditionals, or a loop over the string 'aeiou'. The vowel test is constant time regardless of the character value.
I once (2016 ish) used a serial-port library for Java. Needed to be cross platform desktop app for Linux, Windows and Mac (in that order, all on x86/64). And it was. I have forgotten the name of the library project I included, but it included DLL binaries for the platforms we were targeting.
NEW HIGH-SPEED COMMUNICATIONS BUS: Xerox Corporation recently made a public announcement of a new concept of processor-to-processor communications intended for an office environment. This novel concept is called "Ethernet", and is a result of some of the work being done in their research labs. In this concept, a single coaxial cable is used as a high-speed communications bus between all processors; communication protocol is handled through software or software supplemented by special-purpose hardware. Rumor has it that an Ethernet processor is now being developed by some form of joint arrangement between Xerox and Intel.
Oh great, one more ink cartridge for printer manufactures to sell. And, of course, the printer will refuse to work if your hydrophobic coating cartridges is empty even tough all other cartridges are fine.
Better advice is to not do something unexpected -- even if that unexpected result is clearly documented, but someone did not read it.