<?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>Cudi - devBlog</title>
	<atom:link href="http://www.cudi.pl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cudi.pl</link>
	<description>Cudiego z kodem boje</description>
	<lastBuildDate>Sat, 27 Oct 2007 11:17:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Nowa Planeta PHP.pl</title>
		<link>http://www.cudi.pl/2007/08/30/nowa-planeta-phppl/</link>
		<comments>http://www.cudi.pl/2007/08/30/nowa-planeta-phppl/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 21:44:24 +0000</pubDate>
		<dc:creator>Tomasz Cudok</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP.pl]]></category>

		<guid isPermaLink="false">http://www.cudi.pl/2007/08/30/nowa-planeta-phppl/</guid>
		<description><![CDATA[Właśnie uruchomiłem nową wersję serwisu Planeta PHP.pl. Całość została przepisana praktycznie od nowa, ostał się tylko specyficzny, wortalowy layout. Planeta działa teraz w oparciu o framework symfony, który umożliwił bardzo szybkie odtworzenie starej funkcjonalności i dodanie kilku nowości. Oto najważniejsze z nich:

Lepsza kontrola nad blogami, dzięki procesowi weryfikacji autora bloga.
Panel zarządzania dla autorów, gdzie mogą [...]]]></description>
			<content:encoded><![CDATA[<p>Właśnie uruchomiłem nową wersję serwisu <a href="http://planeta.php.pl">Planeta PHP.pl</a>. Całość została przepisana praktycznie od nowa, ostał się tylko specyficzny, <a href="http://wortal.php.pl">wortalowy</a> layout. Planeta działa teraz w oparciu o <a href="http://www.symfony-project.com">framework symfony</a>, który umożliwił bardzo szybkie odtworzenie starej funkcjonalności i dodanie kilku nowości. Oto najważniejsze z nich:</p>
<ul>
<li>Lepsza kontrola nad blogami, dzięki procesowi weryfikacji autora bloga.</li>
<li><a href="http://planeta.php.pl/zarzadzaj">Panel zarządzania</a> dla autorów, gdzie mogą zmienić informacje o blogu, a także proponować nowe tagi. Panel jest zintegrowany z kontem na forum, więc nie ma potrzeby tworzenia nowej pary login-hasło. Co za tym idzie, wymagane jest posiadanie konta na <a href="http://forum.php.pl">Forum PHP.pl</a>. No chyba, że ktoś ma już dodanego bloga, a nie potrzebuje dostępu do zarządzania.</li>
<li>Obsługa kanałów w formacie <a href="http://pl.wikipedia.org/wiki/Atom_(standard)">ATOM</a>. Również kanał planety jest teraz w tym formacie.</li>
<li>Poprawki w layoucie, małe porządki w sidebarze.</li>
<li>Dodanie stron informacyjnych (<a href="http://planeta.php.pl/kontakt">Kontakt</a> i <a href="http://planeta.php.pl/o_planecie">O planecie</a>)</li>
</ul>
<p>Wątpliwości może budzić proces weryfikacji. Zdarzało się w przeszłości, że planeta agregowała blog osoby, która w ogóle o tym nie wiedziała i nie wyrażała na to zgody. Aby zapobiec takiej sytuacji, każdy nowo dodany blog musi zostać zweryfikowany. Zapożyczyliśmy wynalazek Google (przynajmniej tak mi się wydaje, choć nie wykluczam, że ktoś wymyślił to dużo wcześniej): aby mieć pewność, że osoba, która dodała blog jest jego autorem, musi ona wrzucić plik o podanej (losowo wygenerowanej) nazwie na serwer z blogiem. Planeta sprawdza, czy plik istnieje i jeśli tak jest, blog zostaje zweryfikowany. Potem jeszcze musi zostać zaakceptowany przez administratorów &#8211; powiadomienie o akceptacji (bądź też, w skrajnych przypadkach, odrzuceniu) bloga przychodzi na adres e-mail, wykorzystywany na <a href="http://forum.php.pl">Forum PHP.pl</a>.</p>
<p>Osoby, które dodały blogi w starej wersji również muszą przejść proces weryfikacji, jeśli chcą mieć dostęp do zarządzania. Dla nich przygotowany został <a href="http://planeta.php.pl/blog/verification">oddzielny formularz</a>. Proces wygląda dokładnie tak samo, jak w przypadku nowo dodanych blogów. Oczywiście, nie jest on obowiązkowy, planeta będzie cały czas agregować treści z tych blogów.</p>
<p>Wszelkie sugestie jak zwykle mile widziane.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cudi.pl/2007/08/30/nowa-planeta-phppl/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Wordpress + OpenID + Greasemonkey + PHP = &#8230;</title>
		<link>http://www.cudi.pl/2007/02/17/wordpress-openid-greasemonkey-php/</link>
		<comments>http://www.cudi.pl/2007/02/17/wordpress-openid-greasemonkey-php/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 21:01:49 +0000</pubDate>
		<dc:creator>Tomasz Cudok</dc:creator>
				<category><![CDATA[OpenID]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programowanie]]></category>

		<guid isPermaLink="false">http://www.cudi.pl/2007/02/17/wordpress-openid-greasemonkey-php/</guid>
		<description><![CDATA[Największą wadą OpenID w tej chwili jest fakt, że nawet mając już konto na serwerze tożsamości, nie bardzo jest do czego swój identyfikator wykorzystać. Z Wikitravel czy Mag.nolii raczej nie korzystam, a blogów, które umożliwiają dodawanie komentarzy z wykorzystaniem OpenID (zamiast standardowego Nick + E-mail) jest w tej chwili ledwie kilkanaście, jeśli weźmiemy pod uwagę [...]]]></description>
			<content:encoded><![CDATA[<p>Największą wadą OpenID w tej chwili jest fakt, że nawet mając już konto na serwerze tożsamości, nie bardzo jest do czego swój identyfikator wykorzystać. Z Wikitravel czy Mag.nolii raczej nie korzystam, a blogów, które umożliwiają dodawanie komentarzy z wykorzystaniem OpenID (zamiast standardowego Nick + E-mail) jest w tej chwili ledwie <a href="http://wiki.identity20.pl/index.php?title=Polskie_blogi_korzystaj%C4%85ce_z_OpenID">kilkanaście</a>, jeśli weźmiemy pod uwagę blogi polskojęzyczne. Logowanie się za pomocą OpenID jest bardzo wygodne, gdy raz się tego spróbuje, wpisywanie swoich danych przy rejestracji/dodawaniu komentarza/postu/etc. przychodzi z dużym trudem. Dlatego, nie czekając aż OpenID upowszechni się mocniej, postanowiłem sam umożliwić sobie korzystanie z niego w większej ilości serwisów.<span id="more-32"></span></p>
<p>Pomysł jest dość prosty. Jako platformę docelową wybrałem Wordpressa, ponieważ jest najpopularniejszą platformą blogową. Przy użyciu skryptu Greasemonkey dodaję do formularza dodowania komentarzy pole na idenyfikator OpenID. Oczywiście, jeśli ktoś zmienił atrybut id bądź action formularza, mój user.js pominie formularz i z OpenID nici. Na szczęście, w zasadzie nie ma potrzeby zmiany tych atrybutów, chyba, że ktoś ma zainstalowany plugin OpenID. W ten sposób wykluczone jest pojawienie się dwóch pól na identyfikator. Oprócz dodania dodatkowego pola, user.js zmienia także atrybut action formularza, tak, by  formularz został wysłany na zewnętrzny serwer. Na tym serwerze czeka już prosty skrypt, który zapisuje dane z formularza do sesji i korzystając z podanego identyfikatora OpenID przekierowuje do dostawcy tożsamości. Tam następuje standardowa procedura potwierdzania tożsamości, po czym następuje przekierowanie do kolejnego małego skryptu PHP, na tym samym zewnętrznym serwerze. Te dane to oczywiście nick i e-mail, niezbędne do dodania komentarza. Skrypt wyciąga dane zachowane w sesji i w połączeniu z danymi od serwera tożsamości tworzy żądanie CURL i dodaje komentarz na blogu.  Mówiąc krótko, zewnętrzny serwer pośredniczy w komunikacji blog &lt;-&gt; dostawca tożsamości.</p>
<p>Sporządziłem proof-of-concept tego pomysłu. Jest jeszcze kilka niedoróbek, na razie testowałem to tylko na mojej lokalnej instalacji Wordpressa, ale nie widzę powodu, dla którego nie miałoby to działać gdzie indziej. Aby przetestować to rozwiązanie, potrzebny jest <a href="http://www.firefox.pl">Firefoks</a> z rozszerzeniem <a href="http://greasemonkey.mozdev.org/">Greasemonkey</a>, konto u <a href="http://openid.pl">dostawcy</a> <a href="http://myid.pl/">tożsamości</a> i ten mały skrypcik &#8211; <a href="http://www.cudi.pl/openid/wp-openid.user.js">wp-openid.user.js</a>.</p>
<p>Po instalacji na większości blogów opertych na Wordpress formularz dodawania komentarzy powinien mieć taki oto dodatek:</p>
<p><a href="http://www.cudi.pl/wordpress/wp-content/uploads/2007/02/wp-openid-form.png" title="Formularz"><img src="http://www.cudi.pl/wordpress/wp-content/uploads/2007/02/wp-openid-form.png" alt="Formularz" /></a></p>
<p>Wpisujemy nasz identyfikator OpenID, kilkamy w submit i po chwili powiniśmy wylądować na stronie naszego dostawcy tożsamości. Dodatkowo, jeśli wypełnimy pole Website, nasz nick będzie podlinkowany do podanej tam strony, zamiast do naszego identyfikatora.</p>
<p>Wracając do niedoróbek:</p>
<ul>
<li>nie działa dodawanie komentarzy za pomocą delegowanego identyfikatora</li>
<li>skrypt uniemożliwia tradycyjną metodę dodawania komentarzy</li>
<li>jeśli pojawi się błąd, będzie on zaprezentowany w niezbyt ładnej formie, na stronie zewnętrzenego serwera</li>
</ul>
<p>Oczywiście, wszystkie te niedoróbki kiedyś zostaną poprawione.</p>
<p>Zdaję sobie sprawę, że jest to rozwiązanie okrężną drogą i dużo lepiej byłoby, gdy ludzie, a przedewszystkim duże serwisy przeszły na OpenID. Ale póki co, takie rozwiązanie może zachęcić do tworzenia sobie identyfikatorów. A wraz ze wzrostem ilości osób posiadających swój identyfikator, wzrośnie też nacisk na twórców serwisów, by wdrażać rozwiązania na OpenID oparte.</p>
<p>Rozwiązanie ma jeszcze jedną, dość sporą wadę, którą jest zaufanie. Użytkownik takiego skryptu musi najpierw zaufać dostawcy tożsamości, a potem dodatkowo jeszcze mnie. Oczywiście, mogę zapewnić, że zapisywane są dane tylko niezbędne do komunikacji z serwerem tożsamości, czyli w zasadzie nic o samym użytkowniku, który ze skryptu korzysta, ale w internecie takie zapewnienie jest niewiele warte. Udostępnienie kodu źródłowego skryptów PHP działających na moim serwerze też rozwiązaniem nie jest, bo mogłem je wysłać na serwer z zmienionej formie. Dlatego jeśli nie masz do mnie zaufania, po prostu nie instaluj skryptu do Greasemonkey.</p>
<p>Najlepszym rozwiązniem problemu zaufania byłoby, gdyby to dostawca tożsamości udostępniał mechanizm umozliwiający działanie tego skryptu. Skoro użytkownik raz mu juz zaufał, to nie będzie problemów z ponownym powierzeniem zaufania. Ale w tym stadium skrypt nie nadaje się jeszcze do wejścia na głęboką wodę. Alternatywą, dość uciążliwą, jest instalacja niezbędnych plików na własnym serwerze. Wymaga to instalacji biblioteki do obsługi OpenID &#8211; <a href="http://www.openidenabled.com/openid/libraries/php">PHP OpenID</a>, oraz pobrania, rozpakowania i dostosowania do własnych potrzeb <a href="http://www.cudi.pl/openid/wp-openid.zip">plików PHP i skryptu Gresemonkey</a>. Jeśli ktoś się chce pobawić albo rozejrzeć, proszę bardzo.</p>
<p>Kończąc ten przydługi wpis, pozostaje mi tylko prosić o zgłaszanie wychwyconych błędów na maila (w dziale <a href="http://www.cudi.pl/?page_id=27">kontakt</a>), bądź w komentarzach do tego wpisu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cudi.pl/2007/02/17/wordpress-openid-greasemonkey-php/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Blog powrócił</title>
		<link>http://www.cudi.pl/2007/01/23/blog-powrocil/</link>
		<comments>http://www.cudi.pl/2007/01/23/blog-powrocil/#comments</comments>
		<pubDate>Tue, 23 Jan 2007 20:51:41 +0000</pubDate>
		<dc:creator>Tomasz Cudok</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[OpenID]]></category>

		<guid isPermaLink="false">http://www.cudi.pl/2007/01/23/blog-powrocil/</guid>
		<description><![CDATA[Tak się dziwnie składa, że jakieś 30% na tym blogu to ogłoszenia o nowym wyglądzie, bądź powrocie bloga z niebytu. No to podbijam tą statystykę jeszcze trochę w górę  
Blog miał wrócić po sesji, ale okazuje się, że sesja jest nudna. Ciężko się wziąć za coś większego, więc przeznaczyłem wieczór na zabawe z blogiem. [...]]]></description>
			<content:encoded><![CDATA[<p>Tak się dziwnie składa, że jakieś 30% na tym blogu to ogłoszenia o nowym wyglądzie, bądź powrocie bloga z niebytu. No to podbijam tą statystykę jeszcze trochę w górę <img src='http://www.cudi.pl/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Blog miał wrócić po sesji, ale okazuje się, że sesja jest nudna. Ciężko się wziąć za coś większego, więc przeznaczyłem wieczór na zabawe z blogiem. Postawiłem wszystko od nowa na Wordpressie 2.1, zmodyfikowałem lekko schemacik <a href="http://www.onehertz.com/portfolio/wordpress/mandigo/">Mandigo</a> i wrzuciłem kilka wtyczek.</p>
<p>Szczególnie ciekwą wtyczką jest <a href="http://the-notebook.org/12/01/2006/openid-comments-for-wordpress/">OpenID Comments</a>, która pozwala na dodawanie komentarzy przy użyciu <a href="http://openid.net">OpenID</a>. O OpenID można poczytać na <a href="http://wiki.identity20.pl/index.php?title=OpenID">Wiki Identity 2.0</a>, ciekawym źródłem informacji jest też <a href="http://blog.identity20.pl/">Blog Identify 2.0</a>, prowadzony przez Marcina Jagodzińskiego, autora bloga <a href="http://netto.blox.pl">net to</a>. Jeśli ktoś chce wypróbować tą wtyczkę, a nie posiada swojego OpenID, może zarejestrować się na jednym z wielu <a href="http://openid.net/wiki/index.php/OpenIDServers">zagranicznych serwerów tożsamości</a>, bądź też wypróbować pierwszy polski serwer OpenID &#8211; <a href="http://openid.pl/">OpenID.pl</a>.</p>
<p>A teraz idę się troszkę pouczyć, sesję, jaką by nie była, trzeba jakoś zaliczyć <img src='http://www.cudi.pl/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cudi.pl/2007/01/23/blog-powrocil/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Dzień programisty</title>
		<link>http://www.cudi.pl/2006/09/13/dzien-programisty/</link>
		<comments>http://www.cudi.pl/2006/09/13/dzien-programisty/#comments</comments>
		<pubDate>Wed, 13 Sep 2006 21:31:53 +0000</pubDate>
		<dc:creator>Tomasz Cudok</dc:creator>
				<category><![CDATA[Codzienność]]></category>

		<guid isPermaLink="false">http://www.cudi.pl/2006/09/13/dzien-programisty/</guid>
		<description><![CDATA[Za Wikipedią:
Dzień Programisty – święto programistów obchodzone w 256. dniu roku (28 = 256 to liczba wartości możliwych do uzyskania w jednym, najbardziej popularnym, czyli 8-bitowym bajcie). Tradycyjnie, programiści starają się uczcić ten dzień w jakiś niekonwencjonalny sposób. Dzień Programisty wypada 13 września, a w latach przestępnych 12 września.
Ja z okazji tego święta napisałem niekonwencjonalną [...]]]></description>
			<content:encoded><![CDATA[<p>Za <a href="http://pl.wikipedia.org/wiki/Dzie%C5%84_programisty">Wikipedią</a>:</p>
<blockquote><p>Dzień Programisty – święto programistów obchodzone w 256. dniu roku (28 = 256 to liczba wartości możliwych do uzyskania w jednym, najbardziej popularnym, czyli 8-bitowym bajcie). Tradycyjnie, programiści starają się uczcić ten dzień w jakiś niekonwencjonalny sposób. Dzień Programisty wypada 13 września, a w latach przestępnych 12 września.</p></blockquote>
<p>Ja z okazji tego święta napisałem niekonwencjonalną grę <img src='http://www.cudi.pl/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Niekonwencjonalną, bo nie ma w niej żadnego celu do wykonania. Można jedynie poruszać moim starym awatarem po ekranie za pomocą strzałek na klawiaturze. Skąd ten pomysł? O tym, że dziś jest dzień programisty dowiedziałem się 10 minut temu z <a href="http://www.wykop.pl">wykop.pl</a>, więc żeby się wyrobić przed północą, postanowiłem opublikować moje pierwsze zabawy z nowym frameworkiem MS do pisania gier na Windowsa (i Xboxa 360, choć jeszcze nie w tej wersji) &#8211; <a href="http://msdn.microsoft.com/directx/XNA/default.aspx">XNA</a>.</p>
<p>Kod jest jaki jest, bez komentarzy, ale zarazem bardzo prosty. Można się z niego nauczyć jak ładować tekstrury z plików graficznych, rysować je na ekranie oraz jak obsługiwać zdarzenia klawiatury. W niedługim czasie postaram się o jakiś bardziej rozbudowany przykład, może jakiś tutorial. A narazie, żeby nie przegapić kolejnego dnia programisty, oddaje do użytku, na licencji <acronym title="Róbta Co CHceta">RCCH</acronym>,  <a href="http://www.cudi.pl/downloads/XNATest.zip">spakowane źródełka projektu XNATest</a> (razem ze zbudowanymi binarkami w folderze bin/Debug, jeśli ktoś nie posiada VC# Express lub nie chce mi się instalować XNA).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cudi.pl/2006/09/13/dzien-programisty/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Google Image Labeler</title>
		<link>http://www.cudi.pl/2006/09/01/google-image-labeler/</link>
		<comments>http://www.cudi.pl/2006/09/01/google-image-labeler/#comments</comments>
		<pubDate>Fri, 01 Sep 2006 20:27:29 +0000</pubDate>
		<dc:creator>Tomasz Cudok</dc:creator>
				<category><![CDATA[Codzienność]]></category>

		<guid isPermaLink="false">http://www.cudi.pl/2006/09/01/google-image-labeler/</guid>
		<description><![CDATA[Google uruchomiło niedawno nową &#8220;usługę&#8221;, o nazwie Google Image Labeler. Jest to gra, polegająca na tagowaniu obrazków. Google przydziela nam losowo partnera, którego nie znamy i nie mamy żadnej możliwości komunikacji z nim. Naszym zadaniem jest wpisanie jak największej ilości etykiet dla prezentowanych nam obrazków. Jeśli oboje wpiszemy taką samą etykiete dla danego obrazka, dostajemy [...]]]></description>
			<content:encoded><![CDATA[<p>Google uruchomiło niedawno nową &#8220;usługę&#8221;, o nazwie <a href="http://images.google.com/imagelabeler/">Google Image Labeler</a>. Jest to gra, polegająca na tagowaniu obrazków. Google przydziela nam losowo partnera, którego nie znamy i nie mamy żadnej możliwości komunikacji z nim. Naszym zadaniem jest wpisanie jak największej ilości etykiet dla prezentowanych nam obrazków. Jeśli oboje wpiszemy taką samą etykiete dla danego obrazka, dostajemy punkty i Google prezentuje nam następny obrazek. Istnieje także możliwość zpasowania, jeśli obie strony uznają, że nie dadzą rady nic wymyślić. Taka sesja trwa 90 sekund, po czym prezentowany jest wynik.</p>
<p>Rozwiązanie genialne w swojej prostocie. Google daje ludziom rozrywkę (gra potrafi wciągnąć!), a w zamian dostaje dokładnie otagowane obrazki. Można powiedzieć, że Google robi z graczy tanią siłę roboczą, ale patrząc na to z innej strony, w końcu większość z nich będzie w przyszłości korzystać z dokładniejszego wyszukiwania obrazków w Google, tak więc również na tym skorzysta.</p>
<p>Jest to też dowód na to, że posiadanie w miejscu pracy <a href="http://www.time.com/time/photoessays/2006/inside_google/5.html">stołów bilardowych</a> i <a href="http://www.time.com/time/photoessays/2006/inside_google/3.html">basenów</a> sprzyja kreatywnemu myśleniu <img src='http://www.cudi.pl/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cudi.pl/2006/09/01/google-image-labeler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Planeta php.pl</title>
		<link>http://www.cudi.pl/2006/08/25/planeta-phppl/</link>
		<comments>http://www.cudi.pl/2006/08/25/planeta-phppl/#comments</comments>
		<pubDate>Fri, 25 Aug 2006 15:03:52 +0000</pubDate>
		<dc:creator>Tomasz Cudok</dc:creator>
				<category><![CDATA[PHP.pl]]></category>

		<guid isPermaLink="false">http://www.cudi.pl/2006/08/25/planeta-phppl/</guid>
		<description><![CDATA[W dniu dzisiejszym oficjalnie ruszyła Planeta php.pl, za kod której jestem odpowiedzialny. Jest to nic innego, jak agregator kanałów RSS blogów programistów PHP. Seaquest napisał newsa na wortalu, a mi nie pozostaje nic innego jak jeszcze raz zachęcić do zgłaszania swoich blogów poprzez formularz.
]]></description>
			<content:encoded><![CDATA[<p>W dniu dzisiejszym oficjalnie ruszyła <a href="http://planeta.php.pl">Planeta php.pl</a>, za kod której jestem odpowiedzialny. Jest to nic innego, jak agregator kanałów RSS blogów programistów PHP. Seaquest napisał <a href="http://wortal.php.pl/wortal/aktualnosci/nowosci/nowa_usluga_planeta">newsa</a> na wortalu, a mi nie pozostaje nic innego jak jeszcze raz zachęcić do zgłaszania swoich blogów poprzez <a href="http://planeta.php.pl/zaproponuj/">formularz</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cudi.pl/2006/08/25/planeta-phppl/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Konsola pod Windowsem</title>
		<link>http://www.cudi.pl/2006/08/22/konsola-pod-windowsem/</link>
		<comments>http://www.cudi.pl/2006/08/22/konsola-pod-windowsem/#comments</comments>
		<pubDate>Tue, 22 Aug 2006 18:31:20 +0000</pubDate>
		<dc:creator>Tomasz Cudok</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.cudi.pl/2006/08/22/konsola-pod-windowsem/</guid>
		<description><![CDATA[Od dłuższego czasu prawie codziennie mam styczność z Windowsowym cmd.exe. To, jak domyślna konsola Windowsa wygląda i jakie utrudnienia stwarza na każdym kroku pracy z nią, najlepiej świadczy o bylejakości niektórych rozwiązań Microsoftu.
Na całe szczęście, Microsoft zauważył to niedociągnięcie i postanowił opracować nowy shell, dający dużo większe możliwości piasnia skryptów, niż pliki *.bat i dający [...]]]></description>
			<content:encoded><![CDATA[<p>Od dłuższego czasu prawie codziennie mam styczność z Windowsowym cmd.exe. To, jak domyślna konsola Windowsa wygląda i jakie utrudnienia stwarza na każdym kroku pracy z nią, najlepiej świadczy o bylejakości niektórych rozwiązań Microsoftu.</p>
<p>Na całe szczęście, Microsoft zauważył to niedociągnięcie i postanowił opracować nowy shell, dający dużo większe możliwości piasnia skryptów, niż pliki *.bat i dający dużo większą swobodę, niż archaicznie podobne do DOSa cmd.exe. Od premiery <a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx">Windows PowerShell</a>, o którym mowa, minęło już całkiem sporo czasu (wcześniej projekt miał nazwę kodową Monad). W WPS dostajemy do ręki język skryptowy zbliżony do C# oraz możliwość z korzystania z dużej ilości klas .NET. Można w łatwy sposób tworzyć profile, aliasy (nareszcie ls pod Windowsem i to domyślnie!) funkcje i pewnie wiele innych ciekawych rzeczy, o których jeszcze mi nic nie wiadomo. Jednym słowem cud, miód i orzeszki <img src='http://www.cudi.pl/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-23"></span></p>
<p>Żeby nie być gołosłownym, zaprezentuje małą próbkę możliwości PowerShella, używając kodu znalezionego w artykule na <a href="http://wss.pl/" title="Portal Społeczności Windows Server System ">WSS.pl</a>, zatytułowanym <a href="http://wss.pl/" title="Portal Społeczności Windows Server System "></a><a href="http://wss.pl/Articles/7914.aspx">Wstęp do PowerShell</a>. Najpierw stworzymy sobie instancję klasy WebClient, pochodzącej z frameworku .NET:</p>
<p><code>PS E:\&gt; $webClient = new-object System.Net.WebClient</code></p>
<p>Teraz za pomocą utworzonego obiektu, pobierzemy RSS tego bloga:</p>
<p><code>PS E:\&gt; $rssData = $webClient.DownloadString("http://www.cudi.pl/feed/")</code></p>
<p>W tym momencie, możemy już wklepać $rssData i zobaczyć źródła feedu, ale nie psujmy sobie zabawy. Wrzucamy kod XML do obiektu XmlDocument:</p>
<p><code>PS E:\&gt; $xmlDoc = new-object System.Xml.XmlDocument<br />
PS E:\&gt; $xmlDoc.LoadXML($rssData)</code></p>
<p><code>I na koniec, korzystając z DOM i  komendy format-table, wyświetlimy tytuły wszystkich wpisów, znajdujących się w feedzie:</code></p>
<p><code>PS E:\&gt; $xmlDoc.getElementsByTagName("item") | format-table title</code></p>
<p>W 5 linijkach, bez korzystania z niestandardowych bibliotek, udało się wykonać całkiem złożone zadanie. Programiści PHP pewnie poczuli się swojo, widząc dolary jako pierwszy znak w nazwie zmiennych <img src='http://www.cudi.pl/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ale sam PowerShell jeszcze mi nie wystarcza. W dalszym ciągu, nawet po ostrym tuningu, są kłopoty z kopiowaniem i wklejaniem tekstu z i do konsoli, zmiana rozmiaru jest niewygodna, brakuje zakładek itd. I tu z pomocą przychodzi programik <a href="http://sourceforge.net/projects/console/">Console</a>, czyli okienkowa nakładka na cmd.exe. Programik jest mały, szybki i na licencji GPL, a na dodatek pozwala na ustawienie sobie innego shella niż cmd.exe. Oczywiście odrazu został on zastąpiony Windows PowerShellem. Wpis zakończę screenshotem prezentującym zarówno WPS jak i Console w akcji:</p>
<p><img src="http://www.cudi.pl/media/console_powershell.jpg" alt="Console z Windows Power Shell w akcji" title="Console z Windows Power Shell w akcji" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cudi.pl/2006/08/22/konsola-pod-windowsem/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Nowy wygląd bloga</title>
		<link>http://www.cudi.pl/2006/08/20/nowy-wyglad-bloga/</link>
		<comments>http://www.cudi.pl/2006/08/20/nowy-wyglad-bloga/#comments</comments>
		<pubDate>Sun, 20 Aug 2006 20:53:38 +0000</pubDate>
		<dc:creator>Tomasz Cudok</dc:creator>
				<category><![CDATA[Codzienność]]></category>

		<guid isPermaLink="false">http://www.cudi.pl/2006/08/20/nowy-wyglad-bloga/</guid>
		<description><![CDATA[Wczoraj wróciłem z urlopu, a jeszcze dziś czuje zmęczenie po podróży. Jako, że w takim stanie ciężko jest się wziąć za poważną pracę, postanowiłem zrobić coć prostego i pożytecznego zarazem.
W moim odczuciu poprzedni wygląd bloga pozostawiał wiele do życzenia. W układach jednokolumnowych zakochałem się od pierwszego wejrzenia, więc prędzej czy później do zmiany na taki [...]]]></description>
			<content:encoded><![CDATA[<p>Wczoraj wróciłem z urlopu, a jeszcze dziś czuje zmęczenie po podróży. Jako, że w takim stanie ciężko jest się wziąć za poważną pracę, postanowiłem zrobić coć prostego i pożytecznego zarazem.</p>
<p>W moim odczuciu poprzedni wygląd bloga pozostawiał wiele do życzenia. W układach jednokolumnowych zakochałem się od pierwszego wejrzenia, więc prędzej czy później do zmiany na taki układ na blogu musiało dojść. Wybór padł na skórkę  <a title="Black Minimalism" href="http://cinexl.net/blog">Black Minimalism</a>, która prezentuje się bardzo ładnie, choć nie jest pozbawiona wad.</p>
<p>Jak większość skórek do WP, nie jest w pełni kompatybilna z plikiem językowym. Za wszystkie niedociągnięcia na tym polu z góry przepraszam, ich poprawa troche potrwa, bo to mozolna praca, niestety. WordPress jest fatalnie napisany, za system szablonów robią pliki PHP z ogromną ilością wywołań funkcji, których nie wiadomo gdzie szukać. Zresztą cały kod WP wygląda podobnie. Stopka strony <a href="http://www.cudi.pl/">wordpress.org</a> z napisem &#8220;Code is poetry&#8221; po przejrzeniu sobie plików źródłowych może nieźle rozśmieszyć.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cudi.pl/2006/08/20/nowy-wyglad-bloga/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Zmiany na blogu</title>
		<link>http://www.cudi.pl/2006/07/23/zmiany-na-blogu/</link>
		<comments>http://www.cudi.pl/2006/07/23/zmiany-na-blogu/#comments</comments>
		<pubDate>Sat, 22 Jul 2006 22:09:30 +0000</pubDate>
		<dc:creator>Tomasz Cudok</dc:creator>
				<category><![CDATA[Codzienność]]></category>

		<guid isPermaLink="false">http://www.cudi.pl/2006/07/23/zmiany-na-blogu/</guid>
		<description><![CDATA[A konkretnie jedna, drobna zmiana, ale dla mnie bardzo znacząca. Poddałem lekkiej modyfikacji opis mojej osoby, znajdujący się po prawej stronie  
]]></description>
			<content:encoded><![CDATA[<p>A konkretnie jedna, drobna zmiana, ale dla mnie bardzo znacząca. Poddałem lekkiej modyfikacji opis mojej osoby, znajdujący się po prawej stronie <img src='http://www.cudi.pl/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cudi.pl/2006/07/23/zmiany-na-blogu/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Wykształcenie++</title>
		<link>http://www.cudi.pl/2006/07/11/wyksztalcenie/</link>
		<comments>http://www.cudi.pl/2006/07/11/wyksztalcenie/#comments</comments>
		<pubDate>Tue, 11 Jul 2006 12:11:01 +0000</pubDate>
		<dc:creator>Tomasz Cudok</dc:creator>
				<category><![CDATA[Codzienność]]></category>

		<guid isPermaLink="false">http://www.cudi.pl/2006/07/11/wyksztalcenie/</guid>
		<description><![CDATA[Dziś, mówiąc językiem RPG&#8217;owym, awansowałem na kolejny poziom   Odebrałem wyniki z matury, okazało się, że nie tylko udało mi się zdać (a to zaskoczenie  ), ale także poszło mi całkiem nieźle z najważniejszego przedmiotu, czyli matematyki. Z poziomu podstawowego uzyskałem 47 na 50 możliwych punktów (94%), z rozszerzonego 44/50 (88%). Patrząc na [...]]]></description>
			<content:encoded><![CDATA[<p>Dziś, mówiąc językiem RPG&#8217;owym, awansowałem na kolejny poziom <img src='http://www.cudi.pl/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Odebrałem wyniki z matury, okazało się, że nie tylko udało mi się zdać (a to zaskoczenie <img src='http://www.cudi.pl/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), ale także poszło mi całkiem nieźle z najważniejszego przedmiotu, czyli matematyki. Z poziomu podstawowego uzyskałem 47 na 50 możliwych punktów (94%), z rozszerzonego 44/50 (88%). Patrząc na <a href="http://www.cke.edu.pl/images/stories/Wyniki/mat_przyrodniczy.pdf">raport komisji egzaminacyjnych</a>, moje wyniki plasują się w kategoriach odpowiednio z matury podstawowej wysoki, a z rozszerzonej najwyższy, w skali ogólnopolskiej. Tak więc mogę być zadawolony, szczególnie z tego drugiego wyniku.</p>
<p>Teraz czeka mnie wydruk dokumentów, sesja u fotografa i wycieczka do Gliwic, na Politechnikę Śląską. Kierunek Informatyka jest najbardziej obleganym na tej uczelni. W zeszłym roku o jedno miejsce ubiegało się 5,4 osoby (kocham statystykę <img src='http://www.cudi.pl/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), czyli nie jest to jakaś strasznie duża ilość, jeśli popatrzeć na np. akademie medyczne. W zeszyłym roku przyjmowali od 70 punktów (wzór na ilość to punktów to 0,4 * p + 0,6 * r, gdzie p to wynik procentowy z matury podstawowej, r z rozszerzonej). Mój wynik to 90,4 punktu, więc mogę się czuć w miarę pewnie, tymbardziej, że wg. statystyk, matura rozszerzona wypadła gorzej niż w zeszłym roku.</p>
<p>A teraz trzeba jakoś oblać zdobycie średniego (pełnego) wykształcenia <img src='http://www.cudi.pl/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cudi.pl/2006/07/11/wyksztalcenie/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
