(Nettipäiväkirja) !!! Maaliskuu 2016 (...)
Taas kerran tuli vastaan mainio esimerkki siitä, mitä seuraa, kun ihmiset käyttävät systeemeitä, joissa on heikkouksia (valta- tai tietoturvamielessä) mutta jotka "toimivat". (...)
Roope Ankka ei voisi milloinkaan todellisuudessa olla merkittävä liikejohtaja. (...)
[stx2any]n sivulle oli tullut hauska [lisäys ulkopuolelta], automatisoitu spämmi tosin, mutta niin mielenkiintoinen, että ajattelin laittaa sen muistiin. Pitää ehkä laittaa maksimipituus tuolle captcha-kentälle, ettei tule lisää [wikispämmäys]tä. (...)
(nettipäiväkirja 09.02.2016) Olen nähnyt viime aikoina useiden koodereiden kirjoittavan, että heidän mielestään hyvä koodi on eleganttia ja että he haluavat kirjoittaa eleganttia koodia. Olen jotenkin onnellinen, että tämä näkökulma on pinnalla, mutta täytyy silti sanoa, että ''elegantti'' on aika huonosti määritelty sana eikä oikeastaan ohjaa koodin kirjoittamista yhtään mihinkään. Elegantti tarkoittaa "näppärää, tyylikästä, hienoa". Miksi kukaan haluaisi kirjoittaa epäeleganttia koodia? Lähinnä sanan arvo on siinä, että se korostaa, että koodin ei pidä olla ''vain'' toimivaa vaan myös kaunista. Mutta eikö kauneus ole katsojan silmässä? (...)
(Nettipäiväkirja) !!! Maaliskuu 2016 (...)
(nettipäiväkirja 09.02.2016) Heh, Java on loputon ylisuunniteltujen systeemien suo. (...)
(nettipäiväkirja 11.01.2016) Tuli mieleeni, että nyt kun [Docker] on olemassa, iso osa projekteista, joihin kuka tahansa voi osallistua asentamalla ohjelmiston, kannattanee paketoida Docker-imageiksi. [Tor]-verkolle tämä on jo tehty pari kertaa (https://hub.docker.com/r/hsaito/torbox/ ja https://hub.docker.com/r/vpetersson/torrelay/). (...)
(Nettipäiväkirja) !!! Maaliskuu 2016 (...)
Voisin ihan huvin vuoksi kirjoittaa, mikä on vialla kodinturvajoukoissa yleensä ja Soldiers of Odinissa erityisesti. Tämä on varmaan aika monille itsestään selvää, mutta ei kai se haittaa sanoa itsestäänselvyyksiä joskus ääneen. (...)
(nettipäiväkirja 28.01.2016) Luin tässä taas yhtä kirjoitusta (http://www.enterpriseintegrationpatterns.com/patterns/messaging/IntegrationStylesIntro.html), jossa rajapintaviestintää pidetään jotenkin "hienompana" (tällä kertaa ''more sophisticated'') kuin jaettua tietokantaa. Molemmat ovat vastauksia ongelmaan: miten useampi ohjelma pystyy käyttämään samoja tietoja, niin ettei samoja tietoja tarvitse pitää yllä kahdessa paikassa. Mutta tiedon konsistenssista on huomattavasti helpompaa huolehtia yhdessä paikassa kuin useammassa, ja rajapinnoitse keskenään keskustelevien ohjelmien jatkokehitys ja testaaminen on usein sokkeloista, kun testiympäristöissä tarvitaan eri tavoin toisiinsa liitettyjä versioita näistä hajautetuista ohjelmaympäristöistä. (...)
Kävin tänään meidän duunin Oulun-toimistolla. Siellä oli Aki Helinin esitys [jatke]ista, tuosta tiettyjen [Lisp]-ympäristöjen esoteerisesta ja hyvin hyödyllisestä ominaisuudesta. Tajusin, että yksi kieli, jonka olin havainnut toisaalla mielenkiintoiseksi, on tuon saman häiskän käsialaa (https://github.com/aoh/owl-lisp). (...)
Onpa mielenkiintoinen [Bitcoin]-kirjoitus, vaihteeksi teknisestä näkökulmasta (kiitos [Elakim] kun kerroit!): https://medium.com/@octskyward/the-resolution-of-the-bitcoin-experiment-dabb30201f7 (...)
(nettipäiväkirja 11.01.2016) Äärimmäisen mielenkiintoista! Vaikuttaa siltä, että OT:n (https://en.wikipedia.org/wiki/Operational_transformation) ja CRDT:n (https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type) suhdetta ei täysin ymmärretä. Jossain yleisemmässä mielessä nämä vastaavat [versionhallinta]tapojen kahta päähaaraa: sitä, jossa yhdistely ([merge, revision control]) tehdään kommutoimalla muutoksia, ja sitä, jossa tietorakenteiden oikea tila päätellään vanhojen tilojen DAG:sta. (...)
(nettipäiväkirja 11.01.2016) Ajattelin yön aikana, että voisi tehdä Catanin alkupeliä varten apuohjelman. Catanissa nimittäin ihan alussa tehtävä kylien sijoittelu on tärkeämpää pelin kulun kannalta kuin mikään muu vaihe. Se on periaatteessa suoraviivaista resurssien kahmimista itselle, paitsi että omat valinnat vaikuttavat siihen, mitkä valinnat ovat muille kannattavimmat, mikä taas vaikuttaa takaisin siihen, oliko oma valinta hyvä. (...)
Taas tämmöinen söpö artikkeli, jossa yritetään urheasti muodostaa yhtenäisyyttä siihen kiehuvaan mereen, joksi www-sovellusten kehitystyö on vuosien mennessä kasvanut. Jos vain voisin jotenkin tägätä erilaiset "best practices" -artikkelit osittaisjärjestykseen, käyttäen relaationa "artikkelin A kirjoittaja selvästi tietää asiasta enemmän kuin artikkelin B". Mutta hyvä, hyvä että kaikki yrittävät! Ehkä minäkin opin. (...)
(nettipäiväkirja 08.01.2016) Tulin puhuneeksi lounaalla -- pitkästä aikaa! -- siitä, millainen maailmankuva on hyvä, millaiset uskonnot ovat hyödyllisiä tai haitallisia ja millaisena kokee minkäkin ideologisen tai filosofisen ryhmän jäsenet. Tuli melkein sellainen olo, että vau, nuoruus tulee takaisin. Mutta asiaan. (...)
(nettipäiväkirja 04.12.2015) Melkein firmassa kuin firmassa on yksi asia, joka ainakin on levällään. En tiedä, onko se oikeasti vakavaa tai merkittävää, mutta ainakin se pistää silmään. Se on se, että firman käytössä on kymmeniä pikku palveluita, useimmiten tietoteknisiä mutta myös konkreettisempia, joissa ylläpidetään joitain työntekijöihin tai firman toimintaan liittyvää tietoa. MItä useampia näitä järjestelmiä on, sitä useampaan kertaan niissä on samat tiedot (ehkä hiukan eri muodossa), sitä vaikeampaa niitä on pitää yllä ja ajantasaisina, ja sitä vaikeampaa on tietää, mistä tietoa pitäisi etsiä. (...)
(Nettipäiväkirja) !!! Maaliskuu 2016 (...)
(nettipäiväkirja 20.12.2015) Olen aikaisemminkin maininnut siitä, että perinteisten englantilaisten lastenlaulujen suosio muistuttaa ''cargo-kulttia'': ikään kuin kehittyvien maiden vanhemmat ajattelisivat, että länsimaisten lastenlaulujen myötä lapset maagisesti oppivat kaiken muunkin länsimaisen sivistyksen, jonka myötä sitten tulee tietysti menestys ja kaikki muu hyvä. En tiedä, kuinka tämä pitää paikkansa Afrikan tai Etelä-Amerikan maissa, mutta ainakin kuhisevassa Kaakkois-Aasiassa olen nyt nähnyt tai kuullut noiden lastenlaulujen suosion niin moneen kertaan, etten voi epäillä sitä. (...)
Wooh, löysinpäs vihdoinkin artikkelin, jossa selitetään, miten mielivaltaisessa tiedostossa olevaa Clojure-koodia ajetaan! Se ei ole sinänsä hirveän hyödyllistä (Leiningen tekee hommasta paljon helpompaa), mutta erittäin hyvä sen kannalta, että ymmärtää, miten Clojure "toimii": (...)
Jee, sain tehdyksi työblogiin ensimmäisen kirjoitukseni: http://dev.solita.fi/2015/12/29/SQL-in-applications.html Huomasin samalla, että siellä on paljon muitakin mielenkiintoisia blogauksia, kuten esimerkiksi tämä: http://dev.solita.fi/2015/09/03/why-little-bugs-can-be-a-big-deal.html (...)
Kun Lambda järjesti säännöllisiä tapaamisia (https://wiki.helsinki.fi/pages/viewpage.action?pageId=123603803), syntyi tuommoinen kätevä lista aiheita, joita voisi käsitellä useammissakin konteksteissa. Koska minulla ei ole enää oikeuksia muokata tuota sivua eikä säännöllisiä tapaamisia enää järjestetä, taidan tehdä siitä oman kopion, vaikkapa [hyviä aiheita teoreettisen tietojenkäsittelytieteen alalta]. (...)
Kirjoitimme jatkorunon rakkaan vaimoni kanssa. Jatkoruno on siis runo, jota useampi ihminen kirjoittaa vuorotellen säe-pari kerrallaan. Teimme siten, että ensin yksi kirjoitti yhden säkeen ja sitten aina tehtiin kaksi säettä kerrallaan vuorotellen. Tällainen siitä tuli: (...)
Katselin Itiksessä nuorisoryhmiä ja keski-ikäisiä kiireessään, ja ajattelin kirjoittaa siitä, [mikä on kaikille ihmisille yhteistä]. Ja nyt on joulu ja juhlistan sitä [runo]lla, jonka nimi on [tilaisuus]. Lisäksi voitte kokeilla sähköistä joululahjaani: (...)
(nettipäiväkirja 21.12.2015) Voisin mainita, että Clojure on ollut mielenkiintoinen tutustuttava, mutta kielen kokeellisuus näkyy sekä hyvässä että pahassa. Kun jossain [Python]issa syntaksi vakiinnutetaan PEP:llä, jos sille koetaan riittävästi tarvetta, Clojuressa joku ryntää heti ensimmäiseksi kehittelemään oman DSL:n Clojuren sisään ja mahdollisesti toteuttaa makron tai pari, jotka tekevät DSL:n käytöstä "siistin näköistä". (...)
Hmm, pitäisi varmaan joskus seurata, miten [pitkän aikavälin tavoitteet] toteutuvat. (...)
Sainpas selville asian, jota pidin todennäköisenä mutta jota ei ole Compojuren dokumenteissa selitetty kovin selvästi: defroutes/routes/routing -makrojen ''tuloksen'' lisäksi myös niiden ''syötteet'' ovat Ring-handlereita. Ainoa ero tavalliseen Ring-handleriin on se, että argumenttifunktioiden ei tarvitse palauttaa response-mappia, vaan ne voivat palauttaa myös nil-arvon, mikä tarkoittaa, ettei handler halua käsitellä pyyntöä vaan se pitää antaa seuraavalle. (...)
(nettipäiväkirja 18.12.2015) Huoh. Voisikohan joku selittää minulle, mikä edn:n (https://github.com/edn-format/edn) pointti on? Juu toki se on ilmaisuvoimaisempi kuin JSON, mutta toki meillä on ollut vaikka kuinka paljon kielispesifejä serialisointiformaatteja ennen JSONia, ihmisluettaviakin - mutta ne ovat kielispesifejä. [JSON esimerkkinä kehityksestä] johtuu juuri siitä, että siinä on niin vähän sisältöä, mitä mäpätä kielispesifeiksi tietorakenteiksi. Sitten ei tarvitse ihmetellä, miten tulkitaan esim. Rubyssa symboleiden nimiavaruudet tjsp. (...)
Tulipa taas vastaan outo asia. On olemassa "migraatiokirjastoja", joiden tekijät tarkoittavat migraatiolla selvästi eri asiaa kuin minä. Kun minä puhun tietokantamigraatioista, tarkoitan yleensä jompaakumpaa näistä: (...)
Urgh. Taas kerran graafiset ohjelmat oli vaan liian automaagisia. Etsin Androidin asetuksista ees ja taas, mistä saan kännykkäni Google-tunnukselle jaetut kalenterit näkymään, ja loppujen lopuksi poistin koko Google-tunnuksen ja lisäsin sen takaisin. ''Sen jälkeen'' tunnuksen synkka-asetuksissa on mukana "Calendars". Huoh. (...)
Viime vuonna vaimoni (ihana, muuten!) teki minulle joululahjaksi Dominion-lisäosan. Hän oli panostanut korttien piirroksiin, joten minulle jäi hommaksi keksiä korttien kuvaukset. Nyt niitä on koepelattu sen verran, etteivät ne ole enää megarikkinäisiä (vaikka joitain yllätyksiä voi kyllä edelleen tulla vastaan). Dokumentoidaan siis [Dominion-lisäosa: Satu]. (...)
Tytär kirjoittaa Viron-vaihdostaan matkablogia: http://loleesti.blogspot.fi/ (...)
Olen jo jonkin aikaa kiinnittänyt huomiota siihen, että googlen link:-hauilla ei näytä löytyvän mitään. Tarvitsen sitä aika harvoin, joten olin vain kohauttanut olkiani ja miettinyt, että joko olen kirjoittanut osoitteen väärin tai sitten kyseinen ominaisuus ei enää ole käytössä. Nyt kuitenkin kun olen sairaslomalla ajattelin, että katsotaanpas, vieläkö sen pitäisi toimia. (...)
(nettipäiväkirja 06.12.2015) Nyt on puhuttu jo aika pitkään siitä, miten sähköistyminen aiheuttaa samanlaisen tuottavuusvallankumouksen kuin teollinen vallankumous aikoinaan. Tähän on periaatteessa mahdollisuus: siinä missä teollinen vallankumous on automatisoinut tavaroiden tuotannon, sähköisillä palveluilla voidaan automatisoida tiedon käsittely. Mutta monet eivät tunnu tajuavan, miten paljon työtä ja ymmärrystä vaatii, että tästä oikeasti saadaan tuottavuus kehittymään. (...)
Pikalinkit: