2020-05-16

Kannatan SAAB:in Gripeniä seuraavaksi ilmavoimien koneiksi

Näissä julkisissa puolustuspoliittisissa puheissa usein unohdetaan kokonaisuus. Eli jospas minä nyt yrittäisin kertoa miksi minusta SAAB:in kokonaisrakaisu on kuin onkin se paras. Listaan alla päätöskirteerioni, kokonaisuudessaan.

Kokonaishinta käyttöiän yli, ja se mitä siitä seuraa

SAAB Gripen 39 C on tavattoman halpa suhteessa muihinkin kilpailijoihin. Tarjottu E/F-malli ei niinkään, mutta jos tilaisimme sen, sen kustannus per kone laskisi seuraavalla vuosikymmenellä aika paljon sekin.

Erityisen tärkeää on se, että että Gripen on konetyyppinä varsin modulaarinen ja juoksevissa käyttökuluissaan halvin. Diskontatessa hankintahinta koneen odotetun eliniänsä yli, Gripen voittaa melkoisella marginaalilla kilpailijansa. Se sitten tarkoittaa, että annetulla kokonaiskustannuksella, saisimme materiaaliylivoimaa, joka on erityisen tärkeää pienelle maalle, voittoodennäköisyyden varianssin ollen meille erityisen olennainen minimoitava myös.

Gripen on kevyt mutta voimakas kone

Gripen ei pysty kantamaan aivan yhtä paljon aseita kuin raskaammat kilpailijansa, mutta samalla se pystyy kantamaan riittävästi, ja kantokyky on E-sarjassa lisääntynyt merkittävästi jo. Myös ulottuvuus on lisääntynyt, polttoaineen kantavuuden lisäännyttyä 40% ja ilmaraamin ollen hiukkaisen laajempi.

Elektronisen sodankäynnin kyky

Gripeniä pidetään yleisesti ottaen maailman parhaana elektronisen sodankäynnin hävittäjänä, siksi että se on alusta asti kehitetty tuota varten, se noudattaa modulaaristsa tietoarkkitehtuuria sen tähden, ja sen arkkitehtuuri on vielä avoinkin, niin että se kehittyy koko ajan viikko viikossa, toisin kuin kilpailijansa.

On myös jonkin verran näyttöä siitä, että nykyinen EW-taistelukyky ylittää dogfightissa vihollisen vastaavan, ja että tuo modulaariarkkitehtuurivalinta johtaa myös nopeampaan future-proofnessiin.

Kääntymisnopeus

Gripenin tekninen kääntymisnopeusarvio lienee pienempi kuin F-35:n ja varsinkin Raphalen, eritoten koska sen thrust-to-weight-ratio on alle yhden. Mutta samalla se pystyy navigoimaan erittäin korkeita, täysin stallaavia angle of attackeja, by design. Se esim. kestettävissä kulmanopeuksissa lienee kovempi kuin kait edes F-22, eli on vähän epäselvää kompensoiko se energeetinen tai kineettinen etu kumpaakaan toiselle, edes suhteessa teknisesti kai t ylivertaiseen koneeseen.

Lentotapa

Gripenit on sitten optimoitu lentämään noeasti alhaalla pohjoisessa puustossa. Pitkänmatkan tutkapeiton katveessa. Ne ovat pieniä, kuten mäntymetsä, ja on jo tieto siitä että Ruotsin ilmavoimat lentävät omalla alueellaan koneitaan *juuri* noin.

Lienee ilmeistä, että niitä koneita tulisi lentää strategian ja taktiikan puolesta juuri noin Suomenkin ilmatilassa. Oikeastaaan jopa edenemmän, koska itää kohti enemmän kasvava havupuustoalue.

Stealth/häive

F-35/F-22 tietty ei ole nähtävissä hävittäjästä. Koska häive. Mutta ne ovat kyllä nähtävissä koordinoidussa ilmatutkajärjärestelmässä, tietoa yhteistettäen. Varsinkin niissä matalataajuusilmatutkaverkostoissa, joita häivekoneiden ilmaisemiseen kaikki jo ovat rakentamassa.

Silloin olennaista ei ole se pystyykö lentokone itse ilmaisemaan toisen vastaavan, vaan pystyykö se yhdessä kokonaistutkajärjestelmän kanssa yhteentoimiessa löytämään uhkan. Tulevaisuudessa jatkuvasti paremmin myös.

Gripen lienee tässä parempi kuin edes F-22/F-35, koska se suunniteltiin niin paljon elektronisemmaksi ja modulaariseksi alunperinkin. Ja sitä vielä on parannetttu jatkuvasti.

Tutkavalvonta/GlobalEye

SAAB:in ratkaisu on aika hieno siitä, että se komplementoi Suomen ikääntyvää maapohjaista tutkavalvontaratkaisua over-the-horizon-kyvyllä. Se että olisi pari (siis redundanttia) AWACS-tason, over-the-horizon-megatutkaa ja viestiliikennekeskusta muutenkin aika nettisentristen E-sarjan Gripenien koordinoimiseksi...ois järkyttävänkin hyvä strateginen lisä meitin puolustukseen.

2020-03-17

Koronaviruksen paras torjunta, saippuoilla

Koronaviruksen paras torjunta luottaa saippuoihin tai muihin surfaktantteihin. Ei käsidesiin. Saippuat tappavat viruksen, repien tehokkaasti sen rasvaista ulkokuorta. Alkoholipohjaiset käsidesit repivät tuota ulkokuorta huomattavasti tehottomammin, koska alkoholit eivät ole yhtä tehokkaita ambipolaareja. Ne ja monet muut yhdisteet voivat olla hyödyllisiä vaikkapa tappamaan viruksen genomin, eli niitä on hyödyllistä käyttää ohella jos niitä on kätevästi saatavilla, mutta ennen kuin viruksen kuori on tapettu, muulla ei ole väliä. Tavallinen saippua tekee tuon, ja tekee sen niin täydellisesti ettei viruksesta ole juuri mitään hyödyllistä jäljellä sen jälkeen.

Saippuaa ei siis suositella ensisijaiseksi ehkäisykeinoksi vain jostain kehitysmaapäättelyistä, vaan siksi että sen oma biologinen aktiivisuus eritoten koronavirusta vastaan on huippuluokkaa.

käsienpesuohjeet
  • Aloita millä vain saippuoivalla aineella. Kaikki fairyt, nestesaippuat, pyykkiaineet ja muut käyvät aivan hyvin. (Eritoten jos aineslista sanoo jotain tyyliin "sodium laureth sulfate", se on ihan riittävää saippuaa tähän.) Tehokkain ja hellin tosin käsille olisi perinteinen palasaippua.
  • Ota riittävästi saippuaa käsiin jotta se menee pieninpiinkin rakoihin vaikkapa sormien välissä ja kynsien alla. Laita se kaikkiin noihin paikkoihin, ja vaahdota sitä kun teet niin. Levitä se myös hieman ranteesta ylöspäin samalla.
  • Anna saippuavaahdon vaikuttaa 20 sekuntia ennen kuin peset sen pois. Silloin se tappaa viruksen, sen sijaan että vain pesisi sen pois.
  • Huuhdo saippua käsistä tavalliseen tapaan, lämpimällä vedellä. Varo etteivät hihat tai muut vaatteiden osat tartuta uudelleen.
  • Heristä kädet kuiviksi. Jos kertakäyttöisiä, kuivia paperipyyhkeitä on saatavilla niin, että muut eivät ole varmasti päässeet käpälöimään niitä, ja ne ovat täysin kuivia, kuivaa kädet niillä. Jos paperipyyhkeitä ei ole, älä kuivaa käsiä yhteisiin pyyhkeisiin tai vaatteisiisi, vaan anna niiden kuivua itsekseen ilmassa. Muuten on riski että virus palaa heti pesun jälkeen käsiin pinnoilta ja vaatteista.
    • Oman kodin omaan pyyhkeeseen sopii kuivata. Silloinkin olisi parempi että kullakin kodissa asuvalla olisi oma pyyhkeensä.
    • Tavallinen konepesu riittää puhdistamaan pyyhkeet koronaviruksesta, pesuaineen saippuoiden tähden. Korkeampi pesulämpötila voi auttaa prosessia, mutta sen lisähyödystä ei ole tässä erityistä näyttöä.
  • Säännöllinen vaatteidenpesu on osa hyvää saippuahygieniaa myös.
  • Jos on syytä olettaa että tavaroihin, pinnoille, sen sellaisille on voinut päätyä koronaa, puhdistus nimenomaan saippualla kuten vaikkapa tiskiaineella on tehokkainta. 20 sekunnin sääntö pätee tässäkin. Lisäksi voi olla hyödyllistä ettei saippuaa huuhdota aivan viimeiseen asti pois, koska ohut saippuakalvo esineiden pinnalla ehkäisee viruksen tartuttavuutta myöhemminkin. Näin varsinkin wc-tiloissa, esimerkiksi hanojen, ovenkahvojen ja vastaavien kanssa, joihin ihmiset vakituiseen koskevat.

2020-03-15

Terveysneuvonnasta koronaepidemian aikaan

Tuli mieleen, että pistohuumeita käyttävien terveysneuvonta/neulanvaihto, jossa olen tässä vuoden verran puuhaillut vertais-/vapaaehtoispohjalta, saattaisi luonteensa puolesta kärsiä pahastikin koronavirusepidemiaan (SARS-CoV-2/COVID-19) liittyvästä kansanterveystoiminnasta. Sen sijaan että valittelisin ja vetoaisin, ajattelin antaa ehdotuksia sosiaali- ja terveysministeriön virkamiehelle. Alla on olennainen osa postista, ja lisäilen perään sitä mukaa kuin tulee mieleen.

terveysneuvontapalveluista koronaepidemian aikana

Hei. Teen vapaaehtois-/vertaistyötä terveysneuvontapisteessä, eli siis neulanvaihdossa (Kontulan Symppis lienee maan toiseksi suurin vaihtopiste). Aloin vinkkelistäni ajatella mitä koronavirusepidemia voisi merkitä tuolle terveydenhuollon osalle, ja pelkään että se voisi olla uhattuna: huumeidenkäyttäjät ovat tässäkin riskiryhmä, koska perusterveys ja asumistilanne on usein heikko, piirit ovat pienet niin että epidemiologia on koronankin kanssa huumeidenkäyttäjää vastaan, ja sitten jatkuva ravaaminen neulanvaihtoon, siihen usein yhdistettyyn päivätoimintaan, tai vaikkapa päivittäistä korvaushoitolääkettä hakemaan, altistavat ilmeisellä tavalla tartunnalle.

Siksi tuli mieleen, että ehkäpä STM:n tulisi antaa tässäkin suhteessa ohjeistusta kentälle. Niin ettei terveysneuvontapisteitä vahingossa alettaisi suoranaisesti sulkea, vaan että niiden toiminta tilapäisesti ottaisi epidemian oloihin sopivat toimintamuodot. Listaan alle muutamia ajatuksia siitä, millaisia muutokset/ohjeet minusta kenties voisivat olla:

  • Päivä- ja muu oheistoiminta luultavasti tulisi rajoittaa kodittomiin asiakkaisiin tai katkaista kokonaan, koska hengaaminen yhdessä tietysti on epidemiologinen riski. Neulanvaihtoa taas ei saisi vaarantaa, koska kohta käsissä on muuten HepC-, HIV- ja bakteeri-infektiopiikkipiikki, joilla on näissä oloissa paitsi pitkän aikavälin isot kustannukset, viimeisellä myös terveydenhuoltoa lyhyellä aikavälillä kuormittava vaikutus, jota tässä vähiten kaivataan.
  • Normaalitilanteessa vaihdettavat ja annettavat neulamäärät ovat rajattuja, jotta porukka nimenomaan saadaan palaamaan kontaktiin. Nyt haluttaisiin juuri päinvastaista, eli että jengi pysyy mahdollisimman kaukana vaihtopisteistä. Kerralla annettavien välinemäärien tulisi siis pikemminkin kasvaa, sen sijaan että jakelu loppuisi. Sadan setit kuulostavat minusta järkevältä minimiltä.
  • Käyttövälineet tulisi pakata valmiiksi, sen sijaan että ne kerätään pyynnöstä. Tuolla tavalla kontakti asiakaspalvelijan ja käyttäjän välillä minimoituu, ja vaihtopisteessä vietetty aika lyhenee -- eli taas juuri toisin päin kuin normaalisti halutaan. Asiakaspalvelija ei silloin niin helposti muodostu epidemiologiseksi kuumaksi pisteeksi.
  • Pakkaajan tulisi erota asiakaspalvelijasta ja pakkaamisen tulisi tapahtua eri tilassa kuin värkkien haku. Pakkauksia ei tulisi ojentaa käyttäjälle vaan antaa ottaa valmis pussi itse. Tuolla tavalla minimoidaan tartuntatie pakkaajan kautta, joka kuitenkin joutuu käsittelemään kaikkien saamia välineitä.
  • Epäilemättä työntekijöiden lämpö pitäisi mitata töihintullessa, ja passittaa kuumeiset kotiin ennen kuin värkkeihin kosketaan.
  • Mahdollisuuksien mukaan vaihtotoiminta tulisi hajauttaa, jotta kontakti käyttäjien välillä neulanvaihdon kautta minimoituu. Tämä olisi muutenkin jossain määrin toivottavaa, mutta normaalioloissa päivätoiminnan, matalan kynnyksen palveluiden yms. toteuttaminen vaatii tiettyjä skaalaetuja. Tässä tilanteessa skaala taas nimenomaan puhuu hajauttamisen puolesta. Yksi malli jota Helsingissä on kaikessa hiljaisuudessa eräs taho vähän kokeillutkin on se, että tuetun asumisen asumispalveluyksiköstä tarjotaan välineitä myös ulkopuolisille. Samoin, kaltaisteni vertaisten/supervaihtajien käyttäminen hyväksi on jo totuttua toimintaa, joka on tässä tilanteessa erityisen tehokasta.
  • Asiakaspalvelijan tulisi luultavasti erityisesti suojautua, ainakin epidemian pahentuessa. Tunnittaiset käsidesit ja maskit ja kaikki se.
  • Ihon desinfiointilappuja tulisi varautua toimittamaan yli normaalin tarpeen, ja mahdollisesti tavallista isommassa formaatissa. Nehän ovat kuitenkin myös käyttäjän käsidesi. Jos päivätoimintaa jatketaan, epäilemättä jossain vaiheessa asiakkaillekin pitäisi ehkä jakaa hengityssuojaimia; muuten tuo olisi overkilliä.
  • Osassa terveysneuvontapisteistä (meilläkin) on mahdollisuus pika-CRP-arvon ottamiseen. Tuota mahdollisuutta tulisi ehkä käyttää hyväksi, koska virustartunnathan eivät yleensä CRP:tä juuri kohota, niin että tuo voi toimia pikaisena tapana seuloa käyttäjillä yleiset bakteeri-infektiot pois kuormittamasta perusterveydenhuoltoa. "Labra"tulokseen myös uskotaan toisin kuin tiedotukseen.
  • Terveysneuvontapisteissä tulisi olla saatavilla selkeää informaatiota siitä, koska mennä koronan kanssa lääkäriin ja koska ei, ja muutenkin epidemian tilanteesta. Käyttäjät tuppaavat olemaan valitettavan pihalla uutisista ja heillä ymmärrettävästi on syvä epäluulo terveydenhuoltoa yms. viranomaistahoja kohtaan. Toisaalta myös taipumus reagoida asioihin äkkiväärästi, varsinkin jos herkistymistä amfetamiinien vaikutuksille on tapahtunut (paranoiaan ei tarvita varsinaista piripsykoosia, vaan se on endeemistä käyttäjien keskuudessa). Terveysneuvontapisteisiin he kuitenkin luottavat, pitkän työn tuloksena. Siksi tiiviillä, asiallisella tiedottamisella voidaan todennäköisesti ehkäistä tässä useampikin koronakuolema, ja samalla kenties jopa vähentää perusterveydenhuollon käyttäjäpopulaatiosta lähtevää kuormitusta, herkkänä aikana.
  • Mahdollisesti käyttäjäpopulaatiossa kiertämään lähteneitä huhuja koronan itselääkinnästä tulisi myös seurata ja hillitä asiallisella tiedottamisella. Käyttäjät ovat *tavattoman* kärkkäitä puistokemistejä ja kansanparantajia, jotka esim. käyttävät vakituiseen amfetamiinia yskän- ja yleislääkkeenä. On mahdotonta ennustaa mitä koronaa vastaan piirissä ehkä keksitään, mutta huhuilta voidaan kyllä katkaista siivet. Erityisenä tarkkailunaiheena pitäisin HIV:n ja HepC:n hoitoon käytettäviin antiviraaleihin liittyviä huhuja; jos joku saisi päähänsä että ne purevat SARS-CoV-2, sitten olisi helvetti irti ja monta hoitotasapainoa vinossa.
  • Toisaalta myös positiivista itselääkintätietoa juuri käyttäjien tarpeisiin voisi harkita, sikäli kuin se ajan kanssa osoittautuu kliinisesti perustelluksi. Yhtenä esimerkkinä vaikkapa se, että nyt huhuillaan SARS-CoV-2:n puuttuvan hemirauta-aineenvaihduntaan; jos tuo osoittautuu pitäväksi, rautasupplementaatio on halpa hetkellinen lisä haittojenvähennykseen, ja saattaa olla poikkeuksellisen relevanttia tietyille käyttäjäpopulaatioille. Tai mitä muuta sitten huomataankaan ajan kanssa.
  • Normaalisti nokkaanvetoa ei pidetä suurenakaan huolenaiheena, mutta korona kyllä leviää takuuvarmasti myös insufflaatiossa, yhtä hyvin kuin pisaratartuntana. Voi olla aiheellista varoittaa erikseen siitä että yskiminen ringissä jauheeseen voi tartuttaa tavanomaisesta huolenaiheesta poikkeavaa virusta.
  • Korvaushoidossa olevien "lomapäiviä" tulisi hetkellisesti lisätä, jotta kontakti noidenkin hoitopisteiden kautta vähenisi. Tässä hajauttaminen tuskin olisi vaihtoehto, eli lääkkeen itseannostelun rooli korostuu. Riskinsähän siinä on, lääkkeiden diversion kautta, mutta tuskin järin suuri verrattuna siihen että korona lähtisi kiertämään kunnolla käyttäjäpiireissä; ne todella ovat niin pienet että tartuntapiikki voisi kymmenienkin tuhansien käyttäjien populaatiossa olla hirvittävän nopea.
Lisäpointteja postin jälkeen
  • Saippua näyttää olevan tehokkaampaa nimenomaan koronavirusta vastaan kuin mikään käsidesi. Se toimii parhaiten kun käytetään palasaippuaa, vaahdotetaan se lämpimään veteen, ja annetaan sen vaikuttaa 20 sekuntia ennen poishuuhtomista. Jengille kannattaisi muistuttaa, että saippua ei vain pese virusta pois, vaan aidosti repii sen kappaleiksi tehokkaammin kuin alkoholi. Se ei ole ykkössuositus siksi että se on halpa toiseksi paras vaihtoehto, vaan siksi että se todella on tehokkain tapa kirjaimellisesti repiä virus kappaleiksi.
  • Tuskin olisi järin kallista antaa kullekin värkkejä hakevalle yksi palasaippua mukaan vaikkapa 2-4 vk välein. "Halpaa kuin saippua" ei ole vitsi, varsinkaan jos niitä normitankoja tilataan tähän käyttöön tuhansittain, ja juuri palasaippua on äärimmäisen riittoisaa. Ehkä pitäisi myös levittää oikeita, lyhyitä ohjeita saippuan käytöstä:
    • Pese kädet aina ennen kuin lähdet kotoa ja aina kun palaat sinne. Muuten ei niin väliä koronan kannalta.
    • Mikä tahansa pesuaine käy, kunhan se vain poistaa rasvaa. Nestesaippuat, fairyt, pyykinpesuaineet ja vastaavat ovat aivan riittäviä, joskin paras ja hellin käsille on kaikista kaupoista saatavilla oleva palasaippua.
    • Pesussa kastellaan saippua ja kädet lämpimällä vedellä, ja sitten hierotaan runsas määrä saippuaa käsiin. Se yritetään saada vaahtoamaan ja menemään kaikkiin mahdollisiin sormenväleihin yms. sekä levitetään aina ranteeseen asti.
    • Kynnenaluset tulisi saada puhtaaksi. Äijillä lyhyet kynnet auttavat tätä. Naistyypilliset pidemmät kynnet voivat hyötyä kynsiharjasta. Ehkäpä niitäkin pitäisi jakaa?
    • Tärkeää! Kun saippua on varmasti kaikkialla, sen pitää antaa vaikuttaa 20 sekuntia ennen kuin se huuhdotaan pois. Tässä kohtaa saippua repii virukset palasiksi, sen sijaan että ne vain huuhdotaan vajavaisesti pois. Saippua tekee niin tehokkaammin kuin käsidesi.
    • Pesun jälkeen kädet tulisi ravistaa puhtaaksi ja antaa niiden kuivua itsekseen. Ei saisi kuivata vaatteisiin, eikä varsinkaan jaettuihin pyyhkeisiin, koska tuo tuo vain virukset takaisin käsiin. Ravintoloiden vessoista löytyviä käsikuivureita ei varsinkaan tulisi käyttää epidemian aikana mihinkään, koska ne levittävät märkiä pikkupisaroita joka paikkaan. Ne ovat monituhatwattinen jatkuva aivastus naapurin päälle.
  • Hengityssuojaimet eivät näytä olevan erityisen tehokkaita ehkäisemään käyttäjänsä saamaa tartuntaa, koska virus tarttuu silmien ja pintojen kautta myös, mutta ne ovat tavattoman tarpeellisia estäessään asiakaspalvelijaa pisaratartuttamasta muita. Sama päivätoiminnan kohdalla: jos ihmiset ovat yhdessä pidempiä aikoja, on hyödyllistä että heillä on maskit jotta huomaamatta jäänyt koronatartunta ei pääse leviämään kanssaolijoihin massana. Siksi maskeja ei tulisi jakaa terveysneuvontapisteistä, mutta työntekijöiden ja päivätoimintaan osallistuvien soisi pitävän niitä.

2020-03-04

A secure section directive

I'm reasonably sure programming language compilers need to have a "secure section" directive, in addition to whatever they now have. One which basically guarantees serial–equivalent execution at the processor level. So as to deter any timing analysis or the like.

The reason I say it has to be a compiler directive is to decouple the semantics from the implementation. On a serial executing core, such a new kind of "critical section" would simply be a no-op. On a simple pipelined processor it could be implemented via a full pileline stall. On a superscalar it could be implemented by stopping register renaming for the duration of the (newest, semantically different) fence, and calling for temporally deterministic cache access, one read/write per time unit.

Or it could be implemented by whatever those transactional memory folks think of tomorrow. Maybe it could even be implemented by the compiler fully expecting what the processor might any-and-ever-do, and working against it; like going over the Alpha, MIPS and whatnot-like processors' whole internal state graph, and proving over their combined superscalar nature that the emitted code is always equal to the compiler directive, any absent emitted code whatsoever.

The point being that this sort of thing can be formalized, and it can be optimized as well. Rather simply as well, if we only forgo optimum betterment. It could take as simple a form as a superscalar pipelined µP retiring to null everything but the original first-most linearly ordered execution path it has right now seen. So it could very well speculatively execute anything else besides, leading to very little loss in effiency, for this kind of "security fence". Especially since this calls for very little besides one bit in the speculation machinery, at least minimally speaking, and can well be combined with branch prediction machinery. And most of this can also be done within the compiler, without invoking any machine level instructions; compilers already inject null instructions for this precise occasion; and whatever instructions are needed, can in fact be made into more general purpose fences/barriers within the lower level ISA as well; there's even current research and application towards there, just now.

As one implementation idea, in how to make this efficient, why not schedule a fully serial microtask within the hypertasking model, to the other barrel-scheduled processor? I mean it can do that already for many tasks. It can do quite a number of fences, of more than one kind. And in lesser processor models, it already does these blocking thingies already.

Why not just let it be a bit more stupid, when the main thread tells it to be so? Let it just go into fully serial execution, and amortize the latency which goes with that sort of thing? Maybe let there be state for a transient, third, "stupid, linear state in execution", because that could actually be rather interesting and efficient in other execution states and fences/barriers as well?

Because those stupider combined states over all of execution histories are 1) rather easy to implement at the hardware level, combined to general pipelined superscalar execution, 2) they are easier to optimize, and 3) they are easier to interface between compiler and hardware API/ISA.Because it'd do rather useful work if it did so, and it wouldn't in any case do as much useful work as a co-worker to the main thread, which we also know it wouldn't, and then, if we optimized the second thread to be asymmetric in execution (here and otherwise), we might in fact be able to disable or omit an execution unit or two from the architecture as a whole. Save on power, let's say. While keeping up average HyperThreading performance, bringing in more asymmetric performance, implementing provable security measures, and lowering total cost in both silicon real estate and both average and minimal power. Just see SIMD and for instance how Fortran compilers' loop stacking turns into efficient fused MAC on DSP's.

I'm rather certain such a crystallised, one-sided design might be a thorough win, when applied to just one side of a processor's hardward pipeline.

2020-02-26

Faster than Nyquist Signalingin ongelma, luulisin…

Olen pitkään miettinyt, mikä tuossa Faster than Nyquist -kamassa (FTN) on niin häiritsevää, ja vähän luulen että saatoin löytää ideanpätkän vihdoin miten osoittaa ongelma. Tämä ei ole matematiikkaa edelleenkään, tai koodausteoriaa, mutta minusta hyvä intuitio se kyllä on, ja jatkoa edelliselle.

Kaistarajattujen signaalien jäykkyys

Kaistarajatut signaalit, joiden piirissä FTN-signalointikin analysoidaan, ovat matemaattisesti katsoen äärimmäisen jäykkiä rakenteita. Näin siksi, että ne ovat paitsi reaalianalyyttisia, myös kompleksisellaisia. Tuo mahdollistaa kaikenlaista kivaa, mutta myös kaikenlaista aivan kammottavan epäintuitiivista. Esimerkiksi se jäykkyys mahdollistaa compressive sensing -tulokset, hirvittävän määrän erilaisia näytteistysteoreemoja, ja muutenkin täysin järkyttäviä informaatiomittoja, tyyliin lähes mielivaltaisen "innovaation" per aikayksikkö, tietyn aaltomuodon määrittelyssä ja käsittelyssä.

Ehkä järkyttävin tulos tästä puusta on, että teoreettisesti kaistarajatun signaalin täyteen määrittelyyn missään n annetussa pisteessä ajassa ei tarvita mitään muuta kuin että signaali näytteistetään missä vain muussa n pisteessä täydellisesti, ja n:n ylittävät vapausasteet ongelmassa oletetaan pois. Näytteistysväli voi olla vaikkapa mikä vain mielivaltaisen lyhyt suljettu väli reaaliakselilla, kuten [0,1] tai vaikka sitten [0,1/googolplex], ihan sama—numeerisesti tuo on tietysti täysin mahdoton ongelma, mutta teoreettisesti noin kuitenkin, aina.

FTN ja vapausasteet ja normaali-impulssikanta

FTN-signaloinnissa me tuotetaan kaistarajattuja impulsseja nopeammin kuin Nyquist-raja konventionaalisesti sallisi dekoodattavan. Tuo teoria on sinänsä ihan hyvin toteennäytetty: se ei riko mitään informaatioteoreettisia rajoja, se on ainakin so-so-dekoodattavissa, sen energia pysyy hallinnassa, ja se vain sotkee pohjimmiltaan viereiset kommunikaatiokanavalla yhteen, niin että tarvitaan rajumpaa dekoodausta ennen kuin juokseva kokonaissymbolijono saadaan eroteltua osikseen. Se myös lähtee varsin kiintoisasta ja totisesta minimietäisyysanalyysista, jonka jälleen on täysin todistettu johtavan lähemmäs Shannonin epäkonstruktiivista kapasiteettirajaa kuin useimmat konventionaaliset Nyquist-analyysiin pohjautuvat koodit (se voidaan katsoa eräänlaiseksi koodaus–modulaatio -yhdistelmämenetelmäksi). Siitä on nykyään jopa toimivia prototyyppejä, ja sitä mietitään osaksi 5G-järjestelmiä, ilmiselvän taajuustehokkuutensa tähden. So far so good.

Mutta mä olen silti aika varma että sillä on noiden kaistarajattujen funktioiden jäykkyyden tähden aika helpostikin osoitettavissa oleva heikkous: se ei voi olla yhtä lokaali kuin ortogonaalikoodaus parhaimmillaan on. Intuitio sanoisi, että se minkä pakkaat tiuhempaan tässä ja nyt, sanelee pahimmillaan sun tarkkailuvälin ulkopuolella jotain mitä et halua tapahtuvan.

Itse analysoisin näitä myös konventionaalisen impulssikannan suhteen, koska siitä tiedetään että se on viimeistään heikossa topologiassa suora (paikallinen) isometria jatkuvan puolen kaistarajattujen funktioiden ja kriittisesti sekä tasavälisesti näytteistettyjen diskreettien funktioiden välillä; tuo isomorfismi ei jätä mitään vapausasteisiin liittyviä tulkintoja järin epämääräisiksi, varsinkaan LTI-oletuksen jälkeen.

Ikävä aiempi esimerkki, ja hahmotelma aidosta vastaesimerkistä

Vaikka tämä ei nyt ihan kuulukaan tähän, kuuluu se silti… Nimittäin, on tunnettua että tuo kaistarajattujen näytteistettyjen funktioiden palautus jatkuvaan piiriin johtaa ainakin yhteen todella iljettävään, epälokaaliin ilmiöön: siihen että näytteiden välissä voi tapahtua aivan mitä vain vaihekoherenssin tähden. Karsein (minimi)esimerkki lienee ääretön näytteistetty jono …-1,1,-1,11,-1,1,-1… Se tuottaa origossa amplitudiltaan äärettömän signaalin, siinä missä yhden ainoan -1:n lisääminen tuohon väliin taas tuottaa suoran Nyquist-taajuisen siniaallon.

Molempia signaaleja käytetään yleisesti D/A-muuntimien testauksessa idioottitesteinä, ja usein ne rikkovat sitten myös naiivit muuntimet, tavalla tai toisella. Yksi sun toinen kehittyneempikin sigma–delta-muunnin menee johonkin limit cycleen ekasta, ja joutuu toipumaan siitä ad hoc -keinoin sitten. Jotkin suodattimet jossain historiassa tuo signaali on jopa käräyttänyt suorilta.

Noh, koska ne kaistarajatut signaalit on niin jäykkiä, ja kun nyt selvästi on niin että FTN-raami injektoi lisää vapausasteita jopa perinteisen näytteistysintervallin sisälle—mitä me voitais kenties sanoa siitä miten sen määräämä signaali käyttäytyy jossain kauempana eikä vain perinteisten näytteiden välissä? Ennen kaikkea, voitaisiinko me rakentaa adversariaalinen koodisana, joka sen koodatun signaalin välttämättömän, kaistarajatun jäykkyyden kautta pakottaa sen signaalin käyttäytymään ikävästi, normaalianalyysin käsittelemän arvoalueen ulkopuolella?

Olen aika varma että noin voitaisiin tehdä, ja vielä systemaattisesti. Meinaan as per compressive sensing -kirjallisuus ja kaikki toi epätasaväliseen näytteistykseen liittyvä kirjallisuus, me voidaan lähes täysin vapaasti valita missä me samplataan asioita vaikka normaaliraamin näytteiden välissä. Eli otetaas sitten käyttöön ensin normaaliraami jossa me mitataan kaikki (koska se kaunis isometria, jolle ei sovi väittää vastaan, ja johon Shannonkin perustaa kaavansa). Otetaan blokki FTN-kamaa joka tuottaa kohtuuttomasti vapausasteita suhteessa Nyquist-rajaan. Oletetaan sen oletukset, jotka toivottavasti myös sisältää jonkin todistuksen siitä että kaikki FTN-symboliblokit häipyvät ajassa asymptoottisesti eksponentiaalisesti kuten standardiblokitkin, niin että niitä voidaan käsitellä ajallisesti lokaaleina (en usko että tuota todistusta on missään, ja aion hyökätä juuri sitä vastaan).

Sitten rakennellaan lineaarisia täyden rankin yhtälöryhmiä, jotka ovat mahdollisimman ikäviä. Jos FTN tuottaa vaikkapa tasaiset 10% lisää pulsseja ajassa kuin kriittinen Nyquist-raami, kysytään heti mikä on se kamalin juttu mitä tuosta voisi seurata seuraavalle näytteelle standardiraamissa? Voimmeko kenties optimoida asiat niin, että kun FTN-raami syöttää liikaa informaatiota ja fiksaa liian monta jäykän moduloidun funktion pistettä jo etukäteen, yhtäkkiä valitsemalla oikein syöte tuolle FTN-raamille johtaisikin siihen että koodausblokin (tai juoksevan ikkunan) ulkopuolinen arvo voitaisiinkin sitoa epämiellyttäväksi, alhaaltapäin?

Hauskin juttu tietysti olisi kasvavassa blokkikoossa FTN-signalointi, joka väkisin johtaa eksponentiaaliseen kasvuun blokin ulkopuolella, vapausaste-per-vapausaste. Mikä juuri ja juuri voisi tapahtua, jopa niin että se olisi osoitettavissa oikein valituilla signaaleilla suorasta matriisialgebrasta, per blokki.

Olen melko varma että noin tapahtuu. En osaa tehdä tätä analyysia ollenkaan oikein, mutta luulen että tuo on se kohta jossa FTN:n on pakko vihdoin näyttää "seamy undersidensä". Eikä tuo tietty tarkoita, etteikö se silti voisi olla hyödyllinen ja jopa vallankumouksellinen kommunikaatiossa. Mutta jos mun intuitio on oikeassa, ei se kyllä sitten juuri muuta ole kuin taas yksi varsin epäsystemaattinen tapa lähestyä Shannon-rajaa, eikä todellakaan niin helposti analysoitava kuin standardiraami Nyquist-pulsseineen. Ihan verrattavissa Ungerboeckin TCM-tavaraan, eli ihan siistii ja tehokasta, mutta ei kyllä mitään fundamentaalisesti maatakaatavaa ja ongelmat tyhjentävää informaatio- tai koodausteoriaa—akolyyttiensa puheensävystä riippumatta.

2020-02-22

Koodausideaani, yhden bitin kannalta

Kuten mua seuranneet tietää, olen pitkään pyöritellyt ideaa siitä, olisiko jatkuvista konvoluutioista kohinan kanssa koodausteoreettiseksi primitiiviksi. Mahdollisesti jopa tavoin, jotka takaisivat oikein käytettyinä esim. yksipuolisen dekoodauslatenssin säätämisen sekä minimoinnin. Uusimman mietteeni ajamana yritän siis vähän fundamentaalisemmalla tasolla hahamotella miksi tämä todella saattaisi kiertää niitä intuitioita jotka ovat itseänikin vaivanneet.

Perinteinen kysymyksenasettelu

Tavallisesti kun informaatioteoriassa ja käytännön demodulaatiotyössä kysytään, mikä on optimaalinen tapa ilmaista jokin signaali AWGN-kohinasta, vastaus on sovitettu suodatin/matched filter. Se on pohjimmiltaan lineaarisuodatin jonka impulssivaste on sama kuin ilmaistavan signaalin, paitsi että sen vaihevaste on käännetty. Se ei ole (yleisesti) lainkaan sama kuin käänteissuodatin/inverse filter, koska jos alkuperäisen signaalin spektri on yhtään kenossa (tai herra paratkoon menee jossain kohdin nollaan), käänteissuodatin vahvistaisi hälyä mahdollisesti voimakkaastikin, ja tekisi ilmaisulle vain hallaa. Vaihevasteen käänteisyys kuitenkin on sovitetun kuten käänteissuodattimenkin ehdoton hyöty: siinä määrin kuin ilmaistavan signaalin energia on hajonnut eri tavoin ajassa, käänteinen vaihevaste ilmaisusuodattimessa uudelleenkeskittää parhaiten energian lineaarisessa ilmaisussa, ja sitä kautta johtaa tilastollisesti vahvimpaan päätöskriteerioon. (Näin standardineliönormissa, jonka laillisuuteen AWGN-raamin on tarkoituskin johtaa.)

Näyttäisi, ettei lineaarisessa raamissa voi olla parempaa ilmaisukriteeriota kuin tuo sovitettu suodatin plus binaarinen valinta; todistushan sille on jo.

Shannon ja sen seuraamukset

Informaatioteoriassa kanavan kapasiteettilause kuitenkin pelaa ikävästi tätä vastaan. Pohjimmiltaan toisessa ääripään regiimissään, eli puhtaasti tehon hallitsemassa äärettömän kaistanleveyden kanavassa, on aivan ilmeinen teoreettinen tapa lähettää virheetön pulssi, eli bitti: tuupataan kaikki bitin siirtoon tarkoitettu energia mielivaltaisen kapeaan delta-distribuutioon. Tuo ei tietenkään sovi yhteen jatkuvan kohinaprosessin kanssa, analyysissa, sinänsä, mutta niin kauan kun Shannonin teoreeman tehoehdot täyttyvät, riittävän tehon pulssi tasoitettuna mielivaltaisen pieneen ympäristöön aina rikkoo kohinan ja on ilmaistavissa mielivaltaisella tarkkuudella. Virhetodennäköisyys ilmaisussa on ajettaissa nollaan kunhan pulssin amplitudi/teho vain on riittävä suhteessa kohinaan.

Silloin pitäisi myös kaiken järjen mukaan olla niin, että jos me lohkomme taajuuskaistan sattumanvaraisiin osiin suodattamalla tuon pulssin joukolla tiukkoja kaistanpäästösuodattimia, tulos ei muutu. Näin siksi että tuo esitys on edelleen täysin legitiimisti luotavissa, hävittämättä tai luomatta informaatiota; se on matemaattisesti ns. partition of unity, eikä se edes distribuutioraamissa kärsi mistään konvergenssiongelmista.

Lisäksi, tuollainen kaistaleikkaus suodattaa periaatteessa kaikilla taajuuksilla pois saman osan kohinasta kuin itse pulssistakin. Eli pulssin jonkinlainen epämääräinen suhteellinen ilmaistavuus kullakin kanavalla pitäisi olla täysin vakio, ja siis riippua vain siitä meneekö alkuperäisen pulssin informaatio- tai koodausteoreettinen ilmaistavuus yli kapasiteettilauseen, vai eikö mene.

Kuitenkaan tuo optimaaliseksi kehuttu sovitettu suodatin ei tule lähellekään moista. Se kohisee niin maan perkeleesti. Eli mikä tässä nyt mättää? Tässä puhutaan niin lineaarisista asioistakin vielä yhden Nyquist-pulssin (rajalla deltan) kanssa, että mitään epälineaaristakaan parannuksenvaraa ei oikein näytä olevan. What gives?!?

Jäikö jotain sittenkin pöydälle?

Uusin ajatukseni on, että itse asiassa tässä pelkistetyssä yhden pulssin tapauksessa jätettiin itse asiassa koodausraamissa pöydälle hyödyntämätöntä. Nimittäin, tuo analyysi lähtee pohjimmiltaan jostain tutkatekniikasta tai aikasarja-analyysista, jossa me emme tiedä missä se ilmaistava signaali ylipäänsä alunperin oli tai ei ollut. Tuossa raamissa on aivan oikein käyttää sovitettua suodatinta, eikä lisätietoa ole saatavissa mistään.

Kommunikaatiopuolella oletus on kuitenkin vähän eri. Siellä me yleisesti ottaen tiedämme mistä tiettyä bittiä pitäisi etsiä: se on jo-tarkoituksella-synkronisoidussa pakettiliikenteessä tismalleen niin ja niin monen nanosekunnin päässä edellisestä. Eli oikea formalisaatio yksinkertaisimmalle mallille ei olekaan, löytyykö jostain joskus joku bitti vai ei, ehkä, vaan suora päätösongelma siitä onko origokeskeinen pulssi paikalla, vai ei. Ja vielä eritoten bayesilaisessa raamissa sillä priorilla, että mitään muita pulsseja ei ylipäänsä ole lähetetty, eikä mikään vastaanotettu signaali voi olla muuta kuin toinen kahdesta täsmällisestä, AWGN-hälyä (eli siis että jopa pisteittäin, jatkuvasti, kaikki poikkeamat jommasta kummasta muodosta ovat väkisin kohinaperäisiä).

Eli näin siis modulo synkronisaatio ja se mitä tiedetään jo aiemmasta datasignaalista/dekoodauksesta, ja mahdollisesti mitä tullaan tietämään myöhemmin, jos sallitaan dekoodausviive analyysiin. Mun ajatukset myös on hakemassa minimaalista viivettä lopulta.

Tämä on yhtäkkiä aivan eri pallopeli. Aiemmin tilastopäättelyn priori oli täysin tasainen ajassa sekä AWGN-muotoa. Nyt se on tuntuvasti rakenteisempi: on vain yksi tarkka origon ympäri symmetrinen pulssi joka on lähetetty (vastaanotettava koodivektori on siis eksaktisti se, jatkuvana suureena; muoto vaihtuu kaistarajauksen mukaan muttei muuta) tai jos sitä ei ole lähetetty, on lähetetty eksaktisti nollaa ajan alusta ajan loppuun. Tuota vastaan ideaalinen vektorikvantisaatio toimii aivan toisella tasolla kuin mikään matched-filter-plus-quantizer.

Lisäksi, kaistarajatussa raamissa tiedämme, että se alkuperäinen mahdollinen delta-impulssi muuntuu (alimmassa partition osassa/basebandilla) tismalleen Nyquist-pulssiksi, joka on tasavälisesti ajassa nolla, silloin kun ei ole origossa tismalleen ykkönen; jos me suodatamme basebandille tarkasti, kaikki poikkeamat nollasta (origossa ykkösestä tai nollasta) noissa pulssin herkissä kohdissa ovat välttämättä kohinan tekosia. Näytteistysteoreema vielä kaistan sisällä takaa senkin, että informaatiota ei häviä siinä kun katsellaan asioita diskreetissä versus jatkuvassa kannassa. Eli tilastollisesti optimaalinen päättely ei enää olekaan sitä että meneekö sovitettu suodatin tietyn rajan yli jos sattuu joskus menemään, vaan että meneekö sovitettu suodatin tasan origossa tasan nollaan vai tasan ykköseen, oletettaen että kaikkialla tunnetuissa kaistarajatun pulssin nollakohdissa se kuitenkin väkisin menee nollaan.

Tuo on aivan hysteerisen paljon vahvempi priori kuin mitä olen koskaan nähnyt käytettävän tämän sortin analyysissa. Vaikka se on minusta täysin hyvin perusteltu, ja ehkä jopa ilmeinen: joko sinä lähetit bitin/pulssin tai et, jos teit sen oikein niin se näyttää ideaalisesti sinc()-funktiolta jolla on täsmällinen muoto, näytteistysteoreeman eri versiot antaa sun pomppia aika vapaasti noiden distribuutio- ja diskreettien yms. formalismien välillä sotkematta matikkaa, eikä kukaan siinä standardianalyysissa muutenkaan selitä miksei käsitteellisestä signalointihetkestä ajallisesti eroavaa nollatietoa oteta aktiiviseksi prioriksi tuossa kaistarajatussa raamissa. Vaikka kaikkihan jo tietää että kaistarajaus on väkisinkin epälokaali operaatio sinänsä. Varsin vittumainenkin sellainen vielä, kun se sinc()-pulssi häviää ajassa sub-eksponentiaalisesti, niin ettei kaistarajattua kommunikaatiota ylipäänsä voida millään mittarilla edes puoliksi pitää aikalokaalina abstraktiona.

Hilpeänä esimerkkinä tuosta muuten… Noin teknisesti, jos sulla on mitkä vain n näytettä kaistarajatusta signaalista, ja ikään kuin loput (äärettömät, huoh—) näytteet (tarkemmin vapausasteet) on nollia, mitkä vain muut annetut n näytettä siitä—täysin ajasta tai mistään riippumatta—on täydellisesti rekonstruoitavissa. En yrittäis tota hetä numeerisesti, koska ongelma on ihan jäätävän ill-posed, mutta noin teoreettisesti kaistarajatut funktiot on just noin jäätävän jäykkiä. Matemaatikon mielessä kompleksianalyyttisyydensä tähden. Eli ne siis sallii tosi perverssejä, epälokaaleja manipulaatioita. Ne vaatii esim. välttämättä epäkausaalisuutta, niin etteivät voine kuvata koskaan fysikaalista todellisuutta järin tarkasti.

Sovellukseni

Jos siis käytät sovitettuna suodattimena kaistarajattua impulssia (taajuuspuolella toi on kaistallaan identiteetti, koska se on määritelmällisesti nollavaiheinen ja ykkösmagnitudinen kaistan yli) ajassa-nolla lähetetyn impulssin päätösongelmaan, kaikesta siitä kivasta lineaarikoneistosta minusta noin intuitiivisesti pitäisi seurata, että sovelletaan sitä suodatinta muuallakin kuin vain origossa. Katsotaan mitä hälinää siitä tuli läpi, ja kun tiedetään a priori että kaikkialla muualla tietyissä tasavälisissä pisteissä se alkuperäinen signaali meni nollaan, no konditionalisoidaan koko ongelma sen mukaan myös. Ja kun tää nyt on niinkin simppeliä lineaarikoneistoa, ainakin vähennetään se energia joka meni överiksi noin alkuun: jos vastaanotit jotain mikä on muuta kuin nolla siellä impulssin reunanollakohdissa, jostain se energia tuli, eli otetaan se vaan pois ja suodatetaan lineaarisesti takaisin. Vähintäänkin toi on turvallinen operaatio, ja jos siitä voi jotenkin kehittää kontraktiivisen iteraation, no sitten vakaa piste ois jo olemassa.

Toki tuonkin jälkeen meillä olisi käsissä edelleen vektorikvantisaatio-ongelma. Mutta tällä kertaa sillä olisi selvä numeerinen ja voimakkaan lineaarialgebrallinen rakenne, joka viittaa separoituvuuteen. Ei pitäisi olla erityisen vaikeaa tasoittaa sen koordinaattikohtaisia virhekontribuutioita yli koko virhevektorin, matkalla kohti globaalia VQ-optimia. Varsinkaan kun tässä (ja omissa allpass-ajatuksissani aiemmin) on läsnä kuitenkin taatusti häipyvä aikarakenne, joka tekee kaikenlaisesta numeerisesta optimoinnista lokaalista myös. Ja miltei vähän luulen myös, että algoritmit joissa väliin lyödään harkittu konvoluutio ja sitten vasta pyöristystä ja/tai iterative shrinkingiä, voisivat ratkaista ongelman aidosti.

2019-12-02

Neulanvaihto postitse

Olen viime aikoina miettinyt, olisikohan tätä haittojenvähennyshommaa mahdollista tehdä etänä. Ikään kuin verkkokauppatyylisesti. Olen tullut siihen tulokseen, että jos Posti vain suostuisi palauttamaan sopimuksella ruiskujätteen, olisipa hyvinkin, ja sitten etähaittojenvähennys voisi olla hyvinkin kiintoisa komplementti nykyisille toimipisteille.

Miinus: Palautuksen hankaluus

Se mikä eniten kinnaa tässä bisnesideassani on käytettyjen värkkien palautus. Koska nehän ovat odotetustikin aika tartuntavaarallisia. Jollakin ehkä 70%:lla käyttäjistä on hepatiitti-C, joka tarttuu ärhäkkäästi käytetyn neulan pistosta, eli jos tuollaista neulajätettä aiotaan amatöörien pakkaamana toimittaa takaisin, Posti ei oikein välttämättä hyväksy tai ainakaan tykkää. Voisi hyväksyeensäkin veloittaa preemiota joka ei ole kestävä.

Tämä on se juttu johon mun idea kariutuu ekana, jos kariutuu. Luultavasti siihen että postin biosäännöt on liian jäykkiä, tai siihen etten löydä keinoa hoitaa homma niiden sääntöjen sisälle.

Kuitenkin luulen, että minusta tämä ei tule olemaan kiinni. Meinaan, kyllä mä käyttäjiä osaan kannustaa, ja tuottaa takuuvarmat palautuspurkit (joiden postitus etukäteen ois laskettu mukaan malliin, aivan kuten irl-terveysneuvontapisteissäkin nyt). Etsisin alusta asti YK-postiunionin hyväksymät pakkaustavat biojätteelle, ja sellaiset että käyttäjä voi helposti täyttää paluupostissaan sen vaatimukset. En laskisi palautukseksi kuin täysin oikein, ohjeen mukaan pakatut palautukset. En hyväksyisi palautukseksi kuin normimuotoisen laatikon, jossa meidän printtaama yksilöity tarra; tuo mahdollistaisi senkin että ainakin osin väärinpakatut, Postin toimihenkilöä loukanneet toimitukset, voitaisiin saattaa rikostutkintaan. (Aika herkkä tasapaino, joo, mutta kyllä mä voisin niiden oikeinpakattujen kanssa luoda *täydellisen* luottamuksen ajan kanssa, samalla kun täydellisen *epäluottamuksen* väärinpakattujen.)

Plussa: Kohdennettavuus

Yksi iso ongelma neulanvaihdossa on aina ollut se, että kun anonyymiys pitää väkisinkin säilyttää, ne meidän harvat neulanvaihtopaikat houkuttaa jengiä laajalta alalta. Silloin kuluja ei ole helppo kohdentaa, ja kun noin käy, maksajaa vaihtopaikalle ei ole aina ihan helppo löytää. Pääkaupunkiseudulla homma on enemmän tai vähemmän onnistunut, mutta muualla ei niinkään. Silloin haittojenvähennyksen ensimmäinenkään perusajatus ei alueellisesti toteudu.

Postitse toteutettu neulanvaihto korjaisi tämän ongelman, koska vaihtotavara toimitettaisiin aina tiettyyn postinumeroon. Postinumeroalueet myös ovat kuntarajoja seuraavia. Niinpä kulutkin ovat kohdennettavissa tarkemmin kuin paikalla-asioinnissa. Eivätkä pohjoisen kunnanisät pääsisi edes tässä väittämään, etteikö kunnan alueella ole käyttäjiä lainkaan: totta kai on jo kunnan alueella oleviin postinumeroihin kerta tarvitsee toimittaa näinkin hasardia kamaa.

Plussa: Kustannustehokkuus ydintoiminnoissa, eli neulanvaihdossa

Perinteisissä terveysneuvontapisteissä pyöritellään aika paljon peukaloita, odotettaessa asiakasta. Näin siksi, että palvellaan asiakaskuntaa joka tulee paikalle vähän säästä riippuen, tai sitten ei tule. Asynkronisessa postipalvelussa taas tarvitsee vain olla riittävästi työvoimaa keskimäärin purkamaan palautetut ja pakkaamaan uloslähetetyt värkit. Työvoima voitaisiin hyödyntää täysin, ilman tyhjiä aikoja, eli sitä tarvittaisiin vähemmän.

Lisäksi tällaiseen varastotyöhön ei tarvittaisi kummoista koulutusta, niin että työvoimakulut vähenisivät kummasti. Ihan mikä vain ei toki menisi, mutta pahimmillaan ainakin pakkaustyöhön voisi helposti kouluttaa jopa vajaatoimintaista työvoimaa. Jos noin tehtäisiin, tämä olisi yksi uusi mahdollinen paikka työvoiman erityissegmenteille, ja työvoimasta säästetty raha voitaisiin käyttää mahdollistamaan (kenties korkeatkin) postimaksut jotka toimintaan luontaisesti kuuluisivat.

Plussa: Anonyymiys ja sen mahdollistama tavoittavuus

Terveysneuvontapisteet ovat matalan kynnyksen pseudonyymejä paikkoja jo nytkin. Mutta niihin kuitenkin pitää tulla näyttäytymään, eivätkä kaikki halua tehdä niin. Varsinkaan alaikäiset käyttäjät eivät usein pääse paikalle, koska on yleisesti tiedettyä että meikäläisessä systeemissä lastensuojelulaki ajaa kaiken yli. Kun järjestelmä vaatii jatkuvasti että lapsesta tehdään päihteenkäytössään lasu-ilmoitus, ja että vaihtopalvelut muutenkin rajataan täysi-ikäisille, maamme suhteessa masentavankin iso suhteellinen alaikäiskäyttäjien segmentti jää palvelematta lähes täysin.

Etämyyntinä tätä ongelmaa ei tarvitsisi olla, koska mistäs me yksilön iästä tai muustakaan elämäntilanteesta sitten tiedettäisiin. Toki haluttaisiin tilastointiin ikä, mutta voitaisiin legitiimisti antaa myös se vaihtoehto että "en halua kertoa". Paikan päällä terveydenhuoltohenkilökunnalla ei ole tuota vaihtoehtoa, mutta etänä voisi olla. Sama periaate voisi auttaa anonymiteettiä muidenkin sellaisten ryhmien kanssa, jotka eivät tohdi nykyisellään vaihtaa vermeitään.

Miinus: Yleisemmän terveysneuvonta-ajatuksen rappio

Suomessa terveysneuvontaa ja sen taustalla vaikuttavaa haittojenvähennysajatusta on itse asiassa sovellettu varsin kokonaisvaltaisesti. Ei vain niin, että vaihdetaan värkkejä, vaan niin että neulanvaihtoon on yhdistetty yleisempää sosiaali- sekä terveysneuvontaa, on pidetty huolta vaikkapa asunnottomuusongelmista, ja kaikenlaista muuta. Terveysneuvontapisteet, varsinkin etelän ruuhkaseuduilla, ovat yrittäneet—ja ovat pystyneetkin osin—toimia pelkän neulanvaihdon lisäksi myös kontaktipintana päihdehuoltoon sekä sosiaalitoimeen. Paikkana jossa piikkihuumetta käyttävä ei vain vaihda vermeitään, vaan jossa hänestä saadaan koppi muuhun psyko-fyysis-sosiaaliseen hoitopolkuun.

Etätoiminnoissa tämä terveysneuvonnan puoli luultavasti ei olisi suoraan toteutettavissa. Olisi jopa odotettavissa, että etäneulanvaihto kilpailisi kokonaisempien terveysneuvontapisteiden kanssa, ja sitä kautta vähentäisi kokonaisvaltaisen terveysneuvonnan saatavuutta.

Siksi luulisin, että vähintäänkin etävaihtoon pitäisi yhdistää verkkotuki noissa muissakin perinteisissä terveysneuvonnan puolissa. Mahdollisuus jutella aihetta tuntevien kanssa netitse, ja vaikkapa mahdollisuus ohjata normiterveydenhuollon puolelle nettikeskustelusta. Tuollainenkin keskitetty apukin kun olisi sinänsä halvempaa järjestää kuin se että joku istuu paikalla tietyssä fyysisessä terveysneuvontapisteessä, ja sitä kautta olisi kustannustehokkaampaa järjestää ainakin tuo ensipuoli tarvittavasta neuvonnasta sekä hoidosta.

Viimein, kyllä niitä kunnon terveysneuvontapisteitä edelleen pitäisi olla, laajaltikin. Neulaposti tai nettineulahoitsu ei voisi koskaan korvata henkilökohtaamista. Mutta ehkäpä tässä voitaisiin tehdä työnjako, jossa pienemmät ja suoraviivaisemmat jutut hoidettaisiin postitse ja/tai netitse, ja sitten synergistisesti sitten ohjattaisiin tarpeen vaatiessa lähimmälle isommin sekä laajemmin osaavalle taholle? Ainakin minusta tuo kuulostaisi kustannusvaikuttavalta—ja jopa toimivammalta käyttäjälle jossain Pohjoisessa kuin nykyinen…

Plussa: Uusien palveluiden integraatio

Viimeisimmillä terveysneuvontapäivillä Sosiaali- ja terveysministeriön neuvotteleva virkamies Elina Kotovirta vieläpä peräänkuulutti uusia verkkoratkaisuja haittojenvähennykseen. Itse epäilen, että käyttövälineiden nettivaihto voisi olla ensimmäinen ja olennaisin sisäänheittotuote tässä.

Nimittäin, niinhän se on päiväkeskuksissakin ja kaikissa muissakin haittojenvähennyskanavissa. Ensin houkutellaan sillä että saa puhtaat värkit, ja sitten siinä sivussa tarjotaan muita palveluita sekä apua. Samoin voisi olla verkkopalvelussakin: kun tilaat värkkisi, voitaisiin hieman kysellä tarvitsetko (verkossa tai muualla) lisäapua elämäntilanteeseesi. Tuolla tavalla ne uudet mahdolliset verkkopalvelutkin olisivat integroitavissa osaksi lakisääteistä (etä)neulanvaihtoa.

Plussa: Oma taloustilanteeni

Joo, kyllä, mietin toki että saiskohan tästä tehtyä firman joka myy valmista, kokonaista, haittojenvähennysratkaisua, kunnille. Niin että omakin rahatilanteeni parantuisi.

Ei ole minusta paha ajatus, sitten. Saisin reilun palkan, tehden merkityksellistä työtä. Voisin tarjota varsin matalan kynnyksen työtä ehkä tusinalle tai kahdelle. Samalla voisin ratkaista parhaimmillaan suurimman osan siitä epäsuhdasta lain ja käytännön välillä, joka haittojenvähennyksessä nyt juuri varsinkin pohjoisissa ja pikkukunnissa vallitsee. Niinpä epäilen, että tämä olisi voittoa kaikille, ja vaikka se olisi sitä minullekin, ei kyllä mitään hyväksikäyttöä mihinkään suuntaan; jos saisin tästä bisneksen, se olisi kaikin puolin täysin eettistä yrittäjyyttä.

2019-09-28

Tyttöjuttu

Muutin yhteen tyttöni kanssa. Tämä ei ole ollut helppoa. Kaikesta ja väkivallasta on jouduttu akuutisti puhumaan. Jossain mielessä ensimmäinen kuukausi ja puolitoista on ollut suorastaan aika helvetillistä. Keuhkotaudissakin vielä, saatana…

Mutkun, ei tätä sitten ihan sattumalta tehty. Ihan tasan tein näin kaiken tietäen, ja sen toisen. Kaikkine ongelmineen ja muttineen. Eli mulle Se Toinen Tyttix nyt on Se nyt vaan, eli Ainoa.

Toi on sitten aika jännä tunne. Se kun miehenä sitoutuu, automaattisesti ja luontaisesti, ja sitä kautta myös antautuu toisen mielihaluille. Leimautuu toiseen, joka ei edes ole aivan samalla tavalla sitoutunut itseen. Ei niin varma ja luontainen kuin itse on, tai ainakaan aivan samalla tavalla. Nuorempaan, juoksevampaan naiseen/tyttixeen, joka on korkeatasoisempi, ja joka siis voi(si) juosta aivan eri tasolla kuin itse voisin. Tulenpalavasti itse kuitenkin, toisen ollen vähemmän sitoutunut.

Tuosta kuviosta seuraa aivan älyttömän paljon draamaa, koko ajan. Se ei koskaan ole sitä mitä itse halusit. Se on aina jotain muuta ja odottamatonta. Kaikessa muussa toi odottamaton ois piinaa, mutta tässä se on herkkua.

Eli samalla sä todella rakastat sitä toista. Ja vähän muutakin. Tasan alkukantaisimmalla mahdollisella tasolla vaan liketät ja haluat hypistellä toista, silloinkin kun se suoranaisesti vihaa sua. Palvot sitä ja sen pikkuvarvasta vihoissakin, jos se sallii edes sen.Ja kun se koskee edes sun pikkuvarvasta, tai varsinkin isosti selkää, oot välittömästi taivaassa—vaikkei se vielä naisena koskenu sun äijäiseen sukuelimeen lainkaan.

Se että rakkaus on ihanaa ja kamalaa samaan aikaan saattaa kuulostaa monista aika teennäiseltä, toisteltulta sekä ulkoaopitulta. Mutta mulle se ei kyllä nyt ole sitä, vaan totisinta akuuttia totta. Mä todella samaan aikaan vihaan tulisesti tyttöäni, ja todellakin palvon vaikka sen pikkurilliä, samaan aikaan. Haluaisin että se itkee kivusta ja ihanuudesta kun otan sen, ja haluaisin kirkua tuskallisesta kitkasta silmiinkatsoen, kun se raiskaa musta kohdussaan lapsemme.

Mikään tunne ei riitä, ja kaikki tunne on tarpeeksi; kunhan se on kumppanin kanssa, ja se menee hymyillen samaan kuin mäkin.. Parempi överi kuin vajari, toki, mutta se vajarikin olisi parasta ikuna. Koska se on mun oma. Koska se nyt vaan on Se. Koska se nyt vaan on parempi että se on Se, ja Mun, ja Se koski Muhun, ja geenit puhuu kivasti takaraivossa.

Minä vihdoin rakastan, ja haluan toista. Sitoudun siksi myös. Tunnen lämpimiä tunteita, ja hiukka kuumempiakin, liittyen vaikka peppuun. Tunnen himoa, joka kohdistuu yhtäkkiä enimmäkseen yhteen, eikä kaikkiin. Vaikka kaiken sortin pikkupilluja kaupungilla ja bussimatkalla näkeekin, yhtäkkiä ne ovat täysin ohimeneviä, eivätkä mikään vaihtoehto. Jopa se toka ajatus niistä on yhtäkkiä se kuinka se lantionkaari suhtautuu Oman Tyttixen vastaavaan.

Joku vois sitten luulla että oon nyt ihmeen feministi-cuck-paska-lerppakyrpä-tai-jotain. Vähemmän kuin miehinen mies, kun romantisoin asioitani näin. Voisi luulla että myönnyn jollekin 90-luvun herkän miehen ihanteelle, enkä osaa olla Äijä.

Mutkun ei. Mä oikeesti olen sadistiksi kasvanut keski-ikäinen mies jo. Mä kirjaimellisesti osaan kurittaa, kivuliaasti, naiseni, niin että ne pitää kivustaan ja alistuksestaan. Mä tasan olen iässäni lukenut seksuaali- sekä sosiaalipsykologiani, niin että osaan tarvittaessa pyörittää ketä vain niitä sovellettaen. Niin köyhä kuin olenkin, taloustiede on mulla täysin hallussa, kuten on käyttäytymistaloustiedekin; kaikki kamaa jossa voisi pyörittää toista pikkusormen ympärille, ja tyttöjä.

Mutta kun rakkaan, superhottixin, nuoren, älykkään, samanmielisen, tummahkon, ja niin edelleen, tytön, kanssa ei tee edes mieli tehdä mitään tuollaista. Sitä tekee vaan mieli pussata ja panna. Ja kun ollaan mitä ollaan, tapella sen kanssa, totta kai.

2019-03-23

A relational data format (ARDF), part 1: Introduction

For as long as I've known computers, I've been interested in data formats, representations and encoding. Once I got into them, especially via collecting different file format specifications, the question has been how to unify the lot, into one universal data (meta) format.

I'm not the first one to have such lofty goals. But after a couple of decades of delving into the field, especially given how I've gone from haphazard binary dumps to markup languages to relational databasing, the semantic web, object denotations and back, and read my share of information, coding and compression theory, the pieces finally seem to be falling into place. It's time to jot down what I've learned in a more or less systematic fashion.

The relational model, and what it lacks

I fiercely believe the relational model is the starting place for all data modelling. Codd's vision for it was and remains the only truly systematic attempt at unifying data management. It was born of punched cards to be sure, and purposely aimed at solving the most common problem of business like, tabular data. However, it has been studied well beyond its original limits, it can be tweaked to formalize far more complex representational problems, and when imbued with extra semantics as in the semantic database literature of the nineties, it is capable of subsuming most of the work that followed.

The strong points of relational literature as I see them are:

  • a regular, easily implementable, and yet rather general data model
  • a neat, standard mathematical formalism for all of data representation, querying, and schema design
  • a well developed body of theory of how to execute and optimize all of the relevant operations in practice
  • great practical support all across the board from IBM to the smallest and newest of FLOSS outfits
  • at least theoretical separation between the query interface and how the data are actually stored
  • a widely implemented and used interoperability language in SQL, some of which has been standardised and adopted as well
  • tremendous economic and historical backing

On the other hand, the current relational practice goes amiss at least in, or lacks:

  • a query language/formalism—the relational algebra—purposely lacking in power; recursion and a high level of logical schema dependence are two notable downfalls
  • typical implementations which are rather simplistic even with regard to the original relational vision of physical data model independence
  • inability to address the needs of logic databases
  • the inadequate integration of temporal aspects in the data model, especially with regard to schema evolution
  • SQL's status as a de facto interoperability standard, despite its haphazard construction and current lack of machine/human-interface distinction
  • lack of any universal binary interoperability standard between relational database management systems, especially in the current networked environment
  • the widely held belief that relational thought is only about practical tables, pointers/surrogates, and whatnot, instead of the overarching vision outlined by Codd and fleshed out in the research literature of some decades now
  • far too few specialised implementations which could show the full strength and breadth of the model

Below, I will aim as best I can at rectifying each problem in turn. Since what I have in mind is gathered from a long line of thought and this is the first attempt at making sense of it all, the exposition will necessarily be a bit fragmented at first. I'll also do what I always do, which is to move around stuff and rewrite what I've said; none of the posts which follow will be static, as a result. I'll hope you'll bear with me, and share the ideal of leaving behind As Complete a Solution as Can be Arrived At.

2019-01-07

Kinkun ja jalan optimaalinen lämmitys

Lämpöyhtälö on elliptisenä varsin dispersiivinen ajassa. Se ei kanna aaltoyhtälön kaltaisia hyperbolisia, selviä, itsejatkavia aaltoliikkeitä, edes häviöttömänä. Kuitenkin se on vaiheviiveessään, Greenin funktioiden kautta, kykenevä fokusoimaan ainakin pienen osan energiasta. Silloin kun järjestelmän alkuehdot fokusoivat tarkoituksella enemmän kuin lämpöyhtälö hajottaa. Aion intuitiivisesti näyttää seuraavassa kuinka tuo liittyy joulukinkkuun, sekä paleltuneeseen jalkaan.

Yksiulotteinen lämpöyhtälö

Lämpöyhtälötyypin osittaisdifferentiaaliyhtälöt ovat sellaisia, että ne ovat tuskallisen hitaita reagoimaan. Ne levittävät sisääntulevan pulssin järjettömän pitkälle jopa häviöttöminä, ja sitä pidemmälle mitä aikaa katsotaan. Noin vaikkapa siinä kuinka kvanttimekaniikka toimii: Schrödingerin yhtälö on laitettavissa lämpöyhtälömuotoon, ja juuri siksi siitä voidaan johtaa häviöttömästi epätarkkuusperiaate, sen sotkien optimaalisesti paikkaa ja momenttia toistensa suhteen. Tuollainen on vastenmielistä kaikenlaisen ennustustarkkuuden suuntaan.

Samalla häviötön lämpöyhtälö kuitenkin on edelleen lineaarinen järjestelmä, joka on invertoitavissa periaatteessa täysin. Niin yhdessä ulottuvuudessa, kuin kaikissa muissakin. Siihen voi teoriassa syöttää alkuehdot jotka johtavat energian rekompaktioon paikallisesti, ja se voi itsessäänkin tietyin reunaehdoin johtaa puhdasta odotusta suurempiin ailahteluihin, ihan itekseen.

Lähes-pallonmuotoinen tapaus, eli joulukinkku

Kun lähetät lämpöyhtälössä alkuehtona pallonmuotoisen kappaleen ulkopuolelta lämpöimpulssin sisäänpäin, se ei tavalliseen tapaan hajoa paikassa, vaan kasvaa ajan myötä kappaleen keskustaa kohti. Tuo on tavallista lineaarista interferenssiä, mutta tässä kohtaa kenties odottamatonta. Asiaa voi analysoida vaikkapa Sommerfeltin säteilyehdon lokalisoidun version kautta: se miten energiaa pantiin spatiaalisissa normaalimuodoissaan sisään, jää vaihesiirtymässään myös sisään, ajan kanssa, kunnes säteilee pois. Kun lämpöyhtälö vaikkapa joulukinkussa on niin hidas, aika pitkäksi aikaa se sinne jää ennen kuin säteilee takaisin pois tai joutuu pisteittäiseen tasapainoon, ja joo, kyllä se vähän se lämmönsiirto aaltoilee siellä keskustassakin ennen kuin päätyy säteilytasapainoon ympäristön kanssa. Olkootkin, että lämpöyhtälö ei mene hyperbolisesti aaltoregiimiin, vaan vain latteuttaa impulsseja; sferikaalinen alkuehto sisääntulevassa aallossa silti voi fokusoida senkin tasoituksen kautta energiaa niin paljon, että paikallinen lämpötila nousee paljon korkeammaksi kuin ulommalta pinnalta aallossa annettu.

Tämä on selitys sille kuinka joulukinkku aina menee odotettavasti ylikypsäksi. Jos mittaat sen optimaalisesti läheltä luuta, eli sisältä, ja uunin lämpötilan lähtiessä ulkoa suorana step-vasteena, jopa lämpöyhtälössä se annettu lämpöenergia fokusoituu osittain keskelle paistia/kinkkua. Se ei tasaannu heti tasapainoon, vaan piikkaa ennen kuin lämpöaallot tasaantuvat yhtälönsä mukaan kokonaislihaan. Silloin lihaan odotettavasti, yli kaikkien lihojen ja ennakkoehtojen ja aikojen, jää keskelle ylikypsynyt kinkku, joskin samalla ylemmissä lämmönjatkomoodeissa per geometria enemmän ja enemmän tasoittuneempia modaalisia paikkoja.

Ovaali kinkkutapaus

Jos sun kinkku on ovaali, häviöllinen lämpöyhtälö on muunnettavissa tietyissä rajoissa häviöllisen aaltojohtimen tapaukseen, joka on paljon paremmin analysoitu vielä, radiotekniikassa. Sekä akustiikassa, toisena hyperbolisena yhtälönä. Tuota muunnosta kutsutaan nimellä duaalimuunnos, ja se on sitä—poislukien reuna- ja suppenemisehdot äärihommissa—niin että kaikki relevantit suureet muuntuvat käänteissuureikseen. Se ei ole ihan matemaattinen isomorfia, mutta todella lähelle se tulee.

Tyttöystävän paleltunut jalka

Alunperin tämä tosin lähti käytännön ongelmasta: tyttöystävä valitteli kylmää jalkoissaan, samalla kun minä yrittelin tehdä hänelle kuumaa ruokaa uunissa. Nämä molemmat ongelmat ovat samaa lämpöyhtälön inversioon liittyvää laatua, oletuksella että paikallinen lämpötila on reunaehtoja myöden myös hetkellisessä neliönormissaan/tehotiheydessään absoluuttisesti rajattuja. Aiavan kuten se taannoisessa koodi-ideassani mainitsemani koodikin, joka jakaa energiaa aikaan, kun ei voi saman tien rajatta heittää energiaa kanavaan.

Tällaisessa kinkku-/jalka-/tyttöongelmassa tulisi ekana arviona invertoida pulssivaste häviöttömänä. Tulisi laskea taaksepäin mitä maksimipulssit ovat. Arviona ne, jotka tuottavat kovimman vasteen kinkun-/jalan sisällä, kun lämmitetään. Tuosta on sitten helpompi lähteä taaksepäin siihen, kuinka pulssin vaihevaste tulisi suunnitella, jotta se ei johtaisi ylilämpiämiseen. Niin vaikeita kuin kunnolliset osittaisdifferentiaaliyhtälöryhmien ja kenttäteorioiden Greenin funktiot ovatkin johtaa suljetussa muodossa (mahdollista kyllä ovaaleilla reunaehdoilla, juuri ja juuri vielä, muttei juuri yleisemmillä missään tokan asteen systeemeissä), ainakin laskennallisesti nuo ovat traktaabeleita. Kääntymisspheroidiksi arvioi kinkku admittoi tietääkseni jopa suljetun muodon ratkaisun vastaavassa symmetriaryhmän esityksessä, käytettäen hyväksi erinäisiä (mulle pitkälti tuntemattomia) hypergeometrisia funktioita sekä niiden johdannaisia.

Vaan mites se jalka? Noh, tässä matikka auttaa. Kas kun se ja sen kenkä voidaan myös mallintaa palloharmonisten funktioiden potentiaalipintoina, kuten myös rajapinta eri tavoin lämpöä johtavien kengän ja jalan kerrosten välillä. Toi approksimaatio on tuntuvasti leudompi kuin jos puhuttaisiin siitä nopeammasta, hyperbolisesta aaltoyhtälöstä, joka kantaa aaltoliikettä; näitä ratkaisuja ei tarvitse edes numeerisesti järin taltuttaa. Suljetun muodon ratkaisua on aivan turha odottaa, mutta kun kerran tehdään sopivat odotukset kengänpohjan ohuudesta, pohjan alla olleen jään keskimääräisestä pois-lämpökapasta, jalan lämpökapasta, jalan keskimääräisistä 2D muodoista ja niiden painavuudesta/kontaktista kengän rajapintaan, eli lämpösiirtyvyydestä…viimeistäänkin numeerisesti tosta saadaan lähesoptimaalisia tuloksia sille miten lämmittää tyttöystävän jalka optimaalisesti takaisin! Ei tartte ees olla kinkku, vaan menee läpi (epävakaalla) lämpöyhtälön osittaisinversiolla! :D