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ä?

19

241

    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

        🍑🍒🍑🍒🍑🍒🍑🍒🍑

        🍑 ­N­y­m­­f­­­o­­­m­­­a­a­n­­i -> https://ye.pe/finngirl21

        🔞💋❤️💋❤️💋🔞💋❤️💋❤️💋🔞


    • 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 6 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. 157
      3991
    2. Putin lähti takki auki sotaan....

      Luuli, että kolmessa päivässä hoidetaan, nyt on mennyt 3,5 vuotta eikä voitosta tietoakaan. Kaiken lisäksi putin luuli,
      Maailman menoa
      92
      3362
    3. SDP ylivoimainen ykkönen

      En ole koskaan viitsinyt käydä äänestämässä, mutta nyt SDP:n etumatka on niin kutkuttava, että pakkohan se on vaivautua.
      Maailman menoa
      99
      2730
    4. Polttomoottoriauto on köyhän merkki

      Kun ei ole varaa ostaa sähköautoa, niin joutuu köyhän autoa käyttämään.
      Maailman menoa
      284
      2575
    5. Patteriauton ovia ei saatu auki - kuljettaja koki hirvittävän kuoleman!

      ”Oviongelma johti kuskin kuolemaan kolarissa – tämä ratkaisu saatetaan kieltää kokonaan Sivulliset pyrkivät tempomaan a
      Maailman menoa
      39
      2316
    6. Näitä venäjä-faneja tuntuu edelleen vaan riittävän - kummallista

      ja lähinnä siis ihan suomalaisia. Mitä hienoa ja hyvää he näkevät maassa joka on diktatuuri, maassa jossa ei ole sananv
      Maailman menoa
      152
      2063
    7. Sanna on pakottaja, domina

      Pakotti sadistisessti työttömät hakemaan töitä, josta seurasi hirmuinen työttömyys. Näin on asia, jos uskomme Hesarin k
      Maailman menoa
      6
      1674
    8. Mies älä

      Odota enää vaan toimi. Pieni vinkkivitonen 🫰💥
      Ikävä
      42
      1059
    9. Harmittaa ettei paluuta entiseen enää ole

      Paluuta entiseen ei ole koska pilasit kaiken.
      Ikävä
      95
      1038
    10. Mä tiedän

      Että sä tiedät, että mä tiedän, että sä tiedät. Me molemmat tiedetään. Onko näin?
      Ikävä
      53
      899
    Aihe