<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ondra[sej] Blog &#187; Real Life</title>
	<atom:link href="http://www.ondrejsykora.com/blog/category/real-life/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ondrejsykora.com/blog</link>
	<description></description>
	<lastBuildDate>Sun, 21 Mar 2010 13:17:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Kdo vlastně zabíjí hraní na PC?</title>
		<link>http://www.ondrejsykora.com/blog/2008/10/22/kdo-vlastne-zabiji-hrani-na-pc/</link>
		<comments>http://www.ondrejsykora.com/blog/2008/10/22/kdo-vlastne-zabiji-hrani-na-pc/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 22:20:11 +0000</pubDate>
		<dc:creator>ondrasej</dc:creator>
				<category><![CDATA[GameDev]]></category>
		<category><![CDATA[Real Life]]></category>

		<guid isPermaLink="false">http://ondra.sykorky.cz/blog/2008/10/22/kdo-vlastne-zabiji-hrani-na-pc/</guid>
		<description><![CDATA[V posledních měsících vyšlo několik opravdu zajímavých her pro PC. S dobrým nápadem, od zkušených autorů a výbornými recenzemi. Přesto si ani jednu z nich nekoupím. Aby nedošlo k nedorozumění, neplánuju si je ani stáhnout od pirátů, nebo obstarat jinak. Prostě je, přestože by mě zajímaly, nebudu hrát. O jaké hry konkrétně jde? První, známější [...]]]></description>
			<content:encoded><![CDATA[<p>V posledních měsících vyšlo několik opravdu zajímavých her pro PC. S dobrým nápadem, od zkušených autorů a výbornými recenzemi. Přesto si ani jednu z nich nekoupím. Aby nedošlo k nedorozumění,  neplánuju si je ani stáhnout od pirátů, nebo obstarat jinak. Prostě je, přestože by mě zajímaly, nebudu hrát.<br />
<span id="more-163"></span><br />
O jaké hry konkrétně jde? První, známější případ, je simulace &#8220;všeho&#8221;, tedy Spore. Druhá je nepatrně méně znamé a očekávané pokračování černobylské akce S.T.A.L.K.E.R.: Clear Sky.</p>
<p>Co mají obě hry společného? Obě jsou velmi dobře chráněné proti pirátům. Dokonce tak dobře, že je (legálně) jde nainstalovat jen třikrát. V praxi to znamená, že si člověk nesmí přeinstalovat Windows. Nesmí měnit hardware, nesmí svoji kopii půjčit sourozencům když zrovna není čas na hraní. Jinak si vyčerpá svůj čas na hru bez toho, že by aspoń trochu zahrál. Za ceny přes 1000 Kč to je trochu moc starostí. V případě Stalkera jde ochranná perverze tak daleko, že omezení na tři instalace mí i verze pro Steam, který sám o sobě zajišťuje aktivaci po Internetu. Tady mě vážně nenapadá jiné vysvětlení, než záměrné omezování uživatelů.</p>
<p>Teoreticky jde hru upiratit. Pokud pomineme, že pirátství nelegální, je pro autory hry docela užitečné. Takový pirát jednak rozšiřuje komunitu hráčů (a slouží jako motivace pro další zájemce o hru) a jednak slouží jako docela dobrá reklama. Reklama, která nemá problémy s počtem aktivací a proto o nich nikomu neřekne. Jasně, že pár lidem tu hru nahraje sám pirát, ale pár dalších si ji třeba koupí. A nebo si ji koupí známí pirátova kamaráda. A tak dále.</p>
<p>Pojďte si taky nekoupit Spore a další hry s DRM a dát tak jasný signál, že tohle nechceme. Pojďte takové hry nestahovat, ať nemají vydavatelé pocit, že to je skoro ono, jenom to chce lepší ochranu. Pojďte podporovat tvůrce, kteří aktivaci nevyžadují. Že situace není ještě úplně ztracená, ukazuje třeba i český a polský CD Projekt, jejichž Zaklínač nejen nevyžaduje aktivaci, ale pro kterého dokonce nabídli obsah nedávno vydané rozšířené edice zdarma ke stažení majitelům původní hry. Takhle má vypadat služba zákazníkům, ne je omezovat a obvińovat z krádeže (u videjí navíc obvinění vidí jenom majitelé originálu, kdo by si něco takového kopíroval s filmem?). Tak co, kdo další se přidá?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ondrejsykora.com/blog/2008/10/22/kdo-vlastne-zabiji-hrani-na-pc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Opera Mobile a Opera Mini, zkušenosti po měsíci používání</title>
		<link>http://www.ondrejsykora.com/blog/2008/08/29/opera-mobile-a-opera-mini-zkusenosti-po-mesici-pouzivani/</link>
		<comments>http://www.ondrejsykora.com/blog/2008/08/29/opera-mobile-a-opera-mini-zkusenosti-po-mesici-pouzivani/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 21:15:04 +0000</pubDate>
		<dc:creator>ondrasej</dc:creator>
				<category><![CDATA[Real Life]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://ondra.sykorky.cz/blog/2008/08/29/opera-mobile-a-opera-mini-zkusenosti-po-mesici-pouzivani/</guid>
		<description><![CDATA[O mobilní telefony a mobilní Internet se mimo běžne volání a SMS a občasné hledání v jízdních řádech moc nezajímám. Při cestách po ČR s sebou buď vozím notebook, nebo (a to většinou) jde o cesty tak krátké, že Internet nepotřebuju vůbec. Celý minulý měsic a pár dní k tomu jsem strávil v zahraničí, pouze [...]]]></description>
			<content:encoded><![CDATA[<p>O mobilní telefony a mobilní Internet se mimo běžne volání a SMS a občasné hledání v jízdních řádech moc nezajímám. Při cestách po ČR s sebou buď vozím notebook, nebo (a to většinou) jde o cesty tak krátké, že Internet nepotřebuju vůbec. Celý minulý měsic a pár dní k tomu jsem strávil v zahraničí, pouze s telefonem (Nokia 6120) a s Windows Mobile PDA. Na obou zařízeních byl nainstalovaný prohlížeč Opera. V tomto zápisku se snažím shrnout svoje zkušenosti (teda spíš připomínky), které jsem během měsíčního používáni nasbíral.<br />
<span id="more-162"></span><br />
Na začátek a pro úplnost &#8211; cílová země byla Velká Británie, mobilní operátor Three (který asi jako jediný v UK nabízí rozumný datový tarif na předplacených SIM kartách a provozuje především 3G síť). Opera Mobile byla ve verzi 8.65 (aktuální verze ve chvíli, kdy jsem odjížděl), Opera Mini byla předinstalovaná výrobcem telefonu, za její aktuálnost neručím. Později jsem ale v rámci objektivity vše ještě testoval aktuální verzi Opery Mini na SE K610i.</p>
<p>Tento zápis je hlavně seznam problémů a nedodělků, na druhou stranu nechci, aby z něj nekdo získal dojem, že mobilní Opera je nepoužitelný krám, protože to prostě není pravda. Jde o funkční a poměrně rychlý prohlížeč, ve kterém jde, více či méně pohodlně, udělat témeř vše, co v plnohodnotné verzi na PC. A to nemluvím pouze o prohlíženi statických stránek a hledání na Google. Nakonec úspěšně proběhly i složitější operace jako rezervace hotelu a letenek.</p>
<p>Tolik k pozitivním stránkam, teď ty slibované nepříjemnosti. K mému překvapení se ukázalo, že Opera Mini a Opera Mobile jsou hodně odlišné aplikace, a co je v jedné dobře zvládnuté, může v druhé představovat velký problém. Další text proto rozdělím do sekcí podle toho, o kterou verzi jde.</p>
<h3>Společné neduhy</h3>
<h4>Načítaní obrázků</h4>
<p>Příjemnou vlastností obou mobilních Oper je, že lze vypnout nahrávání obrázků, aby se stránky načítaly rozumně rychle i s pomalejším připojením. I když jde o standardní vlastnost, přítomnou ve všech prohlížečích, na mobilech ji považuji za obzvlášť důležitou, protože rychlé mobilní připojení stále není standardem ani ve vyspělejších zemích. O cenách za kilobyte nemluvě.<br />
Většinu času jsem pracoval bez načítání obrázků, nicméně ve výjimečných případech to bez nich prostě nejde (captcha, fotky při rezervaci ubytování, mapy, &#8230;). Proto mě dost překvapilo, že načítáni jde zapnout/vypnout jen globálně pro celou aplikaci (a ne například pouze pro jedno okno ve verzi Mobile). Zároveń chybí funkce &#8220;načíst obrázky na aktuální stránce&#8221;, kterou je nutné emulovat zapnutím načítání v Settings, reloadem stránky, a následným vypnutím načítání. Implementace takove funkce je triviální a výrazně by zvýšila uživatelský komfort.</p>
<h4>Rozložení stránky vzhledem k velikosti displeje</h4>
<p>Hodně stránek není vytvořených korektně podle webových standardů. A i ty co jsou, často nepočítají se zobrazením na miniaturních displejích mobilů a PDA. Obvykle to nepředstavuje vážný problém, ale například použití frame pevné šířky může znamenat problém, protože celou plochu obrazovky zabere navigační menu, zatímco na užitečná data zbývá jeden řádek textu.<br />
Ideální řešení by asi bylo použít virtuálni obrazovku určité &#8220;běžné&#8221; velikosti (např. 800&#215;600) pro výpočet velikosti prvků stránky, a nepočítat podle velikosti obrazovky telefonu nebo PDA.</p>
<h3>Opera Mini</h3>
<p>Jde o J2ME aplikaci optimalizovanou pro mobilní telefony. Překvapivě je hodně svižná a ani na stránkách využívajících JavaScript s ní nebyly zásadní problémy.</p>
<h4>Pohyb kurzoru</h4>
<p>Opera dobře zvládá reagovat na pohyb kurzoru (hover, JavaScriptové handlery), tady problém není. Problém je, že kurzor je vždy cca ve středu zorného pole. To ale znamená, že pokud se nějaka informace zobrazí při zastavení kurzoru nad určitým prvkem na stránce (tooltipy, vysvětlivky, &#8230;) a není viditelná celá, tak si ji neprečtete. Při posunu výhledu se totiž posune i kurzor. V tu chvíli ale přestane být na tom jediném správném místě a informace opět zmizí, nebo ji nahradí jiná.<br />
Částečné řešení je ve vhodnou chvíli vypnout podporu JavaScriptu (globální volba, stejně jako u načítání obrázků), přečíst si kýžený text, a pak JS opět zapnout. Komfort opět veškerý žádný.</p>
<h4>Podpora více oken</h4>
<p>Prestože Opera dokáže otevřít pop-up okna nezávisle na zdrojovém, človek nic takového udělat nemůže. Přitom právě možnost mít více oken současně je klíčová třeba při hledání dopravy, hotelu a dalších činnostech, kde se porovnávají různé nabídky a možnosti. Nutná funkčnost v Opeře očividně implementovaná je (viz pop-up okna), proto nechápu, proč není možné používat více než jedno okno v jeden okamžik.<br />
Částečne je možné tuto funkci &#8220;simulovat&#8221; pomocí záložek nebo ukládáni stránek do paměti, ale ani jedna možnost není zcela funkční a přináší s sebou řadu problémů, především u aplikaci s formuláři.</p>
<h3>Opera Mobile</h3>
<p>Jak název napovídá, jde o verzi pro Windows Mobile (resp. Pocket PC). Původně jsem očekával, že půjde o výrazně vyspělejší aplikaci, než je Javová verze, ale skutečnost mě mnohdy dost překvapila.</p>
<h4>Ukládání stránek</h4>
<p>Z neznámého důvodu není možné uložit stránku &#8220;na disk&#8221;. Nevím proč a neumím si to nijak vysvětlit, protože to zvládá i verze Mini.</p>
<h4>Zavírání oken</h4>
<p>Tlačítko pro zavření okna je hned nad horním tlačítkem vertikálního scrollbaru. A neptá se na potvrzení. No a zkuste se do toho scrollbaru strefit stylusem&#8230; Za jízdy autobusem&#8230; Po křivých anglických silničkách&#8230; Máte? Dodávám, že jsem se občas ukliknul, i když jsem seděl v klidu na posteli. Což dost naštve, zvlášť když človek scrolluje, aby zkontroloval pracně vyplněný formulář.<br />
Co by pomohlo &#8211; buď nechat zavíráni oken jen v kontextovém menu okna (kde prozměnu tato funkce chybí), nebo před zavřením okna požadovat potvrzení. A nejlépe obojí.</p>
<h3>Závěrem</h3>
<p>Protože v příspěvku píšu hlavně o nedostatcích, musím ještě jednou zdůraznit, že se jedná o funkční a ve většině případů dobře použitelný software, který je stále výrazně lepší, než konkurence (různé OEM prohlížeče v telefonech a Pocket Internet Explorer). A to jak v komfortu, tak v množství funkcí. Navíc se pro PDA chystá výrazně inovovaná verze 9.5, u které už snad většina uvedených výtek nebude platit. Uvidíme &#8211; zatím budu vše z povzdáli sledovat a v pravou chvili se do věci vložím.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ondrejsykora.com/blog/2008/08/29/opera-mobile-a-opera-mini-zkusenosti-po-mesici-pouzivani/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Excalibur vstává z mrtvých (už zase?)</title>
		<link>http://www.ondrejsykora.com/blog/2008/05/28/excalibur-vstava-z-mrtvych-uz-zase/</link>
		<comments>http://www.ondrejsykora.com/blog/2008/05/28/excalibur-vstava-z-mrtvych-uz-zase/#comments</comments>
		<pubDate>Wed, 28 May 2008 18:26:14 +0000</pubDate>
		<dc:creator>ondrasej</dc:creator>
				<category><![CDATA[GameDev]]></category>
		<category><![CDATA[Real Life]]></category>

		<guid isPermaLink="false">http://ondra.sykorky.cz/blog/2008/05/28/excalibur-vstava-z-mrtvych-uz-zase/</guid>
		<description><![CDATA[Posledních pár týdnů žije český Internet &#8211; nebo alespoń jeho malá část &#8211; snahou o oživení herního časopisu Excalibur. Ve své době šlo o legendu a zároveń první časopis v ČR, který se věnoval počítačovým hrám jako hlavnímu tématu. Po založení časopisu Score (a odchodu většiny redakce) jeho sláva postupně upadala, až upadla úplně. Včetně [...]]]></description>
			<content:encoded><![CDATA[<p>Posledních pár týdnů žije český Internet &#8211; nebo alespoń jeho malá část &#8211; snahou o oživení herního časopisu Excalibur. Ve své době šlo o legendu a zároveń první časopis v ČR, který se věnoval počítačovým hrám jako hlavnímu tématu. Po založení časopisu Score (a odchodu většiny redakce) jeho sláva postupně upadala, až upadla úplně. Včetně časopisu. Martin Ludvík (-ml-), vydavatel časopisu, se několikrát pokoušel o oživení časopisu a využití značky, pokaždé ale bez valného úspěchu.<br />
<span id="more-160"></span><br />
Nejnovější pokus probíhá právě teď. Zajímavé na něm je, že můžeme ve Web 2.0 duchu sledovat pokrok k prvnímu číslu online, skoro v reálném čase, na <a href="http://excaliburblog.cz/">Blogu pro obnovu vydávání legendárního časopisu počítačových her</a>. No nevím jak na vás, ale na mě blog působí spíš rozpačitě&#8230; po přečtení vyznívá v duchu <i>&#8220;nový Excalibur bude skvělý, zábavný a přitom poučný a bude se v něm o hrách psát úplně jinak, než v konkurenčních časopisech. Tak a teď mi [čtenáři] řekněte, co a jak do něj vlastně máme psát.&#8221;</i> Tak si říkám, jestli -ml- má vůbec nějaký plán, jak časopis koncipovat a dál rozvíjet.</p>
<p>V tomhle dojmu mě utvrzuje i drobná poznámka na konci <a href="http://www.vreco.cz/2008/04/martin-ludvik-chce-ozivit-excalibur-po-kolikate-uz/">Vrecova zápisku na stejné téma</a>, že před časem se to -ml- pokoušel vytáhnout z konkurence. Na jednu stranu obdivuju jeho výdrž a odhodlání, ale pokud má Excalibur dotáhnout do úspěšného konce, je potřeba především silná vlastní vize, ne sbírat moudrosti z komentářů na Internetu&#8230;</p>
<p>To ale neznamená, že bych jeho snaze nefandil. Už jenom proto, že -ml- v Excalibur očividně opravdu hodně věří. A taky proto, že situace na trhu českých herních časopisů je, mírně řečeno, strnulá. A proto, že před časem jsem s nostalgií pomalu na Aukru dával dohromady první ročníky Excaliburu a Score a vzpomínal na ty krásné časy <img src='http://www.ondrejsykora.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ondrejsykora.com/blog/2008/05/28/excalibur-vstava-z-mrtvych-uz-zase/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Obhajoba projektu Guido</title>
		<link>http://www.ondrejsykora.com/blog/2006/10/01/obhajoba-projektu-guido/</link>
		<comments>http://www.ondrejsykora.com/blog/2006/10/01/obhajoba-projektu-guido/#comments</comments>
		<pubDate>Sun, 01 Oct 2006 11:07:02 +0000</pubDate>
		<dc:creator>ondrasej</dc:creator>
				<category><![CDATA[Real Life]]></category>

		<guid isPermaLink="false">http://ondra.sykorky.cz/blog/2006/10/01/obhajoba-projektu-guido/</guid>
		<description><![CDATA[Po dlouhých dvou letech práce jsme konečně odevzdali softwarový projekt Guido a úspěšně obhájili. Pokusím se sepsat své dojmy z práce na projektu a ponaučení, která jsem si z něj odnesl. O projektu Guido byl na poměry softwarových projektů na MFF poměrně neobvyklý tím, že se jednalo o projekt náročnější hlavně z teoretického hlediska. Konkrétně [...]]]></description>
			<content:encoded><![CDATA[<p>Po dlouhých dvou letech práce jsme konečně odevzdali softwarový projekt <a href="http://ondra.sykorky.cz/projects/guido/">Guido</a> a úspěšně obhájili. Pokusím se sepsat své dojmy z práce na projektu a ponaučení, která jsem si z něj odnesl.<br />
<span id="more-154"></span></p>
<h2>O projektu</h2>
<p>Guido byl na poměry softwarových projektů na MFF poměrně neobvyklý tím, že se jednalo o projekt náročnější hlavně z teoretického hlediska. Konkrétně šlo o implementaci relativně nové teorie z oboru umělé inteligence založené na práci s pravděpodobností. To s sebou přináší několik vlastností, se kterými je dobré počítat předem (my jsme si je ze začátku neuvědomovali úplně do důsledků)</p>
<ul>
<li><strong>Množství kódu v takovém projektu je ve srovnání s jinými malé.</strong> Pro nezůčastněného člověka to může znamenat, že jste na takovém projektu odvedli málo práce. Vy víte, že to není pravda, bohužel čas strávený studiem a optimalizacemi se na výsledku projeví jen nepřímo.</li>
<li><strong>Je možné, že komise a oponent projekt nepochopí</strong> a nebude ho chtít nechat obhájit. To se nám (alespoń z té druhé části) nestalo.</li>
<li><strong>Vývoj takového projektu se těžko odhaduje dopředu.</strong> Nevíte, kdy narazíte na zádrhel, který vás zdrží nebo donutí část projektu přepracovat.</li>
</ul>
<p>Na druhou stranu je nutné dodat, že takový projekt pravděpodobně nebude jenom o datlování kódu v co největším množství, ale půjde hlavně o experimentování, hledání nových postupů a optimalizace těch starých. Tím se projekt stává zajímavější a můžou se tím vyvážit i výše uvedené nepříjemnosti. Možná Vás i bude bavit <img src='http://www.ondrejsykora.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h2>O týmu</h2>
<p>Tým jsme sestavili ještě před začátkem projektu, náš cíl byl co nejmenší tým (a z toho plynoucí menší projekt a jednodušší organizace práce), dohromady tedy čtyři řešitelé (přesněji tři řešitelé, jedna řešitelka a vedoucí). Všichni jsme se znali předem alespoń od vidění z přednášek o umělé inteligenci a díky tomu jsme minimálně vzájemně tušili, co je kdo zač.</p>
<p>V mnoha soupisech zkušeností z obhájených projektů se píše &quot;neberte do týmu své přátele, protože po dokončení projektu už to přátelé nebudou.&quot; Myslím, že takové doporučení není úplně správné, v kažédm případě byste měli <em>předem</em> vědět, s kým budete pracovat, protože se svými kolegy s projektu budete muset vydržet rok nebo dva a šance na změnu jsou (zvlášť ve chvíli, kdy je větší část projektu hotová) mizivé.</p>
<p>Je dobré si předem zjistit, kdo z týmu se chystá odjet studovat do zahraničí, kdy a na jak dlouho. Půlka našeho týmu po roce vycestovala na rok do Amsterdamu, naštěstí ale oba ve stejný čas do stejného města, proto jsme mohli pokračovat v práci jenom s drobnou změnou v dělení práce.</p>
<h2>O vývoji</h2>
<p>Stejně jako zadání nepatřilo mezi úplně typická, tak ani vývoj neprobíhal tak, jak je u softwarových projektů obvyklé. Alespoń podle zkušeností z obhájených projektů jsem pochopil, že práce na projektu se obvykle v úvodní fázi rozdělí do několika částí podle počtu účastníků a ti pak samostatně pracují na svých částech a jen čas od času se sejdou, aby probrali noviky a určili směr dalšího vývoje.</p>
<p>To v případě Guida nebylo úplně možné, protože ani po začátku vývoje nebylo úplně jasné jaká bude náročnost jednotlivých částí projektu. Navíc se nám před zahájením projektu dostala do ruky kniha <em>Extrémní programování</em> od Kenta Becka. Popisované výhody některých postupů byly natolik inspirativní, že jsme se rozhodli je adaptovat.</p>
<p>Základem bylo <strong>párové programování</strong>, které se nám dařilo udržet téměř po celou dobu vývoje (a to i ve chvíli, kdy polovina týmu odjela za Erasmem do Amsterdamu). Díky tomu odpadla nutnost pravidelných týmových schůzek, protože při vývoji byl obvykle celý tým pohromadě v labu a díky tomu jsme mohli sdílet informace a klást dotazy hned na místě, stačilo jen otočit hlavu. Alespoń z části jsme dodrželi pravidlo o sřídání vývojářů na kódu tak, aby pravidelně procházel (implicitně) revizemi i od dalších vývojářů.</p>
<p>Vývoj tímto způsobem sice probíhá na pohled o něco pomaleji, ale na druhou stranu si myslím, že výskyt chyb v kódu a rychlost jejich odstrańování byly proti individuálnímu vývoji nesrovnatelné.</p>
<p>Díky způsobu vývoje odpadla i nutnost explicitně stanovit vedoucího týmu, protože tým byl v době vývoje celý na jednom místě, bylo možné důležitá rozhodnutí dělat okamžitě a velice efektivně.</p>
<p>Pro vývoj libovolného projektu je vhodné používat systém pro <strong>správu verzí</strong>, u týmových projektů se jedná o věc naprosto nutnou. My jsme díky nezkušenosti použili CVS, které zvlášť pro projekty v Javě vřele nedoporučujeme, jeho věk je na něm dost znát. Ale libovolný systém je lepší než žádný a nakonec jsme se rozhodli, že si nebudeme přidělávat starosti s přenášením repository na jinam a doklepali jsme to s ním až do konce.</p>
<p>Užitečnou pomůckou při vývoji byly <strong>automatické (unit) testy</strong>, které díky povaze projektu bylo možné aplikovat ve skutečně velké míře. Testované byly prakticky všechny třídy s výjimkou GUI, kde automatické testování není tak jednoduché a účinné. Možnost kdykoliv kompletně otestovat kód je k nezaplacení &#8211; a navíc nám díky testům množství kódu dost narostlo <img src='http://www.ondrejsykora.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Spolu s automatickými testy jsme zavedli pravidlo, že <strong>projekt v CVS musí být vždy kompilovatelný a všechny testy musí na kódu z CVS uspět</strong> (a které jsme dokonce až na pár výjimek dodrželi). To opět velkou měrou přispělo k soudržnosti a nízké chybovosti našeho kódu, protože každý člen týmu měl možnost po celou dobu vývoje testovat projekt jako kompletní aplikaci a každý se radší zamyslel, než něco commitoval do CVS.</p>
<p>Další absolutní nutností je buď <strong>e-mailová konference s vyhledáváním</strong>, nebo <strong>vlastní diskusní fórum</strong>. Obojí je poměrně jednoduché zařídit a vždy se vyplatí mít někde archiv všekeré důležité komunikace ohledně produktu. Osobně dávám přednost diskusnímu fóru, které umožńuje lepší organizaci diskusních threadů, jejich další třídění do kategorií a případně i další finesy (například aktuální TODO list vyvěšený na titulní straně).</p>
<h2>O závěrečném týdnu</h2>
<p>Asi u všech softwarových projektů začne pracovní tempo měsíc až dva před odevzdáním rapidně stoupat, s vyvrcholením v posledním týdnu. Je dobré počítat s tím, že v tomto týdnu už nestihnete nic nového naprogramovat, protože budete číst a přepisovat dokumentaci, zajišťovat její tisk, vyrábět instalační CD a do toho opravovat poslední bugy, které se najednou začnou projevovat v nečekané míře.</p>
<p>Pro poslední týden nebo dva je vhodné si udělat TODO list včetně priorit a věnovat se jenom položkám s nejvyšší prioritou (a těm, které můžete dokončit hodně rychle). Nemá smysl se pouštět do úkolů, které zaberou více jak den, pokud nejsou pro odevzdání naproso nepostradatelné. Byl by problém je dokončit a otestovat v rámci celé aplikace, a nestabilní nebo neotestovaná odevzdaná verze určitě není něco co byste chtěli.</p>
<p>Hned po odevzdání je dobré si zjistit, kdo bude projekt oponovat a nabídnout mu předvedení projektu. Oponent bude mít lepší pocit a vy budete poměrně rychle vědět, jak si s projektem stojíte a co můžete čekat na obhajobě. Navíc to je šance, jak si vyslechnout nepříjemné připomínky k projektu ještě před obhajobou a případně je do té doby vyřešit.</p>
<h2>O dokumentaci</h2>
<p>Dokumentace se odevzdává jednak uživatelská a jednak programátorská. K uživatelské není asi co dodat, snad jen že by měla popisovat skutečně všechny funkce, protože co není v dokumentaci, o tom se nikdo nedozví. Nevím, jaká je situace u jiných projektů, ale v tom našem se uživatelské rozhraní stabilizovalo až ke konci a předtím jaksi nebylo uživatelskou dokumentaci o čem psát.</p>
<p>Programátorskou dokumentaci je možné rozložit do dvou částí &#8211; na jedné straně komentáře v kódu (JavaDoc, resp. Doxygen) a na druhé dokumentace psaná jako souvislý text, která popisuje kód z nadhledu a usnadńuje orientaci. Obě části mají svoje místo a ani jedna nemůže úplně nahradit tu druhou. A obě je dobré psát hned od začátku. Opět se vyplatí pravidlo, že <strong>nekomentovaný kód do CVS nesmí</strong>, které jsme bohužel zas tolik nedoržovali.</p>
<p>Při psaní JavaDoc komentářů je dobré už od začátku dbát na kvalitu a výmluvnost, pokud je u funkce <span style="font-family:monospace">setScale</span> popisek <em>Sets scale</em>, tak to asi nikomu nepomůže. Je vhodné se při psaní inspirovat strukturou a způsobem vyjadřování v dokumentaci k JDK (resp. inspirovat se MSDN).</p>
<p>K tisku jsme měli připravených cca 50 stran povídací programátorské dokumentace, do které jsme chtěli doplnit JavaDoc dokumentaci důležitých tříd (převedenou pomocí Doxygenu do latex formátu). Nechali jsme to na poslední večer před tiskem s tím, že vygenerované soubory jednoduše upravíme a přiložime. Co k tomu říct&#8230; po shlédnutí vygenerovaných souborů bylo jasné, že neupravíme a přiložíme jen v html podobě na odevzdaném CD. <strong>Proto bych rád upozornil všechny, kteří počítají s tím, že poslední den vygenerují programátorskou dokumentaci z komentářů v kódu, aby si to raději napřed vyzkoušeli a pak počítali ještě jednou.</strong></p>
<h2>O prezentaci</h2>
<p>K prezentaci je nejdůležitejší vědět, že 30 minut včetně proslovu oponenta, vedoucí a diskuse je strašně krátká doba. Je dobré počítat s tím, že na proslovy a diskusi minimálně 10 minut padne, proto je lepší prezentaci plánovat na 15 minut (s tím, že před komisí se vaše prezentace možná mírně protáhne).</p>
<p><strong>Cílem prezentace není předvést všechna okna v projektu a kompletně popsat jeho API</strong>, ale ukázat, co jste vlastně udělali a čím to je zajímavé, na technické detaily je programátorská dokumentace. <strong>Cílem je porotu zaujmout</strong> a přesvědčit ji, že váš projekt je super, ne ji ze začátku uspat a doufat, že se jí bude zdát něco pěkného a nechá projekt obhájit.</p>
<p>Před odevzdáním projektu si zajděte alespoń na jedny obhajoby a sledujte, co týmy při prezentaci dělají a jak na to komise reaguje, snažte se pochytit, co se komisi nelíbilo, proč a takového jednání se při vlastní prezentaci vyvarovat.</p>
<p>Také se zkuste předem zamyslet nad tím, na jaké dotazy by se vás komise a ostatní účastníci obhajob mohli ptát a připravte si na tyhle dotazy odpovědi. Schopnost pohotově odpovědět určitě udělá na všechny dobrý dojem.</p>
<h2>O projektech obecně</h2>
<p>Softwarový projekt pro mě byl zajímavá zkušenost,ale myslím si, že svůj hlavní cíl &#8211; totiž naučit studenty týmové práci na větším softwarovém díle neplní. O tom, jak (ne)má probíhat vývoj projektu ve více lidech jsem se během několika měsíců zaměstnání v nejmenované softwarové firmě dozvěděl mnohem víc. Na druhou stranu práce na projektu dobře posloužila pro vyzkoušení si některých extrémních programovacích praktik a praktické ověření jejich oprávněnosti.</p>
<p>Souvisejícím problémem projektů je, že <strong>zajímavé a bohaté na zkušenosti jsou maximální první dva měsíce a potom až poslední měsíc</strong> (první dva jsou pro ty, kteří ještě nic podobného nedělali a v posledním se naučí se pracovat ve stresu a organizovat si práci podle priorit a zbývajícího času). Zbylý čas se jen datluje kód s vyjímečně nízkou bodovou dotací, aby se splnily požadavky na velikost díla, ale nic nového tím nezískává. Čas, který to zabere by šel strávit mnohem lepším způsobem na jiných přednáškách, nebo praxí v nějaké firmě, která je jednak poučnější a jednak mnohem lépe ohodnocená.</p>
<p>Dost často u projektů totiž chybí vedení, který by tým směrovalo ke správným postupům a díky kterému by týmy nemusely hledat vhodná řešení organizace práce metodou pokus-omyl. A z obhajob různých minulých projektů jsem míval pocit, že některé týmu zůstaly u omylu až do úplného konce.</p>
<p>Pokud by projekt měl skutečně sloužit k výuce týmové práce, myslím, že by bohatě stačilo, kdyby se na něm pracovalo jen jeden semestr, ale o něco intenzivněji a pod větším dohledem ze strany lektorů (vedoucích projektů), kteří by byli schopni do projektů zasahovat a včas upozorńovali na chyby. To se v současném systému neděje a stává se, že první skutečnou zpětnou vazbu tým dostane až při obhajobě &#8211; a to není to nejlepší místo na zjištění, že něco je špatně. Pak je jasné, že není něco špatně jen v projektu, ale v celém systému, který nechá takový projekt rok nebo dva bez zásahu probíhat.</p>
<p>Druhou možností jsou softwarové projekty zadávané firmami, za které by byli studenti placeni a měli tak alespoń nějakou motivaci k tomu, aby se věnovali i těm méně zajímavým aspektům projektu. O zpětné vazbě zadavatele, kterému skutečně záleží na výsledku ani nemluvě.</p>
<h2>Závěrem</h2>
<p>Nemyslím si, že by softwarové projekty byly zbytečné a nebo že by se měly rušit, na druhou stranu jejich současná koncepce vede k velkému plýtvání časem řešitelů, a že by lépe motivovaný (finančně/bodově/&#8230;), nebo kratší &#8211; ale o to intenzivnější &#8211; zážitek pro budoucí praxi posloužil mnohem lépe.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ondrejsykora.com/blog/2006/10/01/obhajoba-projektu-guido/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Game Developers Session 2006</title>
		<link>http://www.ondrejsykora.com/blog/2006/05/02/game-developers-session-2006/</link>
		<comments>http://www.ondrejsykora.com/blog/2006/05/02/game-developers-session-2006/#comments</comments>
		<pubDate>Mon, 01 May 2006 22:36:47 +0000</pubDate>
		<dc:creator>ondrasej</dc:creator>
				<category><![CDATA[GameDev]]></category>
		<category><![CDATA[Real Life]]></category>

		<guid isPermaLink="false">http://ondra.sykorky.cz/blog/2006/05/02/game-developers-session-2006/</guid>
		<description><![CDATA[Ve dnech 28.-30. dubna se v Brněnském Kulturním domě Rubín konalo čtvrté pokračování již tradičního setkání českých a slovenských (zejména nezávislých) herních vývojářů. Na takovéto akci samozřejmě nesměl chybět ani zástupce z Trion teamu. Týden před konáním akce mě vypekl týmový kolega Peregrine, který se na poslední chvíli rozhodl, že nepojede (pro Peregrina: ano, pořád [...]]]></description>
			<content:encoded><![CDATA[<p>Ve dnech 28.-30. dubna se v Brněnském Kulturním domě Rubín konalo čtvrté pokračování již tradičního setkání českých a slovenských (zejména nezávislých) herních vývojářů. Na takovéto akci samozřejmě nesměl chybět ani zástupce z <a href="http://trionteam.net">Trion teamu</a>.<br />
<span id="more-149"></span><br />
Týden před konáním akce mě vypekl týmový kolega Peregrine, který se na poslední chvíli rozhodl, že nepojede (pro Peregrina: <em>ano, pořád jsem naštvanej</em>) &#8211; díky tomu jsem musel přehodnotit svoje plány co se týká dopravy a ubytování a všechno zařizovat na poslední chvíli. Situaci naštěstí zachránily Eurolines a ubytovna Pozemstav (je zajímavé, že zatímco Zlosynusovi na mail odpověděli, že už mají plno, mě se den poté podařilo přes telefon ubytování objednat a měl jsem dvoulůžkový pokoj sám pro sebe).</p>
<p>Po poněkud chudším lonském ročníku se letos naštěstí podařilo sehnat dostatek peněz od sponzorů a to se znatelně odrazilo na materiálním zajištění akce (čti <em>zdarma byly nejen kola a bagety, ale i chipsy a nealko na baru:)).</em> Drobnost, ale potěší.</p>
<p>Organizátoři začátkem roku operovali i s finančními odměnami přednášejícím, což by mělo na akci přivést odborníky a zkušené přednášející a ve výsledku vést ke zvýšení kvality přednášek, jestli k odměńování skutečně došlo ale nevím. Osobně jsem měl dojem, že se proti lońskému roku kvalita přednášek spíš snížila. V žádném případě nechci zpochybńovat odbornost přednášejících, přednes některých z nich ale kritiku zaslouží v každém případě. To, že přednášející svůj příspěvek předčítá v sedě monotonním hlasem z papíru je pro mě až neuvěřitelné. Dalším a častějším nešvarem bylo nadužívání cizích slov, zvlášť v přednášce o dvou pohledech na level design to působilo dost komicky (aspoń se tím vyvážil nestravitelný přednes přednášejícího, který svůj příspěvek pravděpodobně na pódiu viděl poprvé); díky zvláštnímu a těžko zaměnitelnému způsobu vyjadřování si dokonce jeden z přednášejících hned v prvních pár minutách vysloužil přezdívku <em>Aštar Šeran</em>.</p>
<p>To, že většina přednášejících neměla zkušenosti s vystupováním před publikem a jejich hlasový projev tomu odpovídal je na akci tohoto typu pochopitelné, hůř pochopitelné a odpustitelné ale byly místy velké mezery v přípravě přednášejících. Že by prezentované aplikace měly být na promítací počítač nainstalovány předem považuji za samozřejmost, vhodné by bylo předem připravit i všechny příklady a při prezentaci je jen spouštět &#8211; pokud není hlavním tématem práce ve vývojovém prostředí, tak psaní kódu během prezentace zdržuje a odvádí pozornost od řešeného problému. Navíc tak můžou vzniknout nečekané problémy, které dost kazí celkový dojem z prezentace (zdravím Rezńu a jeho jinak zajímavou přednášku o SOAPu). Mělo by platit i to, že všechno, co chce přednášející předvést by mělo být připravené na slajdech, a na nich jen upozorńovat na důležitá místa. Pokud budou po skončení akce předváděné příklady ke stažení, posluchači o nic nepřijdou a z přednášky vypadnou hluchá místa.</p>
<p>Na znalosti přednášejících si ale v žádném případě stěžovat nešlo (jen mi nesedí to, že <em>zvířata si hrají jen tak bez nějakého dalšího účelu</em>, to podle mě fakt je nesmysl), jen mě mrzí, že na některých z těch lépe hodnocených přednášek jsem nebyl a ta nejočekávanější se vůbec nekonala, tak za rok snad.. <img src='http://www.ondrejsykora.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ale což, cesta Brnem pro Memova pravopisná pravidla za to stála.</p>
<p>Nejdůležitější na GDS stejně je sociální interakce vývojářů v Brněnských restauračních zařízení, tomu byly věnované oba večery, noci a rána, ale i celý nedělní program. Díky tomu se mi podařilo aspoń částečně nahlédnout do tajů univerza Mathery od Aštara (jmenuje se sice Jirka, ale tak mu už české hry asi říkat nikdy nebudou) a po dlouhé době si zahrát Jungle speed ve víc lidech.</p>
<p>Sociální interakce v hospodě letos nově nahradila nedělní workshopové dopoledne. Na jednu stranu bylo dobré, že všichni seděli v jednom sále u svojich sklenek a mohli se volně pohybovat a bavit, na druhou stranu je mi klasického (organizovaného) pojetí workshopů trochu líto: workshopy umožńovaly řešit konkrétní problémy, výhodou bylo i to, že na ně obvykle přišlo menší množství lidí, takže problém bylo možné řešit odbornou diskusí všech účastníků. Při klasickém pojetí měl (aspoń podle mého názoru) vedoucí workshopu i jeho potenciální účastníci předem čas na přípravu, čímž se kvalita dostala do jiné roviny, než při neplánované diskusi. A kromě toho přiznávám, že restaurace, kde se nedělní část konala, a její obsluha mi nesedly a doufám, že příště snad půjdeme jinam.</p>
<p>Co říci závěrem? Že se akce vydařila a splnila všechna očekávání, některá dokonce předčila. Staré známé jsem potkal, poznal několik nových a konečně osobně poznal další lidi, které jinak znám jen jako nick z IRC, pivo i kofola tekly proudem a atmosféra jiskřila nápady a dobrou náladou. Už se těším na rok 2007.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ondrejsykora.com/blog/2006/05/02/game-developers-session-2006/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Matrix: Reloaded 2006</title>
		<link>http://www.ondrejsykora.com/blog/2006/04/09/matrix-reloaded-2006/</link>
		<comments>http://www.ondrejsykora.com/blog/2006/04/09/matrix-reloaded-2006/#comments</comments>
		<pubDate>Sun, 09 Apr 2006 21:15:43 +0000</pubDate>
		<dc:creator>ondrasej</dc:creator>
				<category><![CDATA[Real Life]]></category>

		<guid isPermaLink="false">http://ondra.sykorky.cz/blog/2006/04/09/matrix-reloaded-2006/</guid>
		<description><![CDATA[to je jen fikce. matrix loni nebyl zničen. stále ovládá naše životy. stále ovládá vaše životy. zničíte ho tentokrát? Velká výzva &#8211; proto, když mě pcmaster pozval, abych se zničením hlavního počítače matrixu pomohl jeho elektrotechnickému týmu, jsem neváhal a rychle souhlasil. Moje šance na sestavení vlastní skupiny a úspěšný útok na registrační formulář byly [...]]]></description>
			<content:encoded><![CDATA[<p>to je jen fikce.<br />
matrix loni nebyl zničen.<br />
stále ovládá naše životy.<br />
stále ovládá vaše životy.<br />
zničíte ho tentokrát?<br />
<span id="more-147"></span></p>
<p>Velká výzva &#8211; proto, když mě <a href="http://pcmaster.wordpress.com">pcmaster</a> pozval, abych se <a href="http://www.velkyvuz.cz/matrix">zničením hlavního počítače matrixu</a> pomohl jeho elektrotechnickému týmu, jsem neváhal a rychle souhlasil. Moje šance na sestavení vlastní skupiny a úspěšný útok na registrační formulář byly v té době už nulové, tak proč ne.</p>
<p>Akce začala nečekaně promítáním sestříhu scén z filmů &#8211; některé se jim dokonce podařilo vylepšit citlivou změnou dabingu, nebo hudby na pozadí. Zřejmě se ale organizátorům podařilo dostat do filmu nějakou podprahovou informaci, protože už během promítání většina lidí kino opustila a vydala se směrem do Stromovky. Právě tam začínala první část hry, která nás později zavedla přes Letnou, Malou Stranu a Staré Město a k ránu až do lesů na jihu města. Hra, díky které jsme získali zajímavé nové zážitky a poznali nové pocity.</p>
<p><strong>Pocit překvapení</strong>, když jsme z hecu nadiktovali <a href="http://pcmaster.wordpress.cz">pcmasterovu</a> otci do telefonu text šifry a on nám přeříkal nazpět překlad z maďarštiny: &#8220;Milí řešitelé, pro moudré lidi jako jste vy jistě překlad nebyl žádný problém&#8230;.&#8221;</p>
<p><strong>Pocit beznaděje</strong>, když jsme už půl hodiny hledali ukrytý server Matrixu a nemohli ho najít. Věřte, že jsme pečlivě prohlédli opravdu každý kanál v okolí i všechna sklepní okna budovy.</p>
<p><strong>Pocit uspokojení</strong>, když jsme ho potom našli v okně v prvním patře, pod kterým jsme předtím nejméně desetkrát prošli, a když se nám podařilo úspěšně po písmenkách opsat sekvenci tohoto serveru.</p>
<p><strong>Pocit strachu a nejistoty</strong>, když se k nám po zapsání sekvence vydaly ze stínů dvě tajemné postavy. Jsou to G-agenti matrixu kteří nás chtějí obrat o šerpy reprezentující ve světě Matrixu životy? Nebude lepší pokusit se o útěk?</p>
<p><strong>Pocit úlevy</strong>, když jsme zjistili, že se jedná jen o tajné policisty, kterým (pravda, celkem oprávněně) přišlo naše chování podezřelé a přišli nás zadržet. Sláva, šerpy nám zůstaly.</p>
<p><strong>Pocit stresu</strong>, když nám operátorka Matrixu řekla, že máme dvě minuty na to, abychom zvedli telefon v budce na Újezdě a my jsme nevěděli kde a která to je.</p>
<p><strong>Pocit zimy a ospalosti</strong> o páté ráno.</p>
<p><strong>Pocit radosti</strong>, když jsme si přečetli, že jsme se dostali do druhé části.</p>
<p><strong>Pocit znechucení</strong> z toho, že jakási hyena v lidském těle krade po cestě šifry, aby zablokovala postup dalším týmům.</p>
<p><strong>Vítězný pocit</strong> po hladkém dokončení trasy ve druhé části a nalezení šifrovacího kroužku.</p>
<p>Zoufalý <strong>pocit bolesti</strong> nohou otalčených v botech po dvaceti hodinách pochodování.</p>
<p><strong>Pocit zadostiučinění</strong> potom, co jsme po ukončení hry polohu klíčníka vyluštili jen se dvěma šifrovacími válečky, přestože organizátoři mluvili o třech jako o minimu.</p>
<p>Hlavní ale byl <strong>krásný pocit z skvěle vymyšlené a dobře provedené akce</strong>. Sláva organizátorům a jen doufám, že se Matrix přeci jen zničit nepovedlo a tato akce bude mít pokračování.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ondrejsykora.com/blog/2006/04/09/matrix-reloaded-2006/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

