5.5.2009, kirjoittanut Jussi Kasurinen
Jees, vaput on pidetty ja sitkeimmätkin sissit alkaa pikkuhiljaa palailla krapulan vietosta takaisin arkiin. Ainakin siihen asti kun juhannus ja kesälomat alkaa painamaan päälle. Mutta niin, kesäinen sää saakin nyt jäädä taka-alalle verhojen taakse kun keskityn pääasiaan, eli ohjelmointiin.
Edellisessä artikkelissani kirjoitin USB-tikulla liikuteltavasta Pythonista, ja kommentoin sitä kuinka älylaitealustalle löytyy hyvin huonosti suoraa tukea. Nyt voin sitten ottaa jalan suustani, koska tarkemman etsimisen jälkeen löysin pari mielenkiintoisempaa linkkiä;
http://www.eriksmartt.com/blog/pys60
On Python S60-sarjan Symbian-alustalle, ja
http://code.google.com/p/jythonroid/
Jython Googlen Android-alustalle. Lisäksi Se Windows Mobilelle kaipaamani Python löytyi kun laski simat ja tippaleivät käsistään ja käytti hetken aikaa linkkien etsimiseen:
http://pythonce.sourceforge.net/
Tuo versio näyttää itseasiassa niin hyvältä, että taidan etsiä vanhan HPn PDAn-ruoskan ja kokeilen josko saisin sillä tehtyä jotain mielenkiintoista.
Täältä tähän,
Jussi Kasurinen
23.4.2009, kirjoittanut Jussi Kasurinen
Joskus matkoilla ollessa tai esimerkiksi koululla voi tulla tilanteita, jossa Python-ohjelmointityökaluista olisi apua mutta niihin ei juuri silloin pääse käsiksi. Vastaavasti, joskus työhommissa voidaan päätyä tilanteeseen, jossa haluaisit demota jotain lähdekoodia, mutta esityskone ei anna asentaa mitään ohjelmia ja demoamiset jää silläerää siihen.
Tähänkin ongelmaan on olemassa ratkaisu. Mieti tuo lause uudelleen OstosTV-äänellä. No niin, eli siis Portable Python
http://www.portablepython.com/
mahdollistaa vanhan USB-tikun kierrättämisen Python-ajoalustana, ja sen ansiosta Pythonia voi nyt kodata ja demota millä tahansa Windows-koneella joka sallii USB-tikun kiinnittämisen. Paketti ei ikävä kyllä vielä toimi Linux-ympäristössä.
Vaikuttaisi ihan näppärältä idealta, joskin itse olen hieman harmissani, ettei laite nimestään huolimatta ollutkaan Pocket PC -ohjelmia takova Python. Ovat itseassa jopa hyvin yksikäsitteisiä tämän asian suhteen, en tainnut olla ensimmäinen asiaa tältä kannalta ajatellut.
Täältä tähän,
Jussi Kasurinen Lue koko artikkeli »
23.3.2009, kirjoittanut Jussi Kasurinen
Tässä taloustilanteen ollessa mitä on, tein ihan pienen yleiskatsauksen avoimiin työpaikkoihin, erityisesti Python-kielen saralla. Tein ihan sanahaun kolmella Suomessa vaikuttavalla työpaikkailmosivustolla, ja huomasin seuraavia tuloksia:
-Avoimia työpaikkoja Python-koodareille oli ~25 kpl, laskentaa vaikeuttaa ristiinpostatut työpaikat ja samalla ilmoituksella haetut useammat virat.
-Pääsääntöisesti työpaikat oli testauksen puolella, mutta ihan sovelluskehitystäkin pääsi joissain paikoissa tekemään.
-Työnantajia oli laidasta laitaan kunta-alalta suureen langattomia henkilökohtaisia viestintälaitteita valmistavaan yritykseen sekä virus- ja haittaohjelmia etsivää softaa tekevään yhtiöön. Tietysti näin Savon seudulta Etelä-Karjalaan muuttaneena itäsuomalaisena oli hieman penseää havaita, että melkein kaikki paikat oli pääkaupunkiseudulla, joskin joitakin hajapaikkoja oli muuallakin.
Luonnollisesti kannattaa pitää mielessä, että tämä tutkimus on kahvitauon aikana tehty pikatesti, ja pitääkin olla päässä vikaa mikäli meinaa noita lukuja käyttää mihinkään muuhun kuin suuntaa-antavana arviona. Osaan tehtävistä vaadittiin tietysti muutakin osaamista, eikä kaikki yritykset edes mainosta paikkoja, jotka ”voisi ottaa jos joku tulisi vastaan”.
Täältä tähän,
Jussi Kasurinen
4.3.2009, kirjoittanut Jussi Kasurinen
Jokainen Internetissä surffaileva, ja erityisesti keskusteluforumeita seuraava, ihminen on varmaan jossain vaiheessa päässyt tutustumaan Internetin erikoiseen alakulttuuriin, meemeihin (eng. meme). Nämä meemit ovat tavallisesti jokin satunnainen tapahtuma jota on pidetty huvittavana, ja täten Internetissä linkittynyt paikasta toiseen. Tutuimpia näistä meemeistä lienee kissa-kuvamakrot eli LOLcatsit, joissa on kissoja ja väärin kirjoitettua tekstiä, ”All your base are belong to us”-jutut tai Rickrollaus, jossa pahaa-aavistamaton surffailija ohjataan asiallisesta vaikuttavasta linkistä katsomaan Rick Astleyn musiikkivideota. Lisäksi muilla kulttuurialueilla on omia memejä; aasialaisille bussissa huutava ja riehuva mies on ehkä tutumpi kuin meidän 300- ja Sparta-viittaukset.
Noh, joka tapauksessa Python-ohjelmointikieleen on olemassa LOLcats-hengessä tehty laajennus nimeltä LOLPython:
http://www.dalkescientific.com/writings/diary/archive/2007/06/01/lolpython.html
Vaikka kyseessä ei olekaan kuin eräänlainen suodatin, jolla vaihdetaan avainsyntaksia toiseen, aiheuttaa valintakäsky IZ BIGNESS ARGZ OK KINDA LIKE 1? sekä keskeytyskomento KTHXBYE pienoisen hymyn ainakin allekirjoittaneen kasvoille.
Jos loppuun sitten vaikka vakavana uutisena kertoisi sen, että LinuxQuestions.org valitsi vuoden ohjelmointikieleksi toista kertaa peräkkäin Pythonin, C++:n ja PHP:n ollessa toinen ja kolmas. Java sijoittui viidenneksi. Muista voittajista mainittakoon Ubuntu, joka voitti vuoden pöytäkonejulkaisun sekä live-käyttöjärjestelmän palkinnon, serverisarjan mennessä samaa sukua olevalle Debianille.
Täältä tähän,
Jussi Kasurinen
18.2.2009, kirjoittanut Jussi Kasurinen
Selailin tuossa päivänä eräänä verkosta sivuja ja huomasin sellaisesta asiasta, josta olen joutunut monesti vääntämään kättä. Python-kielestä puhuttaessa ihmiset ovat kauhuissaan mm. siitä, että kielessä on sisennyksillä ohjautuva syntaksi, joka pakottaa tekemään asiat yhdellä tavalla tai potkii käyttäjää takapään puolelle. Tämä ei kuitenkaan pidä varsinaisesti paikkaansa, mikä allaolevassa artikkelissa on hyvin käsitelty
http://www.secnetix.de/~olli/Python/block_indentation.hawk
Itse en mielelläni ota sisennys vs. sulkeet -keskusteluun kantaa, mutta näin tehdessäni kommentoin useimmiten, että aloittaessa ohjelmoinnin opettelun sisennys tekee sulkeita paremmin ymmärrettävää koodia, ja tietyssä mielessä ”ohjaa” rakentamaan lähdekoodin järkevällä tavalla. Sulkeet olisi tietysti pidemmälle mennessä ihan kiva optio ainakin kun sisennystasot ja komentojen pituus kasvaa, mutta ainakin Python 2.x:ssä yritys ”from __future__ import braces” antaa hyvin selvän vastauksen.
Mutta joo, mitäs muuta. Python 3 sai ekan päivityksensä, 3.0.1 näyttäisi karsivan reiluhkon määrän löytyneitä bugeja mutta ei muuta. Itseasiassa toiminnot on nyt ”jäädytetty” toistaiseksi; kaikki toimii päivityksen jälkeen samalla tavalla, joten tulkki kannattaa ainakin tälläerää pitää ajantasalla ilman pelkoa että tehty koodi menee rikki. Joten ei kai tässä muuta kuin versiopäivitystä latailemaan.
Täältä tähän,
Jussi Kasurinen
9.2.2009, kirjoittanut Jussi Kasurinen
Tällä kertaa ajattelin poiketa blogin tavallisesta Python3-linjasta ja mainita parilla sanalla eräästä toisesta ohjelmointikielestä, johon olen viimeaikoina upottanut aikaa. Tämä kieli on siis Brainf*ck. Olisi sillä vähemmän sensuroitu nimikin mutta kaikenmaailman suodattimet välttääkseni olen ottanut vapauden korvata erään kirjaimen tähdellä. Nokkelimmat varmaan jo arvaavatkin ”oikean” nimen.
Tämä ohjelmointikielien ansiokkaasti nimetty kaunokainen on kielen syntaksin yksinkertaistamisessa eräänlainen sankari: siinä on ainoastaan kahdeksan komentoa, joista yksikään ei ota syötteinä minkäänlaisia argumentteja. Vielä huvittavammaksi kielen tekee se, että komentoja edustaa merkit + – , . [ ] < ja >, kaikkien muiden ollessa automaattisesti kommentteja. Käytännössä tämä tarkoittaa sitä, että esimerkiksi ohjelma
++++++++[>++++++<-]>++++.>++++++++[>++++++<-]>++.
Tulostaa vastauksen 42. Mielenkiintoisinta Brainf*ckissa on se, että se on Turing-täydellinen kieli. Tämä tarkoittaa siis sitä, että kielen avulla on mahdollista toteuttaa mikä tahansa tietokoneen algoritmi, eli periaatteessa tehdä millainen ohjelma hyvänsä. Tehokkuudesta, tai sen puoleen debuggaajan mielenterveydestä, tässä tosin ei parane puhua. Siitä vaan tekemään käyttöjärjestelmää tai samantien pitämään ohjelmoinnin perusteita kielellä; eihän kahdeksan komennon opettelu voi NIIN vaikeaa olla. Ja kun kerran on lähtenyt sille tielle, niin perään luentokalvot klingoniksi, kohderyhmämarkkinointia ajatellen.
Lopuksi vielä aasinsilta, joka yhdistää tämän artikkelin tekstin näppärästi blogin yleiseen kategoriaan, eli ohjelma joka tulostaa PYTHON3:
++++++++++[>++++++++<-]>.>++++++++++[>+++++++++<-]>-.>++++++++++[>++++++++<-]>++++.>+++++++++[>++++++++<-]>.>++++++++++[>++++++++<-]>-.>++++++++++[>++++++++<-]>–.>++++++++[>++++++<-]>+++.
Täältä tähän,
++++++++++[>+++++++<-]>++++.>++++++++++[>++++++++<-]>+++++.>++++++++++[>++++++++<-]>+++.>++++++++++[>++++++++<-]>+++.>+++++++++[>++++++++-]>+. Kasurinen
11.1.2009, kirjoittanut Jussi Kasurinen
Heipä taas,
Nyt kun edellisestä kirjoituksesta on mennyt useampi viikko, poislukien tuo aiempi kommenttini, ajattelin taas päivitellä blogia ajantasalle.
Aika yllättäen ei Python-maailmassa ole tapahtunut joulun ja uudenvuoden aikaan paljoakaan, itsekin olin 3 viikkoa lomilla joten aika helppoa tähän on tosiaan samaistua. Kuitenkin, huomasin tuossa uutisia selatessani että Python 3:een ollaan jo puuhaamassa ensimmäistä päivitystä; onhan tuo julkaisupaketti nyt jo melkein kuukauden vanha joten alkaahan se olla selvästi jo tokkurainen ja poissaoleva sekä kertoo samoja juttuja uudestaan ja uudestaan.Tätä vauhtia edettäessa tulostuksen esimuotoilu (%-muotoilu) katoaa varmaankin joskus toukokuussa, kun sen luvattiin olevan vielä mukana muutamassa ekassa versiossa. Noh, ainakin Python-ohjelmoijat pääsevät näkemään salaperäisen ”Warning”-luokan toiminnassa, jonka olemassaolosta useimmat ei tietäisi mitään ellei referenssikirjastossa siitä olisi mainintaa. Ei sentään, hyvä vaan jos löytävät virheitä ja korjaavat niitä.
Itse henkilökohtaisesti tuossa ihmettelin kovin Tkinter-kirjaston toimintaa päivänä eräänä. Tiedän kyllä, että moduuli on itseasiassa tulkkikerros Tcl/Tk-komponenteille, joten siksi toiminta on vähän hankalaa, mutta varsinaisesti ihmettelin sitä, miten vähän kirjastosta on dokumentaatiota. Moni tässä vaiheessa varmasti ajattelee ”Jussi, sinä seksikäs peto, kyllähän tutoriaaleja on useitakin”, mutta tarkoitan lähinnä ihan kunnollisia esimerkkejä ja referenssikirjastoa. Usein nämä, omanikin, loppuu siihen pisteeseen missä tilanne menee mielenkiintoiseksi. Ilmaisista WYSIWYG-editoreistakin ainoastaan
http://spectcl.sourceforge.net/
näyttäisi sisältävän hyvän Python/Tkinter-tuen. Noh, kaipa niitä alkaisi löytymään kun aloittaa tärkeää projektia varten etsimään. Satunnaista käyttöä varten vaan tuntuu että aineistoa voisi olla enemmänkin.
Täältä tähän,
Jussi Kasurinen
11.1.2009, kirjoittanut Jussi Kasurinen
Tässä yhteydessä lienee paikallaan mainita parilla sanalla siitä, miksi ylipäänsä olen tänne kirjoitellut tasaisin väliajoin; olen ollut kokoamassa palvelulle Python 3-kurssia, jonka laskettu aika on jo siinä kalenterissa, jonka työnantajasi, ammattijärjestösi tai osuuskuntasi antoi joululahjaksi.
Joka tapauksessa, ajattelin silti pitää tätä blogia jatkossakin riippumattomana Python 3-tietokanavana, paitsi tietysti silloin kun muuten vaan haluan häpeilemättä mainostaa jotain sopivaa asiaa. Tietysti kun olen saanut ensimmäiset 100+ tarinaa kokoon, voin sitten aloittaa ”The Best of” -klippishowt ollessani lomalla mutta katsotaan sitä sitten tulevaisuudessa.
Itseään markkinoiden,
Jussi Kasurinen
15.12.2008, kirjoittanut Jussi Kasurinen
Koska joulunaika on erittäin kiireistä ja ajoittain jopa hektistä aikaa, julkaisee kaikki lehdet ja muut mediat joulun alla erilaisia listoja siitä, mitä lähimmäisilleen voisi hankkia joulurauhan säilyttämiseen tähtäävän kehitystyön merkeissä. Koska ajattelin olla originaali ja hyväntekijä, päätin blogissani tarjota vaihtoehtona erilaisen joululahjan paketteja.
Kuitenkin itseäni selkään taputellessa muistin, että lupauduin pitäytymään Python-kieleen edes etäisesti liittyvissä aiheissa, joten pettymykseni oli suuri huomatessani ettei yksikään hyväntekeväisyyslahjapuoti myy käärmeitä tai mitään niihin liittyvää. Ehkä tähän on syynsä.
Eipä mitä, löysin kuitenkin erään konferenssikertomuksen innoittamana hienojen herrasmiesten pukimon, joka vieläpä lahjoittaa tuoton Python Software Foundationin toiminnalle:
http://www.wearpython.com/catalog/
Noh, se siitä. Ehkä en paremmalle puoliskolle alkaisi tuota lippistä tarjoamaan, mutta ainakin se täytetty käärme on hauskannäköinen.
Sitten vielä jotain varsinaisia huomioita, Python 3 on nyt sitten vihdoinkin ilmestynyt. Tässä vaiheessa kannattavinta onkin heittää ne release candidatet menemään, ja siirtyä varsinaisen julkaisun pariin. Lisäksi moduulikirjastojen puolelle on alkanut jo jotain löytymään; PyPI listaa jo toistakymmentä laajennuspakettia Python 3:lle, ja itse PSF on tarjonnut pääkehitystiiminsä avustustoimintaan projekteille, jotka siirtyvät versiossa eteenpäin.
Täältä tähän,
Jussi Kasurinen
2.12.2008, kirjoittanut Jussi Kasurinen
No niin,
Pari viikkoa meni taas ohi nopeasti, ja tässä ajattelinkin hetken puhua siitä mitä kaikkea sitä pitäisi tehdäkkään.
Ensinnäkin, olen jo jonkin aikaa katsellut eri paikoista oppaita verkko-ohjelmoinnin alkeille, yllättäen lähinnä Python-kielelle mutta yllätyksekseni niitä tuntuu olevan kovin vähän, tai ne ainakin ovat monesti ylimalkaisia pikaohjeita. Tämä on vähän häiritsevää, ottaen huomioon sen että tiedän kielessä olevan hyvät laajennusmoduulit verkkoliikenteen tekemiseen.
Omalta kohdaltani voin kertoa, että ”Python -verkko-ohjelmointiopas” on eräänlainen kirottu käsikirjoitus. Olen sen kolmesti aloittanut; ensimmäinen versio päätyi bittien taivaaseen USB-tikun hajottua ja toinen, paremmin varmuuskopioitu, meni pieleen siinä että tiedosto korruptoitui enkä asiaa noteerannut kuin vasta varmuuskopiot tehtyäni. Pelastustoimenpiteidenkin jälkeen tuotos näytti enemmän satunnaisgeneraattorin luomalta linjakohinalta kuin miltään kehityskelpoiselta. Noh, Siperia opettaa, aloitin kolmannen version tekemisen versiohistorian tallentaen mutta se jäi kesken muiden työkiireiden takia, ja osittain siksi että Python 3 alkoi lähestyä kovaa vauhtia enkä enää halunnut uutta opasta joka vanhenee parissa vuodessa. Kirjoittamastani ~100 sivun materiaalista enää ei mitään taida olla jäljellä. Noh, en vaan sitten osannut.
Joka tapauksessa, toinen mitä olen kanssa katsellut on mobiilialustaohjelmointi Pythonille. Aihe vaikuttaa erittäin mielenkiintoiselta ja kehityskelpoiselta idealta. Toisaalta BASIC Stamp-wrapperin tekeminenkin kiinnostaisi, sitten pääsisin ohjaamaan robottia Pythonin avulla.
Niinpä niin, olisihan noita mielenkiintoisia projekteja. Vielä kun ennättäisi niistä jotain hyödyllistä tekemään.
Täältä tähän,
Jussi Kasurinen
Artikkeliin ei ole kommentteja »