Main

March 27, 2005

Kokia failų sistemos spalva?

Kadangi augau kartu su Norton Commanderiu, tai į šį klausimą atsakymą duočiau daug negalvojęs. Taip ir nesugebėjau susigyventi su windowsinės išvaizdos failų tvarkyklėmis. Taigi MS Windows aplinkoje mano nepamainomu pagalbininku yra FAR manager. Nutariau jam parašyti Subversion plugin'ą. Kol kas funkcionalumo nedaug, bet "status'u" jau galiu pasigirti:)

subfar0.gif

October 26, 2004

MedusWiki 0.5

Jau senai nepildžiau blogo kategorijos programavimas. Taigi dabar yra proga. Į laisvę paleidau projektą MedusWiki. Tai Python kalba parašytas WikiWikiWeb klonas, leidžiantis kurti prasminius(tipizuotus) ryšius tarp wiki puslapių, o taip pat atlikti puslapių paiešką naudojantis šiais sąryšiais. Metaduomenys laikomi XTM(XML Topic Maps) temų žemėlapyje, o puslapių struktūrai kurti naudojamas ZPT(Zope Page Templates). Projektą perkėliau iš sourceforge.net į developer.berlios.de. Nors šiandien gavau informacijos, kad sourceforge pagaliau atnaujina savo konfiguraciją ir ant jo pradės suktis Python 2.3.3 (seniau buvo 1.5.2). Taigi matyt bent demo bus galima paleisti, naudojant sourceforge resursus. Pagrindiniu berlios.de pliusiu, bent man lieka galimybė versijų kontrolei naudoti Subversion.

July 9, 2004

rekursija

Jau kurį laiką labai norių pasirašyti programą, kurios pagalba galėčiau rašyti tą pačią programą. Darbai matyt dar užtruks kurį laiką.

May 30, 2004

Hackers and Painters

Naujos Paul Graham knygos Hackers & Painters apžvalga. Kiek supratau tai toks gan komercinis "easy reading", bet jei kas gausit ar nusipirksit tai pasidalinkit ir su manimi:)

Encouraging programmers to make what writers sometimes refer to as sloppy first copies also has implications for programming languages, Graham writes. "It means that a programming language should, above all, be malleable. A programming language is for thinking of programs, not for expressing programs you've already thought of.

May 28, 2004

There is always time

Teisingas straipsnis apie tai kaip teisingai dirbti (programuotojui).

There is always time to write tests. There is always time to refactor and keep the code clean. There is always time to review and inspect and pair. There is always time to integrate frequently. Indeed, there is no time not to do these things, because these are the things that keep us going fast. These are the things that keep the weight back over the wheels rather than over the shoe. These are the things that keep our productivity high, and our code flexible and malleable.

May 21, 2004

Zope X3 3.0.0 alpha 1

Išleistas Zope X3 3.0.0 alpha 1. X - reiškia experimental - reiškia nėra backward-compatibility su Zope 2. Antras Zope man patiko tuo, kad parašytas pythonu ir tai, kad zpt yra geriau už visas mano ankščiau matytas templeitų kalbas. Visa kita didelio susižavėjimo nesukėlė. Zope 3 žada būti daug smagesnis.

May 8, 2004

Sudužę langai

Buvo atlikti tyrimai norint išsiaiškinti kodėl vieni miestų rajonai, kurie neturėjo demografinių ir ekonominių skirtumų lyginant su kitais, tapo tokiais kur ir policija bijo kišti koją. Eksperimento esmė: prabangus automobilis buvo pastatytas tokio rajono gatvėje ir stebėtas keturias dienas. Niekas neatsitiko, automobilis liko nepaliestas. Tada eksperimentatoriai išdaužė nedidelį šoninį langą ir ėmė stebėti toliau. Kažkur po keturių valandų automobilis buvo apverstas, išardytas ir padegtas. Taip atsirado "Sudaužyto lango teorija".

Pokalbis apie tai, kokią svarbą programavime turi nedidelių klaidų kode ("sudužusių langų") sutvarkymas norint neleisti joms išaugti į didelias problemas.

April 18, 2004

nemokamas C++ kompiliatorius

Microsoftas sukūrė command line toolkit'ą skirtą Visual C++ ir leidžia jį nemokamai atsisiųsti. Kad tai nebūtų Microsofto produkto reklama tai dar pora win-kompiliatorių linkų: C/C++ Borland Command-line Tools.
Na ir mano mėgstamiausias C kompiliatorius windowsams: lcc-win32.
taip pat ten guli ir Windows API dokumentacija (A must have for any serious windows programming).

April 1, 2004

NATO apribojimai

fortran.pngGalime džiaugtis, kad įstojome į NATO ir tapome saugesni. Tačiau negalime nepastebėti tos naštos kurią užkrauna NATO reikalavimai. Man kaip programuotojui aktualu tai, kad nuo šiol prekiaudami programine įranga su kitomis NATO šalimis turėsime vykdyti NATO Software Engineering konferncijoje primtus reikalavimus. Nuo šiol norėdami parduoti programinę įrangą pavyzdžiui Latvijos įmonei, turėsime gauti notaro patvirtinimą, kad ši įranga parašyta viena iš NATO aprobuotų programavimo kalbų. Deja tarp jų nėra tokių kalbų kaip Java, Python ar Perl. Abejoju ar Lietuvoje atsiras daug PL/1, Bliss ar Algol 68 programuotojų. Be to abejoju ar Lietuvoje atsiras notarų kurie atskirs Java nuo C++. Gera žinia tai galėtų būti nebent seniems Fortran programuotojams, kurie dabar praktiškai neturi darbo.

March 31, 2004

programavimas poromis

Esu klausęs XP kursą ir dėstytojas apie programavimą poromis, kalbėjo tik gerai: dalinamasi žiniomis, naujas darbuotojas greičiau įsijungia į darbą, kokybiškas kodas etc. Tačiau nenuostabu kad toks darbo būdas tinka ne kiekvienam. Kažkur skaičiau pasiūlimą turputi atitolinti vieną programuotoją nuo kito ir vienam leisti rašyti testus, o kitam rašyti kodą. Bet tai jau turbūt prieštaraus XP ideologijai?:)

Java mąstymas

Negaliu pasakyti, kad Java man nepatinka. Tačiau turiu sutikti su šiuo straipsniu, kad su Java paprastus, dažnai pasitaikančius dalykus dažniausiai tenka atlikti ne pačiu paprasčiausiu ir intuityviausiu keliu. Matyt tai yra dėl to, kad Javoje viską bandoma daryti "teisingai", o teisinga nevisada būna paprasta ir intuityvu. Perdėtas design patternų panaudojimas (jau kalbos lygyje) priveda prie to, kad ir Java programuotojai naudodami šią kalbą stengiasi pamėgdžioti tokį "teisingą" programavimo stilių. Man labiau priimtina kai paprastus dalykus galima atlikti be didelių pastangų, o laikas dokumentacijų skaitymui gaištamas tik norint gauti kažką įmantresnio.

March 28, 2004

it mados

Kiekvienas patyręs santechnikas ar elektrikas turi dėžę instrumentų, kurių pagalba galima išspręsti visas darbo problemas. Šie instrumentai dažniausiai būna nepatys naujausi ir nepačios geriausios išvaizdos, tačiau jie veikia. Ar programuotojo specialybė kuo nors skiriasi nuo aukščiau paminėtų?:) Manau, kad beveik ne... Didžiausią skirtumą matau tą, kad instrumentų kiekis yra nerealiai didelis. Visi "plaktukų" gamintojai ir jų vartotojų grupės šaukia, kad su jų įrankiu "vinį įkalsite" greičiau, patogiau ir teisingiau, be to su juo dar ir užpakalį galėsite pasikasyti. Taip atsiranda IT mados, kurios mus pastebimai ar nepastebimai įtakoja. Man kažkada irgi atrodė, kad XML'ą reikia pritaikyti visur kur tik galima, o Ant'o build.xml yra puiki idėja.

ps. Aukščiau paminėtam straipsnyje pralinksmino pastraipa:
Design pattern usage is often seen as an end in itself. Robin (intrepid co-author of this article) was once asked during a job interview: "What's your favourite design pattern?" What's the correct response to that? "Oh, Decorator every time! Yeah, I use it for everything!"

March 26, 2004

teksto redaktorius THE

Iš (emacs vs vi) fleimų kiekio, gali pasirodyti, kad daugiau nėra vertų dėmesio alternatyvų. Aš dažniausiai naudoju Emacs, bet nutariau išbandyti THE. THE, tai VM/CMS tekstų redaktoriaus XEDIT klonas. Jo Konfigūravimui naudojama Rexx programavimo kalba (kažkas labiau egzotiško nei Emacs lispas:). THE iškart turi C/C++, Cobol, HTML, make ir dar keleto kalbų syntax highlightingą. Kadangi pastaruoju metu dažniausiai programuoju Python'u, tai pasirašiau syntax highlightingą ir jam. Padariau screenshot'ą kad būtų aiškiau į ką panašus tas THE. Įdomus dalykas tai, kad THE leidžia žymėti ir kopijuoti tiek teksto eilutes tiek ir stulpelius. Kitas truputi labiau naudingas dalykas yra komanda "all /zodis" kuri leidžia rodyti tik tas teksto eilutes, kuriose pasitaiko duotas žodis. Pagrindinis THE minusas, kad jis neturi tokios vartotojų gausos kaip Emacs ar vi. Pagrindinis pliusas tas, kad jeigu jums kadanors prireiks programuoti IBM mainfreimą su VM/CMS tai tikrai nebūsite ten visai žalias:)