20. June 2009

Šipkovač

“Z ľava sú na fotke Ferko, Jožko, Helka, Tony Cliffhanger a Mrakoplaš.”, píše autor mailu, ktorý sa vám snaží poslať svoje skvelé fotky z dovolenky.

Lenže ako pozeráte na tú fotku, tak sa pozeráte. Dvaja ľudia stoja za sebou a neviete, ktorý z nich je Tony Cliffhanger a ktorý Mrakoplaš.

Ľáhká pomoc. Stačí použiť skvelý a jednoduchý program Šipkovač. Zoberiete fotku alebo obrázok, nakreslíte šípky, pridáte popisky a uložíte. Takže výsledok môže vyzerať napríklad takto:

sipkovac-chamelon-scr

Šipkovač je k dispozícii zdarma pre Windows. Ak sa vám program páči alebo máte nejaký nápad, ako ho vylepšiť, napíšte Evke.

19. June 2009

Generovanie náhodného reťazca v Pythone

Nedávano som potreboval vygenerovať náhodný reťazec v Pythone, ktorý by pozostával výhradne z definovaných znakov. Úloha je to celkom triviálna. Riešení som našiel veľa. Každopádne toto sa mi pozdávalo najviac:

import random

key = “”.join([random.choice("1234567890") for i in range(30)])

O jeden príspevok nižšie bol vo fóre vtipný fór:

Do you know how to generate real long random string in Python?
Find a Perl file on your system and read it :)

A tento poznáte?

Perl je jediný jazyk, v ktorom kód po zašifrovaní pomocou RSA vyzerá rovnako ako predtým.

;-) Poznáte nejaký dobrý frk na iné programovacie jazyky? :)

18. June 2009

PDCAuditing.com

Nedávno som počul veľmi pekný výrok.

Kvalita nestojí nič.

Zlá kvalita stojí veľmi veľa.

Kvalita produktu, či už softvérového alebo iného, rozhodne nespadne z neba. Aspoň mne sa ešte nič také neprehodilo :-) Podporné kroky a procesy, ktoré zabezpečujú kvalitu produktu musia byť zahrnuté do vývoja priebežne.

Či už je to tvorba automatizovaných testov alebo statická analýza kódu, je nutné mať v projekte komponenty, ktoré umožňujú verifikovať kvalitu.

Na podtrhnutie dôležitosti priebežného zvyšovania kvality by som parafrázoval anglické príslovie: Apple a day keeps doctor away.

Test a day keeps bug away.

Voľný preklade: Test každý deň, postará sa ti o obživeň.

Existuje veľmi dobrý podcast pdcauditing.com, ktorý nahovoril Paul Palmes. Podcast sa dobre počúva. Paul sa venuje rôznym aspektom kvality, pričom vychádza z teórie postupného zlepšovania PDCA (Plan-Do-Check-Act – Naplánuj-Sprav-Skontroluj-Akcia).

Rôzne aspeknty kvalitárčiny, ktoré Paul spomína, sa dajú veľmi pekne aplikovať aj do oblasti softvéru. Pokiaľ by ste sa rozhodli počúvať tento podcast, rozhodne odporúčam začať od prvého dielu.

Prvý podcast nahral v roku 2005. Od roku 2007 však už nepribudli žiadne ďalšie diely. Paul Palmes je aj autorom knihy The Magic of Self-Directed Work Teams: A Case Study in Courage and Culture Change.

Viete o nejakom dobrom podcaste venujúcemu sa oblasti kvality?

17. June 2009

Vzor: Prekvapenie!

Náročný projekt. Na všetkých je kladená vysoká záťaž. Tu dostane manažér nápad, že by bolo dobré zdvihnúť motiváciu ľudí. Tak zvolá všetok pospolitý ľud z projektu. Ľud preruší debuggovanie, vystavovanie faktúr, konzultácie s klientami, prácu na dátových poliach a húfne sa prihrnie do míting rúmu.

Projektový ľud diskutuje, čo sa bude diať. Zvyšovať platy? Prepúšťať? Všetko je možné.

Vtom vstúpi sám veľký manažér a asistentka za ním nesie nejakú krabicu.

“Drahí účastníci projektu. Pracujete tvrdo a preto sme sa My Manažment rozhodli odmeniť tých najschopnejších z Vás.”, manažér vystrúha 1.5 kW americký úsmev.

Začne vyvolávať mená ľudí. Ľudia postupne chodia a berú z rúk manažmentu cetky ako USB kľúče, dáždniky, poukážku na obed v reštaurácii.

Bolo “odmenených” cca 30 ľudí z celej pospolitosti projektového ľudu, čítajúceho 100vku osôb.

Myslíte si, že sa týmto podarilo manažérovi zlepšiť atmosféru?

Nie, nepodarilo. Pretože ľudia, čo dostali USB cetky, dáždnik cetky sa cítia podvedený. Do projektu vložili hodiny svojho času, pracovali vo voľnom čase, bez nároku na preplatenie hodín, aby projekt dokončili. Cetku od manažmentu vnímajú ako lacný trik, ktorým si ich chce kúpiť.

Chlapík, čo dostal poukážku na obed pre dvoch, sa po skončení mítingu zastaví za sekretárkou a vracia jej poukážku so slovami: “Keby som prišiel za manželkou s touto poukážkou ako odmenou za všetky nadčasy a víkendy, čo som strávil na projekte, tak ma zastrelí. Zoberte si to.”

Ľudia, čo nedostali nič sa cítia dotknutý, že manažment nedokázal rozpoznať ich prácu a znechutene odchádzajú debuggovať a vymáhať nezaplatené faktúry od klientov.

Takže manažérovi sa Prekvapením podarilo dosiahnuť úplne opačnú reakciu než chcel.

Tento vzor je pekne popísaný aj v knihe Adrenaline Junkies and Template Zombies, ako vzor Surprise!

Čo dodať? “Prekvapenie!” rozhodne nie je príjemný zážitok. Preto dajte pozor na to, akým spôsobom odmeňujete ľudí vo vašom projekte. Aby Prekvapenie, nebolo Prekvapením pre vás.

16. June 2009

Vzor: Pozitívna spätná väzba

Určite ste boli na nejakom koncerte alebo folklórnom vystúpením, do ktorého musela byť zapojená osoba s nálepkou zvukár. Dobrého zvukára spoznáte tak, že o ňom počas predstavenia neviete. Zlého zvukára spoznáte jednoducho.

“Ahóój.” škríp, písk, prásk, “raz”, túúúúúúd. “Nejak to ne…” huííííííííííí, PRÁÁÁSK

Namiesto nádherného koncertu dostanú poslucháči do uší dávku zvuku, za ktorú by sa nemusela hambiť ani Trash Metalová kapela.

Tak, tomu sa hovorí pozitívna spätrná väzba.

Pozitívna spätná väzba alebo kladná spätná väzba (angl. positive feedback) je informácia získaná systémom, ktorá násobí alebo zosilňuje odchýlku od normy a pokiaľ nie je obmedzená, vedie k deštrukcii systému. – Wikipedia

Je zrejmé, že pozitívna spätná väzba vôbec nemusí byť pozitívna.

A kde v IT toto predstavuje problém?

Predstavme si situáciu, kedy riešite pád servera. Keď ho vyriešite, zistíte, že opravou prestal fungovať web mail. Keď opravíte web mail zistíte, že Járovi prestal fungovat doručovací protokol a databáza prešla pod čínsku samosprávu, tak vracia len rozsypaný čaj (花茶).

Po každom kroku si myslíte, že ste o krok bližšie k stabilite. Vlastne máte pravdu. Až na to, že tých krokov je 100x viac, než ste predpokladali.

Tento problém sa objavuje pri riešení problémov. Riešením zdanlivo triviálneho problému sa zamotáte do siete omnoho komplikovanejších problémov. Samozrejme ich vyriešite, za čo vám je odmenou ďalší level, v ktorom na vás číhajú nové netušené problémy.

Inak povedané, čím viac problémov vyriešite, tým viac problémov sa pred vami objaví. Pričom tieto problémy musíte riešiť v polovičnom čase. Pokiaľ si včas neuvedomíte, že ste v pasci, kladná spätná väzba si vyberie svoju cenu. No a vy sa po celom dni/týždni/mesiac/roku (nehodiace sa škrtnite) zvalíte bezvládny(a) na posteľ.

Ako z pozitívnej spätnej väzby preč? Jednou z možností je prerušiť prúd udalostí. Keď zvukár včas prepne na iný mikrofón, väzba zanikne. Druhou možnosťou je použiť obmedzovač rýchlosti, takže neprekročíte zvládnuteľnú rýchlosť riešenia problémov. Rýchlosť sa dá obmedziť serializáciou úloh do zoznamu TrebaUrobiť (Todo).

Používate inú techniku obmedzenia kladnej spätnej väzby?

15. June 2009

AirFly.cz

Na webe sa objavil nový blog o lietaní s motorovým padákom tzv. Powered ParaGliding. O tom, kam všade je možné letieť, ako si zistiť stav počasia. Prípadne informácie o tom, ako si zvoliť výstroj na lietanie, nájdete na stránke www.airfly.cz.

14. June 2009

Vzor: Zmena

Zmena. Všetko je inak. Čo včera platilo, dnes neplatí a zajtra nebude platiť ani to, čo platilo už 200 rokov. A rýchlosť zmien stúpa.

Čítal som skvelú knihu od Alvina ToffleraFuture Shock (Šok z budúcnosti). Kde popisoval všetky možné súčasné problémy, na ktoré dnes ľudia narážajú. Problém premršteného výberu výrobkov, problém s IT technológii a nutnosti s nimi pracovať. Ako som čítal túto knihu, nestíhal som žasnúť. Autor elegantne popisoval všetky možné problémy a ich príčiny a dôsledky v spoločnosti. Knihu som skoro jedným dychom dočítal do konca. A potom…

… potom som sa pozrel na rok kedy ju napísal.

1970.

Asi 15 minút som sedel a neveriacky hľadel na tento letopočet. Nechápal som ako niekto s takou presnosťou dokázal zachytiť problémy, ktoré otriasajú správami a novinami.

Potom som knihu prešiel ešte raz.

Väčšina vecí, ktoré Alvin Toffler odvodil bola postavená na teórii zmeny. Množstvo zmien, ktoré je nutné denne akceptovať rastie. Ľudská psychyka a spoločnosť sa však nestíha tak rýchlo adaptovať.

Ako vyzerá zmena. Má nejaký priebeh? Vzor?

Čo poviete na tento: “Keď nastne zmena alebo sa objaví nová skutočnosť”

  1. osoba reaguje negatívne a zmenu radikálne odmietne
  2. začne proti zmene bojovať, snaží sa zmenu zastrašiť a vrátiť pôvodný stav
  3. keď sa nedá zasrašiť, začne ju ignorovať
  4. keď sa nedá ignorovať, začne ju pomaly akceptovať
  5. ak zmenu akceptuje, začne hľadať jej benefity
  6. túto zmenu berie ako samozrejmosť a nedokáže si bez nej predstaviť život

Finta je v tom, že každá zmena má tento priebeh. Nedokážete preskočiť ani jeden krok. Môžete sa o to pokúsiť, ale počítajte s veľkým neúspechom. Jediné, čo môžete spraviť, je: uľahčiť týmto šiestim fázam priebeh. Uľahčením priebehu, zvyšite rýchlosť adaptácie na zmenu.

Odpor voči zmene môže byť taký silný, že sa zmena, nemusí dostať ani cez druhý bod. Bod dva môže trvať dokonca roky.

Skúste vypozorovať reakciu na zmenu u seba. Stačí nejakú menšiu zmenu. Prípadne na klientoch, keď im zavádzate nový systém.

Ešte jedna dôležitá poznámka. Aj keď urýchlite adaptačné kroky na maximum, treba si dať pozor na to, že človek dokáže absorbovať len určité množstvo zmeny v čase. Nepreháňajte to so zmenou. Všetko chce svoj čas.

13. June 2009

Google Latitude

Je zrejmé, že pomocou BTS sa dá lokalizovať mobilný telefón pomerne presne. Čo ma však zaujalo, je služba Google Latitude, ktorá túto funkciu posúva o ďalší kus ďalej smerom k social network ako Facebook.

Funguje to nasledovne. Zapnete si mobil, nainštalujete Google Maps, zapnete funkciu latitude a môžete poslať pozvánku svojím kamarátom/kam. Pozvaným príde e-mail s kúsokom Google Mapy a vyznačeným miestom, kde sa zhruba nachádzate. Pokiaľ aj váš kamarát/ka má zapnutú túto fciu, uvidíte kde sa nachádza.

Tu však celá sranda nekončí. Ako sa pohybujete nekonečným priestorom všehomíru a obmedzeným mikrosvetom vášho mobilného operátora, tak Google Latitude neustále aktualizuje vašu polohu. Ten kto vás sleduje, prípadne koho sledujete, vidí na mape vašu behajúcu fotku.

Je pravda, že určovanie polohy na základe BTS nie je úplne dokonalé a občas vás to šupne 3 kilomentre vedľa niekde do poľa. Google Maps pre mobily umožňuje napojenie na lokalizačné zariadenie Gde Proboha Su (GPS). Funkcia tam síce je, ale prepojenie s mojou 51 kanálovou modrozubou Evolve goTraxx sa mu nepodarilo.

Funkcia je trochu kontroverzná, pretože je to krok typu 1984. Na druhú stranu je to srandovná funkcia sietí typu Facebook.

12. June 2009

Maptiler.org – vlastné mapy nad Google Maps

Digitalizované mapy sú skvelá pomôcka. K dispozícii je celá plejáda služieb, ktoré umožňujú zobraziť mapu, zoomovať v nej, vyhľadávať, prípadne si pridávať vlastné body. Z tých najznámejších sú to napríklad Google Maps, Yahoo Maps, VirtualEarth, prípadne open riešenie OpenStreetMap.

Predstavte si, že máte k dispozícii klasickú papierovú mapu. Vlastne si to nepredstavujte, proste ju máte :-) A chceli by ste ju dostať do počítača a zobraziť pomocou jednej zo spomínaných služieb. Mapu zoberiete, naskenujete, rozdlaždičkujete a tešíte sa z dobre vykonanej práce.

Ako hovorí autor programu Maptiler: “Všechno jsou dlaždičky”. Práve pomocou Maptileru rozdlždičkujete mapu a výsledok sa uloží do adresára. Stačí otvoriť web prehliadač a výsledok môže vyzerať veľmi pekne.

Keby ste si nevedeli rady, s nejakým komplikovaným problémom, stačí napísať do e-mailovej skupiny Maptiler User Group. Ďalšie nápomocné zdroje nájdete na stránkach on-line pomoci.

Maptiler je k dispozícii pre Mac, Linux a Windows.

Napíšte, aké mapy ste vytvorili ;-)

11. June 2009

ZSI Web Services jednoducho a rýchlo

Ten, čo  Web Services ponzá, ten mi môže dosvedčiť, aká je to vec hrozná do XML zablúdiť.

Už pri prvých pokusoch narazí nešťastník na komplexnú problematiku namespacov, formátovania XML a iných netušených veselostí, o ktorých sa bežnému človeku našťastie ani nesníva. Ako hovorí jeden slávny celebrit: “Každé komplexné riešenie obsahuje netriviálnu imaginárnu zložku.”

Existujú kvalitné nástroje na prácu so SOAPom, napríklad SOAP UI. Pomocou tohoto nástroja si môžete vytvárať XML požiadavky na základe WSDL. Vytvárať simuláciu SOAP funkcie (mock-up), bez toho, aby ste mali k dispozícii službu poskytujúcu túto funkciou. Ďalšou veľmi dobrou vecou sú Test casy a Load testy, takže vývojár môže otestovať stabilitu svojho riešenia a automatizovať prácu.

Kde to má háčik? Človek sa stále pohybuje v XML.

Ako hovorí veľa významný bádateľ Cimrman: “Zkuste to bez drátů, Markoni!”

Čo tak skúsiť Web services bez XML?

Na pomoc si zavoláme mocný Python s rozšírením Zolera Soap Infrastructure (ZSI).

import sys
from ZSI.client import NamedParamBinding

srv = NamedParamBinding(“https://lagoon-03.atollon.com/axis2/atollon”, tracefile=sys.stdout)
response = srv.QuickLogin(server=’test’, userName=’cimrman’, password=’b6……c01′)

Ako výsledok z funkcie QuickLogin dostaneme dictionary a môžeme s ním ďalej pracovať. :)

print response['session']

Ešte dodám, že na tému Web Services a Python som našiel celkom zujímavú sériu článkov.

  • Babel fish

      Translate from:

      Translate to:

  • Where’s the fish?

  • Starfish

  • Fish for you

  • Further info

  • Badges

  • Video channel

  • Learning

    Grow your brain.
  • Tags

  • Topics

  •  

  • Comments