<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>webbricks</title>
	
	<link>http://blog.grzegorzpawlik.com</link>
	<description>Doświadczenie, to coś, co zdobywamy tuż po chwili w której było nam potrzebne ...</description>
	<lastBuildDate>Wed, 22 Feb 2012 16:08:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/WebBricks" /><feedburner:info uri="webbricks" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nc-sa/3.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><feedburner:emailServiceId>WebBricks</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebBricks" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebBricks" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebBricks" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/WebBricks" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebBricks" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FWebBricks" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebBricks" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FWebBricks" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://www.addtoany.com/?linkname=webbricks&amp;linkurl=http%3A%2F%2Ffeeds.feedburner.com%2FWebBricks&amp;type=feed" src="http://www.addtoany.com/addfr-b.gif">Add to Any Feed Reader</feedburner:feedFlare><item>
		<title>Dlaczego estymacje zawsze są błędne?</title>
		<link>http://feedproxy.google.com/~r/WebBricks/~3/YmKIBtRLlpg/</link>
		<comments>http://blog.grzegorzpawlik.com/2012/02/dlaczego-estymacje-zawsze-sa-bledne/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 16:08:18 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://blog.grzegorzpawlik.com/?p=1778</guid>
		<description><![CDATA[Ciekawa rzecz, którą znalazłem. Pewien &#8220;menadżer&#8221; (cudzysłów nie jest przypadkowy) zapytał dlaczego estymacje są zawsze błędne? Pyta czy to wina deweloperów, problem z zarządzaniem (ciekawe, że nie zapytał czy to wina menadżera), błędna metodyka lub jej brak? A może ten &#8230; <a href="http://blog.grzegorzpawlik.com/2012/02/dlaczego-estymacje-zawsze-sa-bledne/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ciekawa rzecz, którą znalazłem. Pewien &#8220;menadżer&#8221; (cudzysłów nie jest przypadkowy) zapytał dlaczego estymacje są zawsze błędne? Pyta czy to wina deweloperów, problem z zarządzaniem (ciekawe, że nie zapytał czy to wina menadżera), błędna metodyka lub jej brak? A może ten błąd jest zawarty w samej naturze procesu &#8211; pyta niczym grecki filozof podczas debaty ze swoimi uczniami. </p>
<p>Jak myślicie jaka jest odpowiedź? (Oprócz tej, że powinien przeczytać książkę/dwie?). </p>
<p><a href="http://www.quora.com/Engineering-Management/Why-are-software-development-task-estimations-regularly-off-by-a-factor-of-2-3#ans968259"><br />
Tutaj przeczytacie najciekawszą i bardzo obrazową odpowiedź dlaczego tak się dzieje (po angielsku)</a>. Pokażcie ją swojemu &#8220;menadżerowi&#8221; jeśli też go ta kwestia dziwi.</p>
<p>Moja odpowiedź: Estymacja jest błędna z defininicji (<łac. <i>aestimatio</i> ocena> != wycena). Jeśli zakładasz, ze estymacja da Ci dokładny wynik, to zamień to słowo na szacowanie. Jeśli nadal popełniasz ten sam błąd i po szacowaniu spodziewasz się dokładnych wyników &#8211; zamień to słowo na&#8230; <strong>zgadywanie</strong>. Czasem trafi się ktoś, kto potrzebuje jeszcze silniejszego określenia, żeby odpaliło odpowiednie zwoje mózgowe. Ja w ekstremalnych warunkach lubię użyć określenia &#8220;Wróżenie z fusów&#8221;. </p>
<div id="attachment_1797" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/_flood_/6432136195/sizes/m/in/photostream/"><img src="http://blog.grzegorzpawlik.com/wp-content/uploads/2012/02/tea_leaves_by_flood1.jpg" alt="" title="The end?" width="500" height="500" class="size-full wp-image-1797" /></a><p class="wp-caption-text">foto: Flood</p></div>
<p>Szczególnie, jeśli na przeciw masz zabójczą kombinację:</p>
<pre>
zabójca kombinacja =
rozległe zadanie
+ technologia w której brak Ci doświadczenia
+ menadżer (lub klient) który nie rozumie znaczenia słów
</pre>
<ul>
<li>&#8220;To wróżenie z fusów&#8221;.</li>
<li>&#8220;Jeśli mam podać konkretne daty, to zajmie od 3 do 10 miesięcy&#8221;</li>
<li>&#8220;Dlaczego? Bo to jest jak wróżenie z fusów&#8221;</li>
<li>&#8220;Jest wiele niewiadomych, a wymagań jest na tyle dużo, że nie mieszczą się już na kartce a4 &#8211; dlatego przypomina to wróżenie z fusów&#8221;.</li>
<li>&#8220;Podając Ci konkretne wartości, czuję się jakbym wróżył z fusów&#8221;</li>
</ul>
<p>Powtarzaj to tak często jak potrafisz. I porzuć nadzieję, że zrozumieją. Będziesz powtarzał to zdanie (lub inne ulubione) tylko z jednego powodu &#8211; dla zachowania własnego zdrowia psychicznego. Gdy na kolejnym spotkaniu (miejmy nadzieję, że szybciej niż za 3 miesiące) ktoś wytknie Ci nietrafioną estymację przypomnij mu o tym. Powtórzyłeś tę frazę tak wiele razy, że coś musi zaświtać&#8230; Estymacje to wróżenie z fusów. </p>
<p>Estymacja z definicji zawiera błąd. Istotne jest jaka jest natura tego błędu.</p>
<p>Dlatego jest nadzieja. W pytaniu jest informacja, że estymacje zazwyczaj chybią o współczynnik 2-3 (cokolwiek by to nie znaczyło). I to jest już coś na czym można budować. Zwinne metodyki potrafią radzić sobie z błędnymi estymacjami jeśli błąd jest w miarę stały (i nie trzeba nawet wiedzieć ile on wynosi). Ale to temat na kolejny post.</p>
<!-- PHP 5.x --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebBricks?a=YmKIBtRLlpg:PEp3NprGu84:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebBricks?a=YmKIBtRLlpg:PEp3NprGu84:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebBricks/~4/YmKIBtRLlpg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2012/02/dlaczego-estymacje-zawsze-sa-bledne/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.grzegorzpawlik.com/2012/02/dlaczego-estymacje-zawsze-sa-bledne/</feedburner:origLink></item>
		<item>
		<title>Phing on git bash</title>
		<link>http://feedproxy.google.com/~r/WebBricks/~3/pRf6236BlTw/</link>
		<comments>http://blog.grzegorzpawlik.com/2012/02/phing-on-git-bash/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 20:10:05 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Inne]]></category>

		<guid isPermaLink="false">http://blog.grzegorzpawlik.com/?p=1767</guid>
		<description><![CDATA[I recently installed phing on Windows XP via PEAR. It works nicely out of the box on windows console (cmd), but would rather use Git bash and don&#8217;t want to switch to cmd just to run phing build. And it &#8230; <a href="http://blog.grzegorzpawlik.com/2012/02/phing-on-git-bash/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_1769" class="wp-caption alignright" style="width: 190px"><a href="http://www.flickr.com/photos/ournew/"><img src="http://blog.grzegorzpawlik.com/wp-content/uploads/2012/02/pear_by_Wen_Rou.jpg" alt="" title="Wen Rou's pear" width="180" height="240" class="size-full wp-image-1769" /></a><p class="wp-caption-text">foto: Wen Rou</p></div><br />
I recently installed <a href="http://www.phing.info/trac/" title="phing">phing</a> on Windows XP via <a href="http://pear.php.net/" title="pear">PEAR</a>. It works nicely out of the box on windows console (cmd), but would rather use Git bash and don&#8217;t want to switch to cmd just to run phing build. And it didn&#8217;t work, but fix is rather simple.</p>
<p>Phing creates file phing.bat in the PHP directory, so it makes only to put another file, named phing (executable) with content:</p>
<p style="clear:both">
<pre>
php -d html_errors=off -qC "C:\path_to_your\PHP\PEAR\phing.php" $@
</pre>
</p>
<p>And that&#8217;s it. Hope it was helpful :)</p>
<!-- PHP 5.x --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebBricks?a=pRf6236BlTw:_l-_wos3R8w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebBricks?a=pRf6236BlTw:_l-_wos3R8w:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebBricks/~4/pRf6236BlTw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2012/02/phing-on-git-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.grzegorzpawlik.com/2012/02/phing-on-git-bash/</feedburner:origLink></item>
		<item>
		<title>Facebook i usuwanie zdjęć</title>
		<link>http://feedproxy.google.com/~r/WebBricks/~3/JO9JYIY1Eyw/</link>
		<comments>http://blog.grzegorzpawlik.com/2012/02/facebook-i-usuwanie-zdjec/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 10:09:24 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Inne]]></category>

		<guid isPermaLink="false">http://blog.grzegorzpawlik.com/?p=1762</guid>
		<description><![CDATA[Jakiś czas temu pisałem o tym, iż utrzymywanie się się usuniętych zdjęć z facebook&#8217;a niekoniecznie musi wynikać z tego iż facebook jest złem wcielonym. Dziś na hacking.pl pojawił się artykuł potwierdzający, że poniekąd miałem rację. Nawet wychodzi na to, że &#8230; <a href="http://blog.grzegorzpawlik.com/2012/02/facebook-i-usuwanie-zdjec/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Jakiś czas temu pisałem o tym, iż <a href="http://blog.grzegorzpawlik.com/2011/01/prosty-test-czy-twoje-zdjecia-na-facebooku-zostaja-tam-na-zawsze/" title="Prosty test: czy Twoje zdjęcia na Facebook’u zostają tam na zawsze?">utrzymywanie się się usuniętych zdjęć z facebook&#8217;a niekoniecznie musi wynikać z tego iż facebook jest złem wcielonym</a>. </p>
<p>Dziś na hacking.pl pojawił się artykuł <a href="http://hacking.pl/pl/news-16741-Skasowane_na_Facebooku_zdjecia_ciagle_online.html">potwierdzający, że poniekąd miałem rację</a>. Nawet wychodzi na to, że użyta przeze mnie sugestia o trzymaniu ich w piwnicy nie była aż tak odległa od prawdy ;)</p>
<p>Z innej beczki &#8211; dlaczego hacking.pl nie potrafi podać aktywnego linka do źródła, tylko podaje nieaktywny tekst z adresem do strony głównej źródłowego serwisu? Styl podobny jak webinside, ale ten drugi nie podaje nic. Udaje, że jest sam w całym Internecie&#8230;</p>
<!-- PHP 5.x --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebBricks?a=JO9JYIY1Eyw:RmznKv0C5LE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebBricks?a=JO9JYIY1Eyw:RmznKv0C5LE:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebBricks/~4/JO9JYIY1Eyw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2012/02/facebook-i-usuwanie-zdjec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.grzegorzpawlik.com/2012/02/facebook-i-usuwanie-zdjec/</feedburner:origLink></item>
		<item>
		<title>SPDY w najnowszym firefoxie</title>
		<link>http://feedproxy.google.com/~r/WebBricks/~3/XbYhTHSCXBg/</link>
		<comments>http://blog.grzegorzpawlik.com/2012/02/spdy-w-najnowszym-firefoxie/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 07:26:25 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Inne]]></category>

		<guid isPermaLink="false">http://blog.grzegorzpawlik.com/?p=1759</guid>
		<description><![CDATA[Firefox w wersji 11 przyszedł razem z obsługą protokołu stworzonego przez google i od dawna używanego w kombinacji gmail+chrome. Chodzi o SPDY. Jest oparty o znany dobrze protokół HTML, który okazuje się być niewystarczający dla nowoczesnych, których działanie opeira się &#8230; <a href="http://blog.grzegorzpawlik.com/2012/02/spdy-w-najnowszym-firefoxie/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Firefox w wersji 11 przyszedł razem z obsługą protokołu stworzonego przez google i od dawna używanego w kombinacji gmail+chrome. Chodzi o <a href="http://en.wikipedia.org/wiki/SPDY" title="Speedy">SPDY</a>. Jest oparty o znany dobrze protokół HTML, który okazuje się być niewystarczający dla nowoczesnych, których działanie opeira się o wykonywanie wielu asynchronicznych requestów do serwera. Po więcej zapraszam do <a href="http://hacks.mozilla.org/2012/02/spdy-brings-responsive-and-scalable-transport-to-firefox-11/"/>źródła na stronie Mozilli</a></p>
<!-- PHP 5.x --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebBricks?a=XbYhTHSCXBg:TSrCMDHKUGY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebBricks?a=XbYhTHSCXBg:TSrCMDHKUGY:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebBricks/~4/XbYhTHSCXBg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2012/02/spdy-w-najnowszym-firefoxie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.grzegorzpawlik.com/2012/02/spdy-w-najnowszym-firefoxie/</feedburner:origLink></item>
		<item>
		<title>TDD z przymróżeniem oka</title>
		<link>http://feedproxy.google.com/~r/WebBricks/~3/BGW3ToUHekw/</link>
		<comments>http://blog.grzegorzpawlik.com/2012/01/tdd-z-przymrozeniem-oka/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 13:57:06 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Inne]]></category>

		<guid isPermaLink="false">http://blog.grzegorzpawlik.com/?p=1733</guid>
		<description><![CDATA[Tutorial Driven Development &#8211; kiedy stwierdzasz, że masz za mało motywacji, żeby się nauczyć kompletnie nowej technologii tak po prostu. Angażujesz się jednak w projekt, który wymaga jej użycia. Jesteś kompletnie zielony, więc cykl pracy wygląda mniej więcej tak: nowy &#8230; <a href="http://blog.grzegorzpawlik.com/2012/01/tdd-z-przymrozeniem-oka/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Tutorial Driven Development &#8211; kiedy stwierdzasz, że masz za mało motywacji, żeby się nauczyć kompletnie nowej technologii tak po prostu. Angażujesz się jednak w projekt, który wymaga jej użycia. </p>
<p>Jesteś kompletnie zielony, więc cykl pracy wygląda mniej więcej tak:</p>
<ol>
<li>nowy problem</li>
<li>google</li>
<li>znajdujesz tutorial (lub odpowiedź na stack-overflow), który go (lub wystarczająco podobny) rozwiązuje</li>
<li>implementujesz rozwiązanie zgodnie z tekstem</li>
<li>dostosowujesz do swoich potrzeb</li>
<li>powtarzasz cykl</li>
</ol>
<p>Po pewnym czasie listę można zredukować o punkt 4 &#8211; od razu przystępujemy do modyfikacji. Po kolejnych cyklach pomijamy punkt 2 i wiemy, że analogie są w napisanym przez nas kodzie- musimy sobie przypomnieć &#8220;jak to się robiło&#8221;. Coraz mniej też jest problemów, które w ten sposób potrzebujemy rozwiązać aż w końcu sięgamy po tą technikę tak rzadko, że już nie można mówić o Tutorial Driven Development. <strong>Czujemy się swobodnie z nową technologią</strong>, a z tąd już prosta (choć długa) droga do zostania ekspertem.</p>
<div id="attachment_1751" class="wp-caption aligncenter" style="width: 510px"><a href="http://blog.grzegorzpawlik.com/wp-content/uploads/2012/01/proffesional.jpg" rel="lightbox[1733]" title="."><img src="http://blog.grzegorzpawlik.com/wp-content/uploads/2012/01/proffesional.jpg" alt="" title="." width="500" height="333" class="size-full wp-image-1751" /></a><p class="wp-caption-text">foto: Sigurd R</p></div>
<p>Ps. Ten wpis miał być humorystyczny, ale w trakcie pisania uświadomiłem sobie, że opisuję koncepcję <a href="http://en.wikipedia.org/wiki/Shuhari" title="Shu-ha-ri">Shu-ha-ri</a>).</p>
<!-- PHP 5.x --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebBricks?a=BGW3ToUHekw:AfPe4wbH4-4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebBricks?a=BGW3ToUHekw:AfPe4wbH4-4:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebBricks/~4/BGW3ToUHekw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2012/01/tdd-z-przymrozeniem-oka/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.grzegorzpawlik.com/2012/01/tdd-z-przymrozeniem-oka/</feedburner:origLink></item>
		<item>
		<title>Świetna książka PHP: Hight quality frameworks and applications</title>
		<link>http://feedproxy.google.com/~r/WebBricks/~3/srtHVW_GTzM/</link>
		<comments>http://blog.grzegorzpawlik.com/2012/01/swietna-ksiazka-php-hight-quality-frameworks-and-applications/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 17:06:00 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[książki]]></category>
		<category><![CDATA[Cont. Integration]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[unit tests]]></category>

		<guid isPermaLink="false">http://blog.grzegorzpawlik.com/?p=1720</guid>
		<description><![CDATA[Świetna dla każdego, kto pracuje na systemach z zaszłościami (Legacy Systems) myśli, że refaktoring takich systemów nie jest możliwy testy automatyczne muszą być równie przyjemne jak hemoroidy boi się, że aplikacja, w którą zainwestował już sporo powoli staje się niemożliwa &#8230; <a href="http://blog.grzegorzpawlik.com/2012/01/swietna-ksiazka-php-hight-quality-frameworks-and-applications/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_1727" class="wp-caption alignleft" style="width: 310px"><a href="&quot;http://www.amazon.com/gp/product/0470872497/ref=as_li_ss_tl?ie=UTF8&amp;tag=webbricks-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470872497"><img src="http://blog.grzegorzpawlik.com/wp-content/uploads/2012/01/hqfaa.png" alt="Real-Worls Solutions for Developing High Quality PHP Frameworks and Applications" title="Designing Hight Quality Frameworks and Applications" width="300" height="300" class="size-full wp-image-1727" /></a><p class="wp-caption-text">Real-Worls Solutions for Developing High Quality PHP Frameworks and Applications</p></div><br />
Świetna dla każdego, kto </p>
<ul>
<li>pracuje na systemach z zaszłościami (Legacy Systems)</li>
<li>myśli, że refaktoring takich systemów nie jest możliwy</li>
<li>testy automatyczne muszą być równie przyjemne jak hemoroidy</li>
<li>boi się, że aplikacja, w którą zainwestował już sporo powoli staje się niemożliwa w utrzymaniu</li>
<li>myśli, że system, którego używa od lat trzeba przepisać od zera</li>
</ul>
<p>
Pozycja zdecudowanie nie jest przeznaczona dla tych, którzy zaczynają swoją przygodę z PHP. Jeśli jednak już okrzepłeś i szukasz czegoś więcej &#8211; polecam gorąco.</p>
<!-- PHP 5.x --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebBricks?a=srtHVW_GTzM:QSFK1y4Hbrw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebBricks?a=srtHVW_GTzM:QSFK1y4Hbrw:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebBricks/~4/srtHVW_GTzM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2012/01/swietna-ksiazka-php-hight-quality-frameworks-and-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.grzegorzpawlik.com/2012/01/swietna-ksiazka-php-hight-quality-frameworks-and-applications/</feedburner:origLink></item>
		<item>
		<title>Czego można się spodziewać w ECMAScript 6.</title>
		<link>http://feedproxy.google.com/~r/WebBricks/~3/-6WYaH8anzc/</link>
		<comments>http://blog.grzegorzpawlik.com/2011/12/czego-mozna-sie-spodziewac-w-es6/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 22:45:02 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[JS and friends]]></category>
		<category><![CDATA[es6]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.grzegorzpawlik.com/?p=1710</guid>
		<description><![CDATA[Naprawdę ciekawe video dla każdego, kto pracuje w JavaScripcie. Jeśli masz 50 minut &#8211; gorąco polecam, szczególnie jeśli pracujesz z JavaSriptem.]]></description>
			<content:encoded><![CDATA[<p>Naprawdę ciekawe video dla każdego, kto pracuje w JavaScripcie. Jeśli masz 50 minut &#8211; gorąco polecam, szczególnie jeśli pracujesz z JavaSriptem.</p>
<p><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/u4IdoBU1uKE?version=3&#038;feature=player_detailpage"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/u4IdoBU1uKE?version=3&#038;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360"></object></p>
<!-- PHP 5.x --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebBricks?a=-6WYaH8anzc:I_mkdEDJ9Ug:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebBricks?a=-6WYaH8anzc:I_mkdEDJ9Ug:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebBricks/~4/-6WYaH8anzc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2011/12/czego-mozna-sie-spodziewac-w-es6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<enclosure url="http://www.youtube.com/v/u4IdoBU1uKE?version=3&amp;#038;feature=player_detailpage" length="3283" type="application/x-shockwave-flash" /><media:content url="http://www.youtube.com/v/u4IdoBU1uKE?version=3&amp;#038;feature=player_detailpage" fileSize="3283" type="application/x-shockwave-flash" /><feedburner:origLink>http://blog.grzegorzpawlik.com/2011/12/czego-mozna-sie-spodziewac-w-es6/</feedburner:origLink></item>
		<item>
		<title>znalezione w kodzie</title>
		<link>http://feedproxy.google.com/~r/WebBricks/~3/mqi4KFbnnSc/</link>
		<comments>http://blog.grzegorzpawlik.com/2011/12/znalezione-w-kodzie/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 12:42:46 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Inne]]></category>

		<guid isPermaLink="false">http://blog.grzegorzpawlik.com/?p=1706</guid>
		<description><![CDATA[//check if we dont have crap after parsing //there should be function for it or something]]></description>
			<content:encoded><![CDATA[<pre>
	//check if we dont have crap after parsing
	//there should be function for it or something
</pre>
<!-- PHP 5.x --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebBricks?a=mqi4KFbnnSc:vArC-r5u61U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebBricks?a=mqi4KFbnnSc:vArC-r5u61U:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebBricks/~4/mqi4KFbnnSc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2011/12/znalezione-w-kodzie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.grzegorzpawlik.com/2011/12/znalezione-w-kodzie/</feedburner:origLink></item>
		<item>
		<title>Zespół programistów jest jak maszyna</title>
		<link>http://feedproxy.google.com/~r/WebBricks/~3/e56L8p4sA98/</link>
		<comments>http://blog.grzegorzpawlik.com/2011/11/zespol-programistow-jest-jak-maszyna/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 16:30:40 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Inne]]></category>

		<guid isPermaLink="false">http://blog.grzegorzpawlik.com/?p=1696</guid>
		<description><![CDATA[I nie chodzi mi o to, że można członków zespołu traktować jak trybiki i dowolnie wymieniać. Chyba, że wyobrazisz sobie ręcznie robiony, szwajcarski zegarek, w którym każdy trybik jest długo i dokładnie szlifowany, aby pasował do reszty (wymiana go jest &#8230; <a href="http://blog.grzegorzpawlik.com/2011/11/zespol-programistow-jest-jak-maszyna/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I nie chodzi mi o to, że można członków zespołu traktować jak trybiki i dowolnie wymieniać. Chyba, że wyobrazisz sobie ręcznie robiony, szwajcarski zegarek, w którym każdy trybik jest długo i dokładnie szlifowany, aby pasował do reszty (wymiana go jest możliwa, ale zdajesz sobie sprawę z kosztów).</p>
<p>Ale wróćmy do głównego wątku. Jeśli nie byłeś nigdy członkiem takiego zespołu, a chciałbyś takim zarządzać, to czytaj uważnie. </p>
<p>Z natury <a href="http://blog.grzegorzpawlik.com/2008/06/czy-kazdy-moze-byc-programista/" title="Czy każdy może być programistą?">jestem leniwy</a>. Ale jestem dość specyficznym leniem, który nie lubi nic nie robić. Dlatego w ogóle zostałem programistą &#8211; lubię automatyzować i ulepszać rzeczy, które są nudne i żmudne do ręcznego wykonywania.</p>
<p>Zatem zaczął mi doskwierać pewien proces. Przy pewnym projekcie dość często musimy aktualizować utrzymywane systemy, które mają kilka instancji(w tej chwili 3, a ma być więcej). Wygląda to mniej więcej tak:</p>
<ol>
<li>zaloguj się na serwer</li>
<li>cd instancja#1</li>
<li>git pull</li>
<li>wpisz hasło</li>
<li>odpal migrację</li>
<li>cd ../instancja#2</li>
<li>git pull</li>
<li>wpisz hasło</li>
<li>odpal migrację</li>
<li>cd ../instancja#3</li>
<li>git pull</li>
<li>wpisz hasło</li>
<li>odpal migrację</li>
<li>TADA!</li>
</ol>
<p>Serio. Pierwszym krokiem było napisanie skryptu, które te kroki odpala samodzielnie. Zaczęło to wyglądać tak:</p>
<ol>
<li>zaloguj się na serwer</li>
<li>./update-me.sh</li>
<li>wpisz hasło</li>
<li>wpisz hasło</li>
<li>wpisz hasło</li>
</ol>
<p>Drugim krokiem było skonfigurowanie GITa tak, aby nie wymagał hasła na niektórych maszynach (<a href="http://linuxproblem.org/art_9.html">przy pomocy kluczy rsa</a>) Proces uprościł się do</p>
<ol>
<li>zaloguj się na serwer</li>
<li>./update-me.sh</li>
</ol>
<p>Jaki jest efekt? Pierwszy, który się narzuca to oszczędność czasu. Zakładając, że taki update odbywał się 3 razy dziennie to zaoszczędziliśmy jakąś minutę. Nie wydaje się to rozsądne, gdyż oba zadania zajęły mi kilka godzin. Z księgowego punktu widzenia mamy stratę.</p>
<p>Jednak uważny obserwator mógł stwierdzić, że mamy w tym projekcie instancję główną i &#8220;towarzyszące&#8221;. W pierwotnym, ręcznym, procesie pozostałe dwie często zostawały w tyle. Rodziło to problemy przy testowaniu i mergowaniu zmian. </p>
<p>Dodatkowo prosty update to częsty update, zatem i testerzy nie muszą się dopraszać, żeby zaktualizować wersje, bo zwyczajnie są w najnowszej wersji.</p>
<p>Wracając do mojej tezy: Zespół to maszyna, programiści to (nie tak łatwo wymienialne) trybiki, procesy to miejsca, gdzie trybiki i inne części się ścierają. Niedoświadczonemu operatorowi może się wydawać, że przestoje spowodowane oliwieniem maszynerii to stracone pieniądze. W końcu przez te X godzin mogła wyprodukować Y $$$.</p>
<p>Refaktoring, automatyzacja i inne usprawnienia oliwią procesy w zespole programistów. Gdy nie ma niepotrzebnych tarć można rozwinąć optymalną prędkość, a awarie są mniej prawdopodobne.</p>
<!-- PHP 5.x --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebBricks?a=e56L8p4sA98:ERaZdUyWHy0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebBricks?a=e56L8p4sA98:ERaZdUyWHy0:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebBricks/~4/e56L8p4sA98" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2011/11/zespol-programistow-jest-jak-maszyna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.grzegorzpawlik.com/2011/11/zespol-programistow-jest-jak-maszyna/</feedburner:origLink></item>
		<item>
		<title>Różne różności…</title>
		<link>http://feedproxy.google.com/~r/WebBricks/~3/nJ_gy84AhDo/</link>
		<comments>http://blog.grzegorzpawlik.com/2011/10/rozne-roznosci/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 16:54:02 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Ciekawe cytaty]]></category>
		<category><![CDATA[Inne]]></category>
		<category><![CDATA[książki]]></category>

		<guid isPermaLink="false">http://blog.grzegorzpawlik.com/?p=1668</guid>
		<description><![CDATA[W prawdzie nie zdarza mi się pisać o marketingu internetowym etc., ale zebrało mi się kilka linków, którymi chciałbym się z Wami podzielić. Ciekawa analiza czterech gigantów: Apple, Google, Microsoft i Google. I dlaczego Amazon jest na dobrej drodze, aby &#8230; <a href="http://blog.grzegorzpawlik.com/2011/10/rozne-roznosci/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>W prawdzie nie zdarza mi się pisać o marketingu internetowym etc., ale zebrało mi się kilka linków, którymi chciałbym się z Wami podzielić.</p>
<h2>Ciekawa analiza czterech gigantów: Apple, Google, Microsoft i Google.</h2>
<p>I dlaczego <a href="http://www.digitaltrends.com/mobile/our-kindle-fire-impressions-and-why-amazon-is-destined-to-dominate/" title="Dominacja Amazona?">Amazon jest na dobrej drodze, aby osiągnąć dominację na rynku</a>?</p>
<p>Pozwolę sobie zacytować charakterystykę wielkiej czwórki z tego artykułu</p>
<blockquote cite="http://www.digitaltrends.com/mobile/our-kindle-fire-impressions-and-why-amazon-is-destined-to-dominate/"><p>
Why Amazon will lead the big four:</p>
<ul>
<li>Apple sells content and writes software to sell hardware. It is a hardware company.</li>
<li>Microsoft sells content and makes hardware to sell software. It is a software company.</li>
<li>Google sells or gives away content and software to sell advertisements. It is an ad sales company.</li>
<li>Amazon sells or gives away hardware and software to sell content. It is an online retailer — a content </li>
<p>company.</ul>
</blockquote>
<h2>Interesujące przemyślenia dotyczące technologii flash i jej przyszłości</h2>
<p><a href="http://mir.aculo.us/2011/09/15/more-thoughts-on-flash-from-microsoft-no-less/?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+miraculous+%28mir.aculo.us%29">Czy flash ma przyszłość?</a>. Co myśli o tym <a href="http://www.apple.com/hotnews/thoughts-on-flash/">Steve Jobs</a> i <a href="https://blogs.msdn.com/b/b8/archive/2011/09/14/metro-style-browsing-and-plug-in-free-html5.aspx">Dean Hachamovitch (jeden z leaderów zespołu w Microsofcie)</a>?</p>
<p>Bardzo ciekawy fragment, który oddaje filozofię Apple, jako całości:</p>
<blockquote cite="http://www.apple.com/hotnews/thoughts-on-flash/"><p>
If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.
</p></blockquote>
<p>Przyznam się, że też za flashem nie będę płakał. Nigdy nie miał sensownego wsparcia na platformy linuxowe. Do niedawna domyślnie każdy element flash miałem zablokowany (flashblock)&#8230;</p>
<h2>Dla tych, którzy lubią społeczne aspekty sieci i marketingu&#8230;</h2>
<p>Poradnik <a href="http://www.distilled.net/linkbait-guide/">jak przygotować skuteczną infografikę</a>. Jeśli przygotujesz jakąś przy pomocy tych wskazówek &#8211; pochwal się proszę w komentarzu.</p>
<h2>Dla estetów i całej reszty</h2>
<p>Ci pierwsi dostaną argumenty za, ci drudzy mają okazję przekonać się dlaczego jest istotna i <a href="http://www.squidoo.com/getting-smart-about-typography">skąd czerpać odpowiednią wiedzę o typografii</a>.</p>
<h2>I na koniec, żeby było coś o projektach stricte informatycznych.</h2>
<blockquote cire="http://www.devblogi.pl/2011/09/czy-twoje-oprogramowanie-jest.html"><p>
Kto rozwija plany testów dla oprogramowania open-source? Kto aktualizuje zrzuty ekranów w instrukcji użytkownika i pomocy online? Oraz kto tłumaczy dokumentację na polski i turecki? Kto weryfikuje, czy dana funkcjonalność nie łamie Amerykańskiej Ustawy o Niepełnosprawnych, bądź Niemieckich Praw odnośnie Prywatności? Wtedy, gdy pracowałem nad Linuxem, odpowiedzią było &#8220;Nikt. Nie ma czegoś takiego jak plan testów, drukowana instrukcja użytkownika, jedyną dokumentacją, jaka istnieje, to ta po angielsku, oraz nikt nie przejmuje się zgodnością z jakimikolwiek prawami.&#8221; Może coś się pozmieniało od tamtego czasu.
</p></blockquote>
<p>Dowiedz się <a href="http://www.devblogi.pl/2011/09/czy-twoje-oprogramowanie-jest.html">dlaczego open source&#8217;owi lżej na sercu?</a></p>
<h2>Przy okazji (jeśli dotarłeś aż tutaj, to znaczy, że artykuł jest wystarczająco ciekawy)</h2>
<p>Noszę się z zamiarem kupna <a href="http://www.amazon.com/gp/product/B005890G8O/ref=famstripe_kt3g">kindle&#8217;a (nie tabletu)</a>, żeby między innymi mieć szybki dostęp do dobrej literatury branżowej (czyli anglojęzycznej) i artykułów takie jak te powyżej. Zatem jeśli mój blog wydał Ci się pomocny, jeśli wydaje Ci się, że jest coś wart &#8211; możesz rozważyć zafundowanie mi <a href="https://www.amazon.com/gp/gc/order-email?ie=UTF8&#038;ref_=gc_compchart_4ways_email">bonu podarunkowego amazona</a>. <strong>1$ jest super kwotą</strong> &#8211; możesz zapłacić na przykład z paypall&#8217;a. Możesz mi go wysłać na adres podaruj.mi.kindle@gmail.com :)<br />
Jeśli masz blog, to w wiadomości umieść swój adres &#8211; umieszczę go na swojej stronie, jeśli zechcesz.<br />
Będę też zachwycony, jeśli dołączysz też jakąś osobistą wiadomość od siebie.</p>
<!-- PHP 5.x --><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebBricks?a=nJ_gy84AhDo:HHg1qmm_qMs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebBricks?a=nJ_gy84AhDo:HHg1qmm_qMs:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/WebBricks?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebBricks/~4/nJ_gy84AhDo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2011/10/rozne-roznosci/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.grzegorzpawlik.com/2011/10/rozne-roznosci/</feedburner:origLink></item>
	<media:rating>nonadult</media:rating></channel>
</rss>

