Posts filed under 'Software'

Jak pejsek s kocickou programovali dort

Mile deti, zil byl jednou jeden programatorsky pejsek a jedna programatorska kocicka. Jednoho dne se pejsek probudil a povida kocicce: “Napadl me recept na uzasny dort. Bude 1000x chutnejsi nez ostatni dorty a bude nejlepsi na svete.” Kocicka povida: “Tak to bychom ho meli honem naprogramovat, aby nam ho nikdo nevyfoukl.” A tak se dali do prace.

“V cem ho budeme psat?” ptal se pejsek.
“No preci v C++ s COMy. Je to dnes moderni a velky buh zviratek to podporuje,” odvetila kocicka.
Na zacatek vygenerovali spousty GUID, pro kazdy objekt jeden. “Hlavne, abychom jich meli dost pro kazdy objekt,” strachoval se pejsek. Ale kocicka generovala jako diva, takze identifikatoru bylo haba dej. Ono ostatne neni nad binarni interfacy.

“Me se nechce porad opisovat ty dlouhe deklarace trid,” stezovala si kocicka.
“Pockej, napisu ti nejaka makra preprocesoru, aby se ti lepe psalo,” nabidl se pejsek.

“Uz je to celkem veliky dort,” povida pejsek.
“Tak to bychom ho meli nejak roztridit do adresaru,” odvetila kocika a udelala pro dort adresarovou strukturu.

A co se nestalo, po nekolika mesicich prace, pejsek s kocickou udelali svuj prvni release dortu. Byl krasny, vsem se libil a vsem moc chutnal. Prilakal pozornost spousty zviratek, ktera chtela pomahat, aby dalsi dort, byl jeste chutnejsi nez ten prvni. A tak se vsichni dali do spolecne prace na novem dortu.

“Ty COMy nejsou moc dobre,” povida tucnak. “Na mem systemu nefunguji. Nebylo by lepsi dodrzovat POSIX standard, aby by dort prenositelny a nemusel stat stale na jednom miste?”
“Novy dort uz je moc veliky, na to abychom ho prenaseli. A tvuj system, tucnaku, stejne pouzivas jen ty sam,” pravili pejsek s kocickou.

“Dort je prilis pomaly. Je treba jej optimalizovat, aby bezel rychleji,” postezoval si gepard a take pejskovi s kocikou vytkl nevhodne pouzivani vlaken. Pejsek s kocikou uznali chybu a zacali optimalizovat.

Mezitim priletel papousek a spustil: “Ja nepouzivam prekladac C++, ja mam jen C a potrebuju jen C. Bylo by vhodne, aby byl dort prelozitelny jen v C. Nemuzete nas nutit do C++.” A pejsek s kocickou zmenili adresarovou strukturu projektu. Oddelili casti v C a CPP, ale vnitrni zavislost C++ na C nezmizela. To ale pridelalo spousty prace polarnimu medvedovi, ktery pracoval na jinem projektu a dort vyuzival.

Jak bezel cas, soubory se v dortu presouvaly. Tu sem. Jindy tam. Obcas nejaky zmizel. A pak se zase objevil. Ale na uplne jinem miste. Pejsek s kocickou vytvorili nekolik vrstev abstrakce, takze na jadro dortu uz nebylo lehko dohlednout.

A tak to, mile deli, pokracuje az dodnes. Pejsek s kocikou lepi kod v C++, COMu se dodnes nezbavili, s tucnakem se nekamaradi a ledni medved dostal migrenu…

2 comments červen 7, 2007

Skype 2.1 pro PocketPC

Dneska jsem preinstaloval stary skype (1.x) novym v PDAcku a jsem nadsen. Verze 2.1 uz konecne vypada k svetu. Dobra podpora pro VGA (coz nebyva zvykem), prepinani tabu doznalo zmen – opet k lepsimu, graficky take vylepsene. Sice je to porad malo konfigurovatelny, jsem holt z toho linuxu zmlsanej, ale pro BFU je to tak akorat :) A today plugin by mohl byt konfigurovatelny pri instalaci. Mam radost, ze se to vyviji tim spravnym smerem. Jen tak dal…

Ted uz jen, aby hosi otevreli protokol ;-) A svet bude pohlcen skype…

Add comment prosinec 10, 2006

Pomalu, ale jiste…

V patek jsem dodelal 6. kapitolu v disertaci. Konecne! To je nejdulezitejsi zprava. Zbytek uz jsou jen takovy podruznosti.

Zjistil jsem, ze ETS si davaji 15 pracovnich dnu na ohlaseni vysledku. Boze. Tak proc to delaji pres kompa a internet? Aspon nejaky predbezny mohli poslat. Tim je vyresena zahada, ze vysledky porad jeste nedorazily. Ajeste si za to uctuji $ 160. Fuj!

Dneska jsem krom relaxu udelal pr fixu na tManovi. Prepsal jsem otvirani menu, pridal jsem zavirani aplikace (kill procesu), pokud tato neni ukoncena do 5 sekud od poslani WM_CLOSE. Dodelany bavy pozadi a popredi. Pridana polozka pro vypnuti PDA (volitene). Pri soft-reset vyskoci nejdriv potvrzovaci dialog. A interni volbicka. Kdyz se v registrech HKCU\Software\DaProfik\tMan\ nastavi klic ShowTaskOperations na nulu, tak se nebudou ukazovat polozky Minimize, Close All, Close All But Current (je je nevyuzivam, takze volba se mi vice nez hodi).

Dneska jsem si pustil Cimrmana. To je strasny, ja uz to nemuzu poslouchat, uz to jsem schopnej spolu s nima to skoro cely odrikat.

Add comment listopad 11, 2006

Vlece se to

Cas se posledni dobou strasne vlece. Den utece jako voda. V zasade nic neudelam a uz abych sel spat, protoze jsou 3 hodiny rano. Mel bych se vic venovat disertaci, ale vazne na to nemam naladu. Vlastne nemam naladu na nic, ani programovat. Poflakuju se a zadny vysledky za mnou nejsou. Nenavidim to. Vcera jsem se ani nedostal k tomu napsat na blog :(

Vcera mi ruplo v kouli a objednal jsem si PSP. Ja vazne nemam co na praci… PSP ma pro me dve zajimavy stranky. Jednak SDK existuje pro linux. A zajimavy je ten boj Sony vs. Hackeri, kteri vymysli, jak obejit ochrany, ktery Sony implementuje do kazdy novy verze firmware. Zatim hackeri celkem slusne bojuji. Vzdy je to jen otazka casu, nez na to prijdou. Nevim, proc Sony neudela otevrenou platformu. Ceho se boji? Kdyz to srovnam s tim, jak otevrena je platforma Windows Mobile, neda se to se Sony srovnat.

Dneska jsem zjistil, ze muzu mit plnohodnotny ucet u PayPalu. KONECNE! Takze jsem asi 2 hodiny stravil nastavenim PayPalu a pridavanim tlacitek Make a Donation. Tak ted uz nic nebrani tomu, abych byl bohaty :-D Osobne me zajima jak budou reagovat lidi, kteri muj soft pouzivaji. Nechci pouzivat slova jako komunita, protoze realne zadna komunita kolem myho softu neexistuje. Ostatne okolo woken vznikaji ponekud odlisnejsi typy komunit, nez je to treba u linuxu (nerikam lepsi nebo horsi, ale jsou jineho razu – alespon takovy z toho mam pocit). Jak rikam: v prvni a posledni rade je to o lidech.

A jak tak koukam, tak z WordPressu mi vyhodili psani primo HTML. Snad to tu nekde najdu a zase povolim…

pRSSreader

Vcera v noci jsem do 3 hodin do rana programoval stub na ladeni sluzby, ktera pobezi na pozadi. Sluzba se pusti ok, zkontroluje, co se ma updatnout. Stahne to, ale pak se to zasekne a dal to nechce jet. Netusim, cim to je. Ale hned pri prvnim behu stubu jsem nasel jinou hezkou chybku (Access violation error)

Jinak jsem pres den jeste opravil par drobnosti. No beta se nam blizi…

Open source

Nainstaloval jsem si na desktop program xonclock (hodiny v plose). Ale nejak to melo problemy s nacitanim konfiguraku. Tak jsem koukl do zdrojaku, nasel chybu, opravil, poslal patch a dnes mi autor poslal mail, ze vydal novou verzi, ktera obsahuje muj patch. Tohle se ve svete priprietarniho kodu nestane. Ale nebudme naivni, opravit zasadni chybu v aplikaci, ktera ma pres 100K radku neni jednoduche. Clovek se v tom musi vrtat hodne dlouho nez neco objevi. A pokud nezije s aplikaci jako vyvojar, nema v podstate sanci cokoliv udelat. Rozhodne ne designovy zmeny. Rozsireni, pokud neni nejake rozhrani pro psani “pluginu”, take nenapise. Maximalne muze opravovat chybu typu neinicializovanych promennych. Az po velmi dlouhem case, kdy pochopi, jak to funguje, muze zacit delat vetsi zmeny a opravy.

A pri teto zmince jeste jedna moje zkusenost s Open Source. Pouzivam gajim jako IM klienta. Je to napsany v pythonu. Nic proti tomu, aplikace je to kvalitni. Na jazyku preci nezalezi, pokud to dobre a rychle funguje. Ale zkusil jsem tam dodelat podporu pro XOSD, proste aby se mi na obrazovce objevilo, ze ze prisla zprava od toho a toho. To preci neni nic tezkyho rekl jsem si a jal jsem se hledat ve zdrojaku. Nasel jsem zhruba, kde ke udalosti oznameni zpravu dochazi, ale nejak jsem nebyl schopny to tam dodelat.

Dalsi vec opet s gajimem. Dodelat pocet kontaku ve skupine v rosteru. Opet neskutecny problem. Pravda, Python ovladam malo az vubec, ale presto by clovek mel by schpopny najit, jak to funguje a najit misto, kde se skupina vklada. Ale tady asi bude problem s GTK+, ktery teda neznam vubec, takze nevim, co presne hledat :(

Takze tohle vlastne neni chyba toho, ze je program open source, ale moji nevzdelanosti. A tak rad bych pomohl, ale cas proste neni. A gajim uz je celkem rozsahla aplikace.

Stejne tak rad bych mel XOSD plugin pro audacious. Jsem schopny se to naucit a pak to napsat, ale proste na to nemam cas :(

Hudba

Clawfinger, Red Hot Chilli Peppers, Frank Sinatra, Roxette

Add comment říjen 6, 2006

Software pro Pocket PC

Dneska jsem zahlidl ve feedu freewarepocketpc.net dve aplikace – Task Manager v1.0 a RSS reader v1.0. Obe od cloveka, ktery se podepisuje jako Blade2032.

Pripomina mi to moje zacatky s Pocket PC. Kdyz jsem si PDA poridil, zacal jsem hledat v neprebernym mnozstvi freewaru utility, ktery bych mohl nainstalovat a pomohly mi pri praci. Je pravda, ze v unoru 2005 opravdu dobreho freewaru mnoho nebylo. Hodne programu bylo starych nepodporovaly VGA screen a nebo trpely nedodelky. Predstavuji si, jak takove programy vznikaji. Nekomu neco chybi, umi programovat, tak sedne a napise to. Da to ven a lidi to pouzivaji. Kdyz ma cas tak to vyviji dal, ale jak to tak byva, casu moc neni, prijde prace a vyvoj se zastavi. Na freeware nevydelate – je to spis takovy konicek.

Ja jsem takhle napsal svuj prvni soft – Birthdays, ktery je celkem popularni (okolo 5 tisic downloadu za mesic). Pak jsem potkal program, ktery se jmenoval RSS Info Pocket Feed. Byl napsan pro .NET CF v1.0. Moje PDA ma .NET framework v1.0 predinstalovan, takze no problem. Bohuzel na to, jak byl program jednoduchy, byl zalostne neschopny. Tak jsem sedl a pres vikend napsal Pocket RSS Reader. Melo to bratru 3000 radku v C++. A rikal jsem si jakou to mam super RSS ctecku. Kamos me presvedcil, at to dam ven k dispozici lidem. A tak se stalo. Najednou zacaly chodit feature requesty a ja zacal implementovat. Taky se mi ozval clovek z happyjackroad, ze si lidi pletou muj soft (!) s jejich komercnim (PocketRSS). Tak se Pocket RSS Reader prejmenoval na pRSSreader (na palmare to povazovali za dulezitejsi informaci nez jaky ma soft funkce). Ale je pravda, ze tenkrat to nic moc neumelo – udrzovalo to seznam feedu a stahovalo to XML, ktery to zobrazovalo. Tak takhle nejak zacal pRSSreader, ktery ma ve verzi 1.3.2 okolo 70 000 radku a funkci, ze by je na prstech jedny ruky nespocital.

Jak sel cas dal, zacal mi chybet task manager – proste neco na prepinani uloh, prip. na opravdove ukonceni alikace, ne jen minimalizaci. Celkem ok byl VisBar, ale nepodporoval VGA screen. Takze jsem si napsal tMana. Kupodivu to pouziva nejak moc lidi. Je to ve verzi 0.9.x, cili to jeste nic neumi a moc to nefunguje, ale i presto to lidi pouzivaji. Na spadnuti je uz verze 0.9.5, ktera bude opravovat mnoho chyb, bude asi nejrychlejsi z dosud vydanych a hlavne nejstabilnejsi. Doufam, ze se nekdy dockam verze 1.0 :)

Ale proc to vsechno pisu? Blade2023 bude nekdo jako ja pred rokem a pul. Ale myslim, ze udelal zasadni chybu, ze pouzil .NET CF 2.0. Lidi si nic takovyho moc nechteji instalovat (.NET CF v2.0 neni zatim na zadnem systemu predinstalovan). Je to jeden z duvodu, proc pisu nativni kod. Ale urcite se mu to bude psat rychleji nez me. C++ prilis zdrzuje, v C# v .NET CF 2.0 uz ma spoustu veci hotovych. Tak uvidime, jak se to bude vyvijet…

I kdyz spis nez o programovani a funkcich je to o tom, jestli clovek dokaze udrzet kod v case. Me se to zatim celkem dari. Spis narazim na problemy s casem nez na problemy technickeho razu.

Add comment září 26, 2006


Kalendář

listopad 2009
po út st čt so ne
« dub    
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Kategorie

Poslední příspěvky

Archiv

Nezařazeno

PocketPC

Software

Ze života

Statistika Blogu