Just a little light treason

You've probably heard about the recent espionage caper, but if you haven't read the actual court document, you should! It's a page-turner!

Criminal Complaint: Conspiracy to Communicate Restricted Data:

On June 18, 2021, the UC posing as a representative of COIJNTRY1 emailed "ALICE" to provide detailed instructions on servicing a dead drop location in Jefferson County, West Virginia to occur on June 26, 2021. [...]

34. On June 26, 2021, at approximately 10:41 a.m., the FBI observed JONATHAN TOEBBE physically service a dead drop location in Jefferson County, West Virginia. Records show that JONATHAN TOEBBE is a government employee working as a nuclear engineer for the United States Navy and holds an active Top Secret Security Clearance through the United States Department of Defense and an active Q clearance from the United States Department of Energy.

People keep busting on them for having terrible opsec, but I dunno, I think they did ok. And I watched all six seasons of The Americans, so I'm kind of an expert on this.

But when the party that you are trying to engage in international espionage flips on you to the FBI at your very first contact, it's pretty much over.

The other surprising thing about this is, they did this for only $100k? I know that criminals aren't always the best decision-makers, but when you do the risk/reward analysis of something like this, come on! "On the one hand they might execute us... on the other hand, we could make as much money as six months' salary!" (Dude was a nuclear engineer, that job doesn't pay minimum wage.)

Previously, previously, previously, previously.

Tags: , ,

Today in After Dark news

Flying Toasters in CSS.

Source. Others.

Previously, previously, previously, previously.

Tags: , , , , ,

Apple's war on their users continues apace

So in Apple's continuing effort to prevent me from accessing my own computer, Full Disk Access is up to some new arcane fuckery. I found that even though Emacs is on the list, I still wasn't able to open files that were on my Desktop and other places without first going to Terminal and doing this:

    open -a Emacs ~/Desktop
    open -a Emacs ~/Library
    open -a Emacs ~/Downloads
    open -a Emacs /Volumes/Time\ Machine/

and so on. After doing that once, I could access them again in the future. I have no idea where this is recorded, or what other directories I will find on the exclusion list in the future.

The latest one that I cannot figure out is that "crontab -" works from Terminal, but from inside an Emacs shell buffer it says,

    crontab: tmp/tmp.16124: Operation not permitted

Why can Terminal do things that Emacs can't and how do I fix that?

I tried doing that "open" trick with /tmp, /var/tmp, /private/tmp, /private/var/tmp, /private/var/at/tmp, ~/tmp... it's not one of those. You might think, "run crontab under dtruss to figure out what directory you need to authorize! You sweet summer child, dtruss hasn't been functional on macOS for roughly a thousand years.


Update: The fix is to give /usr/bin/ruby full disk access! You get full disk access, and you, and you, and you! Turns out that the Emacs startup sequence begins with a Ruby script that decides what executable to launch, so the topmost process is the one that counts.

Previously, previously.

Tags: , , , , ,

XScreenSaver 6.02 out now


XScreenSaver 6.02 is out now, including iOS and Android.

Two new hacks this time, Marbling and Binary Horizon, plus a few minor updates.

Several of the old hacks have been re-enabled on Android, because it turns out that while they didn't work in the emulator, they do work on real Android hardware (of which I have none).

This release was built on macOS 11.6 instead of 10.14, so I think that means that it has native Apple M1 code in it -- though I doubt you'll notice any performance difference over the Rosetta2 emulation.

Also Apple completely changed how code signing works again, because hey, six more months have passed, it's clearly time for a redesign of the most incomprehensible part of their entire ecosystem, right? Is it better? No. No it is not, it's just differently awful. Again. Anyway, let me know if there are signing issues.

I also had to update Sparkle (the "Check for Updates" library), so hopefully auto-updates still work. Let me know.

About Marbling, the new one written by me. It started out fairly simple, but then it took the optimization train to crazytown. Here's the comment from the top of the source:

This generates a random field with Perlin Noise (Perlin's page, SIGGRAPH 2002 paper, Wikipedia entry), then permutes it with Fractal Brownian Motion (Wikipedia page, Book of Shaders, Shader Toy) to create images that somewhat resemble clouds, or the striations in marble, depending on the parameters selected and the colors chosen.

These algorithms lend themselves well to SIMD supercomputers, which is to say GPUs. Ideally, this program would be written in Shader Language, but XScreenSaver still targets OpenGL systems that don't support GLSL, so we are doing the crazy thing here of trying to run this highly parallelizable algorithm on the CPU instead of the GPU. This sort-of works out because modern CPUs have a fair amount of parallel-computation features on their side of the fence as well. (Generally speaking, your CPU is a Cray and your GPU is a Connection Machine, except that your phone does not typically require liquid nitrogen cooling and a dedicated power plant).


Update: Oh yeah, I forgot to mention. A while back someone requested an Apple TV version of XScreenSaver, so I took a crack at it. There's a tvOS target in the Xcode project, but when you launch it, it never instantiates SaverRunner. I imagine there's some xib or storyboard problem, but I couldn't figure it out so I gave up. If someone can get me past that, I'll take another look. BTW, it turns out that one of the hurdles of porting iOS to tvOS is that tvOS doesn't have newfangled UI elements like checkboxes and sliders.

Tags: , , , , , ,

  • Previously