Raspberry Pi 5 on minikokoinen tietokone joka pyörittää nyt useaa omaa verkkosivuani
Taustaa
Viime perjantaina hankin itselleni Verkkokauppa.comista Raspberry Pi 5 -tietokoneen joka on varustettu 8 GB muistilla. Kone irtosi 119,99 euron hintaan joten mistään tuhottoman hinnakkaasta vekottimesta ei siis ole kyse.
Hinnat on kyllä Raspberry Pi -laitteissa noussut merkittävästi vuosien mittaan ja pienikokoisia tietokoneita saa varsinkin käytettynä huokeampaan hintaan, mutta halusin mieluummin Raspberry Pin joka saa virtansa USB-C piuhalla kuin tietokoneen joka tarvitsee erillisen muuntajan jonka liitäntä on milloin minkäkinlainen. Muutaman kymmenen euron ero on muutenkin kokonaisuuden kannalta täysin irrelevantti, virrankulutus Raspberry Pi:ssä on vähäinen ja koko on kätevän pieni että sen sai viskattua johtolaatikkoon piiloon.
Syy tämän laitteen hankintaan oli se, että halusin siirtää muutamia omia verkkosivujani DigitalOceanin serveriltä omaan kotiin kustannussäästöjen vuoksi, sekä tietenkin siksi että on joskus ihan mukava vain puuhastella omaksi ilokseen kaikkea linux-säätämistä että ei ammatillinen osaaminen pääse myöskään unohtumaan.
Mitkään noista sivuista eivät ole kovinkaan kriittisiä, eli jos raspberry pi ottaa ja sammuu, kotona katkeaa nettiyhteys, tulee sähkökatko tai joku tekee palvelunestohyökkäyksen ja kaataa sivut niin vaikka nuo sivustot olisivat viikon tai kaksi poissa verkosta niin maailma jatkaa rullaamistaan samalla tapaa kuin ennenkin.
Pidemmällä tähtäimellä tarkoitus on siirtää myöskin tämä blogi pyörimään tuossa samaisessa koneessa, mutta se vaatii hieman enemmän säätämistä ja testaamista tämän blogin teknisesti monimutkaisemman rakenteen vuoksi.
Teknisellä monimutkaisuudella tarkoitan siis sitä että tämä sivusto käyttää MariaDB tietokantaa sekä PHP:tä, kun taas nuo aikaisemmin mainitsemani ja jo siirtämäni sivut ovat kaikki staattisia verkkosivuja. Jotta tämän sivuston saa joskus siirrettyä vaatii se tietokantapalvelimen asennusta ja konfigurointia joka vaatii hieman edemmän viitseliäisyyttä jotta sen voi tehdä kutakuinkin tietoturvalliseksi.
Tekniset ratkaisut
Raspberry Pi 5 on kooltaan aavistuksen suurempi kuin pitkät tulitikut
Yksi asia mikä kotona oman serverin pyörittämisessä tulee vastaan on tietoturva. Nykyään minkä tahansa laitteen kun laittaa Internetiin ja siinä on portteja auki on siellä kohta myös botteja sekä ihmisiä etsimässä tietoturva-aukkoja.
Tietoturvan osalta voi mennä monenlaisella ratkaisulla aina hällä väliä -asenteesta foliohattuiseen vainoharhaisuuteen ja kaikkeen siltä ja väliltä. Itse valitsin jotain näiden kahden ääripään väliltä.
Sivustot pyörivät Dockerissa, eli jos joku pääsee hakkeroimaan sivustolle sisään esimerkiksi Nginx-verkkopalvelimen remote execution -hyökkäyksen kautta niin varsinainen isäntäkone ei niin helposti ole vielä tietoturvansa osalta uhattuna.
Lisäksi kotona ei ole mikään muu tietokone koko aikaa päällä ja nettipiuhan päässä, joten sisäverkon muihin laitteisiin yhidstämisen yrittäminen tuolta koneelta on suhteellisen turhaa.
Tietenkin jokainen laite mikä pääsee Internetiin on potentiaalinen uhka muulle maailmalle mikäli joku sen onnistuisi kaappaamaan omiin tarkoituksiinsa joten omien laitteiden tietoturvasta on tärkeää pitää silti huolta.
Törmäsin netissä mielenkiintoiseen sivustoon, https://www.webdesignmuseum.org/all-websites jossa voi käydä katsomassa monien Internet-sivustojen vanhoja ulkoasuja. Suosittelen katsomaan ja selailemaan!
Itseäni tällainen digitaalisen maailman historiasivu kiinnostaa, sillä henkilökohtaisesti pidän nykyistä valtavirta-Internetiä monessa mielessä hajuttomana, mauttomana, persoonattomana ja tylsänä jota voisi kuvata jopa sanalla sieluton.
Lähes jokainen verkkosivu joihin Googlen kautta nykyään päätyy on enemmän tai vähemmän samaa kaavaa toistava visuaaliselta ilmeeltään, eikä tämäkään blogi ole poikkeus sillä tässäkin blogissa on käytössä WordPress-blogialusta. Tietenkin WordPress-sivuston voi muokata näyttämään miltä vain haluaa joten vika ei tietenkään ole kyseisessä alustassa, vaan enemmänkin omassa vähäisessä motivaatiossa radikaaliin teeman muokkaamiseen.
Esimerkkisivuja modernista netistä
Jotta tämän tekstin lukija saa käsityksen mitä tarkoitan nykyisellä Internetillä jota pidän hajuttomana, mauttomana ja persoonattomana laitan kuvankaappauksia tämän hetken moderneista verkkosivuista eri yritysten osalta.
Nämä firmat olivat ensimmäisiä mitä mieleeni juolahti, eli tarkoitus ei ole millään muotoa kritisoida näitä firmoja, heidän tuotteitaan tai heidän verkkosivujaan vaan ainoastaan toimia esimerkkinä siitä mitä tarkoitan nykyisillä internet-sivuilla. Minkä tahansa firman sivun olisi voinut siis jättää pois ja ottaa tilalle minkä tahansa toisen firman sivun ja lopputulos olisi silti täysin samanlainen.
Oma kotisivu on muisto menneestä ajasta
Täysin erilainen visuaalinen ilme sitten löytyykin omalta kotisivultani osoitteesta http://aleksirasanen.xyz/ jossa ulkoasu on suoraan 2000-luvun alun tyylinen. Se ei näytä älypuhelimella kovinkaan järkevältä (tietoinen valinta), eikä se varmaan näytä kovinkaan kauniilta millään laitteella juuri kenenkään mielestä (paitsi itseni) ja kontrasti moderneihin verkkosivuihin on valtava.
Nykyisen kauneusihanteen mukaisen kauneuden puute on kuitenkin omalla tapaansa sen sivuston visuaalisen ilmeen pointti, sillä se näyttää juuri siltä kun sen itse haluan näyttävän. Sen värit eivät ole sellaiset mitä graafikot varmastikaan valitsisivat, samoin sivuston fontit, kuvat ja muut elementit eivät skaalaudu pienemmille näytöille järkevästi joten sivusto on moderneilla standardeilla arvioiden myös käytettävyytensä osalta kauhea.
Kuitenkin se on juuri sellainen kuin sen itse haluan olevan. Se on henkilökohtainen kotisivu ja sen ulkoasu ja toimintalogiikka on juuri sitä mitä tahdon sen olevan. Sen toimivammaksi tekeminen kännyköille yms. ei olisi myöskään mitään rakettitiedettä ja osaisin sen helposti tehdä, mutta en halua. Se on tehty tietokoneella käytettäväksi koska sitä itse sillä pääsääntöisesti käytän, joten se on sellainen kuin se on. Se on persoonallinen ja itseni näköinen eli juuri sellainen, mitä ennen aikaan jokainen nettisivu oli.
Henkilökohtaisen kotisivuni SEO on aivan kamala – ja se on hyvä asia
Testasin mielenkiintoista myös kotisivuni SEO:n eli “Search Engine Optimizationin” eli sen kuinka hyvin se on optimoitu hakukoneita varten. Kuten yllä olevasta kuvasta voi havaita, kotisivuni ei ole kovinkaan hakukoneoptimoitu eikä se sitä edes yritä olla. Siihen nähden yllättävänkin korkeat pisteet tuosta tuntui tulevan https://freetools.seobility.net/ sivuston testillä tehden eikä itseäni haittaisi vaikka tulos olisi pyöreä nolla.
Mitkä sitten on syynä nykyiseen Internetin persoonattomaan tilaan?
Yksi mahdollinen syy nykyiseen Internetin persoonattomaan ja tylsään visuaaliseen ilmeeseen on hakukoneissa ja niiden tavassa nostaa eri sivustoja paremmin tai huonommin hakutuloksissa esiin.
Kuten tiedettyä, nykyään Internetissä on paljon kaupankäyntiä joko suoraan tai välillisesti. Tavalliset ihmiset etsivät netin kautta tuotteita ja palveluita hakukoneiden – eli käytännössä usein vain Googlen – kautta, joten firman sivuston nouseminen korkealle hakutuloksissa on monelle yritykselle tärkeä asia myyntiä ajatellen. Jos ihminen etsii vaikkapa sähkömiestä niin todennäköisesti hän saattaa valita sellaisen joka ensimmäisten ehdotuksien joukosta Googlesta tulee vastaan.
Koska Google nostaa tietynlaiset verkkosivut hakutulostensa kärkikastiin vaikuttaa se luonnollisesti myös siihen millaisia sivustoista halutaan tehdä, ainakin jos sivustolla on tarkoitus saada näkyvyyttä itselleen, firmalle tai tuotteelle. Jos haluaa olla modernin ajan termein ilmaistuna vaikkapa influencceri on näkyvyys Internetissä tärkeää niissä paikoissa joista ihmiset tavallisesti etsivät tietoa.
Toinen merkittävä syy on luultavamminkin sosiaalisessa mediassa. Siinä missä ennen aikaan ihmiset tekivät omia kotisivujaan, oli sivujen ulkonäössä hyvinkin paljon vaihtelevuutta sillä tekijöillä oli erilaiset taidot ja näkemykset siitä miltä sivun pitäisi näyttää. Kun sosiaalinen media yleistyi, yhä useammat siirtyivät käyttämään niitä ja omat kotisivut jäivät monen ihmisen osalta historiaan. Vähitellen internetin kotisivut ovat yksi kerrallaan vaihtuneet persoonattomaan sosiaalisen median profiilien harmaaseen massaan.
Kolmas syy on luultavasti myöskin Internetin sisällön kaupallistumisessa eikä se ainoastaan vaikuta sivujen hakukoneoptimointeihin. Monia asioita koetetaan netissä myydä kuluttajille, joten hyväksi ja toimivaksi havaittuja toimintamalleja on kannattavaa kopioida monille sivuille joka johtaa tietenkin sivustojen samankaltaisuuteen. Jos jokainen nettikauppa olisi hyvinkin erilainen esimerkiksi tuotteiden ostamisen osalta, olisi kuluttajalla isompi kynnys kenties ostaa tuotteita jos prosessi olisi jokaisella sivulla erilainen. Helppo ja opittu toimintamalli säästää aikaa ja mentaalista energiaa, jolloin ostoksia on helppoa tehdä ja siten tuottaa lisää rahaa sivun ylläpitäjille.
Miltä tulevaisuus näyttää?
Oma veikkaukseni on, että moderni valtavirta-Internet näyttää tulevaisuudessakin samanlaiselta kuin nykyään eli tylsältä ja persoonattomalta. Valitettavasti.
Sivut jatkossakin tunkevat käyttäjälle heti klikattavaksi “Hyväksyn evästeet” -painikkeet koska evästeistä tuskin ollaan sivuilla luopumassa eikä lainsäädäntö ole varmaankaan muuttumassa toisenlaiseksi että tähän ei tarvitsisi käyttäjän antaa suostumustaan.
Massiiviset ylälaidan kuvat jotka peittävät yli puoli sivua tuskin ovat minnekään katomassa vielä vuosiin enkä henkeäni pidättäisi että automaattisesti pyörivät videotkaan verkkosivujen ulkoasussa olisivat minnekään jäämässä pois aivan lähivuosina.
Muutos tietenkin on mahdollista, etenkin jos vaikkapa vihreät arvot nostettaisi korkeammaksi prioriteetiksi verkkosivuilla. Jos Google alkaisi nostamaan kepeämpiä sivuja korkeammalle hakutuloksissaan, voisi se nopeastikin tehdä muutoksen parempaan ainakin tarpeettoman suurien kuvien ja videoiden osalta. Silti se ei muuttaisi sitä miltä sivustot rakenteensa ja ulkoasunsa osalta muutoin näyttävät ja käyttäytyvät.
Onneksi “vanha internet” on yhä elossa eikä persoonalliset sivut ole kadonneet minnekään vaikka niitä ei enää juuri koskaan Googlen kautta löydäkään. Ehkä tulevaisuudessa yhä useammat harrastelijat alkavat tekemään jälleen omia kotisivujaan ihan vain niiden tekemisen ilosta? Toivossa on hyvä elää 🙂
Tänään päivällä tuli havaittua että tämä sivusto ei enää ollut pystyssä vaan sivustolla vierailija sai eteensä ainoastaan nettiselaimen antaman virhesivun. Ongelma poistui kun palvelimen käynnisti uudelleen.
Ongelman syy oli mitä luultavamminkin palvelimen muistin loppuminen minkä takia kaikkia tarvittavia palveluita ei enää pystynyt pyörittämään ja sivusto kaatui kun palvelin sulki prosessejaan. Itse palvelin kuitenkin oli käynnissä, mutta aivan järjettömän suurella kuormituksella suhteessa palvelimen tehoihin ja ainakin tietokanta oli jo stopannut muistin vähyydestä.
Virtuaalipalvelin jolla tämä sivusto pyörii on hinnat alkaen -mali ja muistin määrä on vähäinen, joten voi olla että vastaavanlaisia ongelmia tulee jatkossakin. Toisin sanoen jos sivusto joskus on taas nurin, ei kannata ihmetellä sillä tätä pyöritän pienellä budjetilla ja korjaan kun kerkeän. Isommalla rahalla toki saisi parempiakin ratkaisuja jotka toimisivat varmemmin, mutta en kovin suuria summia halua ainakaan tässä vaiheessa käyttää tämän pyörittämiseen, sillä kyseessä on harrastustoiminta eikä mikään business-kriittinen palvelu.
Jos samanlaisia ongelmia alkaa olemaan useamminkin niin luultavasti vaihdan seuraavan hintaluokan palvelimeen tai siirrän koko sivuston toiselle virtuaalipalvelimia vuokraavalle taholle jossa samalla hintaa saa isomman ja tehokkaamman serverin.
Tällä kertaa oli kuitenkin helppo toimenpide tehtävänä joka edes hieman antaa lisäaikaa ennen kuin tarvitsee isompaa palvelinta miettiä. Jostain syystä palvelimella ei ollut konfiguroitu ollenkaan swappia käyttöön, joten kun muisti loppui, se loppui ja lopputulos oli sen mukainen.
Tavallisesti tietenkin swap on käytössä jolloin muistin loppuessa käyttöjärjestelmä alkaa kirjoittamaan muistinsa sisältöä levylle kun muisti loppuu, mutta koska sitä ei ollut niin muistin loppuminen aiheutti sen sijaan vain suoraan prosessien tappamista, järjetöntä hitautta ja sivuston toimimattomuuden.
Koska swappiin kirjoittaminen ja sieltä lukeminen on merkittävästi hitaampaa kuin muistista, alkaa tietenkin hitautta ilmenemään siinä vaiheessa kun muisti seuraavan kerran loppuu. Jospa lisäämäni muutaman gigan swappi kuitenkin auttaisi ja sivusto ei kokonaan kaatuisi vaan ainoastaan hidastuisi siinä vaiheessa kun alkaa taas joku prosessi viemään kaiken tehon.
Katsotaan mitä tulevaisuus tuo tullessaan. Jos siis sivusto on aina joskus nurin, ei sitä kannata ihmtellä, teen tässä sitä mukaa tarvittavia toimenpiteitä ja arvioita siitä että kannattaako sijoittaa enemmän rahaa vaiko enemmän omaa aikaa asioiden säätämiseen.
Kaveri linkitti erittäin mielenkiintoisen videon YouTubesta jossa on selostettu ohjelmoijan näkökulmasta miksi tavallisen rivikoodarin ei kannata lähteä koskaan laskemaan aikoja eri aikavyöhykkeiden välillä omatekoisilla ratkaisuilla.
Video kannattaa katsoa vaikka ei olisikaan koodari, koska siitä saa hyvän käsityksen kuinka järjettömän monimutkainen systeemi eri aikavyöhykkeet ovat tietokoneille käsitellä ja miksi näin on.
Tänään tuli tarvetta muuntaa stereo-muotoinen WAV-tiedosto mono-muotoon Mac OSX:ssä. Aikani selviteltyäni löysin ratkaisun miten sen voi tehdä komentorivillä (toki voin Logicissakin tehdä, mutta halusin helpon komentorivitavan).
Tein tiedoston wav2mono joka on seuraavanlainen:
#!/bin/bash
for input_file in *.wav
do
output_file=mono_$input_file
echo "Converting file $input_file to MONO WAV file to $output_file"
afconvert $input_file -o $output_file -c 1 -d LEI16
done
Eli kyseinen wav2mono vetäisee kaikki hakemistossa olevat WAV-tiedostot mono_wav_tiedoston_nimi.wav nimiseksi mono-tiedostoksi.
Jos yksittäinen tiedosto vain tarvitsee muuntaa, onnistuu se yksinkertaisesti siis: