Letošní WebExpo se skutečně vydařilo. Rozhodně se v něm nevyskytovaly žádné fatální problémy, jejichž jsem byl svědkem minulý rok. WebExpo má oproti jiným konferencím (konkrétně můžu porovnávat se zahraničními Java konferencemi) zvláštní atmosféru. Kromě toho, že se tam můžete setkat s velkým množstvím českých "elit", je v něm i řada drobností, které potěší a pobaví. Letos mě například dostaly unikátní teasery promítané před každým blokem přednášek s fotkami a krátkým popisem přednášejících osobností se skvělou 8bitovou muzikou na pozadí.
Od začátku letošního roku pracujeme na drobných vylepšeních, které mají za cíl zlepšení uživatelské zkušenosti s našimi webovými aplikacemi. Kromě řady dalších věcí se naši UX odborníci zaměřili i na formuláře, které jsou standardní součástí většiny webů. O správném designu webových formulářů už toho bylo napsáno mnoho (viz. reference na konci článku) a v tomto článku je nechci opakovat. Jedním z požadavků, které dostali jako první byly automatické korekce zjevně špatných vstupů uživatele na místech, kde to je možné.
V nedávné době jsem se seznámil s Petrem Dvořákem z Inmite, který stojí za organizací tzv. Binary Blood Day a k této aktivitě jsem se s radostí připojil. O co se jedná? Ve zkratce jde o motivování lidí z oblasti IT k prvnímu darování krve (nebo dokonce k zápisu do registru dárců kostní dřeně). Nejbližší další termín, kdy společně na různých místech republiky darujeme krev je 9. září 2011. V případě, že byste kdokoliv váhali nad darováním krve jen z důvodu, že nevíte, jak to tam chodí, rád Vás na první darování krve v Pardubicích doprovodím.
Čtvrtý ročník ne-konference jOpenSpace se konal letos v červnu ve Vítkovicích v Krkonoších a k mé veliké lítosti tentokrát bez mé účasti. Zážitky mám tedy jen zprostředkované a musím říct, že sestava účastníků opět nezklamala - letos o to víc, protože se dostalo na novou krev a mezi geeky se objevila řada nových tváří. Vzhledem Michalově pracovní vytíženosti se tentokrát organizace ujal Filemon bývalý majitel firmy JetMinds (nyní Vendavo), za což mu patří náš dík, protože organizační stránka je vždy ta nepopulární (doufám File, že tě to neodradilo a příští rok se pátého ročníku budu moci zase zůčastnit i já).
This week I got a simple request from our customer - to count plays of videos embeded at their site. We currently support different kinds of players - from FLVs interpeted by JwPlayer, Vimeo, Czech Stream.cz to YouTube movies. The task was so simple that I (fool) made a prototype only for FireFox and estimated at most few hours for the implementation. I couldn't have been dumber ...
First attempt The first and very naive attempt was to attach click handler via jQuery (but this didn't work at all): $(document).
Pár shell skritpů jsem už napsal - jak pro Windows tak pro Linux, ale v tomto směru se považuji za naprostou lamu a to se ještě nějakou dobu nezmění. Proto jsem fascinovaně naslouchal Dierk Königovi, který na přednášce pražského CZJUGu zmiňoval použití Groovy pro psaní shell skriptů. Vyměnit jazyk proprietárního shellu, ve kterém toho moc neumím, za multiplatformní Groovy, kde jsem na výrazně pevnější půdě, se zdá jako perfektní nápad.
I guess everyone of you already know content loading mechanism used on the Twitter site. When you scroll down at the bottom of current page another content is loaded immediatelly without you clicking on any UI element. It's a very nice idea for AJAX powered listings and you'd probably take advantage of it on your own site too. I came to the same conclusion also but it seems there is no single jQuery plugin enveloping this kind of mechanism.
Polská konference GeeCON nabírá na popularitě a letos již byla s předstihem vyprodána. Možná to není takový tahák jako Google I/O, které se vyprodalo hned po 2 dnech, ale myslím, že pro Java pozitivního středoevropana je to jedna z velmi lákavých událostí roku. S kolegy z Forresta jsme na ni vyrazili již v úterý, abychom se ve středu zúčastnili University day s rozšířenými (3h) prezentacemi na konkrétní témata.
Kluci z polského JUGu mají akci perfektně zvládnutou a za celé 3 dny jsem nenašel jedinou chybičku, kterou bych jim mohl vytknout.
Nápad použít jabber jako příkazovou řádku k živému systému nás napadl asi před dvěma lety. Přestože se nám naše idea zdála velmi originální, jak se později zjistilo, nebyli jsme sami, koho podobná věc napadla. Existuje například implementace použití SSH přes Jabber protokol (JabSh) a možná by bylo možné při detailnějším hledání najít další. Co nás vůbec motivovalo o nějaké takové věci vůbec přemýšlet? Předně jsme vývojáři, kterým je příkazová řádka často bližší než sebelepší klikátka.
Aktuálně ve Forrestu revidujeme způsob vytváření dokumentace, nastavení standardů a bavíme se o tom, co a jak změnit. Motiv je jasný - nejsme spokojeni se současným stavem a v některých případech dokonce dost zásadně. Všichni známe to staré rčení "nejlepší dokumentace je zdrojový kód", které pochází kdoví odkud (tipnul bych si, že za ním stojí eXtreme Programming, ale zdroj jsem vážně nenašel) - jenže je to omyl. Správná dokumentace může mít dost zásadní vliv na výslednou použitelnost / publicitu vašeho produktu / knihovny mezi programátory.
MySql databázi používáme jako standardní řešení datové vrstvy už hodně let. Prošli jsme si už pěknou řádku verzí JDBC ovladačů, ale jedna věc mě dostala vážně do kolen. Tak se pohodlně usaďte, protože dnešní příběh bude vážně dlouhý :-)
Žil byl v jedné firmě programátor starající se malou generickou knihovnu pracující s JDBC. Jednoho krásného rána se probudil s jednou nově reportovanou issue ve svém trackeru ... ale ne, takhle by to vyprávění trvalo opravdu hodně dlouho .
Dnes proběhl další hackathon, který se zaměřil na RefactorNG plugin do NetBeans. RefactoringNG je modul pro NetBeans, který slouží k automatizované refaktorizaci kódu. Pro bližší seznámení doporučuji projít existující články na Java.cz: Úvod do RefactorNG Refaktorizace - továrna Refaktorizace - záměna metody Refaktorizace - evoluce rozhraní Plugin funguje tak, že v prostředí Netbeans můžete označit konkrétní Java zdrojáky (popř. balíky zdrojáků) a aplikovat na ně pravidla uložená v RNG souboru.
Po roce nadávání na bídnou rychlost Windows a marném downgrade z Windows Vista na Windows XP před cca rokem (které můj problém ani náhodou nevyřešilo) jsem se rozhodl nainstalovat na mém pracovním stroji Linux. Měl jsem výhodu v tom, že někteří moji kolegové už tento systém provozují a mají rozchozené všechny základní věci, které jsou pro napojení na naše firemní zdroje zapotřebí (Exchange, Samba, Jabber atd. atd.).
Výsledky měření rychlosti na ekvivalentních operacích v Linuxu, které jsem denodenně prováděl na svém pracovním laptopu s Windows byly více než lákavé.
Blíží se konec roku a s ním přichází i nálada k bilancování. Ani já nebudu výjimkou a podívám na průběh roku 2010 pro mne samotného i pro tento blog. Neodpustím si ani pár statistik, které pro mne samotného jsou velmi zajímavé a užitečné. Jsem si vědom, že pro řadu z Vás může být obsah tohoto příspěvku nezajímavý a proto cítím povinnost Vás varovat předem :-).
Rekapitulace Rok 2010 pro mě byl poměrně hektický - jak z hlediska pracovního, tak i osobního.
Zdá se mi (soudě dle mne samotného), že heslo "fail-fast" bylo a je po léta základní mantrou všech (Java?) vývojářů. Tento přístup má pro programátora pří vývoji aplikace řadu nesporných výhod:
chyby jsou detekovány rychle a je levnější je opravit příčina selhání je jasně viditelná a zdroj pádu většinou přestavuje zdroj vlastní chyby chyby nejsou zanedbávány - každá musí být opravena aby systém fungoval Díky těmto výhodám se tahle technika velmi oblíbenou a intuitivně ji nasazujeme a používáme všude.
Tento víkend proběhl první hackathon cílený na českou Java komunitu. Myšlenková podstata je převzata ze zahraničního projektu Hackergarten. Cílem našeho setkání je v rámci jednoho dne / večera vytvořit něco, co je možné kontribuovat v rámci open-source. Existují samozřejmě další pojetí hackathonu jako takového - jako zdroje dalších informací bych doporučil tyto články:
Zkušenosti s vedením skupiny Hackergarten Interview s Hamletem D'Arcy o motivech k založení Hackergarten Jakub Nešetřil: Hackathon je jako bezpečný sex.
Spellchecking provided by IntelliJ Idea is very handy for those who are not confident in written English (such as me for example ;-) ). But for non-English speaking developers it's common to use (at least) two languages simultaneously - English for writing Javadoc, method and variable names and their native language (Czech, Polish ...) for strings in UI layer. Setuping Ideas' spellchecker to validate string in multiple languages is more than handy.
Ode dneška (1. listopadu 2010) bude pro zakoupené licence IntelliJ Idey 9 k dispozici upgrade na verzi 10 zdarma. Stejně tak pokud nyní upgradujete své starší verze Idey (6, 7, 8) na devítku, dostanete upgrade na 10 také zadarmo. To značí jedinou věc - vývoj IntelliJ Idea X se blíží ke svému konci a během měsíce nebo dvou bychom se mohli dočkat finální verze. A v této verzi nás čekají skutečně zajímavé libůstky.
Minulý týden jsme se podruhé sešli na tzv. "OpenBeer" setkání v Hradci Králové. Tady bych nyní chtěl rozkrýt pozadí a myšlenky, které se za tímto druhem akce skrývají. Nebudu zakrývat, že inspirace přišla od našich severních sousedů z polského Krakowa - kde termín OpenBeer vzniknul. Motivy, které mne vedly k tomu něco podobného zavést taky u nás, jsou jednoduché. Nevím, jak vy, ale já moc příležitostí popovídat si o IT nemám.
Partial update neboli částečná aktualizace stránky (pomocí AJAXu) není technika zrovna nová. Po pravdě řečeno však stále není běžná, přestože její správné použití může velmi pozitivní dopady na celkový výkon systému a také je velmi dobře přijímána uživateli. Na otázku proč, můžeme odpovědět problematickou podporou ve frameworcích - některé se na jedné straně snaží o maximální odstínění programátorů od JavaScriptu, čímž z dané techniky dělají věc více méně magickou - jinde naopak použití vyžaduje větší než malé znalosti "