Yleisimpiä virheenlajeja ohjelmoinnissa

Deopuk

-Merkkikokosekaannus (CaSe)

-pyöreästä liuku-luku-vakiosta jää .0, eli pitää olla 1.0/4.0 eikä 1/4 (eli 1 jaettuna 4). Muuten kääntäjä tulkitsee luvut kokonaislukuina joten tulosten pyöristykset on sen mukaan.

-taulukosta(array), vectorista ym. sekoitetaan koko ja viimeinen indeksi, koska indeksit alkaa nollasta ja koko yhdestä. Ohjelmointi taitaa olla ainoa yhteys missä puhutaan nollannesta kohdasta, joten ei ihme, että siinä tulee helposti virhe.

-c:n if tai while lausekkeessa = eikä ==. Yksi = merkki katsoo vain sijoituksen onnistumista joten se kääntyy ja voi toimiakin, joten virhettä on vaikeampi havaita kuin edellisiä virheitä. Eli = on sijoitusoperaattori ja == vertailuoperaattori.

-c:n kerto/osoitin merkin eli * sekaannus.

-Muuttujan nollaus tai säilön tyhjennys silmukan alussa jää. Seuraus voi olla mm. oudon suuri muistinkulutus.

-joskus pitää olla unsigned char eikä char. Ainakin c :n otto-operaattorilla " > > " binääritiedostoa luettaessa.

-loppumerkki tekstitiedoston ja c-merkkijonon päässä voi aiheuttaa sekaannuksia.

-voin arvata, että joku 64-bittiselle koneelle kirjoitettu 32 bittisessä ja päinvastoin, aiheuttaa kääntövirheitä ja outoa toimintaa.

Mitä muita virheenlajeja voi luetella?

8

322

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • qweqweqweqw

      Taidat olla aloittelija kun tuollaisia väität? Meilkein kaikki noista näkyy jo kääntäjän varoituksissa/virheilmoituksissa eikä niitä virheitä tästä syystä tee oikeasti kukaan järkevä ihminen.

      • gnoemd

        "Meilkein kaikki noista näkyy jo kääntäjän varoituksissa/virheilmoituksissa eikä niitä virheitä tästä syystä tee oikeasti kukaan järkevä ihminen."

        (hah, tuossakin lauseessa on muuten kirjoitusvirhe "Meilkein")

        Mitä sitten vaikka kääntäjä kertoisi, on parempi välttää virhe alusta asti. Ja on hyvä luetella virheet keskitetysti yhdessä listassa, vaikka kaikki jollain tavalla tietäisivätkin kaikki listan kohdat. Virhemahdollisuudet tiedostaa paremmin / todennäköisemmin jos ne on saatu yhdestä listasta, ja listan kohtien vertailu ja järjestely on helpompaa / todennäköisempää kuin hajallaan tiedostettujen yksityiskohtien.

        Mikä noista virheistä näkyy kaikissa tapauksissa kaikilla mahdollisilla virheentekotavoilla kaikenlaisten lähdekoodien osana, kääntäjän virheilmoituksena?

        Lisään listaan:

        -for-laskuri saavuttaa lukutyypin ylärajan

        -muuttuja menee laskutoimituksessa lukutyypin ylärajan yli.

        (silloin ehkä c:ssä long long int on paikallaan... tosiaan 2 long sanaa)


      • btbgdg
        gnoemd kirjoitti:

        "Meilkein kaikki noista näkyy jo kääntäjän varoituksissa/virheilmoituksissa eikä niitä virheitä tästä syystä tee oikeasti kukaan järkevä ihminen."

        (hah, tuossakin lauseessa on muuten kirjoitusvirhe "Meilkein")

        Mitä sitten vaikka kääntäjä kertoisi, on parempi välttää virhe alusta asti. Ja on hyvä luetella virheet keskitetysti yhdessä listassa, vaikka kaikki jollain tavalla tietäisivätkin kaikki listan kohdat. Virhemahdollisuudet tiedostaa paremmin / todennäköisemmin jos ne on saatu yhdestä listasta, ja listan kohtien vertailu ja järjestely on helpompaa / todennäköisempää kuin hajallaan tiedostettujen yksityiskohtien.

        Mikä noista virheistä näkyy kaikissa tapauksissa kaikilla mahdollisilla virheentekotavoilla kaikenlaisten lähdekoodien osana, kääntäjän virheilmoituksena?

        Lisään listaan:

        -for-laskuri saavuttaa lukutyypin ylärajan

        -muuttuja menee laskutoimituksessa lukutyypin ylärajan yli.

        (silloin ehkä c:ssä long long int on paikallaan... tosiaan 2 long sanaa)

        Kirjoitusvirhe on erityisen haitallinen jos se muuttaa nimen jonkun toisen muuttujan tms. nimeksi. Siksi on syytä välttää pitkiä nimiä, jotka yhden kirjaimen muutoksella tai poisjätöllä muuttuvat joksikin muuksi käytössä olevaksi nimeksi.

        Onko ohjelmaa, joka varoittaa jos kahdella muuttujalla on melkein sama nimi, tilanteessa jossa kääntäjä ei antaisi virheilmoitusta sekaannuksen sattuessa?


      • qweqweqweqw
        gnoemd kirjoitti:

        "Meilkein kaikki noista näkyy jo kääntäjän varoituksissa/virheilmoituksissa eikä niitä virheitä tästä syystä tee oikeasti kukaan järkevä ihminen."

        (hah, tuossakin lauseessa on muuten kirjoitusvirhe "Meilkein")

        Mitä sitten vaikka kääntäjä kertoisi, on parempi välttää virhe alusta asti. Ja on hyvä luetella virheet keskitetysti yhdessä listassa, vaikka kaikki jollain tavalla tietäisivätkin kaikki listan kohdat. Virhemahdollisuudet tiedostaa paremmin / todennäköisemmin jos ne on saatu yhdestä listasta, ja listan kohtien vertailu ja järjestely on helpompaa / todennäköisempää kuin hajallaan tiedostettujen yksityiskohtien.

        Mikä noista virheistä näkyy kaikissa tapauksissa kaikilla mahdollisilla virheentekotavoilla kaikenlaisten lähdekoodien osana, kääntäjän virheilmoituksena?

        Lisään listaan:

        -for-laskuri saavuttaa lukutyypin ylärajan

        -muuttuja menee laskutoimituksessa lukutyypin ylärajan yli.

        (silloin ehkä c:ssä long long int on paikallaan... tosiaan 2 long sanaa)

        Ei varmaan pitäisi vastata tällaiseen viestiin, mutta pointti on, että yleensä ammattiohjelmoija kirjoittaa ohjelmat käyttäen sellaista ohjelmointityyliä, että jos tuollaisia virheitä tulee, ne ihan varmasti näkyvät seuraavassa ohjelman kääntöyrityksessä hyvin selvästi.

        "(hah, tuossakin lauseessa on muuten kirjoitusvirhe "Meilkein") "

        Olen pahoillani. Jos et ymmärtänyt, niin tarkoitin "melkein".

        Käydään nyt vittumaiseen sävyyn kaikki läpi:

        "-Merkkikokosekaannus (CaSe)"

        Jos tämä tarkoittaa, että kirjoitetaan "for" muodossa "For", niin jos ei syntax highlighting jo paljasta, niin ensimmäinen kääntö. Muuttujissa tulee taas joko "undefined variable" tai "uninitialized variable" riippuen siitä meneekö päällekkäin olemassaolevan kanssa vai ei.

        "-pyöreästä liuku-luku-vakiosta jää .0, eli pitää olla 1.0/4.0 eikä 1/4 (eli 1 jaettuna 4). Muuten kääntäjä tulkitsee luvut kokonaislukuina joten tulosten pyöristykset on sen mukaan."

        Tästä kääntäjä ei kyllä varoita, mutta niin triviaali virhe, että tuskin kukaan oikeasti tällaista tekee.

        "-taulukosta(array), vectorista ym. sekoitetaan koko ja viimeinen indeksi, koska indeksit alkaa nollasta ja koko yhdestä. Ohjelmointi taitaa olla ainoa yhteys missä puhutaan nollannesta kohdasta, joten ei ihme, että siinä tulee helposti virhe."

        Noniin just. Ja joskus laitetaan kengät vahingossa vääriin jalkoihin kun niitä on niin vaikea erottaa. Ei tällaista virhettä kukaan oikeasti tee jos on edes muutaman vuoden ohjelmoinut!

        "-c:n if tai while lausekkeessa = eikä ==. Yksi = merkki katsoo vain sijoituksen onnistumista joten se kääntyy ja voi toimiakin, joten virhettä on vaikeampi havaita kuin edellisiä virheitä. Eli = on sijoitusoperaattori ja == vertailuoperaattori."

        Kääntäjä varoittaa kyllä tästä: "warning: suggest parentheses around assignment used as truth value". Eli ei mene läpi ilman kääntäjän varoituksia.

        "-c:n kerto/osoitin merkin eli * sekaannus."

        No joojoo. osoitinmerkki on unaarinen operaattori ja kertomerkki on binäärinen. Aika hyvin saa kämmätä että näitä käyttää väärin. Tietty jollain pointteriaritmetiikalla voi saada aikaa vaikka mitä, mutta sellaista ei kukaan ammattiohjelmoija käytä.

        "-Muuttujan nollaus tai säilön tyhjennys silmukan alussa jää. Seuraus voi olla mm. oudon suuri muistinkulutus."

        Yleisesti ottaen tähän ei ole mitään lääkettä, mutta yleensä ohjelmointityyli pidetään sellaisena, että nämä vältetään. Myös käyttämällä iteraattoreita tai lokaaleja laskureita tätä ongelmaa ei tule. Muistinkulutukseen tämä ei kyllä suoraan liity.

        "-joskus pitää olla unsigned char eikä char. Ainakin c :n otto-operaattorilla " > > " binääritiedostoa luettaessa."

        Jos lukee "> >"-operaattorilla suoraan (unsigned) char-muuttujaan binääritiedostoa, voi odottaakin ongelmia. Tämän yrittäminen on bugi jo sinänsä ja se on vältettävissä käyttämällä jotain muuta tapaa.

        "-loppumerkki tekstitiedoston ja c-merkkijonon päässä voi aiheuttaa sekaannuksia."

        En ymmärrä mihin tässä viitataan.

        "-voin arvata, että joku 64-bittiselle koneelle kirjoitettu 32 bittisessä ja päinvastoin, aiheuttaa kääntövirheitä ja outoa toimintaa."

        Tiedätkö edes mitä tarkoittaa se, että kone on 64- tai 32-bittinen? Miten tämä vaikuttaa kääntämisen onnistumiseen, jos kääntäjä on sama? Vastaava ongelma on kyllä oikeasti sulautetuissa järjestelmissä, mutta ongelma on hieman syvällisempi.

        "Lisään listaan:"

        "-for-laskuri saavuttaa lukutyypin ylärajan"

        Tämä on kyllä teoriassa mahdollinen, mutta kääntäjä varoittaa kyllä ylärajan ehdon tarkistamisesta, jos siinä on riski ylivuotoon. Yleisimmillä ohjelmointityyleillä tätä ei voi edes tapahtua.

        "-muuttuja menee laskutoimituksessa lukutyypin ylärajan yli. "

        Ihan mahdollista, eikä täysin koskaan vältettävissä. Mutta kääntäjä osaa varoittaa yllättävän monista riskipaikoista.


      • gdfnrjnqwv
        qweqweqweqw kirjoitti:

        Ei varmaan pitäisi vastata tällaiseen viestiin, mutta pointti on, että yleensä ammattiohjelmoija kirjoittaa ohjelmat käyttäen sellaista ohjelmointityyliä, että jos tuollaisia virheitä tulee, ne ihan varmasti näkyvät seuraavassa ohjelman kääntöyrityksessä hyvin selvästi.

        "(hah, tuossakin lauseessa on muuten kirjoitusvirhe "Meilkein") "

        Olen pahoillani. Jos et ymmärtänyt, niin tarkoitin "melkein".

        Käydään nyt vittumaiseen sävyyn kaikki läpi:

        "-Merkkikokosekaannus (CaSe)"

        Jos tämä tarkoittaa, että kirjoitetaan "for" muodossa "For", niin jos ei syntax highlighting jo paljasta, niin ensimmäinen kääntö. Muuttujissa tulee taas joko "undefined variable" tai "uninitialized variable" riippuen siitä meneekö päällekkäin olemassaolevan kanssa vai ei.

        "-pyöreästä liuku-luku-vakiosta jää .0, eli pitää olla 1.0/4.0 eikä 1/4 (eli 1 jaettuna 4). Muuten kääntäjä tulkitsee luvut kokonaislukuina joten tulosten pyöristykset on sen mukaan."

        Tästä kääntäjä ei kyllä varoita, mutta niin triviaali virhe, että tuskin kukaan oikeasti tällaista tekee.

        "-taulukosta(array), vectorista ym. sekoitetaan koko ja viimeinen indeksi, koska indeksit alkaa nollasta ja koko yhdestä. Ohjelmointi taitaa olla ainoa yhteys missä puhutaan nollannesta kohdasta, joten ei ihme, että siinä tulee helposti virhe."

        Noniin just. Ja joskus laitetaan kengät vahingossa vääriin jalkoihin kun niitä on niin vaikea erottaa. Ei tällaista virhettä kukaan oikeasti tee jos on edes muutaman vuoden ohjelmoinut!

        "-c:n if tai while lausekkeessa = eikä ==. Yksi = merkki katsoo vain sijoituksen onnistumista joten se kääntyy ja voi toimiakin, joten virhettä on vaikeampi havaita kuin edellisiä virheitä. Eli = on sijoitusoperaattori ja == vertailuoperaattori."

        Kääntäjä varoittaa kyllä tästä: "warning: suggest parentheses around assignment used as truth value". Eli ei mene läpi ilman kääntäjän varoituksia.

        "-c:n kerto/osoitin merkin eli * sekaannus."

        No joojoo. osoitinmerkki on unaarinen operaattori ja kertomerkki on binäärinen. Aika hyvin saa kämmätä että näitä käyttää väärin. Tietty jollain pointteriaritmetiikalla voi saada aikaa vaikka mitä, mutta sellaista ei kukaan ammattiohjelmoija käytä.

        "-Muuttujan nollaus tai säilön tyhjennys silmukan alussa jää. Seuraus voi olla mm. oudon suuri muistinkulutus."

        Yleisesti ottaen tähän ei ole mitään lääkettä, mutta yleensä ohjelmointityyli pidetään sellaisena, että nämä vältetään. Myös käyttämällä iteraattoreita tai lokaaleja laskureita tätä ongelmaa ei tule. Muistinkulutukseen tämä ei kyllä suoraan liity.

        "-joskus pitää olla unsigned char eikä char. Ainakin c :n otto-operaattorilla " > > " binääritiedostoa luettaessa."

        Jos lukee "> >"-operaattorilla suoraan (unsigned) char-muuttujaan binääritiedostoa, voi odottaakin ongelmia. Tämän yrittäminen on bugi jo sinänsä ja se on vältettävissä käyttämällä jotain muuta tapaa.

        "-loppumerkki tekstitiedoston ja c-merkkijonon päässä voi aiheuttaa sekaannuksia."

        En ymmärrä mihin tässä viitataan.

        "-voin arvata, että joku 64-bittiselle koneelle kirjoitettu 32 bittisessä ja päinvastoin, aiheuttaa kääntövirheitä ja outoa toimintaa."

        Tiedätkö edes mitä tarkoittaa se, että kone on 64- tai 32-bittinen? Miten tämä vaikuttaa kääntämisen onnistumiseen, jos kääntäjä on sama? Vastaava ongelma on kyllä oikeasti sulautetuissa järjestelmissä, mutta ongelma on hieman syvällisempi.

        "Lisään listaan:"

        "-for-laskuri saavuttaa lukutyypin ylärajan"

        Tämä on kyllä teoriassa mahdollinen, mutta kääntäjä varoittaa kyllä ylärajan ehdon tarkistamisesta, jos siinä on riski ylivuotoon. Yleisimmillä ohjelmointityyleillä tätä ei voi edes tapahtua.

        "-muuttuja menee laskutoimituksessa lukutyypin ylärajan yli. "

        Ihan mahdollista, eikä täysin koskaan vältettävissä. Mutta kääntäjä osaa varoittaa yllättävän monista riskipaikoista.

        Tätä on kirjoitettu c mielessä, mutta tässä on paljon kieliriippumatonta. Muiden kielien käyttäjät saavat vapaasti kommentoida miten mahdotonta se ja se virhe on heidän käyttämässään kielessä, jos aihetta on.

        1.Jos käyttää c:n union-rakennetta, ja sijoittaa datan tyyppinä char k[4] ja ottaa sen long int muodossa, 64 bittisellä se pitäisi olla k[8] eli 8 tavun eli 64 bitin data 32 bitin eli 4 tavun sijaan.

        2.Säilön puhdistamattomuus silmukassa voi kavalasti tuhlata muistia jos sitä täytetään välistä ja luetaan vain täyttökohdan läheltä. Takaa täyttäessä myös toiminnallisuus on väärin.

        3."Jos lukee "> >"-operaattorilla suoraan (unsigned) char-muuttujaan binääritiedostoa, voi odottaakin ongelmia. Tämän yrittäminen on bugi jo sinänsä ja se on vältettävissä käyttämällä jotain muuta tapaa."

        Mitä ongelmia? Vain siitä etumerkistä on tullut ihmeteltävää. Mikä muu tapa?

        4.Loppumerkki sekoittaa c-merkkijonon tai tekstitiedoston pituuskäsitystä.

        5.MerkkiKoossa suurin ongelma on YhdysSanojen erilaiset kirjoitus_tavat.

        6.Jos kirjoitusvirhe johtaa esim. siihen, että laskentakaavassa / yhtälössä johonkin kohtaa tulee väärä muuttuja, niin sitä bugia saattaa olla vaikea havaita ja löytää.

        7."-pyöreästä liuku-luku-vakiosta jää .0, eli pitää olla 1.0/4.0 eikä 1/4 (eli 1 jaettuna 4). Muuten kääntäjä tulkitsee luvut kokonaislukuina joten tulosten pyöristykset on sen mukaan."

        Tästä kääntäjä ei kyllä varoita, mutta niin triviaali virhe, että tuskin kukaan oikeasti tällaista tekee.

        kyllä tekee

        8."-taulukosta(array), vectorista ym. sekoitetaan koko ja viimeinen indeksi, koska indeksit alkaa nollasta ja koko yhdestä. Ohjelmointi taitaa olla ainoa yhteys missä puhutaan nollannesta kohdasta, joten ei ihme, että siinä tulee helposti virhe."

        Noniin just. Ja joskus laitetaan kengät vahingossa vääriin jalkoihin kun niitä on niin vaikea erottaa. Ei tällaista virhettä kukaan oikeasti tee jos on edes muutaman vuoden ohjelmoinut!

        kyllä tekee

        ja:

        En tiedä onko tätä yritetty tilastoida, mutta saattaa olla että suurin osa ohjelmointityökaluja ohjelmointiin käyttävistä on amatöörejä, harrastelijoita tai silloin tällöin jotain laskentaongelmaa omalla ohjelmalla ratkovia(eli ohjelmointityökaluilla halutaan ensisijaisesti saada laskennan tulos - ei ohjelmaa). Siksi on tärkeää listata ja tiedostaa alkeellisetkin virheen lajit.


      • gdfnrjnqwv
        gdfnrjnqwv kirjoitti:

        Tätä on kirjoitettu c mielessä, mutta tässä on paljon kieliriippumatonta. Muiden kielien käyttäjät saavat vapaasti kommentoida miten mahdotonta se ja se virhe on heidän käyttämässään kielessä, jos aihetta on.

        1.Jos käyttää c:n union-rakennetta, ja sijoittaa datan tyyppinä char k[4] ja ottaa sen long int muodossa, 64 bittisellä se pitäisi olla k[8] eli 8 tavun eli 64 bitin data 32 bitin eli 4 tavun sijaan.

        2.Säilön puhdistamattomuus silmukassa voi kavalasti tuhlata muistia jos sitä täytetään välistä ja luetaan vain täyttökohdan läheltä. Takaa täyttäessä myös toiminnallisuus on väärin.

        3."Jos lukee "> >"-operaattorilla suoraan (unsigned) char-muuttujaan binääritiedostoa, voi odottaakin ongelmia. Tämän yrittäminen on bugi jo sinänsä ja se on vältettävissä käyttämällä jotain muuta tapaa."

        Mitä ongelmia? Vain siitä etumerkistä on tullut ihmeteltävää. Mikä muu tapa?

        4.Loppumerkki sekoittaa c-merkkijonon tai tekstitiedoston pituuskäsitystä.

        5.MerkkiKoossa suurin ongelma on YhdysSanojen erilaiset kirjoitus_tavat.

        6.Jos kirjoitusvirhe johtaa esim. siihen, että laskentakaavassa / yhtälössä johonkin kohtaa tulee väärä muuttuja, niin sitä bugia saattaa olla vaikea havaita ja löytää.

        7."-pyöreästä liuku-luku-vakiosta jää .0, eli pitää olla 1.0/4.0 eikä 1/4 (eli 1 jaettuna 4). Muuten kääntäjä tulkitsee luvut kokonaislukuina joten tulosten pyöristykset on sen mukaan."

        Tästä kääntäjä ei kyllä varoita, mutta niin triviaali virhe, että tuskin kukaan oikeasti tällaista tekee.

        kyllä tekee

        8."-taulukosta(array), vectorista ym. sekoitetaan koko ja viimeinen indeksi, koska indeksit alkaa nollasta ja koko yhdestä. Ohjelmointi taitaa olla ainoa yhteys missä puhutaan nollannesta kohdasta, joten ei ihme, että siinä tulee helposti virhe."

        Noniin just. Ja joskus laitetaan kengät vahingossa vääriin jalkoihin kun niitä on niin vaikea erottaa. Ei tällaista virhettä kukaan oikeasti tee jos on edes muutaman vuoden ohjelmoinut!

        kyllä tekee

        ja:

        En tiedä onko tätä yritetty tilastoida, mutta saattaa olla että suurin osa ohjelmointityökaluja ohjelmointiin käyttävistä on amatöörejä, harrastelijoita tai silloin tällöin jotain laskentaongelmaa omalla ohjelmalla ratkovia(eli ohjelmointityökaluilla halutaan ensisijaisesti saada laskennan tulos - ei ohjelmaa). Siksi on tärkeää listata ja tiedostaa alkeellisetkin virheen lajit.

        2.Säilön puhdistamattomuus silmukassa voi kavalasti tuhlata muistia jos sitä täytetään välistä ja luetaan vain täyttökohdan läheltä. Takaa täyttäessä myös toiminnallisuus on väärin.

        Tämä siis luultavasti vain jos säilöön sijoitetaan säilöjä. Jos on vaikka vectori string ejä täynnä.

        tai:
        list( list( float ) ) ListojenLista;

        Suurempi kuin ja pienempi kuin merkit on korvattu suluilla koska Suomi24 ei aina toista niitä oikein.


    • FAQ yeah!

      "Mitä muita virheenlajeja voi luetella? "

      Lisää C:kielen virheitä tai paremminkin hankaluuksia, omituisuuksia ja ongelmia löydät (yllätys yllätys) C:n FAQista:

      http://c-faq.com/

      Samaten löydät muistakin kielistä FAQin jossa yleisimmät kummastelut on selvitetty. Kannattaa *aina* tutustua kielen FAQ:iin, heti kun perusteet on opittu.

      "-pyöreästä liuku-luku-vakiosta jää .0, eli pitää olla 1.0/4.0 eikä 1/4 (eli 1 jaettuna 4). Muuten kääntäjä tulkitsee luvut kokonaislukuina joten tulosten pyöristykset on sen mukaan."

      Joissain kielissä 1 jaettuna 4 on rationaaliluku 1/4.
      C:ssä käy myös float a = (float)1/4;

      "Ohjelmointi taitaa olla ainoa yhteys missä puhutaan nollannesta kohdasta, joten ei ihme, että siinä tulee helposti virhe."

      Enpä ole kuullut. Taulukon ensimmäisen elementin indeksi (= viitenumero, "paikkanumero") on nolla, ei sen kummempaa.

      • Pointterin pointteri

        Pointterivirheet
        1. Tähtien määrä tai alustus väärin/puuttuu: *p, **p, ****p
        Itse muistan vain kerran koodissa 3 tähden pointerin (funktion parametrina).
        2. Pointerin castausvirhe tai puutos pointerin siirrossa esim *((int)*(p 1)))
        Muistivirheet
        3. malloc ja free ei esim vapauta muistia kaikissa virhetilannehaaroissa


    Ketjusta on poistettu 0 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
      222
      1940
    2. Miksi tunnet vetoa..

      Miksi tunnet vetoa juuri häntä kohtaan? Mikä sen saa aikaan?
      Ikävä
      67
      1699
    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
      69
      1496
    4. Tapaus Vornanen

      Se oli torstai-ilta ja kansanedustaja Vornanen oli juhlimassa seurueensa kanssa pitkän edustusviikon jälkeen. Baarissa o
      Maailman menoa
      105
      1189
    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ä
      63
      1110
    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
      1075
    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
      1056
    8. Voi hitto Rinsessa säikähdin

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

      Onko Ilona Siekkinen todellinen henkilö vai tekoälyllä luotu henkilö? Koostettu monesta eri kuvasta ja liitetty yhteen m
      Yhteiskunta
      1
      950
    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
      881
    Aihe