Se on hyvin jännä homma kun näkee toisinaan sellaista touhua, että ohjelmoija takertuu jonkin muinaiseen ohjelmointikieleen tai käytäntöön, tai vaikka ruman näköiseen ohjelmointityyliin eikä yhtään yritä parantaa.
Vielä jännempiä on ne perustelut, kun muu maailma mennyt eteenpäin ja samat asiat saadaan tehtyä selkeämmin ja bugittomammin. Jopa ilman että tarvitsisi välttämättä työkalujakaan vaihtaa.
Onko ruma kaunista?
29
261
Vastaukset
- siananus
Rumahan voi olla kaunista, riipuen katsojan mieltymyksistä
- fknsdjbnjgtbfbhsg
Tämä ei liity tietotekniikkaan, mutta ulkonäköön.
Bulldoggikin on niin ruma, että suurinosa katsojista on haltioissaan. - bulls.shit
Onneksi minä huomasin pienenpänä poikana että aamukahvi maistui paremmalta Pariisin katukahviloissa kuin jossaan hämyisessä ohjelmointiputkassa Suomessa.
- hinttioletvarmaan
Kahvihan maistuu parhaalle tulilla keitettynä (metässä), eikä missään vtun kahvilassa.
- bulls.shit
hinttioletvarmaan kirjoitti:
Kahvihan maistuu parhaalle tulilla keitettynä (metässä), eikä missään vtun kahvilassa.
Mene metsään pikkupaskiainen.
- Hyi-vittu
"bulls.shit" oletko homo ?
- hintti.olet
bulls.shit kirjoitti:
Mene metsään pikkupaskiainen.
Niin menenki mettään, mistä arvasit? Liekkö siellä pariisin katukahviloissa kasvatetaan epänormaaleja miehiä?
- ukkolumessa
hintti.olet kirjoitti:
Niin menenki mettään, mistä arvasit? Liekkö siellä pariisin katukahviloissa kasvatetaan epänormaaleja miehiä?
Ihmeellisiä nämä pikkupojut!
Jotenkin tuntuu nykyään tuo homottelu/hintittely kuuluvan teini-ikäisten kehittymättömään sukupuolisuuteen.
- whoopy
Jossä kodaat samala tavala kun täne kirjotat nii maahtaa sun kodii ola melkoita sotkuu
- bull.shit.gay
Sinulla selvästi jotain aloittajaa vastaan, mitä?
- commentaire
bull.shit.gay kirjoitti:
Sinulla selvästi jotain aloittajaa vastaan, mitä?
Olematta whoopy kaikkihan tietää että aloittaja (on mielestään) aina oikeassa.
- ooooh_kaunis
Noin > 99,999 % maapallon asukkaista ei ole ohjelmoijia, eikä tarvitse ollakaan, joten kovin "valtava" mahtaa ollakin se kaunista koodia silmät tapillaan töllöttävä yleisö.
- ohjelmoijat_aasialaisia
Aasian maissa on miljoonia tai kymmeniä miljoonia ammattiohjelmoijia, joka tekee yli promillen maapallon väestöstä.
Länsimaissa ohjelmoijia on paljon vähemmän, koska kaikki vähänkin suuremmat ohjelmistotalot ovat ulkoistaneet kaiken ohjelmoinnin aasiaan jossa ohjelmoijien palkat ovat matalia, eikä ohjelmistoyrityksissä ole töissä ensimmäistäkään ohjelmoijaa. Koskee myös suomalaisia suurempia ohjelmistofirmoja (esim. Accenture Finland jossa ei ole yhtään ohjelmoijaa töissä) - suomalaiset ja muutkin länsimaiset ohjelmoijat ovat kaikki työttömiä tai hyvin pienissä puljuissa töissä. - 102030405060
ohjelmoijat_aasialaisia kirjoitti:
Aasian maissa on miljoonia tai kymmeniä miljoonia ammattiohjelmoijia, joka tekee yli promillen maapallon väestöstä.
Länsimaissa ohjelmoijia on paljon vähemmän, koska kaikki vähänkin suuremmat ohjelmistotalot ovat ulkoistaneet kaiken ohjelmoinnin aasiaan jossa ohjelmoijien palkat ovat matalia, eikä ohjelmistoyrityksissä ole töissä ensimmäistäkään ohjelmoijaa. Koskee myös suomalaisia suurempia ohjelmistofirmoja (esim. Accenture Finland jossa ei ole yhtään ohjelmoijaa töissä) - suomalaiset ja muutkin länsimaiset ohjelmoijat ovat kaikki työttömiä tai hyvin pienissä puljuissa töissä.Höpö höpö.
Ohjelmoijien määrä on kasvanut koko ajan hyvin nopeaa tahtia. - 102030405060
Jos esittää prosenttilukuja, niin sullahan täytyy olla jossakin lista kaikista maailman ohjelmoijista?
Epäilen, että sellaista listaa on olemassakaan, eli vetäisit luvut hatusta ja vieläpä täysin päin persettä.
0,001 % maailman väestöstä olisi noin 70 000 ihmistä, joka on reippaasti alakanttiin.
Toisaalta tuolla ohjelmoijien määrällä suhteessa väestöön ei niinkään ole tämän asian kannalta väliä, vaan sillä, mitkä on seuraukset.
Eihän ruokaakaan tuota kehittyneissä maissa nykyään kuin hyvin pieni osa koko väestöstä, silti kaikki on arvioimassa työn tuloksia.
Koko työtä tekevä väestö maksaa huonosti tehdystä ohjelmistosta. Eriomaisia esimerkkejä terveydenhuollon tietojärejstelmät, sähköinen resepti . . . Miljardit ihmiset käyttää sitä koodia eri muodoissa.
Tunnetusti sotkuinen koodi on bugisempaa, joten asialla on paljonkin merkitystä.
- vastaAlkaja
Kauneus on katsojan silmässä ja siis kovin subjektiivista . . .
Kyllä nämä Bob Martinin luennot on aika hyviä:
https://www.youtube.com/watch?v=TMuno5RZNeE - Juniorikoodari
Ärsyttävintä on se, kun omasta mielestä koodi on kaunista ja toisen mielestä asia pitäisi tehdä selkeämmin. Sitten ei osattukaan antaa eksplisiittisiä selkeyskriteerioita. Parempi olisi tietty joku koodin analysoija, joka ilmoittaisi tai jopa korjaisi epäselkeät kohdat.
Onhan noita muutamia.
1. 100% test coverage:
Yleensä tuskin on läpipaskaa koodia jotta saa sen testattavaksi
2. Liittyen edelliseen, Pienempi Cyclomatic complexity == vähemmän testien kirjoittamista.
3. Halstead complexity: Mittaa kivasti itse koodin ulkoasun kompleksisuutta
4. Rivimäärä. Vähemmän on parempi
5. Sivuvaikutusten minimointi. Koodin pätkä ei oikein saisi vaikuttaa muualle. Keinoja tähän on esim. tilattomuus, muuttumattomat tiedot, kytkentöjen ja riippuvuusten minimointi...
6. Koodi on itsedokumentoiva. Ei tarvitse erillistä dokumentaatiota kertomaan mitä koodi tekee vaan kirjoittu koodi samassa tiedostossa kertoo itsessään mitä tekee ja testit kertovat hyväksymisvaatimuksen niin että sen lukeminen ei tarvitse ohjelmoijaa.
Onhan noita linttereitä myös olemassa mitkä siivoilee typeryyksiä.- jjjjjeeeeeeshus
M-Kar kirjoitti:
Onhan noita muutamia.
1. 100% test coverage:
Yleensä tuskin on läpipaskaa koodia jotta saa sen testattavaksi
2. Liittyen edelliseen, Pienempi Cyclomatic complexity == vähemmän testien kirjoittamista.
3. Halstead complexity: Mittaa kivasti itse koodin ulkoasun kompleksisuutta
4. Rivimäärä. Vähemmän on parempi
5. Sivuvaikutusten minimointi. Koodin pätkä ei oikein saisi vaikuttaa muualle. Keinoja tähän on esim. tilattomuus, muuttumattomat tiedot, kytkentöjen ja riippuvuusten minimointi...
6. Koodi on itsedokumentoiva. Ei tarvitse erillistä dokumentaatiota kertomaan mitä koodi tekee vaan kirjoittu koodi samassa tiedostossa kertoo itsessään mitä tekee ja testit kertovat hyväksymisvaatimuksen niin että sen lukeminen ei tarvitse ohjelmoijaa.
Onhan noita linttereitä myös olemassa mitkä siivoilee typeryyksiä."Rivimäärä. Vähemmän on parempi"
Ei pidä paikkaansa.
"Koodi on itsedokumentoiva. Ei tarvitse erillistä dokumentaatiota kertomaan mitä koodi tekee vaan kirjoittu koodi samassa tiedostossa kertoo itsessään mitä tekee ja testit kertovat hyväksymisvaatimuksen niin että sen lukeminen ei tarvitse ohjelmoijaa."
Tämähän on täysin ristiriidassa kohdan 4 kanssa.
Miten kirjoitat "itsedokumentoivaa" koodia minimoiden rivimääränkin? Koodin kommentit kääntäjät jättää huomioimatta, niitä voi ja pitäisi olla enemmän kuin itse koodia. Aina. Niillä varmistetaan se, että koodia lukeva oikeasti ymmärtää mitä koodi tekee. VARMISTETAAN. Äh, suomi24 ei mahdollista sisennyksiä. Taulunkon pitää taulukko, ja { jälkeen seuraavat rivit sisennettynä.
Siltä varalta että suomi24:n robotti ei ymmärrä koodia:
"Tämähän on täysin ristiriidassa kohdan 4 kanssa."
Ei mitenkään. Toteutus pitää olla tehtävissä minimimäärällä koodirivejä, mutta luettavuussyistä pitää olla lauseke per rivi, ja tyhjiä rivejä että tulee luettavia blokkeja ja rivin pituudet pitää myös olla esim. sisennys 70 merkkiä.
"Miten kirjoitat "itsedokumentoivaa" koodia minimoiden rivimääränkin? Koodin kommentit kääntäjät jättää huomioimatta, niitä voi ja pitäisi olla enemmän kuin itse koodia. Aina. Niillä varmistetaan se, että koodia lukeva oikeasti ymmärtää mitä koodi tekee. VARMISTETAAN. "
Tuo tarkoittaa sitä, koodi on niin paskaa että pitää kirjoittaa erikseen selitystä mitä se tekee ja siinä sitten pitää ylläpitää
Mutta otetaan esimerkki jos vaikka kirjoittaisi testiä, niin sen voisi kirjoittaa vaikka näin:
https://pastebin.com/YrvmHP2F
Tai jos tekee toteutusta niin voi tehdä itsedokumentoimavasti vaikka päätöstaulun, esimerkki Javascriptiä:
https://pastebin.com/mrtSDP10
Että mitähän tuossa nyt tarvitsisi sitten vielä dokumentoida kun koodia voi kirjoittaa myös tähän tapaan itsedokumentoivasti?
- 423423432
Joskus ns. ruma koodi on siellä koska se voi olla ylläpidettävämpää niiden toimesta jotka ei kuitenkaan ymmärtäisi ns. hienouksia. Näin saadaan softa toimimaan pidempään kunnolla ja sehän se on kaikkein tärkeintä, ei kikkailu.
Ylipäänsä koodin optimointi alussa on aika tyhmää. Arkkitehtuurin optimointi myös jos haetaan vain sen hetkisen tiedon valossa optimiratkaisua. Se jos mikä on idioottimaista, olkoon sitten vaikka kuinka kaunista.
10 vuotta ylläidetty ja uusia ominaisuuksia lisäilty koodi on sen luokan spagettia että alussa loppuun optimoitu onkäytännössä pakko kirjoittaa uudestaan. Joku yksinkertaiseen perusperiatteeseen perutuva mutta kaunistelematon on useimmiten paremmassa kunnossa satojen muutoksien jälkeen.Koodin kauneuden optimointi on sitä, että kuinka hyvin se on hallittavissa. Se menee yleensä käsikädessä arkkitehtuurin optimoinnin kanssa. Kaunis koodi nimenomaan ei ole mitään spagettia.
- napunapunapu
M-Kar kirjoitti:
Koodin kauneuden optimointi on sitä, että kuinka hyvin se on hallittavissa. Se menee yleensä käsikädessä arkkitehtuurin optimoinnin kanssa. Kaunis koodi nimenomaan ei ole mitään spagettia.
Huoh.
Mitä jos kuuntelisitte Linus Torvaldsin ja vastaavien mielipiteitä asiasta.
Linux on varmaan maailman suurin ohjelmistoprojekti, kehittäjien määrässä mitattuna. Siihen osallistuu käytännössä kaikki talot, halusi tai ei. Jokainen joka urputtaa Torvaldsille siitä että Linuxissa on jotain 100 000 goto lausetta, ovat nopeasti lopettaneet pätemisensä.
Koodin kauneudella ei ole mitään merkitystä jos sen hinnalla saadaan muistisyöppö, paskasti käännetty ohjelma. Ohjelmistokehityksessä pääpaino tulisi olla ajonaikaisessa testauksessa eikä missään vitun filosofiassa. Harva C-kääntäjä ymmärtää taidetta.
Ohjelmointi on vähän monimutkaisempi asia kuin se korkean tason kielen siisteys. Korkean tason kielet pyritään pitämään siisteinä virheiden minimoimiseksi, mutta kääntäjä ja lopulta ajonaikainen ympäristö päättää miten se koodi oikeasti toimii.
Kun sinä ajattelet vain sitä korkean tason kielen hallintaa, jotkut muut valvovat yönsä sinun takiasi, ymmärrätkö? Tämä ei ole oikeasti niin yksinkertaista kuin jonkin sinfonian säveltäminen. napunapunapu kirjoitti:
Huoh.
Mitä jos kuuntelisitte Linus Torvaldsin ja vastaavien mielipiteitä asiasta.
Linux on varmaan maailman suurin ohjelmistoprojekti, kehittäjien määrässä mitattuna. Siihen osallistuu käytännössä kaikki talot, halusi tai ei. Jokainen joka urputtaa Torvaldsille siitä että Linuxissa on jotain 100 000 goto lausetta, ovat nopeasti lopettaneet pätemisensä.
Koodin kauneudella ei ole mitään merkitystä jos sen hinnalla saadaan muistisyöppö, paskasti käännetty ohjelma. Ohjelmistokehityksessä pääpaino tulisi olla ajonaikaisessa testauksessa eikä missään vitun filosofiassa. Harva C-kääntäjä ymmärtää taidetta.
Ohjelmointi on vähän monimutkaisempi asia kuin se korkean tason kielen siisteys. Korkean tason kielet pyritään pitämään siisteinä virheiden minimoimiseksi, mutta kääntäjä ja lopulta ajonaikainen ympäristö päättää miten se koodi oikeasti toimii.
Kun sinä ajattelet vain sitä korkean tason kielen hallintaa, jotkut muut valvovat yönsä sinun takiasi, ymmärrätkö? Tämä ei ole oikeasti niin yksinkertaista kuin jonkin sinfonian säveltäminen."Koodin kauneudella ei ole mitään merkitystä jos sen hinnalla saadaan muistisyöppö, paskasti käännetty ohjelma."
Ennemminkin päinvastoin. Kaunis koodi on bugittomampaa ja nopeampaa eikä rohmua kaikkea muistia.
"Harva C-kääntäjä ymmärtää taidetta."
Kyllä C:lläkin voi tehdä kaunista koodia. Samainen päätöstaulu C:llä minkä tuossa yllä tein Javascriptillä.
Javascriptillä näkyy onnistuvan vastaavan tekeminen hieman nätimmin. Tosin pitää ottaa huomioon, että C on systeemiohjelmointiin ja Javascript sovelluksille, että painottavat vähän eri asioita. C:llä tulee selvästikin enemmän rivejä.
'#define DT_NAME_LEN 32
'#define DT_PRINTER_TROUBLESHOOTER_SIZE 16
'
'typedef struct DT_PrinterTroubleShooterRowTag {
' char name[DT_NAME_LEN];
' char row[DT_PRINTER_TROUBLESHOOTER_SIZE];
'} DT_PrinterTroubleShooterRow;
'
'DT_PrinterTroubleShooterRow printerTroubleShooterConditions[3] = {
' {"Printer prints", "N|N|N|N|Y|Y|Y|Y"},
' {"A red light is flashing", "Y|Y|N|N|Y|Y|N|N"},
' {"Printer is recognized by computer", "N|Y|N|Y|N|Y|N|Y"}
'}
"Korkean tason kielet pyritään pitämään siisteinä virheiden minimoimiseksi, mutta kääntäjä ja lopulta ajonaikainen ympäristö päättää miten se koodi oikeasti toimii."
Ohjelmointikielen tarkoitus on muuntaa ohjelmoijan tietokoneelle ilmaisemat ajatukset tietokoneen ymmärrettävässä muodossa. Ohjelmointikielellä siis ilmaistaan ajatuksia tietokoneelle. Se on sitten sen kääntäjän, tulkin tai minkä tahansa ajoympäristön asia kääntää tai tulkata se. Ohjelmoijan tehtävä taas on kirjoittaa koodi oikein että siinä ei ole mitään bugeja.
IDE, kääntäjät ja tulkit yms. työkalut sitten huomaavat virheitä kun ohjelmoija syöttää sitä koodia ja ne korjataan, mutta näiden lisäksi ohjelmoija myös kirjoittaa testejä, että varmistetaan että koodi toimii oikein. Testit vieläpä kirjoitetaan normaalisti ensiksi ja ne toimivat osana ohjelman määrittelyä.napunapunapu kirjoitti:
Huoh.
Mitä jos kuuntelisitte Linus Torvaldsin ja vastaavien mielipiteitä asiasta.
Linux on varmaan maailman suurin ohjelmistoprojekti, kehittäjien määrässä mitattuna. Siihen osallistuu käytännössä kaikki talot, halusi tai ei. Jokainen joka urputtaa Torvaldsille siitä että Linuxissa on jotain 100 000 goto lausetta, ovat nopeasti lopettaneet pätemisensä.
Koodin kauneudella ei ole mitään merkitystä jos sen hinnalla saadaan muistisyöppö, paskasti käännetty ohjelma. Ohjelmistokehityksessä pääpaino tulisi olla ajonaikaisessa testauksessa eikä missään vitun filosofiassa. Harva C-kääntäjä ymmärtää taidetta.
Ohjelmointi on vähän monimutkaisempi asia kuin se korkean tason kielen siisteys. Korkean tason kielet pyritään pitämään siisteinä virheiden minimoimiseksi, mutta kääntäjä ja lopulta ajonaikainen ympäristö päättää miten se koodi oikeasti toimii.
Kun sinä ajattelet vain sitä korkean tason kielen hallintaa, jotkut muut valvovat yönsä sinun takiasi, ymmärrätkö? Tämä ei ole oikeasti niin yksinkertaista kuin jonkin sinfonian säveltäminen.Tehdään viesti vielä uusiksi, tuo pastebin näkyy sopivan suomi24 käyttöön:
"Koodin kauneudella ei ole mitään merkitystä jos sen hinnalla saadaan muistisyöppö, paskasti käännetty ohjelma."
Ennemminkin päinvastoin. Kaunis koodi on bugittomampaa ja nopeampaa eikä rohmua kaikkea muistia.
"Harva C-kääntäjä ymmärtää taidetta."
Kyllä C:lläkin voi tehdä kaunista koodia. Samainen päätöstaulu C:llä minkä tuossa yllä tein Javascriptillä.
https://pastebin.com/uBFwvTGg
Javascriptillä näkyy onnistuvan vastaavan tekeminen hieman nätimmin. Tosin pitää ottaa huomioon, että C on systeemiohjelmointiin ja Javascript sovelluksille, että painottavat vähän eri asioita. C:llä tulee selvästikin enemmän rivejä.
"Korkean tason kielet pyritään pitämään siisteinä virheiden minimoimiseksi, mutta kääntäjä ja lopulta ajonaikainen ympäristö päättää miten se koodi oikeasti toimii."
Ohjelmointikielen tarkoitus on muuntaa ohjelmoijan tietokoneelle ilmaisemat ajatukset tietokoneen ymmärrettävässä muodossa. Ohjelmointikielellä siis ilmaistaan ajatuksia tietokoneelle. Se on sitten sen kääntäjän, tulkin tai minkä tahansa ajoympäristön asia kääntää tai tulkata se. Ohjelmoijan tehtävä taas on kirjoittaa koodi oikein, että siinä ei ole mitään bugeja.
IDE, kääntäjät ja tulkit yms. työkalut sitten huomaavat virheitä kun ohjelmoija syöttää sitä koodia ja ne korjataan, mutta näiden lisäksi ohjelmoija myös kirjoittaa testejä, että varmistetaan että koodi toimii oikein. Testit vieläpä kirjoitetaan normaalisti ensiksi ja ne toimivat osana ohjelman määrittelyä.
...
Eri kielissä, kääntäjissä jne. on toki erilaisia ominaisuuksia. Joissakin on esimerkiksi tehty tietyntyyppisten virheiden tekeminen mahdottomaksi tai voi olla eroja suorituskyvyssä kun tekee tiettyjä asioita tai IDE voi tarkistaa asioita reaaliajassa eri tavoin, koodin luettavuus voi olla eri, voi olla erilaisia toimintoja valmiina standardikirjastossa tai kielen syntaksissa, voi olla standardisoitu jne.- ehkäotinehkä
M-Kar kirjoitti:
Tehdään viesti vielä uusiksi, tuo pastebin näkyy sopivan suomi24 käyttöön:
"Koodin kauneudella ei ole mitään merkitystä jos sen hinnalla saadaan muistisyöppö, paskasti käännetty ohjelma."
Ennemminkin päinvastoin. Kaunis koodi on bugittomampaa ja nopeampaa eikä rohmua kaikkea muistia.
"Harva C-kääntäjä ymmärtää taidetta."
Kyllä C:lläkin voi tehdä kaunista koodia. Samainen päätöstaulu C:llä minkä tuossa yllä tein Javascriptillä.
https://pastebin.com/uBFwvTGg
Javascriptillä näkyy onnistuvan vastaavan tekeminen hieman nätimmin. Tosin pitää ottaa huomioon, että C on systeemiohjelmointiin ja Javascript sovelluksille, että painottavat vähän eri asioita. C:llä tulee selvästikin enemmän rivejä.
"Korkean tason kielet pyritään pitämään siisteinä virheiden minimoimiseksi, mutta kääntäjä ja lopulta ajonaikainen ympäristö päättää miten se koodi oikeasti toimii."
Ohjelmointikielen tarkoitus on muuntaa ohjelmoijan tietokoneelle ilmaisemat ajatukset tietokoneen ymmärrettävässä muodossa. Ohjelmointikielellä siis ilmaistaan ajatuksia tietokoneelle. Se on sitten sen kääntäjän, tulkin tai minkä tahansa ajoympäristön asia kääntää tai tulkata se. Ohjelmoijan tehtävä taas on kirjoittaa koodi oikein, että siinä ei ole mitään bugeja.
IDE, kääntäjät ja tulkit yms. työkalut sitten huomaavat virheitä kun ohjelmoija syöttää sitä koodia ja ne korjataan, mutta näiden lisäksi ohjelmoija myös kirjoittaa testejä, että varmistetaan että koodi toimii oikein. Testit vieläpä kirjoitetaan normaalisti ensiksi ja ne toimivat osana ohjelman määrittelyä.
...
Eri kielissä, kääntäjissä jne. on toki erilaisia ominaisuuksia. Joissakin on esimerkiksi tehty tietyntyyppisten virheiden tekeminen mahdottomaksi tai voi olla eroja suorituskyvyssä kun tekee tiettyjä asioita tai IDE voi tarkistaa asioita reaaliajassa eri tavoin, koodin luettavuus voi olla eri, voi olla erilaisia toimintoja valmiina standardikirjastossa tai kielen syntaksissa, voi olla standardisoitu jne.Perehdy Linuxin johtoportaan mietteisiin aiheesta.
Ketjusta on poistettu 4 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Aivosyöpää sairastava Olga Temonen TV:ssä - Viimeinen Perjantai-keskusteluohjelma ulos
Näyttelijä-yrittäjä Olga Temonen sairastaa neljännen asteen glioomaa eli aivosyöpää, jota ei ole mahdollista leikata. Hä802799Pelotelkaa niin paljon kuin sielu sietää.
Mutta ei mene perille asti. Miksi Venäjä hyökkäisi Suomeen? No, tottahan se tietenkin on jos Suomi joka ei ole edes soda2931610Mikä saa ihmisen tekemään tällaista?
Onko se huomatuksi tulemisen tarve tosiaan niin iso tarve, että nuoruuttaan ja tietämättömyyttään pilataan loppuelämä?2461517- 871361
IL - VARUSMIEHIÄ lähetetään jatkossa NATO-tehtäviin ulkomaille!
Suomen puolustuksen uudet linjaukset: Varusmiehiä suunnitellaan Nato-tehtäviin Puolustusministeri Antti Häkkänen esittel4011339Nyt kun Pride on ohi 3.0
Edelliset kaksi ketjua tuli täyteen. Pidetään siis edelleen tämä asia esillä. Raamattu opettaa johdonmukaisesti, että3961273Esko Eerikäinen tatuoi kasvoihinsa rakkaan nimen - Kärkäs kommentti "Ritvasta" lävähti somessa
Ohhoh! Esko Eerikäinen on ottanut uuden tatuoinnin. Kyseessä ei ole mikä tahansa kuva minne tahansa, vaan Eerikäisen tat381017Kiitos nainen
Kuitenkin. Olet sitten ajanmerkkinä. Tuskin enää sinua näen ja huomasitko, että olit siinä viimeisen kerran samassa paik2979Hyväksytkö sinä sen että päättäjämme ei rakenna rauhaa Venäjän kanssa?
Vielä kun sota ehkäpä voitaisiin välttää rauhanponnisteluilla niin millä verukkeella voidaan sanoa että on hyvä asia kun329854Miksi Purra-graffiti ei nyt olekkaan naisvihaa?
"Pohtikaapa reaktiota, jos vastaava graffiti olisi tehty Sanna Marinista", kysyy Tere Sammallahti. Helsingin Suvilahden254832