• 0 Posts
  • 72 Comments
Joined 1 year ago
cake
Cake day: June 19th, 2023

help-circle






  • This has made a lot of people very angry and been widely regarded as a bad move.

    Seriously though, this is the first properly good UI for a desktop computer. Mac OS (or I guess Macintosh OS at the time) was okay, but reliant on the global menu and weird drop-downs. Windows kept everything self-contained. Even multi-window programs tended to use the “multiple document interface,” i.e., windows inside windows. Tabs weren’t really a thing yet.

    It also crashed if you looked at it funny and had the antivirus capabilities of warm cheese. But there’s damn good reasons Windows 7 was the same experience, extended, rather than replaced. It’s more-or-less what I style Linux to look like. And in light of that I’m kinda pissed off any OS ever struggles to remain responsive, when this relic ran smoothly on one stick of RAM that’s smaller than my CPU’s cache.









  • mindbleach@lemmy.worldtoTechnology@lemmy.worlddsfsdfdsfsdfasd
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Anyway it’s something like data:text/html,{script} ac = new AudioContext(); wn = ac.createScriptProcessor( 4096, 1, 1 ); wn.onaudioprocess = (e) => e.outputBuffer.getChannelData(0).forEach( (v,i,a) => a[i] = Math.random() ); wn.connect( ac.destination ); {/script} except with whatever dark wizardry makes output reach a speaker.

    Also I’m not sure .forEach works on whichever array-like type was chosen for audio channels. This stupid language has so many incompatible and incomplete array implementations.

    edit: And angle brackets on script and /script, because this stupid website fucked up its Markdown. Preventing random HTML strings in comments: excellent, necessary, obvious; it is not 1999 anymore. Doing so by deleting the entire goddamn thing as if you parsed it before removing it: DEEPLY TROUBLING.


  • I’d have a Javascript one-liner producing white noise, except web audio is a Gordian knot of inscrutable identical-sounding types and contexts and maps and whateverthefuck. Documentation reads like they forgot to implement it and hoped nobody would notice.

    How do you generate noise? Well you need a sink. How do I get a sink? Well you need an event. How do you get an event? Well you need a processor. How do you get a processor? Well you need a context. How do you get a context? Well you need a node. How do you get a node? Well you need a sink. I’m going to stab you now. Understandable.