<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  
  
  
  <channel>
    <title>Oiva Eskola</title>
    <description>Full stack web developer</description>
    <link>https://oivaeskola.fi/</link>
    <atom:link href="https://oivaeskola.fi/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Thu, 14 Aug 2025 18:58:56 +0000</pubDate>
    <lastBuildDate>Thu, 14 Aug 2025 18:58:56 +0000</lastBuildDate>
    <generator>Eleventy</generator>
    
      <item>
        <title>Craig Robinson: Audience Participation</title>
        <description>This made me laugh out loud. Craig Robinson on Tonight Show (starts at 0:29)&lt;iframe  width=&#34;560&#34;  height=&#34;315&#34;  src=&#34;https://www.youtube.com/embed/QT2x1Drb1og?si=c0kQJdJWlnqXkn92&amp;start=29&#34;  srcdoc=&#34;▶&#34;  title=&#34;YouTube video player&#34;  frameborder=&#34;0&#34;  allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34;  referrerpolicy=&#34;strict-origin-when-cross-origin&#34;  allowfullscreen  loading=&#34;lazy&#34;&gt;</description>
        <content>&lt;p&gt;This made me laugh out loud. Craig Robinson on Tonight Show (starts at 0:29)&lt;/p&gt;
&lt;iframe
  width=&#34;560&#34;
  height=&#34;315&#34;
  src=&#34;https://www.youtube.com/embed/QT2x1Drb1og?si=c0kQJdJWlnqXkn92&amp;start=29&#34;
  srcdoc=&#34;&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/QT2x1Drb1og?si=c0kQJdJWlnqXkn92&amp;autoplay=1&amp;start=29&gt;&lt;img src=https://img.youtube.com/vi/QT2x1Drb1og/hqdefault.jpg alt=&#39;Craig Robinson Leads a Tonight Show Singalong&#39; loading=&#39;lazy&#39;&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;&#34;
  title=&#34;YouTube video player&#34;
  frameborder=&#34;0&#34;
  allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34;
  referrerpolicy=&#34;strict-origin-when-cross-origin&#34;
  allowfullscreen
  loading=&#34;lazy&#34;&gt;&lt;/iframe&gt;
</content>
        <pubDate>Fri, 11 Apr 2025 10:52:36 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2025/04/11/craig-robinson:-audience-participation/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/04/11/craig-robinson:-audience-participation/</guid>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Cube Longtail: pika-arvio</title>
        <description>Hankin työsuhdepyöräksi Cube Longtail Hybrid -pitkäperäpyörän, jossa on sähkömoottori. Tämä on tosi hyvä pyörä, ja sähköpyöräily on kätevää—minkä kaikki muut tiesivätkin jo.Työsuhdepolkupyörä maksetaan osamaksulla palkasta, mutta ennen veroja, joten hinnassa säästää jopa 20–30 %. Meillä on ollut tämä etu töissä jo pitemmän aikaa, mutta sain nyt aikaiseksi hankkia pyörän.Olen kuskannut ensimmäistä lasta (4v) cyclocrossilla lastenistuimessa, mik...</description>
        <content>
          <img src="/images/2025/cube-longtail-small.jpg"
            srcset="/images/2025/cube-longtail.jpg 2x"
            alt="Vihreänharmaa Cube Longtail Hybrid sähköpolkupyörä. Pyörässä on tavanomaista pyörää pitempi tavarateline. Renkaat ovat hieman tavallista pienemmät, 26-tuumaiset, mutta paksut. Runko on jykevä."
            width="686"
            height="386" />
        &lt;p&gt;Hankin työsuhdepyöräksi Cube Longtail Hybrid -pitkäperäpyörän, jossa on sähkömoottori. Tämä on tosi hyvä pyörä, ja sähköpyöräily on kätevää—minkä kaikki muut tiesivätkin jo.&lt;/p&gt;
&lt;p&gt;Työsuhdepolkupyörä maksetaan osamaksulla palkasta, mutta ennen veroja, joten hinnassa &lt;a href=&#34;https://www.gobybike.fi/tyontekijalle/laskuri/&#34;&gt;säästää jopa 20–30 %&lt;/a&gt;. Meillä on ollut tämä etu töissä jo pitemmän aikaa, mutta sain nyt aikaiseksi hankkia pyörän.&lt;/p&gt;
&lt;p&gt;Olen kuskannut ensimmäistä lasta (4v) cyclocrossilla lastenistuimessa, mikä on ollut molemmille tosi hauskaa. Mutta nyt on tarpeen saada toinenkin lapsi (1v) kyytiin ja pohdin pitkään eri vaihtoehtojen välillä: peräkärry olisi halvin ja helpoin vaihtoehto, mutta sen säilytys olisi meillä hankalaa. Lisäksi pelkäsin, että lapset ovat kärryssä liian kaukana, jotta heidän kanssaan voisi jutella matkan aikana. (Bugi, ominaisuus?)&lt;/p&gt;
&lt;p&gt;Laatikkopyörä olisi luultavasti kaikista mukavin lapselle matkustaa, mutta pyörät ovat yleensä aika pitkiä tai leveitä, ja yhtä lailla hankala säilyttää.&lt;/p&gt;
&lt;p&gt;Pitkäperäpyörät ovat vähän lyhkäisempiä ja jossain määrin helpompia säilyttää. Mutta perä on sen verran pitkä, että kyytiin saa kaksikin lastenistuinta—teoriassa. Tämä on vielä kokeilematta. Vähän vanhemmille lapsille voi ostaa taakse &lt;a href=&#34;/images/2025/cube-longtail-hybrid-small.webp&#34;&gt;penkin ja kaiteen&lt;/a&gt;, jolloin pyörän kyytiin hyppääminen on vielä helpompaa.&lt;/p&gt;
&lt;h2&gt;Ensivaikutelmat sähköpyöräilystä&lt;/h2&gt;
&lt;p&gt;Tämä on ensimmäinen oma sähköpyöräni, mutta olen kokeillut aikaisemmin muutamaa muuta sähköpyörää. Havainnot ovat luultavasti hyvinkin tuttuja sähköpyörien omistajille.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sähköpyörän ajettavuus on nykyään tosi hyvä&lt;/strong&gt;. Neljännen sukupolven Bosch-moottori avustaa pehmeästi ja usein huomaamattomasti. Avustuksen loppuminen 25 km/h vauhdissa tapahtuu hyvin pehmeästi. Aikaisemmin kokeilemissani sähköpyörissä avustus oli huomattavasti äkkinäisempi ja enemmän “erillään” polkemisesta.&lt;/p&gt;
&lt;p&gt;Boschilla on moottorissa kattavasti eri ajomoodeja ja puhelimella voi säätää kunkin avustuksen tehoa ja herkkyyttä.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sähkömoottori mahdollistaa painavan pyörän&lt;/strong&gt;. Vanha cyclocrossarini painoin n. 10 kg ja Cube Longtail itsessään noin 35 kg. Lisäksi pari lastenistuinta ja lasta, niin pyörällä ja kuormalla on painoa jo &lt;em&gt;70 kg&lt;/em&gt;. Haaveissani ajaisin tällaistakin kuormaa lihasvoimalla (nuorena rikšakuskina ajoinkin!), mutta nykyään realistisesti en. Sähkömoottori mahdollistaa paljon isomman skaalan pyöriä ja pyörän kuormausta, ja siten erilaisia käyttötapoja.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Haluaisin ajaa kovempaa!&lt;/strong&gt; Cyclocrossarilla ja maantiepyörällä luontainen vauhti tasaisella on usein päälle 25 km/h. Sähköpyörällä avustus tippuu pois ja kauheasti kovempaa ajaminen ei ainakaan näillä jaloilla vielä onnistu. Tähän on tosi vaikea suhtautua! En ole oikein ikinä osannut ajaa rauhallista vauhtia pienillä tehoilla.&lt;/p&gt;
&lt;p&gt;Toisaalta olen ihan tyytyväinen, että &lt;em&gt;muut sähköpyöräilijät&lt;/em&gt; ei paahda 30+ km/h ruuhkaisilla väylillä.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Sähköpyörähäpeä&lt;/em&gt; istuu vielä tiukassa&lt;/strong&gt;. En oikein kehtaa ajaa täysillä avustuksilla ja ohitella ylämäessä! Sähköllä pyöräileminen tuntuu huijaamiselta, vaikka sitä pitäisi ajatella vastaavasti kuin bensan polttamista autolla.&lt;/p&gt;
&lt;h2&gt;Ensivaikutelmat Cube Longtailista&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Kokoaminen oli helppoa&lt;/strong&gt; ja kaikki osat vaikuttavat laadukkailta. Vaihteet olivat suoraan laatikosta kohdillaan, mutta jarrut ovat oletuksena hieman tunnottomat. Pienellä säädöllä saisi varmaan kohdilleen. Valot eteen ja taakse ovat hyvät ja kätevät verrattuna vanhoihin dynamolla toimiviin tai ladattaviin valoihin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Seisontatuki on kätevä&lt;/strong&gt;. Pyörä pysyy hyvin pystyssä ja lasten lastaaminen istuimeen on helppoa. Netissä jotkut valittelevat, että seisontatuen kiinnitys löystyy ja tuki pyörii sivusuunnassa. En tiedä onko tätä korjattu, mutta ei ole vielä osunut kohdalleni.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ajoasento on todella pysty&lt;/strong&gt;—toinen asia mihin on hankala suhtautua! Haluaisin ajaa vähän virtaviivaisemmin, mutta ohjaustanko ja kannatin ovat matalimmassakin asennossa todella korkealla, ja lähellä.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Välityksiä riittää kovempaankin vauhtiin&lt;/strong&gt;. Muissa kokeilemissani sähköpyörissä vaihteet loppuivat 25 km/h kohdalla, jolloin edes lihasvoimalla ei päässyt kovempaa. Longtailissa välityksiä riittää ja 30 km/h ajaa mukavasti, jos jaksaa.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lisävarusteet ovat kattavia ja kalliita&lt;/strong&gt; 💸. Pyörään saa penkkiä, matkustajien jalkatukea, tarakan kaidetta ja etutarakkaa. Kaikkea löytyy, mutta jokainen osa maksaa päälle 100 €, jolloin hintaa rupeaa kertymään aika paljon. Näitä &lt;strong&gt;ei&lt;/strong&gt; saa mukaan työsuhdepyörän hintaan, koska verottajalla on lyhyt lista sallituista lisävarusteista mitä pyörän mukana saa tilata.&lt;/p&gt;
&lt;p&gt;Hamaxin Caress -lastenistuin meni tarakalle helposti erillisen tarakka-adapterin avulla.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pyörän säilöntä on hankalaa&lt;/strong&gt; jos pyörävarastoon joutuu kulkemaan portaita, ylittämään korkeita kynnyksiä, tai kääntymään tiukassa paikassa. 35 kg pyörän tunkkaaminen portaita ylös tai alas on nihkeää.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Akun toimintamatka on vielä kysymysmerkki&lt;/strong&gt;, mutta en ole sitä juuri murehtinut. Olen ajanut pyörällä lyhyttä pätkää päiväkotiin ja kaupoille. Nykyisellä tahdilla yhdellä latauksella ajaa ehkä 100 kilometriä?&lt;/p&gt;
&lt;p&gt;Pyörällä on ollut näppärä ajaa muutaman kilometrin matkoja, joita aikaisemmin olisin kulkenut kävellen, bussilla, tai autolla. Aihetta sen enempää politisoimatta minusta on pöhköä esimerkiksi viedä lapsi autolla kilometrin päähän päiväkotiin (meillä 2 × 1,5 km). Mutta ymmärrän miksi sitä tehdään ja olen itsekin tehnyt sitä. Sähköpyörällä pystyn poistamaan itseltäni kuviosta ainakin pari tekosyytä: matka on täsmälleen yhtä nopea autolla ja pyörällä, pyöräilyä varten ei tarvitse enää etsiä kypärän lisäksi muita kamppeita (valotkin on valmiina), ja lapsen saa pyörän selkään nopeammin kuin auton istuimeen.&lt;/p&gt;
&lt;p&gt;Yhtälö muuttuu syksyllä kun palaan töihin ja toimistolle, mutta uskoisin, että pyörä on sinnekin lähes yhtä nopea kuin auto.&lt;/p&gt;
</content>
        <pubDate>Wed, 02 Apr 2025 12:15:13 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2025/04/02/cube-longtail:-pika-arvio/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/04/02/cube-longtail:-pika-arvio/</guid>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Esimerkkejä syötekentän saavutettavuudesta</title>
        <description>Verkkosivujen saavutettavuus voi tuntua vähän hähmäiseltä käsitteeltä. Mitä kaikkea siihen kuuluu? Mitä pitää oikeasti tehdä että on saavutettava?Kirjoitin tämän artikkelin näyttääkseni muutaman esimerkin, miten saavutettavuutta voi huomioida yksittäisen syötekentän suunnittelussa ja toteutuksessa. Syötekentät eli &amp;lt;input&amp;gt;-elementit ovat verkkolomakkeiden peruskauraa. Miten vaikeaa niistä on tehdä saavutettavia?Huom: Tämä ei ole varsinais...</description>
        <content>&lt;p&gt;&lt;strong&gt;Verkkosivujen saavutettavuus&lt;/strong&gt; voi tuntua vähän hähmäiseltä käsitteeltä. Mitä kaikkea siihen kuuluu? Mitä pitää oikeasti tehdä että on saavutettava?&lt;/p&gt;
&lt;p&gt;Kirjoitin tämän artikkelin näyttääkseni muutaman esimerkin, miten saavutettavuutta voi huomioida &lt;em&gt;yksittäisen syötekentän&lt;/em&gt; suunnittelussa ja toteutuksessa. Syötekentät eli &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt;-elementit ovat verkkolomakkeiden peruskauraa. Miten vaikeaa niistä on tehdä saavutettavia?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Huom:&lt;/strong&gt; Tämä ei ole varsinaisesti opas siihen, mitä saavutettavuus ylätasolla on –
&lt;a href=&#34;https://www.eficode.com/fi/blog/mita-eroa-saavutettavuudella-ja-inklusiivisuudella&#34;&gt;muut&lt;/a&gt;
&lt;a href=&#34;https://papunet.net/saavutettavuus/miksi-saavutettava/mita-on-saavutettavuus/&#34;&gt;tekevät&lt;/a&gt;
&lt;a href=&#34;https://www.saavutettavasti.fi/verkkosisaltojen-saavutettavuus/wcag/&#34;&gt;sen&lt;/a&gt; paremmin.&lt;/p&gt;
&lt;h2&gt;Nopea kertaus saavutettavuuden määritelmästä&lt;/h2&gt;
&lt;p&gt;Saavutettavuus tosi lyhyesti:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Saavutettavuus tarkoittaa sitä, että mahdollisimman moni erilainen ihminen voi käyttää verkkosivuja ja mobiilisovelluksia mahdollisimman helposti. Saavutettavuus on ihmisten erilaisuuden ja moninaisuuden huomiointia verkkosivujen ja mobiilisovelluksien suunnittelussa ja toteutuksessa.
&lt;br&gt;– &lt;a href=&#34;https://www.saavutettavuusvaatimukset.fi/fi/yleista-saavutettavuudesta/tietoa-saavutettavuudesta&#34;&gt;saavutettavuusvaatimukset.fi&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Saavutettavuutta lähestytään usein henkilöiden rajoitteiden kautta. Esimerkiksi värisokean ihmisen on pystyttävä erottamaan eri toimintojen tarkoitus, jolloin eroa ei voi kommunikoida pelkällä värillä. Sokean ihmisen pitää pystyä käyttämään verkkosivuja ruudunlukijalla.&lt;/p&gt;
&lt;p&gt;Mutta rajoite voi olla myös väliaikainen ja huomattavasti yleisempi. Esimerkiksi verkkolomakkeen täyttäminen vauva sylissä, tai vaikka vain väsyneenä on vaikeampaa kuin “optimiolosuhteissa”. Kaikki ihmiset hyötyvät, jos lomakkeen &lt;em&gt;kognitiivista kuormaa&lt;/em&gt; pienennetään, eli suomeksi täyttäminen ei vaadi niin paljon ajattelua.&lt;/p&gt;
&lt;h2&gt;Taustaa&lt;/h2&gt;
&lt;p&gt;Olen töissä vakuutusyhtiössä, jota koskevat tiukennetut saavutettavuus­vaatimukset. Ihmisten on pakko ostaa liikenne­vakuutus ajaakseen moottori­ajoneuvolla, joten vakuutusverkkokaupan pitää olla saavutettava.&lt;/p&gt;
&lt;p&gt;Käytännössä teimme verkkopalvelumme saavutettavuuteen yhden isomman korjauskierroksen ennen vaatimusten voimaanastumista. Mutta itsekkäästi yritämme myös jatkuvasti tehdä vakuutusten ostamisesta helpompaa, koska &lt;em&gt;se lisää myyntiä&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Tässä artikkelissa tarkastellaan POP Vakuutuksen &lt;a href=&#34;https://www.popvakuutus.fi/ajoneuvovakuutus/autovakuutus/laske-hinta/vaihe/perustiedot&#34;&gt;ajoneuvovakuutuksen ostopolulta&lt;/a&gt; löytyvää &lt;strong&gt;henkilötunnuksen syötekenttää.&lt;/strong&gt; Kyseinen kenttä voi muuttua jatkossa, mutta tässä on tähän mennessä syntyneitä huomioita.&lt;/p&gt;
&lt;aside class=&#34;callout callout-info&#34;&gt;
  &lt;div class=&#34;callout-content&#34;&gt;
    &lt;strong&gt;Huom:&lt;/strong&gt; Tämä ei ole esimerkki täydellisestä saavutettavuudesta tai käytettävyydestä, vaan kokoelma erilaisia saavutettavuusparannuksia.
  &lt;/div&gt;
&lt;/aside&gt;
&lt;p&gt;Hypätään matkaan!&lt;/p&gt;
&lt;h2&gt;Haluttu syötteen muoto placeholderissa&lt;/h2&gt;
&lt;aside class=&#34;callout callout-info&#34;&gt;
  &lt;div class=&#34;callout-content&#34;&gt;
     &lt;ul&gt;&lt;li&gt;Vähennetään tarvetta ajatella mitä kenttään pitää kirjoittaa&lt;/li&gt;&lt;/ul&gt;
  &lt;/div&gt;
&lt;/aside&gt;
&lt;a href=&#34;/images/2025/saavutettavuus/placeholder.png&#34;&gt;
&lt;img src=&#34;/images/2025/saavutettavuus/placeholder.png&#34; alt=&#34;Syötekenttä, jonka yllä kentän nimi &#39;Henkilötunnus&#39;. Kentän sisällä on placeholder ppkkvv-xxxx, eli päivä päivä kuukausi kuukausi vuosi vuosi, henkilötunnuksen loppuosa.&#34; height=&#34;122&#34; loading=&#34;lazy&#34;&gt;
&lt;/a&gt;
&lt;p&gt;Henkilötunnus on &lt;em&gt;useimmille&lt;/em&gt; tuttu konsepti, mutta joskus henkilötunnus menee sekaisin syntymäajan kanssa, tai ihmiselle ei heti muistu mieleen mistä tunnuksesta puhutaan. (Olemme törmänneet tähän ihan oikeasti!)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Syötekentässä on muistutuksena haluttu muoto vastaukselle&lt;/strong&gt;, eli niin sanottu &lt;em&gt;placeholder&lt;/em&gt;: ppkkvv-XXXX.&lt;/p&gt;
&lt;p&gt;Placeholder-teksti on hieman hailakka harmaa. Luettavuuden kannalta tekstin ja taustan välinen kontrasti pitäisi olla isompi, mutta toisaalta liian tumma teksti antaa vaikutelman siitä, että kentässä on jo vastaus. Tämä voi johtaa siihen, että asiakas ei itse kirjoita vastausta, eikä siksi pääse etenemään ostossa.&lt;/p&gt;
&lt;h2&gt;Placeholder koko ajan näkyvillä&lt;/h2&gt;
&lt;aside class=&#34;callout callout-info&#34;&gt;
  &lt;div class=&#34;callout-content&#34;&gt;
     &lt;ul&gt;&lt;li&gt;Pidetään placeholder koko ajan näkyvillä, jotta sitä ei tarvitse muistaa&lt;/li&gt;&lt;/ul&gt;
  &lt;/div&gt;
&lt;/aside&gt;
&lt;p&gt;Placeholder-tekstien ongelmana on, että ne katoavat kun kenttään alkaa kirjoittamaan tekstiä. Asiakkaan pitäisi vastausta kirjoittaessaan muistaa mitä placeholderissa luki, mikä ei yleisesti ottaen ole mahdotonta, mutta voi olla haastavaa.&lt;/p&gt;
&lt;p&gt;Tämä on meillä ratkaistu niin, että kun kenttä on kohdistettuna (focus), siirtyy kentän placeholder kentän nimen perään. Tällä tavalla haluttu muoto säilyy näkyvillä koko ajan, &lt;strong&gt;eikä sitä tarvitse muistaa&lt;/strong&gt;:&lt;/p&gt;
&lt;figure&gt;
  &lt;a href=&#34;/images/2025/saavutettavuus/placeholder-in-label.png&#34;&gt;
    &lt;img src=&#34;/images/2025/saavutettavuus/placeholder-in-label.png&#34; alt=&#34;Sama syötekenttä kuin edellisessä kuvassa, mutta kentässä on tekstiä ja kentän placeholder on siirretty kentän otsikkoon (label). Otsikossa lukee &#39;Henkilötunnuksesi suluissa pee pee koo koo vee vee viiva x x x x&#39;&#34; height=&#34;123&#34; loading=&#34;lazy&#34;&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;Haluttu syötteen muoto siirtyy kentän nimen perään kentän ollessa kohdistettu&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Kohdistuksen näyttäminen&lt;/h2&gt;
&lt;aside class=&#34;callout callout-info&#34;&gt;
  &lt;div class=&#34;callout-content&#34;&gt;
     &lt;ul&gt;&lt;li&gt;Näytetään mikä kenttä on kohdistettuna – helpottaa näppäimistökäyttöä ja näkörajoitteisten lomakkeen täyttöä&lt;/li&gt;&lt;/ul&gt;
  &lt;/div&gt;
&lt;/aside&gt;
&lt;figure&gt;
  &lt;a href=&#34;/images/2025/saavutettavuus/keyboard-focus.png&#34;&gt;
    &lt;img src=&#34;/images/2025/saavutettavuus/keyboard-focus.png&#34; alt=&#34;Henkilötunnuskenttä, jonka ympärillä on paksuhko keltainen ääriviiva&#34; height=&#34;127&#34; loading=&#34;lazy&#34; /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;Kohdistin kentän sisällä. Kohdistin on siirretty kenttään tab-näppäimellä.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Lomaketta täyttäessä on tärkeä tietää mihin kenttään on kirjoittamassa tekstiä.
Ohut tekstikohdistin voi olla vaikea huomata (varsinkin näkö­rajoiteisella) tai huomion herpaantuessa. Selain näyttää kohdistetun kentän ympärillä oletus­arvoisesti sinisen ääriviivan, mikä toimi huonosti meidän sinisen taustavärin kanssa.&lt;/p&gt;
&lt;p&gt;Päädyimme designerin kanssa käyttämään keltaista ääriviivaa. &lt;strong&gt;Ääriviiva on paksumpi jos kenttään siirtyy näppäimistöllä.&lt;/strong&gt; Tässä oli ajatuksena, että klikatessaan kenttää hiirellä asiakas on paremmin tietoinen missä kohdistin menee.&lt;/p&gt;
&lt;p&gt;Pelkällä näppäimistöllä navigoidessa on lähtökohtaisesti vaikeampi seurata mihin kohdistin seuraavaksi hyppää. Paksu ääriviiva näyttää selvästi missä kohdistin on. (Paksumpi ääriviiva oli ehkä designerin mielestä liikaa käytettäväksi koko ajan ja sen takia vain näppäimistökäytössä? – en muista.)&lt;/p&gt;
&lt;p&gt;Myös kaikki ohjetekstit ovat avattavissa näppäimistöllä:&lt;/p&gt;
&lt;figure&gt;
  &lt;a href=&#34;/images/2025/saavutettavuus/keyboard-focus-2.png&#34;&gt;
    &lt;img src=&#34;/images/2025/saavutettavuus/keyboard-focus-2.png&#34; alt=&#34;Kentän yläpuolella oleva kysymysmerkki kohdistettuna, paksu keltainen ääriviiva ikonin ympärillä&#34; width=&#34;394&#34; height=&#34;228&#34; loading=&#34;lazy&#34; /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;Ohjetekstin näyttävä kysymysmerkki kohdistettuna näppäimistöllä&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Virhetilanteet&lt;/h2&gt;
&lt;aside class=&#34;callout callout-info&#34;&gt;
  &lt;div class=&#34;callout-content&#34;&gt;
     &lt;ul&gt;&lt;li&gt;Näytetään virheet selkeästi ja yritetään ohjata virheen korjaamiseen&lt;/li&gt;&lt;/ul&gt;
  &lt;/div&gt;
&lt;/aside&gt;
&lt;p&gt;Asiakkaan antaessa virheellisen syötteen näytetään kentän ympärillä punainen ääriviiva ja kentän alapuolella virheviesti. Virhe näytetään vasta kun kohdistin siirretään pois kentästä, jotta asiakas voi rauhassa muokata henkilötunnusta ilman virheen välkkymistä.&lt;/p&gt;
&lt;figure&gt;
  &lt;a href=&#34;/images/2025/saavutettavuus/error-generic.png&#34;&gt;
    &lt;img src=&#34;/images/2025/saavutettavuus/error-generic.png&#34; alt=&#34;Henkilötunnuskenttä jonka ympärillä on punainen ääriviiva. Kentän alapuolella on virheviesti &#39;Tarkista henkilötunnuksesi&#39;&#34; width=&#34;686&#34; height=&#34;190&#34; loading=&#34;lazy&#34; /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;Virheellinen vastaus&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Virheviestistä on yritetty tehdä tarpeeksi näkyvä, jotta asiakas huomaisi virhetilanteen. Mobiililaitteilla selain vierittää automaattisesti ensimmäiseen virheelliseen kenttään, jos asiakas yrittää jatkaa ostossa eteenpäin virheellisin tiedoin.&lt;/p&gt;
&lt;p&gt;Virheviestissä lukee aina mistä tiedosta on kyse eikä esimerkiksi “Tarkista tieto”. Jos mahdollista, yritetään käyttää tarkkaa virheilmoitusta, esimerkiksi alaikäiselle vakuutuksenottajalle kerrotaan tarkemmin miksi annettu henkilötunnus ei kelpaa:&lt;/p&gt;
&lt;figure&gt;
  &lt;a href=&#34;/images/2025/saavutettavuus/error-age.png&#34;&gt;
    &lt;img src=&#34;/images/2025/saavutettavuus/error-age.png&#34; alt=&#34;Henkilötunnuskenttä jossa on oikeanmuotoinen henkilötunnus. Kentän alapuolella on virheviesti &#39;Vakuutuksenottajan oltava täysi-ikäinen&#39;&#34; width=&#34;686&#34; height=&#34;188&#34; loading=&#34;lazy&#34; /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;Alaikäinen vakuutuksenottaja saa oman virheviestin&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Virheviestejä voisi meilläkin vielä parantaa, esimerkiksi henkilö­tunnuksen tapauksessa voisi kertoa onko virhe henkilö­tunnuksen päivämäärässä vai loppuosassa.&lt;/p&gt;
&lt;aside class=&#34;callout callout-info&#34;&gt;
  &lt;div class=&#34;callout-content&#34;&gt;
     Useamman eri virheviestin tuki voi vaatia eri virheiden asettamista tärkeysjärjestykseen. Jos kentässä voi olla samaan aikaan monta virhettä, tulisi asiakkaan nähdä hyödyllisin virheilmoitus.
  &lt;/div&gt;
&lt;/aside&gt;
&lt;h2&gt;Ruudunlukijavastine placeholderille&lt;/h2&gt;
&lt;aside class=&#34;callout callout-info&#34;&gt;
  &lt;div class=&#34;callout-content&#34;&gt;
     &lt;ul&gt;&lt;li&gt;Haluttu syötteen muoto pitää toimia myös ruudunlukijalla&lt;/li&gt;&lt;/ul&gt;
  &lt;/div&gt;
&lt;/aside&gt;
&lt;p&gt;&lt;em&gt;Ruudunlukijavastineella&lt;/em&gt; tarkoitetaan &lt;a href=&#34;https://fi.wikipedia.org/wiki/Ruudunlukuohjelma&#34;&gt;ruudunlukijan&lt;/a&gt; lukemaa käyttöliittymätekstiä. Tietyissä tilanteissa pelkkä ruudulla näkyvä teksti ei auta ruudunlukijan lukemana, vaan ruudunlukijalle pitää välittää ruudulla näkyvä &lt;em&gt;informaatio&lt;/em&gt; eri tavalla.&lt;/p&gt;
&lt;p&gt;Esimerkiksi ruudulla voi nähdä helposti, että tietyt napit muodostavat nappiryhmän, mutta ruudunlukijalle suhde pitää kuvailla kertomalla mihin asiaan tietty nappi liittyy.&lt;/p&gt;
&lt;aside class=&#34;callout callout-info&#34;&gt;
  &lt;div class=&#34;callout-content&#34;&gt;
    &lt;strong&gt;Huom:&lt;/strong&gt; Joku voi miettiä miksi näkövammainen olisi ostamassa liikenne&amp;shy;vakuutusta. Teoriassa henkilön näkökyky voi olla sellainen, että ajoneuvon kuljettaminen on sallittua, vaikka näytön lukeminen on vaikeaa. Mutta toinen, usein toistuva skenaario on vanhempi, joka hoitaa lapsensa vakuutusasioita.
  &lt;/div&gt;
&lt;/aside&gt;
&lt;p&gt;Henkilötunnuskentän placeholderin tapauksessa pelkät kirjaimet ppkkvv… eivät kuulosta järkevältä ruudunlukijan lukemana. Siksi ruudunlukijalle välitetään syötteen muoto auki kirjoitettuna:&lt;/p&gt;
&lt;figure&gt;
  &lt;a href=&#34;/images/2025/saavutettavuus/screen-reader-placeholder.png&#34;&gt;
    &lt;img src=&#34;/images/2025/saavutettavuus/screen-reader-placeholder.png&#34; alt=&#34;Henkilötunnuskentän otsikossa olevan placeholderin ruudunlukijavastine (aria-label): kirjaimet p, p, k, k... on kirjoitettu aria-labeliin auki muodossa &#39;päivä päivä kuukausi kuukausi vuosi vuosi viiva, henkilötunnuksen loppuosa.&#39;&#34; width=&#34;686&#34; height=&#34;154&#34; loading=&#34;lazy&#34; /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;ppkkvv merkitys välitettynä ruudunlukijalle&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Virheviestien välittäminen ruudunlukijalle&lt;/h2&gt;
&lt;aside class=&#34;callout callout-info&#34;&gt;
  &lt;div class=&#34;callout-content&#34;&gt;
     &lt;ul&gt;&lt;li&gt;Ruudunlukijan pitää pystyä lukemaan virheviestit&lt;/li&gt;&lt;/ul&gt;
  &lt;/div&gt;
&lt;/aside&gt;
&lt;p&gt;Ruudunlukijaa käyttävän asiakkaan on yhtä lailla saatava tietää, jos jonkun kentän sisältö on virheellinen. Myös ruudulla näkyvä virheviesti pitää kertoa ruudunlukijalle. Näihin on muutamia tapoja, mutta nyt mennään hieman teknisiin yksityiskohtiin.&lt;/p&gt;
&lt;p&gt;Syötekenttä itsessään pitää merkitä koodissa virheelliseksi. Tämä tapahtuu kentän &lt;code&gt;invalid&lt;/code&gt; ja &lt;code&gt;aria-invalid&lt;/code&gt; -attribuuteilla:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;input invalid=&#34;true&#34; aria-invalid=&#34;true&#34; aria-describedby=&#34;root_ssn-error&#34;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Lisäksi kentässä on viittaus virheviestiin (&lt;code&gt;aria-describedby=&amp;quot;root_ssn-error&amp;quot;&lt;/code&gt;). Tämä kertoo ruudunlukijalle, että kentän kuvaus löytyy elementistä &lt;code&gt;&amp;lt;li id=&amp;quot;root_ssn-error&amp;quot;&amp;gt;&lt;/code&gt;, jolloin ruudunlukija lukee sieltä löytyvän virheviestin.&lt;/p&gt;
&lt;p&gt;Lisäksi itse virheviesti luodaan elementin sisälle, jolla on &lt;code&gt;aria-live&lt;/code&gt;-attribuutti. Tämä itsessään vinkkaa ruudunlukijan lukemaan virheviestin heti kun se ilmestyy ruudulle. (Tämä tosin toimii hieman vaihtelevasti eri ruudunlukuohjelmistoilla.)&lt;/p&gt;
&lt;figure&gt;
  &lt;a href=&#34;/images/2025/saavutettavuus/screen-reader-error.png&#34;&gt;
  &lt;img src=&#34;/images/2025/saavutettavuus/screen-reader-error.png&#34; alt=&#34;Virheviestielementin lähdekoodi. Virheviesti on div-elementin sisällä, jolla on aria-live ja aria-relevan -attribuutit. Lisäksi virheviestin id-attribuutti on &#39;root_ssn-error&#39;, mikä oli sidottu syötekentän &#39;described by&#39; -attribuuttiin.&#34; width=&#34;686&#34; height=&#34;270&#34; loading=&#34;lazy&#34;&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;Virheviesti `aria-live` elementin sisällä&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Näillä keinoin ruudunlukija lukee virheviestin heti kun se ilmestyy, ja joka kerta kun asiakas siirtyy virheelliseen syötekenttään.&lt;/p&gt;
&lt;h2&gt;Sekalaiset&lt;/h2&gt;
&lt;p&gt;Näiden mainittujen juttujen lisäksi on olemassa yleisempiä saavutettavuus­korjauksia, mitkä koskevat kaikkia kenttiä. Esimerkiksi tekstin värin pitää erottua taustasta, ja tekstien pitäisi olla luettavissa jos asiakas suurentaa tekstikokoa huomattavasti. Lomakkeen on oltava käytettävissä pelkällä näppäimistöllä, jne.&lt;/p&gt;
&lt;p&gt;Lopuksi vielä humio, että osa tässä nostetuista esimerkeistä koskee vain nykyisin suosittuja “Single Page Application”-tyylisiä sivuja, joilla lomakkeen validointi tehdään ilman sivunlatausta. Selaimet osaavat aika hyvin itsekin hoitaa esimerkiksi virhetilanteiden esille nostamisen, mutta osan näistä joutuu tekemään itse saavutettavaksi, kun lomaketta validoidaan lennossa.&lt;/p&gt;
&lt;p&gt;Toivottavasti nämä esimerkit auttavat hahmottamaan miten saavutettavuutta voi parantaa!&lt;/p&gt;
</content>
        <pubDate>Thu, 13 Mar 2025 12:15:00 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2025/03/13/esimerkkejä-saavutettavuudesta/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/03/13/esimerkkejä-saavutettavuudesta/</guid>
        
        <category>saavutettavuus</category>
        
        <category>käytettävyys</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Työsuhdepolkupyörä</title>
        <description>Meillä töissä on ollut jo pitemmän aikaa työsuhdepyöräetu, missä saa siis valita melkein vapaasti polkupyörän, ja pyörän hinta vähennetään vähitellen palkasta. Koska pyörän osuus maksetaan ennen veroja, säästää pyörän hinnasta jopa 30 %.Pelkästään tämän takia olisi pitänyt tilata joku pyörä jo kauan sitten, mutta olen luonnollisesti vatvonut eri vaihtoehtoja. Toisen lapsen myötä rupesin miettimään pitkäperäpyöriä, joiden tavaratelineelle saa p...</description>
        <content>
          <img src="/images/2025/cube-longtail-hybrid-small.webp"
            srcset="/images/2025/cube-longtail-hybrid.webp 2x"
            alt="Cube Longtail Hybrid sähköpolkupyörä. Pyörässä on tavanomaista pyörää pitempi tavarateline ja telineen yläpuolella on kaide, mikä helpottaa tavaroiden tai lasten kuljettamista. Renkaat ovat hieman tavallista pienemmät, 26-tuumaiset"
            width="686"
            height="386" />
        &lt;p&gt;Meillä töissä on ollut jo pitemmän aikaa työsuhdepyöräetu, missä saa siis valita melkein vapaasti polkupyörän, ja pyörän hinta vähennetään vähitellen palkasta. Koska pyörän osuus maksetaan ennen veroja, &lt;a href=&#34;https://www.gobybike.fi/tyontekijalle/laskuri/&#34;&gt;säästää pyörän hinnasta jopa 30 %&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pelkästään tämän takia olisi pitänyt tilata &lt;em&gt;joku&lt;/em&gt; pyörä jo kauan sitten, mutta olen luonnollisesti vatvonut eri vaihtoehtoja. Toisen lapsen myötä rupesin miettimään pitkäperäpyöriä, joiden tavaratelineelle saa periaatteessa kaksi lasta joko istuimiin, tai penkille (kuvassa).&lt;/p&gt;
&lt;p&gt;Päädyin lopulta tilaamaan &lt;a href=&#34;https://www.cube.eu/e-bikes/transport/longtail-hybrid&#34;&gt;Cuben Longtail Hybrid Sport -pitkäperäpyörän&lt;/a&gt;, mikä on siis vielä matkalla. Tästä pyörästä olisi olemassa vielä hienompi malli missä on hihnaveto ja napavaihteisto, mutta sitä ei ollut saatavilla.&lt;/p&gt;
&lt;p&gt;En ole ihan varma mahtuuko pyörä varastoon! Pitänee joka tapauksessa luopua edellisestä cyclocross-pyörästä, millä ajelin lähinnä töihin ja kuljetin vanhempaa lasta päiväkotiin. Uuden pyörän pitäisi hoitaa molemmat paremmin.&lt;/p&gt;
&lt;p&gt;Tässäkään pyörässä ei muuten ole etujousitusta. Rupesin miettimään, että en ole ostanut jousitettua pyörää sitten vuoden 2002. Ehkä joskus myöhemmin taas.&lt;/p&gt;
</content>
        <pubDate>Wed, 12 Mar 2025 19:56:55 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2025/03/12/uusi-pyörä/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/03/12/uusi-pyörä/</guid>
        
        <category>now</category>
        
        <category>polkupyörä</category>
        
        <category>pyöräily</category>
        
        <category>bikes</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Useful Git options</title>
        <description>Here are two articles about useful Git options that most people should probably use:Popular Git options by Julia Evans. This came out already a year ago but I was “too busy” to read it then.How Core Git Developers Configure Git by Scott Chacon.These two lists are largely overlapping but Julia’s has a grab bag of smaller, yet useful options. I like Scott’s categorization of options, including options that “Clearly Makes Git Better”:This first g...</description>
        <content>&lt;p&gt;Here are two articles about &lt;strong&gt;useful Git options that most people should probably use&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://jvns.ca/blog/2024/02/16/popular-git-config-options/&#34;&gt;Popular Git options&lt;/a&gt; by Julia Evans. This came out already a year ago but I was “too busy” to read it then.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://blog.gitbutler.com/how-git-core-devs-configure-git/&#34;&gt;How Core Git Developers Configure Git&lt;/a&gt; by Scott Chacon.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These two lists are largely overlapping but Julia’s has a grab bag of smaller, yet useful options. I like Scott’s categorization of options, including options that “Clearly Makes Git Better”:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This first group of settings &lt;em&gt;clearly&lt;/em&gt; makes Git better by default. There are generally zero downsides to enabling any of them.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
        <pubDate>Wed, 26 Feb 2025 20:21:05 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2025/02/26/useful-git-options/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/02/26/useful-git-options/</guid>
        
        <category>links</category>
        
        <category>programming</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Karttojen generointia</title>
        <description>Liittyen karttavisa projekti-ideaan, kokeilin muutaman tunnin ajan tehdä tekoälyavusteisesti koodia, mikä piirtäisi tietyn kaupungin kartan. Pääsinkin aika pitkälle:Koodi on Pythonia, noin 200 riviä, ja tällä hetkellä suhteellisen rumaa. Luonnostelin koodia antamalla Claudelle ja ChatGPT:lle kuvauksia haluamastani toiminnallisuudesta.Molemmat osasivat melko hyvin ehdottaa koodia, mikä hakee karttadataa OpenStreetMapista tietylle alueelle ja pi...</description>
        <content>&lt;p&gt;Liittyen &lt;a href=&#34;/2025/02/23/projekti-ideoita/&#34;&gt;karttavisa projekti-ideaan&lt;/a&gt;, kokeilin muutaman tunnin ajan tehdä tekoälyavusteisesti koodia, mikä piirtäisi tietyn kaupungin kartan. Pääsinkin aika pitkälle:&lt;/p&gt;
&lt;img src=&#34;/images/2025/maps/helsinki.webp&#34; alt=&#34;Helsingin kartta&#34; width=&#34;600&#34; height=&#34;600&#34; loading=&#34;lazy&#34; title=&#34;Mikä kaupunki?&#34; /&gt;
&lt;img src=&#34;/images/2025/maps/turku.webp&#34; alt=&#34;Turun kartta&#34; width=&#34;600&#34; height=&#34;600&#34; loading=&#34;lazy&#34; /&gt;
&lt;img src=&#34;/images/2025/maps/vaasa.webp&#34; alt=&#34;Vaasan kartta&#34; width=&#34;600&#34; height=&#34;600&#34; loading=&#34;lazy&#34; /&gt;
&lt;p&gt;Koodi on Pythonia, noin 200 riviä, ja tällä hetkellä suhteellisen rumaa. Luonnostelin koodia antamalla &lt;a href=&#34;https://claude.ai&#34;&gt;Claudelle&lt;/a&gt; ja &lt;a href=&#34;https://chatgpt.com/&#34;&gt;ChatGPT&lt;/a&gt;:lle kuvauksia haluamastani toiminnallisuudesta.&lt;/p&gt;
&lt;p&gt;Molemmat osasivat melko hyvin ehdottaa koodia, mikä hakee karttadataa OpenStreetMapista tietylle alueelle ja piirtää sen. Mutta ensimmäiset koodit eivät olleet mitenkään käyttökelpoisia, vaan sitä piti promptailla pitkästi paremmaksi. Lopulta pääsin ChatGPT:n avulla paremmin eteenpäin, tosin Claudesta tuli &lt;em&gt;juuri&lt;/em&gt; &lt;a href=&#34;https://www.anthropic.com/news/claude-3-7-sonnet&#34;&gt;uusi versio&lt;/a&gt;, minkä pitäisi toimia huomattavasti paremmin ohjelmointitehtävissä.&lt;/p&gt;
&lt;p&gt;Vaikein osuus oli renderöidä meri. Molemmat tekoälyt yrittivät ensin piirtää merta OSM:sta ladatun rantaviivan perusteella, mikä ei näköjään oikein ole mahdollista. Tähän vaadittiin vähän Googlea, ja oikea vastaus oli ladata &lt;a href=&#34;https://osmdata.openstreetmap.de/data/water-polygons.html&#34;&gt;valmiiksi rendatut merialueet&lt;/a&gt; ja piirtää muu aineisto niitten päälle. ChatGPT osasi ottaa tästä koppia ja palastella isosta aineistosta pienemmän ja nopeamman osion.&lt;/p&gt;
&lt;p&gt;Silti tekoälyn ansiosta pääsin tosi ripeästi itse pihviin, eli kartan ulkoasun muokkaamiseen. Koodi ei sinänsä tee mitään mitä en ymmärtäisi, mutta pelkkien kirjastojen dokumentaation avulla itse koodaten tässä olisi mennyt kauemmin.&lt;/p&gt;
</content>
        <pubDate>Tue, 25 Feb 2025 20:31:20 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2025/02/25/nyt-karttoja/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/02/25/nyt-karttoja/</guid>
        
        <category>now</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>R.I.P. Back to Work</title>
        <description>Being so far behind my podcast queue means I completely missed Back to Work podcast ending in April 2024.This was one of those podcasts where the hosts felt like your friends because I listened to them speak for 13 years. I have very specific memories of the show tied to certain locations. It also did help me do better work.So I’m sad it’s not there anymore, but nothing really is permanent. I’m also very thankful this “pound sign productivity”...</description>
        <content>&lt;p&gt;Being so far Back to Work podcast ending in April 2024.&lt;/p&gt;
&lt;p&gt;This was one of those podcasts where the hosts felt like your friends because I listened to them speak for 13 years. I have very specific memories of the show tied to certain locations. It also did help me do better work.&lt;/p&gt;
&lt;p&gt;So I’m sad it’s not there anymore, but nothing really is permanent. I’m also very thankful this “pound sign productivity” podcast existed.&lt;/p&gt;
</content>
        <pubDate>Tue, 25 Feb 2025 19:43:20 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2025/02/25/rip-back-to-work/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/02/25/rip-back-to-work/</guid>
        
        <category>podcastit</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Projekti-ideoita</title>
        <description>Pitkällä vapaalla aivot rupeavat jossain kohtaa tuottamaan projekti-ideoita. Nyt vanhempainvapaalla olen ilmeisesti päässyt siihen pisteeseen, että aivot sulaa ja rupeavat keksimään kaikkea tekemistä.Aivot ei osaa ottaa huomioon, että päivässä on oikeasti korkeintaan tunti aikaa tehdä mitään, ja sekin menee yleensä väsyneenä doom scrollatessa. Mutta sivuutetaan tämä.Muutamia projekteja mitä haluaisin tehdä:KarttavisaHesarissa oli jouluna hausk...</description>
        <content>&lt;p&gt;Pitkällä vapaalla aivot rupeavat jossain kohtaa tuottamaan projekti-ideoita. Nyt vanhempainvapaalla olen ilmeisesti päässyt siihen pisteeseen, että aivot sulaa ja rupeavat keksimään kaikkea tekemistä.&lt;/p&gt;
&lt;p&gt;Aivot ei osaa ottaa huomioon, että päivässä on oikeasti korkeintaan tunti aikaa tehdä mitään, ja sekin menee yleensä väsyneenä &lt;em&gt;doom scrollatessa&lt;/em&gt;. Mutta sivuutetaan tämä.&lt;/p&gt;
&lt;p&gt;Muutamia projekteja mitä haluaisin tehdä:&lt;/p&gt;
&lt;h2&gt;Karttavisa&lt;/h2&gt;
&lt;p&gt;Hesarissa oli jouluna &lt;a href=&#34;https://www.hs.fi/suomi/art-2000010825900.html&#34; title=&#34;Testaa, tunnetko suomalaiset kaupungit pelkän kartan avulla&#34;&gt;hauska kaupunkivisa&lt;/a&gt;, missä piti tunnistaa kaupunki kartan perusteella. Karttakuvissa näkyi pelkästään vesistöt, tiet ja rautatiet. Tämä oli minusta tosi hauska, koska käymällä eri paikoissa oppii puolivahingossa minkä muotoisia eri kaupungit on, ja nyt siitä oli jotain hyötyä.&lt;/p&gt;
&lt;p&gt;Mutta haluaisin tehdä tästä version, missä olisi enemmän kaupunkeja. Pienemmät kaupungit voivat kyllä olla aika vaikeita.&lt;/p&gt;
&lt;p&gt;Tässä on ohjelmointia sen verran, että pitäisi skriptillä luoda OpenStreetMapin kartta-aineiston perusteella kartta kustakin kaupungista. (Kokeilin tätä, ja AI:n avulla pääsin melko pitkälle.) Kuvien ympärille pitäisi lisäksi rakentaa joku visailumoottori. Näitäkin saattaa löytyä valmiina.&lt;/p&gt;
&lt;h2&gt;Kotiseudun dokumentointi ja kartat&lt;/h2&gt;
&lt;p&gt;Arvostan miten esimerkiksi Tony Hagerlund on koonnut &lt;a href=&#34;https://www.hagerlund.net/fi/espoon-historia&#34;&gt;Espoon historiaa&lt;/a&gt; ja &lt;a href=&#34;https://www.hagerlund.net/fi/kuvia&#34;&gt;kuvannut itse vuosien ajan Espoota&lt;/a&gt;. Törmään näihin silloin tällöin kun etsin tietoa Espoosta. Äitini taas on inventoinnut Vantaan rakennusperintöä laajasti ja kirjoittanut aiheesta &lt;a href=&#34;https://www.vantaansanomat.fi/paikalliset/5591267&#34;&gt;kirjankin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Tämä on vielä näistä hähmäisin idea, mutta haluaisin tehdä jotain samassa aihepiirissä, joskin &lt;strong&gt;paljon&lt;/strong&gt; rajatummin. Esimerkiksi digitaalinen julkaisu omasta kotikadusta tai joistain yksittäisistä lähiseudun paikoista. En jaksa kaivautua historiaan yhtä paljon, mutta paikkojen jatkuvasti muuttuessa tilannekuva vuodelta 2025 voisi jossain kohtaa olla arvokas.&lt;/p&gt;
&lt;p&gt;Toisaalta voisin vain fiilistellä karttoja. Tietokone osaa tehdä &lt;a href=&#34;https://maps.stamen.com/watercolor/#15/60.2367/24.7311&#34;&gt;vesivärimaalauksen näköisiä karttoja&lt;/a&gt;, mutta voisi olla hauskalla tavalla tyhmää maalata itse vesiväreillä joku kartta.&lt;/p&gt;
&lt;h2&gt;Podcast-listojen julkaisu&lt;/h2&gt;
&lt;p&gt;Voisin vannoa, että tällainen palvelu oli jo joskus, mutta en löydä mitenkään: ideana olisi  tehdä  nettisivu, jolle voi ladata listam kuuntelemistaan podcasteista (listan saa usein podcast-soittimesta &lt;a href=&#34;https://en.wikipedia.org/wiki/OPML&#34; title=&#34;Outline Processor Markup Language&#34;&gt;OPML&lt;/a&gt;-muodossa). Nettisivu loisi tästä henkilökohtaisen sivun, mikä listaa podcastit nätisti. Sivua voisi jakaa muille tai upottaa listan kotisivuilleen jonain upotuksena.&lt;/p&gt;
&lt;h2&gt;Swift&lt;/h2&gt;
&lt;p&gt;Applen alustoille koodaaminen on siirtymässä Swift-kielelle ja tekisi mieli kokeilla sitä jossain käytännön projektissa. Nämä ovat prioriteettilistan hännillä, mutta ehkä joskus:&lt;/p&gt;
&lt;h3&gt;Paasto-appis&lt;/h3&gt;
&lt;p&gt;Käytin taannoin pätkäpaastojen seurantaan &lt;a href=&#34;https://apps.apple.com/us/app/zero-fasting-health-tracker/id1168348542&#34;&gt;Zero&lt;/a&gt;-nimistä appia, mutta siinä on nykyään &lt;strong&gt;todella raskaasti&lt;/strong&gt; lisämyyntiä, ja uutuutena kirjautumispakko. Olisi kiva tehdä vaikka vain omaan käyttöön oma, riisuttu versio tästä. Itse appi ei ole kovin monimutkainen: käynnistä ajastin ja hälytä kun se on valmis. Lisäksi jotain kevyttä statistiikkaa aikaisemmista paastoista.&lt;/p&gt;
&lt;h3&gt;Checklist-applikaatio&lt;/h3&gt;
&lt;p&gt;Kotoa lähtiessä jää melkein aina joku asia kotiin: avaimet, puhelin, lompakko, kello… Samoja haasteita on muissakin usein toistuvissa tehtävissä. Yksi apuväline voisi olla tarkistuslista, mistä voisi nopeasti tarkistaa onko kaikki tarvittavat asiat tehty. Listojen pitäisi olla helposti uudelleen­käytettäviä, minkä takia esim. todo-applikaatiot eivät yleensä oikein toimi tähän. Listat voisivat myös olla widgettejä puhelimessa, jolloin ei tarvitsisi avata applikaatiota – iOS:n widgetit sallivat nykyään jotain interaktiotakin.&lt;/p&gt;
&lt;p&gt;Tällaisia saattaa olla jo, mutta en nopeasti hakemalla löytänyt sopivaa.&lt;/p&gt;
&lt;h2&gt;Lastenlelun laulujen tunnistaminen&lt;/h2&gt;
&lt;div class=&#34;float-image min-300&#34;&gt;
&lt;img src=&#34;/images/2025/tinylove.webp&#34; width=&#34;200&#34; height=&#34;200&#34; alt=&#34;Tiny Love -lelun mukana tullut musiikkia soittava lintu&#34; /&gt;
&lt;p&gt;Molemmat vauvat ovat leikkineet lelukaarella, jossa on mukana musiikkia soittava lintu. Lintu osaa 20 erilaista kappaletta, jotka ovat noin minuutin mittaisia, klassisen musiikin ja ragtime-musiikin MIDI-versioita.&lt;/p&gt;
&lt;p&gt;Nämä ensinnäkin soi päässä jatkuvasti, mutta se myös häiritse kun en tiedä mitä kappaleet ovat, vaikka lista on suurin piirtein klassisen musiikin TOP-20. Projektina olisi etsiä kaikki kappaleet ja koota näistä joku lista nettiin. Tämä on hyvin tärkeää.&lt;/p&gt;
&lt;/div&gt;</content>
        <pubDate>Sun, 23 Feb 2025 18:59:33 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2025/02/23/projekti-ideoita/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/02/23/projekti-ideoita/</guid>
        
        <category>elämä</category>
        
        <category>now</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>TV Series Costs Are Bananas</title>
        <description>This tidbit about Apple TV+&#39;s ‘Severance’ caught my eye: From Hollywood Reporter (via MacRumors):Puck reported that this season of Severance approached the price tag of $20 million per episode. Stiller declines to state a budget for the show, saying: “Both seasons have been interrupted by these force majeure things that threw everything upside down, so it’s never had a regular season where you could just say, ‘Yeah, this is what it is.’It’s no...</description>
        <content>&lt;p&gt;This tidbit about Apple TV+&#39;s ‘Severance’ caught my eye: From &lt;a href=&#34;https://www.hollywoodreporter.com/tv/tv-features/ben-stiller-severance-apple-filmmaking-parents-documentary-1236126909/&#34;&gt;Hollywood Reporter&lt;/a&gt; (via &lt;a href=&#34;https://www.macrumors.com/2025/02/07/severance-season-3-work-now-underway/&#34;&gt;MacRumors&lt;/a&gt;):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Puck&lt;/em&gt; reported that &lt;strong&gt;this season of Severance approached the price tag of $20 million per episode&lt;/strong&gt;. Stiller declines to state a budget for the show, saying: “Both seasons have been interrupted by these force majeure things that threw everything upside down, so it’s never had a regular season where you could just say, ‘Yeah, this is what it is.’&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It’s not anything new, but I always forget just how much money is poured into making these “prestige TV” shows. $20 million &lt;em&gt;per episode&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;And apparently ‘Severance’ is not even the worst. The Marvel Cinematic Universe shows are said to have cost up to $25 million per episode:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Disney is sparing no expense on programming, projecting a 2020 original content budget short of $1 billion. The Mandalorian is said to cost $15 million an episode, for instance, and a source pegs Marvel entries The Falcon and the Winter Soldier, WandaVision and Hawkeye at as much as $25 million per episode. [&lt;a href=&#34;https://www.hollywoodreporter.com/movies/movie-features/bob-iger-bets-company-hollywood-s-future-streaming-1247663/&#34;&gt;Hollywood Reporter&lt;/a&gt;]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wikipedia naturally has a ‘&lt;a href=&#34;https://en.wikipedia.org/wiki/List_of_most_expensive_television_series&#34;&gt;List of most expensive television series&lt;/a&gt;’.&lt;/p&gt;
&lt;p&gt;“Big” Finnish movies typically have budgets around 1–3 million euros, so with $20 million you could make like ten movies here!&lt;/p&gt;
&lt;p&gt;That’s a very apples to oranges comparison for sure, but it’s fun to think about what “more” you get production-wise for the $20M. Bigger stars, more expensive directors, lots of CGI… I bet the catering is better too.&lt;/p&gt;
</content>
        <pubDate>Wed, 12 Feb 2025 20:09:34 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2025/02/12/tv-series-costs-are-bananas/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/02/12/tv-series-costs-are-bananas/</guid>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Hacker News Bots</title>
        <description>In 2011 I created a few Twitter bots that would find posts from Hacker News and post them to Twitter. The bots would only post links that had over 200, 250, or 500 points, so that you could follow the bot and only see the good  (most upvoted) stuff on Hacker News.I recreated the bots in Mastodon after the great Twitter exodus in 2022. After that Twitter ended their API access and the bots ceased working there. Recently a person contacted me an...</description>
        <content>&lt;p&gt;In 2011 I created a few Twitter bots that would find posts from &lt;a href=&#34;https://news.ycombinator.com&#34;&gt;Hacker News&lt;/a&gt; and post them to Twitter. The bots would only post links that had over 200, 250, or 500 points, so that you could follow the bot and only see the good  (most upvoted) stuff on Hacker News.&lt;/p&gt;
&lt;p&gt;I recreated the bots in Mastodon after the great Twitter exodus in 2022. After that Twitter ended their API access and the bots ceased working there. Recently a person contacted me and requested to bring the bots also to Bluesky, which I now managed to do.&lt;/p&gt;
&lt;h2&gt;Mastodon&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://toot.community/@newsyc200&#34;&gt;@newsyc200@toot.community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://toot.community/@newsyc250&#34;&gt;@newsyc250@toot.community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://toot.community/@newsyc300&#34;&gt;@newsyc300@toot.community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://toot.community/@newsyc500&#34;&gt;@newsyc500@toot.community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://toot.community/@newsyc750&#34;&gt;@newsyc750@toot.community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://toot.community/@newsyc1000&#34;&gt;@newsyc1000@toot.community&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bluesky&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/newsyc200.bsky.social&#34;&gt;newsyc200.bsky.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/newsyc250.bsky.social&#34;&gt;newsyc250.bsky.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/newsyc500.bsky.social&#34;&gt;newsyc500.bsky.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/newsyc750.bsky.social&#34;&gt;newsyc750.bsky.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/newsyc1000.bsky.social&#34;&gt;newsyc1000.bsky.social&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are multiple bots to let people balance the amount of links they see. Personally I like to 250 points level which posts around 10 links a day.&lt;/p&gt;
&lt;p&gt;The 750 and 1000 point accounts didn’t exist before, but I added those now. I’m not sure, but I feel there’s been some inflation in Hacker News, and more posts go over 500 points. Some data scientist somewhere has probably crunched the numbers.&lt;/p&gt;
&lt;p&gt;P.S. I’m a bit worried about the Bluesky accounts, as there doesn’t seem to be a way to mark the profiles as being bots. Mastodon has a clear checkbox “this is an automated account” and I checked with Toot.community admins that it’s OK to create these bots. We’ll see how it goes with Bluesky.&lt;/p&gt;
</content>
        <pubDate>Tue, 11 Feb 2025 20:24:30 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2025/02/11/hacker-news-bots/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/02/11/hacker-news-bots/</guid>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Everyday Carry</title>
        <description>I discovered “Slash Pages” somewhere and while I don’t think these are very discoverable, some of them are good writing prompts.I started by documenting what I /carry everyday.</description>
        <content>&lt;p&gt;I discovered “&lt;a href=&#34;https://slashpages.net&#34;&gt;Slash Pages&lt;/a&gt;” somewhere and while I don’t think these are very discoverable, some of them are good writing prompts.&lt;/p&gt;
&lt;p&gt;I started by documenting &lt;a href=&#34;/carry&#34;&gt;what I &lt;code&gt;/carry&lt;/code&gt; everyday&lt;/a&gt;.&lt;/p&gt;
</content>
        <pubDate>Fri, 07 Feb 2025 12:13:00 +0000</pubDate>
        <dc:creator>Oiva Eskola</dc:creator>
        <link>https://oivaeskola.fi/carry</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/02/07/carry/</guid>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Simulennon Airbus A321 -simulaattori</title>
        <description>Huomasin viime vuonna Instagramissa Simulento-nimisen yrityksen päivityksen: Joku oli rakentanut Helsingissä Airbus A321 -lentokoneen ohjaamon missä pääsi kokeilemaan Airbusilla lentämistä.Kiinnostuin, koska olen pelannut kotona Microsoft Flight Simulatorilla (MSFS) ja keskittynyt siinä nimenomaan Airbusin A320 -koneella lentämiseen.Lentosimulaattorit on yksi aihe, missä pelkään sanoa “harrastavani” jotain. Olen pelannut MSFS:a ehkä 80 tuntia ...</description>
        <content>
          <img src="/images/2025/simulaattori-small.webp"
            srcset="/images/2025/simulaattori.webp 2x"
            alt="Oiva näyttämässä peukkua Airbus-simulaattorin kapteenin penkillä onnistuneen laskeutumisen jälkeen"
            width="686"
            height="386" />
        &lt;p&gt;Huomasin viime vuonna Instagramissa &lt;a href=&#34;https://www.instagram.com/simulento&#34;&gt;Simulento&lt;/a&gt;-nimisen yrityksen päivityksen: Joku oli rakentanut Helsingissä Airbus A321 -lentokoneen ohjaamon missä pääsi kokeilemaan Airbusilla lentämistä.&lt;/p&gt;
&lt;p&gt;Kiinnostuin, koska olen pelannut kotona Microsoft Flight Simulatorilla (MSFS) ja keskittynyt siinä nimenomaan Airbusin A320 -koneella lentämiseen.&lt;/p&gt;
&lt;p&gt;Lentosimulaattorit on yksi aihe, missä pelkään sanoa “harrastavani” jotain. Olen pelannut MSFS:a ehkä 80 tuntia ja osaan siinä lentää sen verran, että saan Airbusin   yleensä ehjänä takaisin, autopilotilla tai ilman.&lt;/p&gt;
&lt;p&gt;Lentosimulaattorit on kuitenkin aihe, missä riittää ihan loputtomasti opeteltavaa ja Oikeat Harrastajat ovat opiskelleet lentämistä ja ilmailun sääntöjä niin paljon, että olisivat, tai ovat oikeasti päteviä lentämään.&lt;/p&gt;
&lt;p&gt;En itse jaksa enkä pysty panostamaan aiheeseen yhtä paljon, mutta tykkään kasuaalista liikennelentokoneella lentämisestä. Siinä on samaa hauskaa haastetta kuin kokkaamisessa: pitää hallita useampia aikakriittisiä tehtäviä ja samalla yrittää havainnoida mitä lentokoneelle tai lihapullille tapahtuu. Mutta en muista kenttien &lt;a href=&#34;https://www.youtube.com/watch?v=jfOUVYQnuhw&#34;&gt;ICAO-koodeja&lt;/a&gt; tai lennonjohtotornien radiotaajuuksia ulkoa.&lt;/p&gt;
&lt;h2&gt;Tutustumislento&lt;/h2&gt;
&lt;p&gt;Halusin joka tapauksessa päästä kokeilemaan miltä lentäminen tuntuisi oikeassa ohjaamossa. Kotona pelaan joystickillä, näppäimistöllä, ja hiirellä. Sainkin “sattumalta” joululahjaksi lahjakortin Simulennon tutustumis­lennolle.&lt;/p&gt;
&lt;p&gt;Noin tunnin mittaisella tutustumislennolla käynnistetään lentokone, tehdään lentosuunnitelma, ja lennetään pieni lenkki Helsinki-Vantaan lentokentältä. Asiakas saa toimia koneen kapteenina, eli käytännössä nousta ja laskeutua. Simulennon pyörittäjä Mikko Saarvola toimii perämiehenä ja opastaa koneen lentämisessä.&lt;/p&gt;
&lt;h2&gt;Simulaattori&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://www.simulento.fi&#34;&gt;Simulennon simulaattori&lt;/a&gt; sijaitsee Helsingin Alppilassa. Mikko on &lt;a href=&#34;https://www.simulento.fi/2024/02/29/airbus-a321-simulaattori-projekti/&#34;&gt;rakentanut A321:n ohjaamoa vuodesta 2020&lt;/a&gt;. Minulla ei ole kokemusta kuin MSFS:ta, mutta ohjaamo vaikutti omaan silmään hyvin aidolta. Mitään hydrauliikkoja ei ole, eli ohjaamo ei heilu, mutta en tiedä miten paljon se toisi lisää tavanomaisessa lentelyssä.&lt;/p&gt;
&lt;p&gt;Äänet on vakuuttavat, ja esimerkiksi maassa rullatessa kentän epätasaisuudet huomaa hyvin – penkkeihin asennetut “bass shakerit” auttaa tässä.&lt;/p&gt;
&lt;p&gt;Simulennon simulaattori on rakennettu toisen tunnetun simulaattoripelin, &lt;a href=&#34;https://www.x-plane.com/pro/&#34;&gt;X‑Plane Pro&lt;/a&gt;:n päälle. Jos ymmärsin oikein, niin itse rakennetun ohjaamon liittäminen peliin on toteutettu paremmin X‑Plane:ssa kuin MSFS:ssa.&lt;/p&gt;
&lt;p&gt;MSFS:n etu taas on omaan silmään paremmat grafiikat. Ympäristö on mallinnettu luomalla satunnaisia taloja &lt;a href=&#34;/2013/05/29/openstreetmap/&#34;&gt;OpenStreetMapin&lt;/a&gt; karttadatan perusteella, eli talot ovat oikealla paikalla ja usein oikean kokoisia, mutta eivät oikean näköisiä. Lisäksi MSFS:ssa on käsin mallinnettu kuuluisia taloja ja nähtävyyksiä.&lt;/p&gt;
&lt;p&gt;Grafiikoilla ei toki kauheasti ole väliä kun lennetään korkealla, mutta loppulähestymiseen olisin kaivannut enemmän tuttuja maamerkkejä.&lt;/p&gt;
&lt;p&gt;Kaiken kaikkiaan simulaattorilla lentäminen oli tosi mukava kokemus. Kotona PC:llä virtuaaliohjaamon nupikoiden kääntäminen hiirellä on aina vähän kankeaa. Oikeiden vipujen ja rullien käyttäminen simulaattorissa on paitsi selkeää, myös tuntuu hyvältä. Laskusiivekkeiden laskeminen oikealla vivulla *thonk* on vain hauskempaa kuin joystickin “flaps down” -napin painaminen.&lt;/p&gt;
&lt;h2&gt;Hinta&lt;/h2&gt;
&lt;p&gt;Tutustumislennolla oli hintaa 60 €, mistä olen vähän kahta mieltä. Oletan, että lentosimulaattorien käyttäjäkunta on paljolti kaltaisiani keski-ikäisiä miehiä, ja varsinkin lahjaksi annettavasta lennosta voisi mielestäni pyytää helposti enemmänkin.&lt;/p&gt;
&lt;p&gt;Mikko perusteli halpaa hintaa sillä, että haluaa tarjota isommalle joukolle mahdollisuuden päästä kokeilemaan lentämistä ja varsinkin nuorilla hinta voi nopeasti tulla esteeksi. Tämä on kieltämättä hieno tavoite. Taviksille suunnatuilla kilpailijoilla vastaavat lennot ovat 100–200 € ja Finnairin simut &lt;a href=&#34;https://www.take-off.fi/palvelutjahinnastot/full-flight--simulaattorit&#34;&gt;noin 500 € / h&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Mutta toisaalta toivon, että Simulento tuottaa tarpeeksi rahaa, jotta toimintaa on mielekästä jatkaa ja pääsen joskus toisenkin kerran kun ruuhkavuodet vähän hellittää.&lt;/p&gt;
&lt;p&gt;Kannattaa käydä kokeilemassa jos vain aihepiiri kiinnostaa yhtään!&lt;/p&gt;
</content>
        <pubDate>Mon, 03 Feb 2025 20:53:00 +0000</pubDate>
        <dc:creator>Oiva Eskola</dc:creator>
        <link>https://oivaeskola.fi/2025/02/03/simulento/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/02/03/simulento/</guid>
        
        <category>lentäminen</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>There are no simple videos</title>
        <description>I sometimes watch train videos on YouTube. They seem simple: strap a camera in front of a train and shoot the train running its route. For example:&lt;iframe  width=&#34;560&#34;  height=&#34;315&#34;  src=&#34;https://www.youtube-nocookie.com/embed/zCoCOHOYd28?si=8iB4B6kC6yPkgjfK&#34;  srcdoc=&#34;▶&#34;  title=&#34;YouTube video player&#34;  frameborder=&#34;0&#34;  allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34;  referrerpolicy=&#34;st...</description>
        <content>&lt;p&gt;I sometimes watch train videos on YouTube. They seem simple: strap a camera in front of a train and shoot the train running its route. For example:&lt;/p&gt;
&lt;iframe
  width=&#34;560&#34;
  height=&#34;315&#34;
  src=&#34;https://www.youtube-nocookie.com/embed/zCoCOHOYd28?si=8iB4B6kC6yPkgjfK&#34;
  srcdoc=&#34;&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube-nocookie.com/embed/zCoCOHOYd28?si=8iB4B6kC6yPkgjfK&amp;autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/zCoCOHOYd28/hqdefault.jpg alt=&#39;St-Triphon - Lausanne - Basel cab ride [10.2021] Führerstandsmitfahrt Swiss train&#39; loading=&#39;lazy&#39;&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;&#34;
  title=&#34;YouTube video player&#34;
  frameborder=&#34;0&#34;
  allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34;
  referrerpolicy=&#34;strict-origin-when-cross-origin&#34;
  allowfullscreen
  loading=&#34;lazy&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;There are tons of these “cab view” videos on YouTube. I quite like them because I like trains (choo-choo!) and I also like to see driving videos if those are more your thing.&lt;/p&gt;
&lt;p&gt;Having seen a few of these, I noticed I kind of disliked some of them. Even when the concept is so simple (train + camera + time), there are still ways to make them “good” or “bad.”&lt;/p&gt;
&lt;p&gt;This got me thinking about how many creative decisions you can and &lt;em&gt;need&lt;/em&gt; to make, even in a seemingly simple project like a “train video.”&lt;/p&gt;
&lt;p&gt;So just for fun, I started to enumerate these decisions. This might not be a very useful thing to do, but I need to stop thinking about this :)&lt;/p&gt;
&lt;h2&gt;What’s the purpose of the video?&lt;/h2&gt;
&lt;p&gt;Many of the following creative decisions come down to the purpose of the video. Who is the video for, and what does it try to achieve? The purpose could be one of:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;You want to showcase your beautiful country and the vistas along the route. The train is the ‘camera’ that films these incredible places.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Same but different; maybe you want to show what it would be like to travel on this route as a passenger. Take the viewer on a journey they wouldn’t otherwise be able to take.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You want to show how exciting (or dull) it’s like to drive a train along a certain route, for example, a busy local line in Tokyo. Maybe the driver is visible on screen.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;…or you have a train and a camera and just want to document the track without thinking the viewer too much.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Before filming&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;What route do you choose? The most beautiful, interesting, or &lt;a href=&#34;https://www.youtube.com/watch?v=3rDjPLvOShM&#34;&gt;longest&lt;/a&gt;? Or the one you happen to have access to? Are you slowly documenting every piece of track that exists?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;What happens if it’s raining? Do you try again later or go with it? There are some Finnish videos where rain makes the video worse because you are either looking at water droplets on the window or a windshield wiper swishing around.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Do you shoot introductory footage of the actual train beforehand? It can be nice to know what kind of train we are riding. Especially if it’s some special attraction train.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;
  &lt;a href=&#34;/images/2025/black-ship-train.webp&#34;&gt;
    &lt;img src=&#34;/images/2025/black-ship-train.webp&#34; width=&#34;686&#34; height=&#34;379&#34; alt=&#34;Black Ship Train, Japan&#39;s &#39;most luxurious local train&#39;.&#34; loading=&#34;lazy&#34; &gt;
  &lt;/a&gt;
  &lt;figcaption&gt;&#39;Black Ship Train&#39;, Japan&#39;s &#34;most luxurious local train.&#34; From &lt;a href=&#34;https://www.youtube.com/watch?v=2ujPzcFmfic&#34;&gt;Driver&#39;s View of IZUKYU Resort21, from Izukyu Shimoda to Izukogen&lt;/a&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Picture&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Where do you put the camera? Do you have access to the engine and can place the camera on the windshield? Or are you filming through a transparent wall behind the driver? You’ll see the driver, but don’t see the track as well.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Do you attach the camera outside? Do you also record sound outside? That can be of low quality.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How do you attach the camera? Can you dampen shaking from the train or do this in post? (I don’t know if that’s possible or not.)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;What is visible on screen? The driver? Parts of the engine? If you are showcasing a beautiful route, then probably nothing else should be on the screen.&lt;/p&gt;
&lt;figure&gt;
  &lt;a href=&#34;/images/2025/cabview-1.webp&#34;&gt;
    &lt;img src=&#34;/images/2025/cabview-1.webp&#34; width=&#34;654&#34; height=&#34;354&#34; alt=&#34;Screenshot from a Swiss train video. The image is framed so that the train is not visible. The view is beautiful with the railroad tracks laid in the banks of a lake.&#34; loading=&#34;lazy&#34; /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;Example 1: The focus is in the view. Screenshot from &lt;a href=&#34;https://www.youtube.com/watch?v=zCoCOHOYd28&#34;&gt;St-Triphon - Lausanne - Basel cab ride&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
  &lt;a href=&#34;/images/2025/cabview-2.webp&#34;&gt;
    &lt;img src=&#34;/images/2025/cabview-2.webp&#34; width=&#34;654&#34; height=&#34;355&#34; alt=&#34;Screenshot from a Japanese train video. Parts of the engine or cabin are visible framing the tracks, and a windshield wiper is resting on the window. The track goes through a snowy Japanese city with two-storey houses and what looks like a mountain ridge in the horizon.&#34; loading=&#34;lazy&#34; /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;Example 2: parts of the engine are visible. Screenshot from &lt;a href=&#34;https://www.youtube.com/watch?v=_u-l31NeNjo&amp;t=9069s&#34;&gt;Takayama Line Wide View Express Train &#34;Hida&#34; No.3 Nagoya to Toyama, Japan&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
  &lt;a href=&#34;/images/2025/cabview-3.webp&#34;&gt;
    &lt;img src=&#34;/images/2025/cabview-3.webp&#34; width=&#34;654&#34; height=&#34;356&#34; alt=&#34;Screenshot from a Japanese train video. The train driver in a round hat is visible in the left part of the image and parts of the train&#39;s controls in front of him. The train is going through a big Japanese city with at least five tracks going side by side.&#34; loading=&#34;lazy&#34; /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;Example 3: The train&#39;s driver is doing their job. Screenshot from &lt;a href=&#34;https://www.youtube.com/watch?v=ADKJb12Oxbg&#34;&gt;Let&#39;s Ride The Yamanote Line In Tokyo&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Of course all the normal decisions for capturing images apply here too: a sensible exposure, and you’ll probably want a deep depth of field.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Frame rate? 60 fps is probably good for smooth motion.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Sound&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Are you allowed or able to record sound in the engine? The signal sounds can be meaningful if you want to depict the driver’s role.&lt;/li&gt;
&lt;li&gt;If you are filming a passenger train, do you want ambient sound from the passenger side as well? The conductor’s announcements are one key part from a passenger’s point of view.&lt;/li&gt;
&lt;li&gt;Do you add music to your video? (Don’t.)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Editing&lt;/h2&gt;
&lt;p&gt;Alright, you have all the footage in the can, but we are not done!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Maybe the video should have an introduction of the route or the train? These can be valuable to place the viewer.&lt;/li&gt;
&lt;li&gt;During the trip, the train stops at a station. Do you include the whole time the train is standing still, cut it away, or fast-forward? Sure, it’s very boring to just wait there for a few minutes, but it’s also not “realistic” to skip it. You could also add a countdown timer telling when the train is about to depart and let the viewer skip the wait if they choose so.
&lt;ul&gt;
&lt;li&gt;A very long tunnel appears. Cameras have trouble adapting to darkness, and the following two minutes are just darkness? Do you cut that?&lt;/li&gt;
&lt;li&gt;The train has to make an unscheduled stop in the middle of nowhere. Do you fast-forward or cut that?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;What labels do you add to the video? Names of stations probably should be there, but what about other noteworthy places?
&lt;ul&gt;
&lt;li&gt;Should you label the tunnels or bridges and their lengths? Could be interesting, or at least set the expectation how long the tunnel will take.&lt;figure&gt;
  &lt;img src=&#34;/images/2025/tunnel.webp&#34; width=&#34;622&#34; height=&#34;311&#34; alt=&#34;Screenshot from train video  showing a tunnel. A label on screen says &#39;Fürten II Tunnel, 609 m (1913)&#39;&#34; loading=&#34;lazy&#34; /&gt;
  &lt;figcaption&gt;
    &lt;a href=&#34;https://www.youtube.com/watch?v=x8ez4XNT080&amp;t=8584s&#34;&gt;Basel - Kandersteg - Brig Re 6/6 cab ride&lt;/a&gt;
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;Are you educating the viewer about things the driver needs to observe? Speed limits, signals, etc. You could label all these, but it’s a ton of work.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Some sort of conclusion&lt;/h2&gt;
&lt;p&gt;The list of decisions here is not an exhaustive list, but what came to mind watching these videos. A more free-form video would have a ton more decisions to make, including editing multiple shots together, pacing, and sound design.&lt;/p&gt;
&lt;p&gt;I guess the point I’m making here is that any creative endeavor that tries to be good comes with tons of creative decisions to make. Thinking about them is easier if you have some sort of idea of the purpose of the work, or in this case who is the viewer and how to serve them. I’ve seen too many time-lapse and drone videos that suffer from not having an idea and just dumping all footage they have on hand. Be a bit more mindful!&lt;/p&gt;
</content>
        <pubDate>Fri, 31 Jan 2025 19:46:00 +0000</pubDate>
        <dc:creator>Oiva Eskola</dc:creator>
        <link>https://oivaeskola.fi/2025/01/31/no-simple-videos/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/01/31/no-simple-videos/</guid>
        
        <category>youtube</category>
        
        <category>trains</category>
        
        <category>videos</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Storytel Readerin korvaaminen Onyx Boox tabletilla</title>
        <description>Perheessämme oli Storytelin lukulaite (Storytel Reader), kunnes siitä hajosi näyttö. Lukulaitteiden näytöt ovat aika herkkiä.‘Reader’ oli kelpo E ink -lukulaite, jolla pystyi lukemaan ja kuuntelemaan Storytelin tilaukseen kuuluvaa kirjavalikoimaa.Valitettavasti Storytel oli sillä välin lopettanut laitteen valmistuksen, joten uutta ei pystynyt hankkimaan. Storytel kertoo laitteen valmistuksen lopettamisesta:Strategisesta näkökulmasta katsoen ol...</description>
        <content>&lt;img src=&#34;/images/2025/IMG_1677.webp&#34; alt=&#34;Vasemmalla rikkinäinen Storytel Reader, oikealla Onyx Boox Go -lukulaite&#34; width=&#34;686&#34; height=&#34;477&#34; loading=&#34;lazy&#34; /&gt;
&lt;p&gt;Perheessämme oli Storytelin lukulaite (&lt;a href=&#34;https://www.storytel.com/fi/c/reader&#34;&gt;Storytel Reader&lt;/a&gt;), kunnes siitä hajosi näyttö. Lukulaitteiden näytöt ovat aika herkkiä.&lt;/p&gt;
&lt;p&gt;‘Reader’ oli kelpo &lt;abbr title=&#39;&#34;sähköpaperinäyttö&#34;&#39;&gt;E ink&lt;/abbr&gt; -lukulaite, jolla pystyi lukemaan ja kuuntelemaan Storytelin tilaukseen kuuluvaa kirjavalikoimaa.&lt;/p&gt;
&lt;p&gt;Valitettavasti Storytel oli sillä välin lopettanut laitteen valmistuksen, joten uutta ei pystynyt hankkimaan. Storytel kertoo &lt;a href=&#34;https://support.storytel.com/hc/fi/articles/13875414424732-Miksi-Storytel-Readerin-valmistus-lopetetaan&#34;&gt;laitteen valmistuksen lopettamisesta&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Strategisesta näkökulmasta katsoen olemme ohjelmistoyhtiö. Näin ollen emme jatka laitevalmistajana.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Tämä kuulostaa vähän kehnolta selitykseltä, koska Storytel ei (tietenkään) itse valmistanut lukulaitettaan.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/ntherning/StorytelReaderMods?tab=readme-ov-file#versions&#34;&gt;Reader oli luultavasti&lt;/a&gt; E ink -laitevalmistaja Onyxin ns. &lt;em&gt;whitelabel&lt;/em&gt;-malli, Android-laite, jossa ajettiin pelkästään Storytelin omaa applikaatiota.&lt;/p&gt;
&lt;p&gt;Uskon kyllä, että laitteen myymisestä kuluttajille ja takuuvaihdoista yms. aiheutuu yritykselle vaivaa. Ehkä ohjelmiston kehittäminen vanhaan Android-laitteeseen oli myös hankalaa. Mutta toisaalta Reader toimi sellaisenaan riittävän hyvin.&lt;/p&gt;
&lt;p&gt;Readerille on myös edelleen kysyntää: tori.fi:ssä on koko ajan useita ilmoituksia, joissa halutaan ostaa Storytel Reader. Myynti-ilmoituksia ei tällä hetkellä ole yhtään.&lt;/p&gt;
&lt;h2&gt;Storytelin käyttäminen Onyx Go -lukulaitteella&lt;/h2&gt;
&lt;p&gt;Tutkimme olisiko markkinoilla muita lukulaitteita, joilla voisi lukea Storytelin e-kirjoja.&lt;/p&gt;
&lt;p&gt;Storytel itse &lt;a href=&#34;https://support.storytel.com/hc/fi/articles/13875414424732-Miksi-Storytel-Readerin-valmistus-lopetetaan&#34;&gt;väittää&lt;/a&gt;, että Storytel (applikaatio) ei toimi muilla lukulaitteilla:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Voinko käyttää jotain muita lukulaitteita Storytel e-kirjojen lukemiseen? (Kindle, Onyx jne.)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Et, mutta voit lukea e-kirjoja lataamalla Storytel-sovelluksen älylaitteisiin, kuten älypuhelimiin ja tabletteihin, joissa on vähintään Android 5- tai iOS 15 -käyttöjärjestelmä.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ilmeni, että tämä on tavallaan virheellistä tietoa. Nyt mennään määritelmäkysymyksiin, mutta esimerkiksi hankkimamme &lt;a href=&#34;https://shop.boox.com/products/gocolor7&#34;&gt;Onyx Boox Go Color&lt;/a&gt; on “Android-tabletti”, mutta se on &lt;em&gt;myös&lt;/em&gt; “lukulaite”, koska siinä on E ink -näyttö.&lt;/p&gt;
&lt;p&gt;Boox Go -tabletissa on Google Play -sovelluskauppa ja &lt;a href=&#34;https://play.google.com/store/apps/details?id=grit.storytel.app&amp;amp;hl=fi&amp;amp;pli=1&#34;&gt;Storytelin applikaatio on tarjolla Play -kaupassa&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Storytelin asentaminen ei siis vaadi muuta kikkailua tai hakkerointia kuin kirjautumisen Google-tunnuksilla ja sovelluksen lataamisen kaupasta lukulaitteeseen.&lt;/p&gt;
&lt;p&gt;Saman pitäisi onnistua myös Onyx Boox Page -tabletilla, mutta tätä en ole kokeillut.&lt;/p&gt;
&lt;h2&gt;Mikä toimii hyvin?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Tärkein ensin: Boox Go Coloriin asennettu Storytel -applikaatio pystyy samaan kuin Storytel Reader: lukemaan e-kirjoja ja kuuntelemaan äänikirjoja (tosin vain langattomilla bt-kuulokkeilla.)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Play-kaupasta saa asennettua muitakin sovelluksia, esimerkiksi Amazon Kindlen, Nextoryn, tai Bookbeatin. Boox-tabletti toimii siis edelleen lukulaitteena vaikka Storytel-tilauksen lopettaisi.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Taustavalon kirkkautta ja väriä pystyy säätämään helposti&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Boox Go Colorissa on nimensä mukaisesti värinäyttö, mistä voi olla iloa kuvien kanssa. Värit ovat kyllä hieman hailakat.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Mikä ei toimi hyvin?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Boox-tabletissa on sivunvaihto­napit, mutta nämä eivät toimi Storytel-applikaatiossa. Toisissa applikaatioissa (esim. Kindle) sama ongelma on kierretty niin, että sivunvaihto­napit voi vaihtaa toimimaan äänen­voimakkuuden säätiminä. Applikaatio osaa sitten tulkita äänenvoimakkuuden muuttumisen sivunvaihdoksi. Storytelin applikaatioon ei ole toteutettu samaa ominaisuutta.&lt;/p&gt;
&lt;p&gt;En ole tutkinut saisiko ongelman nappien kanssa kierrettyä jotenkin muuten, mutta sivun vaihtaminen toimii myös näytöstä tökkäämällä.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Play-kaupan Storytel-sovellus ei ole ihan yksi yhteen sama kuin Readerissä ollut sovellus. Sovellus ei ole varsinaisesti suunniteltu E ink -näytöille, vaan “tavallisille” tableteille. Esimerkiksi Storytelin etusivulla pyörii animaatioita, jotka eivät oikein toimi E ink -näytöllä.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Näyttö on tarkka, mutta oletusasetuksilla Storytel-sovelluksen teksti näyttää minun silmään hieman suttuiselta. Tähän vaikuttaa useampi eri asetus tabletin “E-ink Centerissä”, muun muassa applikaatiokohtainen näytön tarkkuus, jolla saa skaalattua koko applikaatiota isommaksi tai pienemmäksi.&lt;/p&gt;
&lt;p&gt;Parhaan lopputuloksen saa vain kokeilemalla eri asetuksia. Meillä on käytössä ainakin “High Contrast” ja “DPI Setting 350”.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Miksi Onyx Boox Go on niin kallis?&lt;/h2&gt;
&lt;p&gt;Maksoimme joulukuussa &lt;a href=&#34;https://www.proshop.fi/E-kirjan-lukulaite/Onyx-Boox-Go-Color-7-Black/3284873&#34;&gt;Onyx Boox Go Color 7&amp;quot;&lt;/a&gt;:sta 249 € mikä tuntui paljolta. Tällä hetkellä (1/2025) &lt;a href=&#34;https://hinta.fi/4940152/onyx-boox-go-color-7&#34;&gt;hinta&lt;/a&gt; näyttää olevan jo 349 € 😵. En olisi välttämättä maksanut laitteesta ihan näin paljon.&lt;/p&gt;
&lt;p&gt;Mustavalkoista Boox Page -mallia saa &lt;a href=&#34;https://hinta.fi/4312543/onyx-boox-page&#34;&gt;noin 280 €:lla&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Storytelin Readeriä taas myytiin aikoinaan 120 €:lla, välillä alennuksessa 59 €.&lt;/p&gt;
&lt;p&gt;Vanhan Readerin valmistuskustannukset olivat luultavasti halvemmat, mutta Storytel pystyi myös myymään laitetta halvemmalla, koska laitetta ei voinut käyttää ilman tilausta, josta Storytel sai joka kuukausi rahaa.&lt;/p&gt;
&lt;p&gt;Samaten Amazon &lt;s&gt;voi&lt;/s&gt; voisi myydä Kindlejä halvemmalla, koska Amazon saa Kindlellä ostetuista kirjoista rahaa.&lt;/p&gt;
&lt;p&gt;Onyx taas ei saa Boox-tabletin ostajalta nyhdettyä enempää, minkä vuoksi ostohinta on kalliimpi.&lt;/p&gt;
</content>
        <pubDate>Mon, 27 Jan 2025 10:21:00 +0000</pubDate>
        <dc:creator>Oiva Eskola</dc:creator>
        <link>https://oivaeskola.fi/2025/01/15/storytel-readerin-korvaaminen-onyx-boox-tabletilla/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/01/15/storytel-readerin-korvaaminen-onyx-boox-tabletilla/</guid>
        
        <category>e-kirjat</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Mastodon vs. Threads vs. Bluesky</title>
        <description>Mainiossa Vikasietotila-podcastissa oli viime keväänä hyvä jakso Twitterin korvaajien, eli Mastodonin, Threadsin, ja Blueskyn eroista (“Post-Twitter, osa 2: Threads, Mastodon ja Bluesky”: Apple Podcast / Spotify). Mukana oli myös mementomori.social Mastodon-instanssia pyörittävä Rolle.Siirryin itse Twitteristä Mastodoniin 2022 lopussa. Twitterissä seuraamistani ihmisistä iso osa teki samoin – arvioin joskus, että noin kolmannes Twitterissä seu...</description>
        <content>&lt;p&gt;Mainiossa &lt;a href=&#34;https://vikasietoti.la/&#34;&gt;Vikasietotila-podcastissa&lt;/a&gt; oli viime keväänä hyvä jakso Twitterin korvaajien, eli Mastodonin, Threadsin, ja Blueskyn eroista (“Post-Twitter, osa 2: Threads, Mastodon ja Bluesky”: &lt;a href=&#34;https://podcasts.apple.com/us/podcast/post-twitter-osa-2-threads-mastodon-ja-bluesky/id1603294439?i=1000654605144&#34;&gt;Apple Podcast&lt;/a&gt; / &lt;a href=&#34;https://open.spotify.com/episode/2jL345uQyuhdGjM4OPKa93&#34;&gt;Spotify&lt;/a&gt;). Mukana oli myös &lt;a href=&#34;https://mementomori.social&#34;&gt;mementomori.social&lt;/a&gt; Mastodon-instanssia pyörittävä &lt;a href=&#34;https://mementomori.social/@rolle&#34;&gt;Rolle&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Siirryin itse Twitteristä &lt;a href=&#34;https://toot.community/@oivaeskola&#34;&gt;Mastodoniin&lt;/a&gt; 2022 lopussa. Twitterissä seuraamistani ihmisistä iso osa teki samoin – arvioin joskus, että noin kolmannes Twitterissä seuraamistani &lt;em&gt;aktiivisista&lt;/em&gt; tileistä oli muuttanut Mastodoniin, mutta en muista enää mistä sain numerot. En ole vielä kokenut tarpeelliseksi kokeilla Threadsiä tai Blueskyta.&lt;/p&gt;
&lt;p&gt;Threadsistä muualle jaetut linkit ovat kokemukseni perusteella olleet “hauska juttu mitä lapseni sanoi” yms. kevyempää hupsuttelua. Hyvä toki, että näille on paikka LinkedInin lisäksi.&lt;/p&gt;
&lt;p&gt;Kyseisen podcast-jakson jälkeen Bluesky on kasvanut suht paljon, tai ainakin pöhinä sen ympärillä vaikuttaa siltä. Monet tekniikan alan ihmiset tuntuvat ottaneet Blueskyn Mastodonin rinnalle.&lt;/p&gt;
&lt;p&gt;Myös Mastodon ottaa välillä kasvupyrähdyksiä, usein kun joku ihmisryhmä päättää jättää Twitterin.&lt;/p&gt;
&lt;div style=&#34;display: flex; gap: 30px 30px;&#34;&gt;
&lt;img src=&#34;/images/IMG_1679.webp&#34; alt=&#34;Overcast podcast-soittimen ikoni, jossa on punainen notifikaatiopallo: 272&#34; width=&#34;163&#34; height=&#34;160&#34; loading=&#34;lazy&#34; style=&#34;max-height: 160px&#34; /&gt;
&lt;div&gt;
&lt;p&gt;P.S.  Suosittelen melkein vuoden takaista podcastia, koska kuunnteltavia podcasteja on jonossa tällä hetkellä 270 jaksoa 🙈&lt;/p&gt;
&lt;p&gt;Etätöihin siirtyminen ja pikkulapsiarki teki sen, että päivässä ei ole oikein mitään hetkeä kuunnella podcasteja, paitsi 15 minuuttia päiväkotiin kävellessä. Onneksi vanhempainvapaalla saa jonoa vähän kirittyä kiinni.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</content>
        <pubDate>Wed, 22 Jan 2025 10:38:00 +0000</pubDate>
        <dc:creator>Oiva Eskola</dc:creator>
        <link>https://oivaeskola.fi/2025/01/21/mastodon-threads-bluesky/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2025/01/21/mastodon-threads-bluesky/</guid>
        
        <category>podcastit</category>
        
        <category>internet</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Youtube recommendations</title>
        <description>I’ve been watching a lot more Youtube lately. Maybe their algorithms have gotten better at recommending interesting videos or maybe it’s that there’s been little else to do lately.Youtube is finding more videos in random categories I didn’t know were a thing but I find intereseting. I thought I’d share a couple of them. Of course as with anything on Youtube, these are wildly popular within their niche and might be old news. Anyway, today’s rec...</description>
        <content>&lt;p&gt;I’ve been watching a lot more Youtube lately. Maybe their algorithms have gotten better at recommending interesting videos or maybe it’s that there’s been little else to do lately.&lt;/p&gt;
&lt;p&gt;Youtube is finding more videos in random categories I didn’t know were a thing but I find intereseting. I thought I’d share a couple of them. Of course as with anything on Youtube, these are wildly popular within their niche and might be old news. Anyway, today’s recommendation:&lt;/p&gt;
&lt;h2&gt;Daniel Duskin’s mixing videos:&lt;/h2&gt;
&lt;iframe
width=&#34;560&#34;
height=&#34;315&#34;
src=&#34;https://www.youtube.com/embed/Em9EwVQy-6s&#34;
srcdoc=&#34;&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube.com/embed/Em9EwVQy-6s?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/Em9EwVQy-6s/hqdefault.jpg alt=&#39;Mixing Queen&#39;s Don&#39;t Stop Me Now on an Analog SSL Console - GoPro POV&#39; loading=&#39;lazy&#39;&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;&#34;
frameborder=&#34;0&#34;
allow=&#34;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&#34; 
allowfullscreen
loading=&#34;lazy&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Daniel is a mixing engineer (selling sound mixing services) and he demonstrates his skills on Youtube by strapping a GoPro to his head and fliming himself mixing classic songs on an analog mixing console. Like Queen’s “Don’t Stop Me Now” above.&lt;/p&gt;
&lt;p&gt;Daniel doesn’t try to replicate the original songs but does a quick, maybe even better, mix from individual instrument tracks (sourced where???). It’s wild to see and hear how a song comes together with each new instrument.&lt;/p&gt;
&lt;p&gt;Another video of mixing The Doobie Brothers’ “Long Train Running” has explanations of what he’s doing although heavy with mixing lingo:&lt;/p&gt;
&lt;iframe
width=&#34;560&#34;
height=&#34;315&#34;
src=&#34;https://www.youtube.com/embed/_QkyzM0xLLk&#34;
srcdoc=&#34;&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube.com/embed/_QkyzM0xLLk?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/_QkyzM0xLLk/hqdefault.jpg alt=&#39;Mixing The Doobie Brothers - Long Train Running on an Analog SSL Console&#39; loading=&#39;lazy&#39;&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;&#34;
frameborder=&#34;0&#34;
allow=&#34;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&#34; 
allowfullscreen
loading=&#34;lazy&#34;
&gt;&lt;/iframe&gt;
&lt;p&gt;Daniel makes mixing look so easy and effortless. Of course one thing to note is that the source material on these videos is super good.&lt;/p&gt;
&lt;p&gt;A lot of effort went into composing and recording these songs and planning how all the instruments play together even before mixing. “Long Train Running” is already groovy as hell with only the drums and guitar. You wouldn’t be able to quickly mix ten garbage tracks and make the song &lt;em&gt;sing&lt;/em&gt; the same way.&lt;/p&gt;
&lt;h2&gt;Bonus round: Nile Rodgers Tells The Story of “Let’s Dance”&lt;/h2&gt;
&lt;iframe
width=&#34;560&#34;
height=&#34;315&#34;
src=&#34;https://www.youtube.com/embed/NlDCPCwVNUw&#34;
srcdoc=&#34;&lt;style&gt;*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}&lt;/style&gt;&lt;a href=https://www.youtube.com/embed/NlDCPCwVNUw?autoplay=1&gt;&lt;img src=https://img.youtube.com/vi/NlDCPCwVNUw/hqdefault.jpg alt=&#39;Nile Rodgers Tells The Story of Let&#39;s Dance&#39; loading=&#39;lazy&#39;&gt;&lt;span&gt;▶&lt;/span&gt;&lt;/a&gt;&#34;
frameborder=&#34;0&#34;
allow=&#34;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&#34;
allowfullscreen
loading=&#34;lazy&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;This is a quick, heartwarming story of how Nile Rodgers, one of all-time best guitarists and artists took David Bowie’s simple guitar riff and turned it into “&lt;a href=&#34;https://en.wikipedia.org/wiki/Let%27s_Dance_(David_Bowie_song)&#34;&gt;Let’s Dance&lt;/a&gt;”, a massive hit in 1982. Pure magic.&lt;/p&gt;
</content>
        <pubDate>Sun, 28 Jun 2020 15:00:00 +0000</pubDate>
        <dc:creator>Oiva Eskola</dc:creator>
        <link>https://oivaeskola.fi/2020/06/28/youtube-recommendations/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2020/06/28/youtube-recommendations/</guid>
        
        <category>youtube</category>
        
        <category>internet</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Technical learnings from InfoToggle</title>
        <description>I’ve been building a SaaS product called InfoToggle as a side project. Myprevious post has details on what it is and what itdoes.As a programmer having a side project is a good way to learn new technologiesthat you might not come across in your regular job. Having a project meansthere’s a clear problem you want to solve and you get to choose the mostsuitable tools to solve it.In the context of InfoToggle I had a chance to learnmultiple new too...</description>
        <content>&lt;p&gt;I’ve been building a SaaS product called InfoToggle as a side project. My
&lt;a href=&#34;/2019/10/21/infotoggle/&#34;&gt;previous post&lt;/a&gt; has details on what it is and what it
does.&lt;/p&gt;
&lt;p&gt;As a programmer having a side project is a good way to learn new technologies
that you might not come across in your regular job. Having a &lt;em&gt;project&lt;/em&gt; means
there’s a clear problem you want to solve and you get to choose the most
suitable tools to solve it.&lt;/p&gt;
&lt;p&gt;In the context of &lt;a href=&#34;https://infotoggle.com&#34;&gt;InfoToggle&lt;/a&gt; I had a chance to learn
multiple new tools, including Laravel, Docker, React Hooks, Stripe, and some
AWS features like CloudFront.&lt;/p&gt;
&lt;h2&gt;Laravel: thumbs up&lt;/h2&gt;
&lt;p&gt;A big initial impetus for this whole project was to test out &lt;a href=&#34;https://laravel.com&#34;&gt;Laravel
framework&lt;/a&gt;. I had heard many good things about it and
wanted to see what a &lt;em&gt;modern&lt;/em&gt; PHP framework would look like. I’e used Zend
Framework in my jobby job and it works there but it’s no fun to use really.&lt;/p&gt;
&lt;p&gt;Laravel’s tagline “freeing you to create without sweating the small things”
is pretty spot on. The framework has a lot of built-in functionality and
sensible defaults for creating basic web apps. Creating new routes,
controllers, database migrations, and events is all very streamlined.&lt;/p&gt;
&lt;p&gt;Occasionally some of the inner workings of Laravel might feel a bit too magical
which might become a problem in a bigger web app. The call stacks for some of
the errors are *wild* but mostly &lt;em&gt;it just works&lt;/em&gt; and it’s fast enough for a
basic web app. Laravel’s documentation is also pretty good, at least compared to
Zend.&lt;/p&gt;
&lt;h2&gt;Technical Challenges with Stripe&lt;/h2&gt;
&lt;p&gt;One of the biggest hurdles was building the subscription system. Billing happens
through &lt;a href=&#34;https://stripe.com&#34;&gt;Stripe&lt;/a&gt; and integrating with their subscription
flow took a month and a half (not full time, but working hours here and there.)
That’s a pretty big chunk of time where little progress was made.&lt;/p&gt;
&lt;p&gt;Don’t get me wrong, Stripe is probably the best payment processor there is and
others would probably have taken far longer. The problem with Stripe was mostly
that there are quite many different ways to create a sign up / subscription flow
and there is no clear path to choose the correct one.&lt;/p&gt;
&lt;p&gt;On top of that their documentation occasionally had PSD2-related warnings “Are
you in Europe? Then you probably shouldn’t be using this method but this other
one here which is in beta and doesn’t have the same features.”&lt;/p&gt;
&lt;h3&gt;Stripe webhook matching&lt;/h3&gt;
&lt;p&gt;Most of Stripe’s flows work by sending requests to a
&lt;a href=&#34;https://stripe.com/docs/webhooks&#34;&gt;webhook&lt;/a&gt; you set up. One of the biggest
source of my confusion was that there was no single way of matching an incoming
webhook event to a customer.&lt;/p&gt;
&lt;p&gt;You can tie a “client reference ID” to Stripe’s customer objects (usually the
customer’s ID in your own system) but only some of the events sent back to you
include the reference. Other times you are left trying to match a subscription
ID to a ID you know or in worst case an email address.&lt;/p&gt;
&lt;p&gt;Some of Stripe’s events include a Customer ID (in Stripe’s system) and once you
can match that to a known ID you are mostly set. But for example the “customer
created”, “subscription created”, and “invoice created” events can arrive in any
order and each has a different set of identifiers that you must keep track of
and try to match to later requests. I still have a hundred line function whose
only job is to match an incoming Stripe event to a customer in my database.&lt;/p&gt;
&lt;h2&gt;Docker&lt;/h2&gt;
&lt;p&gt;I’ve avoided Docker for a very long time, mostly because in my job I have worked
on just a single project where I had the development and production environments
set up. But at this point Docker seems to be required knowledge pretty much
everywhere so why not try it?&lt;/p&gt;
&lt;p&gt;It seems that waiting with Docker was partly a good thing. Researching how to
configure Docker (and Docker Compose) revealed that the configuration options
and syntaxes haves changed at least a couple times. This made following
tutorials quite difficult as most of the examples didn’t work anymore when run
against a recent version of Docker.&lt;/p&gt;
&lt;p&gt;What’s positive about docker is that it makes deployments easy. Replicating the
production environment is also easy although I haven’t needed that apart from
adding a separate testing environment.&lt;/p&gt;
&lt;p&gt;Docker was also the biggest source of WTFs along with Stripe. Most of this stems
from all Docker tutorials and examples being about building a &lt;em&gt;development&lt;/em&gt;
environment with Docker.&lt;/p&gt;
&lt;p&gt;Very little of that is applicable when deploying to production which was what I
tried to achieve. For example Docker volumes work completely different locally
and on a server. In the end I needed to have two separate configurations for
building the development environment and the production environment which feels
a bit silly.&lt;/p&gt;
&lt;p&gt;Another small disadvantage with Docker is that deployments on the go over a cell
phone connection take a long time. Apparently there’s quite a lot of data
transfer happening?&lt;/p&gt;
&lt;h2&gt;React Hooks&lt;/h2&gt;
&lt;p&gt;Quick shout out to &lt;a href=&#34;https://reactjs.org/docs/hooks-intro.html&#34;&gt;React Hooks&lt;/a&gt;:
they work, and make developing basic components that much nicer. Use them.&lt;/p&gt;
&lt;p&gt;That’s it for now! Everything sort of works and I’m pretty happy with the stack
as it is. There are also many parts that didn’t get a mention, maybe more on
those next time.&lt;/p&gt;
</content>
        <pubDate>Thu, 31 Oct 2019 20:00:00 +0000</pubDate>
        <dc:creator>Oiva Eskola</dc:creator>
        <link>https://oivaeskola.fi/2019/10/31/infotoggle-technical-side/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2019/10/31/infotoggle-technical-side/</guid>
        
        <category>infotoggle</category>
        
        <category>web-kehitys</category>
        
        <category>web-palvelut</category>
        
        <category>työ</category>
        
        <category>internet</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>InfoToggle</title>
        <description>I’ve been building a product for displaying announcements and alert messages onecommerce websites, called InfoToggle. It started outas a side project and has now grown to a point where it might actually beuseful to others as well.The problem InfoToggle solves is pretty simple and is something we see in mycurrent work at POP Vakuutus quite often. We sellinsurance but a successful sale depends on multiple external systems, forexample the nationa...</description>
        <content>&lt;p&gt;I’ve been building a product for displaying announcements and alert messages on
ecommerce websites, called &lt;a href=&#34;https://infotoggle.com&#34;&gt;InfoToggle&lt;/a&gt;. It started out
as a side project and has now grown to a point where it might actually be
useful to others as well.&lt;/p&gt;
&lt;p&gt;The problem InfoToggle solves is pretty simple and is something we see in my
current work at &lt;a href=&#34;https://www.popvakuutus.fi&#34;&gt;POP Vakuutus&lt;/a&gt; quite often. We sell
insurance but a successful sale depends on multiple external systems, for
example the national vehicle database Trafi, a credit check service, and
customer authentication, a service provided by banks. Any of these systems
might and do break from time to time. Especially Trafi has a notoriously bad
uptime record and often does unscheduled service breaks they only announce
afterwards. During an outage we might not be able to sell a single vehicle
insurance but such is life.&lt;/p&gt;
&lt;p&gt;If any of these services breaks there’s not much we can do but wait. One thing
we &lt;em&gt;can&lt;/em&gt; do is communicate the disruption and its extent to our customers. Due
to the ecommerce aspect it has to be done in a way that doesn’t scare away
customers not affected by the disruption. If a disruption prevents customers
from buying a car insurance, it’s best to only inform customers about to buy
car insurance and preferably ask them to try again later.&lt;/p&gt;
&lt;p&gt;Here’s where InfoToggle comes in: it lets site owners create messages for
situations like these and easily *toggle* them on. For service
breaks known in advance a message can be timed to be visible the duration of
the break.&lt;/p&gt;
&lt;p&gt;Of course the messages added to your site can be whatever: announcements,
discount codes… InfoToggle lets you add any HTML, CSS, and JS code you need
to your site. But I feel it’s useful to frame it around situations where you
quickly need to communicate things to your customers. Once an initial set of
messages have been defined they can easily be duplicated and modified.&lt;/p&gt;
&lt;p&gt;Not every site needs a system like this–a good CMS will let you do all of
this. What I’m willing to bet is that there are a lot of ecommerce sites that
don’t have a good CMS :)&lt;/p&gt;
&lt;h2&gt;Side hustle&lt;/h2&gt;
&lt;p&gt;InfoToggle started as and still is a side project. One motivator was to try out
new tech (which I will expand on later) and have fun coding challenges.&lt;/p&gt;
&lt;p&gt;It also provides a chance to practice many non-technical skills like product
development and marketing.&lt;/p&gt;
&lt;p&gt;Of course being limited to a couple of hours after work and on weekends means
any progress is a bit slow but the development combined to trying to sell a
product gives great focus. There are countless things you could do but you have
to choose the single most important feature (or bug) and get it done.
I think it’s also great for learning new things.&lt;/p&gt;
&lt;h2&gt;Going Forward&lt;/h2&gt;
&lt;p&gt;InfoToggle is now at a point where technically it works and it’s in production
use. There are a ton of features and improvements still to do but I also need
to focus on marketing and selling hard. All in all it’s still super early and
we’ll see how it goes. I’ll keep you posted :)&lt;/p&gt;
</content>
        <pubDate>Mon, 21 Oct 2019 17:20:00 +0000</pubDate>
        <dc:creator>Oiva Eskola</dc:creator>
        <link>https://oivaeskola.fi/2019/10/21/infotoggle/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2019/10/21/infotoggle/</guid>
        
        <category>infotoggle</category>
        
        <category>web-kehitys</category>
        
        <category>web-palvelut</category>
        
        <category>työ</category>
        
        <category>internet</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>A Winter Mountain Bike</title>
        <description>After some unfortunate bike-thieving-events half a year ago I was left withonly one bike: a White road bike. It’s a good bike, I even scored a pair ofcarbon wheels for it.Still, one bike is hardly enough. This year I wanted to continue the cyclingseason through the winter so a winter bike was needed. I also wanted a mountainbike even though I’ve spent very little time in the forest lately. But it mighthappen, you know?Could these two bikes be ...</description>
        <content>&lt;img src=&#34;/images/2016/11/rcz-race-ra.jpg&#34; alt=&#34;RCZ Race RA&#34; width=&#34;686&#34; /&gt;
&lt;p&gt;After some unfortunate bike-thieving-events half a year ago I was left with
only one bike: a White road bike. It’s a good bike, I even scored a pair of
carbon wheels for it.&lt;/p&gt;
&lt;p&gt;Still, one bike is hardly enough. This year I wanted to continue the cycling
season through the winter so a winter bike was needed. I also wanted a mountain
bike even though I’ve spent very little time in the forest lately. But it might
happen, you know?&lt;/p&gt;
&lt;p&gt;Could these two bikes be combined? Maybe a &lt;em&gt;rigid&lt;/em&gt; mountain bike that’s fast on
the road but still survives some trails?&lt;/p&gt;
&lt;p&gt;My last mountain bike had a suspension fork. It was nice. Trying to decide if
having a rigid mountain bike was sane I came across this &lt;a href=&#34;https://qr.ae/pYNt7a&#34;&gt;perfect answer on Quora&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Anyway, as you might have guessed from the picture, I found a used RCZ mountain
bike for a fair price. With a belt drive instead of chain, no suspension and no
gears it’s &lt;em&gt;very&lt;/em&gt; low maintenance and perfect for winter cycling. The tires
hold OK in snow and icy asphalt. How it handles in the forest remains to be
seen but I try not to stress too much about it.&lt;/p&gt;
&lt;h3&gt;Update&lt;/h3&gt;
&lt;p&gt;I did take the bike on to some trails and participated in VPCX anniversary
competition (a local, not so serious cyclocross competition). The bike’s
geometry was good but the gearing was really not suitable for off-road. Still a
lot of fun.&lt;/p&gt;
</content>
        <pubDate>Thu, 24 Nov 2016 20:00:00 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2016/11/24/a-winter-bike/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2016/11/24/a-winter-bike/</guid>
        
        <category>bikes</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Stories about switching to Fuji</title>
        <description>Some experiences from folks who’ve switched to from Nikon to Fuji systems,something I might be doing as well. Many of these talk about Fuji’s X-T1 whichis the big brother of the X-T10 I’m interested in but also about the reasonsfor switching.What’s funny is that almost all of them seem to be doing the switch afterowning a Nikon D800. That’s one particularly big DSLR which might play a partin why people start looking for something smaller.Bye b...</description>
        <content>&lt;p&gt;Some experiences from folks who’ve switched to from Nikon to Fuji systems,
something I might be doing as well. Many of these talk about Fuji’s X-T1 which
is the big brother of the X-T10 I’m interested in but also about the reasons
for switching.&lt;/p&gt;
&lt;p&gt;What’s funny is that almost all of them seem to be doing the switch after
owning a Nikon D800. That’s one particularly big DSLR which might play a part
in why people start looking for something smaller.&lt;/p&gt;
&lt;h4&gt;&lt;a href=&#34;http://bjornmoerman.blogspot.fi/2014/07/bye-bye-nikon-hello-fujifilm.html&#34;&gt;Bye bye NIKON, Hello FUJIFILM!&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Bjorn Moerman’s&lt;/strong&gt; experience switching from Nikon D800 to then Fuji family.&lt;/p&gt;
&lt;blockquote&gt;
When was the last time Nikon or Canon came out with a brand new
camera feature on a camera that has been out more than 12 months?
&lt;/blockquote&gt;
&lt;blockquote&gt;
I sincerely believe that by 2020 there will be hardly any new
classic DSLR&#39;s being sold.
&lt;/blockquote&gt;
&lt;h4&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=wZM40jC2ueE&#34;&gt;From Nikon to Fuji, 20,000 pictures with the x-t1&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;A video from &lt;strong&gt;Lukas Gisbert-Mora&lt;/strong&gt;, a wedding photographer, about the reasons why he
switched to Fuji X-T1. Including limitations of the Fuji.&lt;/p&gt;
&lt;blockquote&gt;
  At a wedding, actually on the dance floor, when I compared my shots taken with
  a Nikon and the Fuji, I could actually see that the Fuji was performing
  better.
&lt;/blockquote&gt;
&lt;blockquote&gt;
  When you look in the EVF (electronic viewfinder) it tells you exactly what
  the exposure is like, before you take the shot. You can actually be much
  quicker with [the Fuji] than a DSLR ... You just keep the camera to your eye
  and just adjust the aperture.
&lt;/blockquote&gt;
&lt;h4&gt;&lt;a href=&#34;http://melhadtea.com/switching-from-the-nikon-d800-to-the-fuji-xt1/&#34;&gt;Switching from the Nikon D800 to the Fuji X-T1&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Mel Hattie&lt;/strong&gt;, from the perspective of switching a full $$$$ Nikon system and
actually saving money in the process.&lt;/p&gt;
&lt;blockquote&gt;
Despite the solid construction, the Fuji X-T1 is very light. There&#39;s a
noticeable size and weight difference when I&#39;m carrying it around, and I feel
comfortable pulling it out on the street without attracting a lot of attention.
&lt;/blockquote&gt;
&lt;blockquote&gt;
  There are definitely things I&#39;ll miss about the Nikon D800: Dual card slots,
  snappier autofocus, higher ISO tolerance, the video capabilities.
&lt;/blockquote&gt;
&lt;h4&gt;&lt;a href=&#34;http://www.andymumford.co.uk/blog/switching-to-fuji-first-impressions/&#34;&gt;Switching to Fuji - First Impressions&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Andy Mumford’s&lt;/strong&gt; comparison of Nikon D800E and Fuji X-T10. Many side-by-side
photos from both cameras&lt;/p&gt;
&lt;blockquote&gt;
After spending some time playing around with the images from the XT10, I&#39;m
really impressed by the image quality and really don&#39;t feel as though I&#39;m
losing anything significant from the Nikon D800E in real world shooting
conditions.
&lt;/blockquote&gt;
&lt;blockquote&gt;
  I think we’ve reached a point with image quality where improvements are more
  technical than real world for the work I do and I want small, light, cameras
  that feel almost invisible when shooting with them or carrying them around,
  and I want a camera that&#39;s fun to use and experiment with.
&lt;/blockquote&gt;
</content>
        <pubDate>Wed, 20 Jan 2016 22:05:00 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2016/01/20/people-switching-to-fuji/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2016/01/20/people-switching-to-fuji/</guid>
        
        <category>kamera</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Next camera: Nikon vs. Fujifilm</title>
        <description>Buying a camera in 2016 is hard. What kind of camera should you buy?Should you even buy a camera anymore? Phone cameras are beginning to be verygood and they are the cameras that are literally always on you.The iPhone 6s and Google Nexuses now have 12MP camera sensors andI’m sure other phones have even more ridiculous sensors. Phones still fall shortin shooting in low light where they tend to produce noisier photos. Still,shooting with a phone...</description>
        <content>&lt;img src=&#34;/images/2016/01/nikon-d7200-vs-fuji-xt10.jpg&#34; alt=&#34;Fuji X-T10 vs. Nikon D7200&#34; width=&#34;686&#34; /&gt;
&lt;p&gt;Buying a camera in 2016 is hard. What kind of camera should you buy?&lt;/p&gt;
&lt;p&gt;Should you even buy a camera anymore? Phone cameras are beginning to be very
good and they are the cameras that are literally always on you.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&#34;http://austinmann.com/trek/iphone-6s-camera-review-switzerland&#34; title=&#34;iPhone 6s camera review&#34;&gt;iPhone 6s&lt;/a&gt; and Google Nexuses now have 12MP camera sensors and
I’m sure other phones have even more ridiculous sensors. Phones still fall short
in shooting in low light where they tend to produce noisier photos. Still,
shooting with a phone hardly stops you from getting great pictures, just look at
&lt;a href=&#34;https://www.instagram.com/austinmann/&#34;&gt;Austin Mann’s Instagram feed&lt;/a&gt; for
example.&lt;/p&gt;
&lt;p&gt;But let’s say you want a separate camera. For one, carrying a camera helps put
you in shooting mode. Holding a camera in my hand makes me look for photo
opportunities, and having the camera ready means I’m more likely to catch the
photo. While phone cameras are technically good, a camera camera usually has
better usability for taking pictures and adjusting the settings. And shooting
with a real camera is more &lt;em&gt;fun&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;DSLR vs. Mirrorless Cameras&lt;/h3&gt;
&lt;p&gt;If you do decide to purchase a camera, the next question is DSLR or mirrorless?
(&lt;a href=&#34;https://en.wikipedia.org/wiki/Digital_single-slens_reflex_camera&#34; title=&#34;Wikipedia: DSLR&#34;&gt;Digital single-lens reflex camera&lt;/a&gt;
/ &lt;a href=&#34;https://en.wikipedia.org/wiki/Mirrorless_interchangeable-lens_camera&#34; title=&#34;Wikipedia: Mirrorless interchangeable-lens camera&#34;&gt;Mirrorless interchangeable-lens camera&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;To date, about one billion articles and blog posts have been written about
“&lt;a href=&#34;https://www.google.fi/search?q=dslr+vs+mirrorless&#34; title=&#34;Google&#34;&gt;DSLR vs. mirrorless&lt;/a&gt;”.
To summarize them all quickly:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mirrorless cameras are smaller and lighter to carry&lt;/li&gt;
&lt;li&gt;DSLRs have better grips (because of the size)&lt;/li&gt;
&lt;li&gt;DSLR batteries last at least twice as long (like 350 vs. 1000 shots per charge)&lt;/li&gt;
&lt;li&gt;DSLRs have bigger image sensors&lt;/li&gt;
&lt;li&gt;Optical and electronic viewfinders are different, or not&lt;/li&gt;
&lt;li&gt;Mirrorless are more &lt;em&gt;fun&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sure there are other aspects to assess like autofocus and selection of lenses
but there the gap is getting narrower. And of course people are quick to point
out that &lt;strong&gt;not all DSLRs&lt;/strong&gt; are big and bulky and not all mirrorless cameras are
small and light. I get it, but that’s the difference &lt;em&gt;in general&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Anyway, what’s interesting reading those articles is that reasons for having a
DSLR are moving towards “I’m a war photographer and need the best camera there
is.” And that’s a valid point. Mirrorless cameras probably aren’t replacing
high-end DSLRs. For example the bigger sensor does help get marginally better
pictures when there’s less light or you need to do extensive post-processing.
And a DSLR is probably better if you shoot sports for a living.&lt;/p&gt;
&lt;p&gt;But for ordinary consumers like me the mirrorless cameras are now starting to be
just good enough, judging both picture quality and price. They are capable
of producing high quality images in most situations without the “overhead” of
carrying a DSLRs with you.&lt;/p&gt;
&lt;h3&gt;Upgrading from Nikon D90&lt;/h3&gt;
&lt;p&gt;Most recently I’ve shot with a &lt;a href=&#34;https://en.wikipedia.org/wiki/Nikon_D90&#34;&gt;Nikon
D90&lt;/a&gt; DSLR which I bought cheap as used.
It was a good camera but the image quality was not quite up to today’s
standards. The camera was released in 2008 and sensor technology has advanced a
bit since then. Nikon has since release three cameras in the same “prosumer”
category: &lt;strong&gt;D7000&lt;/strong&gt; (2010), &lt;strong&gt;D7100&lt;/strong&gt; (2013) and &lt;strong&gt;D7200&lt;/strong&gt; (2015).&lt;/p&gt;
&lt;img src=&#34;/images/2016/01/D7200.jpg&#34; alt=&#34;Nikon D7200&#34; width=&#34;686&#34; /&gt;
&lt;p&gt;Most logical upgrade path would be to purchase the D7200 or a used D7100. Their
differences are &lt;a href=&#34;http://snapsort.com/compare/Nikon-D7100-vs-Nikon-D7200/detailed&#34;&gt;minor&lt;/a&gt;
and both would be much better than the D90 for example in low light.&lt;/p&gt;
&lt;p&gt;I’m not tempted to upgrade to more high-end Nikon cameras or to switch to full
frame cameras (= even bigger sensors). Nikon’s prosumer line has the features I
imagine needing and the D7200 at 1000€ is near the upper limit for what I would
ever pay for a camera.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.flickr.com/photos/oiva/15886299454/in/dateposted-public/&#34;&gt;&lt;img src=&#34;/images/2016/01/camel.jpg&#34; alt=&#34;Camel&#34; width=&#34;686&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’m not a professional photographer. I &lt;em&gt;like&lt;/em&gt; taking photos but practically
speaking I only take some silly photos on vacations and parties and that’s about
it. There are hardly any situations where the camera would be holding me back.&lt;/p&gt;
&lt;h3&gt;A Contender Appears&lt;/h3&gt;
&lt;img src=&#34;/images/2016/01/fuji-xt10.jpg&#34; alt=&#34;Fuji X-T10&#34; width=&#34;686&#34; /&gt;
&lt;p&gt;I had almost convinced myself I should buy the D7200… until a friend of a
friend posted a long post on Facebook about how they &lt;em&gt;love&lt;/em&gt; their Fuji camera
and how it totally makes you like photography again. Oh boy.&lt;/p&gt;
&lt;p&gt;That person had a &lt;a href=&#34;http://www.dpreview.com/reviews/fujifilm-x-t1&#34;&gt;Fuji X-T1&lt;/a&gt;
which is a bit pricey for my budget but after a frantic googling of all possible
Fujifilm cameras I found two other models that had very favorable reviews: the
&lt;a href=&#34;http://www.dpreview.com/reviews/fujifilm-x-e2&#34;&gt;X-E2&lt;/a&gt; and the
&lt;a href=&#34;http://www.dpreview.com/reviews/fujifilm-x-t10&#34;&gt;X-T10&lt;/a&gt;. The latter is a
slightly stripped  down version of the X-T1 (no weather-sealing, smaller buffer)
but it’s also more affordable: with a 18-55mm kit lens it costs just a bit more
than the D7200.&lt;/p&gt;
&lt;p&gt;One key feature that makes Fujis &lt;em&gt;fun&lt;/em&gt; is repeated in several reviews: dials on
top of the camera. The X-T10 has dials for exposure compensation, shutter speed
and drive mode. This may not seem like a big deal, but on Nikon digital cameras
those specific functions are handled with two anonymous front and back dials.
What’s worse, they seem to be weirdly modal: sometimes spinning the real dial
doesn’t change exposure or the front dial won’t change the shutter speed.
Dedicating dials with numbers on them for these functions sounds promising.&lt;/p&gt;
&lt;p&gt;The top dials also remind me of my first serious camera, the &lt;a href=&#34;https://en.wikipedia.org/wiki/Nikon_FA&#34;&gt;Nikon
FA&lt;/a&gt; that I inherited from my father. It
has dials for ISO, exposure compensation, shutter speed and shooting mode:&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&#34;/images/2016/01/nikon-fa-top.jpg&#34; alt=&#34;Nikon FA&#34; width=&#34;686&#34; /&gt;
&lt;figcaption align=&#34;bottom&#34;&gt;Photo: &lt;a href=&#34;https://en.wikipedia.org/wiki/Nikon_FA&#34;&gt;Wikipedia&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;That’s one camera I’d like to use if shooting film wasn’t such a hassle.&lt;/p&gt;
&lt;p&gt;One downside of Fuji is that their lenses are a bit expensive. There are no 200€
FUJINON lenses similar to the &lt;a href=&#34;http://www.kenrockwell.com/nikon/35mm-f18.htm&#34;&gt;Nikkor
35mm/1.8&lt;/a&gt; (which offers great
bang for the buck). All Fuji lenses start at 450€ and quickly climb to 1000€
range, for example for the 23mm/1.4.&lt;/p&gt;
&lt;p&gt;However, there are some cheap adapters and some expensive adapters, like
&lt;a href=&#34;http://www.metabones.com/products/details/MB_SPNFG-X-BM2&#34;&gt;Metabones Speed Booster
ULTRA&lt;/a&gt; which would let
me use my current Nikkor lenses on the Fuji. The Metabones adapter is
interesting as it has a focal length ratio of 0.71 which combined with the
camera’s 1.5x ratio makes an effective 1.07 multiplier. So a 35mm lens with the
adapter would act as a 37mm lens. It also increases the maximum aperture by 1
stop.&lt;/p&gt;
&lt;p&gt;I found some interesting stories from people switching to Fuji including people
who used to own Nikons. I could link to some of them in another post. I haven’t
made the jump yet so I’m still speculating while I’m saving the money. But at
least the options are now interesting and seem fun!&lt;/p&gt;
</content>
        <pubDate>Tue, 19 Jan 2016 22:44:00 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2016/01/20/next-camera-nikon-vs-fujifilm/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2016/01/20/next-camera-nikon-vs-fujifilm/</guid>
        
        <category>kamera</category>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Most Popular Black Ops II Multiplayer Maps</title>
        <description>Call of Duty: Black Ops IIis a 2012 first-person shooter game for the previous generation consoles(PS3, Xbox 360, Wii U). While the game is a bit old, its multiplayer mode isstill insanely popular.Most of the multiplayer action happens in Team Deathmatch which is afast-paced, two team run-shoot-die game mode.And I have been playing that a lotlately (under my secret alias Oivaraattori).Picking a mapA key part of the team deathmatch is voting fo...</description>
        <content>&lt;img src=&#34;/images/2015/nuketown.jpg&#34; alt=&#34;Nuketown&#34; width=&#34;686&#34; /&gt;
&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Call_of_Duty:_Black_Ops_II&#34;&gt;Call of Duty: Black Ops II&lt;/a&gt;
is a 2012 first-person shooter game for the previous generation consoles
(PS3, Xbox 360, Wii U). While the game is a bit old, its multiplayer mode is
still insanely popular.&lt;/p&gt;
&lt;p&gt;Most of the multiplayer action happens in Team Deathmatch which is a
fast-paced, two team &lt;em&gt;run-shoot-die&lt;/em&gt; game mode.&lt;/p&gt;
&lt;p&gt;And I have been playing that &lt;span style=&#34;text-decoration: underline&#34;&gt;a lot&lt;/span&gt;
lately (under my secret alias &lt;em&gt;Oivaraattori&lt;/em&gt;).&lt;/p&gt;
&lt;h3&gt;Picking a map&lt;/h3&gt;
&lt;p&gt;A key part of the team deathmatch is voting for the next map to be played.
In Black Ops II there are
&lt;a href=&#34;http://callofduty.wikia.com/wiki/Category:Call_of_Duty:_Black_Ops_II_Multiplayer_Maps&#34;&gt;15 standard maps&lt;/a&gt;
to choose from.&lt;/p&gt;
&lt;p&gt;Each player can either vote a new map chosen randomly by the game,
the previous map, or a random map which is revealed when voting ends.&lt;/p&gt;
&lt;img src=&#34;/images/2015/blackops2.png&#34; alt=&#34;Black Ops 2 map voting&#34; width=&#34;343&#34; height=&#34;260&#34;&gt;
&lt;p&gt;If a map has been played two times in a row it cannot be voted again and only
available options are the new map suggested by the game or a random map.&lt;/p&gt;
&lt;p&gt;After playing a while you start to see which of the 15 maps usually win the
vote. Players seem to be surprisingly unanimous about the ranking
of the maps.&lt;/p&gt;
&lt;p&gt;I decided to find out if certain maps really are more likely to win, and which
of the maps are most popular.&lt;/p&gt;
&lt;h3&gt;The Data&lt;/h3&gt;
&lt;p&gt;I collected data by observing map voting until the maps had completed a
double round-robin tournament: each map faced all other maps twice in a vote.&lt;/p&gt;
&lt;p&gt;In practice I didn’t get 100% coverage of all the possible map pairs. Some maps
just don’t come up often enough in voting and waiting for those pairs to play
out would have taken a very long time.&lt;/p&gt;
&lt;p&gt;In the end I observed 193 map pairs out of the 256 possible (75% coverage).
This gave enough data to see which maps tend to win, but certain groups of maps
might have had different order with more data.&lt;/p&gt;
&lt;h3&gt;Ranking&lt;/h3&gt;
&lt;style&gt;
table#ranking {
  margin-bottom: 1em;
}
table#ranking tbody th {
  font-weight: 400;
}
table#ranking span {
  display: block;
  padding: 2px 5px 2px 10px;
}
table#ranking tr.best td span {
  background: #BBD22F;
}
table#ranking tr.good td span {
  background: #7D8A2E;
}
table#ranking tr.random span {
  background: #10222B;
  color: white;
}
table#ranking tr.ok td span {
  background: #C9D787;
}
table#ranking tr.okish td span {
  background: #FFC0A9;
}
table#ranking tr.bad td span {
  background: #FF8598;
}
table#ranking tr.worse td span {
  background: #D06C7B;
}
&lt;/style&gt;
&lt;table id=&#34;ranking&#34;&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Map&lt;/th&gt;
      &lt;th&gt;Winning percentage&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr class=&#34;best&#34;&gt;
      &lt;th&gt;Nuketown&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 200px&#34;&gt;100%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;good&#34;&gt;
      &lt;th&gt;Hijacked&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 162px&#34;&gt;82.1%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;good&#34;&gt;
      &lt;th&gt;Standoff&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 155px&#34;&gt;77.8%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;good&#34;&gt;
      &lt;th&gt;Raid&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 150px&#34;&gt;75%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;random&#34;&gt;
      &lt;th&gt;&lt;span&gt;Random&lt;/span&gt;&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 133px&#34;&gt;66.7%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;ok&#34;&gt;
      &lt;th&gt;Express&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 92px&#34;&gt;46.2%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;ok&#34;&gt;
      &lt;th&gt;Yemen&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 80px&#34;&gt;40%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;okish&#34;&gt;
      &lt;th&gt;Carrier&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 56px&#34;&gt;28%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;okish&#34;&gt;
      &lt;th&gt;Turbine&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 45px&#34;&gt;22.7%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;okish&#34;&gt;
      &lt;th&gt;Meltdown&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 44px&#34;&gt;22.2%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;bad&#34;&gt;
      &lt;th&gt;Plaza&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 38px&#34;&gt;19%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;bad&#34;&gt;
      &lt;th&gt;Slums&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 36px&#34;&gt;18.2%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;bad&#34;&gt;
      &lt;th&gt;Drone&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 30px&#34;&gt;15%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;bad&#34;&gt;
      &lt;th&gt;Overflow&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 30px&#34;&gt;15%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;worse&#34;&gt;
      &lt;th&gt;Cargo&lt;/th&gt;
      &lt;td&gt;&lt;span style=&#34;width: 10px&#34;&gt;5.3%&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class=&#34;worst&#34;&gt;
      &lt;th&gt;Aftermath&lt;/th&gt;
      &lt;td&gt;0%&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;So, there you have it. &lt;em&gt;Nuketown 2025&lt;/em&gt; was the clear winner. The map never loses
a vote. On the other end of the spectrum &lt;em&gt;Aftermath&lt;/em&gt; was a clear loser, never
winning a vote against any of the other maps.&lt;/p&gt;
&lt;p&gt;The random line is interesting. If given an option below the random line people
are more likely to vote for random in order to possibly get one of the four
“good” maps above it. The maps above the line nearly always beat random in a
vote. &lt;strong&gt;If players were given a free choice they would probably just play the
top-4 maps&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;As mentioned before, some maps were really close and could easily have changed
order given slightly different votes or more data. &lt;em&gt;Carrier&lt;/em&gt; / &lt;em&gt;Turbine&lt;/em&gt; /
&lt;em&gt;Meltdown&lt;/em&gt; were always close, as were &lt;em&gt;Plaza&lt;/em&gt; / &lt;em&gt;Slums&lt;/em&gt; / &lt;em&gt;Drone&lt;/em&gt; /
&lt;em&gt;Overflow&lt;/em&gt;. Of the top maps &lt;em&gt;Hijacked&lt;/em&gt;, &lt;em&gt;Standoff&lt;/em&gt;, and &lt;em&gt;Raid&lt;/em&gt; were almost
equally as good.&lt;/p&gt;
&lt;p&gt;Personally I feel the results are OK. &lt;em&gt;Nuketown&lt;/em&gt; &lt;strong&gt;is&lt;/strong&gt; a really fun map with
many ways to play it and limited sniper action. And I dislike &lt;em&gt;Drone&lt;/em&gt;
because it’s mostly a sniper map with some anemic close combat action
but apparently it has some fans.&lt;/p&gt;
&lt;p&gt;I’m sure Treyarch would have a lot more data about this but I haven’t come
across any official rankings. If some previous work exists or you have better
data hit me up on &lt;a href=&#34;https://twitter.com/oiva&#34;&gt;Twitter&lt;/a&gt;!&lt;/p&gt;
</content>
        <pubDate>Tue, 18 Aug 2015 10:53:00 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2015/08/17/most-voted-black-ops-2-maps/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2015/08/17/most-voted-black-ops-2-maps/</guid>
        
        
        <slash:comments></slash:comments>
      </item>
    
      <item>
        <title>Airbnb is a reservation tool</title>
        <description>  &lt;img    src=&#34;/images/2015/croatia-1.jpg&#34;    srcset=&#34;/images/2015/croatia-1.5.jpg 1.5x,            /images/2015/croatia.jpg 2x&#34;    alt=&#34;Road in Croatia&#34;    width=&#34;686&#34;    style=&#34;margin-bottom: 1.5rem&#34;  /&gt;During a recent road trip to Croatia we booked most of our accommodationthrough Airbnb. We hadn’t booked anything inadvance and at the height of the summer season there were no cheap hotels left.Airbnb had much more choice and prices were rea...</description>
        <content>&lt;picture&gt;
  &lt;img
    src=&#34;/images/2015/croatia-1.jpg&#34;
    srcset=&#34;/images/2015/croatia-1.5.jpg 1.5x,
            /images/2015/croatia.jpg 2x&#34;
    alt=&#34;Road in Croatia&#34;
    width=&#34;686&#34;
    style=&#34;margin-bottom: 1.5rem&#34;
  /&gt;
&lt;/picture&gt;
&lt;p&gt;During a recent road trip to Croatia we booked most of our accommodation
through &lt;a href=&#34;https://www.airbnb.com/&#34;&gt;Airbnb&lt;/a&gt;. We hadn’t booked anything in
advance and at the height of the summer season there were no cheap hotels left.
Airbnb had much more choice and prices were reasonable if not cheap.&lt;/p&gt;
&lt;p&gt;This was my first time of really using Airbnb and I was surprised to find out
that all the apartments and rooms we booked were run by professional
accommodation businesses. One was actually a hostel but really felt more like
a hotel minus the breakfast.&lt;/p&gt;
&lt;p&gt;I had an obviously erroneous image of Airbnb selection consisting of people
renting out their flats but it seems these companies just use Airbnb as an
additional sales channel. The same apartments could have been booked for
example through booking.com.&lt;/p&gt;
&lt;p&gt;Not that there’s anything wrong with that. It was just a bit surprising
considering the image I had of Airbnb. It’s understandable that touristy cities
have lots of apartments to rent and they are sold through any channel possible.&lt;/p&gt;
&lt;p&gt;One downside of this is that many of the places we looked didn’t have reviews
on Airbnb but they might have had on other booking sites. Airbnb also hides the
exact location of the apartments prior to booking them which seems a bit
unnecessary given they are not anyone’s homes. Anyway, one lesson learned
again.&lt;/p&gt;
</content>
        <pubDate>Tue, 11 Aug 2015 12:26:00 +0000</pubDate>
        <dc:creator></dc:creator>
        <link>https://oivaeskola.fi/2015/08/11/airbnb-booking/</link>
        <guid isPermaLink="false">https://oivaeskola.fi/2015/08/11/airbnb-booking/</guid>
        
        
        <slash:comments></slash:comments>
      </item>
    
  </channel>
</rss>
