• choose theme
  • British Summer Time GMT+1
    say vectorized one more time
    British Summer Time GMT+1

    https://support.anera.org/a/lebanon-em-1-1

    British Summer Time GMT+1

    week 38 of 2024

    hello!

    there's an episode of Colombo where Colombo calls Jaws (1975) "the fish picture". last week after posting my post i went to a CeX in Woolwich and picked up a pair of headphones. walking home to get my bearings i checked the name of a bus stop and it laughed at me.

    a bus stop sign reading ha ha road

    the lucy & yak jumpsuit fits well so i'll be getting a few more of them for my trip next month. jumpsuits are a great outfit for travel because you always look pretty put together and neat even if you're not. though they're a bad outfit for travel because once you've put it on you will never be able to pee again. remind me not to wear a short sleeve on the aeroplane because there is no way i'll be able to get a hold of that in that tiny bathroom.

    zeezy is in canada. hi zeezy.

    on tuesday i ordered some chinese food. after i'd eaten half of it i started feeling really sick so i made myself throw up and then i ate the rest of it. that was a low point of the week.

    on thursday night i had a video call with a stranger on the instruction of a robot on a Slack. it was good, really interesting, lots of exciting ideas.

    getting a lot of resistance from my me trying to enforce an autumnal time shift, but we'll get there.

    i've collected together all the 68 books and papers on the https://dynamicland.org bookshelf into a single folder. this took several days. it's about a gigabyte zipped. lmk if you want it.

    im putting together a presentation about bento atm, there's a lot to say and i don't yet know how long it's meant to be. just a big page of tasks right now. anyone know any good outlining software?

    i've been falling asleeping listen to detective books this week. i'm in simile land. it's good to fall asleep to because it's not too interesting. a lot of action but without anything really happening. actions, but not action, i suppose. she picked up her glasses and placed the stem against her lip, then she reached towards her cup but she didn't touch it, and she shot me a look like a bathroom attendant being left without a tip. very nice to drift off to.

    i updated the spiral from a few days ago so that when @prefers-reduced-motion it is a slideshow showing some of the states instead of a spinny guy. sparkle also, the animated gifs only show the first frame when @prefers-reduced-motion. a lot of them aren't very motiony, but better to err on the side of stillness.

    if it loaded, theoretically the little box for drawing in up there is shared with everyone who visits the page. remind me next week to get all my chores done before i start adding little silly javascript things to my blog, because my todo list appears to be the same length now as it was when there was sunlight 8 hours ago.

    British Summer Time GMT+1

    Apple broke bento yesterday. A bug in Safari 18.0 was crashing the page instantly, with the inscrutable error message "a problem occurred repeatedly".

    It was difficult to debug, with no errors in the console, so the only option before me was to run it locally, commenting out chunks of code half by half by half until i could look it in the eyes.

    here's a reduced test case, an html file containing this:

    <script type="module">
    	let context = new AudioContext()
    	await context.audioWorklet.addModule(
    		"data:application/javascript,registerProcessor(%221%22%2C%20class%20extends%20AudioWorkletProcessor%7Bprocess()%7Breturn%20true%7D%7D)"
    	)
    	await context.audioWorklet.addModule(
    		"data:application/javascript,registerProcessor(%222%22%2C%20class%20extends%20AudioWorkletProcessor%7Bprocess()%7Breturn%20true%7D%7D)"
    	)
    	let sharedarraybuffer = new SharedArrayBuffer(906405)
    	new AudioWorkletNode(context, "1", {
    		processorOptions: {sharedarraybuffer},
    	})
    	new AudioWorkletNode(context, "2", {
    		processorOptions: {sharedarraybuffer},
    	})
    </script>

    In Safari 18.0 if you create a SharedArrayBuffer larger than 906404 bytes and then pass it to two separate audio worklets it crashes the page immediately. that's how bento works. The visuals and the sounds and the interactions are powered by a single chunk of memory that is shared between many workers (offscreen canvas worker and several audioworklets).

    because im the best who ever did it, i've pushed out a tmporary fix, by pulling all of the audio worklet code into one humongous monster that's sent only to Safari 18.0. It's unreadable, unmaintainable, but it only has to exist for a month. (a contact more daring than me confirms it's fixed in safari 18.1 likely to come out in october)

    British Summer Time GMT+1