Monthly Archives: December 2007

Tikslai, siekiai, norai 2008-iesiems

Media_httpimg134image_jqurr
Media_httpemptydotcom_zamvw

Didėjantis chaosas prekybos centruose ir geometrine progresija augantys alkoholio pardavimai byloja, kad rytoj išauš šviežių metų rytas. Tad noriu pats sau trumpai dabar stabtelėti ir užfiksuoti, ko sieksiu kitas 366 (o taip, keliamieji!) dienas. Trumpai:

  • tapsiu geresnis.

O dabar smulkiau (atsitiktine tvarka, atsitiktiniu svarbumu ir atsitiktine tema) siekiai su minimaliais vienetų nurodymais:

  • darysiu “generalinę tvarką” namie du kartus per mėnesį;
  • tiksliau planuosiu: visada paliksiu laisvos vietos įvairiems netikėtumams, kurių būtinai įvyksta, stebėsiu kaip pavyksta planų laikytis ir koreguosiu būsimus pagal suminę patirtį;
  • būsiu pats sau griežtas ir tvarkingas darbuose;
  • mažiau gersiu Coca-Colos;
  • išmokysiu Tagą atnešti numestą daiktą;
  • a plankysiu vieną užsienio šalį;
  • perskaitysiu vieną grožinę knygą (ok, nereikia varyti dievo į medį, ksakant. Nuo mokyklos baigimo neperskaičiau nė vienos grožinės knygos! Shame on me, bet stengsiuosi pasitaisyti);
  • išleisiu į negailestingąjį internetą bent vieną su Ruby on Rails rašytą projektą;
  • neturėsiu skolų universitete;
  • savo galimybėmis padėsiu nors vienai teisingų tikslų siekiančiai akcijai, žmonėms, pagalbai ar panašiai;
  • išmoksiu vienos naujos kalbos pagrindus (Python? Perl?);
  • pradėsiu nors nereguliariai sportuoti (dviratis? krepšinis? stalo tenisas?);
  • rašysiu į blogą bent dukart per savaitę, pasistengsiu pasiekti, kad prenumeratorių skaičius pasiektų 100. Tačiau svarbiausia išlaikyti tikslinį skaitytoją;
  • atsakingai vairuosiu;
  • kuo dažniau naudosiuos viešuoju transportu mieste;
  • pasiimsiu iš praktinių dalykų universitete tiek, kiek įmanoma (pvz. iš J2ME);
  • dažniau sakysiu komplimentus žmonėms, kurie jų nusipelnė;
  • nueisiu į teatrą;
  • nuvažiuosiu į Kauną pažiūrėti Žalgirio rungtynių Eurolygoje;
  • labiau pasidomėsiu duomenų bazių užklausų optimizavimu;
  • nusipirksiu vieną programos licenziją arba paaukosiu atviro kodo programų kūrėjams.

Ir daug įvairių smulkmenų, kurios ir taip akivaizdžios, pavyzdžiui, nebūsiu abejingas šalia vykstančiai nelaimei ar laikysiuosi pažadų.Taigi žmogiškų, atradimų ir tobulėjimo jums metų, gerbiami skaitytojai. Mažiau spam’o, mažiau eilių, mažiau šlamšto visų mūsų gyvenimuose ir aplinkoje, bet daugiau šviesos, siekių, svajonių ir prasmės kitais metais. Žiū, jau netrukus skaičiuosime ką pavyko įgyvendinti.O dabar jukšt nuo kompiuterių ir televizorių! Saugaus šventimo!

Svečio rubrika: Tėveliai paparaciai

Media_httpimg443image_lmmhl

Neseniai klausiausi venos radijo laidos, kurioje Kalėdų senelis Sigutis Jačėnas pasakojo apie šiuolaikinių kalėdinių karnavalų “perliukus”. Vienas labiausiai jį stebinančių/trikdančių dalykų buvo tas, kuris ir man paliko bene didžiausią “pašalinį” poveikį per mano dukros pirmąjį karnavalą.Galiu pasakyti, tokiose šventėse labiausiai ir pasimato, kaip bujoja technikos pardavėjai – neklysiu sakydamas, kad kas 1,5 tėvelis/mamytė turėjo nors kokį nors fotoaparatą/kamerą. Įsivaizduokite dabar tą momentą, kai būrys tėvelipaparacių žūt būt stengiasi savo atžalas užfiksuoti. Jei įsivaizduojate organizuotą fotosesiją klystate, nes čia nemažas chaosėlis, nes fotografuojantieji lenda filmuojantiems į kadrą, ir t.t. – “fotografams” svarbu tik tai, kas vyksta jų aparatėlių lcd ekranuose, o ne aplink. Apie žiūrovus nebekalbu :-) Kaip sakė Kalėdų senelis Sigutis Jačėnas – “tėveliai ne dalyvauja savo atžalų pasirodymuose, šventėje, o mato jį per fotoaparato akutes”. Aš pridurčiau – tiesiog desperatiškai stengiasi fotografuoti – tiek, kiek įmanoma sudėtingomis apšvietimo sąlygomis, lendant “kolegoms” į kadrą, stovint mikrofonams pirmame plane (jie paskui papuoš visas nuotraukas). Ką gi, ne juostelė, kadrų negaila, gal kokie 10 proc. bus kokybiški.Atsiverskite kiekvienas savo vaikystės nuotraukas, kai šventėje dalyvaudavo vienas fotografas. Ką gi, laikai keičiasi, dabar kiekvienas fotografas… Tik ar į gera?Egidijus

Ruby kalba – mokykloms?

Media_httpimg256image_cjidi

Leisdamas Kalėdines dienas su šildomaisiais kompresais pažandy, varčiau įvairius Ruby manualus ir nėtikėtai šovė mintis, kad ši kalba būtų puikus mokymo programuoti instrumentas. Ypač pradedantiems. Prieš rašydami piktą komentarą apie Pascalio “lengvumą”, C greitį ar panašiai, leiskite išdėstyti savo argumentus.Visų pirma, apie tikrus pradedančiuosius. Pamenu, kaip tiek mokykloje, tiek universitete apie pasirinkimą mokyti Pascalio kalbėdavo daugmaž “dėl to, kad lengva mokytis, kad panaši sintaksė…”. Sutinku, kad norint suprasti programavimo logiką yra itin svarbus kalbos natūralumo barjerų nebuvimas. Kiek natūralus ir įskaitomas yra Pascalis, o kiek Ruby, galite spręsti iš pavyzdžio.

{ Pascal }for i := 1 to 10 dobegin  Writeln('Labas');  Writeln('Čia ciklas');end;
# Ruby10.times {  print "Labas"  print "Čia ciklas"}

Trumpai tariant Ruby sintaksė yra bent kelis kartus natūralesnė šnekamajai anglų kalbai, nei apskritai bet kokia kita programavimo kalba. Taigi kodas yra lengvai skaitomas, neretai programos tekstas labiau panašus į istoriją ar tiesiog instrukcijas ką kam reikia daryti, negu į rimtą programą. Taigi besimokantis gali koncentruotis į logiką, į algoritmą, o ne į sintaksės ypatybes.Antra, Ruby kalboje viskas yra objektai. Ir tai tikrai yra pliusas aiškinant apie programavimą pradedantiesiems. Nereikia pasakoti kas jie realiai yra ar kas yra objektinio programavimo paradigma, bet štai suvokti, kad realiame gyvenime “žodis” turi ilgį, jį galima nukirpti, padidinti raides, taigi ir kompiuteryje “žodis” yra objektas, kuriam galima atlikti tuos pačius veiksmus:

# Ruby"žodis".length"žodis".chop!"žodis".capitalize

Nebūtina jau mokykloje dėstyti kaip kurti objektus, bet programavimo kalbos tokia objektinė logika yra artima natūraliam pasaulio suvokimui, kas padeda neatmesti ir įsisavinti programavimo ypatybes.Trečia, kaip privalumą norėčiau išskirti dinaminį kintamųjų tipų nustatymą. (Trumpai tiems, kas nežino kas tai yra. Programavimo kalbose kintamųjų tipai (ar tai sveikas skaičius, ar simbolis, ar žodis ar dar kas) nustatomi keliais būdais: vienos kalbos reikalauja deklaruoti tipą konkrečiam kintamajam (pvz. pascal: var skaicius: integer), taigi jo tipas jau žinomas prieš vykdymą (jei dar tiksliau – iškart sukompiliavus). Tai vadinama statiniu kintamojo tipo priskyrimu. Dinamiškai tą darančios kalbos tipą kintamajam suteikia tik tada, kai jam priskiriama reikšmė, vykdymo metu, t.y. deklaruoti iš anksto tipų nereikia). Nereikia deklaracijų prieš programos vykdymą, nereikia gaišti laiko įsivedant naują kintamąjį ir vėl keliaujant į pradžią apsibrėžti jo tipo (kalbant apie Pascal) ar po kūrybos proceso trinti tą pusę taip ir nepanaudotų kintamųjų. Pascal stiliaus tipų išskyrimas ir ypač pavyzdžiai knygose “priveda” prie stiliaus var a, b, c, d, e, f, g: integer; o to atsikratyti rimčiau neprogramuojantiems labai sunku.Ketvirta, išmokę Pascalio ir baigę mokymo įstaigą mokiniai (studentai) gali sėkmingai kišti savo šios kalbos žinias į stalčių, nes jų daugiau niekada neprireiks. Panašios sintaksės šiandien pramonėje naudojamų kalbų neteko matyti. O Ruby turi labai plačias erdves tolesniam naudojimui ir self.tobulėjimui – galima sukti link taikomųjų programų arba interneto tinklapių kūrimo vandenų. Be to, Ruby daug savybių turi “paveldėjusi” iš Perl ir Python, kurios priklauso pramonėje naudojamų interpretuojamų kalbų vainikui.Penkta, Ruby – atviro kodo kalba, kuri vystoma GNU/Linux, o veikia daugelyje UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2 ir kitose operacinėse sistemose. Kadangi tai interpretuojama kalba, norint ją paleisti įvairiose aplinkose, nieko nereikia perkompiliuoti.Daugiausiai paminėjau Ruby vs. Pascal ypatumus, tad galite paklausti, o kodėl ne kokia kita kalba, jeigu Pascal jau tokia atgyvena? Daugelis kalbų tikrai nėra kartu tokios lanksčios, draugiškos pradedančiajam, tačiau galingos patyrusiems, pakankamai populiarios, taigi turinčios aktyvią bendruomenę. Iliustracijai pateikiu Java vs. Ruby kodą, kuris daro tą patį – nuskaito jūsų įrašytą vardą ir jus pasveikina.

/* Java */import java.io.*;/* ... */InputStreamReader isr = new InputStreamReader(System.in);BufferedReader reader = new BufferedReader(isr);String name = null;try {  if ((name = reader.readLine()) != null) {    System.out.println("Hello, " + name + "n");  }} catch (IOException e) {  System.err.println("Caught: " + e);}
# Rubyname = getsputs "Hello, " + name

Pats toli gražu nesu Ruby guru, o tik pradedantysis, bet dėl minėtų priežasčių esu įsitikinęs, kad mokymas programuoti šia kalba atneštų kur kas daugiau naudos ir sėkmės, negu dabar naudojamom priemonėm. Pasaulyje aplink mus pirmi žingsniai jau žengti – jau yra mokyklų ir universitetų, kurie priėmė teisingą sprendimą. Pavyzdžiui, Harvarde dėstomas “Introduction to Computer Science”, kuriame žvelgiama į C ir Ruby.Manau Ruby 2.0 versija, kuri jau palaikys Unicode, išspręs problemas su greičiu (pasitelkdamas virtualią mašiną) ir gijų (thread) tipais, galėtų būti puikus pagrindas kam nors priimti teisingą sprendimą.Laikas keistis?

Šiuolaikinis Kalėdų Senelio įvaizdis – Coca Cola darbas?

Netiesa. Tokį “faktą” išgirdau per Lietuvos radiją dar prieš kelias savaites, o šiandien prisiminiau ir sumaniau patikrinti internete kaip yra iš tikrųjų. Tiesa ta, kad toks įvaizdis formavosi dar nuo XIX a., o “Coca Cola” jį tiesiog gražiai nupiešė ir išpopuliarino kartu su savo produkcija.Apie Kalėdų Senelio šiuolaikinio įvaizdžio susiformavimą.

Kriu

Deja šiemet Kalėdų magiją visiškai sujaukė “palatos” efektas – galima sakyti, kad pusė mūsų susirinkusių į šventę tėvų namuose laužė įvairūs sveikatos sutrikimai. Neaplenkė kiaulės metai ir manęs – Kalėdų rytą atsikėliau su nuostabiu smarkiai ištinusiu žandu, dėl ko po savos gamybos dovanų apsikeitimo ir pusryčių teko apsilankyti ligoninėje. Trumpai užmetus akį į mano žandą ir paklausus apie dantų ir gerklės būklę, gydytoja trumpai burbtelėjo, kad “panašu į kiaulytę” ir, išrašius vaistų, išleido namo.Smagiausia istorijos dalis. Kalėdų dieną Klaipėdoje veikė tik viena budinti vaistinė Akropolyje. Ir veikė tik “drive” langelis, kuris pritaikytas privažiuoti su automobiliu iš lauko. Atėjęs pamačiau, kad driekiasi dvi eilės – žmonių ir automobilių. Kaip ten automobiliams prasibrauti iki langelio per žmones – visiškai neaišku, tai stojau į eilę su pėsčiaisiais. Prie langelio sukosi tik viena pardavėja, tad eilės judėjimo į priekį greitis – 1 žm /5 min, nors priėjęs visai arti pamačiau, kad viduje yra ir antroji pardavėja, kuri tik karts nuo karto padėdavo apsisukti, dirbančiai su žmonėmis. Ypatingai gerai išsilavinusio lietuvio paveikslą piešė vienas aukšto intelekto vyrukas, bandydamas su automobiliu prasibrauti per žmones prie langelio. Atrodė, kad jis rimtai ruošiasi lėtai, bet užtikrintai užvažiuoti ant žmonių, laukiančių eilėje. Galų gale prasiskynęs kelią jam teko lysti pro automobilio langą bene iki pusės, kad pasakytų ko reikia, nes arčiau privažiuoti per žmones visgi nėjo. Ne, iš automobilio jokiu būdu negalima lipti!Kaip supratau, daugelis aplink stovėjusių pirko vaistus savo vaikučiams. Pastovėjus gerą valandą šaltyje ir vėjyje visgi darėsi visai jau nebeKalėdiška, ypač pažiūrėjus, kaip už šimto metrų McDonalds puikiai tvarkosi su panašiu klientų srautu. Ir tada tapo visai neaišku, kiek esam pasiruošę aukoti, kad tik reikėtų mažiau išlaidų visuomenės sveikatos sąskaita. Štai McDonalds, degalinės, mažos krautuvėlės turi resursų ir galimybių sėkmingai veikti, o vaistinėms ir aukštesnėms instancijoms, kurios galėtų reglamentuoti budinčių vaistinių veikimą, spjauti į žmones kritinėmis dienomis. Ne šiaip į skrandžio užgeidas, bet į sveikatą.Taigi sėdžiu dabar aprištu žandu, pietus siurbsiu per šiaudelį, nes skauda pusę galvos rimčiau kramtant, o užkrėsti ką nors dar nepersirgusį šia liga galiu dar iki 9 dienų. Dėl to negaliu šiandien dalyvauti Pajūrio blogerių susitikime – linkėjimai visiems, labai norėjau ateiti, bet, deja, situacija taip susiklostė, tad susitiksime kitą kartą…Žodžiu besibaigiantys kiaulės metai pakišo man kiaulytę :-) Tikiuosi, kad šiemet nebuvau kam nors kiaulė (nebuvot ir jūs) ir tokia metų pabaiga duoda ženklą dažniau pažiūrėti į viršų – juk kiaulės to negali.