nushell korvaamaan bashia

Anonyymi-ap

Bash on ollut shell-ympäristönä melko tunnettu jo pitkään. Siinä on kuitenkin pieni ongelma, joka on monille ylitsepääsemätön, nimittäin syntaksi on suunnattu enemmän ohjelmointitaitoisille kuin taidottomille. Tähän löytyy ainakin yksi ratkaisu - luultavasti useampiakin - nimittäin Nushell:
https://www.nushell.sh/
Nushell pitää komentojen tuloksista eräänlaista tietokantaa ja niihin voi viitata helpommin kuin tavallisessa shell-ympäristössä. Esim. 'ls' komento antaa listan tiedostoista, jos tämän haluaa bash:ssa järjestää koon mukaan on komento 'ls --sort=size' eli joutuu käyttämään vipua. Nushellin datasetin voi järjestää sen sijaan:
$ ls | sort-by size
Listaukseen voi valita halutut kentät lisäämällä:
$ ls | sort-by size | select name size
Mitäpä tämä tekee:
$ ls | sort-by size | select name size | first 5
Komennot luovat siis tauluja ja listoja asioista. Mikään ei estä luomasta näitä myös itse, jolloin itse luotuja tauluja voi käyttää siinä missä komentojenkin luomia. Ominaisuuksia on paljon enemmänkin, joten komentojen läpikäymistä varten on kirja, mitä kannattaa lukea:
https://www.nushell.sh/book/
Miksi kirjoittaa kryptisiä skriptejä, jos sitä ei ole pakko tehdä?

18

151

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      En ymmärrä mikä tuossa nyt on ongelmana, itse "ei vielä ihan täysexperttinä" osaan käyttää bashia joten se riittää minulle jatkossakin. En tarvitse mitään nushelliä. On se vaikeaa jos ei osaa kirjoittaa parametrejä komennolle, on se vaikeaa. Minä opettelin komentorivin jo MSDOS-aikoina joten minulle ei tuota vaikeuksia.

      • Anonyymi

        Nimenomaan, Bash ja msdos ovat sukua, samoin windowsin CMD-komento. Se on se ongelma. Sen asemasta, että tiedostoihin on tiedosto-näkymä tarjoaa nushell tietokanta-näkymän. Pystyt siis etsimään asioita tietokanta-hakuina yhtä hyvin samoilla komennoilla sekä windows että linux puolella - tosin toiminta ei windows-puolella ole vielä täydellistä.
        Ero on siinä, että nushell:ssä tiedot pystyy jäsentämään ja nimeämään jolloin on mahdollista käyttää tätä helpottamaan komentojen luettavuutta - komennoissa itsessään esim. 'ls' ei silloin tarvitse olla rapeaa määrää vipuja, koska shell hoitaa prosessoinnin. Riittää, että tieto on esitetty sopivalla tavalla.

        bash:
        $ date | cut -b 14-22
        22.35.56
        nushell:
        $ date now
        -päiväys vastaavasti kuin 'date' komento
        $ date to-table
        -päiväys purettuna taulukkoon, tästä on helppo siepata kenttiä select:llä
        $ date to-table | select year month
        $ date to-table | select clock
        Palataan vielä ls-komentoon:
        $ ls **/*.txt | sort-by size | select name size | reverse
        -ei kovin helppo bash:lla ja ei varsinkaan näin selkeä!
        -valitsee tämän hakemiston alihakemistoista kaikki .txt tiedostot järjestää ne koon mukaan, kääntää järjestyksen ja tulostaa pelkästään nimen ja koon

        Tai vaikka ps-komento:
        $ ps | where cpu > 5
        -tulostetaan prosessit, jotka käyttää cpu:ta yli 5%


      • Anonyymi
        Anonyymi kirjoitti:

        Nimenomaan, Bash ja msdos ovat sukua, samoin windowsin CMD-komento. Se on se ongelma. Sen asemasta, että tiedostoihin on tiedosto-näkymä tarjoaa nushell tietokanta-näkymän. Pystyt siis etsimään asioita tietokanta-hakuina yhtä hyvin samoilla komennoilla sekä windows että linux puolella - tosin toiminta ei windows-puolella ole vielä täydellistä.
        Ero on siinä, että nushell:ssä tiedot pystyy jäsentämään ja nimeämään jolloin on mahdollista käyttää tätä helpottamaan komentojen luettavuutta - komennoissa itsessään esim. 'ls' ei silloin tarvitse olla rapeaa määrää vipuja, koska shell hoitaa prosessoinnin. Riittää, että tieto on esitetty sopivalla tavalla.

        bash:
        $ date | cut -b 14-22
        22.35.56
        nushell:
        $ date now
        -päiväys vastaavasti kuin 'date' komento
        $ date to-table
        -päiväys purettuna taulukkoon, tästä on helppo siepata kenttiä select:llä
        $ date to-table | select year month
        $ date to-table | select clock
        Palataan vielä ls-komentoon:
        $ ls **/*.txt | sort-by size | select name size | reverse
        -ei kovin helppo bash:lla ja ei varsinkaan näin selkeä!
        -valitsee tämän hakemiston alihakemistoista kaikki .txt tiedostot järjestää ne koon mukaan, kääntää järjestyksen ja tulostaa pelkästään nimen ja koon

        Tai vaikka ps-komento:
        $ ps | where cpu > 5
        -tulostetaan prosessit, jotka käyttää cpu:ta yli 5%

        Epäilen ettet ole jaksanut paneutua edes noihin komentoihin joiden väität tekevän jotain koska niin moni väittämistäsi on virheellisiä:

        VÄÄRIN
        ls **/*.txt | sort-by size | select name size | reverse

        VÄÄRIN
        date to-table | select clock

        VÄÄRIN
        date to-table | select year month

        Mikä pistää miehen pätemään tuolla tavalla. Joko parin komennon opiskelu oli niin ylivoimaista että mieluummin kirjoitteli huuhaata kuin olisi ottanut asiasta selvää.


      • Anonyymi
        Anonyymi kirjoitti:

        Epäilen ettet ole jaksanut paneutua edes noihin komentoihin joiden väität tekevän jotain koska niin moni väittämistäsi on virheellisiä:

        VÄÄRIN
        ls **/*.txt | sort-by size | select name size | reverse

        VÄÄRIN
        date to-table | select clock

        VÄÄRIN
        date to-table | select year month

        Mikä pistää miehen pätemään tuolla tavalla. Joko parin komennon opiskelu oli niin ylivoimaista että mieluummin kirjoitteli huuhaata kuin olisi ottanut asiasta selvää.

        Annatko vielä virheilmoitukset - muuten en usko, että ovat väärin.


      • Anonyymi
        Anonyymi kirjoitti:

        Epäilen ettet ole jaksanut paneutua edes noihin komentoihin joiden väität tekevän jotain koska niin moni väittämistäsi on virheellisiä:

        VÄÄRIN
        ls **/*.txt | sort-by size | select name size | reverse

        VÄÄRIN
        date to-table | select clock

        VÄÄRIN
        date to-table | select year month

        Mikä pistää miehen pätemään tuolla tavalla. Joko parin komennon opiskelu oli niin ylivoimaista että mieluummin kirjoitteli huuhaata kuin olisi ottanut asiasta selvää.

        OIKEIN
        ls **/*.txt | sort-object Length | select name, length | reverse

        OIKEIN
        Get-Date | Format-Table -Property Time

        OIKEIN
        Get-Date | Format-Table -Property Year, Month


      • Anonyymi
        Anonyymi kirjoitti:

        OIKEIN
        ls **/*.txt | sort-object Length | select name, length | reverse

        OIKEIN
        Get-Date | Format-Table -Property Time

        OIKEIN
        Get-Date | Format-Table -Property Year, Month

        Onnittelut, onnistuit tekemään helposta asiasta vaikean täysin asiattomalla oikein-väärin sohelluksellasi. Puhtaat objecti-viittaukset kun eivät ole nättiä koodaustapaa - varsinkaan kun esittämiäsi ei edes ole olemassa nushellissä!
        $ date now | date to-table | select year month
        Tuo siis oli jätetty tarkoituksella virheelliseksi herättämään keskustelua.
        Ajan voi ottaa talteen:
        $ let time1 = date now | date to-table | select year month
        Tehdään sama, mutta muuttujanimillä time2, time3. Kootaan tiedot lopuksi tauluun:
        $ let my_time_tbl = $time1 | append $time2 | append $time3
        Sisällön voi katsoa vaikkapa 'echo $my_time_tbl' komennolla.
        Kyseistä taulua voi indeksoida ja suodattaa riville halutut tiedot:
        $ echo $my_time_tbl | select 2 hour minute
        Lopputulos on se, että voit luoda yksinkertaisia datalähteitä, joissa ohjelma esim. 'ls' voi olla erittäin yksinkertainen ilman mitään sorttaus yms. ominaisuuksia ja shell:n avulla tiedon voi muokata haluamakseen näkymäksi opettelemalla yksinkertaiset perustyypit ja muokkauskomennot.


    • Anonyymi

      Nyt meni jalustalle noston perustelut täysin pieleen. Et kyennyt osoittamaan yhtään pätevää syytä tutustua tuohon Nushell ympäristöön.

      Jos et olisi valehdellut vertailujasi tehdessä ehkä olisin asentanut tutustumista varten, mutta nyt katson että olet jo perillä Nushellin ominaisuuksista etkä löytänyt todellista syytä lähteä kokeilemaan vaan jouduit epärehellisin keinoin saamaan nostetta. EI JATKOON.

    • Anonyymi

      Toihan on aivan perseestä. Putkimerkki, eli | on nimensä mukaisesti putkitus komennolta toiselle. Eli putkimerkin avulla yhden komennon tuloste voidaan ohjata toiselle komennolle. Toi sun nyyppäshellisi siis rikkoo koko putkitussysteemin noiden sun antamiesi esimerkkien perusteella. Taitaa olla koko nushell jonkun sellasen kehittämä, joka ei ymmärrä miten shelli toimii.

      • Anonyymi

        Jopas osasit sanoa hyvin, totaalisen turha räpellys.


      • Anonyymi

        Joo, totta. Ja minun koneeseen ei mitään nussishelliä tule, vaan bashilla mennään hautaan saakka! Käyttikset tällä hetkellä Linux Mint 20.3. ja Linux Mint Debian Edition 6.


      • Anonyymi

        Komentoja ei putkiteta toisilleen - mikäli mahdollista - koska se on tehotonta. Sen sijaan käytetään shelliin sisäänrakennettuja datan manipulointi komentoja, jotka ovat yhteensopivia putkien kanssa. Datasettien manipulointi on homman juju. Näin ollen komennossa ei tarvitse olla yhtään datan manipulointiin liittyvää koodiriviä, koska nushell on rakennettu juuri näitä manipulointeja ajatellen.
        Idea kun on käyttää järjestelmää tietokannan tapaan. Putkimerkki ei siis putkita komennolta toiselle vaan prosessoinnilta toiselle - prosessointi voi olla myös shellin ulkoinen komento. Et voi siis tehdä bash-tyyliin:
        $ echo "foo" > tiedosto.txt
        vaan pitää kutsua komentoa, joka osaa tehdä talletuksen:
        $ "foo" | save tiedosto.txt
        voit käyttää json-formaattia
        $ "foo" | append "bar" | save tiedosto.json
        joka voidaan lukea takaisin muuttujaan:
        $ let a = (open tiedosto.json)
        Tietorakenteet siis säilyvät:
        $ ls | save tiedostot.json
        $ let t = (open tiedostot.json)
        $ echo $t
        tai lyhyemmin
        $ $t
        manipulointeja voidaan edelleen jatkaa, koska ne tehdään aina shellin puolella:
        $ $t | sort-by name


      • Anonyymi
        Anonyymi kirjoitti:

        Komentoja ei putkiteta toisilleen - mikäli mahdollista - koska se on tehotonta. Sen sijaan käytetään shelliin sisäänrakennettuja datan manipulointi komentoja, jotka ovat yhteensopivia putkien kanssa. Datasettien manipulointi on homman juju. Näin ollen komennossa ei tarvitse olla yhtään datan manipulointiin liittyvää koodiriviä, koska nushell on rakennettu juuri näitä manipulointeja ajatellen.
        Idea kun on käyttää järjestelmää tietokannan tapaan. Putkimerkki ei siis putkita komennolta toiselle vaan prosessoinnilta toiselle - prosessointi voi olla myös shellin ulkoinen komento. Et voi siis tehdä bash-tyyliin:
        $ echo "foo" > tiedosto.txt
        vaan pitää kutsua komentoa, joka osaa tehdä talletuksen:
        $ "foo" | save tiedosto.txt
        voit käyttää json-formaattia
        $ "foo" | append "bar" | save tiedosto.json
        joka voidaan lukea takaisin muuttujaan:
        $ let a = (open tiedosto.json)
        Tietorakenteet siis säilyvät:
        $ ls | save tiedostot.json
        $ let t = (open tiedostot.json)
        $ echo $t
        tai lyhyemmin
        $ $t
        manipulointeja voidaan edelleen jatkaa, koska ne tehdään aina shellin puolella:
        $ $t | sort-by name

        Et taida tajuta, että tulosteen uudeenohjaus ja putkittaminen on kaksi täysin eri asiaa. Sekotat näköjään ne keskenään.

        Eli esimerkiksi

        echo foo > tiedosto

        ei ole ollenkaan sama asia kuin putkittaminen. Tossa on kyse tulosteen uudelleenohjaamisesta eikä suinkaan putkittamisesta, josta tossa toisessa viestissä puhuttiin. > merkillä siis uudelleenohjataan tekstiä ja | merkillä putkitetaan komennon antama palaute toiselle komennolle. Noi on kaksi täysin eri asiaa ja niiden käyttötarkotukset on myös eri tarkotuksia. eli et sä voi tollatavalla sekottaa noita kahta asiaa keskenään.


      • Anonyymi
        Anonyymi kirjoitti:

        Et taida tajuta, että tulosteen uudeenohjaus ja putkittaminen on kaksi täysin eri asiaa. Sekotat näköjään ne keskenään.

        Eli esimerkiksi

        echo foo > tiedosto

        ei ole ollenkaan sama asia kuin putkittaminen. Tossa on kyse tulosteen uudelleenohjaamisesta eikä suinkaan putkittamisesta, josta tossa toisessa viestissä puhuttiin. > merkillä siis uudelleenohjataan tekstiä ja | merkillä putkitetaan komennon antama palaute toiselle komennolle. Noi on kaksi täysin eri asiaa ja niiden käyttötarkotukset on myös eri tarkotuksia. eli et sä voi tollatavalla sekottaa noita kahta asiaa keskenään.

        nushell:ssä > merkki on pelkästään suurempi kuin merkki - sillä ei voi ohjata yhtään mitään! Ei tosiaan voi sekottaa, kun toista ei ole olemassa..


      • Anonyymi
        Anonyymi kirjoitti:

        Komentoja ei putkiteta toisilleen - mikäli mahdollista - koska se on tehotonta. Sen sijaan käytetään shelliin sisäänrakennettuja datan manipulointi komentoja, jotka ovat yhteensopivia putkien kanssa. Datasettien manipulointi on homman juju. Näin ollen komennossa ei tarvitse olla yhtään datan manipulointiin liittyvää koodiriviä, koska nushell on rakennettu juuri näitä manipulointeja ajatellen.
        Idea kun on käyttää järjestelmää tietokannan tapaan. Putkimerkki ei siis putkita komennolta toiselle vaan prosessoinnilta toiselle - prosessointi voi olla myös shellin ulkoinen komento. Et voi siis tehdä bash-tyyliin:
        $ echo "foo" > tiedosto.txt
        vaan pitää kutsua komentoa, joka osaa tehdä talletuksen:
        $ "foo" | save tiedosto.txt
        voit käyttää json-formaattia
        $ "foo" | append "bar" | save tiedosto.json
        joka voidaan lukea takaisin muuttujaan:
        $ let a = (open tiedosto.json)
        Tietorakenteet siis säilyvät:
        $ ls | save tiedostot.json
        $ let t = (open tiedostot.json)
        $ echo $t
        tai lyhyemmin
        $ $t
        manipulointeja voidaan edelleen jatkaa, koska ne tehdään aina shellin puolella:
        $ $t | sort-by name

        "manipulointeja voidaan edelleen jatkaa, koska ne tehdään aina shellin puolella:"

        Tarkennappas tätä "tehdään aina shellin puolella", missäs ne muutoin tehtäisi?


      • Anonyymi
        Anonyymi kirjoitti:

        Komentoja ei putkiteta toisilleen - mikäli mahdollista - koska se on tehotonta. Sen sijaan käytetään shelliin sisäänrakennettuja datan manipulointi komentoja, jotka ovat yhteensopivia putkien kanssa. Datasettien manipulointi on homman juju. Näin ollen komennossa ei tarvitse olla yhtään datan manipulointiin liittyvää koodiriviä, koska nushell on rakennettu juuri näitä manipulointeja ajatellen.
        Idea kun on käyttää järjestelmää tietokannan tapaan. Putkimerkki ei siis putkita komennolta toiselle vaan prosessoinnilta toiselle - prosessointi voi olla myös shellin ulkoinen komento. Et voi siis tehdä bash-tyyliin:
        $ echo "foo" > tiedosto.txt
        vaan pitää kutsua komentoa, joka osaa tehdä talletuksen:
        $ "foo" | save tiedosto.txt
        voit käyttää json-formaattia
        $ "foo" | append "bar" | save tiedosto.json
        joka voidaan lukea takaisin muuttujaan:
        $ let a = (open tiedosto.json)
        Tietorakenteet siis säilyvät:
        $ ls | save tiedostot.json
        $ let t = (open tiedostot.json)
        $ echo $t
        tai lyhyemmin
        $ $t
        manipulointeja voidaan edelleen jatkaa, koska ne tehdään aina shellin puolella:
        $ $t | sort-by name

        "Komentoja ei putkiteta toisilleen - mikäli mahdollista - koska se on tehotonta."

        Mitä hittoa tämä tarkoittaa?


      • Anonyymi
        Anonyymi kirjoitti:

        Komentoja ei putkiteta toisilleen - mikäli mahdollista - koska se on tehotonta. Sen sijaan käytetään shelliin sisäänrakennettuja datan manipulointi komentoja, jotka ovat yhteensopivia putkien kanssa. Datasettien manipulointi on homman juju. Näin ollen komennossa ei tarvitse olla yhtään datan manipulointiin liittyvää koodiriviä, koska nushell on rakennettu juuri näitä manipulointeja ajatellen.
        Idea kun on käyttää järjestelmää tietokannan tapaan. Putkimerkki ei siis putkita komennolta toiselle vaan prosessoinnilta toiselle - prosessointi voi olla myös shellin ulkoinen komento. Et voi siis tehdä bash-tyyliin:
        $ echo "foo" > tiedosto.txt
        vaan pitää kutsua komentoa, joka osaa tehdä talletuksen:
        $ "foo" | save tiedosto.txt
        voit käyttää json-formaattia
        $ "foo" | append "bar" | save tiedosto.json
        joka voidaan lukea takaisin muuttujaan:
        $ let a = (open tiedosto.json)
        Tietorakenteet siis säilyvät:
        $ ls | save tiedostot.json
        $ let t = (open tiedostot.json)
        $ echo $t
        tai lyhyemmin
        $ $t
        manipulointeja voidaan edelleen jatkaa, koska ne tehdään aina shellin puolella:
        $ $t | sort-by name

        "Sen sijaan käytetään shelliin sisäänrakennettuja datan manipulointi komentoja, jotka ovat yhteensopivia putkien kanssa."

        Mitäs se tämä tarkoittaa?


      • Anonyymi
        Anonyymi kirjoitti:

        Komentoja ei putkiteta toisilleen - mikäli mahdollista - koska se on tehotonta. Sen sijaan käytetään shelliin sisäänrakennettuja datan manipulointi komentoja, jotka ovat yhteensopivia putkien kanssa. Datasettien manipulointi on homman juju. Näin ollen komennossa ei tarvitse olla yhtään datan manipulointiin liittyvää koodiriviä, koska nushell on rakennettu juuri näitä manipulointeja ajatellen.
        Idea kun on käyttää järjestelmää tietokannan tapaan. Putkimerkki ei siis putkita komennolta toiselle vaan prosessoinnilta toiselle - prosessointi voi olla myös shellin ulkoinen komento. Et voi siis tehdä bash-tyyliin:
        $ echo "foo" > tiedosto.txt
        vaan pitää kutsua komentoa, joka osaa tehdä talletuksen:
        $ "foo" | save tiedosto.txt
        voit käyttää json-formaattia
        $ "foo" | append "bar" | save tiedosto.json
        joka voidaan lukea takaisin muuttujaan:
        $ let a = (open tiedosto.json)
        Tietorakenteet siis säilyvät:
        $ ls | save tiedostot.json
        $ let t = (open tiedostot.json)
        $ echo $t
        tai lyhyemmin
        $ $t
        manipulointeja voidaan edelleen jatkaa, koska ne tehdään aina shellin puolella:
        $ $t | sort-by name

        "Datasettien manipulointi on homman juju. Näin ollen komennossa ei tarvitse olla yhtään datan manipulointiin liittyvää koodiriviä, koska nushell on rakennettu juuri näitä manipulointeja ajatellen."

        Tuo on täyttä paskaa, en edes oleta että itsekkään ymmärtäisit mitä kirjoitit, joten en kysy edes mitä tarkoittaa, vaan uskon tuon edellä olevien tavoin olevan mukana antamassa mielikuvaa jostakin pätemiseen liittyvästä tarpeesta.


      • Anonyymi

        anna komento:
        $ which cat
        /usr/bin/cat <--bash vastaus
        ╭─┬────────┬────-──┬─────╮
        │ # │ command │ path │ type │
        ├─┼────────┼──────┼──────┤
        │ 0 │ cat │ /usr/bin/cat │ external │
        ╰─┴─────┴────────┴───────╯
        $ which ls
        /usr/bin/ls <--bash vastaus
        ~> which ls
        ╭─┬───────┬───-───┬──-──╮
        │ # │ command │ path │ type │
        ├─┼───────┼──-────┼───-─┤
        │ 0 │ ls │ │ built-in│
        ╰─┴───────┴───-───┴──-──╯



        Tuossapa se. Bash ei tee itse juuri mitään: se kutsuu ulkopuolista käsittelijä-ohjelmaa, joka tekee kaiken, mm. datasetin manipuloinnit, kuten sorttaukset. Bash:lla ei ole mitään käsitystä datan rakenteesta, se on vain merkkijono.
        Nushell voi käyttää ulkoista dataa ohjelmilta. Tällöin se lataa komennon antaman syötteen tietorakenteeseen. Tietoa manipuloidaan nushellin sisäisillä komennoilla näkymiksi dataan.
        Putki-merkki ottaa siis edellisen komennon data-out:sta ja siirtää sen seuraavan data-in:iin.
        Sisäisillä komennoilla homma on tietysti paremmin hallittua ja manipulointeja voi olla valmiina.
        Tietoa voi siis käsitellä joko merkkijonona(kuten bash), listana, tauluna. Tietotyyppejä voi itse manipuloida, laittaa talteen ja se on tehty helpoksi - toisin kuin bash:ssa, missä törmää syntaktiseen sekamelskaan ja kryptisiin virheilmoituksiin.


    Ketjusta on poistettu 4 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Maksetaanko Vornaselle palkkaa 2 viikon sairaslomasta

      Eli torstain kännistä 2 viikon palkallinen sairasloma? Saako muut duunarit myös rännätä 2 viikkoa työnantajan laskuun?
      Perussuomalaiset
      287
      2596
    2. Miksi tunnet vetoa..

      Miksi tunnet vetoa juuri häntä kohtaan? Mikä sen saa aikaan?
      Ikävä
      95
      2050
    3. Mitä te palstan ihanat naiset

      Ajattelette hyvin viisaista miehistä, jotka ovat koko ajan jotenkin oudosti väärässä? Vaikka älykkyysosamääräsi olisi 21
      Sinkut
      77
      1606
    4. Tapaus Vornanen

      Se oli torstai-ilta ja kansanedustaja Vornanen oli juhlimassa seurueensa kanssa pitkän edustusviikon jälkeen. Baarissa o
      Maailman menoa
      157
      1437
    5. Nainen, kohtelin sua kuin paskaa

      Ja silti odotin että annat kaiken anteeksi. Yllätyin kun niin ei käynytkään. Olethan kaikin puolin alle mun tason ja sun
      Ikävä
      66
      1278
    6. Nainen, seuraan sun uutta elämää

      Hieman naurattaa tuo sun uusi rooli 🤭. Kun et sovi siihen mitenkään. Mutta pakkohan sulla jokin paikka olla missä hämme
      Ikävä
      53
      1195
    7. Olet kaikki mitä ikinä tahdonkaan

      Voi sinä ihana Jarno olet just se ihminen keneen menin täysin ihastumaan. Kuin salama kirkkaalta taivaalta meidän koht
      Suhteet
      19
      1076
    8. Voi hitto Rinsessa säikähdin

      Että olitkin silloin joku huijari. Huh, sano ettet ole.
      Ikävä
      11
      1074
    9. Ilona Siekkinen

      Onko Ilona Siekkinen todellinen henkilö vai tekoälyllä luotu henkilö? Koostettu monesta eri kuvasta ja liitetty yhteen m
      Yhteiskunta
      1
      1010
    10. AVARN Security ja julkisen toimeksiannon laiton henkilörekisteri

      Kyseessä ei ole VR:än ylläpitämä, vaan Avarnin laiton henkilörekisteri. https://www.is.fi/kotimaa/art-2000000482739.htm
      Turvallisuuspalvelut
      13
      901
    Aihe