<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3" -->
<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/"
	>

<channel>
	<title>KMG Blog</title>
	<link>http://blog.kmg.hcm.pl</link>
	<description>blog, programowanie, php, java , c , c++, net, c#, csharp</description>
	<pubDate>Sat, 27 Nov 2010 14:33:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3</generator>
	<language>en</language>
			<item>
		<title>Tematyczny generator tekstu</title>
		<link>http://blog.kmg.hcm.pl/tematyczny-generator-tekstu/</link>
		<comments>http://blog.kmg.hcm.pl/tematyczny-generator-tekstu/#comments</comments>
		<pubDate>Sat, 27 Nov 2010 14:32:28 +0000</pubDate>
		<dc:creator>kmg</dc:creator>
		
		<category><![CDATA[Projekty]]></category>

		<guid isPermaLink="false">http://blog.kmg.hcm.pl/tematyczny-generator-tekstu/</guid>
		<description><![CDATA[Po części podpuszczony przez znajomego, który podobny efekt próbował osiągnąć (i udało mu się!), a po części z ciekawości postanowiłem popracować nad podobnym algorytmem - takim podobno &#8220;świętym graalem&#8221; jeśli chodzi o pozycjonowanie. 
Do tematu podszedłem od strony&#8230; ściany - zakupiłem dużą tablice typu whiteboard, mazaki, magnesy i&#8230; zacząłem rysowanie ;).
Efekty są&#8230; dla mnie niezadowalające [...]]]></description>
			<content:encoded><![CDATA[<p>Po części podpuszczony przez znajomego, który podobny efekt próbował osiągnąć (i udało mu się!), a po części z ciekawości postanowiłem popracować nad podobnym algorytmem - takim podobno &#8220;świętym graalem&#8221; jeśli chodzi o pozycjonowanie. </p>
<p>Do tematu podszedłem od strony&#8230; ściany - zakupiłem dużą tablice typu whiteboard, mazaki, magnesy i&#8230; zacząłem rysowanie ;).<br />
Efekty są&#8230; dla mnie niezadowalające - ale ja na pozycjonowaniu się nie znam. W sumie algorytm to praca - początkowo bardzo intensywna (po kilka godzin/h), później &#8220;z doskoku&#8221; - kilka godzin tygodniowo a czasami nic - ponad półroczna. W czasie pracy szybko okazało się, że whiteboard jest dużo za mała i powinna być nawet kilkadziesiąt razy większa. Dlatego uzupełnieniem whiteboard były początkowo zdjęcia, potem duże arkusze papieru (świetnie do tego nadają się duże kalendarze <img src='http://blog.kmg.hcm.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).<br />
W sumie czasami wyglądałem jak psychopata - jeśli oglądaliście &#8220;Wehikuł czasu&#8221; i ściany równań - rozumiecie o czym mowa ;).</p>
<p>Co odróżnia mój algorytm?<br />
Po pierwsze - stworzony został dla języka polskiego i dostosowanie go do innego języka jest trudne. Podczas tworzenia algorytmu rozmawiałem z polonistami i ludźmi, którzy znają dobrze konstukcję języka.<br />
Po drugie - tekst jest tematyczny.</p>
<p>Niestety -  tematyczność wymaga odpowiedniego gromadzenie (a raczej obróbkę zgromadzonych) danych. Ale to chyba i tak wymagane jest przez wszystkie generatory. Tekst za to nie wymaga wygenerowania kilkuset-megabajtowego &#8220;zaplecza&#8221;.</p>
<p>Algorytm działał&#8230; kiepsko. Oto przykładowe zdanie, które wygenerowane zostało do tekstu dotyczącego turystyki:</p>
<p>&#8220;Co roku, w czasie wakacji plaże oraz inne miejsca do których można się wybrać na zwykły spacer z noclegami ponieważ oprócz bogatej flory występuje tutaj również bogata fauna.&#8221;</p>
<p>Analizowałem podejscie przez kilka tygodni - już wydawało mi się błędne, gdy okazało się jednak, że błąd jest trywialny.</p>
<p>Niedługo przedstawie przykładowe wygenerowane teksty - muszę jednak wcześniej obrobić kilka tekstów na które chwilowo niezbyt mam czas. Niech będzie więc na razie tylko fragment dwu-zdaniowy:</p>
<p>&#8220;Zwardoń to miejscowość nadmorska, charakteryzująca się bogatą infrastrukturą turystyczną, która rokrocznie przyciąga setki turystów. Zalicza się do nich: szereg czystych piaszczystych plaż, baseny, oraz wyciągi narciarskie.&#8221;</p>
<p>Jak widać nie jest bezbłednie - po pierwsze Zwardoń to miejscowość, która z morzem wspólnego ma tyle samo co z oceanem i pustynią, a po drugie - wciąż zdarzają się błędy gramatyczne. Ale to chyba dobry początek - prawda?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kmg.hcm.pl/tematyczny-generator-tekstu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Darmowy Internet?</title>
		<link>http://blog.kmg.hcm.pl/darmowy-internet/</link>
		<comments>http://blog.kmg.hcm.pl/darmowy-internet/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 11:31:56 +0000</pubDate>
		<dc:creator>kmg</dc:creator>
		
		<category><![CDATA[Praca]]></category>

		<guid isPermaLink="false">http://blog.kmg.hcm.pl/darmowy-internet/</guid>
		<description><![CDATA[W dniu dzisiejszym pojawił się na portalu gazeta.pl artykuł o darmowym dostępie do Internetu (http://technologie.gazeta.pl/technologie/1,82011,6942434,Mobilny_internet_w_Polsce_bedzie___za_darmo.html). Ponieważ to moja branża, a lektura tekstu pozostawia wiele niejasności – postanowiłem nabazgrać troszkę na ten temat.  Postaram się uprościć trochę rzeczy i wskazać przede wszystkim błędy gazeta.pl.
Artykuł o przetargu pojawił się dziś, co może sugerować, że to jakaś nowość. [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; line-height: 115%; font-family: Tahoma, sans-serif"><font color="#C0C0C0" class="Apple-style-span">W dniu dzisiejszym pojawił się na portalu gazeta.pl artykuł o darmowym dostępie do Internetu (</font><a href="http://technologie.gazeta.pl/technologie/1,82011,6942434,Mobilny_internet_w_Polsce_bedzie___za_darmo.html"><font color="#C0C0C0" class="Apple-style-span">http://technologie.gazeta.pl/technologie/1,82011,6942434,Mobilny_internet_w_Polsce_bedzie___za_darmo.html</font></a><font color="#C0C0C0" class="Apple-style-span">). Ponieważ to moja branża, a lektura tekstu pozostawia wiele niejasności – postanowiłem nabazgrać troszkę na ten temat. </font><span><font color="#C0C0C0" class="Apple-style-span"> </font></span><font color="#C0C0C0" class="Apple-style-span">Postaram się uprościć trochę rzeczy i wskazać przede wszystkim błędy gazeta.pl.</font><font color="#C0C0C0" class="Apple-style-span"><o:p></o:p></font></span></p>
<p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; line-height: 115%; font-family: Tahoma, sans-serif"><font color="#C0C0C0" class="Apple-style-span">Artykuł o przetargu pojawił się dziś, co może sugerować, że to jakaś nowość. A to nie prawda – przetarg ogłoszony został jeśli dobrze pamiętam 19 maja 2009. Autor artykułu napisał:</font><font color="#C0C0C0" class="Apple-style-span"><o:p></o:p></font></span></p>
<p><span class="Apple-style-span" style="font-family: Tahoma; line-height: 14px; font-size: 13px; font-style: italic"><font color="#C0C0C0" class="Apple-style-span">„Jak podaje UKE, nowy przetarg ma wyłonić operatora, który wprowadzi usługę szerokopasmowego dostępu bezprzewodowego w całej Polsce. Zwycięzca przetargu na częstotliwości z zakresu 2570-2620 MHz ma zapewnić bezpłatny dostęp do mobilnego Internetu na terenie całego kraju”</font></span><font color="#C0C0C0" class="Apple-style-span"> </font>
<p class="MsoNormal" style="text-align: justify"><span class="apple-style-span"><span style="font-size: 10pt; line-height: 115%; font-family: Tahoma, sans-serif"><font color="#C0C0C0" class="Apple-style-span">I tutaj niestety kończą się prawdziwe rzeczy. Ale od początku. </font><font color="#C0C0C0" class="Apple-style-span"><o:p></o:p></font></span></span></p>
<p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; line-height: 115%; font-family: Tahoma, sans-serif"><font color="#C0C0C0" class="Apple-style-span">Przedmiotem przetargu jest więc jedna rezerwacja częstotliwości na obszarze całego kraju o szerokości 50 MHz. Nie rozumiem jakiegokolwiek związku przetargu z telefonią komórkową. Ponieważ GSM działa w paśmie 900 MHz, 1800 MHz. UMTS w paśmie 2100 MHz lub 900 MHz (w Polsce w planach jest budowa takiej sieci przez jednego z operatorów – może jeszcze coś w tym temacie kiedyś napisze). Jak to ma się do pasma 2.6 GHz (2600 MHz)? To już bardziej zbliżony jest bluetooth lub WiFi(2.4 GHz). Ale nie GSM ani UMTS – tak więc nic, co związane jest bezpośrednio z telefonią komórkową. </font><font color="#C0C0C0" class="Apple-style-span"><o:p></o:p></font></span></p>
<p><span class="Apple-style-span" style="font-family: Tahoma; line-height: 14px; font-size: 13px"><font color="#C0C0C0" class="Apple-style-span">Tak więc fragment:</font></span><font color="#C0C0C0" class="Apple-style-span"></font><br />
<blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; border-style: none; padding: 0px"><span class="Apple-style-span" style="font-family: Tahoma; line-height: 14px; font-size: 13px"><font color="#C0C0C0" class="Apple-style-span">„</font><span class="apple-style-span"><em><font color="#C0C0C0" class="Apple-style-span">w przypadku konieczności posiadania terminala z aktywną kartą SIM uczestnik przetargu powinien zapewnić możliwość pracy terminali z kartą SIM dowolnego operatora - podaje UKE.”</font></em></span></span></p></blockquote>
<p><span class="Apple-style-span" style="font-family: Tahoma; line-height: 14px; font-size: 13px"><font color="#C0C0C0" class="Apple-style-span">jest wprowadzaniem czytelnika w błąd. Obawiam się, że autor niestety błędnie stawia znak równości pomiędzy Internetem mobilnym a Internetem „przez komórkę”. Wysnuje tezę (mogę się mylić – ponieważ nie przeczytałem dokładnie dokumentacji przetargowej, ale obiecuję, że to zrobie i ewentualnie sprostuje), że UKE wcale nie mówi nic o Internecie mobilnym (!). Jest mowa o tym, że to przetarg „na rezerwacje częstotliwości z zakresu 2570-2620 MHz na obszarze całego kraju przeznaczonych do świadczenia usług telekomunikacyjnych w sieciach szerokopasmowych dostępu bezprzewodowego w służbie ruchomej”. Autor artykułu zapomina, że przenośność a mobilność to 2 różne sprawy.</font></span><span class="Apple-style-span" style="font-family: Tahoma; line-height: 14px; font-size: 13px"><font color="#C0C0C0" class="Apple-style-span">Jeśli nie GSM to co? Oczywiście WiMAX (o tym również kiedyś coś napisze ;)). Jaki? Jeśli mam rację co do braku wymagań mobilności to jakikolwiek (najpopularniejszy to wciąż 802.16d-2004). Jeśli się mylę – i chodzi o mobilność - 802.16e. Oczywiście WiMAX może być wykorzystywany tylko do połączenia ze sobą i z określonymi punktami styku urządzeń WiFi (i prawdopodobnie tak się stanie).</font></span><span class="Apple-style-span" style="font-family: Tahoma; line-height: 14px; font-size: 13px"><font color="#C0C0C0" class="Apple-style-span">Pojawiło się również sporo pytań czy taki Internet będzie rzeczywiście bezpłatny. Czy nie zapłacimy z niego z naszych podatków? Oczywiście odetnę się zupełnie od rozważań „nic nie jest bezpłatne, za wszystko bezpłatne płacimy z podatków”. Autor zapomniał w artykule o czymś ważnym. Oto fragment z dokumentacji przetargowej:</font></span><font color="#C0C0C0" class="Apple-style-span"></font><br />
<blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-width: initial; border-color: initial; border-style: none; padding: 0px"><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">Jednocześnie, każdy Uczestnik przetargu obowiązany jest podjąć zobowiązanie w zakresie wykorzystywania w okresie od rozpoczęcia wykorzystania częstotliwości do upływu 36 miesięcy od osiągnięcia na obszarze przetargowym progu 50% pokrycia ludnościowego nieodpłatnego powszechnego dostępu do sieci Internet z użyciem co najmniej 20% pojemności sieci z zakresu 2570 – 2620 MHz w celu zapewnienia nieodpłatnego powszechnego dostępu do sieci Internet poprzez sieć o charakterze otwartym i udostępniania tego dostępu</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">nieoznaczonemu gronu odbiorców, analogicznie do działających obecnie punktów dostępowych WiFi (tzw. hotspoty), na całym obszarze działania sieci, przy czym podmiot podejmujący powyższe zobowiązanie</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">zobowiązuje się także do tego, że:</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">1) świadczenie usług odpłatnych z wykorzystaniem częstotliwości objętych niniejszym przetargiem może się odbywać tylko pod warunkiem, że równocześnie na tym samym obszarze i w tym samym czasie zapewniony będzie bezpłatny powszechny dostęp do sieci Internet,</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span"> </font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">2) w przypadku gdy okresowe zapotrzebowanie na bezpłatny dostęp do Internetu, nie osiągnie 20% pojemności sieci działających z wykorzystaniem będących przedmiotem niniejszego przetargu częstotliwości z zakresu 2570 – 2620 MHz, wówczas podmiot wykorzystujący te częstotliwości będzie mógł w tym samym okresie zwiększyć procent pojemności przeznaczony do świadczenia usług odpłatnych, z zastrzeżeniem, że wykorzystywany system zarządzania ruchem, musi automatycznie i niezwłocznie przydzielić więcej pojemności, aż do określonego w zobowiązaniu limitu 20% pojemności dla ruchu w ramach dostępu bezpłatnego, jeśli zapotrzebowanie na pojemność, generowane w ramach dostępu bezpłatnego wzrośnie,</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span"> </font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">3) wprowadzić i utrzymywać mechanizm zarządzania ruchem w sieci zapewniający, iż:</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">a) czas jednorazowej sesji w ramach dostępu nieodpłatnego nie</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">będzie dłuższy niż 60 minut,</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">b) prędkość downlink w ramach dostępu nieodpłatnego dla jednego użytkownika będzie na poziomie nie mniejszym niż 128 kb/s i nie większym niż 256 kb/s, w ciągu pierwszych 12 miesięcy od deklarowanej daty rozpoczęcia świadczenia usługi, oraz nie mniejszym niż 256 kb/s i nie większym niż 512 kb/s w okresie</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">kolejnych 24 miesięcy,</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">c) jakiekolwiek ograniczenia treści lub protokołów dostępnych dla użytkownika korzystającego z dostępu nieodpłatnego nie będą dalej idące niż takie same ograniczenia stosowane dla użytkownika korzystającego z usług odpłatnych,</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px; font-style: italic" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span">d)organizacja i konfiguracja sieci oraz jej funkcjonalność, zapewni interoperacyjność z dostępnymi na rynku urządzeniami końcowymi.</font></span><span style="font-family: Tahoma; line-height: normal; font-size: 13px" class="Apple-style-span"><font color="#C0C0C0" class="Apple-style-span"> </font></span></p></blockquote>
<p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; line-height: 115%; font-family: Tahoma, sans-serif"><font color="#C0C0C0" class="Apple-style-span">No to po kolei. Na bezpłatny dostęp do Internetu operator na terenie całego kraju przeznaczy co najmniej 20% pasma – 10 MHz. Pozostałe 80% (40 MHz) będzie wykorzystywał komercyjnie. </font><span><font color="#C0C0C0" class="Apple-style-span"> </font></span><font color="#C0C0C0" class="Apple-style-span">Po co to? Takie coś zmniejsza atrakcyjność tego pasma, przez co operator będzie musiał płacić mniejsze roczne opłaty za częstotliwość oraz mniejszą opłatę jednorazową (mocno upraszczając). Ale w zamian za to będzie utrzymywał „sieć bezpłatną”. Jeśli jednak z sieci bezpłatnej będzie w danej chwili korzystać mniej osób, tak więc zapotrzebowanie na „bezpłatne” pasmo na danym obszarze będzie niższe niż 20% operator może wykorzystać je na potrzeby klientów komercyjnych (ale, jeśli zapotrzebowanie znowu się zwiększy musi zagwarantować je użytkownikom bezpłatnym – aż do pełnych 20%). </font><font color="#C0C0C0" class="Apple-style-span"><o:p></o:p></font></span></p>
<p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; line-height: 115%; font-family: Tahoma, sans-serif"><font color="#C0C0C0" class="Apple-style-span">Prędkość faktycznie ma wynosić 128kbps/256kbps– ale tylko w pieszych 12 miesiącach działania usługi. Po roku musi zostać zwiększona – 256kbps/512kbps. Sesja (od momentu połączenia) nie może trwać dłużej niż 60 minut – ale nie może być ograniczenia typu: „tylko godzina dziennie”. Wystarczy rozłączyć się i połączyć ponownie. A ponieważ z tego 10MHz’owego niekomercyjnego pasma operator nie może czerpać zysków również reklamy będą niedozwolone (to już moja interpretacja, powinien wypowiedzieć się ktoś bardziej zorientowany w prawie). </font><font color="#C0C0C0" class="Apple-style-span"><o:p></o:p></font></span></p>
<p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; line-height: 115%; font-family: Tahoma, sans-serif"><font color="#C0C0C0" class="Apple-style-span">Co jeszcze czego nie zapisano w artykule? Obowiązek oferowania bezpłatnego dostępu do Internetu wygasa dokładnie 3 lata po tym, jak sieć operatora wykorzystująca ów pasmo pokryje 50% ludności zamieszkującej obszar kraju. Później operator nie musi oferować usług bezpłatnych (i prawdopodobnie nie będzie).</font><font color="#C0C0C0" class="Apple-style-span"><o:p></o:p></font></span></p>
<p class="MsoNormal" style="text-align: justify"><span style="font-size: 10pt; line-height: 115%; font-family: Tahoma, sans-serif"><font color="#C0C0C0" class="Apple-style-span">Oj gazeto… tyle błędów…</font><o:p></o:p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kmg.hcm.pl/darmowy-internet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ja żyje&#8230;</title>
		<link>http://blog.kmg.hcm.pl/ja-zyje/</link>
		<comments>http://blog.kmg.hcm.pl/ja-zyje/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 11:35:03 +0000</pubDate>
		<dc:creator>kmg</dc:creator>
		
		<category><![CDATA[Pozostałe]]></category>

		<category><![CDATA[megane]]></category>

		<category><![CDATA[OC]]></category>

		<category><![CDATA[odszkodowanie]]></category>

		<category><![CDATA[polski wymiar sprawiedliwości]]></category>

		<category><![CDATA[renault]]></category>

		<category><![CDATA[sprawca]]></category>

		<category><![CDATA[sąd]]></category>

		<category><![CDATA[TU]]></category>

		<category><![CDATA[ubezpieczenie]]></category>

		<category><![CDATA[wypadek]]></category>

		<guid isPermaLink="false">http://blog.kmg.hcm.pl/ja-zyje/</guid>
		<description><![CDATA[Od ostatniego wpisu niedługo minie rok.
Tymczasem ja żyje!
Choć niewiele brakowało, abym nie mógł tego powiedzieć. Trochę czasu po tym, jak napisałem ostatni wpis miałem wypadek. W drodze do Szczecina moje auto (podczas ucieczki przed pojazdem wyprzedzającym &#8220;na trzeciego&#8221;) wpadło w poślizg i bokiem uderzyło w drzewo. Efekt: całkiem poważne obrażenia wewnętrzne, brak przyjemności, troche obrażeń [...]]]></description>
			<content:encoded><![CDATA[<p>Od ostatniego wpisu niedługo minie rok.<br />
Tymczasem ja żyje!</p>
<p>Choć niewiele brakowało, abym nie mógł tego powiedzieć. Trochę czasu po tym, jak napisałem ostatni wpis miałem wypadek. W drodze do Szczecina moje auto (podczas ucieczki przed pojazdem wyprzedzającym &#8220;na trzeciego&#8221;) wpadło w poślizg i bokiem uderzyło w drzewo. Efekt: całkiem poważne obrażenia wewnętrzne, brak przyjemności, troche obrażeń zewnętrzych - ogólnie kto chciał wiedzieć ten pewnie wie. Nie polecam.</p>
<p>Obecnie w wiekszości udało mi się wrócić do &#8216;normalnego&#8217; życia: skończyłem studia, pracuje wciąż tam gdzie pracowałem. Kończę pisać prace magisterską (która miała być gotowa już w czerwcu, ale przez wypadek lekko się przesunęło), przygotowuje się do obrony oraz rozmyślam nad robieniem doktoratu.</p>
<p>Oprócz tego walczę z polskim wymiarem &#8220;sprawiedliwości&#8221;. Mam nadzieję, że gdy wszystko się skończy nie będę musiał pisać o ostatniego słowa w cudzysłowiu. Bo okazuje się, że przyznanie się sprawcy do winy to zbyt mało, aby zakończyć sprawę :|. Długa historia, opowiem ją innym razem.Niestety musiałem zapoznać się w praktyce z wszystkimi zagadnieniami związanymi z ubezpieczeniami (z naciskiem na ubezpieczenie OC). Oczywiście - międzynarodowymi, bo sprawca jechał samochodem zarejestrowanym za granicą. W sumie na razie powiedzieć można tak: na likwidację szkody czeka się zgodnie z prawem miesiąc.</p>
<p>Ja czekam już (prawie) 8, a na podwórku mam wciąż rozbity wrak, którego nie mogę zezłomować (choć nadaje się tylko do kasacji) - nie oglądnął go nikt z TU likwidującego szkodę. Nie mogę z tego samego powodu go sprzedać. Nie mogę więc go również wyrejestrować (można to zrobić tylko w dwóch powyższych przypadkach). A zgodnie z prawem, zarejestrowany pojazd musi mieć ważne ubezpieczenie OC. Musiałem wiec w kwietniu wykupić OC na pojazd, który nie przejechał na własnych kołach nawet metra przez 5 miesięcy (w chwili przedłużania) i który już nawet metra nie przejedzie. Nigdy.A szkoda, bo to naprawde fajne i wdzięczne autko było.</p>
<p>No, ale najważniejsze, że jestem cały :).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kmg.hcm.pl/ja-zyje/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sklep internetowy w PHP i SQLite</title>
		<link>http://blog.kmg.hcm.pl/sklep-internetowy-w-php-i-sqlite/</link>
		<comments>http://blog.kmg.hcm.pl/sklep-internetowy-w-php-i-sqlite/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 15:40:44 +0000</pubDate>
		<dc:creator>kmg</dc:creator>
		
		<category><![CDATA[Pozostałe]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[sdj]]></category>

		<category><![CDATA[sdjournal]]></category>

		<category><![CDATA[sklep]]></category>

		<category><![CDATA[sql]]></category>

		<category><![CDATA[sqlite]]></category>

		<guid isPermaLink="false">http://blog.kmg.hcm.pl/sklep-internetowy-w-php-i-sqlite/</guid>
		<description><![CDATA[ &#8220;Gotowych rozwiązań na rynku e-commerce są setki. Znajdziemy gotowe skrypty o funkcjonalności systemów aukcyjnych, sklepów internetowych oraz systemów barterowych. To najczęściej sprawdzone i tanie rozwiązania, regularnie aktualizowane – dlatego skorzystanie z nich najczęściej bywa bardzo kuszące. Jednak czy zawsze uzasadnione? Najczęściej o wiele lepiej stworzyć własną platformę e-commerce. Nie jest to trudne – nam [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/11/okladka_listopad-kopia.thumbnail.jpg" style="padding-top: 0px; padding-right: 5px; padding-bottom: 5px; padding-left: 0px; float: left" alt="SDJ" /> &#8220;Gotowych rozwiązań na rynku e-commerce są setki. Znajdziemy gotowe skrypty o funkcjonalności systemów aukcyjnych, sklepów internetowych oraz systemów barterowych. To najczęściej sprawdzone i tanie rozwiązania, regularnie aktualizowane – dlatego skorzystanie z nich najczęściej bywa bardzo kuszące. Jednak czy zawsze uzasadnione? Najczęściej o wiele lepiej stworzyć własną platformę e-commerce. Nie jest to trudne – nam zajmie to 60 minut.&#8221; </p>
<p>To fragment nowego artykułu, który napisałem dla Software Developer&#8217;s Journal. Można przeczytać go oczywiście w magazynie oraz <a href="http://www.sdjournal.org/prt/view/aktualnosci/issue/921.html">tutaj</a> (po uprzedniej rejestracji).</p>
<p>Ponieważ temat jest całkiem obszerny, a objętość artykułu mocno ograniczona część źródeł nie znalazła się w magazynie.</p>
<p>Osoby zainteresowane źródłami mogą je pobrać <a href="http://blog.kmg.hcm.pl/download/sklep_php_sqlite.rar" target="_blank" title="Źródła">stąd</a>. Znajduje się tam <strong>przykładowa realizacja niektórych funkcji sklepu</strong> wykorzystując klasy omówione szczegółowo w artykule.</p>
<p>Ponieważ temat ma potencjał a artykuł wzbudził bardzo duże zainteresowanie postaram się <span style="font-weight: bold" class="Apple-style-span">rozbudowywać</span> źródła (oczywiście w ramach mojego wolnego czasu) wraz z odpowiednim opisem.</p>
<p>Nie wiem, czy wydawnictwo będzie zainteresowane publikacją artykułów dotyczących dalszej rozbudowy sklepu, tak więc jeśli jesteście zainteresowani dalszymi artykułami <strong>na ten temat</strong> zachęcam do odwiedzania tej strony co jakiś czas.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kmg.hcm.pl/sklep-internetowy-w-php-i-sqlite/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google maps, Virtual Earth</title>
		<link>http://blog.kmg.hcm.pl/google-maps-virtual-earth/</link>
		<comments>http://blog.kmg.hcm.pl/google-maps-virtual-earth/#comments</comments>
		<pubDate>Thu, 01 May 2008 11:47:31 +0000</pubDate>
		<dc:creator>kmg</dc:creator>
		
		<category><![CDATA[Pozostałe]]></category>

		<guid isPermaLink="false">http://blog.kmg.hcm.pl/google-maps-virtual-earth/</guid>
		<description><![CDATA[Virtual Earth to Microsoftowy odpowiednik Google Maps.
Moim zdaniem lepszy - przynajmniej ze względu na widok 3D . Stworzenie miasta 3D na pewno troszkę trwa - wiec raczej nie należy spodziewać się, że zobaczymy szybko polskie miasta - pomimo tego, że budować miasta mogą również użytkownicy. . Oczywiście Virtual Earth posiada również widok &#8220;2d&#8221;. Tutaj obie [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/vedenvercapitol1.jpg" title="3D"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/vedenvercapitol1.jpg" alt="3D" style="padding: 0px 5px 5px 0px; float: left" width="185" height="137" /></a>Virtual Earth to Microsoftowy odpowiednik Google Maps.</p>
<p>Moim zdaniem lepszy - przynajmniej ze względu na widok 3D . Stworzenie miasta 3D na pewno troszkę trwa - wiec raczej nie należy spodziewać się, że zobaczymy szybko polskie miasta - pomimo tego, że budować miasta mogą również użytkownicy. . Oczywiście Virtual Earth posiada również widok &#8220;2d&#8221;. Tutaj obie mapy są porównywalne.</p>
<p>Google Maps:</p>
<p><a href="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/googlemaps.jpg" title="Google Maps"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/googlemaps.jpg" alt="Google Maps" /></a></p>
<p>Virtual Earth:</p>
<p><a href="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/virtualearth.jpg" title="Virtual Earth"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/virtualearth.jpg" alt="Virtual Earth" /></a></p>
<p>Choć produkt Microsoftu wydaje się odrobinę estetyczniejszy. To oczywiście opinia subiektywna.</p>
<p>&#8220;Google Maps było pierwsze&#8221; - słyszałem to kilka razy w ciągu ostatnich dni. Nie wiem jaka jest prawda, ale <strong>podobno</strong> to Microsoft pierwszy rozpoczął pracę nad swoją mapą (ok, &#8220;wyszukiwarką lokacyjną&#8221;). Google pomysłu raczej nie zgapiło(bądź też zgapiło tak samo jak MS), jednak podkupiło większość pracowników pracujących nad Virtual Earth (<em>Windows Live Local</em>, <em>Windows Live Maps</em>- to wszystko to samo). I w to jestem w stanie uwierzyć , nawet mnie to nie zaskoczyło. W końcu Google Polska obdzwoniła cały Onet szukając pracowników dla siebie.</p>
<p>Poza tym o jakości produktu na pewno nie decyduje czas rozpoczęcia prac nad nim. Virtual Earth ładnie współgra z Silverlightem. Choć Google Maps pewnie też - napisze, gdy sprawdze <img src='http://blog.kmg.hcm.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Jednej rzeczy jednak nie da się googlowi odebrać - zdjęć satelitarnych. USA  i wielkie europejskie miasta (londyn, paryż) są podobnie obfotografowane w obu serwisach (w przypadku Stanów i Kanady mamy dodatkowo np. informację o korkach w miastach). Jednak mniejsze miasta oraz inne kraje - tu w przypadku Virtual Earth jest kiepsko. Zdjęcia są uzupełniane w obu mapach. Jednak google zabrał się ostatnio dosyć poważnie za Polskę (a przynajmniej Wielkopolsce). Do niedawna najdokładniejsze zdjęcie Poznania wyglądało jak to poniżej:</p>
<p><a href="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/google-kiedys.jpg" title="Google Maps kiedyś"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/google-kiedys.jpg" alt="Google Maps kiedyś" /></a></p>
<p>W tej chwili to dajdokładniejsze zdjęcie Virtual Earth. A jak dziś wygląda Poznań w Google Maps?  Oto fragment Poligrodu - terenu Politechniki Poznańskiej.</p>
<p><a href="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/google-dzis.jpg" title="Google Maps dziś"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/google-dzis.jpg" alt="Google Maps dziś" /></a></p>
<p>Należy zaznaczyć, że to jeszcze nie maksymalne zbliżenie tego terenu jakie Google  posiada.</p>
<p>A oto stary most Rocha w trakcie przenoszenia - jak widać nie został jeszcze przetransportowany nad 2 mostem. Pozwala to dosyć dokladnie ocenić wiek tych zdjęć ;).</p>
<p><a href="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/2-mosty.jpg" title="2 mosty z google earth"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/2-mosty.jpg" alt="2 mosty z google earth" /></a></p>
<p>No i na koniec ciekawostka - dokładnie sfotografowany jest nie tylko Poznań, ale również okolice. Zainteresowani wiedzą, co przedstawia ponizsze zdjęcie <img src='http://blog.kmg.hcm.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/05/kam.jpg" alt=";)" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kmg.hcm.pl/google-maps-virtual-earth/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Protected: Poszukiwania pracy - część 2</title>
		<link>http://blog.kmg.hcm.pl/poszukiwania-pracy-czesc-2/</link>
		<comments>http://blog.kmg.hcm.pl/poszukiwania-pracy-czesc-2/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 19:38:21 +0000</pubDate>
		<dc:creator>kmg</dc:creator>
		
		<category><![CDATA[Pozostałe]]></category>

		<category><![CDATA[Praca]]></category>

		<category><![CDATA[consulting]]></category>

		<category><![CDATA[internet]]></category>

		<category><![CDATA[IT]]></category>

		<category><![CDATA[programowanie]]></category>

		<guid isPermaLink="false">http://blog.kmg.hcm.pl/poszukiwania-pracy-czesc-2/</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.kmg.hcm.pl/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password:<br />
<input name="post_password" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://blog.kmg.hcm.pl/poszukiwania-pracy-czesc-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>class5 , czyli co potrafi GD</title>
		<link>http://blog.kmg.hcm.pl/class5-czyli-co-potrafi-gd/</link>
		<comments>http://blog.kmg.hcm.pl/class5-czyli-co-potrafi-gd/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 23:06:18 +0000</pubDate>
		<dc:creator>kmg</dc:creator>
		
		<category><![CDATA[Pozostałe]]></category>

		<category><![CDATA[class5]]></category>

		<category><![CDATA[GD]]></category>

		<category><![CDATA[GD2]]></category>

		<category><![CDATA[grafika]]></category>

		<category><![CDATA[imagemagick]]></category>

		<category><![CDATA[klasa]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[programowanie]]></category>

		<guid isPermaLink="false">http://blog.kmg.hcm.pl/class5-czyli-co-potrafi-gd/</guid>
		<description><![CDATA[Ostatnio , zupełnie przez przypadek trafiłem na dosyć projekt, o którym początkowo pisać nie chciałem. Mowa o class5.
Czym ów twór jest? Pozwolę sobie zacytować fragment dokumentacji:
&#8220;Jest to zbiór klas przeznaczonych dla skryptowego języka programowania PHP służącego do tworzenia stron internetowych, wykonywanych po stronie serwera. &#8221;
Pominę tutaj okrojenie zastosowań PHP (który może służyć do naprawdę wielu [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example14_1.jpg" alt="class5.picasso" style="padding: 0px 5px 5px 0px; float: left" width="246" height="192" />Ostatnio , zupełnie przez przypadek trafiłem na dosyć projekt, o którym początkowo pisać nie chciałem. Mowa o <a href="http://docs.jarzebski.pl/doku.php?id=Class5" target="_blank">class5</a>.<br />
Czym ów twór jest? Pozwolę sobie zacytować fragment dokumentacji:</p>
<p>&#8220;Jest to zbiór klas przeznaczonych dla skryptowego języka programowania <acronym title="Hypertext Preprocessor">PHP</acronym> służącego do tworzenia stron internetowych, wykonywanych po stronie serwera. &#8221;</p>
<p>Pominę tutaj okrojenie zastosowań PHP (który może służyć do naprawdę wielu rzeczy - kiedyś do tematu jeszcze wrócę).</p>
<p>&#8220;Ponieważ zbiór bibliotek wykorzystuje całkowicie nowy model programowania obiektowego dostępny w <acronym title="Hypertext Preprocessor">PHP</acronym> 5, który jest nie jest zarazem w pełni kompatybilny z poprzednimi wersjami <acronym title="Hypertext Preprocessor">PHP</acronym>, wymaga do poprawnego działania piątej edycji tego języka.&#8221;</p>
<p>Tutaj chciałem dodać tylko jedną rzecz - ów &#8220;nowy model programowania obiektowego&#8221; to znany od baaardzo dawna model na przykład z C++. Choć wciąż mocno okrojony. Ale o tym , czego jeśli chodzi o obiektowość brakuje PHP jeszcze kiedyś napiszę - jest o czym ;).</p>
<p>Wracając do meritum  - class5 . Jest to zbiór następujących klas:</p>
<p class="level3">&nbsp;</p>
<ul>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.babel" class="wikilink1" title="index:class5.babel">Class5.Babel</a> - internacjonalizacja i18n / gettext</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.bbcode" class="wikilink2" title="index:class5.bbcode">Class5.BBCode</a> - parser BBCcode</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.chameleon" class="wikilink2" title="index:class5.chameleon">Class5.Chameleon</a> - system szablonów TPL</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.debugger" class="wikilink1" title="index:class5.debugger">Class5.Debugger</a> - klasa debuggująca</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.expose" class="wikilink2" title="index:class5.expose">Class5.Expose</a> - highlihter kodów źródłowych</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.filemagick" class="wikilink1" title="index:class5.filemagick">Class5.FileMagick</a> - zarządzanie metadanymi plików i katalogów</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.former" class="wikilink2" title="index:class5.former">Class5.Former</a> - generator formularzy</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.garden" class="wikilink2" title="index:class5.garden">Class5.Garden</a> - silnik obsługi drzew</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.geo" class="wikilink2" title="index:class5.geo">Class5.Geo</a> - geolokalizacja adresów IP</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.mailer" class="wikilink2" title="index:class5.mailer">Class5.Mailer</a> - system pocztowy</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.mnemonic" class="wikilink1" title="index:class5.mnemonic">Class5.Mnemonic</a> - mechanizm cache</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.picasso" class="wikilink2" title="index:class5.picasso">Class5.Picasso</a> - system zarządzania obrazami</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.reactor" class="wikilink2" title="index:class5.reactor">Class5.Reactor</a> - generator feedow <acronym title="Rich Site Summary">RSS</acronym> / Atom</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.scout" class="wikilink1" title="index:class5.scout">Class5.Scout</a> - parser zmiennych USER_AGENT / REFERER</p>
</li>
<li class="level1">
<p class="li"> <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.storage" class="wikilink2" title="index:class5.storage">Class5.Storage</a> - silnik baz danych</p>
</li>
</ul>
<p>i&#8230; tyle wiadomo na ich temat. Wszystko inne co można powiedzieć opiera się na dokumentacji oraz plikach testowych umieszczonych na stronie autora. Nie mogę więc powiedzieć niczego na temat wydajności, lub jakości kodu. Tak więc nie mogę powiedzieć niczego co jest naprawdę ważne. To pierwszy powód dla którego nie chciałem pisać o tej klasie. Jaki jest drugi? Na podstawie dokumentacji oraz testów odnoszę wrażenie, że te wszystkie klasy to w wiekszości realizowanie prostych funkcji, które równie prosto możemy osiągnąć bez zewnętrznych klas. Oczywiście nie twierdzę , że tak być nie może. Ale klasa z dwoma metodami:</p>
<ul>
<li class="level1">
<p class="li"> <strong>public</strong> function <a href="http://docs.jarzebski.pl/doku.php?id=class5.scout:parseuseragent" class="wikilink1" title="class5.scout:parseuseragent">parseUserAgent()</a></p>
</li>
<li class="level1">
<p class="li"> <strong>public</strong> function <a href="http://docs.jarzebski.pl/doku.php?id=class5.scout:parsereferer" class="wikilink1" title="class5.scout:parsereferer">parseReferer()</a></p>
</li>
</ul>
<p>(oraz trzecią, wyświetlającą wersje klasy) gdzie jedyną fukncjonalnością całej klasy to parsowanie HTTP_USER_AGENT oraz HTTP_REFERER . Całe szczęście są też ciekawsze klasy - jak na przykład <a href="http://docs.jarzebski.pl/doku.php?id=index:class5.picasso" class="wikilink2" title="index:class5.picasso">Class5.Picasso</a>. I to właśnie o niej będzię reszta wpisu.</p>
<p>Ale nie dlatego, że klasa jest inowacyjna (podobne klasy znajdziecie <a href="http://www.phpclasses.org/browse/" target="_blank">tutaj</a>), lub wyjątkowo wydajna (wciąż nie została nigdzie udostępniona). Klasa ta (a raczej przykłady przedstawione przez autora) pokazują, jakie możliwości ma biblioteka <a href="http://www.libgd.org/Main_Page" target="_blank">GD</a> (którą można stosować nie tylko w PHP - została ona napisana w C). I właśnie po to powstał ten wpis.</p>
<p>Jeśli chodzi o PHP to większość osób od jakiegoś czasu stosuje alternatywę - <a href="http://www.imagemagick.org/script/index.php" target="_blank">imagemagick</a> . Przyznam, że dawno nie robiłem testów i nie wiem jak obecnie wygląda kwestia wydajności. Prawdopodobnie niewiele się zmieniło i IM wciąż jest o wiele szybszy od GD. Jednak do niektórych zastosowań GD jest na pewno wystarczające. Dodatkowo występuje kwestia dostępności imagemagick&#8217;a. Czy warto szukać serwera z IM? A może starczy GD? Oceńcie sami.</p>
<ul>
<li>Dodawanie obramowania oraz cienia [cień jest niewidoczny ze wzgledu na czarny kolor tła blogu. <a href="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example01_1.png" target="_blank">Kliknij aby otworzyć obrazek w nowym oknie</a>]</li>
</ul>
<p style="text-align: center" align="left"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example01_1.png" alt="class5.picasso" /></p>
<p align="left">&nbsp;</p>
<ul>
<li>Obramowanie oraz filtry [<a href="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example02_1.png" target="_blank">klik</a>]</li>
</ul>
<p style="text-align: center"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example02_1.jpg" alt="class5.picasso" /></p>
<p align="left">&nbsp;</p>
<ul>
<li>Odbicie obrazu</li>
</ul>
<p align="center"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example04_1.jpg" alt="class5.picasso" /></p>
<p align="left">&nbsp;</p>
<ul>
<li>Czcionki truetype + cieniowanie  obsługa antyaliasingu.</li>
</ul>
<p style="text-align: center"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example05_1.jpg" alt="class5.picasso" /></p>
<p align="left">&nbsp;</p>
<ul>
<li>Pozycjonowanie tekstu oraz marginesy</li>
</ul>
<p style="text-align: center"> <img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example08_1.jpg" alt="class5.picasso" /></p>
<p align="left">&nbsp;</p>
<ul>
<li>Wtapianie,  przeźrocza, efekt refleksu</li>
</ul>
<p style="text-align: center"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example10_1.jpg" alt="class5.picasso" /></p>
<p align="left">&nbsp;</p>
<ul>
<li>Generowanie przycisków</li>
</ul>
<p style="text-align: center"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example11_1.png" alt="class5.picasso" /></p>
<p align="left">&nbsp;</p>
<ul>
<li>Oraz coś , co naprawdę mi się podoba - ładna ramka <img src='http://blog.kmg.hcm.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ul>
<p style="text-align: center"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example14_1.jpg" alt="class5.picasso" /></p>
<p style="text-align: center"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/example14_2.jpg" alt="class5.picasso" /></p>
<p align="left">&nbsp;</p>
<ul>
<li>Oczywiście ów ramka to nie wytwór GD czy samej klasy po prostu pliczek z ramką - proste, ale naprawdę bardzo ładne - brawa dla autora.</li>
</ul>
<p style="text-align: center"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/frame.png" alt="class5.picasso" /></p>
<p> Oczywiście to tylko przykłady bez kodu - ten możecie znaleźć na <a href="http://www.jarzebski.pl/" target="_blank">stronie autora</a>. Gdy autor udostępni pliki klasy, napiszę coś więcej.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kmg.hcm.pl/class5-czyli-co-potrafi-gd/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Umarło Codeguru. Niech żyje&#8230; Codeguru</title>
		<link>http://blog.kmg.hcm.pl/umarlo-codeguru-niech-zyje-codeguru/</link>
		<comments>http://blog.kmg.hcm.pl/umarlo-codeguru-niech-zyje-codeguru/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 23:32:22 +0000</pubDate>
		<dc:creator>kmg</dc:creator>
		
		<category><![CDATA[Pozostałe]]></category>

		<category><![CDATA[codeguru]]></category>

		<category><![CDATA[internet]]></category>

		<category><![CDATA[itcore]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[portal]]></category>

		<category><![CDATA[serwis]]></category>

		<category><![CDATA[strona]]></category>

		<category><![CDATA[wortal]]></category>

		<category><![CDATA[wss]]></category>

		<guid isPermaLink="false">http://blog.kmg.hcm.pl/umarlo-codeguru-niech-zyje-codeguru/</guid>
		<description><![CDATA[CodeGuru.PL to portal wortal dla korzystających lub chcących poznać  technologię .NET . Portal   Wortal ten należy do firmy Microsoft - jak wiele innych (między innymi wss.pl - bliźniaczym portalem wortalem skierowanym IT Pro) . Ponad rok temu MS postanowił połączyć te (WSS.pl, CodeGuru.pl, Windows2003.pl i WindowsServer2003.pl) wortale.
Projekt, który miał zgromadzić internautów tych wszystkich  portali [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/web-itcore.jpg" alt="Itcore - wersja tymczasowa" style="padding: 0px 5px 5px 0px; float: left" /><strong>CodeGuru</strong>.PL to <strike>portal </strike>wortal dla korzystających lub chcących poznać  technologię .NET . <strike>Portal </strike>  Wortal ten należy do firmy Microsoft - jak wiele innych (między innymi wss.pl - bliźniaczym <strike>portalem</strike> wortalem skierowanym IT Pro) . Ponad rok temu MS postanowił połączyć te (WSS.pl, CodeGuru.pl, Windows2003.pl i WindowsServer2003.pl) wortale.</p>
<p>Projekt, który miał zgromadzić internautów tych wszystkich  <strike>portali</strike> wortali został nazwany&#8230; ITCore. Idea ciekawa, podejscie dla osoby nie związanej z realizacją projektu (czyli mnie) również wyglądało na początku profesjonalnie. I sam byłem ciekawy efektów.A te mnie zaskoczyły - niestety, negatywnie.</p>
<p align="left">Nie pamiętam dokładnej daty - ale w dniu startu można było oglądnąć na stronie głównej jedynie coś takiego:</p>
<p style="text-align: center" align="left"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/itcore1.jpg" alt="Itcore - under construction" /></p>
<p>Obrazek ładny - jednak na start nowego <strike>portalu</strike> wortalu, wręcz rewolucji dla ludzi związanymi z rozwiązaniami IT Microsoftu &#8230; no, powiedzmy, że spodziewałem sie czegoś innego. Wprawdzie do końca dnia bylo jeszcze kilka godzin, jednak nie sprawdzałem , czy to faktycznie ruszyło wtedy, kiedy ruszyć miało. Wszedłem kilka dni później - ponieważ i CG i WSS działało bez problemów. To co zobaczyłem&#8230; A raczej to czego nie zobaczyłem&#8230; Starałem się znaleźć&#8230; cokolwiek, poza newsami. No kurcze, nie było totalnie niczego, praktycznie zero funkcjonalności. Jak na witrynę która oficjalnie wystartowała, wyglądała bardzo biednie. Od tego czasu minęło kilka miesiecy. Na początku kwietnia otrzymałem mail, abym ujednolicił adresy email w kontach na CG oraz WSS. Było to warunkiem połączenia obu kont. Wysłano również informację, abym wykorzystał punkty zgromadzone na CG - nikt nie wiedział, co się z nimi stanie po połączeniu z ITCore.</p>
<p>No i stało się - w poniedziałek otrzymałem informację o prawidłowym przeniesieniu konta, nowym hasłem i linkiem do aktywacji konta. Postanowiłem więc sprawdzić jak wygląda itcore.pl po ostatecznym starcie (w końcu przeniesienie kont użytkowników to wyraźny sygnał od twórców, że <strike>portal</strike> wortal jest ukończony). Niestety - strona ladowala się tyle czasu, że jedyne co udało mi się po 20 minutach zrobić, to aktywować konto. Dziś postanowilem sprawdzić, co nowego na CG słychać&#8230; I?</p>
<p>Zostałem przeniesiony na itcore.pl. Ładowało się koszmarnie długo (co mnie nie zdziwiło). Jednak to co zauważyłem dosyć mocno mnie zaskoczyło. Komunikat mówił:</p>
<p>&#8220;Po kilku dniach analiz i konsultacji, zarówno wewnętrznych, tych z Redakcją, jak i obserwując Wasze wypowiedzi, doszliśmy do wniosku, że <strong>portal itcore.pl nie spełnia Waszych oczekiwań</strong>.</p>
<p>Głos społeczności jest dla nas najważniejszy i dlatego podjęliśmy <strong>decyzję o zamknięciu projektu ITCore</strong>.&#8221;</p>
<p>Projekt który ledwo wystartował&#8230; został zamkniety&#8230;<br />
Moim zdaniem to lepiej - developerzy i itprosi - to chyba jednak mezalians. Programisty może nie interesować to, że MS wydał kolejny biuletyn bezpieczeństwa . I analogicznie, co np. administratora interesuje, że wyszła wersja beta Silverlight 2.0 .</p>
<p>Podziwiam więc MS za decyzję - projekt którego realizacja trwała długo, było o nim głośno i który na pewno również sporo kosztował (choć pewnie dla MS były to grosze).  I głośno im w tym momencie przyklaskuje.</p>
<p>Równoczęśnie dziwi mnie troche podejście do realizacji projektu. Pomijajac już to, że serwery nie wyrabiały&#8230;<br />
Dlaczego ostatecznie połączono CG i WSS skoro nawet redakcja miała wątpliwości co do tego, czy jest to dobry ruch? Rozumiem,  użytkownicy mają decydujący głos (zgadzam się w 100%). Nie można było jednak spytać użytkowników czy widzą sens łączenia wcześniej? Tym bardziej, że w projekt zaangażowani byli czytelnicy obu <strike>portali</strike> wortali. Czy wszyscy stwierdzili, że to się przyjmie? Nie sądze.  No nic, ostatecznie cieszy to, że projekt został zamknięty. CG i WSS to dobre <strike>portale</strike> wortale , jedyne co im potrzeba to lekka przebudowa, oraz&#8230; w przypadku CG zmiana grafiki <img src='http://blog.kmg.hcm.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <a href="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/itcore2.jpg" title="itcore - zamknięcie projektu"></a></p>
<p style="text-align: center"><a href="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/itcore2.jpg" title="itcore - zamknięcie projektu"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/itcore2.jpg" alt="itcore - zamknięcie projektu" width="613" height="262" /></a></p>
<p>Na koniec - Codeguru oraz Wss piszą o sobie &#8220;<a href="http://pl.wikipedia.org/wiki/Portal_internetowy" target="_blank">portal</a>&#8220;. Według mnie są to jednak tylko (a może aż) <a href="http://pl.wikipedia.org/wiki/Wortal#Wortal" target="_blank">wortale</a> - stąd skreślenia <img src='http://blog.kmg.hcm.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kmg.hcm.pl/umarlo-codeguru-niech-zyje-codeguru/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Protected: Poszukiwania pracy</title>
		<link>http://blog.kmg.hcm.pl/poszukiwania-pracy/</link>
		<comments>http://blog.kmg.hcm.pl/poszukiwania-pracy/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 19:50:49 +0000</pubDate>
		<dc:creator>kmg</dc:creator>
		
		<category><![CDATA[Nauka]]></category>

		<category><![CDATA[Pozostałe]]></category>

		<category><![CDATA[Praca]]></category>

		<category><![CDATA[Uczelnia]]></category>

		<guid isPermaLink="false">http://blog.kmg.hcm.pl/poszukiwania-pracy/</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.kmg.hcm.pl/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password:<br />
<input name="post_password" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://blog.kmg.hcm.pl/poszukiwania-pracy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CAPTCHA i ASIRRA</title>
		<link>http://blog.kmg.hcm.pl/captcha-i-asirra/</link>
		<comments>http://blog.kmg.hcm.pl/captcha-i-asirra/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 19:10:43 +0000</pubDate>
		<dc:creator>kmg</dc:creator>
		
		<category><![CDATA[Pozostałe]]></category>

		<category><![CDATA[Praca]]></category>

		<category><![CDATA[Rozrywka]]></category>

		<category><![CDATA[ASIRRA]]></category>

		<category><![CDATA[CAPTCHA]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Redmond]]></category>

		<category><![CDATA[TechFest]]></category>

		<guid isPermaLink="false">http://blog.kmg.hcm.pl/captcha-i-asirra/</guid>
		<description><![CDATA[O CAPTCHA chciałem już napisać kilka razy - miał to być dłuższy tekst, udowadniający dlaczego CAPTCHA jest złe. Stwierdziłem jednak, że większość i tak została już powiedziana (i to nie jeden raz: tutaj po polsku, a tutaj po angielsku).
Dlatego ograniczę się do kilku własnych przemyśleń.
Z mechanizmem tym spotkał się każdy - choć pewnie nie każdy [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/asirralogowithname-medium.png" alt="ASIRRA logo" style="padding: 0px 5px 5px 0px; float: left" />O CAPTCHA chciałem już napisać kilka razy - miał to być dłuższy tekst, udowadniający dlaczego CAPTCHA jest złe. Stwierdziłem jednak, że większość i tak została już powiedziana (i to nie jeden raz: tutaj po <a href="http://www.webaudit.pl/blog/2006/captcha-nie-uzywaj/" target="_blank">polsku,</a> a tutaj po <a href="http://www.w3.org/TR/turingtest/" target="_blank">angielsku</a>).<br />
Dlatego ograniczę się do kilku własnych przemyśleń.</p>
<p>Z mechanizmem tym spotkał się każdy - choć pewnie nie każdy wie, że tak się on nazywa.  CAPTCHA (<em>Completely Automated Public Turing Test to Tell Computers and Humans Apart) </em>to po prostu zabezpieczenie (najczęściej formularzy) za pomocą obrazka. Bardzo modne i używane często totalnie bez uzasadnienia. Ale dlaczego CAPTCHA jest złe? Powodów jest wiele - wystarczy poczytać artykuły do których linki podałem wcześniej. Z najważniejszych (moim zdaniem - autorzy tekstów mogą mieć [właściwie to mają] zdanie odmienne):</p>
<ul>
<li>Nie ma dobrego CAPTCHA. <a href="http://pornel.net/captcha" target="_blank">Ktoś napisał kiedyś</a> &#8220;Można jedynie zrobić złe, bardzo złe albo bardzo złe i na dodatek nieskutecznie.&#8221;. I jest tutaj 100% prawdy.</li>
<li>Istnieją alternatywy. Często lepsze. Niestety - panuje moda na obrazki. Im mniej czytelne, tym lepiej&#8230;</li>
<li>Są też mechanizmy które łatwiej złamać. Co nie oznacza, że nie można ich zmodyfikować (przykład: połączyć 2 gorze rozwiązania w 1 lepsze).</li>
<li>Pamiętajmy, że z internetu korzystają również niewidomi oraz niedowidzący. Gdy ktoś zastosuje CAPTCHA zapomina wersji dźwiękowej. Szczerze mówiac, w chwili obecnej kojarze takie rozwiązanie wyłącznie z Google.</li>
<li>Oraz można korzystać z przeglądarki nieobsługującej grafik ( np. lynx). Twierdzicie, że argument naciągany?  Czasami Lynx mi się zdarza.</li>
</ul>
<p>Co więc zamiast CAPTCHA? Można bawić się w dodatkowe pola formularza, pytania, odpowiedzi. Można.<br />
Można dodać ukryte pola lub prosić o odpowiedź na jakieś pytanie. Można.<br />
Można użyć innych rozwiązań - i właśnie o jednym z nich chciałem napisać.</p>
<p><a href="http://research.microsoft.com/asirra/" target="_blank">ASIRRA </a><em>(</em><span class="wiadtxt"><em><span class="wiadg2">Animal Species Image Recognition for Restricting Access)</span></em><strong class="wiadg2"><strong> </strong></strong></span>została zaprezentowana przez Microsoft podczas TechFest 2007.  Idea jest prosta - przed wysłaniem formularza internauta musi zaznaczyć spośród określonej liczby zdjeć&#8230; zdjęcia kotów. Zdjęcia za każdym razem są inne, podobnie jak różna jest ilość zdjęć kotów w zbiorze.</p>
<p>Zalety - dużo łatwiej człowiekowi odróżnić psa od kota. A maszynie&#8230; Zostają wyłącznie metody socjotechniczne. Ponieważ zdjęcia są czytelne, osoby o słabszym wzroku mogą często prościej rozpoznać obrazek od odczytania tekstu. Pozostaje problem osób niewidomych - tu moim zdaniem &#8220;dźwiękowe CAPTCHA&#8221; jest wystarczające.  Problem lynx&#8217;a pozostaje również tutaj nierozwiązany ;).<br />
Ale co ciekawe, możemy dozwolić użytkownikowi na błąd. Jeśli wsród 12 zdjęć umieszczone będzie 6 kotów, a zaznaczone zostanie 5, wciąż możemy z dużym prawdopodobieństwem stwierdzić, że jest to człowiek. Możemy więc poprosić o zaznaczenie zdjęć co do których użytkownik jest pewien. I odrzucać każdego, kto zaznaczy choć jednego psa.</p>
<p>Jak Microsoft rozwiązał problem unikalnych zdjęć?<br />
Sposób jest prosty - zdjęcia pobierane są z bazy serwisu <span class="wiadtxt"><span class="wiadtxt">Petfinder.com . W bazie tej umieszczone są zwierzęta szukającego nowego właściciela (Cytat ze strony: &#8220;The temporary home of 248,165 adoptable pets&#8221;). Oczywiście zwierząt wciąż przybywa, tak więc również baza zdjęć się powiększa. Co w zamian? Pod każdym zdjęciem umieszczony jest link umożliwiający adopcję zwierzaka. Naprawde w niczym to nie przeszkadza, a może sprawić, że internauta nieświadomy istnienia tego serwisu zakocha się w zwierzaku ze zdjęcia. </span></span></p>
<p>Oczywiście takie rozwiązanie również nie jest dobre - wymaga od użytkownika wykonania dodatkowej czynności,  gdy po prostu chce wysłać jakiś formularz. Niemniej m<span class="wiadtxt"><span class="wiadtxt">oim zdaniem możliwość pomocy przy znalezieniu domu jakiemuś zwierzakowi kompensuje tą chwilę poświęconego czasu.<br />
Podsumowanie myśli: ASIRRA nie jest dobra, ale CAPTCHA jest zła. Może więc przykład? </span></span></p>
<p><script src="http://challenge.asirra.com/js/AsirraClientSide.js" type="text/javascript"></script></p>
<p>Oczywiście wygląd można dowolnie modyfikować - mi się nie chciało <img src='http://blog.kmg.hcm.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> - szczegóły <a href="http://research.microsoft.com/asirra/installation.aspx" target="_blank">tutaj</a>.</p>
<p>Na koniec jeszcze kilka przykładów złej CAPTCHA. Najgorsze, gdy ktoś totalnie nie rozumie celu &#8230; Niestety takie osoby znalazły się na Politechnice&#8230; Aż wstyd - spójrzcie. Tak, to nie obrazek, to po prostu jawnie wpisany kod. Utrudnianie życia&#8230;</p>
<p style="text-align: center"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/captcha2.jpg" alt="CAPTCHA na politechnice" /></p>
<p>Dosyć ciekawe rozwiązanie wprowadzono również na rapidshare.com . Pomimo  tego, że wzrok mam dobry mam naprawdę  problemy, aby być pewnym, czy to co wpisuje jest poprawne. Swoją drogą, tutaj też mamy psy i koty <img src='http://blog.kmg.hcm.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: center"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/captcha3.jpg" alt="CAPTCHA w Rapidshare" /></p>
<p>No i na koniec - troche przekolorowana sytuacja, niektórym serwisom naprawdę niewiele do tego brakuje:</p>
<p style="text-align: center"><img src="http://blog.kmg.hcm.pl/wp-content/uploads/2008/04/captcha1.jpg" alt="CAPTCHA żart" /></p>
<p>A tak przy okazji, sam jestem ciekawy kto zastosuje ASIRRA w większym projekcie. Bo jak na razie wszyscy ślepo brną w złe rozwiązania. A szkoda.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kmg.hcm.pl/captcha-i-asirra/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

