<?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>m1chu.eu - another devblog &#187; Świat IT</title>
	<atom:link href="http://m1chu.eu/category/ogolne/swiatit/feed/" rel="self" type="application/rss+xml" />
	<link>http://m1chu.eu</link>
	<description>we live, as we dream... alone - another devblog</description>
	<lastBuildDate>Sun, 14 Nov 2010 11:07:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>15 przydatnych wyrażeń regularnych w PHP</title>
		<link>http://m1chu.eu/2009/10/13/15-przydatnych-wyrazen-regularnych-w-php/</link>
		<comments>http://m1chu.eu/2009/10/13/15-przydatnych-wyrazen-regularnych-w-php/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 20:23:51 +0000</pubDate>
		<dc:creator>m1chu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webhosting]]></category>
		<category><![CDATA[Świat IT]]></category>
		<category><![CDATA[e-mail]]></category>
		<category><![CDATA[pear]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[regexp.pl]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[wyrażenia regularne]]></category>
		<category><![CDATA[wzorzec]]></category>

		<guid isPermaLink="false">http://m1chu.eu/?p=1536</guid>
		<description><![CDATA[W pewnym stadium zaawansowania wyrażenia regularne stają się potężnym narzędziem każdego programisty PHP (i nie tylko). A to dlatego, że pozwalają na wykonywanie operacji, których często nie sposób dokonać w prosty sposób przy pomocy standardowych funkcji zawartych w tym języku. Walidacja zawartości zmiennych, czy podmienianie specyficznej części ich zawartości &#8211; na to pozwalają wyrażenia regularne. [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="iborder" src="http://images.m1chu.eu/index.php?res=MTNfMDlfMDlfMTVfcmVnZXhwczsxNV9yZWdleHBzX3Bvc3RfaGVhZGVyLnBuZw==" alt="Gotowe wyrażenia regularne" style="height: 119px;" /></p>
<p>W pewnym stadium zaawansowania wyrażenia regularne stają się potężnym narzędziem każdego programisty PHP (i nie tylko). A to dlatego, że pozwalają na wykonywanie operacji, których często nie sposób dokonać w prosty sposób przy pomocy standardowych funkcji zawartych w tym języku. Walidacja zawartości zmiennych, czy podmienianie specyficznej części ich zawartości &#8211; na to pozwalają wyrażenia regularne. 15-ście przykładowych, najbardziej niezbędnych dla każdego web developera, skompletowałem w dalszej części artykułu. Do Waszej dyspozycji oddaję także prosty <a target="_blank" href="http://regexp.pl/"  title="regexp.pl - tester wyrażeń regularnych"><strong>serwis</strong></a> sprawdzający poprawność wprowadzanych wzorców.</p>
<p><span id="more-1536"></span></p>
<h2>1. Walidacja adresu e-mail opartego na hoście</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/^([a-z0-9]{1})([^\s\t\.@]*)((\.[^\s\t\.@]+)*)@([a-z0-9]{1})((([a-z0-9-]*[-]{2})|([a-z0-9])*|([a-z0-9-]*[-]{1}[a-z0-9]+))*)((\.[a-z0-9](([a-z0-9-]*[-]{2})|([a-z0-9]*)|([a-z0-9-]*[-]{1}[a-z0-9]+))+)*)\.([a-z0-9]{2,6})([.]?)$/Diu</pre>
<h3>Opis:</h3>
<p>Wyrażenie ma za zadanie sprawdzać, czy wprowadzony przez użytkownika adres e-mail ma poprawną formę. Aby test zakończył się sukcesem muszą zostać spełnione następujące warunki:</p>
<ul>
<li>nazwa użytkownika musi zaczynać się od znaku litery lub cyfry, nie może zawierać spacji, tabulatorów, aty, za to mogą się znajdować w nim kropki, pod warunkiem, że nie występują jedna, po drugiej,</li>
<li>po nazwie użytkownika musi pojawiać się znak małpy,</li>
<li>domena, podobnie jak nazwa użytkownika, musi rozpoczynać się od litery, bądź cyfry, po czym do znaków dozwolonych dochodzą <strong>-</strong> oraz <strong>.</strong>, pod warunkiem, że pierwszy z wcześniej wymienionych znaków nie znajduje się na początku lub na końcu nazwy subdomeny (wyjątkiem są dwa myślniki na jej końcu odpowiadające często prefiksom <strong>xn--</strong>), a drugi nie jest poprzedzany swoim odpowiednikiem. <a target="_blank" href="http://pl.wikipedia.org/wiki/Domena_najwy%C5%BCszego_poziomu"  title="TLD - informacje">TLD</a> może mieć długość od dwóch do sześciu znaków,</li>
<li>domena może być zakończona kropką,</li>
<li>rozwiązanie nie sprawdza jak długi jest wprowadzony adres e-mail.</li>
</ul>
<h3>Strona testowa:</h3>
<p><a href="http://use.m1chu.eu/-php/-ready-made-expressions/point-email/index.php"  title="Przykład walidacji adresu e-mail">Tutaj</a>.</p>
<h3>Tekst spełniający warunki:</h3>
<p>2.a_a-d@n-do.x-d.pl</p>
<h3>Tekst nie spełniający warunków:</h3>
<p>2.a_a-d@n-do.x-d.v-.pl (część domeny kończąca się nieprawidłowym znakiem)</p>
<h3>Uwagi:</h3>
<p>Jeżeli rozwiązanie w jakimkolwiek stopniu zawiedzie można pokusić się o użycie wyrażenia z ostatniej aktualizacji <a target="_blank" href="http://utnij.eu/f24/"  title="Zmiany w pliku logical_filters.c">pliku logical_filters.c ze źródeł PHP</a>.</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$email = trim('adres@domena.pl');
if ( !preg_match('/^([a-z0-9]{1})([^\s\t\.@]*)((\.[^\s\t\.@]+)*)@([a-z0-9]{1})((([a-z0-9-]*[-]{2})|([a-z0-9])*|([a-z0-9-]*[-]{1}[a-z0-9]+))*)((\.[a-z0-9](([a-z0-9-]*[-]{2})|([a-z0-9]*)|([a-z0-9-]*[-]{1}[a-z0-9]+))+)*)\.([a-z0-9]{2,6})([.]?)$/Diu', $email) )
{
	print 'Nieprawidłowy adres e-mail';
}</pre>
<h3>Rozwiązanie oparte o <a target="_blank" href="http://pl2.php.net/filter_var"  title="Specyfikacja filter_var()">filter_var</a> (PHP >= 5.2):</h3>
<pre class="brush: php; title: ;">$email = trim('adres@domena.pl');
if ( (bool)filter_var($email, FILTER_VALIDATE_EMAIL) === false )
{
	print 'Nieprawidłowy adres e-mail';
}</pre>
<h2>2. Walidacja adresu e-mail opartego na hoście lub IPv4 serwera</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/^([a-z0-9]{1})([^\s\t\.@]*)((\.[^\s\t\.@]+)*)@((([a-z0-9]{1})((([a-z0-9-]*[-]{2})|([a-z0-9])*|([a-z0-9-]*[-]{1}[a-z0-9]+))*)((\.[a-z0-9](([a-z0-9-]*[-]{2})|([a-z0-9]*)|([a-z0-9-]*[-]{1}[a-z0-9]+))+)*)\.([a-z0-9]{2,6})([.]?))|((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))$/Diu</pre>
<h3>Opis:</h3>
<p>Wyrażenie ma za zadanie sprawdzać, czy wprowadzony przez użytkownika adres e-mail ma poprawną formę. Aby test zakończył się sukcesem muszą zostać spełnione warunki z poprzedniego punktu oraz:</p>
<ul>
<li>po znaku @ musi się pojawić opisany już wcześniej prawidłowo sformowany host lub adres IPv4 serwera w postaci czterech, dziesiętnych oktetów.</li>
</ul>
<h3>Strona testowa:</h3>
<p><a href="http://use.m1chu.eu/-php/-ready-made-expressions/point-email/index.php"  title="Przykład walidacji adresu e-mail">Tutaj</a>.</p>
<h3>Tekst spełniający warunki:</h3>
<p>2.a_a-d@64.64.100.100</p>
<h3>Tekst nie spełniający warunków:</h3>
<p>2.a_a-d@64.64.256.100 (trzeci oktet jest po za zakresem)</p>
<h3>Uwagi:</h3>
<p>Jeżeli rozwiązanie w jakimkolwiek stopniu zawiedzie można pokusić się o użycie wyrażenia z ostatniej aktualizacji <a target="_blank" href="http://utnij.eu/f24/"  title="Zmiany w pliku logical_filters.c">pliku logical_filters.c ze źródeł PHP</a>.</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$email = trim('adres@85.64.100.100');
if ( !preg_match('/^([a-z0-9]{1})([^\s\t\.@]*)((\.[^\s\t\.@]+)*)@((([a-z0-9]{1})((([a-z0-9-]*[-]{2})|([a-z0-9])*|([a-z0-9-]*[-]{1}[a-z0-9]+))*)((\.[a-z0-9](([a-z0-9-]*[-]{2})|([a-z0-9]*)|([a-z0-9-]*[-]{1}[a-z0-9]+))+)*)\.([a-z0-9]{2,6})([.]?))|((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))$/Diu', $email) )
{
	print 'Nieprawidłowy adres e-mail';
}</pre>
<h3>Rozwiązanie oparte o <a target="_blank" href="http://pl2.php.net/filter_var"  title="Specyfikacja filter_var()">filter_var</a> (PHP >= 5.2):</h3>
<pre class="brush: php; title: ;">$email = trim('adres@domena.pl');
if ( (bool)filter_var($email, FILTER_VALIDATE_EMAIL) === false )
{
	print 'Nieprawidłowy adres e-mail';
}</pre>
<h2>3. Prosta weryfikacja adresu URL</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/^(http|ftp)([s]{0,1}):\/\/([a-z0-9]{1})((([a-z0-9-]*[-]{2})|([a-z0-9])*|([a-z0-9-]*[-]{1}[a-z0-9]+))*)((\.[a-z0-9](([a-z0-9-]*[-]{2})|([a-z0-9]*)|([a-z0-9-]*[-]{1}[a-z0-9]+))+)*)(\.([a-z0-9]{2,6})){0,1}((:[0-9]){0}|(:[1-9]{1}[0-9]*))\//iu</pre>
<h3>Opis:</h3>
<p>Zweryfikować, czy użytkownik wprowadził adres URL, wg wzoru:</p>
<pre class="brush: plain; title: ;">protokół://adres_serwera:port/</pre>
<ul>
<li>dozwolone protokoły: <strong>http</strong>, <strong>https</strong>, <strong>ftp</strong>, <strong>ftps</strong>,</li>
<li>adres serwera w formie serwera lokalnego, subdomen, domeny i rozszerzenia,</li>
<li>port jest opcjonalny,</li>
<li>dalsze wprowadzone dane (jak Query String) nie są sprawdzane,</li>
<li>konstrukcja jest przeznaczona do sprawdzanie adresów opartych na IPv4.</li>
</ul>
<h3>Strona testowa:</h3>
<p><a href="http://use.m1chu.eu/-php/-ready-made-expressions/point-url/index.php"  title="Przykład walidacji adresu URL">Tutaj</a>.</p>
<h3>Tekst spełniający warunki:</h3>
<p>http://m1chu.eu/</p>
<h3>Tekst nie spełniający warunków:</h3>
<p>htt://adres.com/temp/ (nieprawidłowy schemat)</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$url = trim('http://m1chu.eu');
if ( !preg_match('/^(http|ftp)([s]{0,1}):\/\/([a-z0-9]{1})((([a-z0-9-]*[-]{2})|([a-z0-9])*|([a-z0-9-]*[-]{1}[a-z0-9]+))*)((\.[a-z0-9](([a-z0-9-]*[-]{2})|([a-z0-9]*)|([a-z0-9-]*[-]{1}[a-z0-9]+))+)*)(\.([a-z0-9]{2,6})){0,1}((:[0-9]){0}|(:[1-9]{1}[0-9]*))\//iu', $url) )
{
	print 'Nieprawidłowy adres URL';
}</pre>
<h2>4. Wycinanie hosta z portem z adresu URL</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/^(http|ftp)([s]{0,1}):\/\/((.*)\.[a-z0-9]{2,6}|((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]))){0,1}((:[0-9]){0}|(:[1-9]{1}[0-9]*))\//iu</pre>
<h3>Opis:</h3>
<p>Pobrać host wraz z portem (jeżeli został podany) z URI. Pozostałe zasady są tożsame z wymienionymi w poprzednim punkcie.</p>
<h3>Strona testowa:</h3>
<p><a href="http://use.m1chu.eu/-php/-ready-made-expressions/point-extract-domain/index.php"  title="Przykład wycinania hosta z portem">Tutaj</a>.</p>
<h3>Tekst spełniający warunki:</h3>
<p>http://m1chu.eu:80/ (zwróci: m1chu.eu:80)</p>
<h3>Tekst nie spełniający warunków:</h3>
<p>htt://adres.com/temp/ (nieprawidłowy schemat)</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$url = trim('ftps://stro.eu:1000/file.exe');
if ( preg_match('/^(http|ftp)([s]{0,1}):\/\/((.*)\.[a-z0-9]{2,6}|((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]))){0,1}((:[0-9]){0}|(:[1-9]{1}[0-9]*))\//iu', $url, $matches) )
{
	// $matches[3] - nazwa serwera z domeną lub adres IPv4
	// $matches[10] - port
	print $matches[3] . ':' . $matches[10];
}</pre>
<h2>5. Sprawdzanie adresu IP (protokół IPv4)</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/Du</pre>
<h3>Opis:</h3>
<p>Wykryć poprawność wprowadzonego w formie dziesiętnych oktetów IP (w wersji czwartej protokołu).</p>
<h3>Strona testowa:</h3>
<p><a href="http://use.m1chu.eu/-php/-ready-made-expressions/point-ipv4/index.php"  title="Przykład walidacji adresu IPv4">Tutaj</a>.</p>
<h3>Tekst spełniający warunki:</h3>
<p>0.0.0.0</p>
<h3>Tekst nie spełniający warunków:</h3>
<p>101.256.0.1 (drugi oktet poza zakresem)</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$ipv4 = trim('192.168.0.1');
if ( !preg_match('/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/Du', $ipv4) )
{
	print 'Nieprawidłowy adres IPv4';
}</pre>
<h3>Rozwiązanie oparte o <a target="_blank" href="http://pl2.php.net/filter_var"  title="Specyfikacja filter_var()">filter_var</a> (PHP >= 5.2):</h3>
<pre class="brush: php; title: ;">$ipv4 = trim('192.168.0.1');
if ( (bool)filter_var($ipv4, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) === false )
{
	print 'Nieprawidłowy adres IPv4';
}</pre>
<h2>6. Sprawdzamy adres IP z wykluczeniem puli prywatnych adresów (protokół IPv4)</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/^([1-9]{1}[1-9]{0,1}|1\d([1-6]{1}|[8-9]{1})|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])$/Du</pre>
<h3>Opis:</h3>
<p>Wykryć poprawność wprowadzonego IP (w wersji czwartej protokołu) z wykluczeniem części prywatnych i zastrzeżonych pul. Metoda nie dotyczy masek podsieci. Objęte wyjątki:</p>
<ul>
<li>10.0.0.0 &#8211; 10.255.255.255,</li>
<li>0.0.0.0 &#8211; 0.255.255.255,</li>
<li>255.255.255.255,</li>
<li>127.0.0.0 &#8211; 127.255.255.255.</li>
</ul>
<h3>Strona testowa:</h3>
<p><a href="http://use.m1chu.eu/-php/-ready-made-expressions/point-ipv4-noprivate/index.php"  title="Przykład walidacji adresu IPv4 z wykluczeniem puli prywatnych adresów">Tutaj</a>.</p>
<h3>Tekst spełniający warunki:</h3>
<p>192.168.0.136</p>
<h3>Tekst nie spełniający warunków:</h3>
<p>0.0.0.0 (adres prywatny)</p>
<h3>Uwagi:</h3>
<p>Stosując funkcję ze zbioru <strong>filter_*</strong> odrzucone zostaną wszystkie zakresy adresów prywatnych i zastrzeżonych (np. 255.255.255.x).</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$ipv4 = trim('68.78.205.0');
if ( !preg_match('/^([1-9]{1}[1-9]{0,1}|1\d([1-6]{1}|[8-9]{1})|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])$/Du', $ipv4) )
{
	print 'Nieprawidłowy adres IPv4';
}</pre>
<h3>Rozwiązanie oparte o <a target="_blank" href="http://pl2.php.net/filter_var"  title="Specyfikacja filter_var()">filter_var</a> (PHP >= 5.2):</h3>
<pre class="brush: php; title: ;">$ipv4 = trim('68.78.205.0');
if ( (bool)filter_var($ipv4, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) === false )
{
	print 'Nieprawidłowy adres IPv4';
}</pre>
<h2>7. Sprawdzamy adres IP (protokół <a target="_blank" href="http://pl.wikipedia.org/wiki/IPv6"  title="IPv6 - informacje">IPv6</a> i IPv4)</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/^((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?$/Du</pre>
<h3>Opis:</h3>
<p>Wykryć poprawność wprowadzonego IP (w wersji szóstej i czwartej protokołu).</p>
<h3>Strona testowa:</h3>
<p><a href="http://use.m1chu.eu/-php/-ready-made-expressions/point-ipv6/index.php"  title="Przykład walidacji adresu IPv6">Tutaj</a>.</p>
<h3>Tekst spełniający warunki:</h3>
<p>fe80:0:0:0:0204:61ff:254.157.241.86</p>
<h3>Tekst nie spełniający warunków:</h3>
<p>2001:::db8:: (błędna notacja)</p>
<h3>Uwagi:</h3>
<p>Stosując funkcję ze zbioru <strong>filter_*</strong> odrzucone zostaną wszelkie adresy <a target="_blank" href="http://pl.wikipedia.org/wiki/IPv4"  title="IPv4 - informacje">IPv4</a>. W przedstawionym wyrażeniu regularnym adresy z tej wersji są akceptowane zarówno występując samotnie, jak i w postaci sekwencji czterech ostatnich bajtów w IPv6 (np. :247.125.68.4).</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$ipv6 = trim('fe80::204:61ff:fe9d:f156');
if ( !preg_match('/^((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?$/Du', $ipv6) )
{
	print 'Nieprawidłowy adres IPv6/IPv4';
}</pre>
<h3>Rozwiązanie oparte o <a target="_blank" href="http://pl2.php.net/filter_var"  title="Specyfikacja filter_var()">filter_var</a> (PHP >= 5.2):</h3>
<pre class="brush: php; title: ;">$ipv6 = trim('fe80::204:61ff:fe9d:f156');
if ( (bool)filter_var($ipv6, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false )
{
	print 'Nieprawidłowy adres IPv6';
}</pre>
<h2>8. Wykrywanie kolorów RGB w postaci szesnastkowej</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/^#?[0-9a-f]{3}(?:[0-9a-f]{3})?$/Diu</pre>
<h3>Opis:</h3>
<p>Sprawdzić, czy wprowadzone dane są szesnastkowymi odpowiednikami zapisu kolorów modelu RGB.</p>
<h3>Strona testowa:</h3>
<p><a href="http://use.m1chu.eu/-php/-ready-made-expressions/point-hex-color/index.php"  title="Przykład wykrywania koloru w postaci szesnastkowej">Tutaj</a>.</p>
<h3>Tekst spełniający warunki:</h3>
<p>#ff0000</p>
<h3>Tekst nie spełniający warunków:</h3>
<p>#a0hfg1 (g i h nie są znakami używanymi przy zapisie heksadecymalnym)</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$hex = trim('#0F15a2');
if ( !preg_match('/^#?[0-9a-f]{3}(?:[0-9a-f]{3})?$/Diu', $hex) )
{
	print 'Nieprawidłowy kod szesnastkowy koloru!';
}</pre>
<h2>9. Proste sprawdzenie nazwy użytkownika</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/^([a-z0-9]{1})([a-z0-9_-]{2,11})$/Diu</pre>
<h3>Opis:</h3>
<p>Wprowadzone dane muszą rozpoczynać się od znaku alfanumerycznego. Kolejne znaki mogą być ponadto myślnikiem lub podkreśleniem. Długość tekstu nie może być większa niż 12ście znaków.</p>
<h3>Strona testowa:</h3>
<p>Brak.</p>
<h3>Tekst spełniający warunki:</h3>
<p>m1chu</p>
<h3>Tekst nie spełniający warunków:</h3>
<p>_nick (pierwszy znak nie jest cyfrą, ani literą)</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$username = trim('m1chu');
if ( !preg_match('/^([a-z0-9]{1})([a-z0-9_-]{2,11})$/Diu', $username) )
{
	print 'Nieprawidłowa nazwa użytkownika!';
}</pre>
<h2>10. Proste sprawdzenie hasła użytkownika</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/^(?=[a-z0-9_#@%\*-]*?[A-Z])(?=[a-z0-9_#@%\*-]*?[a-z])(?=[a-z0-9_#@%\*-]*?[0-9])([a-z0-9_#@%\*-]{8,24})$/Diu</pre>
<h3>Opis:</h3>
<p>Wpisane hasło użytkownika musi mieć od ośmiu, do dwudziestu czterech znaków, pośród których musi być co najmniej jedna wielka litera, jedna mała i jedna cyfra. Dodatkowo dozwolone są: <strong>_</strong>, <strong>#</strong>, <strong>@</strong>, <strong>%</strong>, <strong>*</strong> i <strong>-</strong>.</p>
<h3>Strona testowa:</h3>
<p>Brak.</p>
<h3>Tekst spełniający warunki:</h3>
<p>1xY#n6%2V</p>
<h3>Tekst nie spełniający warunków:</h3>
<p>@1bbd2 (za krótki ciąg, brak wielkiej litery)</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$password = trim('To#jEst@_haSL-o%usera*');
if ( !preg_match('/^(?=[a-z0-9_#@%\*-]*?[A-Z])(?=[a-z0-9_#@%\*-]*?[a-z])(?=[a-z0-9_#@%\*-]*?[0-9])([a-z0-9_#@%\*-]{8,24})$/Diu', $password) )
{
	print 'Nieprawidłowa nazwa użytkownika!';
}</pre>
<h2>11. Zaznaczanie frazy w tekście</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/\b(fraza)\b/iu</pre>
<h3>Opis:</h3>
<p>Zamienianie podanej frazy na inną lub wystylowanie jej formy. Przydatna funkcja w wyszukiwarkach.</p>
<h3>Strona testowa:</h3>
<p>Brak.</p>
<h3>Działanie:</h3>
<p>szukana_fraza -> <strong>szukana_fraza</strong></p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$text = 'Wyszukane frazy: wyrażenia, regularne, preg_match, preg_replace';
$find = 'regularne';
print preg_replace('/\b(' . $find . ')\b/iu', '&lt;strong&gt;\\1&lt;/strong&gt;', $text);</pre>
<h3>Rozwiązanie oparte o <a target="_blank" href="http://pl2.php.net/manual/en/function.str-ireplace.php"  title="Specyfikacja str_ireplace()">str_ireplace</a>:</h3>
<pre class="brush: php; title: ;">$text = 'Wyszukane frazy: wyrażenia, regularne, preg_match, preg_replace';
$find = 'regularne';
print str_ireplace($find, '&lt;strong&gt;' . $find . '&lt;/strong&gt;', $text);</pre>
<h2>12. Zamiana tekstowych emotikon na graficzne</h2>
<h3>Opis:</h3>
<p>Podmiana tekstowych uśmieszków na ich odpowiedniki graficzne. Wersja z użyciem <strong>str_ireplace</strong>.</p>
<h3>Strona testowa:</h3>
<p>Brak.</p>
<h3>Rozwiązanie oparte o wbudowaną funkcję PHP:</h3>
<pre class="brush: php; title: ;">$text_format = array(
	array(';)', ';-)', 'x)', ';]', ';-]'),
	array(':)', ':-)', '=)', ':]', ':-]'),
	array(':(', ':-(', '=(', ':[', ':-['),
	array(';(', ';-(', 'x(', ';[', ';-['),
	array(':P', ':-P', '=P'),
	array(':D', ':-D', '=D'),
	array(':*', ':-*', '=*'),
	array(':O', ':-O', '=O'),
	array(':/', ':-/', '=/')
	);

$image_format = array(
	'wink.png',
	'smile.png',
	'sad.png',
	'cry.png',
	'tongue.png',
	'bigsmile.png',
	'kiss.png',
	'surprise.png',
	'grimace.png'
	);

$text = 'To jest przykładowy tekst ;] Prawda, że fajny? :-D Pogrymasiłbym trochę =/, ale po co? :) Także do zobaczenia :*';

foreach ( $text_format as $key =&gt; $val )
{
	$text = str_ireplace($val, '&lt;img src=&quot;smiles/' . $image_format[$key] . '&quot; alt=&quot;' . $image_format[$key] . '&quot; /&gt;', $text);
}

print $text;</pre>
<h2>13. Zamiana BBCode na HTML</h2>
<h3>Wzorzec przykładowy:</h3>
<pre class="brush: plain; title: ;">/\[b\](.*?)\[\/b\]/Dius</pre>
<h3>Opis:</h3>
<p>Podmiana BBCode poprzez kod HTML. Funkcjonalność znana z forów internetowych.</p>
<h3>Strona testowa:</h3>
<p>Brak.</p>
<h3>Działanie:</h3>
<p>[i]pochylenie[/i] -> <em>pochylenie</em></p>
<h3>Uwagi:</h3>
<p>W komercyjnych projektach należy skorzystać z bardziej zaawansowanych klas do obsługi tego problemu. Pozwoli to uniknąć np. problemu z nieprawidłowym zagnieżdżeniem kilku tagów BBCode w sobie.</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">function bbcode2html($code) {
	$search = array(
        '/\[b\](.*?)\[\/b\]/Dius',
        '/\[i\](.*?)\[\/i\]/Dius',
        '/\[u\](.*?)\[\/u\]/Dius',
        '/\[s\](.*?)\[\/s\]/Dius',
        '/\[img\=(.*?)\](.*?)\[\/img\]/Dius',
        '/\[img\](.*?)\[\/img\]/Dius',
        '/\[url\](.*?)\[\/url\]/Dius',
        '/\[url\=(.*?)\](.*?)\[\/url\]/Dius',
        '/\[color\=(#?([a-f0-9]{6}|[a-f0-9]{3}))\](.*?)\[\/color\]/Dius',
        '/\[size\=([1-9]{1}[0-9]{0,2})(px|pt|em)\](.*?)\[\/size\]/Dius',
    	'/\[font\=([a-z0-9\s&quot;]+)\](.*?)\[\/font\]/Dius',
    );

	$replace = array(
        '&lt;strong&gt;\\1&lt;/strong&gt;',
        '&lt;em&gt;\\1&lt;/em&gt;',
        '&lt;span style=&quot;text-decoration: underline;&quot;&gt;\\1&lt;/u&gt;',
        '&lt;strike&gt;\\1&lt;/strike&gt;',
        '&lt;img src=&quot;\\2&quot; alt=&quot;\\1&quot; /&gt;',
        '&lt;img src=&quot;\\1&quot; alt=&quot;&quot; /&gt;',
        '&lt;a href=&quot;\\1&quot;&gt;\\1&lt;/a&gt;',
        '&lt;a href=&quot;\\1&quot;&gt;\\2&lt;/a&gt;',
        '&lt;span style=&quot;color: \\1;&quot;&gt;\\2&lt;/span&gt;',
        '&lt;span style=&quot;font-size: \\1\\2;&quot;&gt;\\3&lt;/span&gt;',
    	'&lt;span style=&quot;font-family: \\1;&quot;&gt;\\2&lt;/span&gt;'
    );

	return preg_replace($search, $replace, $code);
}</pre>
<h2>14. Sprawdzenie poprawności wprowadzonego kodu pocztowego</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/^[0-9]{2}-?[0-9]{3}$/Du</pre>
<h3>Opis:</h3>
<p>Testowanie poprawności wpisanego kodu pocztowego (w formacie używanym w Polsce). Dozwolone są wersje z myślnikiem pomiędzy drugą i trzecią cyfrą, oraz bez niego.</p>
<h3>Strona testowa:</h3>
<p>Brak.</p>
<h3>Tekst spełniający warunki:</h3>
<p>62-150</p>
<h3>Tekst nie spełniający warunków:</h3>
<p>611-10</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$postcode = '61-610';
if ( !preg_match('/^[0-9]{2}-?[0-9]{3}$/Du', $postcode) )
{
	print 'Nieprawidłowy kod pocztowy';
}</pre>
<h2>15. Operowanie na znacznikach XML/XHTML</h2>
<h3>Wzorzec:</h3>
<pre class="brush: plain; title: ;">/&lt;([a-z]+)([\s]{1}[^=]+[=]{1}[^&lt;]+)*(?:&gt;(.*)&lt;\/\1&gt;|\s+\/&gt;)/u</pre>
<h3>Opis:</h3>
<p>Sprawdzenie znaczników XML/XHTML oraz pobranie treści znajdującej się pomiędzy nimi.</p>
<h3>Strona testowa:</h3>
<p>Brak.</p>
<h3>Rozwiązanie oparte o wyrażenie regularne:</h3>
<pre class="brush: php; title: ;">$tag = '&lt;a href=&quot;http://m1chu.eu/&quot; title=&quot;m1chu.eu - another devblog&quot;&gt;m1chu.eu&lt;/a&gt; - &lt;strong&gt;another devblog&lt;/strong&gt;';
if ( !preg_match_all('/&lt;([a-z]+)([\s]{1}[^=]+[=]{1}[^&lt;]+)*(?:&gt;(.*)&lt;\/\1&gt;|\s+\/&gt;)/u', $tag, $matches, PREG_PATTERN_ORDER) )
{
	print 'Nieprawidłowa konstrukcja znacznika';
}
else {
	print_r($matches); // print_r($matches[3]) - lista treści zawieranych w tagach
}</pre>
<h2>Słowem zakończenia</h2>
<p>Starałem się jak najdokładniej sprawdzić powyższe wzorce. Nie mniej jednak, jak to zwykle bywa, mogą się w nich znaleźć błędy. Jeżeli ktoś takowe znajdzie, ma jakieś pytania, czy lepsze propozycje to proszę o komentarze pod wpisem.</p>
<p>Jak wspomniałem na wstępie, uruchomiłem serwis pozwalający na sprawdzanie wyrażeń regularnych względem podanego tekstu. Jest on aktualnie w fazie testów, więc mogą występować błędy w jego działaniu. Po zakończeniu wprowadzania poprawek baza wpisów zostanie wyczyszczona do zera. Można go testować, a w przyszłości korzystać pod dwoma adresami:</p>
<ol>
<li><a target="_blank" href="http://regexp.pl/"  title="regexp.pl - tester wyrażeń regularnych"><strong>regexp.pl</strong></a> (adres główny)</li>
<li><a href="http://regexp.m1chu.eu/"  title="regexp.pl - tester wyrażeń regularnych"><strong>regexp.m1chu.eu</strong></a> (adres alternatywny)</li>
</ol>
<p>Pod względem danych sesyjnych obydwa adresy działają niezależnie. <strong>Zapraszam do testowania i wyrażania swojego zdania na moim blogu, w komentarzach tego artykułu.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://m1chu.eu/2009/10/13/15-przydatnych-wyrazen-regularnych-w-php/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Imagine Cup 2009 &#8211; polskie finały oczami uczestników&#8230;</title>
		<link>http://m1chu.eu/2009/05/25/imagine-cup-2009-polskie-finaly-oczami-uczestnikow/</link>
		<comments>http://m1chu.eu/2009/05/25/imagine-cup-2009-polskie-finaly-oczami-uczestnikow/#comments</comments>
		<pubDate>Mon, 25 May 2009 08:34:04 +0000</pubDate>
		<dc:creator>m1chu</dc:creator>
				<category><![CDATA[Webhosting]]></category>
		<category><![CDATA[Świat IT]]></category>
		<category><![CDATA[Życie]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[finały]]></category>
		<category><![CDATA[imagine cup]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[projektowanie oprogramowania]]></category>
		<category><![CDATA[warszawa]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[xaml]]></category>

		<guid isPermaLink="false">http://m1chu.eu/?p=1413</guid>
		<description><![CDATA[Mówi się, że pierwsze razy niekiedy bolą. Ten pomimo, że długi był w gruncie rzeczy miły, przyjemny, wręcz zabawny. Po ponad miesięcznym maratonie organizacyjno-roboczym zakończyliśmy wraz z dotarciem do punktu kulminacyjnego drogę pierwszego etapu wyprawy &#8211; finału polskiej edycji Imagine Cup 2009. I ten dziewiczy rejs, oczyma czwórki pasjonatów postaram się dzisiaj przedstawić&#8230; Warszawa, 12 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="iborder" src="http://images.m1chu.eu/index.php?res=MjVfMDVfMDlfaW1hZ2luZWN1cF8yMDA5O2ltYWdpbmVjdXBfMjAwOV9wb3N0X2hlYWRlci5wbmc=" alt="Imagine Cup 2009" style="height: 119px;" /></p>
<p>Mówi się, że pierwsze razy niekiedy bolą. Ten pomimo, że długi był w gruncie rzeczy miły, przyjemny, wręcz zabawny. Po ponad miesięcznym maratonie organizacyjno-roboczym zakończyliśmy wraz z dotarciem do punktu kulminacyjnego drogę pierwszego etapu wyprawy &#8211; finału polskiej edycji <a target="_blank" href="http://www.microsoft.com/poland/edukacja/imaginecup/"  title="Imagine Cup - strona w języku polskim"><strong>Imagine Cup 2009</strong></a>. I ten dziewiczy rejs, oczyma czwórki pasjonatów postaram się dzisiaj przedstawić&#8230;</p>
<p><span id="more-1413"></span></p>
<h2>Warszawa, 12 maja, anno Domini 2009!</h2>
<p>Siedząc pełni entuzjazmu kilka godzin w pociągu relacji Berlin &#8211; Poznań &#8211; Warszawa nie podejrzewaliśmy, że będzie to pierwszy, a zarazem ostatni dzień euforii, połączonej ze stresem związanym z wyzwaniem jakie nas czekało. Sesja plakatowa, czyli pierwsze starcie z jury, a potem możliwość prezentacji projektu na scenie głównej &#8211; takie było założenie. Przynajmniej moje. Nie żadne minimum, bo ono zostało już w naszych oczach osiągnięte. Po prostu cel&#8230;</p>
<p style="text-align: center; font-size: 10px;"><img class="iborder" src="http://images.m1chu.eu/index.php?res=MjVfMDVfMDlfaW1hZ2luZWN1cF8yMDA5O2ltYWdpbmVjdXBfMjAwOV8wMV9sb2dvLnBuZw==" alt="OneStepEarth - logo" style="height: 397px;" /><br />OneStepEarth &#8211; nasze rozwiązanie pomagające w walce z nadmierną emisją dwutlenku węgla.</p>
<h2>Cofnijmy się o niespełna rok wstecz&#8230;</h2>
<p>Nie załamując rąk po tym jak w zeszłorocznej edycji z powodów terminowych pomyłek nie wystartowaliśmy, tym razem postanowiliśmy bardziej skrupulatnie przygotować się do konkursu. Skompletowaliśmy na nowo team w postaci jednej kobiety i trzech jurnych facetów. <strong>Patrycję</strong> &#8211; studentkę <strong>Uniwersytetu im. Adama Mickiewicza</strong> oraz <strong>Bartosza (Doss)</strong>, <strong>Tomasza (Tomaj)</strong> i <strong>mnie</strong> na co dzień uczęszczających na <strong>Politechnikę Poznańską</strong>. I tak oto zapoznając się z tematem tegorocznej edycji Imagine Cup zabraliśmy się do pracy, która w przyszłości miała nas kosztować dużo nerwów, potu, ale i nie mniej satysfakcji przeplatanej z odrobiną niedosytu. Kategoria <strong>Projektowania Oprogramowania</strong> stanęła przed nami otworem&#8230;</p>
<h2>Wyobraź sobie świat, w którym technologia pomaga rozwiązać najtrudniejsze problemy ludzkości</h2>
<p>Temat powyższy podparty był <a target="_blank" href="http://www.un.org/millenniumgoals/"  title="Milenijne cele rozwoju">osmioma milenijnymi celami rozwoju</a> stworzonymi przez Organizację Narodów Zjednoczonych. <strong>Zlikwidowanie problemu głodu i energii</strong>, <strong>rozwój (terytorialny) edukacji</strong>, <strong>równość płci</strong>, <strong>zdrowie dzieci</strong> i <strong>matek w ciąży</strong>, <strong>walka z HIV/AIDS</strong>, <strong>ekorozwój środowiska</strong> i <strong>światowe partnerstwo</strong> &#8211; tych fraz powinno dotyczyć rozwiązanie i chociażby pośrednio się do któregoś z nich przyczyniać.</p>
<p style="text-align: center; font-size: 10px;"><img class="iborder" src="http://images.m1chu.eu/index.php?res=MjVfMDVfMDlfaW1hZ2luZWN1cF8yMDA5O2ltYWdpbmVjdXBfMjAwOV8wMl9qb2tlLnBuZw==" alt="Poczucie humoru organizatorów" style="height: 300px;" /><br />Co by nie było, że organizatorzy nie mieli poczucia humoru. Nazwa sali, gdzie prezentowaliśmy się w pierwszy dzień.</p>
<p>Jak przyznali poszczególni członkowie komisji &#8211; nam się udało wstrzelić i w jeden z powyższych celów, i w samą popularność problemu który poruszaliśmy. Jakby nie patrzeć to właśnie jego dobranie zajęło nam najwięcej czasu. Na tyle długo, że zaczęliśmy go realizować dopiero po uzyskaniu wyników przejścia do drugiej rundy, gdzieś na początku lutego.</p>
<h2>Praktyka czyni mistrza!</h2>
<p>Myśleć, kombinować, puszczać wodze wyobraźni można długo. Nawet trzy, cztery miesiące &#8211; tak jak to było w naszym wypadku. I to na jeden temat. Piękna sprawa przeplatana komfortową sytuacją, prawda? Problem pojawia się dopiero wtedy, gdy trzeba zrealizować swoje fantazje. A jeszcze bardziej się on potęguje, gdy nie wszystkie scenariusze, konspekty, aspekty teoretyczne programu są opracowane i często w czasie pracy trzeba improwizować, dopóki nie otrzyma się prawidłowych źródeł, danych na których ma być oparty odpowiedni element naszego produktu.</p>
<p class="explain"><strong>Interoperacyjność</strong>, czyli w kontekście informatycznym możliwość przekazywania danych w różnej formie pomiędzy różnymi aplikacjami, platformami, czy urządzeniami.</p>
<p>Dwa miesiące ciężkiej pracy, wyszukiwania niezbędnych podstaw informacyjnych oraz przełożenie ich na nasze potrzeby, walka z interfejsem przy użyciu przede wszystkim <strong>WPF&#8217;a</strong> i w końcu implementacja naszych założeń w programie pisanym w <strong>C#</strong> z danymi kolekcjonowanymi w bazie <strong>MSSQL</strong> dały swój wymierny rezultat. Nie poszliśmy w interoperacyjność, lenistwo oraz walka z czasem (na własne życzenie) i ograniczeniami związanymi ze studiowaniem zawężały nam znacznie możliwości. Nie odbyło się jednak bez walki do samego końca. Jeszcze dwa dni przed upłynięciem terminu zdawania prac walczyliśmy z wynikami naszych wypocin tak, aby zredukować ilość błędów do niezbędnego minimum oraz, aby z jak najlepszej strony zaprezentować to co stworzyliśmy.</p>
<h2>Kiedy finały krajowe stanęły otworem&#8230;</h2>
<p>Ogarnęło mnie przede wszystkim zaskoczenie. Duże. Jestem z reguły realistą, a co za tym idzie bardzo często także pesymistą. Żyjemy przecież w Polsce. Tu nawet nie biją za darmo, bo w ramach pakietu &#8222;darmowy oklep&#8221; ukradną ci komórkę. Pomijając tę dygresję oraz falę radości jaka nas opanowała mieliśmy przed sobą jeszcze kawał, ponad tygodniowej roboty. Nie tylko technicznej, ale także marketingowej i prezentacyjnej. Na szczęście w tym ostatnim pomogli nam sami organizatorzy poprzez zaproszenie na tego typu szkolenie. Co logicznie myśląc wiązało się z kolejną, jednodniową wycieczką do Warszawy.</p>
<p style="text-align: center; font-size: 10px;"><img class="iborder" src="http://images.m1chu.eu/index.php?res=MjVfMDVfMDlfaW1hZ2luZWN1cF8yMDA5O2ltYWdpbmVjdXBfMjAwOV8wM19ib3gucG5n" alt="OneStepEarth - stoliki sesji plakatowej" style="height: 400px;" /><br />Stanowisko numer pięć &#8211; zawartość stolików sesji plakatowej.</p>
<p>Będąc już na sesji plakatowej nie sposób było nie dostrzec, że nasze stanowisko jest ciut ubogie. Dwa notebooki, ciut rekwizytów, flipchart i dwa stoliki wraz z odrobiną gastronomii. No niestety, nikt nie wpadł na to, aby brać ze sobą dodatkowy sprzęt elektroniczny, czy inne interaktywne urządzenia. Był za to plakat, ulotki, chęci, dużo stresu i wraz z każdą kolejną godziną coraz więcej zmęczenia. Sędziowie chodzili w dwu i trzyosobowych grupach, którym kolejno trzeba było wytłumaczyć problematykę i zasady działania naszego rozwiązania.</p>
<p>Jak to wygląda w praktyce? W skrócie. Większość z członków jury to biznesmeni, dyrektorzy, menedżerowie i kilka osób związanych z technicznymi stronami rozwiązań. Część nastawiona jest na biznes, część na aspekty technologiczne. Jedni z chęcią posłuchają o tym jak działa aplikacja, a inni nie zrozumieją, bądź po prostu nie chcą słuchać na czym to wszystko w praktyce polega. Dla mnie niestety jest to jeden z negatywów Imagine Cup. W finałach jego specyfika z konkursu programistycznego zmienia się w sporym stopniu w marketingowo-biznesowy. Uogólniając należy sprzedać wszystko. Program, siebie i najlepiej stanowisko które prezentujemy także :]</p>
<p style="text-align: center; font-size: 10px;"><img class="iborder" src="http://images.m1chu.eu/index.php?res=MjVfMDVfMDlfaW1hZ2luZWN1cF8yMDA5O2ltYWdpbmVjdXBfMjAwOV8wNF9yZXNjdWUucG5n" alt="Imagine Cup 2009 - sesja plakatowa" style="height: 400px;" /><br />Imagine Cup 2009 &#8211; gramy na emocjach na sesji plakatowej. Jak się bawić to się bawić, prawda? ;]</p>
<p>Bardziej wyważoną i pozytywną opinię na ten temat ma za to <strong>Tomaj</strong>:<br />
<blockquote>Kilka słów o jury. Większość z nich sprawiała wrażenie prawdziwych biznesmenów. Pisząc ?prawdziwych? mam na myśli takich, którzy zachowują uśmiech na twarzy i nie dadzą po sobie poznać, że nie są zainteresowani tym, co do nich mówisz, lub, że wiedzą, że wciskasz im kompletny kit. Mam na myśli takich, którzy traktują Cię jak partnera, z którym można dobić interesu. Wyglądem i zachowaniem przystawali do zajmowanego przez siebie stanowiska. Specjalnie użyłem na początku sformułowania ?większość z nich?, bo zawsze znajdzie się czarna owca i każdy z finalistów na pewno doskonale wie o kogo chodzi ;). Okazało się również ? ku naszemu wielkiemu zaskoczeniu ? że większość jurorów znała się na programowaniu. I to całkiem nieźle! Pytania o technologie, w których wykonaliśmy nasz program trochę nas więc zaskoczyły.</p></blockquote>
<h2>Ex aequo pozycja szósta!</h2>
<p>Nam się nie udało wygrać. Zajęliśmy chlubne, <strong>szóste</strong> miejsce. Biorąc pod uwagę, że cała druga piątka takie zajęła &#8211; nie jest źle. Nie wiem, czy to z powodu, aby nie robić nikomu &#8222;przykrości&#8221;, czy po prostu dlatego, że niby walka była w miarę wyrównana. To czego jestem pewien, bo osobiście usłyszałem, to fakt, że poziom konkursu poszedł w górę. I podejrzewam, że w przyszłym roku ta tendencja będzie się utrzymywać.</p>
<blockquote><p><strong>Doss:</strong> z mojej perspektywy, mogę powiedzieć, że te wielkie projekty, wspaniałe rozwiązania i niedoścignione w geniuszu pomysły tworzą normalni ludzie, z którymi można pograć w kręgle, wypić piwo, a potem biegać bez spodni po pokoju  ;) . Owszem, poziom konkursu (przynajmniej u nas w Polsce) był wysoki, aczkolwiek za skandal uważam fakt, że nie dostaliśmy się do pierwszej piątki ;P. Widać gdzie ludzie naprawdę mają dbanie o środowisko  ;) . Żeby nie było, że przemawia przeze mnie gorycz porażki, powiem, że mój faworyt do wygrania zajął dopiero 4rte miejsce, przegrywając z konkurencją której program ma swój odpowiednik na necie w wersji 10 ;P. Niestety, nikt z jury nie sprawdził czy tamten &#8222;przełomowy&#8221; projekt nie istnieje już gdzieś w sieci&#8230;</p></blockquote>
<p>Czego możemy narcystycznie sobie pogratulować? Na pewno interfejsu wychwalanego najczęściej przez oceniające nas osoby. I tu podziękowania dla <strong>Tomaja</strong>, odwaliłeś kawał dobrej roboty. Pomimo, że dla mnie osobiście temat który chcieliśmy zrealizować rok wcześniej był bardziej &#8222;chwytliwy&#8221; pod względem wykonania to także tegoroczna problematyka emisji dwutlenku węgla której się podjęliśmy w gruncie rzeczy była na czasie i jak to stwierdził jeden z sędziów &#8222;dobrze ugruntowana w milenijnych celach&#8221;.</p>
<p>Wśród ścisłej, finałowej piątki rywalizacja była jeszcze bardziej ostra. Prezentacje były konkretne, no może prócz jednej w której zdenerwowanie zabrało ewidentnie górę nad rozwagą. Zdarza się. Pewnie dlatego, że wśród publiki siedział menedżer konkursu rangi ogólnoświatowej &#8211; Joe Wilson (który nawiasem mówiąc przeprowadził bardzo żywe podsumowanie całej edycji, typowo w amerykańskim stylu). Jeżeli chodzi o wykonanie ich pomysłów &#8211; wybraliśmy sobie prawie zgodnie w grupie domniemanego zwycięzce, nie mniej jednak realizacje i możliwości praktycznie wszystkich teamów były na tyle profesjonalne i zaawansowane, że wybór ten był niezwykle trudny. Kogo wskazywaliśmy? Nie zdradzę, nie mniej jednak nie byli to zwycięzcy wybrani przez grupę sędziów. A żeby ostatecznie choć ciut zobrazować poziom konkursu mogę dodać, że w żadnym wypadku nie było wstydem &#8222;przegrać&#8221; z taką &#8222;piątką&#8221; jakiej nie udało się pokonać w tym roku&#8230;</p>
<p style="text-align: center; font-size: 10px;"><img class="iborder" src="http://images.m1chu.eu/index.php?res=MjVfMDVfMDlfaW1hZ2luZWN1cF8yMDA5O2ltYWdpbmVjdXBfMjAwOV8wNV93aWxzb24ucG5n" alt="Joe Wilson w trakcie prezentacji" style="height: 400px;" /><br />Joe Wilson w trakcie prezentacji.</p>
<h2>Focus&#8230; focus&#8230; focus&#8230;</h2>
<p>Trzy słowa najczęściej powtarzane przez Joego w trakcie jego wystąpienia. Tłumacząc niedosłownie &#8211; &#8222;nie poddawać się, pracować, spełniać swoje cele&#8221;. Tak o to motywowali nas organizatorzy, przedstawiciele Microsoftu i Instytutu Wzornictwa Przemysłowego do dalszej pracy, do dalszego współzawodnictwa w przyszłych latach. Myślę, że skutecznie, a efekty będziemy mogli zaprezentować już&#8230; za rok :]</p>
<blockquote><p><strong>Tomaj:</strong> cały finał odbywał się w Instytucie Wzornictwa, który wywarł na mnie bardzo pozytywne wrażenie. O ile z zewnątrz wygląda on zupełnie przeciętnie, o tyle wnętrza zaprojektowane są niekonwencjonalnie, modernistycznie, troszkę w kierunku minimalistycznym, z pomysłem i ze smakiem. W różnych miejscach natknąć się można na małe ekspozycje, dzięki którym cały budynek nabiera charakteru i klimatu.</p></blockquote>
<h2>Reasumując&#8230;</h2>
<p>Zdradziliśmy i tak za dużo. Ktoś teraz może pomyśleć&#8230; &#8222;idioci, zdradzają szczegóły możliwe, że przyszłej konkurencji!&#8221;. Może i tak, może i nie. Kto nie był, a chciałby spróbować &#8211; na pewno będzie miał przez ten wpis jakiś pogląd na to jak działają te całe konkursowe trybiki. My takiej szansy i informacji nie mieliśmy. Nie zdradziliśmy żadnych bardzo ważnych konkretów, bo fakt jest taki, że doświadczenia chętni nabędą dopiero na miejscu (a i faktycznie ten krok do przodu przed &#8222;nowymi&#8221; musimy mieć ;]). Więc albo Wam się uda i się wstrzelicie z projektem, albo wrócicie z bagażem pożytecznych wiadomości i prawdopodobnie bakcylem na start w kolejnej edycji. Grunt to podejść do współzawodnictwa z uśmiechem, przymrużeniem oka, żartem &#8211; i to, zostawiając powagę w domach udało nam się chyba osiągnąć :]</p>
<blockquote><p><strong>Tomaj:</strong> atmosfera całego przedsięwzięcia pt. Imagine Cup była niezwykle przyjazna dla każdego uczestnika, widać było, że organizatorzy dołożyli wiele starań, by zapewnić wszystkim poczucie komfortu i miło spędzonego czasu. Tutaj moje ukłony w stronę osoby Piotra Kramka ? głównego koordynatora i gościa ?od wszystkiego? &#8211; dobrze poinformowany, uczynny, miły, sympatyczny, słowem: pełen profesjonalizm. Nie mogę też nie wspomnieć oczywiście o przemiłych paniach w rejestracji, które pozwalały na chwilę zapomnieć o stresie związanym z sesją plakatową.</p></blockquote>
<p>Ukłony powyższe są jak najbardziej na miejscu. Piotr &#8211; przynajmniej ze służbowego punktu widzenia to człowiek z poczuciem humoru i przede wszystkim nastawiony frontem do uczestników. Pewna przeciwwaga do obciążenia psychicznego kreowanego przez jurorów. Jak awansuje na jakieś wyższe stanowisko do przyszłego roku to miejcie, wszyscy przyszli i początkujący finaliści miejcie świadomość, że nie spotkaliście człowieka &#8222;na poziomie&#8221;, solidnie nakręcającego &#8222;ten biznes&#8221;.</p>
<p>I na koniec co dobrze zauważył <strong>Tomek</strong>:</p>
<blockquote><p> Na szczególną uwagę zasługuje również impreza zorganizowana w klubie <u>HulaKula</u> ostatniego dnia. Widać było, że naprawdę zadbali o zapewnienie rozrywki dla nas ? rezerwacja na 20 torów do kręgli, 5 stołów bilardowych, wino i piwo za damkę (co prawda na pół z wodą, ale zawsze :P), zakąski wszelkiej maści ? po prostu pyszności. Szkoda, że zamknięto nam klub godzinę przed czasem (małe niedomówienie z menadżerem klubu) ale żalu chyba nikt do nikogo nie ma (na pewno nie ja), bo bawiliśmy się przednio ;).</p></blockquote>
<p>Można tak relacjonować, opowiadać bardzo długo wchodząc to w coraz większe szczególiki. Spytacie czy warto? Warto, chociażby dlatego, że prócz pracy, presji i doświadczenia które się otrzyma na swoje barki, można także się dobrze bawić i rozluźnić. Osobiście pierwszy raz w życiu miałem okazję zagrać w kręgle i pewnie przez te wydarzenia nie będzie to ostatni ;]</p>
<blockquote><p><strong>Doss:</strong> pomijając moje drobne, wcześniejsze narzekanie, uważam, że IC jest bardzo dobrą inicjatywą, która naprawdę może zmienić świat. Nie przez to, że ktoś z nas napisze program, który niszczy połączenia w serwerach terrorystów, ale dzięki aktywowaniu ludzi (studentów &#8211; tak, to też ludzie) z całego świata &#8211; na pokazaniu im, że pomimo iż są tak młodzi, ich talent i praca (plus odrobina szczęścia) mogą okazać się wystarczające by małymi krokami budować lepszy świat.</p>
<p>Bo świat należy do nas &#8211; i to nie jest pusty frazes. Problem w tym, że tak niewielu w to wierzy, zapominamy, że tylko Ci co wierzą w to, osiągają sukcesy. Kto wie, czy w Tobie też nie siedzi osoba z potencjałem, który powali innych na kolana?</p>
<p>Moje przesłanie i lekcja z tego konkursu &#8211; wykorzystujcie swoje talenty najlepiej jak możecie, byście nigdy nie zarzucili sobie, że nawet nie spróbowaliście uczynić swojego świata lepszym.</p></blockquote>
<p>I tym miłym akcentem, wraz z symbolicznym do zobaczenia dla <a target="_blank" href="http://www.wss.pl/NewsList/1,10863.aspx"  title="Wyniki finałów">współzawodników</a> oraz jurorów, i podziękowaniem dla współpracowników uciekam w oczekiwaniu na miejmy nadzieję przyszłoroczne, kolejne, finałowe spotkanie&#8230; :]</p>
]]></content:encoded>
			<wfw:commentRss>http://m1chu.eu/2009/05/25/imagine-cup-2009-polskie-finaly-oczami-uczestnikow/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Pomóż ustanowić rekord świata &#8211; ściągnij Firefoxa 3 już dziś o 19:00</title>
		<link>http://m1chu.eu/2008/06/17/pomoz-ustanowic-rekord-swiata-sciagnij-firefoxa-3-juz-dzis-o-1900/</link>
		<comments>http://m1chu.eu/2008/06/17/pomoz-ustanowic-rekord-swiata-sciagnij-firefoxa-3-juz-dzis-o-1900/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 16:48:56 +0000</pubDate>
		<dc:creator>m1chu</dc:creator>
				<category><![CDATA[Świat IT]]></category>
		<category><![CDATA[download day]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[mozilla foundation]]></category>
		<category><![CDATA[rekord]]></category>

		<guid isPermaLink="false">http://m1chu.eu/?p=48</guid>
		<description><![CDATA[Dziś o godzinie 10:00 czasu pacyficznego letniego (GMT -07:00), czyli o godzinie 19:00 czasu środkowoeuropejskiego (jaki obowiązuje w Polsce) rozpocznie się oficjalne bicie rekordu Guinnessa w liczbie pobrań nowej wersji Firefoxa, oznaczonej numerkiem 3. O randze całego przedsięwzięcia w naszym kraju może świadczyć fakt, że liczba zadeklarowanych chętnych do ściągnięcia przekroczyła już 100 000 osób [...]]]></description>
			<content:encoded><![CDATA[<p>Dziś o godzinie <strong>10:00</strong> czasu pacyficznego letniego (GMT -07:00), czyli o godzinie <strong>19:00</strong> czasu środkowoeuropejskiego (jaki obowiązuje w Polsce) rozpocznie się oficjalne bicie rekordu <a target="_blank" href="http://utnij.eu/ksiega-rekordow-guinnessa/"  title="Księga Rekordów Guinnessa">Guinnessa</a> w liczbie pobrań nowej wersji <a target="_blank" href="http://www.spreadfirefox.com/pl/worldrecord"  title="SpreadFirefox">Firefoxa</a>, oznaczonej numerkiem <strong>3</strong>. O randze całego przedsięwzięcia w naszym kraju może świadczyć fakt, że liczba zadeklarowanych chętnych do ściągnięcia przekroczyła już <strong>100 000</strong> osób i jest to drugi wynik na świecie&#8230;</p>
<p><span id="more-48"></span></p>
<p style="text-align: center;"><img class="center" src="http://farm4.static.flickr.com/3078/2587725562_d6e0a7be4b.jpg?v=0" alt="Firefox - Download Day" /></a></p>
<p>O czym pisali pobieżnie już m.in. <a target="_blank" href="http://yashke.com/2008/06/17/o-1900-sciagnij-firefoxa-3/"  title="Ściągnij Firefoxa 3">Kuba na Yashke</a> i <a target="_blank" href="http://poradnikwebmastera.blox.pl/2008/06/Zaczekaj-do-wieczora.html"  title="Firefox 3 już wieczorem">Paweł</a> akcja ma na celu pobicie rekordu w ilości pobrań programu w czasie jednej doby. A jest co pobijać! Twórcy za minimalną granicę obrali sobie <strong>1 600 000</strong> ściągnięć, będącą liczbą pobrań FF2 podczas jego premiery. Gdyby każdy na świecie kto zadeklarował się do przystąpienia w tej akcji naprawdę do niej przystąpił byłby to wynik bezproblemowo do pobicia. Bo na liczniku chętnych jest już ponad <strong>1,7</strong> miliona osób. I to nie wszystko. Organizatorzy nie ograniczają się i celują w <strong>5 milionów</strong> potocznych &#8222;downloadów&#8221;.</p>
<p>Co najważniejsze &#8211; proszę nie psujcie zabawy ściągając Firefoxa z innych serwerów. Nieważne jak pewne byłoby źródło i jak renomowany byłby serwis &#8211; <strong>te pobrania nie liczą się do rekordu</strong>. A nie jest chyba problemem poczekać te niespełna 15ście minut&#8230;</p>
<p><a target="_blank" href="http://www.mozilla.org/foundation/"  title="Mozilla Foundation">Mozilla Foundation</a> prosi także o nie dublowanie ściągnięć oraz nie posługiwanie się botami w celu &#8222;podbicia&#8221; licznika. To nic nie da, a jedynie przyprawi ich o więcej pracy. Liczą się unikalne pobrania &#8211; podejrzewam (to tylko moja teoria ;]), że sprawdzane m.in. po IP. Więc jeśli ktoś ma dynamicznie przydzielane to&#8230; dobra, do niczego nie namawiam ;]</p>
<p>Jak wyglądają aktualnie statystyki deklaracji? Bardzo przychylnie, szczególnie dla nas Polaków:</p>
<ul>
<li>1. Stany Zjednoczone &#8211; <strong>273 865</strong> deklaracji na <em>303 753 000</em> mieszkańców co daje nam około <strong>0,0009%</strong> aktywności,</li>
<li>2. <span style="color: #880000;">Polska</span> &#8211; <strong>108 678</strong> na <em>38 110 000</em> co daje <strong>~0,003%</strong> aktywności,</li>
<li>3. Brazylia &#8211; <strong>106 695</strong> na <em>191 909 000</em> co daje <strong>~0,0005%</strong> aktywności.</li>
</ul>
<p>Tuż za nimi klasyfikują się Włochy. Analiza wykonana w sporym zaokrągleniu i oczywiście pomija fakt, że nie każdy mieszkaniec danego państwa ma dostęp do komputera, o internecie nie wspominając. Nie mniej jednak myślę, że wynik dla nas jest dobry i mamy być z czego dumni :D</p>
<p>Co mi pozostaje? Zaprosić Was do uczciwego ściągania i <strong>komentarzy w postaci Waszych reakcji i spostrzeżeń na temat nowego Firefoxa</strong>. Let&#8217;s enjoy.</p>
<p style="text-align: center;"><a target="_blank" href="http://www.spreadfirefox.com/node&#038;id=0&#038;t=290"  title="Ściągnij Firefoxa3 - download day!"><img class="center" src="http://farm4.static.flickr.com/3123/2586981911_4fb56d697c.jpg?v=0" alt="Firefox - Download Day" /></a></p>
<p>PS: wszystkich zainteresowanych zapraszam na blog <a target="_blank" href="http://blog.kurasinski.com/2008/05/28/firefox-3-is-coming/"  title="Firefox3 is coming">Artura Kurasińskiego</a> i zapoznanie się z wywiadem z Mike?iem Schroepfer?em z Mozilla Foundation.</p>
]]></content:encoded>
			<wfw:commentRss>http://m1chu.eu/2008/06/17/pomoz-ustanowic-rekord-swiata-sciagnij-firefoxa-3-juz-dzis-o-1900/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Barcamp i Global Gathering &#8211; weekendowe emocje gwarantowane</title>
		<link>http://m1chu.eu/2008/06/08/barcamp-i-global-gathering-czyli-jak-spedzic-milo-weekend/</link>
		<comments>http://m1chu.eu/2008/06/08/barcamp-i-global-gathering-czyli-jak-spedzic-milo-weekend/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 15:58:01 +0000</pubDate>
		<dc:creator>m1chu</dc:creator>
				<category><![CDATA[Recenzje i oceny]]></category>
		<category><![CDATA[Świat IT]]></category>
		<category><![CDATA[Życie]]></category>
		<category><![CDATA[barcamp]]></category>
		<category><![CDATA[global gathering]]></category>
		<category><![CDATA[msm events]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[trance]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://m1chu.eu/?p=47</guid>
		<description><![CDATA[Dzisiaj ciut od serca, w prostej linii &#8211; życiowo. Od kilku tygodni wiedziałem, że aktualnie mijający weekend będzie zapowiadał się co najmniej dobrze. Wejście na Global Gathering zabukowałem sobie już dawno, a i kilka dni temu oficjalnie zarejestrowałem się jako uczestnik na dziesiątym &#8211; jubileuszowym Barcampie. A co najważniejsze weekend się jeszcze nie skończył&#8230; Barcamp [...]]]></description>
			<content:encoded><![CDATA[<p>Dzisiaj ciut od serca, w prostej linii &#8211; życiowo. Od kilku tygodni wiedziałem, że aktualnie mijający weekend będzie zapowiadał się co najmniej dobrze. Wejście na <a target="_blank" href="http://poland.global-gathering.com/pl/"  title="Global Gathering">Global Gathering</a> zabukowałem sobie już dawno, a i kilka dni temu oficjalnie zarejestrowałem się jako uczestnik na dziesiątym &#8211; jubileuszowym <a target="_blank" href="http://barcamp.pl"  title="Barcamp">Barcampie</a>. A co najważniejsze weekend się jeszcze nie skończył&#8230;</p>
<p><span id="more-47"></span></p>
<p>Barcamp zaskoczył mnie swoją formą. I to pozytywnie. Jak widać Panowie z <a target="_blank" href="http://netguru.pl"  title="netguru">netguru</a> zabrali sobie do serca wiele z pośród rad uczestników i na dziesiąte spotkanie wprowadzili kilka zmian.</p>
<p>Przede wszystkim jak to na &#8222;okrągłe&#8221; spotkanie przystało spóźniłem się :D Grubo 40ści minut, co zresztą zaowocowało tym, że musieliśmy wraz z <strong>dzi3ciolem</strong> dyplomatycznie &#8222;walczyć&#8221; o piwo (pozdrawiam Adama i Kubę, organizatorów :D). Nie wiem więc dokładnie ile w praktyce było prezentacji, bo widziałem tylko część ostatniej (a może i jedynej). Tym razem nie ten aspekt był jednak najważniejszy.</p>
<p>Startupy&#8230; o tak, o nie chodzi. To wokół nich kręcił się cały ostatni Barcamp. Muszę przyznać, że prócz tego, że było ciut ciasno to pomimo banalności pomysłu wykonania wszystko przebiegło w miarę sprawnie i przyjemnie. Plus dla organizatorów.</p>
<p>Z pośród kilkunastu rozwiązań prezentowanych po kolei osobno każdej z kilkuosobowych grup uczestników osobiście do podarowania mojego głosu wybrałem na początku trzy. Trzy które moim subiektywnym zdaniem były na tyle porządnie wykonane aby pretendować do najlepszego startupu. Mianowicie:</p>
<ul>
<li>gromadzący ciekawe materiały filmowe serwis <strong>spryciarze.pl</strong>,</li>
<li>społecznościowy serwis sportowców &#8211; <strong>s4l.pl</strong>,</li>
<li>wspominany już podczas <a href="http://m1chu.eu/zycie/echo-osmego-starcia-z-barcamp-poznan#comment-1804"  title="Barcamp 8">relacji</a> z ósmego Barcampu <strong>punkter.pl</strong>.</li>
</ul>
<p>Ostatecznie, tak jak spora część osób postawiłem na studentów z Zielonej Góry i ich serwis z materiałami filmowymi. Po prostu mi się podobał i nie będę się okłamywał, że zaważył tu też fakt, iż sam jestem studentem. Choć nadal nie rozumiem pod jakim względem nosi on miano startupu? Tematyka serwisu innowacyjna na pewno nie jest. I nasuwa mi się jeszcze jedno, po raz kolejny zadawane przeze mnie pytanie będące jednym z podstawowych zagadnień tworzenia dynamicznych stron internetowych: <strong>po cholerę ludzie piszą strony w XHTML-u (patrz: doctype) skoro i tak wysyłane są one do przeglądarek innych niż IE jako zwykły HTML?</strong> Czy to tak trudno wysłać stronę jako <em>application/xhtml+xml</em>?</strong> Niektórzy sobie pomyślą, że się czepiam. Ktoś mi kiedyś wytłumaczył jednak, że taki zabieg jest po prostu idiotyzmem i będę się tego trzymał. Dotyczy to wszystkich trzech stron które podałem powyżej.</p>
<p>Reasumując &#8211; szaszłyki dobre, piwko zimne, atmosfera miła, choć nie każdy z prelegentów był na tyle przygotowany i miał na tyle dobrze wykonaną prezentację aby ją przedstawiać wśród uczestników. Ogólnie pozytyw dla organizatorów za zmianę specyfiki tego wyjątkowego spotkania. Teraz tylko oczekiwać co zmieni się na kolejnym meetingu, kiedy to pewnie sama filozofia (prezentacje 20 minutowe, itp.) wróci bardziej do poprzedniej normy.</p>
<p>Po godzinie szóstej byłem już zwarty i gotowy do wymarszu na kolejną zabawę. Wraz z <strong>Jarem</strong> wyruszyliśmy na plenerowy event muzyki klubowej i elektronicznej odbywający się na Torze Poznań &#8211; <strong>Global Gathering</strong>.</p>
<p style="text-align: center;"><a target="_blank" href="http://poland.global-gathering.com/pl/"  title="Global Gathering"><img class="center" src="http://www.imagic.pl/public/148469/globalgathering_top.gif" alt="Global Gathering" /></a></p>
<p>Czym jest ten festiwal? Cytując <a target="_blank" href="http://ftb.pl"  title="FTB">FTB</a>:</p>
<blockquote><p><strong>Global Gathering</strong> zdobył reputację największego na świecie i najpopularniejszego festiwalu muzyki elektronicznej. Od samego początku bilety na każdą z imprez są w całości wyprzedawane, a organizatorzy Angel Music Group co roku przesuwają coraz dalej granice muzyki i produkcji.</p>
<p><strong>Global Gathering UK</strong> rozpoczął swój żywot w <strong>lipcu 2001</strong>, jako jednodniowa impreza muzyki elektronicznej dla <strong>25,000</strong> osób, na której wystąpiła masa świetnych DJ-ów. Od tamtej pory impreza ta stała się dwudniowym wypadem weekendowym dla ponad <strong>55.000</strong> osób dziennie, z listą wykonawców, którzy są chlubą każdego znaczącego wydarzenia muzyki elektronicznej i odtwarzanej na żywo na planecie. [...]</p></blockquote>
<p>Nikt lubujący się w tego typu muzyce nie zaprzeczy, że zapowiadało się to bardzo dobrze. I tak właśnie było. Kilka w miarę miarodajnie rozmieszczonych scen w rozłożonych namiotach z różnymi stylami muzyki: <em>trance, electro-house, techno, hardstyle, baseline</em> i scena główna. Masa pięknych kobiet, w tym kuszące non-stop tancerki. Świetnie nastawieni imprezowicze. Strefa <strong>XBOX</strong> z możliwością zagrania w <em>Halo 3</em>, czy <em>Dead of Alive</em>. Taka oto była moja pierwsza reakcja. I wszystko byłoby perfekcyjnie, gdyby nie&#8230;</p>
<ul>
<li>idiotycznie rozplanowany i mały ogródek piwny oraz mało dystrybutorów piwa, które w przypadku nastu tysięcy uczestników powodowały, że zakup piwa (które z tego co wiem i tak było w większości&#8230; wodą) graniczył z cudem. Jaki był tego wynik? Jestem z siebie dumny&#8230; nie wypiłem ani kropli napojów alkoholowych :D,</li>
<li>Lech &#8222;Free&#8221; w namiotach? Bez żartów proszę,</li>
<li>problemy z nagłośnieniem, szczególnie w <strong>Trance Arena</strong>,</li>
<li>rozplanowanie gastronomii. Z tego co dobrze widziałem tylko jedne stanowisko (pomimo, że miejsca wolnego było dużo więcej) i ceny nieporównywalne do jakości usług,</li>
<li>nieaktualny <a target="_blank" href="http://en.wikipedia.org/wiki/Timetable"  title="Timetable">timetable</a>. Niestety informatory które rozdawano na wejściu ni jak pokrywały się z tym jak grali artyści. Trochę to&#8230; amatorskie,</li>
<li>dojazd autobusowy &#8211; niestety organizatorzy się chyba przeliczyli i pomimo, że autobus jeździł co piętnaście minut to trudno było w nim ruszyć chociażby nogą.</li>
</ul>
<p style="text-align: center;"><a target="_blank" href="http://www.imagic.pl/public/148470/mapkaduza.jpg"  title="Mapka terenu"><img class="center" src="http://www.imagic.pl/public/148471/mapkamini.jpg" alt="Mapka terenu" /></a></p>
<p style="text-align: center; font-size: 9px;">(mapka terenu Global Gathering pochodzi z serwisu ftb.pl)</p>
<p>Wszystkie te mniejsze, czy większe niedogodności są do wybaczenia. Każdemu przecież się może zdarzyć, a nie jest to coś czego nie da się przeżyć. Jest jednak jeszcze jeden aspekt, przez który najchętniej i ja, i pewnie tysiące innych klubowiczów najchętniej odważyłoby się kopnąć organizatorów w cztery litery. <strong>Kurz</strong>! Masa kurzu i pyłu. Jak jeszcze mogę zrozumieć go w plenerze na głównej scenie, tak brak jakichkolwiek desek, czy sztucznej nawierzchni pod namiotami jest dla mnie szczytem braku inteligencji. Ludzie, w tym jako po dwudziestu, czy trzydziestu minutach dławili się kaszlem i po prostu wychodzili. Pewnie dlatego trudno było spotkać całkowicie pełną &#8222;arenę&#8221;.</p>
<p style="text-align: center;"><img class="center" src="http://www.bankfotek.pl/image/84334.jpeg" alt="Scena główna" /></p>
<p>Przejdźmy jednak do głównych pozytywów, które pomimo wszelkich niedogodności powodowały, że imprezę zaliczam do udanych:</p>
<ul>
<li>może wyda się to głupie, ale&#8230; rozmieszczenie Toi Toi zasługuję na pochwałę z racji braku kolejek,</li>
<li>różnorodność muzyki, to chyba podstawa tej serii imprez. I główny argument za tym, aby się na nią wybrać. Style są na tyle zróżnicowane, że zamiast siedzieć na preferowanym przeze mnie trance-ie, dłużej byłem na scenie techno i electro-house,</li>
<li>mała ilość osób w wieku&#8230; dziecięcym? No i zarazem względny spokój. Osobiście nie widziałem, ani żadnych bójek, ani żadnych innych stricte negatywnych obrazów co może świadczyć i o niezłej kulturze uczestników, a także o dobrze wykonanej robocie przez ochronę,</li>
<li>fakt, że tylko raz ktoś podbił do mnie z pytaniem czy mam jakieś wspomagacze,</li>
<li>za dodatkowe atrakcje w stylu: wesołe miasteczko, bungee, sale telewizyjną, czy boxy z różnorodnymi dodatkami,</li>
<li><a target="_blank" href="http://utnij.eu/global-gathering-fajerwerki/"  title="Global Gathering - fajerwerki">fajerwerki</a> godzinę przed północą na wejście <strong>Erica Prydza</strong>,</li>
<li>no i ostatecznie to o czym większość osób zapomina &#8211; zapierający dech w piersi pokaz grupy <a target="_blank" href="http://www.zelazny.azl.pl/"  title="Grupa Żelazny">Żelazny</a>.</li>
</ul>
<p style="text-align: center;"><img class="center" src="http://www.bankfotek.pl/image/84354.jpeg" alt="Grupa Żelazny - Global Gathering" /> <img class="center" src="http://www.bankfotek.pl/image/84349.jpeg" alt="Grupa Żelazny - Global Gathering" /></p>
<p>Przechodząc do sedna całej relacji. Prócz <a target="_blank" href="http://utnij.eu/global-gathering-deadmau5/"  title="Deadmau5 - film z Global Gathering"><strong>Deadmau5-a</strong></a>, który stworzył świetne show nie jestem w stanie jednoznacznie ocenić innych artystów. Osobiście zawiódł mnie trochę <strong>Sander Van Doorn</strong>. Na tyle, że po ponad dwudziestu minutach ulotniłem się z mojego jedynego dłuższego pobytu na <a target="_blank" href="http://utnij.eu/global-gathering-timetable/"  title="Global Gathering - timetable"><em>Godskitchen Arena</em></a> na <strong>Sebastiana Legera</strong>. Co mnie osobiście bardzo zdziwiło to świetny, twardy klimat <em>DJ MAG Techno Arena</em>. <strong>Jacek Sienkiewicz, Brian Sanhaji, Monika Kruse</strong> dali moim zdaniem pokaz całkiem przyzwoitej dawki cięższej muzyki. Na tyle dobrej, że jak już wspomniałem spędziłem tam więcej czasu niż na trance-ie. <em>Hardstyle</em> niszczył na tyle, że odważyłem się tam pojawić tylko raz i to na krótko. Może też dlatego, że nie chciałem zmienić od razu kolorystyki mojego ubioru z białej na czarną. No i na koniec <em>LECH GLOBAL MAIN STAGE</em> reprezentowane przez takich artystów jak <a target="_blank" href="http://utnij.eu/global-gathering-mainstage/"  title="Global Gathering - filmik ze sceny głównej"><strong>ATB</strong>, <strong>David Guetta</strong> czy <strong>Ferry Corsten</strong></a> (którego nie wiem jakim sposobem przegapiłem :(). Dla mnie głównie scena przeznaczona do &#8222;rekreacyjnego poskakania&#8221; w przerwie od bardziej specyficznych brzmień. Fajna, choć nie fenomenalna gra laserów i scena, mniej odczuwalny kurz z racji otwartości przestrzeni no i najwięcej osób &#8211; z tegoż samego powodu. To chyba główne aspekty ją charakteryzujące.</p>
<p style="text-align: center;"><img class="center" src="http://www.bankfotek.pl/image/84333.jpeg" alt="Scena główna" /></p>
<p>Tak oto lądując w domu o siódmej nad ranem musiałem spędzić jeszcze godzinę na płukanie ciuchów (a co mi tam wtedy godzina w tą czy w tamtą nie robiła już różnicy ;]), czyszczenie butów i &#8222;podwójny&#8221; prysznic. To właśnie urok zabawy na piachu (fanfary po raz n-ty dla organizatorów!). Czy się jednak opłacało? Tak! Jasne, techniczne wykonanie mogło być bardziej dokładne, ale w gruncie rzeczy nie ma co narzekać. Niedogodności były rekompensowane przez świetną i różnorodną muzykę, dobry klimat i nieprzeciętne kobiety. Myślę, że za rok <strong>MSM EVENTS</strong> wyciągnie z tego jakieś wnioski i spokojnie będę mógł event polecić każdej osobie lubiącej tego typu klimaty.</p>
<p style="text-align: center;"><img class="center" src="http://m1chu.eu/images/beauty.png" alt="Test... Seat'a ;]" /></p>
<p>Nie mniej jednak okres wolnego się jeszcze nie skończył i tak oto właśnie popijając zimnego Carlsberg-a przygotowuję się do jego uwieńczenia czekając na pierwszą potyczkę naszej reprezentacji na Mistrzostwach Europy 2008&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://m1chu.eu/2008/06/08/barcamp-i-global-gathering-czyli-jak-spedzic-milo-weekend/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Big Buck Bunny &#8211; krótkie wrażenia po premierze internetowej filmu</title>
		<link>http://m1chu.eu/2008/06/02/big-buck-bunny-krotkie-wrazenia-po-premierze-internetowej-filmu/</link>
		<comments>http://m1chu.eu/2008/06/02/big-buck-bunny-krotkie-wrazenia-po-premierze-internetowej-filmu/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 21:51:30 +0000</pubDate>
		<dc:creator>m1chu</dc:creator>
				<category><![CDATA[Recenzje i oceny]]></category>
		<category><![CDATA[Świat IT]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[bug buck bunny]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[grafika]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[premiera]]></category>

		<guid isPermaLink="false">http://m1chu.eu/?p=46</guid>
		<description><![CDATA[Na dziś szybko, łatwo i przyjemnie. Trzy dni po wirtualnej premierze chcę Wam krótko zaprezentować pełną wersję filmu, który swoim trailerem narobił niedawno dużo namieszania na łamach internetu. A wszystko za sprawą swojego charakteru, a mianowicie wydania na licencji Creative Commons co ma uświadomić wszystkich, że da się wykonać &#8222;kawał dobrej roboty&#8221; bez gigantycznych nakładów [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; display: inline; width: 30%; text-align: center; height: 150px;"><img class="center" src="http://www.vpx.pl/up/20080602/273562ad52e4dceae97c37ba490f1c61f1968e109723.gif" alt="Big Buck Bunny" /></div>
<div style="float: left; display: inline; width: 70%; height: 150px;">Na dziś szybko, łatwo i przyjemnie. Trzy dni po wirtualnej premierze chcę Wam krótko zaprezentować pełną wersję filmu, który swoim trailerem narobił niedawno dużo namieszania na łamach internetu. A wszystko za sprawą swojego charakteru, a mianowicie wydania na licencji <a target="_blank" href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons" >Creative Commons</a> co ma uświadomić wszystkich, że da się wykonać &#8222;kawał dobrej roboty&#8221; bez gigantycznych nakładów na kinematografię. A więc zacznijmy&#8230;</div>
<p><span id="more-46"></span><br />
Niespełna dziesięciominutowy film o wyglądzie przypominającym bajki wydawane przez czołowe wytwórnie filmowe świata opowiada historię królika &#8211; romantyka, z jednej strony spryciarza, a z drugiej zagubionego w świecie osobnika. Taka była moja pierwsza reakcja. Budzący się ze snu bohater szybko ukazuje swoje uczuciowe podejście do otoczenia. Żeby nie było nudno, do czasu&#8230;</p>
<p>W obliczu zagrożenia zwierząt okolicy przemienia się on w &#8222;Rambo&#8221; swojej doliny. Konstruując szereg pułapek niweluje problem w postaci trzech agresorów z jednego na końcu robiąc&#8230; latawiec. Żeby nie ujednolicać fabuły tak krótkiego filmiku dwukrotnie pojawia się postać ptaka, który wzorem chyba &#8222;wiewióry&#8221; w Epoki Lodowcowej w każdej swojej scenie spotyka się z kłopotliwą sytuacją.</p>
<p style="text-align: center;"><a target="_blank" href="http://peach.blender.org/wp-content/uploads/bbb-splash.png" title="BBB" ><img class="center" src="http://farm5.static.flickr.com/4015/4354461655_b0564678c7_o.png" alt="BBB" /></a></p>
<p><strong>Big Buck Bunny</strong> którego internetowa premiera odbyła się <strong>30 maja b.r.</strong> został stworzony przez <a target="_blank" href="http://www.bigbuckbunny.org/" title="The Blender Foundation" >The Blender Foundation</a>, fundację rozwijającą aplikację do renderowania, modelowania obrazów i animacji trójwymiarowych <a target="_blank" href="http://www.blender.org/" title="Blender" >Blender</a>. Sam film jest przykładem idealnego połączenia <a target="_blank" href="http://pl.wikipedia.org/wiki/Mainstream" title="Mainstream" >mainstreamu</a> z wolną kulturą przeznaczoną w tym wypadku i dla dorosłych, i dla tych młodszych widzów.</p>
<p>Zważając na specyfikę i formę jego tworzenia (nie nastawioną na kapitalistyczne profity) produkcję tą można nazwać doskonałą. Nie można jednak nie zwrócić uwagi na kilka rzucających się w oko mankamentów, takich jak jaskrawość która mnie osobiście po kilku godzinach przed CRT doprowadziła ciut do &#8222;oczopląsu&#8221; no i brak&#8230; wiatru? Zauważyłem go tylko przez chwilę na końcu przypatrując się trawie, jednak tak szybko jak się pojawił, tak praktycznie zanikł. Jaki był cel twórców w tym? Nie wiem, nie mniej jednak i tak aktualnie jako laik w tym zakresie jestem pełen podziwu w stosunku do wyniku ich pracy.</p>
<p style="text-align: center;"><a target="_blank" href="http://peach.blender.org/wp-content/uploads/evil-frank.png" title="BBB" ><img class="center" src="http://farm3.static.flickr.com/2731/4355210410_268176231e_o.png" alt="BBB" /></a></p>
<p>Jeśli ktoś jest zainteresowany obejrzeniem tego miłego dla oka i ucha filmu zapraszam do ściągania go z  <a target="_blank" href="http://utnij.eu/big_buck_bunny_720p_stereo/" title="Big Buck Bunny 720p Stereo" ><strong>tego (1280x720px | 720p stereo &#8211; (c) copyright Blender Foundation | www.bigbuckbunny.org)</strong></a> lub <a target="_blank" href="http://utnij.eu/bbb_download/" title="Big Buck Bunny Original Download" >tego</a> źródła. Pomimo, że jest on dystrybuowany na mało restrykcyjnej licencji to zapraszam <em>chętnych</em> do <a target="_blank" href="http://utnij.eu/bbb_buy/" title="Kup BBB" >zakupu</a> DVD, z których finanse pozwolą na rozwój kolejnych tego typu produkcji.</p>
]]></content:encoded>
			<wfw:commentRss>http://m1chu.eu/2008/06/02/big-buck-bunny-krotkie-wrazenia-po-premierze-internetowej-filmu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Internet Płaszczyzną Globalizacji Handlu 4 &#8211; ścieżka web2.0&#8230;</title>
		<link>http://m1chu.eu/2008/05/10/internet-plaszczyzna-globalizacji-handlu-4-sciezka-web20/</link>
		<comments>http://m1chu.eu/2008/05/10/internet-plaszczyzna-globalizacji-handlu-4-sciezka-web20/#comments</comments>
		<pubDate>Fri, 09 May 2008 23:54:30 +0000</pubDate>
		<dc:creator>m1chu</dc:creator>
				<category><![CDATA[Świat IT]]></category>
		<category><![CDATA[Życie]]></category>
		<category><![CDATA[eaaaa.info]]></category>
		<category><![CDATA[inkubator]]></category>
		<category><![CDATA[ipgh4]]></category>
		<category><![CDATA[mikrocelebryci]]></category>
		<category><![CDATA[monetto.pl]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[wykop.pl]]></category>

		<guid isPermaLink="false">http://m1chu.eu/?p=44</guid>
		<description><![CDATA[8 maja b.r. na Akademii Ekonomicznej w Poznaniu odbyła się czwarta edycja corocznego IPGH. Jest to ogólnopolska konferencja naukowa (z naciskiem na elementy biznesu) która w tym roku dzieliła się na ścieżki: web 2.0 pierwszego dnia i e-handel, e-prawo dnia drugiego. Z ograniczonej ilości wolnego czasu mogłem pojawić się tylko na pierwszym contentcie, dlatego to [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a target="_blank" href="http://ipgh4.e-commerce.edu.pl/"  title="IPGH4"><img class="center" src="http://img120.imageshack.us/img120/7968/ipghqa3.png" alt="IPGH4" /></a></p>
<p>8 maja b.r. na Akademii Ekonomicznej w Poznaniu odbyła się czwarta edycja corocznego IPGH. Jest to ogólnopolska konferencja naukowa (z naciskiem na elementy biznesu) która w tym roku dzieliła się na ścieżki: <a target="_blank" href="http://ipgh4.e-commerce.edu.pl/content/view/16/31/"  title="web 2.0"><strong>web 2.0</strong></a> pierwszego dnia i <a target="_blank" href="http://ipgh4.e-commerce.edu.pl/content/view/17/32/"  title="e-handel">e-handel</a>, <a target="_blank" href="http://ipgh4.e-commerce.edu.pl/content/view/18/33/"  title="e-prawo">e-prawo</a> dnia drugiego. Z ograniczonej ilości wolnego czasu mogłem pojawić się tylko na pierwszym contentcie, dlatego to właśnie na wrażeniach po nim się skupie w tej notce.</p>
<p><span id="more-44"></span></p>
<p>Konferencja dla studentów była bezpłatna. Dla pozostałych osób będących uczestnikami &#8211; wejście było możliwe po uiszczeniu opłaty w wysokości stu złotych. Na wstępie ładnym gestem była siateczka z podręcznym asortymentem, a mianowicie &#8211; długopis, informator wraz z notatnikiem, agenda, teczka, itp. Prosto, tanio, miło i przede wszystkim praktycznie &#8211; bo miałem czym i w czym notować.</p>
<p>Przechodząc do oceny już samej treści konferencji wypadałoby wspomnieć czym jest samo web2.0. Idąc więc za <a target="_blank" href="http://pl.wikipedia.org/wiki/Web_2.0"  title="web 2.0 - wiki">Wikipedią</a> można zdefiniować to jako:</p>
<blockquote><p>Określenie serwisów internetowych, powstałych po 2001 roku, w których działaniu podstawową rolę odgrywa treść generowana przez użytkowników danego serwisu. [...] Wbrew numeracji wersji oprogramowania, Web 2.0 nie jest nową World Wide Web ani Internetem, ale innym sposobem na wykorzystanie jego dotychczasowych zasobów. Uważa się, że serwisy Web 2.0 zmieniają paradygmat interakcji między właścicielami serwisu i jego użytkownikami, oddając tworzenie większości treści w ręce użytkowników. Strony Web 2.0 mają tendencję do korzystania z nowych technik takich jak XHTML, SOAP, AJAX, XUL, RDF, dużo częstsze wykorzystywanie kanałów RSS i Atom oraz bardzo szerokie rozpropagowanie Webservices.</p></blockquote>
<p>Mając podstawy tego w jakich &#8222;klimatach&#8221; obracała się konferencja mogę spokojnie przejść do konkretów, czyli prezentacji prelegentów i zawartości merytorycznej ich wystąpień.</p>
<ul>
<li><strong>&#8222;&#8230; mniejsza sława, wśród mniejszej ilości osób &#8211; czyli jak będąc mikrocelebrytą zrobić z gównianego pomysłu dobre pieniądze &#8230;&#8221;</strong></li>
<li style="list-style-type: none;">
<ul>
<li>prelegenci: <em>Adam Zygadlewicz</em> i <em>Kuba Filipowski</em> (<a target="_blank" href="http://netguru.pl/"  title="Netguru">netguru</a>),</li>
<li>temat: <em>&#8222;Mikrocelbryci&#8221;</em>,</li>
<li>moja opinia: <em>cieszę się, że dla mnie osobiście poruszyli temat którego nigdy sam w większym stopniu nie starałem się analizować. Rzecz jasna niekiedy &#8222;przerabiając&#8221; czyjąś historię &#8222;internetowego życia (?)&#8221; dochodziłem do wniosku, że może on być potencjalnym autorytetem w sprawach którymi się zajmuje &#8211; ale nigdy nie uważałem tego za celebrytyzm. Ładnie także odnieśli się w kontekście nawiązującym do mikrocelebrytów do spraw marketingu, a bardziej dokładnie reklam &#8211; ich skuteczności (spadku znaczenia popupów, spamu, itp.), definicji <a target="_blank" href="http://pl.wikipedia.org/wiki/Buzz_marketing"  title="Marketing szeptany">marketingu szeptanego</a> (uogólniając polegającego na przekazywaniu informacji od osoby do osoby) i <a target="_blank" href="http://pl.wikipedia.org/wiki/Marketing_wirusowy"  title="Marketing wirusowy">marketingu wirusowego</a> (polegającego na tworzeniu wiadomości w taki sposób, aby w łatwo dało się je rozprowadzić pomiędzy rzeszę potencjalnych klientów), a także ukazali dwie strony medalu wykorzystywania wizerunku internautów poprzez jawne i inwazyjne operowanie naszym profilem internetowym w produktach danych serwisów powiązanych z naszymi predyspozycjami, a także bezinwazyjnym użytkowaniem portali społecznościowych.</em></li>
</ul>
</li>
<li><strong>&#8222;Aby zdobyć wielkość, człowiek musi tworzyć, a nie odtwarzać.&#8221;</strong> &#8211; Antoine de Saint-Exupéry</li>
<li style="list-style-type: none;">
<ul>
<li>prelegent: <em>Sebastian Kwiecień</em> (<a target="_blank" href="http://web20.pl"  title="web 2.0">web 2.0</a> / <a target="_blank" href="http://monetto.pl"  title="Monetto">monetto.pl</a> / <a target="_blank" href="http://www.ventureincubator.pl/"  title="Venture Incuvator">ventureincubator.pl</a>),</li>
<li>temat: <em>&#8222;Social Lending&#8221;</em> i <em>&#8222;Venture Incuvator, fabryka startupów&#8221;</em>,</li>
<li>moja opinia: <em>dwie prezentacje i moim zdaniem obydwie udane. Pierwsza całkiem sprawnie zaprezentowała serwis <a target="_blank" href="http://utnij.eu/google-social-lending/"  title="Social Lending">social lendingowy</a> monetto.pl i jego atuty, czyli między innymi: </em></li>
<li style="list-style-type: none;">
<ol>
<li><em>eliminację pośrednika,</em></li>
<li><em>możliwość przejrzenia profilu danego użytkownika i jego oceny wystawionej przez moderatorów serwisu,</em></li>
<li><em>tworzenie szacunku ryzyka pożyczki pobieranej od danego pożyczkodawcy,</em></li>
<li><em>przedstawienie automatyzacji serwisu w postaci np. ułatwienia spłacania pożyczki od kilku czy kilkunastu pożyczkodawców.</em></li>
</ol>
</li>
<li style="list-style-type: none;"><em>Ciekawszy jednak był drugi, a w kolejności wszystkich prezentacji ostatni &#8222;wykład&#8221; na temat &#8222;startupów&#8221;. Genialna sprawa dla osób które nie wiedzą co zrobić z np. wykonanym pomysłem jakiegoś innowacyjnego, albo chociaż oryginalnie utworzonego serwisu. Inkubator ten pozwala na rozwój takowych projektów poprzez udzielenie intelektualnego, finansowego i marketingowego zaplecza. Nad wszystkim piecze trzyma rada specjalistów, w tym m.in. osób które już dotychczas w podobny sposób osiągnęły poprzez podobne pomysły sukces. Czas takiej inkubacji trwa około sześciu miesięcy, a finanse mogą zawierać się w granicach od 50sięciu do 100 tysięcy złotych. Co do samej prezentacji, to nie wszystko. W celu przeszlifowania systemu było także pokazane kilka projektowych założeń &#8211; m.in. kolejność poczynań i rozwoju każdego projektu (koncepcja -> treść -> branding (logo, nazwa, itp.) -> grafika -> cięcie designu -> programowanie -> testy alfa -> SEO -> itd.). Moim zdaniem nie urągając reszcie zdecydowanie najlepsza z merytorycznych części całej konferencji.</em></li>
</ul>
</li>
<li><strong>&#8222;Prawo karierologii: kąt wspinania równa się kątowi spadania.&#8221;</strong> &#8211; Włodzimierz Scisłowski</li>
<li style="list-style-type: none;">
<ul>
<li>prelegent: <em>Ziemowit Gólski</em> (<a target="_blank" href="http://eaaaa.info"  title="EAAAA">eaaaa.info</a>),</li>
<li>temat: <em>&#8222;Rola użytkownika w tworzeniu nowoczesnych form porządkowania informacji&#8221;</em>,</li>
<li>moja opinia: <em>no niestety, jakbym nie chciał to muszę ocenić tego Pana najsłabiej. Ma on ciut chwytliwą domenę (będącą akronimami nazw kontynentów), miał dobry pomysł, może nadal ma duże chęci i idące za tym pozytywne idee &#8211; ale niestety prezentacja tego projektu i jego wykonanie były słabe. Z tej pierwszej niestety nie wyniosłem koncepcji, co tak oryginalnego ma być w tym serwisie. Zauważyłem za to, że w aktualnym stadium rozwoju jest to skupisko wszystkiego zlewające się w jedną całość i to w dodatku z przeciętną szatą graficzną. Linki, zrzuty z Wikipedii, reklamy, opisy, możliwość przejścia pomiędzy contentami, opinie, multijęzyczność te wszystkie domniemanie sztandarowe rzeczy w rezultacie są po prostu standardowymi częściami web2.0 i to w dodatku w tym wypadku słabo rozlokowanymi. 7 lat pracy &#8211; skutków wizualnych i funkcjonalnych zbytnio brak. Nie mniej jednak życzę temu Panu, aby projekt ruszył do przodu, bo marzenia przecież trzeba spełniać&#8230;</em></li>
</ul>
</li>
<li><strong>&#8222;Firmy, które rosną dzięki rozwojowi i ulepszeniom, nie zginą.&#8221;</strong></li>
<li style="list-style-type: none;">
<ul>
<li>prelegent: <em>Michał Białek</em> (<a target="_blank" href="http://wykop.pl"  title="Wykop">wykop.pl</a>),</li>
<li>temat: <em>&#8222;Web 2.0&#8243;</em>,</li>
<li>moja opinia: <em>prezentacja przede wszystkim opierająca się na informacjach dotyczących rozwoju internetu i struktur mediów internetowych dostępnych dla użytkowników. Prelegent przypomniał uczestnikom, że bardzo ważnym aspektem są sami użytkownicy, a co za tym idzie treść strony która ich przyciąga. Podobało mi się za to miłe dla ucha porównanie mediów tradycyjnych i internetowych oraz aspekty które przemawiały za starymi mediami (lenistwo klientów w wyszukiwaniu informacji, prostota i ogólna dostępność), a także przeciw (interakcja i indywidualność mediów wirtualnych, a także zwiększanie nakładu finansowego na rozwój aspektów związanych z internetem). Plus należy się także za zdradzenie na panelu dyskusyjnym, <strong>że na wykopie ma zajść szereg zmian pozwalających zwiększyć poziom zasobów tego serwisu</strong>, a także za oficjalne zdradzenie takich informacji jak sponsoring antywebu.</em></li>
</ul>
</li>
</ul>
<p>Po odbywającym się bezpośrednio po konferencji panelu o którym już wyżej wspomniałem (nawiasem mówiąc nazwijcie mnie teraz &#8222;ciemnotą&#8221;, ale Pan wypowiadający się w ostatnim rzędzie na kwestie prawne to był <a target="_blank" href="http://vagla.pl"  title="VaGla">Piotr Waglowski</a>? *nie-bijcie-;]*) nastąpiła część kuluarowa w pubie Mezzoforte. Pozwalał on na przyjemną formę dialogu, gdyż można było przy &#8222;piwku&#8221; porozmawiać i z organizatorami, i z prelegentami, a przede wszystkim z innymi uczestnikami &#8211; o kwestiach informatycznych, branżowych, biznesowych, prawnych, o samym IPGH, czy w końcu zwykłym codziennym życiu. Wszystko oczywiście w miłej atmosferze i do godzin nocnych.</p>
<p>Reasumując. Gratulacje za dobrą organizację, luźne, ale konkretne podejście, miłą atmosferę i upominki na wejściu do pubu hahaha&#8230; ;] Teraz możemy tylko czekać na przyszłoroczne wydanie (może będzie ciut więcej o technologiach, och ja niedobry ;O)&#8230;</p>
<p>PS: odchodząc od tematu &#8211; wszystkiego najlepszego dla <strong>kamilUT-a</strong> z okazji zacnych, 17stych urodzin :D</p>
<p>PS2: jak ktoś ma konto na wykop.pl to zapraszam do <a target="_blank" href="http://www.wykop.pl/link/61874/internet-plaszczyzna-globalizacji-handlu-4-sciezka-web2-0"  title="Wykop temat">wykopywania</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://m1chu.eu/2008/05/10/internet-plaszczyzna-globalizacji-handlu-4-sciezka-web20/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Echo ósmego starcia z Barcamp Poznań&#8230;</title>
		<link>http://m1chu.eu/2008/04/27/echo-osmego-starcia-z-barcamp-poznan/</link>
		<comments>http://m1chu.eu/2008/04/27/echo-osmego-starcia-z-barcamp-poznan/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 17:26:43 +0000</pubDate>
		<dc:creator>m1chu</dc:creator>
				<category><![CDATA[Świat IT]]></category>
		<category><![CDATA[Życie]]></category>
		<category><![CDATA[barcamp]]></category>
		<category><![CDATA[eye-tracking]]></category>
		<category><![CDATA[kody 2d]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[poznań]]></category>

		<guid isPermaLink="false">http://m1chu.eu/?p=43</guid>
		<description><![CDATA[&#8222;Barcamp Poznań to otwarte, nieformalne i cykliczne spotkania osób związanych zawodowo lub hobbistycznie z branżą internetową. Spotkania wpisują się w międzynarodowy trend organizowania spotkań branżowych o interaktywnej, towarzyskiej formie i nastawionych na transfer wiedzy i doświadczeń między Uczestnikami.&#8221; Tak właśnie z założenia mają wyglądać spotkania na Barcampie. Jak jednak było tym razem w praktyce, co [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8222;<strong>Barcamp Poznań</strong> to otwarte, nieformalne i cykliczne spotkania osób związanych zawodowo lub hobbistycznie z branżą internetową. Spotkania wpisują się w międzynarodowy trend organizowania spotkań branżowych o interaktywnej, towarzyskiej formie i nastawionych na transfer wiedzy i doświadczeń między Uczestnikami.&#8221;</p></blockquote>
<p>Tak właśnie z założenia mają wyglądać spotkania na <a target="_blank" href="http://barcamp.pl/"  title="Barcamp Poznań">Barcampie</a>. Jak jednak było tym razem w praktyce, co bym pochwalił, co zmarginalizował i w efekcie dlaczego mój pierwszy raz musiał być ciut bolesny &#8211; o tym wszystkim już w kolejnych akapitach.</p>
<p><span id="more-43"></span></p>
<p>Stwierdzenia &#8222;pierwszy raz&#8221; oczywiście nie miało się odnosić do spraw mojego życia seksualnego, a do faktu, że (nie)stety było to pierwsze moje starcie z tym spotkaniem branży interaktywnej. I może dlatego ciut upoważnia mnie to do mniej subiektywnej wypowiedzi na ten temat, z racji tego, że nie mam porównania do spotkań poprzednich i nie miałem wcześniej trzeźwo wyrobionej na ten temat opinii.</p>
<p style="text-align: center;"><img class="center" src="http://images31.fotosik.pl/232/fc715e1e1495f61f.png" alt="Barcamp" /></p>
<ul>
<li><strong>13:55</strong> &#8211; wejście do paszczy lwa&#8230;</li>
</ul>
<p>Kilka minut przed <strong>14stą</strong> wraz z <a target="_blank" href="http://dzi3ciol.com"  title="dzi3ciol portfolio"><strong>dzi3ciolem</strong></a> wylądowaliśmy w klubie <em>Johnny Rocker</em>, gdzie usadziliśmy się w rzędzie dość odległym &#8211; co jak później się okazało było pierwszym, ale za to naszym błędem. Bo ni cholerę połowy prezentacji widać nie było :D Po kilkudziesięciu (tak &#8211; kilkudziesięciu &#8211; coś koło 25 o ile dobrze pamiętam ;]) minutach oczekiwania pojawił się nasz &#8222;konfesjoner&#8221;, który zapowiadając po krótku kolejnych prezenterów rozpoczął spotkanie.</p>
<ul>
<li><strong>14:30</strong> &#8211; <em>MobiJoy</em> i interaktywność w wersji mobilnej&#8230;</li>
</ul>
<p>Może dlatego, że byłem jeszcze umysłowo &#8222;świeży&#8221;, a może po prostu dlatego, że Pan <strong>Jarosław Przybyła</strong> próbował w miarę ciekawie i konkretnie podchodzić przynajmniej do niektórych aspektów swojej prezentacji to należy mu się małe wyróżnienie. Pomimo, że &#8222;nie kręcą&#8221; mnie aż tak sprawy związane z sieciami komórkowymi (itp.). Zgodnie z zasadami nie próbował reklamować na każdym kroku serwisu który reprezentuje, pokazał kilka nowinek (jak <a target="_blank" href="http://totnet.pl/download/kody2d.pdf"  title="Kody 2D">kody 2d</a>) i w miarę przekonywująco starał się tłumaczyć nowe trendy i technologie z tego zakresu. Plus za informacje o trackingu położenia aparatu telefonicznego względem nadajnika i możliwość wykorzystywania tego faktu do oferowania różnorakich usług potencjalnemu klientowi. Prezentacja ciekawa, choć z góry zakładałem wcześniej, że najmniej będzie mnie interesować.</p>
<ul>
<li>~<strong>14:55</strong> &#8211; Urowscy, Urowski, Urowska&#8230; wtf?</li>
</ul>
<p>No właśnie &#8211; niech mi ktoś powie o czym ta prezentacja była? Bo co drugiego słowa nie dało się w niej zrozumieć i to bynajmniej nie dlatego, że osoba stojąca &#8222;za mikrofonem&#8221; mówiła niewyraźnie, tylko jak już przez to, że trzymała mikrofon za blisko ust. No niestety, ale te 20ścia minut było w większości zmarnowanych. I druga sprawa za którą przyznał bym mały negatyw. Przydałaby się chociaż jakaś marynareczka. Nieformalność spotkania nieformalnością, ale jeśli już się coś prezentuje to można to robić i na sportowo, i na poważnie (chodzi o kwestię ubioru). Myślę, że pozostałych 4rech prezentujących może dawać przykład&#8230;</p>
<p>Co do kwestii merytorycznej. Podobało mi się (z tego co zrozumiałem), że poruszono kwestie prawne z których w miarę klarownie wyniosłem kiedy odpowiednio wprowadzane bądź udostępniane dane należą do kategorii prywatnych. Dość zaskakujące było dla mnie, że rozpowszechnianie danych osobowych w postaci samej godności danej osoby <strong>nie zawsze</strong> może podlegać grzywnej. Dla przybliżenia sprawy osobom postronnym mogę wspomnieć, że za rozpowszechnianie danych osobowych osób trzecich można być pociągniętym do odpowiedzialności w wypadku kiedy dane te w sposób nieskomplikowanych pozwalają na niepowołane rozpoznanie tejże osoby. <strong>Tomasz Olech</strong> zaznaczył, że rozpowszechnianiem danych osobowych nie byłoby np. operowanie nazwiskiem które jest uważane za powszechnie występujące na danym terenie. Dla przykładu, jeśli w <strong>Poznaniu</strong> mieszka 1000 <em>Nowaków</em> to niekoniecznie użycie tegoż nazwiska wraz z nazwą tego miasta musi kwalifikować się do procederu rozpowszechniania danych osobowych. Całość prezentacji odwoływała się do przechowywania różnorodnych danych osobowych w serwisach typu sklepy internetowe.</p>
<ul>
<li>~<strong>15:10</strong> &#8211; nutka stagnacji na oczach siedzących obok osób&#8230;</li>
</ul>
<p>Spoglądam w prawo. Ceglany słup. Spoglądam w lewo. Pół rzędu padło. <strong>Dzi3ciol</strong>, jak i kolega bliżej mi nieznany siedzący obok poprzednio wymienionego leżą z głową na krzesłach przed nimi. Chyba musieli mieć ciężką noc za sobą&#8230; :D</p>
<ul>
<li>~<strong>15:20</strong> &#8211; w dniu otwarcia ostro marketingiem po oczach&#8230;</li>
</ul>
<p>Tak się ładnie złożyło, że akurat w dniu w którym odbywał się <em>Barcamp</em> następowało oficjalne otwarcie <strong>punkter.pl</strong>. Otwarcie będące przede wszystkim autoprezentacją własnego serwisu, przeplatane z tematyką świadomego podejmowania decyzji. Niestety brakowało tam jakiś nowości, czegoś co ukazywałoby nowy punkt tematyki podejmowania decyzji w internecie. Wszelkie poruszane tematy obejmowały kategorie wszechstronnie znane. Takie jak opieranie się na opiniach i opisach użytkowników w trakcie zakupów w internecie, czy analiza tychże opinii pod kątem ich wpływu na ludzkie decyzje.</p>
<p>Malutki plus (choć materialistą nie jestem ;]) za dodatkowe nagrody w postaci koszulek.</p>
<p>Chciałbym także ironicznie pogratulować jednemu z przedstawicieli <strong>webhosting.pl</strong>, który jakże zacnie w trakcie zadawania pytań odkrywczo stwierdził, że zmiana IP i zakładanie multikont na serwisach typu <strong>punkter.pl</strong> nie stanowi żadnego problemu. Naprawdę w wielu osobach spowodowało to miły uśmiech, szczególnie z powodu, że nikt się takiego &#8222;głosu rozsądku&#8221; z publiki nie spodziewał.</p>
<ul>
<li>~<strong>15:50</strong> &#8211; eye-tracking, był? Czy go nie było?</li>
</ul>
<p>Minus na początek &#8211; za pokazywanie filmików i brak ich szczegółowego opisu, a co za tym idzie za brak technicznego podejścia do tych aspektów <strong>eye-trackingu</strong>. Reszta mi się mniej więcej podobała. Ładnie Pan <strong>Wojciech Chojnacki</strong> splątał badania postrzegania informacji wzrokowej z doświadczeniem użytkownika w danym zakresie. Przykładem w prezentacji była gra polegająca na strzelaniu bodajże używając myszki piłką do bramki i rozdzielenie testerów na doświadczonych (znających grę) i nowicjuszy (grających po raz pierwszy).</p>
<p>I tu kolejny raz pojawił się uśmiech rozbawienia na mojej twarzy. Tym razem z powodu zachowania osoby, która otrzymując nagrodę za zadane pytanie miną niezadowolenia z tego powodu prawie zabiła darczyńców. To się nazywa wdzięczność :D</p>
<ul>
<li><strong>Reasumując swoje spostrzeżenia&#8230;</strong></li>
</ul>
<p>Więcej luzu i więcej konkretów. To na początek doradzam. Moim skromnym zdaniem każda z prezentacji powinna dotyczyć jednego konkretnego w miarę innowacyjnego tematu, tak by osoba go przedstawiająca mogła zapoznać publikę z zagadnieniem i przedstawić podstawowe jej aspekty. Tak, żebym ja &#8211; szary człowiek &#8211; mógł zaciekawiony później wyjść mając podstawy informacyjne do szukania większej ilości wiadomości na ten temat we własnym zakresie. Dzięki temu można by ciut skrócić czas prezentacji, a co za tym idzie zwiększyć ich ilość.</p>
<p>Jeśli mam ocenić ten dzień &#8211; ustatkowanie mi się podobało. Było kilka drobnych mankamentów, które po części przedstawiłem, ale w większości przypadków można patrzeć na nie z przymrużeniem oka. Przede wszystkim cieszę się, bo poznałem kilka haseł o których nic, albo zbytnio nic wcześniej nie wiedziałem. A chyba o to w tym wszystkim chodzi?</p>
<p>Mam nadzieje, że tekst nikogo nie uraził. To tylko moja opinia &#8211; osoby która pewnie odrobinę więcej wspólnego ma z kodem, niż z sprawami marketingowymi (ale to do czasu, mam nadzieję :D).</p>
<p>PS: dla nowicjuszów tego typu spotkań brakowało informacji kto wśród gości jest kim (z jakim serwisem jest powiązany, itp.). Ułatwiłoby komunikację międzyludzką ;] (niestety z braku czasu i tego, że nie chciałem ludziom przeszkadzać w konsumpcji nie udało mi się powymieniać spostrzeżeń na jakiekolwiek tematy :|)<br />
PS2: i proszę Was&#8230; mikrofonu (niektórych) nie przystawia się do głośników&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://m1chu.eu/2008/04/27/echo-osmego-starcia-z-barcamp-poznan/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

