<?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>Agile Surfing &#187; Programowanie</title>
	<atom:link href="http://agilesurfing.pl/category/programowanie/feed/" rel="self" type="application/rss+xml" />
	<link>http://agilesurfing.pl</link>
	<description>Grzegorz Dziemidowicz o Agile, Software Craftsmanship i programowaniu</description>
	<lastBuildDate>Thu, 19 Jan 2012 07:22:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Refaktoryzując test do String Kalkulatora</title>
		<link>http://agilesurfing.pl/2011/programowanie/refaktoryzujac-test-do-string-kalkulatora/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/refaktoryzujac-test-do-string-kalkulatora/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 14:23:41 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=554</guid>
		<description><![CDATA[W ramach eksperymentu nagrałem wideo, w który refactoruje test do String Kalkulatora. Wideo można zobaczyć tutaj: Refactoring of test Filmik trwa 5 minut podczas których: Rozbijam jeden duży test na kilka mniejszych (by testy były łatwiejsze do zrozumienia, a gdy nie przechodzą by dokładnie było wiadomo co nie działa) Zamieniam assertEquals na assertThat (naturalniej się czyta) Zastępuje komentarze [...]]]></description>
			<content:encoded><![CDATA[<p>W ramach eksperymentu nagrałem wideo, w który refactoruje test do String Kalkulatora.</p>
<p>Wideo można zobaczyć tutaj: <a href="http://www.youtube.com/watch?v=koMg8TlYbvs&amp;feature=youtu.be">Refactoring of test</a></p>
<p>Filmik trwa 5 minut podczas których:</p>
<ol>
<li>Rozbijam jeden duży test na kilka mniejszych (by testy były łatwiejsze do zrozumienia, a gdy nie przechodzą by dokładnie było wiadomo co nie działa)</li>
<li>Zamieniam assertEquals na assertThat (naturalniej się czyta)</li>
<li>Zastępuje komentarze opisowymi nazwami testów (by samo zerknięcie do raportu w ciągłej integracji wystarczyło do zorientowania się, co się dzieje)</li>
</ol>
<div>Klika używanych skrótów:</div>
<div>
<ul>
<li><strong>ctrl+y</strong> &#8211; usuwa aktualną linie</li>
<li><strong>ctrl+c</strong> &#8211; gdy nic nie jest zaznaczone, kopiuje aktualną linię</li>
<li><strong>alt+ctrl+v</strong> &#8211; wyciąga zaznaczone wyrażenie do zmiennej</li>
<li><strong>ctrl+shift+f10</strong> &#8211; odpala testy</li>
<li><strong>ctrl+w &#8211; </strong>rozszerzające się zaznaczenie (naciśnij kilka razy, a zaznaczony obszar będzie rósł)</li>
</ul>
<div>Kod który refaktoryzuję, pochodzi z mojego innego wpisu (<a title="Refactor my code step by step!" href="http://agilesurfing.pl/2011/programowanie/refactor-my-code-step-by-step/">Refactor my code step by step</a>).</div>
</div>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-5550"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;linkname=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;linkname=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;linkname=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;linkname=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;linkname=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;title=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" id="wpa2a_2">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/refaktoryzujac-test-do-string-kalkulatora/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Refactor my code step by step!</title>
		<link>http://agilesurfing.pl/2011/programowanie/refactor-my-code-step-by-step/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/refactor-my-code-step-by-step/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 18:06:29 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[software craftsmanship]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=525</guid>
		<description><![CDATA[Niedawno rozmyślałem nad skryptem w Ruby, który napisałem. Nie byłem z niego zadowolony. Co prawda działał, ale był dość &#8222;brzydki&#8221;. Pomyślałem, super by było, gdyby ktoś mi pokazał jak napisać to lepiej.. &#8222;Refactor my code&#8221;.. Po krótkim googlowaniu okazało się, że jest już taki serwis: http://refactormycode.com/ O ile nazwa jest już zajęta .. to mój pomysł [...]]]></description>
			<content:encoded><![CDATA[<p>Niedawno rozmyślałem nad skryptem w Ruby, który napisałem. Nie byłem z niego zadowolony. Co prawda działał, ale był dość &#8222;brzydki&#8221;.</p>
<p>Pomyślałem, super by było, gdyby ktoś mi pokazał jak napisać to lepiej.. &#8222;Refactor my code&#8221;.. Po krótkim googlowaniu okazało się, że jest już taki serwis: <a href="http://refactormycode.com/">http://refactormycode.com/</a></p>
<p>O ile nazwa jest już zajęta <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .. to mój pomysł miał jeszcze jeden istotny składnik. Założyłem, że ważne jest by &#8222;mój&#8221; kod nie tylko został poprawiony, ale żeby został poprawiony w małych kroczkach z wytłumaczeniem &#8222;dlaczego&#8221;, tak bym mógł się nauczyć i następnym razem sam napisać coś porządnie..</p>
<p>W gruncie rzeczy, to marzy mi się &#8222;coding dojo&#8221; rozproszone w czasie i przestrzeni. Piszę kod, który zapewne może zostać napisany lepiej. Chciałbym abyś wziął ten kod i w małych kroczak go ulepszył. Po każdym kroczku zrób commit i wyjaśnij co i dlaczego zrobiłeś.</p>
<p>Prototyp tego co mam na myśli dość szybko udało mi się stworzyć przy pomocy githuba.</p>
<p><a href="https://github.com/dziemid/refactormycode">https://github.com/dziemid/refactormycode</a></p>
<p>Napisałem  <a href="https://github.com/dziemid/refactormycode/blob/master/java/string_calculator/src/main/java/StringCalculator.java">dość brzydką wersję String Calculatora</a> , którą następnie trochę  <a href="https://github.com/dziemid/refactormycode/blob/java_string_calculator_refactoring/java/string_calculator/src/main/java/StringCalculator.java">poprawiłem</a> .. Nie mniej wersja końcowa nie jest aż tak ciekawa jak sam proces jej tworzenia, gdzie <a href="https://github.com/dziemid/refactormycode/commit/355aad817cee712f5773c1df740e97dd39bbc4cf">każdy mały kroczek został udokumentowany</a>.</p>
<p>Pomysł został podchwycony przez Martina, która zrefaktoryzował mój kod krok po kroku (<a href="https://github.com/mklose/refactormycode/commit/61f05039f345e6482ebe07c669ab91d240dff6ec">tutaj</a> jeden z jego kroków w raz z moim komentarzem).</p>
<p><strong>Dziś wrzuciłem kolejny kod do poprawienia: <a href="https://github.com/dziemid/refactormycode/tree/master/java/game_of_life">Grę w życie</a> w Javie.</strong> Kod jest napisany średnio. Miejscami jest brzydki, niektóre klasy są w ogóle niepotrzebne, inne klasy robią rzeczy, które być może powinny być gdzie indziej.</p>
<p><strong>Zachęcam Cię do zrobienia &#8222;Fork&#8221;a i zrefaktoryzowania tego kodu krok po kroku.</strong> W każdym commicie napisz co i dlaczego robisz. W ten sposób razem stworzymy coding dojo rozproszone w czasie i przestrzeni <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-5260"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;linkname=Refactor%20my%20code%20step%20by%20step%21" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;linkname=Refactor%20my%20code%20step%20by%20step%21" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;linkname=Refactor%20my%20code%20step%20by%20step%21" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;linkname=Refactor%20my%20code%20step%20by%20step%21" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;linkname=Refactor%20my%20code%20step%20by%20step%21" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;title=Refactor%20my%20code%20step%20by%20step%21" id="wpa2a_4">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/refactor-my-code-step-by-step/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Język opcjonalnie typowany &#8211; Dart</title>
		<link>http://agilesurfing.pl/2011/programowanie/jezyk-opcjonalnie-typowany-dart/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/jezyk-opcjonalnie-typowany-dart/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 19:58:15 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[ciekawostki]]></category>
		<category><![CDATA[dart]]></category>
		<category><![CDATA[goto]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=513</guid>
		<description><![CDATA[Poniższy wpis jest częścią serii opisującej moje wrażenia z konferencji GOTO Aarhus 2012. Więcej o tej konferencji.  Na otwarcie konferencji Google przygotowało niespodziankę &#8211; nowy język programowania Dart. Dokładnie, została zaprezentowana wczesna wersja języka, nad którym ciągle trwają prace. Jest to język opcjonalnie typowany. Możesz używać typów, ale nie musisz. Jeśli będziesz używał typów, kompilator pomoże Ci podpowiadając [...]]]></description>
			<content:encoded><![CDATA[<p><em>Poniższy wpis jest częścią serii opisującej moje wrażenia z konferencji GOTO Aarhus 2012. <a href="http://agilesurfing.pl/?p=479">Więcej o tej konferencji.</a> </em></p>
<p>Na otwarcie konferencji Google przygotowało niespodziankę &#8211; nowy język programowania Dart. Dokładnie, została zaprezentowana wczesna wersja języka, nad którym ciągle trwają prace.</p>
<p>Jest to język opcjonalnie typowany. Możesz używać typów, ale nie musisz. Jeśli będziesz używał typów, kompilator pomoże Ci podpowiadając co dany typ potrafi lub sugerując, że chyba używasz nie poprawnego typu. Nie mniej kompilator nie będzie Cię do niczego zmuszał &#8211; to czy Twój program będzie działał czy nie, okaże się po uruchomieniu (podobnie jak w przypadku JavaScript).</p>
<p>Po co nowy język?</p>
<ul>
<li>Dart ma być językiem, w którym &#8222;trudno&#8221; jest pisać nie wydajne programy. Google chce ułatwić swoim programistom pisanie aplikacji, które działają szybko.</li>
<li>Dart kompilowany jest do JavaScriptu, więc może działać na większości &#8222;nowoczesnych&#8221; przeglądarek. Trwają również prace nad maszyną wirtualną Darta, która będzie częścią przeglądarki Chrome. Jedna z ciekawszych opcji: &#8222;snapshot&#8221; kodu (kod może zostać prekompilowany i dostarczony do przeglądarki w postaci gotowej do wczytania do pamięci), ułatwiający bardzo szybki i wydajny start aplikacji.</li>
<li>Model konkurencji zaczerpnięty z języka Erlang. Izolaty na wzór aktorów.</li>
<li>Przemawia do ludzi z dwóch obozów (języki dynamiczne (JavaScript), języki silnie typowane(Java)</li>
<li>Być może zastąpi Javę na platformie Android?</li>
</ul>
<div>Materiały</div>
<div>
<ul>
<li><a href="http://try.dartlang.org/">http://try.dartlang.org/</a></li>
<li><a href="http://www.dartlang.org/">http://www.dartlang.org/</a></li>
<li><a href="http://dartinside.com/">http://dartinside.com/</a></li>
</ul>
<div>Język wydaje się fajny. Na następnym <a href="http://agilesurfing.pl/2011/programowanie/coding-dojo/" target="_blank">dojo</a> zaproponuje, by rozwiązać w nim jakiś problem. Ciebie również zachęcam do poeksperymentowania <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </div>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-5140"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;linkname=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;linkname=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;linkname=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;linkname=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;linkname=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;title=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" id="wpa2a_6">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/jezyk-opcjonalnie-typowany-dart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GOTO Aarhus 2011</title>
		<link>http://agilesurfing.pl/2011/programowanie/goto-aarhus-2011/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/goto-aarhus-2011/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 19:23:18 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[konferencje]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[goto]]></category>
		<category><![CDATA[konferencja]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=479</guid>
		<description><![CDATA[Drugi tydzień października spędziłem na konferencji GOTO w Aarhus. Jak zwykle było to bardzo intensywne doświadczenie W telegraficznym skrócie: Niedziela Warsztaty A user user manual z Chrisem Nodderem. Porady na temat tego jak tworzyć przyjazne i łatwe w użytkowaniu oprogramowanie + teoria na temat tego, jak zachowują się użytkownicy i dlaczego. Poniedziałek Google prezentuje nowy język [...]]]></description>
			<content:encoded><![CDATA[<p>Drugi tydzień października spędziłem na konferencji <a href="http://gotocon.com/aarhus-2011/" target="_blank">GOTO</a> w Aarhus. Jak zwykle było to bardzo intensywne doświadczenie <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>W telegraficznym skrócie:</p>
<p><strong>Niedziela</strong></p>
<ul>
<li>Warsztaty<a href="http://agilesurfing.pl/?p=486"> A user user manual z Chrisem Nodderem</a>. Porady na temat tego jak tworzyć przyjazne i łatwe w użytkowaniu oprogramowanie + teoria na temat tego, jak zachowują się użytkownicy i dlaczego.</li>
</ul>
<p><strong>Poniedziałek</strong></p>
<ul>
<li><a href="http://agilesurfing.pl/2011/programowanie/jezyk-opcjonalnie-typowany-dart/">Google prezentuje nowy język programowania &#8211; Dart</a></li>
</ul>
<p><strong>Wtorek</strong></p>
<ul>
<li>TODO</li>
</ul>
<p><strong> Środa</strong></p>
<ul>
<li>TODO</li>
</ul>
<p><strong>Czwartek</strong></p>
<ul>
<li>Warsztaty &#8222;Evolutionary Architecture &#8211; How to Make it Work&#8221; z Martinem Fowlerem i Rebeccom Parsons</li>
<li>Warsztaty &#8221;Influence Strategies for Practitioners&#8221; z Linda Rising</li>
</ul>
<p><strong>Piątek</strong></p>
<ul>
<li>Warsztaty &#8221;Maintaining and Evolving Legacy Systems&#8221; z Frankiem Buschmann</li>
</ul>
<p><strong>Ogólne komentarze i podsumowanie:</strong></p>
<p>W tym roku do materiałów konferencyjnych dołączone zostały dwie małe książeczki: &#8222;The 3 pillars of personal effectiveness&#8221; oraz &#8222;Priming Kanban&#8221; - oryginalne i fajne posunięcie.</p>
<p>I tak na przykład w &#8222;Priming Kanban&#8221; wyczytałem, co robić gdy osiągamy limit &#8222;<a href="http://agilesurfing.pl/2011/agile/wip-limits/" target="_blank">work in progress</a>&#8222;. Jest to moment na dyskusję. Do wyboru mamy albo powiększyć limit (co będzie skutkować zwiększeniem czasu, jaki jest potrzeby by historyjka przewędrowała od &#8222;koncepcji&#8221; do &#8222;wdrożenia&#8221;) albo usprawnić/wspomóc &#8222;wąskie gardło&#8221;. Np. gdy &#8222;testowanie&#8221; jest wąskim gardłem, może jako programiści możemy zautomatyzować wrzucanie nowej wersji na środowisko testowe? Tak czy inaczej, osiągnięcie limitu &#8222;work in progress&#8221; jest pretekstem do dyskusji.</p>
<p>Konferencja to również męczące wydarzenie (pełno wrażeń, codziennie integracja), nie mniej z niecierpliwością czekam na kolejną konferencję organizowaną przez Trifork, QCon 2012 w Londynie <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-4800"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;linkname=GOTO%20Aarhus%202011" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;linkname=GOTO%20Aarhus%202011" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;linkname=GOTO%20Aarhus%202011" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;linkname=GOTO%20Aarhus%202011" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;linkname=GOTO%20Aarhus%202011" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;title=GOTO%20Aarhus%202011" id="wpa2a_8">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/goto-aarhus-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extreme Startup zamiast wtorkowego dojo</title>
		<link>http://agilesurfing.pl/2011/programowanie/extreme-startup-zamiast-wtorkowego-dojo/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/extreme-startup-zamiast-wtorkowego-dojo/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 19:23:14 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[Extreme Startup]]></category>
		<category><![CDATA[software craftsmanship]]></category>
		<category><![CDATA[testy jednostkowe]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=465</guid>
		<description><![CDATA[Wczoraj zamiast &#8222;normalnego&#8221; dojo poprowadziłem mini warsztat Extreme Startup. Podczas tego warsztatu zadaniem uczestników jest napisanie aplikacji webowej, która odpowiadać będzie na zapytania &#8222;wirtualnych&#8221; klientów. Uczestnicy warsztatu nie wiedzą, co ich czeka i z logów serwera muszą wywnioskować, czego chcą klienci. Klienci będą między innymi pytać: Ile jest 2 + 5? Która z tych liczb [...]]]></description>
			<content:encoded><![CDATA[<p>Wczoraj zamiast &#8222;normalnego&#8221; dojo poprowadziłem mini warsztat <a href="http://chatley.com/posts/05-27-2011/extreme-startup/" target="_blank">Extreme Startup.</a></p>
<p>Podczas tego warsztatu zadaniem uczestników jest napisanie aplikacji webowej, która odpowiadać będzie na zapytania &#8222;wirtualnych&#8221; klientów. Uczestnicy warsztatu nie wiedzą, co ich czeka i z logów serwera muszą wywnioskować, czego chcą klienci.</p>
<p>Klienci będą między innymi pytać:</p>
<ul>
<li>Ile jest 2 + 5?</li>
<li>Która z tych liczb się największa: 4, 234, 2, 4?</li>
<li>Jaki kolor ma banan?</li>
</ul>
<div>Warsztat jest dość intensywny, jako że uczestnicy konkurują między sobą o to, kto zdobędzie najwięcej punktów. Na bieżąco na rzutniku wyświetlany jest aktualny ranking, co oczywiście wyzwala w uczestnikach chęć rywalizacji.</div>
<div>W zależności od pytania uczestnicy otrzymują różną ilość punktów. Gdy ich serwer odpowie źle, tracą punkty, a gdy ich serwer jest nie dostępny, tracą jeszcze więcej punktów.</div>
<p>W warsztacie wzięło 8 osób, zostały uformowane 4 pary. Zaczęliśmy o 1700 i około 50 minut zajęła nam sesja próbna, gdzie uczestnicy konfigurowali sieć tak, by<a href="https://github.com/rchatley/extreme_startup" target="_blank"> móc połączyć się z serwerem</a> i odpowiedzieć na proste zapytanie &#8222;Jak masz na imię&#8221;.</p>
<p>Około 18 zaczęliśmy &#8221;prawdziwą&#8221; rundę z normalnymi pytaniami. Niestety z braku czasu, runda trwała tylko około 45 minut. Na przyszłość, &#8222;normalna&#8221; runda powinna trwać co najmniej 90 minut. Na potrzeby warsztatu przygotowane jest 6 zestawów pytań i wczoraj dobrnęliśmy tylko do trzeciego, a tak naprawdę mało który zespół miał poprawnie zaimplementowane wszystkie pytania z 2 pierwszych zestawów.</p>
<p>Z 4 zespołów tylko jeden pisał testy. Wszystkim zespołom poszło &#8222;podobnie źle&#8221; &#8211; zdobyły po około -2000 punktów. Prawdopodobnie gdyby warsztat trwał dłużej, to w miarę implementowanie poprawnych odpowiedzi dla kolejnych pytań, pary wyszłyby na prostą.</p>
<p>Pary, które używały &#8222;cięższych&#8221; serwerów aplikacji (jak Jetty <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) traciły sporo punktów podczas redeployu aplikacji. Niestety nikt nie pokusił się o rozwiązanie z load balancerem <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Technologie jakich używali uczestnicy</p>
<ul>
<li>Scala</li>
<li>Node.js</li>
<li>Groovy</li>
<li>Smalltalk, a potem z powodu problemów Java</li>
</ul>
<div>We wszystkich zespołach/parach uczestnicy grali rolę programistów. Żaden zespół nie &#8222;wprowadził&#8221; roli Product Ownera, który analizowałby logi i priorytezował pracę programisty (np. niektóre pytania były dużo prostsze niż inne, podobnie pytania miały różną ilość punktów, czasem wystarczyło zwrócić pusty string.).</div>
<div>Ogólnie chyba się podobało <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .. Może powtórzymy ten warsztat za jakiś czas&#8230;</div>
<div>Ps. Wczoraj wyszła książka <a href="http://theleanstartup.com/book" target="_blank">Lean Startup.</a> <strong>Polecam</strong>.</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-4660"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;linkname=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;linkname=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;linkname=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;linkname=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;linkname=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;title=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" id="wpa2a_10">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/extreme-startup-zamiast-wtorkowego-dojo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Organizując światowy dzień CodeRetreat</title>
		<link>http://agilesurfing.pl/2011/programowanie/organizujac-swiatowy-dzien-coderetreat/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/organizujac-swiatowy-dzien-coderetreat/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 18:31:46 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[berlin]]></category>
		<category><![CDATA[clean code]]></category>
		<category><![CDATA[coderetreat]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[software craftsmanship]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=467</guid>
		<description><![CDATA[Dziś rozpocząłem proces organizacji CodeRetreat Berlin w ramach światowego dnia CodeReteat. Na razie założyłem tylko grupę na googlach i szukam chętnych do pomocy. Przed nami &#8222;trochę pracy&#8221;. Musimy znaleźć sponsorów, salę, przeprowadzić rejestrację, zorganizować obiad i załatwić wiele innych małych rzeczy. Damy radę! Po ostatnim CodeRetreat w Berlinie, ludzie są pozytywnie nastawieni Światowy dzień CodeRetreat odbędzie się [...]]]></description>
			<content:encoded><![CDATA[<p>Dziś rozpocząłem proces organizacji CodeRetreat Berlin w ramach<a href="http://blog.coderetreat.com/global-day-of-coderetreat" target="_blank"> światowego dnia CodeReteat</a>.</p>
<p>Na razie założyłem tylko <a href="https://groups.google.com/forum/?hl=en#!forum/globaldayofcoderetreatberlin" target="_blank">grupę</a> na googlach i szukam chętnych do pomocy. Przed nami &#8222;trochę pracy&#8221;. Musimy znaleźć sponsorów, salę, przeprowadzić rejestrację, zorganizować obiad i załatwić wiele innych małych rzeczy. Damy radę! <a href="http://agilesurfing.pl/2011/agile/coderetreat-berlin/" target="_blank">Po ostatnim CodeRetreat w Berlinie</a>, ludzie są pozytywnie nastawieni <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Światowy dzień CodeRetreat odbędzie się w sobotę, 3 grudnia 2011</strong>. Na razie na <a href="https://github.com/coreyhaines/coderetreat/wiki/Cities" target="_blank">liście miast uczestniczących w projekcie</a> nie ma żadnego miasta z Polski, mam nadzieję, że wkrótce się to zmieni ;)</p>
<p>3 grudnia, przez około 32 godziny, gdzieś na świecie odbywać się będzie CodeRetreat. W czasie przerw pomiędzy iteracjami będziemy łączyć się na wideo konferencjach z innymi lokalizacjami i na bieżąco będziemy wymieniać się wrażeniami i pomysłami.</p>
<p>Czy weźmiesz udział w światowym dniu CodeRetreat? W jakim mieście?</p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-4680"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Forganizujac-swiatowy-dzien-coderetreat%2F&amp;linkname=Organizuj%C4%85c%20%C5%9Bwiatowy%20dzie%C5%84%20CodeRetreat" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Forganizujac-swiatowy-dzien-coderetreat%2F&amp;linkname=Organizuj%C4%85c%20%C5%9Bwiatowy%20dzie%C5%84%20CodeRetreat" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Forganizujac-swiatowy-dzien-coderetreat%2F&amp;linkname=Organizuj%C4%85c%20%C5%9Bwiatowy%20dzie%C5%84%20CodeRetreat" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Forganizujac-swiatowy-dzien-coderetreat%2F&amp;linkname=Organizuj%C4%85c%20%C5%9Bwiatowy%20dzie%C5%84%20CodeRetreat" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Forganizujac-swiatowy-dzien-coderetreat%2F&amp;linkname=Organizuj%C4%85c%20%C5%9Bwiatowy%20dzie%C5%84%20CodeRetreat" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Forganizujac-swiatowy-dzien-coderetreat%2F&amp;title=Organizuj%C4%85c%20%C5%9Bwiatowy%20dzie%C5%84%20CodeRetreat" id="wpa2a_12">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/organizujac-swiatowy-dzien-coderetreat/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Coding Dojo (cz. 2)</title>
		<link>http://agilesurfing.pl/2011/programowanie/coding-dojo-cz-2/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/coding-dojo-cz-2/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 17:19:54 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[berlin]]></category>
		<category><![CDATA[clean code]]></category>
		<category><![CDATA[craftsmanship]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[software craftsmanship]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=432</guid>
		<description><![CDATA[Ciąg dalszy informacji na temat naszego Coding Dojo.. Ostatnio eksperymentowaliśmy z innymi językami niż Java. Wypróbowaliśmy Clojure, Scale oraz Ruby. Kilka obserwacji: Dojo zaczynamy z &#8222;czystym&#8221; projektem (startujemy od zera). W przypadku Clojure i Ruby kodowaliśmy od zera. W przypadku Scali, zostało zaprezentowane i omówione gotowe rozwiązanie. Dużo bardziej podobało nam się kodowanie od zera, [...]]]></description>
			<content:encoded><![CDATA[<p>Ciąg dalszy informacji na temat naszego <a href="http://agilesurfing.pl/2011/programowanie/coding-dojo/" target="_blank">Coding Dojo</a>..</p>
<p>Ostatnio eksperymentowaliśmy z innymi językami niż Java. Wypróbowaliśmy Clojure, Scale oraz Ruby. Kilka obserwacji:</p>
<p><strong>Dojo zaczynamy z &#8222;czystym&#8221; projektem (startujemy od zera).</strong></p>
<p>W przypadku Clojure i Ruby kodowaliśmy od zera. W przypadku Scali, zostało zaprezentowane i omówione gotowe rozwiązanie. Dużo bardziej podobało nam się kodowanie od zera, gdyż każdy miał szansę zrozumieć co się dzieje (dla wielu języki były obce), a bardziej zaawansowane osoby miały szansę zobaczyć krok po kroku sposób rozwiązywania problemu przez innych.</p>
<p>Prezentowanie gotowego rozwiązania raczej się nie sprawdziło, gdyż osoby dla których język był nowy nie do końca rozumiały co się dzieje, a dla osób zaawansowanych samo finalne rozwiązanie nie było aż tak ciekawe.</p>
<p><strong>Ćwiczymy jedną rzecz na raz</strong></p>
<p>Celem Dojo jest ćwiczenie. By robić to dobrze, warto skupić się na jednej rzeczy na raz. Średnim pomysłem jest ćwiczenie rozwiązania problemu w sposób obiektowy, gdy większość grupy nie potrafi nawet programować w danym języku (w takiej sytuacji można spróbować coś takiego: ekspert w danym języku ma klawiaturę i zamienia sugestie uczestników na temat rozwiązania obiektowego w kod).</p>
<p>Ponieważ spotykamy się tylko na jedną godzinę, dobrze jest wybrać za cel ćwiczenia coś bardzo konkretnego. Poniżej kilka przykładów:</p>
<ul>
<li>Eksplorowanie  (nowego) języka (<a href="http://rubykoans.com/" target="_blank">Ruby</a>)</li>
<li>Eksplorowanie  (nowego) języka (<a href="https://github.com/rubbish/scala-koans" target="_blank">Scala</a>)</li>
<li>Ćwiczenie (szybkiego) cyklu RED, GREEN, REFACTOR w TDD (w języku, który zna grupa) (np. chcemy by cykl trwał mniej niż 3 minuty)</li>
<li>Ćwiczenie programowania obiektowego (w języku, który zna grupa) (np. chcemy by każda klasa przestrzegała zasad <a href="http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)" target="_blank">SOLID</a>)</li>
<li>Ćwiczenie nazewnictwa (chcemy, by każda nazwa ujawniała <a href="http://c2.com/cgi/wiki?IntentionRevealingNames" target="_blank">intencję</a> twórcy)</li>
<li>Ćwiczenie w pisaniu krótkich metod (np. max liczba linii to 4)</li>
<li>Ćwiczenie w obsłudze IDE (tylko s<a href="http://refcardz.dzone.com/refcardz/intellij-idea" target="_blank">króty klawiszowe</a>, refactoring)</li>
</ul>
<div>Dojo może być formą <a href="http://litemind.com/talent-myth/" target="_blank">Deliberate Practice</a>. Dlatego sugerowany format jest następujący:</div>
<div>
<ul>
<li>Jako grupa ustalamy konkretny cel na najbliższą godzinę</li>
<li>Jedna para pracuje, jej kod wyświetlany jest na rzutniku</li>
<li>Parę zmieniamy co 10 minut</li>
<li>W czasie 10 minut unikamy niepotrzebnych komentarzy, by nie rozpraszać pary. Para powinna komentować to co robi.</li>
<li>Po 10 minutach jest czas na (krótkie) pytania. Skupiamy się na naszym celu i o tym rozmawiamy (nie rozwodzimy się na temat SOLID gdy celem jest TDD).</li>
<li>Na koniec powinniśmy zrobić krótką retrospekcję: Czy osiągnęliśmy cel? Czego się nauczyliśmy? Co było fajne w formacie Dojo? Co możemy zrobić lepiej następnym razem?</li>
</ul>
</div>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-4330"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo-cz-2%2F&amp;linkname=Coding%20Dojo%20%28cz.%202%29" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo-cz-2%2F&amp;linkname=Coding%20Dojo%20%28cz.%202%29" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo-cz-2%2F&amp;linkname=Coding%20Dojo%20%28cz.%202%29" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo-cz-2%2F&amp;linkname=Coding%20Dojo%20%28cz.%202%29" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo-cz-2%2F&amp;linkname=Coding%20Dojo%20%28cz.%202%29" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo-cz-2%2F&amp;title=Coding%20Dojo%20%28cz.%202%29" id="wpa2a_14">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/coding-dojo-cz-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>IntelliJ IDEA &#8211; kolorki + szablon do testow</title>
		<link>http://agilesurfing.pl/2011/programowanie/intellij-idea-kolorki-szablon-do-testow/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/intellij-idea-kolorki-szablon-do-testow/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 10:35:12 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[IntelliJ]]></category>
		<category><![CDATA[szablon]]></category>
		<category><![CDATA[testy]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=417</guid>
		<description><![CDATA[Po zainstalowaniu IntelliJ IDEA, mamy do wykonania jeszcze dwie czynnosci 1) Instalacja schematu kolorow: http://tedwise.com/2009/02/26/dark-pastels-theme-for-intellij-idea/ 2) Dodanie szablonu do testow (Settings -&#62; Live templates): @Test public void should$NAME$() throws Exception { // Given $END$ // When // Then }]]></description>
			<content:encoded><![CDATA[<p>Po zainstalowaniu IntelliJ IDEA, mamy do wykonania jeszcze dwie czynnosci <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>1) Instalacja schematu kolorow: <a href="http://tedwise.com/2009/02/26/dark-pastels-theme-for-intellij-idea/">http://tedwise.com/2009/02/26/dark-pastels-theme-for-intellij-idea/</a></p>
<p>2) Dodanie szablonu do testow (Settings -&gt; Live templates):</p>
<pre>@Test
public void should$NAME$() throws Exception {
 // Given
 $END$

 // When

 // Then
}</pre>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-4180"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fintellij-idea-kolorki-szablon-do-testow%2F&amp;linkname=IntelliJ%20IDEA%20%26%238211%3B%20kolorki%20%2B%20szablon%20do%20testow" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fintellij-idea-kolorki-szablon-do-testow%2F&amp;linkname=IntelliJ%20IDEA%20%26%238211%3B%20kolorki%20%2B%20szablon%20do%20testow" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fintellij-idea-kolorki-szablon-do-testow%2F&amp;linkname=IntelliJ%20IDEA%20%26%238211%3B%20kolorki%20%2B%20szablon%20do%20testow" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fintellij-idea-kolorki-szablon-do-testow%2F&amp;linkname=IntelliJ%20IDEA%20%26%238211%3B%20kolorki%20%2B%20szablon%20do%20testow" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fintellij-idea-kolorki-szablon-do-testow%2F&amp;linkname=IntelliJ%20IDEA%20%26%238211%3B%20kolorki%20%2B%20szablon%20do%20testow" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fintellij-idea-kolorki-szablon-do-testow%2F&amp;title=IntelliJ%20IDEA%20%26%238211%3B%20kolorki%20%2B%20szablon%20do%20testow" id="wpa2a_16">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/intellij-idea-kolorki-szablon-do-testow/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ubuntu + IntelliJ IDEA + JDK</title>
		<link>http://agilesurfing.pl/2011/programowanie/ubuntu-intellij-idea-jdk/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/ubuntu-intellij-idea-jdk/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 10:28:49 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[IntelliJ]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=412</guid>
		<description><![CDATA[Notatka do siebie, moze komus tez sie przyda. Problem: IntelliJ IDEA twierdzi, ze nie lubi OpenJDK i prosi o uruchomienie z uzyciem Sun JDK. (w przeciwnym wypadku grozi, ze bedzie dzialal wolno) Kontekst: Standardowo Ubuntu ma zainstalowane OpenJDK Rozwiazanie: sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" sudo apt-get update sudo apt-get install sun-java6-jdk sudo apt-get install [...]]]></description>
			<content:encoded><![CDATA[<p>Notatka do siebie, moze komus tez sie przyda.</p>
<p><strong>Problem: </strong>IntelliJ IDEA twierdzi, ze nie lubi OpenJDK i prosi o uruchomienie z uzyciem Sun JDK. (w przeciwnym wypadku grozi, ze bedzie dzialal wolno)</p>
<p><strong>Kontekst: </strong>Standardowo Ubuntu ma zainstalowane OpenJDK</p>
<p><strong>Rozwiazanie:</strong></p>
<pre>sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"</pre>
<pre>sudo apt-get update</pre>
<pre>sudo apt-get install sun-java6-jdk</pre>
<pre>sudo apt-get install sun-java6-plugin

sudo update-java-alternatives -s java-6-sun</pre>
<p>Zrodlo:<a title="http://www.cyberciti.biz/faq/howto-ubuntu-linux-install-configure-jdk-jre/" href="http://www.cyberciti.biz/faq/howto-ubuntu-linux-install-configure-jdk-jre/"> http://www.cyberciti.biz/faq/howto-ubuntu-linux-install-configure-jdk-jre/</a></p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-4130"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fubuntu-intellij-idea-jdk%2F&amp;linkname=Ubuntu%20%2B%20IntelliJ%20IDEA%20%2B%20JDK" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fubuntu-intellij-idea-jdk%2F&amp;linkname=Ubuntu%20%2B%20IntelliJ%20IDEA%20%2B%20JDK" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fubuntu-intellij-idea-jdk%2F&amp;linkname=Ubuntu%20%2B%20IntelliJ%20IDEA%20%2B%20JDK" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fubuntu-intellij-idea-jdk%2F&amp;linkname=Ubuntu%20%2B%20IntelliJ%20IDEA%20%2B%20JDK" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fubuntu-intellij-idea-jdk%2F&amp;linkname=Ubuntu%20%2B%20IntelliJ%20IDEA%20%2B%20JDK" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fubuntu-intellij-idea-jdk%2F&amp;title=Ubuntu%20%2B%20IntelliJ%20IDEA%20%2B%20JDK" id="wpa2a_18">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/ubuntu-intellij-idea-jdk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coding Dojo</title>
		<link>http://agilesurfing.pl/2011/programowanie/coding-dojo/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/coding-dojo/#comments</comments>
		<pubDate>Sun, 19 Jun 2011 18:21:00 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Programowanie]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=405</guid>
		<description><![CDATA[Od jakiegoś czasu, co tydzień spotykamy się w firmie na Coding Dojo. Na Dojo przychodzi różna liczba osób, od 2 w porywach do 12. Co tydzień robimy to samo  - katę String Kalkulator. Do tej pory próbowaliśmy: Po prostu zrobić katę zgodnie z instrukcjami, TDD Skupić się na 2 zasadach &#8222;prostego projektowania&#8221;: usuwanie duplikacji i [...]]]></description>
			<content:encoded><![CDATA[<p>Od jakiegoś czasu, co tydzień spotykamy się w firmie na Coding Dojo.</p>
<p>Na Dojo przychodzi różna liczba osób, od 2 w porywach do 12.</p>
<p>Co tydzień robimy to samo <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   - katę <a href="http://osherove.com/tdd-kata-1/" target="_blank">String Kalkulator</a>.</p>
<p><span id="more-405"></span></p>
<p><strong>Do tej pory próbowaliśmy:</strong></p>
<ul>
<li>Po prostu zrobić katę zgodnie z instrukcjami, TDD</li>
<li>Skupić się na 2 zasadach &#8222;prostego projektowania&#8221;: <a href="http://www.jbrains.ca/permalink/the-four-elements-of-simple-design" target="_blank">usuwanie duplikacji i poprawianie nazewnictwa</a>.</li>
<li>Celowo napisać jak najbardziej okropny kod</li>
<li>Rozwiązać problem z użyciem rekurencji</li>
</ul>
<p><strong>W planie mamy jeszcze między innymi:</strong></p>
<ul>
<li>Spróbować rozwiązać problem, z użyciem metod o maksymalnej długości 4 linii</li>
<li>Rozwiązać problem w Clojure (do tej pory programowaliśmy w Javie)</li>
<li>&#8230; ?</li>
<li>Inny problem niż String Kalkulator</li>
</ul>
<p>Styl w jakim prowadzimy nasze Dojo, to tzw. <a href="http://code.joejag.com/2009/the-coding-dojo/" target="_blank">Randori</a>, gdzie para koduje &#8222;na rzutniku&#8221; i co parę minut osoba z &#8222;widowni&#8221; zastępuje jedną osobę w kodującej parze. Główną zaletą tego stylu jest to, że cała grupa może dyskutować &#8222;o tym samym&#8221;. Wadą jest to, że może to być czasami nudne dla obserwujących (zwłaszcza w większej grupie i gdy para nie radzi sobie z jakimś &#8222;oczywistym&#8221; problemem).</p>
<p><strong>Reguły jakich się trzymamy to:</strong></p>
<ul>
<li>Gdy testy przechodzą, każdy może komentować. Gdy testy są czerwone/kod się nie kompiluje, mówić może tylko para.</li>
<li>Parę zmieniamy co 5 minut</li>
<li>Dojo trwa około 60 minut</li>
<li>Ostatnie 10 minut poświęcamy na retrospekcję. Pytania na które szukamy odpowiedzi to: Jak było? Czego się dziś nauczyliśmy?</li>
</ul>
<p><strong>Obserwacje:</strong></p>
<ul>
<li>Mimo, że widziałem katę String Kalkulator co najmniej 6 razy, problem się jeszcze &#8222;nie wyczerpał&#8221;. Ciągle stanowi dobry materiał do dyskusji.</li>
<li>Rozmawiamy m.in na temat: Jak piszemy testy, Jak długa powinna być metoda, Jak nazywać (metody, klasy zmienne), Co to znaczy &#8222;czysty kod&#8221;.</li>
<li>Najciekawiej jest, gdy przychodzą osoby z różnych zespołów &#8211; jest to okazja do wymiany wiedzy pomiędzy zespołami</li>
<li>Retrospekcja na koniec jest ważnym punktem Dojo.</li>
<li>Miło jest, gdy zostaną zorganizowane napoje/przekąski</li>
<li>Warto zadbać o wygodne środowisko programistyczne &#8211; takie, w którym swobodnie będą czuli się uczestnicy. Czasem oznacza to zainstalowanie dodatkowego zestawu klawiatury (niemiecki <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) i podłączenie dodatkowej klawiatury.</li>
</ul>
<p><strong>Zachęcam Cię do zorganizowania Dojo w Twojej firmie</strong> &#8211; to proste <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Roześlij zaproszenie do deweloperów i <a href="http://www.doodle.com/" target="_blank">ustal dogodny termin</a>. Zarezerwuj salę (najlepiej ustal stały termin na kilka tygodni z góry, by uniknąć pytania co tydzień o dogodną datę), wybierz problem do rozwiązania na Dojo &#8211; to właściwie wszystko co jest potrzebne z Twojej strony jako organizatora &#8211; reszta zależy już od uczestników.</p>
<p>&nbsp;</p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-4060"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo%2F&amp;linkname=Coding%20Dojo" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo%2F&amp;linkname=Coding%20Dojo" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo%2F&amp;linkname=Coding%20Dojo" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo%2F&amp;linkname=Coding%20Dojo" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo%2F&amp;linkname=Coding%20Dojo" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fcoding-dojo%2F&amp;title=Coding%20Dojo" id="wpa2a_20">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/coding-dojo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

