Practical dev majik and devops: Finding your node Linux process

Reading Time: 3 minutes

If you’re new (or beyond 42 years) to dev jobs, it might happen that..

  • you made some simple top-of-your-head Node server code
  • you ran the server with a $ node blahblahblah.js
  • …and left it running.

All is fine at this point, right? Absolutely. No funny-cat face yet needed. Alas:

  • later on, you logged in to the server, but have no idea how to “locate” your server as a Linux process

What was my Node server’s folder, again?!

Photo by Ramiz Dedaković on Unsplash

Soooo…. you remember your cute proof-of-concept server, hazily whipped on top of express is listening to port 3000, that’s for sure.

..but you’ve got no fricking idea which process your node is

man in brown long sleeve shirt holding book in white wooden book shelf
Photo by cottonbro on

..and as said, yeah, it’s a couple of weeks since your last visit on this Linux box… and it’s kind of Friday afternoonish… and you kind of would like to get the momentum going.

Two friends: ps and history

ps ax | grep -i 'node'

And behold! Bingo!

Look at the result:

  • importance of naming your entry point (ie the file that normally is index.js)
  • you can drill down more now that you’ve found the important thing, the pid number (in the screenshot it’s 640). There’s a whole lotta things that can be done. Google around for ‘linux ps’, ‘linux vtop’, ‘using vtop’

What is the ‘history’?

Linux and Macs have the command ‘history’. It’s really useful memory aide sometimes. History lists your entire command history, ie. the commands that you’ve entered into the shell. When sometimes running complex and long commands to run servers, or in doing any other devopsey magic, history can be really useful.

Just try it in the shell:

Again, in the philosophy of Linux and *nix systems: treat output from tools as a valuable data to be further processed with other tools. grep is your powerhouse for finding snippets of text when you can describe the approximate (or precise) format. ‘awk’ is another great tool, albeit a bit more complex. Awk allows for the usual programming-like complexity of building your text-mangling solutions.
history > mygoldstash.txt 

Sidetrack: of naming things

One of the most well-known “you’d never believe it to be so hard” -problems in coding is naming things! Naming is required in many places: naming files, scripts, commands, variables, you name it!

In the above drill, I am running this superb Gauntlet game on my VPS, using node. So I named the entry point file as gsrv (for “gauntlet server”). Fair enough. But I have to admit already a few weeks down the memory lane it might be hard to remember this, especially if I had several node processes going on at the same time.

Enjoy! See you back later.

Facebook Comments

Cart-wheel software cauldron

Reading Time: < 1 minute

Underlying Paradigm: strong, elegant and precise.

  • I want the Cartwheel’s static analysis to be effective in making better programs
  • One blueprint can spawn many permutations, and choice of which perm to implement is part dev’s
  • Developers will be more committed to architecture which they have been choosing and forming.
  • programs written in Cartwheel are not necessarily “easy to understand by anyone”
  • Cartwheel is aimed at being the best tool for Software architects
  • a CAD for software blueprints

Some inspiration:

Facebook Comments

Personal note on blogging

Reading Time: < 1 minute

Personal note.

Blogging is a both challenging, fun and eternally evolving “thing”. A few thoughts arose during the years:

  • persistence ultimately wins the inner critic and resistance to write – it’s tough sometimes, gotta admit that!
  • short and concise content beats long and wandering rants – trust me. I’ve been doing the latter quite much!
  • a blog feels a little bit like a first novel – writing is a rollercoaster. Sometimes you might be bustling with ideas and feeling the flow of writing, but at other times it might be tough job to crank out the words.

As a reader of blogs, myself, I see that there’s value to being a consistent blogger. We want the soap. We want an easy message. We expect things. A persona in blogosphere stands for something – something that when you see their brand in the email notification, you pretty much decide almost solely based on that, whether you’ll read the Post now, later, or never.

Having said that, I strongly recommend reading one of the brightest analyses of indirect signs about one’s blogging quality at Jonathan Morrows “Copyblogger: 20 Warning Signs That Your Content Sucks“.

Enjoy and may you be profilic! I’d love to read about your thoughts on writing and blogging. Please: leave a comment!

Facebook Comments

Saavutettavuuden tila WordPress-blogissa kotikonstein

Reading Time: < 1 minute

Härkää sarvista! Lainasin mainion Kari Selovuon kirjan “Saavutettavuusopas”. Ekana mietin omaa blogia: mikähän lienee status quo?

EU-standardi pohjautuu pitkälti WCAG 2.1 -standardiin, joten nämä 4 teemaa nousevat saavutettavuustestauksessa esille:

  • Miten helppolukuinen blogini on?
  • Kuinka havaittavuus toteutuu? Näkyykö teksti selkeästi, onko blogin navigointi selkeä?
  • Miten ymmärrettävää blogin artikkelit ovat?
  • Toimintavarmuus: Toimiiko blogi yhtä hyvin normaaleilla web-selaimilla kuin vaikka älypuhelimella?

Haluaisin testata mekaanisesti Jukkasoft-blogin kauttaaltaan, kaikkien tunnettujen WCAG-standardien mukaisesti.

Kun nyt harrastelijablogista on kyse, niin toki testaus pelkästään ilmaistyökaluilla. Nivon myös tulokset yhteen jo aiemmin tehtyyn A/B testaussarjaan, eli olisi tulossa myös tietoa parantaako saavutettavuuden lisääminen blogia siten, että se on myös hakutulosten kautta nähtävissä. Saavutettavuudessa ei ole mielestäni kyse sinänsä “tulosten metsästämisestä”, vaan paljon tärkeämpää on tehdä teknologiasta reilua ja helppoa.

Metsästän softaa ja kerron pian, millaisia mahdollisuuksia on tehdä itse tätä saavutettavuustestausta. Jos tiedät hyviä lähtökohtia, saitteja, työkaluja, laita kommentteihin!

Photo by Jacqueline Munguía on Unsplash
Facebook Comments

my Experience of Writing a first novel

Reading Time: 3 minutes

I’ve written a short story for the past 5 years. Here’s a few ideas about writing. This is mostly just a personal venting. It’s a comforting though that this piece might help someone else who’s experiencing a writing bout, and thinking of things to do in order to wrap something up to be completed.

Writing a complete book seemed a daunting challenge. I love blogging and during elementary school I was always really keen on writing fiction essays. However, a book is another story.

Aim for a specific page count?

I was ruminating and obsessed with reaching a specific page count goal. It’s not a useful thing. Don’t do that. Just write. Writing will have many other kinds of obstacles. The book’s length should be one the least significant of your worries.

Spot it!

Reserve good spots for writing. For me, it’s a table, laptop, and minimal confusion / distraction. I often listen to Sibelius (classical music).

Photo by Green Chameleon on Unsplash

I also try to learn to use shorter spots to write. This used to be really hard for me. When I learned to do it, also the writing kept becoming easier. It doesn’t necessarily take more than 40-60 minutes of concentration, when you can already produce a good chunk of text.

I kept an outline, a memo in Excel spreadsheet. This made the writing more goal-oriented, especially when going for the final 30% of the work, finishing the story.

The finishing part of a book seems real hard. Real hard. The shoelace tying, how I call finishing a book, pins down to:

  • keeping your mind focused
  • don’t let the plot bloat anymore – you can’t “write yourself out of the situation”
  • having confidence to close events
  • deciding a lot of things: what is revealed of the plot?
  • do you plan on writing a sequel?

I noticed that as defenses I tried to allow pushing new twists to the plot, whereas actually I had to instead force myself to finish an ongoing twist. The creative part of my brain is a bit lazy on the shoelace tying. Definitely tries to fabricate stuff instead. But the “judge” part says no.

So I started with a vague idea around year 2015. I was working as a software developer, and the plot of the book is also loosely centered on a mythical startup, which gets turned around in the tides of competition.

There were these glimpses of the plot “floating” around me, and I wrote pretty hectically. Often it was a moment, coming home from work, I had a laptop in the carry case, and I just stopped for a moment, to look at people moving in the subway systems; through shopping malls, eating out. These kind of minute moments of pure brainstorming are really fascinating. It’s here when I get the turnpoints to the story. Things “click” to place.

I borrowed content from past and current real events. Often it happens to me that amidst the busiest time of my life I also get plenty of ideas. Writing is a tool to somehow process and store these.

It felt real easy to produce more text. The book involved a protagonist and a few key roles alongside. During the first year of writing it was quite fragmentary. I added the chapters that describe the character’s backgrounds. It helps a lot with keeping the ethos of the story and also making the experience more consistent.

The next years I kept adding stuff. I think the pace got slower, however. The book stood at somewhere around 35-40 pages. This is the length where I felt a lot of threads were actually “open”. I needed to also think of finishing them.

It’s been a superbly interesting but also at times really hard path. And I’m not yet finished…

Facebook Comments

Rekrytointi 20×20

Reading Time: < 1 minute

IT-Rekrytoinnin paradoksit ja ilmiöt (2015-2020)

  • Voi olla, että sopiva kandidaatti kohtaa teknisiä käytännön ongelmia paljon erityisesti tekniikkatehtävissä
  • tarvitsee asentaa platformi, softaa eli jonkinlainen “stack” esikarsintatehtävän suorittamiseksi.. is bad?
  • työkalusoftat ja osaamistarpeet liikkuvat nopeasti, ja teknisesti siirtyvät pilveen (koneelle paikallisesti asennettavien softien sijaan)
  • Epäsymmetria työnhakija – yritys tasapainossa: norsunluutorni-efekti
  • lisää: norsunluutorni => rekrytoija (eli firman edustaja) etabloitunut, oma kone, stabiili tilanne, “business as usual”, joku muu kenties hoitaa jopa tietokoneen ostamisen, ylläpidon ja asennukset
  • Funnelin edetessä hakijan kannalta voi joskus syntyä epäsuhta “sijoituksen” eli käytetyn ajan ja rahan, matkustamisen ja saadun hyödyn välillä? (Reissu voi olla mitä tahansa 1h .. 8h eli koko päivän välillä kestoltaan) -> etähaastattelut ovat tässä lyöneet läpi osittain vuonna 2020
  • Virtuaalikokousten lisääntyminen 2020 koronavirusepidemian myötä!
  • Hakijalla tilanne voi sellainen, että hänelle on kasautunut teknistä velkaa – ei välttämättä omia sopivia laitteita haun tekniseen osioon
  • teknisesti rekrytoijan päässä työ, eli rekrytoinnin vaiheistus ja tiedonhallinta ovat haasteellista puuhaa, johon tekniikka voi tuoda helpotusta
  • erilaisia “hintoja” siis työntekijän saamiseksi tuottavaksi

Tuumailuja? Kokemuksia? Heitä ideoita ja kuulumisia. Jatketaan seuraavaksi siten, että koitetaan haarukoida rekrytoinnin hintaa ja ideoita sen tehostamiseen.

Facebook Comments

Isto ja avain (novelli)

Reading Time: 4 minutes

Oli kaunis kesäaamu. Metsätie ei pölissyt, linnut
lentelivät pitkin vedoin, leijailivat pitkiä matkoja.

Luonto oli niin kaunis.

Isto piti kädessään perinteistä koivuista sienikoria.

Hän poikkesi tieltä metsään, ja käyskenteli hieman kyyryssä,
väistellen havujen piikikkäitä kämmeniä. Siellä täällä
näkyi hämäkinhäkinseittiä.

Tuoksut kertoivat omaa täysin jäljittelemätöntä
tarinaansa, osaa luonnon omasta näytelmästä.

Vesi liplatteli purossa. Oli niin hiljaista! Niin hiljaista, mutta
silti luonto oli täynnä elämää ja merkkejä, kulkijan

Sienestystä, marjastusta – kumpikin käy,
hän tuumasi. Ei ollut aikatauluja, ei huolia.

Mies oli 55-vuotias, ja ollut jo hyvän aikaa eläkkeellä.
Hänen selkänsä ei ollut kestänyt raskasta fyysistä työtä, ja
Isto oli saanut työkyvyttömyyseläkkeen vuonna 2001.

Isku oli alkuun tuntunut kovalta, mutta hiljalleen hän oli hyväksynyt
vääjäämättömän. Vain ajoittain hän vaipui hetkeksi
miettimään “menetettyä elämää”, mutta pian oli
jo taas tässä hetkessä.

Alkusyksyn suomalaisessa metsässä, jota kauniimpaa asiaa
hän ei äkkiseltään keksinyt.

Isto oli luopunut pinttyneestä tavasta ajatella:
enää hänen päivänsä eivät koostuneet pakollisista
“maaleista”, vaan hän otti ilon irti sieltä mistä
ikinä sattui saamaankaan. Vaikka oli lähtenyt
marjastamaan, ei se pilannut hänen päiväänsä,
vaikkei yhden yhtäkään mätästä olisi löytynyt.

Isto ihasteli metsää; jylhää rinnettä; kalliota.
Luonto sai hänessä aikaiseksi jotain tyyntä ja
ajatonta. Hän katseli erästä kallioista seinämää.
Isto kosketteli sormellaan seinämän pintaa.

Kallion pinta oli kovasti rapautunutta. Sormen
sivellessä kalliota, kuului pientä rapinaa, kun
irronneet palaset rapisivat maahan, kuivuneiden
lehtien ja aluskasvillisuuden päälle.

Isompi palanen tipahti rapsahtaen kallion viereen maahan.

Sen jälkeen kuului ääni, joka oli yllätys: metallin kilahdus. Isto käänsi katseensa alas, ja huomasi jonkin välkkeen maassa, hänen käännellessä päätään.

Hän meni kyykkyyn, ja katsoi tarkemmin. Sehän oli avain.

Mistä moinen oli mahtanut kallionseinämään joutua?

Isto katsahti ensin ylös. Vaistomaisesti hän ajatteli,
että avain olisi tippunut muualta kuin kalliosta. Sitten
hän torjui ajatuksen aivan hassuna.

Isto otti avaimen, nosti sen parempaan valoon, ja
tarkasteli sitä huolellisesti. Hänen mielessään
ei juuri liikkunut mitään mikä olisi selittänyt

Avaimen löytyminen tuo aina mieleen toisen
ihmisen. Jokuhan on välttämättä tuon avaimen
tänne laittanut – ei se nyt itsestään ole voinut
joutua tällaiseen paikkaan!

Ensimmäisen kerran koko aamuna hänelle tuli tunne,
että joku olisi kenties saattanut nähdä avaimen
löytymisen. Isto vilkaisi vaistomaisesti olkansa
yli, molempiin suuntiin; oli hiljaista, ei ketään
näkyvissä. Ei ketään eikä mitään. Vain luonto. Aurinko.
Hiekkatie. Metsää. Sininen, osittain poutapilvinen
taivas. Hän oli varmasti yksin.

Isto oli jättänyt sienikorin maahan. Hänen kaikki
ajatuksensa alkoivat liikkua avaimen mysteerin
liepeillä. Hän päätti laittaa avaimen lopulta
verkkarinsa taskuun, otti sienikorin, ja asteli reippaasti
takaisin parkkipaikalla odottavaan autoonsa. Hänellä
oli autossa älypuhelin, jossa oli kamera. Hän jätti
korin autoon, ja tuli vielä kuvaamaan kallion kohdan.
Hän otti muutamia kuvia alueelta, ja palasi autolla

Isto oli jollain tapaa täysin lukkiutunut avaimen
tarinan etsimiseen. Hän halusi saada vastauksen. Miten
tällaista voisi alkaa selvitellä?

Hän lämmitti saunan, otti saunaoluen, katseli iltauutiset
ja viihdettä, ja nukahti. Tältä päivältä ajatukset
alkoivat kiertää kehää, sen hän tiesi.

Seuraavana päivänä hänen mieleensä juolahti:
mitä jos avain kävisi itse asiassa johonkin lähellä
olevaan säilöön? Olisiko joku voinut piilottaa avaimen,
kenties… paniikissa?

Olisiko metsäiseen maastoon voitu kätkeä jotain?

Ei. Nyt hän oli hakoteillä. Liian vilkkaan
mielikuvituksen tuotetta. Hän oli katsonut illalla
mielirikossarjaansa, joka sai aina hänen mielikuvituksensa
poikkeuksellisen aktiiviseksi.

Vai olisiko kuitenkaan kyse mielikuvituksesta? Mistä
hän tietäisi eron intuition ja kuvitellun välillä?
Rikossarjassa oli ollut selvännäkijöitä parikin kertaa.
Poliisi käytti niitä tilanteissa, joissa muita johtolankoja
ei yksinkertaisesti ollut.

Isto tunsi ensimmäisen kerran pitkään, pitkään aikaan
samalla hetkellä sekä pelkoa, jännitystä että stressiä.
Stressiä hän tunsi siksi, että olisi halunnut palauttaa
avaimen, mikäli se oli tärkeä, ja jonkun toisen oma.

Pelkoa hän tunsi jostain selittämättömästä syystä.

Jännitys tuli ajatuksesta, että avain saattaisi muuttaa
hänen elämänsä.

Isto alkoi palata lähes päivittäin avainkallion
luokse. Hän haravoi aluetta, potkiskeli maata, ja
tarkasteli erilaisia paikkoja, joissa ajatteli jonkinlaisen
säilön voivan olla.

Parin viikon etsimisen jälkeen hän ei ollut löytänyt mitään
merkittävää. Muutamia rikkinäisiä retkeilytarvikkeen
osasia lukuunottamatta hän oli vetänyt vesiperän.

Hän keksi ostaa koettimen, jolla pystyi haravoimaan
aluetta paremmin. Hän pisti tuon lievästi taipuisan
kätevän lasikuituisen työkalunsa maaperään, ja koputteli saadakseen
selville oliko vastassa kallioperä, kenties isompi kivi,
tai jotain, joka antaisi hieman periksi. Hän kuvitteli
mielessään metallista laatikkoa.

Työkalulle pistely alkoi kuitenkin puuduttamaan ja
Isto oli edelleen vailla varsinaista johtolankaa.

Hän osti metallinpaljastimen.

Metallinpaljastin oli pieni investointi, ja sitä paitsi
se oli pitkään ollut hänen mielessään. Isto oli monesti
nähnyt harrastelijoita rannalla tutkimassa ja etsimässä
historiallisia kolikoita ja muita aarteita.

Metallinpaljastin oli varsin kätevä, ja se toimi paristoilla
riittävän pitkään. Hän haravoi järjestelmällisesti kallion
läheisen alueen seuraavan viikon aikana.

“Pii-iii! Pii-iii!” laite antoi piippauksen. Istoa
jännitti. Hän pysähtyi välittömästi, ja liikutteli
hieman edestakaisin metallinpaljastimen sensoriosaa maan
läheiyydessä. Tarkka kohta löytyi.

“Perkeles!” hän sähähti. Isto huomasi, että eihän hänellä
ollut mitään, millä kaivaa.

Takaisin autolle, rautakauppaan. Tuntia myöhemmin
hän oli paikan päällä lapio kädessään.

Lapio upposi maahan. Isto lapioi innoissaan. Multainen
maa lensi, muodosti pienen kasan kaivannon viereen.


Isto jähmettyi paikoilleen. Hän odotti hetken, rauhoittui,
ja hengitti syvään. Sitten heitti lapion syrjään, ja kaivoi
käsillään vimmatusti. Kova esine alkoi hahmottua. Pinta oli
naarmuuntunut, ja hieman ruosteinen. Metallinen laatikko!

Hän ei voinut enää odotella. Hän kaivoi käsillään
vimmatusti laatikon ympäriltä loputkin maat, ja nosti
laatikon syliinsä heti kun sai sen irti maan ikeestä…

Isto lyyhistyi. Muutaman silmänräpäyksen kuluttua kuului valtava pamaus, joka kaikui ja kajahteli. Luonto hiljeni täysin. Oli karmivan hiljaista. Hän katseli laatikkoa. Hikeä puski, ja hiki kirvelsi hänen silmiään. Istolla ei ollut mitään ymmärrystä, mitä oli tapahtunut.

Hän makasi maassa, kyljellään, katsoen laatikkoa. Hänen niskansa oli kihelmöivä, osaksi tunnoton, eikä hän kyennyt liikuttamaan itseään lainkaan. Kuului askelten ääntä. Kädet nostivat laatikon pois. Isto ei nähnyt henkilöstä muuta. Joku oli seurannut häntä ilmeisesti pitkään. Askeleet kuuluivat jälleen, nyt poispäin. Hänen silmissään pimeni.

Facebook Comments

Kielen selkeydestä

Reading Time: < 1 minute

Huomasin, että eräs asia ärsyttää. Paljon. Tällaiset lauseet:

Googlen algoritmista puhuttaessa tarkoitetaan yleensä menetelmää, jolla päätetään, mitkä verkkosivustot valikoituvat maksuttomiin hakulistauksiin ja missä järjestyksessä eli ketä Googlen hakutuloksissa mm. etusivulla näkyy eri käyttäjille.

Kirjoitan itse samalla tavalla. Ongelma on epäselvyys ja valtava määrä avoimia kysymyksiä. Yllä oleva siteerattu lause ei kerro oikeastaan mitään varmaksi tiedettyä. Huomaatko, että heti jää miettimään näitä kysymyksiä:

  • “..tarkoitetaan yleensä menetelmää” -> no mitä muuta sitten voidaan tarkoittaa?
  • “..eli ketä.. muunmuassa.. eri käyttäjille” -> whaaaat?!

Markkinointi on tehokkuutta ja yksinkertaistamista. Jokainen blogiteksti on itsessään markkinointia. Siksi kiinnitän tästedes huomiota lauserakenteen lyhyyteen! Lupaus.

Älä ota itseesi, vaikka huomaisit että kirjoitat myös samalla tavalla. Meille opetetaan koulussa tämä tyyli. Tulevien vuosikymmenien saatossa asiat muuttuvat, ja alamme kirjoittaa selkokielimäisemmin.

Lyhyesti ja ymmärrettävästi kirjoittaminen on kaikkein vaikeinta. Siksi on helpompaa kirjoittaa “laiskasti” ja kierrellen. Kun näkee pitkän ja vatsanpohjaa kutkuttavan tekstin, on kirjoittajalta jäänyt työ kesken. Hän ei ole vielä puristanut parasta versiota itsestään ulos.

Facebook Comments

SEO vs. maksetut mainokset? Blogaajan näkökulma

Reading Time: < 1 minute

Puhun parissa artikkelissa SEO:sta, mutta heitin termin hieman puskista.

Search Engine Optimization. Suomeksi hakukoneoptimointi; historialtaan kenties hieman salamyhkäiseksi jopa leimattu. Nykypäivänä SEO on käytännössä tilastollista tutkimusta, datan summaamista, analyysiä ja johtopäätösten perusteella toimimista.

Lisäksi muutokset kannattaa mitata, jotta ei hutkita ja tutkita turhaan. Ajattele lääkärin työtä: sen lisäksi, että hän antaa hoidon, lääkäri mielellään kuulee myös miten hoito tehosi. Kuten lääkärin ja asiakkaan suhteessa, myös blogimaailmassa pätee se, että mikäli et kuule mitään asiakkaastasi, hän joko on passiivisesti tyytyväinen, tai aktiivisesti haki hoitoa toisesta paikkaa. Jos saat kiitosta tai viestin, olet erittäin hyvin onnistunut tehtävässäsi!

SEO eroaa Google-mainoksista siinä, että rahaa ei kulu suoraan investointina. Rahaa sen sijaan kuluu epäsuorasti käytettyinä työtunteina. SEO on siis työ, jota tehdään kahdessa vaiheessa:

  1. jatkuvana puutarhurointia, eli blogin ylläpitona
  2. oivaltavaa ja tietoista kirjoittamista, jolloin otetaan huomioon hakukoneiden toiminta ja suositukset blogin teknisestä rakenteesta

Perinteinen kivijalkaverrokki: Mitä se SEO on?

SEO = tuotantoprosessin parantaminen, kohdentaminen; tuotteen asiakastyytyväisyystutkimusta ja sen perusteella toimimista. Digimaailmassa se on kiinnostavan, hyödyllisen, tuoreen ja ymmärrettävän sisällön tuottamista blogiin. Ja kun tämä on tuotettu, varmistat SEO-toimenpiteillä, että mikään ei ole asiakaskuntasi ja blogisi välissä turhaan blokkaamassa. Tämä jälkimmäinen on se SEO:n tekninen osuus.

Mainonta = mainonta. Diginäkin. Saat sillä ajallisesti lisää näkyvyyttä, erilaisissa mainoskanavissa. Jos sen sijaan tuotteesi ei ole kunnossa, pelkkä mainonta ei kanna kovin pitkälle ja polttaa kohtuuttomat määrät rahaa.

Facebook Comments