El final de les restriccions de viatge a principis d'any va crear una crisi en el sistema de passaports suec. Al març vaig intentar reservar una cita per obtenir passaports per als nens. El mes de la cita que vaig rebre va ser octubre.

Pass für alle
Al maig la crisi era tan dolenta que Pass für alle es va fer viral. Aquest era un codi que podria actualitzar automàticament la pàgina de reserva del passaport i reservar cites.
Va ajudar a algunes persones d'Estocolm que coneixia a aconseguir una cita millor, però a Skåne no em va funcionar. A Estocolm hi havia més de tot: més oficines de passaports, més cancel·lacions, més cites nous disponibles. A Skåne hi havia menys activitat, de manera que l'script necessitava córrer més temps per obtenir resultats. I aquí només hi ha una oficina de passaports per ciutat, així que la logística és més complicada.
Tenia moltes ganes de portar els nens al Regne Unit durant l'estiu si era possible perquè no ens passéssim tot el viatge a l'interior. Així que vaig començar a construir la meva pròpia versió.
Beep boop
El primer que vaig fer va ser fer sonar. El ritme més lent d'Skåne va fer que no fos pràctic seure a veure la pantalla. El so significava que el portàtil podria estar a l'altra banda de l'habitació i sabria com anava sense mirar.
Beep beep
Primer: uns sos aguts constants.
setInterval(() => {
sfx(pow2(9), "triangle", pow2(8))
}, pow2(10))
setInterval(() => {
sfx(pow2(9), "triangle", pow2(8))
}, pow2(11))
Va ser un batec fort perquè el silenci sobtat es notés si alguna cosa es trencava i deixava de córrer. És un so bastant agut i molest, però havia de competir amb el soroll de dos nens petits.
Boop boooooop
El més habitual que passava després de carregar la pàgina era que no es trobessin cites. Això també necessitava un soroll.
sfx(20, "square", 500)
.then(() => wait(10))
.then(() => sfx(40, "square", 4000))
Vaig utilitzar un to baix per a aquest. Això passava la majoria de les vegades, de manera que no necessitava molta atenció. A més, des d'una perspectiva musical, es va combinar força bé amb el to alt del batec del cor de càrrega de la pàgina,
Beep beep boop
De vegades hi havia una cita en un altre poble. Sempre que fos prou tard per arribar-hi a temps amb tren, aquesta va ser una gran notícia! Un so d'alerta agut va anunciar aquest escenari.
sfx(600, "sawtooth", 400)
.then(() => wait(10))
.then(() => sfx(400, "sawtooth", 420))
.then(() => wait(10))
.then(() => sfx(200, "sawtooth", 440))
Boop boop beep
El millor dels casos va ser una cita aquí a Malmö. Un petit xiulet triomfal va ser el so d'això.
sfx(400, "triangle", 500)
.then(() => wait(10))
.then(() => sfx(500, "triangle", 220))
.then(() => wait(10))
.then(() => sfx(600, "triangle", 240))
The finished product
Si estàs interessats, pots llegir el codi font complet. Durant uns dies ho vaig córrer durant diverses hores. Aquí tens una petita mostra de deu segons.
Final climàtic
Gairebé al mateix temps que vaig començar a funcionar, la policia va augmentar la seva capacitat. Immediatament després vaig trobar una cita a l'antiga. lol.