<?xml version="1.0"?>
<rdf:RDF
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:foaf="http://xmlns.com/foaf/0.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns="http://purl.org/rss/1.0/"
>
<channel rdf:about="http://planet.mozillapl.org/">
	<title>Polska Planeta Mozilli</title>
	<link>http://planet.mozillapl.org/</link>
	<description>Polska Planeta Mozilli - http://planet.mozillapl.org/</description>

	<items>
		<rdf:Seq>
			<rdf:li rdf:resource="http://diary.braniecki.net/?p=966" />
			<rdf:li rdf:resource="http://www.mozilla-europe.org/pl/press/2009/06/30/1303-mozilla-przyczynia-si-do-rozwoju-sieci-www-wydajc-przegldark-firefox-35" />
			<rdf:li rdf:resource="http://diary.braniecki.net/?p=959" />
			<rdf:li rdf:resource="http://blog.marcoos.com/2009/06/30/mozilla-firefox-3-5-juz-jest/" />
			<rdf:li rdf:resource="http://diary.braniecki.net/?p=956" />
			<rdf:li rdf:resource="http://www.malin.net.pl/?p=1399" />
			<rdf:li rdf:resource="http://diary.braniecki.net/?p=953" />
			<rdf:li rdf:resource="http://informationisart.com/stas/?p=290" />
			<rdf:li rdf:resource="http://witia.jogger.pl/2009/06/21/dodawanie-cienia-przy-uzyciu-moz-box-shadow/" />
			<rdf:li rdf:resource="http://witia.jogger.pl/2009/06/20/manipulacja-pikselami-przy-uzyciu-canvas/" />
			<rdf:li rdf:resource="http://witia.jogger.pl/2009/06/18/firefox-3-5-przez-35-dni-wizje-przyszlosci-sieci/" />
			<rdf:li rdf:resource="http://blog.marcoos.com/2009/06/17/mozilla-hacks-natywny-json-wieksze-bezpieczenstwo-i-wydajnosc/" />
			<rdf:li rdf:resource="http://diary.braniecki.net/?p=948" />
			<rdf:li rdf:resource="http://informationisart.com/stas/?p=286" />
			<rdf:li rdf:resource="http://diary.braniecki.net/?p=944" />
			<rdf:li rdf:resource="http://diary.braniecki.net/?p=938" />
			<rdf:li rdf:resource="http://informationisart.com/stas/?p=280" />
			<rdf:li rdf:resource="http://hubertgajewski.com/?p=350" />
			<rdf:li rdf:resource="http://diary.braniecki.net/?p=930" />
			<rdf:li rdf:resource="http://informationisart.com/stas/?p=273" />
			<rdf:li rdf:resource="http://diary.braniecki.net/?p=926" />
			<rdf:li rdf:resource="http://diary.braniecki.net/?p=894" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8038766.post-5942541829697272383" />
			<rdf:li rdf:resource="http://diary.braniecki.net/?p=897" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8038766.post-6366936304402315987" />
		</rdf:Seq>
	</items>
</channel>

<item rdf:about="http://diary.braniecki.net/?p=966">
	<title>Gandalf: Spotkanie Mozillowców w Warszawie</title>
	<link>http://diary.braniecki.net/2009/07/01/spotkanie-mozillowcow-w-warszawie/</link>
	<content:encoded>&lt;p&gt;Z okazji wydania Firefoksa 3.5, organizujemy &lt;a href=&quot;http://www.spreadfirefox.com/node/4352&quot;&gt;nieoficjalne spotkanie Mozillowców w Warszawie&lt;/a&gt; &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Termin: Piątek, 3 lipca, 2009&lt;/p&gt;
&lt;p&gt;Miejsce: pub Euforia, Złota 11, na tyłach domów centrum&lt;/p&gt;
&lt;p&gt;Formuła: spotykamy się o 19:00, pijemy kto co lubi, gadamy o sieci i standardach i projektach Mozilli.&lt;/p&gt;
&lt;p&gt;Zapraszam wszystkich zainteresowanych!!! &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;p.s. jeśli wybierasz się, daj proszę znać, będzie mi łatwiej zarezerwować miejsce wiedząc ile osób przyjdzie &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</content:encoded>
	<dc:date>2009-07-01T16:46:52+00:00</dc:date>
</item>
<item rdf:about="http://www.mozilla-europe.org/pl/press/2009/06/30/1303-mozilla-przyczynia-si-do-rozwoju-sieci-www-wydajc-przegldark-firefox-35">
	<title>Mozilla Europe: Mozilla przyczynia się do rozwoju sieci WWW, wydając przeglądarkę Firefox 3.5</title>
	<link>http://www.mozilla-europe.org/pl/press/2009/06/30/1303-mozilla-przyczynia-si-do-rozwoju-sieci-www-wydajc-przegldark-firefox-35</link>
	<content:encoded>&lt;p&gt;Nowa wersja przeglądarki oferuje znaczące ulepszenia w zakresie wydajności, ściślejszą ochronę prywatności, obsługę nowych standardów WWW i więcej opcji dostosowywania&lt;/p&gt;



&lt;p&gt;Mozilla, organizacja pożytku publicznego, której celem jest promowanie wyboru i innowacji w Internecie, wydała dziś Firefoksa 3.5, ważną aktualizację popularnej, bezpłatnej przeglądarki WWW o otwartym kodzie źródłowym. Firefox 3.5, wydany w rok po premierze cieszącego się dużym uznaniem Firefoksa 3, oferuje najnowocześniejsze funkcje, a także obsługę szerokiej gamy nowych standardów WWW.&lt;/p&gt;


&lt;p&gt;Firefox 3.5 to najbardziej wydajna przeglądarka, jaką dotychczas wydała Mozilla. Program zapewnia znacznie szybsze przetwarzanie kodu JavaScript, nowy tryb przeglądania prywatnego, wbudowaną obsługę otwartych formatów wideo i audio oraz funkcję przeglądania uwzględniającego położenie. Najnowsza wersja Firefoksa jest ponad dwukrotnie szybsza niż Firefox 3 i dziesięć razy szybsza niż Firefox 2 w przypadku wyświetlania skomplikowanych witryn. Dzięki dużym nakładom pracy włożonej w obsługę nowoczesnych technologii Firefox 3.5 jest obecnie najpotężniejszą i najbardziej kompletną przeglądarką, która zapewnia nową jakość wrażeń użytkownikom internetu.&lt;/p&gt;


&lt;p&gt;Firefox 3.5 jest rezultatem globalnego, otwartego procesu tworzenia oprogramowania. Społeczność Mozilli składa się z tysięcy współpracowników, w tym doświadczonych programistów, ekspertów od bezpieczeństwa, lokalizatorów i specjalistów od pomocy technicznej z ponad 60 krajów, a także dziesiątek tysięcy aktywnych testerów. Firefox ma ponad 300 milionów aktywnych użytkowników i jest jedyną popularną przeglądarką WWW, która została stworzona przez organizację non-profit.&lt;/p&gt;


&lt;p&gt;&lt;q&gt;W sieci dzieje się teraz tyle nowego, że nadeszły doskonałe czasy dla przeglądarek WWW. Firefox 3.5 łączy najbardziej innowacyjne technologie WWW i dostarcza je w najbardziej kompletnej i najpotężniejszej współczesnej przeglądarce&lt;/q&gt;, powiedział John Lilly, dyrektor generalny Mozilli.&lt;/p&gt;




&lt;h3&gt;CO NOWEGO W FIREFOKSIE 3.5:&lt;/h3&gt;

&lt;p&gt;Firefox 3.5 sprawia, że przeglądanie sieci WWW staje się łatwiejsze i ciekawsze, oferując ekscytujące nowe funkcje i aktualizacje, które umożliwią twórcom witryn opracowanie następnej generacji internetowej treści. Wbudowana obsługa otwartych formatów wideo i audio, przeglądanie prywatne oraz obsługa najnowszych technologii WWW zapewnią bogatsze, bardziej interaktywne wrażenia użytkownikom internetu.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Wydajność.&lt;/strong&gt; Firefox 3.5 zawiera nowy, zaawansowany mechanizm obsługi JavaScriptu o nazwie TraceMonkey, który zapewnia niedoścignioną wydajność współczesnych aplikacji WWW. Firefox 3.5 jest ponad dwa razy szybszy niż Firefox 3 i dziesięć razy szybszy niż Firefox 2.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Otwarte wideo i audio.&lt;/strong&gt; Użytkownicy mogą odtwarzać treść wideo i audio z poziomu przeglądarki bez potrzeby instalowania dodatków. Wideo stało się integralną częścią współczesnej sieci, bez względu na to, czy służy do komunikacji, edukacji czy też rozrywki. Firefox 3.5 to pierwsza przeglądarka, która oferuje zintegrowaną obsługę audio i wideo. Teraz każdy może łatwo oglądać wideo w otwartym formacie Ogg Theora.&lt;/p&gt;


&lt;p&gt;Twórcy witryn mogą wykorzystać te technologie do projektowania stron, które zaoferują nowe, ekscytujące sposoby interakcji z wideo, wykraczające poza zwykłe sterowanie odtwarzaniem i głośnością.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Ochrona prywatności.&lt;/strong&gt; Firefox 3.5 zawiera funkcje, które chronią prywatność internautów
i zapewniają większą kontrolę nad osobistymi danymi.&lt;/p&gt;


&lt;p&gt;Kiedy użytkownik włączy nowy tryb przeglądania prywatnego w przeglądarce Firefox 3.5, żadne informacje napotkane w sieci nie zostaną zapisane w komputerze. Unikatowa funkcja usuwania stron może zatrzeć każdy ślad pobytu w witrynie. Aby usunąć wszystkie dane prywatne albo ślady aktywności z ostatnich kilku godzin, można wykorzystać funkcję czyszczenia niedawnej historii, również oferowaną wyłącznie przez Firefoksa, która zapewnia pełną kontrolę nad tym, co zostanie, a co zniknie.&lt;/p&gt;


&lt;p&gt;Przeglądanie uwzględniające położenie. Funkcja ta oszczędza czas użytkownika, umożliwiając witrynom sprawdzanie jego położenia geograficznego. Jeśli użytkownik zgodzi się udostępnić swoje położenie, witryna będzie mogła wykorzystać te informacje do znalezienia pobliskich interesujących obiektów i zwrócenia dodatkowych, przydatnych danych, takich jak mapy danego obszaru. Funkcja ta jest całkowicie opcjonalna — Firefox nie udostępnia położenia użytkownika bez jego zgody. &lt;/p&gt;


&lt;h3&gt;Jak pobrać przeglądarkę Mozilla Firefox 3.5?&lt;/h3&gt;

&lt;p&gt;Program Mozilla Firefox 3.5 jest obecnie dostępny bezpłatnie w wersjach dla systemów operacyjnych Windows, Linux i Mac OS X pod adresem &lt;a href=&quot;http://www.getfirefox.com&quot;&gt;www.getfirefox.com&lt;/a&gt;. Ponad 70 wersji językowych programu można również pobrać pod adresem &lt;a href=&quot;http://www.mozilla.com/en-US/firefox/all.html&quot; hreflang=&quot;en&quot;&gt;http://www.mozilla.com/en-US/firefox/all.html&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;UWAGA OD REDAKTORA:&lt;/strong&gt; zrzuty ekranowe i wideo są dostępne pod adresem &lt;a href=&quot;http://www.mozilla.com/en-US/press/&quot; hreflang=&quot;en&quot;&gt;http://www.mozilla.com/en-US/press/&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Więcej informacji o programie Mozilla Firefox 3.5 oraz o tym, jak ułatwia on i przyspiesza przeglądanie sieci, można znaleźć pod adresem &lt;a href=&quot;http://www.getfirefox.com&quot;&gt;www.getfirefox.com&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Informacje o Mozilli&lt;/h3&gt;


&lt;p&gt;Mozilla to globalna społeczność, której celem jest tworzenie bezpłatnych programów typu open source, które usprawniają korzystanie z sieci użytkownikom na całym świecie. Pracujemy w sposób otwarty i stosujemy dobrze zorganizowany, przejrzysty i kooperacyjny model współpracy pod parasolem organizacji non-profit Mozilla Foundation. Mozilla Corporation jest spółką zależną Mozilla Foundation i w jej imieniu zajmuje się rozwojem i dostarczaniem na rynek produktów Mozilla. Ta struktura działania umożliwia Mozilli finansowe wspieranie konkurencyjnych i innowacyjnych rozwiązań tworzonych przez społeczność. Więcej informacji można znaleźć na stronie &lt;a href=&quot;http://www.mozilla.com&quot;&gt;www.mozilla.com&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Kontakt dla prasy&lt;/strong&gt;&lt;br /&gt;
Agnieszka Trybuś&lt;br /&gt;
Tel. +48 22 435 49 24&lt;br /&gt;
Tel.: +48 607 104 852  &lt;br /&gt;
e-mail: agnieszka.trybus@mmdcee.com&lt;/p&gt;


&lt;p&gt;Piotr Dobosz&lt;br /&gt;
Tel. +48 435 49 18&lt;br /&gt;
Tel. +48 609 505 279&lt;br /&gt;
e-mail: piotr.dobosz@mmdcee.com&lt;/p&gt;


&lt;p&gt;Mmd Corporate, Public Affairs &amp;amp; Public Relations Consultants&lt;br /&gt;
Al. Jana Pawła II 80, lok. 10A&lt;br /&gt;
00-175 Warszawa&lt;br /&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2009-07-01T00:00:00+00:00</dc:date>
</item>
<item rdf:about="http://diary.braniecki.net/?p=959">
	<title>Gandalf: Firefox 3.5 wydany!</title>
	<link>http://diary.braniecki.net/2009/06/30/firefox-3-5-wydany/</link>
	<content:encoded>&lt;p&gt;W nawiązaniu do &lt;a href=&quot;http://diary.braniecki.net/2009/06/30/firefox-3-5-wydanie-dziennikarskie-vs-wydanie-mozilli/&quot;&gt;poprzeniego wpisu&lt;/a&gt;&amp;#8230; To już oficjalne! Firefox 3.5 jest już publicznie dostępny, przetestowany i stabilny!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.mozilla-europe.org/pl/&quot;&gt;&lt;img class=&quot;alignleft size-medium wp-image-963&quot; title=&quot;20090630_firefox_3.5f&quot; src=&quot;http://diary.braniecki.net/wp-content/uploads/2009/06/20090630_firefox_3.5f-282x300.jpg&quot; alt=&quot;20090630_firefox_3.5f&quot; width=&quot;197&quot; height=&quot;210&quot; /&gt;&lt;/a&gt;Zapraszam do &lt;a href=&quot;http://www.mozilla-europe.org/pl/&quot;&gt;pobrania&lt;/a&gt; i zapoznania się z &lt;a href=&quot;http://www.mozilla.com/pl/firefox/3.5/releasenotes/&quot;&gt;informacjami o wydaniu&lt;/a&gt; oraz do obejrzenia &lt;a href=&quot;http://downloadstats.mozilla.com/&quot;&gt;statystyk pobierania na żywo&lt;/a&gt;, a jutro, o 20:50 polskiego czasu nastąpi &lt;a href=&quot;http://www.spreadfirefox.com/shiretokoshock-campaign&quot;&gt;Shiretoko Shock Weave&lt;/a&gt; &amp;#8211; moment w którym cała społeczność Mozilli w jednym momencie poinformuje na sieciach społecznościowych o tym wydaniu &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Chciałbym przy okazji nieskromnie zwrócić uwagę czytelników na niesamowitą robotę jaką wykonuje w Polsce zespół &lt;a href=&quot;http://www.aviary.pl&quot;&gt;Aviary.pl&lt;/a&gt;, a w szczególności lider zespołu &amp;#8211; &lt;a href=&quot;http://hubertgajewski.com/&quot;&gt;Hubert Gajewski&lt;/a&gt; oraz lider lokalizacji Firefoksa &amp;#8211; &lt;a href=&quot;http://blog.marcoos.com/&quot;&gt;Marek Stępień&lt;/a&gt;. To dzięki tej pracy polska lokalizacja jest tak wysokiej jakości! &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</content:encoded>
	<dc:date>2009-06-30T15:55:41+00:00</dc:date>
</item>
<item rdf:about="http://blog.marcoos.com/2009/06/30/mozilla-firefox-3-5-juz-jest/">
	<title>Marek Stępień: Mozilla Firefox 3.5 już jest!</title>
	<link>http://blog.marcoos.com/2009/06/30/mozilla-firefox-3-5-juz-jest/</link>
	<content:encoded>Przed paroma minutami, po roku wytężonych prac, Mozilla oficjalnie wydała wersję 3.5 przeglądarki internetowej Firefox.
Jak dla mnie najfajniejsze są dwie rzeczy: nowy, lepszy silnik JavaScriptu (w tym wątki “web workers” i natywny JSON) oraz obsługa znaczników &amp;lt;audio&amp;gt; i &amp;lt;video&amp;gt; i formatu Ogg. Obsługa filtrów w SVG i transformacje w CSS także ucieszą wielu web developerów. [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=blog.marcoos.com&amp;blog=10433&amp;post=411&amp;subd=marcoos&amp;ref=&amp;feed=1&quot; /&gt;</content:encoded>
	<dc:date>2009-06-30T15:38:09+00:00</dc:date>
</item>
<item rdf:about="http://diary.braniecki.net/?p=956">
	<title>Gandalf: Firefox 3.5 – wydanie dziennikarskie vs. wydanie Mozilli</title>
	<link>http://diary.braniecki.net/2009/06/30/firefox-3-5-wydanie-dziennikarskie-vs-wydanie-mozilli/</link>
	<content:encoded>&lt;p&gt;Podobnie jak w przypadku &lt;a href=&quot;http://diary.braniecki.net/2008/06/17/firefox-3-juz-dzis-wieczorem/&quot;&gt;wydania Firefoksa 3&lt;/a&gt;,  wydanie Firefoksa 3.5 wzbudza duży rozgłos medialny. &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Dla nas, uczestników projektu Mozilla to moment wytchnienia. Wszystko co zrobiliśmy przez rok zostało właśnie skompilowane, umieszczone na serwerach i jest aktualnie testowane przez społeczność testerów z całego świata. 74 wydania językowe, 3 platformy, kilkaset nowych funkcji, wszystko to musi zostać dokładnie przetestowane zanim uznamy, że ta właśnie wersja kodu źródłowego stanie się finalnym wydaniem Firefoksa.&lt;/p&gt;
&lt;p&gt;Ze względu na naszą otwartą naturę projektu, wszystkie kompilacje są publicznie dostępne na serwerach i już od rana &lt;a href=&quot;http://webwatch.mozillapl.org/&quot;&gt;dziennikarze pobierają&lt;/a&gt; te kompilacje i ogłaszają, że to wydanie finalne.&lt;/p&gt;
&lt;p&gt;Miałem przyjemność udzielać krótkich wywiadów dotyczących wydania dzisiaj i za każdym razem tłumaczyłem specyfikę działania naszego projektu i konsekwencje tego dla wydań.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mechanizm działa tak:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Kompilacja, która leży na serwerach od rana jest właśnie testowana. Jeśli przejdzie proces finalnych testów to zostanie ona uznana za stabilną i wydana. Jeśli zostanie znaleziony poważny błąd, i menedżer wydania zdecyduje, że blokuje on wydanie, to zostanie on poprawiony, źródła zostaną przekompilowane i proces testowania powtórzony.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Prośba&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jeśli ktoś ściąga wydanie zanim pojawi się o nim informacja na naszych stronach to pobiera wydanie jeszcze nie przetestowane. To może być wydanie finalne, ale nie musi. Proszę, wszyscy którzy piszecie o &amp;#8220;wydaniach znalezionych na serwerach&amp;#8221; &amp;#8211; informujcie ludzi o ryzyku związanym z pobieraniem takiego wydania. To ważny element budowania świadomości użytkowników i to ważne, aby oni sami wybierali czy chcą podjąć ryzyko.&lt;/p&gt;</content:encoded>
	<dc:date>2009-06-30T15:30:28+00:00</dc:date>
</item>
<item rdf:about="http://www.malin.net.pl/?p=1399">
	<title>Marcin Malinowski: Malin społecznościowy odc. 3: Delicious</title>
	<link>http://www.malin.net.pl/malin-spolecznosciowy-odc-3-delicious/</link>
	<content:encoded>&lt;p id=&quot;excerpt&quot;&gt;W trzeciej części omówienia popularnych serwisów społecznościowych kilka słów o social bookmarkingu, czyli o społecznościowym dodawaniu zakładek do stron internetowych.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignleft size-full wp-image-1400&quot; title=&quot;delicious_logo&quot; src=&quot;http://www.malin.net.pl/wp-content/uploads/2009/06/delicious_logo.jpg&quot; alt=&quot;delicious_logo&quot; width=&quot;162&quot; height=&quot;162&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://delicious.com&quot;&gt;Delicious&lt;/a&gt; (oryginalnie pod pomysłowym adresem del.icio.us) jest chyba największym na świecie serwisem typu social bookmarking. Jeśli ktoś nie wie o co chodzi, to można sięgnąć do Wikipedii, która &lt;a href=&quot;http://pl.wikipedia.org/wiki/Social_bookmarking&quot;&gt;to zjawisko tłumaczy tak&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Social bookmarking&lt;/strong&gt; - sposób dla użytkowników Internetu na gromadzenie, organizowanie, szukanie i zarządzanie zakładkami stron www w Internecie z pomocą metadanych (typowo w formie etykietek wspólnie z społecznością internetową).&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Jak &lt;a href=&quot;http://delicious.com/help/learn&quot;&gt;opisuje Delicious sam siebie?&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Delicious jest serwisem typu social bookmarking. Oznacza to, że możesz przechowywać wszystkie swoje zakładki online, dzielić się z nimi innymi ludźmi i zobaczyć, jakie zakładki zapisują inni. Oznacza to też, że możemy Ci pokazać najpopularniejsze zakładki dotyczące określonych obszarów zainteresowań. Dodatkowo nasze narzędzia wyszukujące i tagujące pozwalają Ci trzymać w porządku całą kolekcję Twoich zakładek i wyszukiwać inne od ludzi podobnych do Ciebie.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;A po ludzku to chodzi o to, że swoich zakładek nie zapisuję w przeglądarce, lecz na stronie internetowej i jeśli chcę, dzielę się nimi z innymi osobami. Dla mnie jest to ekstremalnie wygodne, ponieważ z komputera korzystam bardzo intensywnie, ale nie jest to tylko jedna maszyna. Pracując w dwóch różnych miejscach w zależności od dnia i dyżuru mam do syspozycji ponad 10 komputerów i nigdy nie wiem, na którym będę pracował.&lt;/p&gt;
&lt;p&gt;Dlatego zwykłe zakładki w przeglądarce są dla mnie bezużyteczne, a Delicious - bezcenny. Jeśli trafię na coś ciekawego, zapiszę sobie adres w Delicious i mam do niego dostęp z każdego miejsca:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.malin.net.pl/wp-content/uploads/2009/06/delicious.jpg&quot; rel=&quot;lightbox[1399]&quot;&gt;&lt;img class=&quot;aligncenter size-large wp-image-1410&quot; title=&quot;delicious&quot; src=&quot;http://www.malin.net.pl/wp-content/uploads/2009/06/delicious-1024x724.jpg&quot; alt=&quot;delicious&quot; width=&quot;491&quot; height=&quot;347&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Jeśli nie chcę się danym adresem dzielić i publikować go, nie ma sprawy, można zaznaczyć opcję braku publikacji i dany link będzie widoczny tylko dla mnie po zalogowaniu się do Delicious.&lt;/p&gt;
&lt;p&gt;W domu w moim Firefoksie mam zainstalowane &lt;a href=&quot;http://delicious.com/help/quicktour/firefox&quot;&gt;rozszerzenie&lt;/a&gt;, które zastępuje tradycyjne menu &amp;#8220;Zakładki&amp;#8221; zakładkami z Delicious, więc korzystam z nich jak z normalnych zakladek w przeglądarce. Fantastyczne rozwiązanie.&lt;/p&gt;
&lt;h2&gt;Czy w bibliotece można na tym skorzystać?&lt;/h2&gt;
&lt;p&gt;Myślę, że w działach, które zajmują się udzielaniem informacji, w działach instrukcyjno-metodycznych coś takiego może bardzo fajnie się sprawdzić. Jeśli jest ktoś, kto w pracy organizuje jakiś zbiór informacji, to można go w bardzo łatwy sposób udostępnić wszystkim zainteresowanym. Wystarczy wkleić na stronę internetową kilka linijek kodu i nasze zakładki w postaci listy albo chmury tagów (częściej używane tagi są większe) będą dostępne dla wszystkich.&lt;/p&gt;
&lt;p&gt;Mniej więcej tak wyglądają moje zakładki na delicious:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;W Facebooku, który jak już wiecie uwielbiam, jest opcja informowania o zapisanych przeze mnie zakładkach. Jeśli więc coś zapiszę w Delicious, informacja o tym pojawi się w moim profilu w Facebooku.&lt;/p&gt;
&lt;p&gt;Z Delicious korzystam już od czterech lat i nie wyobrażam sobie bez niego życia. To jest jeden z tych serwisów, który niby nie jest piękny, nie ma tysiąca różnych opcji, ale jest niesamowicie użyteczny i fantastycznie spełnia swoją rolę.&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/malinnetpl/~4/Lgu_9qoPL40&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content:encoded>
	<dc:date>2009-06-26T09:06:44+00:00</dc:date>
</item>
<item rdf:about="http://diary.braniecki.net/?p=953">
	<title>Gandalf: Wielowątkowość w przeglądarce</title>
	<link>http://diary.braniecki.net/2009/06/23/wielowatkowosc-w-przegladarce/</link>
	<content:encoded>&lt;p&gt;&lt;strong&gt;Wieloprocesowość&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Od czasu pojawienia się Chrome, temat korzystania z wielu procesów do wyświetlania stron w przeglądarce stał się jednym z ważniejszych przy porównywaniu przeglądarek.&lt;/p&gt;
&lt;p&gt;Co więcej, &lt;a href=&quot;http://blog.chromium.org/2008/09/google-chrome-memory-usage-good-and-bad.html&quot;&gt;wbrew uwagom samych autorów&lt;/a&gt;, powszechnie zaczęto uznawać to jako tzw. &amp;#8220;feature&amp;#8221; &amp;#8211; funkcję, której posiadanie jest bezwględnie objawem przewagi danej przeglądarki nad inną.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Czarne strony&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tymczasem &lt;a href=&quot;http://dotnetperls.com/chrome-memory&quot;&gt;Sam Allen opublikował wynik swojego mini-badania&lt;/a&gt; w którym przetestował popularne przeglądarki w zakresie zużycia pamięci. Oto wykres:&lt;/p&gt;
&lt;div class=&quot;wp-caption alignnone&quot;&gt;&lt;a href=&quot;http://dotnetperls.com/chrome-memory&quot;&gt;&lt;img title=&quot;Memory usage chart&quot; src=&quot;http://dotnetperls.com/073&quot; alt=&quot;Memory usage chart&quot; width=&quot;501&quot; height=&quot;534&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;Wykres zużycia pamięci&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Sam przetestował Operę, Firefoksa, Safari i Chrome podczas wczytywania 150 najpopularniejszych stron z rankingu Alexa.com. Opublikował też wyniki w postaci tabeli najwyższego i najniższego zużycia pamięci przez różne przeglądarki.&lt;/p&gt;
&lt;p&gt;Sam wykres jest na pewno ciekawy, ale jeszcze ciekawsze są jego implikacje, które potwierdzają pierwsze komentarze jakie pojawiły się w społeczności pracującej nad Gecko po wydaniu Chrome.&lt;/p&gt;
&lt;p&gt;Dlaczego tak się dzieje? Wykorzystanie wielu procesów oznacza, że 10 kart z otworzonym google.com będzie dziesięć razy ładować absolutnie wszystko konieczne do wyświetlenia tej strony. To zaś oznacza znaczące koszty w wykorzystaniu pamięci. W &amp;#8220;tradycyjnym&amp;#8221; modelu, pamięć jest współdzielona i obrazki, struktury danych oraz bloki używane do rysowania układu strony mogą być współdzielone. Nawet obiekty używane do wyrenderowania strony, mogą zostać utworzone raz i uruchamiane podczas rysowania różnych stron.&lt;/p&gt;
&lt;p&gt;Tymczasem w przypadku modelu w którym każda strona (czy karta) ma swój proces, musi ona praktycznie załadować do pamięci całą przeglądarkę &amp;#8211; a przynajmniej cały kod potrzebny do obługi jednej strony. To kosztuje i to wcale nie mało.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Białe strony&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Czy to oznacza, że programiści Chrome popełnili błąd decydując się na taką zmianę? Nie. Oni po prostu zdecydowali się zapłacić taką cenę, za liczne udogodnienia jakie daje rozdział procesów.&lt;/p&gt;
&lt;p&gt;Najważniejszym, i pewnie najbardziej zrozumiałym jest możliwość izolacji procesu na wypadek problemów. Jeśli strona spowoduje poważny błąd, będzie to tylko błąd tej karty, a nie całej przeglądarki. Nie stracimy pisanego od godziny listu i nie będziemy musieli uruchamiać wszystkiego od nowa. To duża wygoda.&lt;/p&gt;
&lt;p&gt;Inną sprawą jest rozdzielenie pamięci. Strony można uruchamiać w tzw. &amp;#8220;piaskownicach&amp;#8221;, gdzie są oddzielone od sektorów pamięci wykorzystywanych przez przeglądarkę. W takiej sytuacji nawet jeśli w przeglądarce znajdzie się błąd bezpieczeństwa, to jego wykorzystanie praktycznie zawsze będzie ograniczone do manipulacji danym procesem, a nie całą przeglądarką czy systemem operacyjnym. To ważne udogodnienie.&lt;/p&gt;
&lt;p&gt;Istnieją inne, jak łatwe wykorzystanie wielu procesorów i przeniesienie na system operacyjny zarządzania przydzielaniem procesom cykli procesora, co oznacza, że z łatwością można określić, że przeglądarka ma wyższy priorytet niż, np. filmik na youtube i nie będzie on już &amp;#8220;przycinał&amp;#8221; jej.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Szukanie balansu&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;W Mozilli powstał &lt;a href=&quot;https://wiki.mozilla.org/Content_Processes&quot;&gt;specjalny projekt&lt;/a&gt;, który eksperymentuje z wykorzystaniem wieloprocesowości. Pierwsze eksperymenty są już testowane i poniżej prezentuję filmik od &lt;a href=&quot;http://www.0xdeadbeef.com/weblog/?p=1321&quot;&gt;Chrisa Blizzarda&lt;/a&gt; z demonstracji tej technologii:&lt;/p&gt;
&lt;p&gt;Sadfaces.  Your browser doesn&amp;#8217;t support the &amp;lt;video&amp;gt; tag with open video formats.  Try &lt;a href=&quot;http://people.mozilla.org/~cjones/ff-mp-demo.ogg&quot;&gt;clicking here&lt;/a&gt; instead.&lt;/p&gt;
&lt;p&gt;Najważniejszym jednak pytaniem jest jak wykorzystać wieloprocesowość, aby zmaksymalizować zyski i zminimalizować koszty. Jednym z pomysłów jest uruchamianie rozszerzeń w osobnych procesach &amp;#8211; to zwiększa bezpieczeństwo i pozwala oddzielić stabilność aplikacji od rozszerzenia, ale kosztem pamięci. Innym pomysłem jest wydzielenie procesów na wtyczki, ponieważ w nich często znajdowane są błędy bezpieczeństwa a także one najczęściej zawieszają przeglądarki.&lt;br /&gt;
Jeszcze innym jest utrzymywanie silnika renderującego w osobnym procesie a stron w osobnych. Wówczas strona wysyłana by była przez kartę do procesu renderującego, który zwracałby wyrenderowaną. W takim układzie karty są niezależne, jeśli jakaś operacja na jednej spowoduje błąd to nie dotknie on innych, a zużycie pamięci nie powinno ucierpieć, ponieważ kod renderujący byłby współdzielony. Niestety taki układ nie daje tych samych zalet w zakresie stabilności. Jeśli silnik rednerujący wyłoży się na jednej stronie, to padnie cały. Jeśli jednak będzie osobnym procesem, to nie przełoży się to na przeglądarkę&amp;#8230;&lt;/p&gt;
&lt;p&gt;Generalnie temat do rozważań jest potężny i jest mnóstwo miejsca na eksperymenty. Jeśli ktoś jest zainteresowany pracą zespołu, to zapraszam na serwer irc.mozilla.org, kanał #content.&lt;/p&gt;</content:encoded>
	<dc:date>2009-06-23T01:14:25+00:00</dc:date>
</item>
<item rdf:about="http://informationisart.com/stas/?p=290">
	<title>Stanisław Małolepszy: Clustory: reinventing the tabs in the browser</title>
	<link>http://informationisart.com/stas/clustory-reinventing-the-tabs-in-the-browser</link>
	<content:encoded>&lt;p&gt;My answer to &lt;a href=&quot;http://design-challenge.mozilla.com/summer09/&quot;&gt;this summer&amp;#8217;s Design Challenge&lt;/a&gt; is: forget about tabs &lt;em&gt;completely&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://vimeo.com/5269824&quot;&gt;Clustory: reinventing the tabs in the browser (Mozilla Concept Series)&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/stasm&quot;&gt;Staś Małolepszy&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the video above (slightly too lengthy, I admit), I try to explore a different approach to managing visited pages. I suggest using the &lt;em&gt;loads&lt;/em&gt; of data stored in the browsing history (mining for patterns!) and present it in a way that exposes two new dimensions: time and tasks.&lt;/p&gt;
&lt;p&gt;The clustory screen (a portmanteau word from &amp;#8220;cluster&amp;#8221; and &amp;#8220;history&amp;#8221;) would present a timeline of the visited pages, organized by themes, topics, or actions. Each horizontal line represents a cluster, and the pages belonging to the clusters are portrayed using screenshot thumbnails or favicons. At the top, there&amp;#8217;s a timeline indicating the time of visits, and giving some other contextual information like the weather or even (not illustrated in the mock-up) wi-fi hotspot names (SSIDs), which you could identify as your own, your company&amp;#8217;s or your school&amp;#8217;s.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://informationisart.com/stas/blog/wp-content/uploads/2009/06/Picture-1.png&quot;&gt;&lt;img class=&quot;aligncenter size-medium wp-image-293&quot; title=&quot;Picture 1&quot; src=&quot;http://informationisart.com/stas/blog/wp-content/uploads/2009/06/Picture-1-300x225.png&quot; alt=&quot;Picture 1&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The sidebar on the right gives you some details about each cluster, such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a user-given name,&lt;/li&gt;
&lt;li&gt;most important keyword as identified by the clustering algorithm,&lt;/li&gt;
&lt;li&gt;last activity time,&lt;/li&gt;
&lt;li&gt;total time spent on the pages belonging to the cluster,&lt;/li&gt;
&lt;li&gt;action buttons: forget, bookmark, share (all pages in the cluster).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The page that you were viewing most recently is always the biggest thumbnail on the screen, to make it easy to click on it and leave the clustory screen. Moreover, it never disappears from the screen, even if you pan to see older visits or clusters that are below the page fold. Its meta-information is always visible, too. To get more information about other clusters, just hover over them, to expand them and show bigger thumbnails, as well some additional metadata.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://informationisart.com/stas/blog/wp-content/uploads/2009/06/Picture-2.png&quot;&gt;&lt;img class=&quot;aligncenter size-medium wp-image-296&quot; title=&quot;Picture 2&quot; src=&quot;http://informationisart.com/stas/blog/wp-content/uploads/2009/06/Picture-2-300x225.png&quot; alt=&quot;Picture 2&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can drag and drop pages across clusters, for example when the algorithm isn&amp;#8217;t accurate enough and made a mistake. Dropping a page into a new cluster would make the algorithm recalculate the probabilities of each word indicating that a new page belongs to it. Pages currently in the cluster would stay in it.&lt;/p&gt;
&lt;p&gt;Which brings me to data mining. I believe that it would be sufficient to represent web documents as unordered collections of words that occur in them (the &lt;a href=&quot;http://en.wikipedia.org/wiki/Bag_of_words_model&quot;&gt;bag-of-words model&lt;/a&gt;). You could even go as far as checking only if a word is present in the document, without counting its occurrences. This would lead to a very simple binary representation that could then be used by a &lt;a href=&quot;http://en.wikipedia.org/wiki/Naive_Bayes_classifier&quot;&gt;Naive Bayes classifier&lt;/a&gt;. The advantage of such approach is that we would be storing minimal amount of data per visited page and we wouldn&amp;#8217;t need to recalculate the weights for each word and each document after opening a new page (as using an &lt;a href=&quot;http://en.wikipedia.org/wiki/TF_IDF&quot;&gt;idf-based weight&lt;/a&gt; would require).&lt;/p&gt;
&lt;p&gt;Please watch the video, &lt;a href=&quot;http://informationisart.com/stas/clustory/Clustory.key&quot;&gt;download the Keynote presentation&lt;/a&gt; and share your thoughts in the comments. Thanks!&lt;/p&gt;</content:encoded>
	<dc:date>2009-06-21T22:16:43+00:00</dc:date>
</item>
<item rdf:about="http://witia.jogger.pl/2009/06/21/dodawanie-cienia-przy-uzyciu-moz-box-shadow/">
	<title>Witia: Dodawanie cienia przy użyciu -moz-box-shadow</title>
	<link>http://witia.jogger.pl/2009/06/21/dodawanie-cienia-przy-uzyciu-moz-box-shadow/</link>
	<content:encoded>&lt;p&gt;&lt;em&gt;Poniższy tekst jest tłumaczeniem artykułu &quot;&lt;a href=&quot;http://hacks.mozilla.org/2009/06/moz-box-shadow/&quot;&gt;Shadow boxing with -moz-box-shadow&lt;/a&gt;&quot;, zamieszczonego na stronie &lt;a href=&quot;http://hacks.mozilla.org/&quot;&gt;hacks.mozilla.org&lt;/a&gt; na licencji &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/3.0/us/&quot;&gt;Creative Commons Attribution 3.0 United States License&lt;/a&gt;. Autorem tekstu jest Frederic Wenzel. Spis wszystkich tłumaczeń artykułów z hacks.mozilla.org dostępny jest na stronach &lt;a href=&quot;http://wiki.aviary.pl/Mozilla:Hacks&quot;&gt;wiki.aviary.pl&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Jeszcze jedną ciekawą funkcją CSS3, wprowadzoną w Firefoksie 3.5, są cienie pudełka (&lt;em&gt;box&lt;/em&gt;). Ta funkcja pozwala na otaczanie cieniem ramki niemal każdego dowolnego elementu&lt;/p&gt;
&lt;p&gt;Ponieważ prace nad własnością &lt;em&gt;box shadow&lt;/em&gt; w CSS3 jeszcze trwają, w Firefoksie zaimplementowano ją jako &lt;code&gt;-moz-box-shadow&lt;/code&gt;. W ten sposób, poprzez dodanie przedrostka “-moz-&amp;amp;#8221 do nazwy, Mozilla testuje eksperymentalne własności CSS. Kiedy specyfikacja zostanie skończona, nazwa własności będzie zmieniona na “box-shadow.”&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Jak do działa&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dodawanie cienia elementu jest proste. &lt;a href=&quot;http://dev.w3.org/csswg/css3-background/#the-box-shadow&quot;&gt;Standard CSS3&lt;/a&gt; dopuszcza jako jego wartości:&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;text&quot;&gt;
none | &amp;lt;shadow&amp;gt; [ &amp;lt;shadow&amp;gt; ]*
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;gdzie &lt;code&gt;&amp;lt;shadow&amp;gt;&lt;/code&gt; to:&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;text&quot;&gt;
&amp;lt;shadow&amp;gt; = inset? &amp;amp;&amp;amp; [ &amp;lt;length&amp;gt;{2,4} &amp;amp;&amp;amp; &amp;lt;color&amp;gt;? ]
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Dwie pierwsze liczby w &lt;code&gt;&amp;lt;length&amp;gt;&lt;/code&gt; są odpowiednio &lt;em&gt;poziomym i pionowym rozmiarem&lt;/em&gt; cienia. Trzecia liczba jest &lt;em&gt;promieniem rozmycia&lt;/em&gt; (porównaj to z promieniem rozmycia we &lt;a href=&quot;http://hacks.mozilla.org/2009/06/text-shadow/&quot;&gt;własności text-shadow&lt;/a&gt;). Wreszcie czwarta liczba jest &lt;em&gt;promieniem rozpiętości&lt;/em&gt;, pozwalającym cieniowi powiększać się (wartości dodatnie) lub zmniejszać (wartości ujemne) względem rozmiaru elementu rodzica.&lt;/p&gt;
&lt;p&gt;Słowo &lt;code&gt;inset&lt;/code&gt; jest dobrze opisane w samym standardzie:&lt;br /&gt;&lt;/p&gt;
&lt;blockquote&gt;jeśli jest obecne, zmienia cień z zewnętrznego (cień od elementu w stronę tła, jakby znajdował się ponad nim) na cień wewnętrzny (cień od tła w stronę elementu, jakby element był wycięty w tle i przesunięty pod nie).
&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Jako że jeden obraz wart jest tysiąca słów, spójrzmy na kilka przykładów.&lt;/p&gt;
&lt;p&gt;Aby dodać prosty cień, wystarczy jedynie zdefiniować rozmiar i kolor:&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;css&quot;&gt;
 -moz-box-shadow&lt;span&gt;:&lt;/span&gt; &lt;span&gt;1px&lt;/span&gt; &lt;span&gt;1px&lt;/span&gt; &lt;span&gt;10px&lt;/span&gt; &lt;span&gt;#00f&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://wiki.mozilla.org/images/6/60/35days-box-shadow-simple.jpg&quot; alt=&quot;simple box shadow&quot; /&gt;&lt;/p&gt;
&lt;p&gt;(Każdy z przykładów w tym artykule składa się najpierw z własności zastosowanej na żywo , po której następuje zrzut ekranu z Firefoksa 3.5 w systemie OSX).&lt;/p&gt;
&lt;p&gt;Podobnie można dodać wewnętrzny cień przy użyciu słowa &lt;code&gt;inset&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;css&quot;&gt;
-moz-box-shadow&lt;span&gt;:&lt;/span&gt; &lt;span&gt;inset&lt;/span&gt; &lt;span&gt;1px&lt;/span&gt; &lt;span&gt;1px&lt;/span&gt; &lt;span&gt;10px&lt;/span&gt; &lt;span&gt;#888&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://wiki.mozilla.org/images/f/f4/35days-box-shadow-inset.jpg&quot; alt=&quot;inset box shadow&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Przy użyciu &lt;em&gt;promienia rozpiętości&lt;/em&gt; można zdefiniować mniejsze (lub większe) cienie niż element, do którego są przypisane:&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;css&quot;&gt;
-moz-box-shadow&lt;span&gt;:&lt;/span&gt; &lt;span&gt;0px&lt;/span&gt; &lt;span&gt;20px&lt;/span&gt; &lt;span&gt;10px&lt;/span&gt; &lt;span&gt;-10px&lt;/span&gt; &lt;span&gt;#888&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://wiki.mozilla.org/images/4/4c/35days-box-shadow-spread.jpg&quot; alt=&quot;box shadow with spread radius&quot; /&gt;&lt;/p&gt;
&lt;p&gt;W razie potrzeby można też zdefiniować złożone cienie, umieszczając definicje kilku cieni oddzielone przecinkami (dzięki uprzejmości &lt;a href=&quot;http://markusstange.wordpress.com/2009/02/15/fun-with-box-shadows/&quot;&gt;Markusa Stange'a&lt;/a&gt;):&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;css&quot;&gt;
-moz-box-shadow&lt;span&gt;:&lt;/span&gt; 0 0 &lt;span&gt;20px&lt;/span&gt; &lt;span&gt;black&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;20px&lt;/span&gt; &lt;span&gt;15px&lt;/span&gt; &lt;span&gt;30px&lt;/span&gt; &lt;span&gt;yellow&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;-20px&lt;/span&gt; &lt;span&gt;15px&lt;/span&gt; &lt;span&gt;30px&lt;/span&gt; &lt;span&gt;lime&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;-20px&lt;/span&gt; &lt;span&gt;-15px&lt;/span&gt; &lt;span&gt;30px&lt;/span&gt; &lt;span&gt;blue&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;20px&lt;/span&gt; &lt;span&gt;-15px&lt;/span&gt; &lt;span&gt;30px&lt;/span&gt; &lt;span&gt;red&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://wiki.mozilla.org/images/3/30/35days-box-shadow-multiple.jpg&quot; alt=&quot;multiple box shadows&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Poszczególne cienie łączą się wzajemnie bardzo łagodnie, i - jak można zauważyć - kolejność, w której są zdefiniowane, jest istotna. Jako że &lt;code&gt;box-shadow&lt;/code&gt; jest własnością CSS3, Firefox&amp;nbsp;3.5 stosuje się do kolejności rysowania CSS3. Oznacza to, że pierwszy zdefiniowany cień pojawia się na górze i należy pamiętać o tym przy definiowaniu złożonych cieni.&lt;/p&gt;
&lt;p&gt;Jako końcowy przykład chciałbym pokazać połączenie &lt;code&gt;-moz-box-shadow&lt;/code&gt; z &lt;a href=&quot;http://www.w3.org/TR/css3-color/#rgba-color&quot;&gt;definicją koloru RGBA&lt;/a&gt;. RGBA jest tym samym, co RGB, ale dodaje kanał przezroczystości alfa, służący do zmiany przezroczystości koloru. Wykonajmy czarny, nierozmyty cień z przezroczystością 50% na żółtym tle:&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;css&quot;&gt;
-moz-box-shadow&lt;span&gt;:&lt;/span&gt; &lt;span&gt;inset&lt;/span&gt; &lt;span&gt;5px&lt;/span&gt; &lt;span&gt;5px&lt;/span&gt; 0 rgba&lt;span&gt;(&lt;/span&gt;0&lt;span&gt;,&lt;/span&gt; 0&lt;span&gt;,&lt;/span&gt; 0&lt;span&gt;,&lt;/span&gt; .5&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://wiki.mozilla.org/images/e/ea/35days-box-shadow-rgba.jpg&quot; alt=&quot;box shadow with RGBA&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Jak można zauważyć - żółte tło jest widoczne poprzez półprzezroczysty cień. Ta funkcja staje się szczególnie interesująca, kiedy użyte są obrazki tła - można je dostrzec przebijające przez cień pudełka.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Zgodność z przeglądarkami&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jako nowa własność, należąca do opracowywanego dopiero CSS3, własność &lt;code&gt;box-shadow&lt;/code&gt; nie jest jeszcze szeroko zaadoptowana przez twórców przeglądarek.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Firefox 3.5 wspiera tę opcję jako &lt;code&gt;-moz-box-shadow&lt;/code&gt;, w tym złożone cienie, komendę &lt;code&gt;inset&lt;/code&gt; i promień rozpiętości.&lt;/li&gt;
&lt;li&gt;Safari/WebKit przyjęło podobny jak Firefox sposób sposób implementacji funkcji jako &lt;code&gt;-webkit-box-shadow&lt;/code&gt;. Złożone cienie są wspierane od wersji 4.0, cienie wewnętrzne i zasięg przesunięcia nie są jeszcze obsługiwane przez WebKit.&lt;/li&gt;
&lt;li&gt;Opera i Microsoft Internet Explorer nie wprowadziły jeszcze własności &lt;code&gt;box shadow&lt;/code&gt;, W MSIE można spróbować jego własnego &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms532985(VS.85).aspx&quot;&gt;filtra DropShadow&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aby wykorzystać jak najszerzej istniejące implementacje, wskazane jest użycie wszystkich trzech rodzajów składni: &lt;code&gt;-moz&lt;/code&gt;, &lt;code&gt;-webkit&lt;/code&gt; i standardu CSS3. Poszczególne przeglądarki wybiorą wtedy i zastosują tę, którą obsługują:&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;css&quot;&gt;
 -moz-box-shadow&lt;span&gt;:&lt;/span&gt; &lt;span&gt;1px&lt;/span&gt; &lt;span&gt;1px&lt;/span&gt; &lt;span&gt;10px&lt;/span&gt; &lt;span&gt;#00f&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
 -webkit-box-shadow&lt;span&gt;:&lt;/span&gt; &lt;span&gt;1px&lt;/span&gt; &lt;span&gt;1px&lt;/span&gt; &lt;span&gt;10px&lt;/span&gt; &lt;span&gt;#00f&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
 box-shadow&lt;span&gt;:&lt;/span&gt; &lt;span&gt;1px&lt;/span&gt; &lt;span&gt;1px&lt;/span&gt; &lt;span&gt;10px&lt;/span&gt; &lt;span&gt;#00f&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Dobrą wiadomością jest to, że własność &lt;code&gt;box-shadow&lt;/code&gt; jest elegancko ignorowana w przeglądarkach pozbawionych jej wsparcia. Na przykład, wszystkie powyższe przykłady będą wyglądały w MSIE jak zwykłe i nudne pudełka bez cieni.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Podsumowanie&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Własność CSS3 &lt;code&gt;box-shadow&lt;/code&gt; nie jest jeszcze tak szeroko dostępna w przeglądarkach (i tym samym dla użytkowników), jak np. własność &lt;code&gt;text-shadow&lt;/code&gt;, jednak dzięki częściowemu wsparciu w WebKit i pełnemu wsparciu wprowadzonemu w Firefoksie 3.5 (tak długo, jak odpowiada obecnemu statusowi przyszłej specyfikacji) coraz więcej użytkowników będzie mogło zobaczyć rodzaje cieni definiowane w CSS.&lt;/p&gt;
&lt;p&gt;Twórcy stron mogą więc używać tej funkcji ze świadomością, że dostarczają doskonalszych wrażeń użytkownikom nowoczesnych przeglądarek, a jednocześnie nie odwracają się od użytkowników starszych przeglądarek.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dodatkowe zasoby&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Dokumentacja&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en/CSS/-moz-box-shadow&quot;&gt;https://developer.mozilla.org/en/CSS/-moz-box-shadow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dev.w3.org/csswg/css3-background/#the-box-shadow&quot;&gt;http://dev.w3.org/csswg/css3-background/#the-box-shadow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Przykłady&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://markusstange.wordpress.com/2009/02/15/fun-with-box-shadows/&quot;&gt;http://markusstange.wordpress.com/2009/02/15/fun-with-box-shadows/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.css3.info/preview/box-shadow/&quot;&gt;http://www.css3.info/preview/box-shadow/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.elektronotdienst-nuernberg.de/bugs/box-shadow_inset.html&quot;&gt;http://www.elektronotdienst-nuernberg.de/bugs/box-shadow_inset.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded>
	<dc:date>2009-06-21T21:07:25+00:00</dc:date>
</item>
<item rdf:about="http://witia.jogger.pl/2009/06/20/manipulacja-pikselami-przy-uzyciu-canvas/">
	<title>Witia: Manipulacja pikselami przy użyciu canvas</title>
	<link>http://witia.jogger.pl/2009/06/20/manipulacja-pikselami-przy-uzyciu-canvas/</link>
	<content:encoded>&lt;p&gt;&lt;em&gt;Poniższy tekst jest tłumaczeniem artykułu &quot;&lt;a href=&quot;http://hacks.mozilla.org/2009/06/pushing-pixels-with-canvas/&quot;&gt;Pushing pixels with canvas&lt;/a&gt;&quot;, zamieszczonego na stronie &lt;a href=&quot;http://hacks.mozilla.org/&quot;&gt;hacks.mozilla.org&lt;/a&gt; na licencji &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/3.0/us/&quot;&gt;Creative Commons Attribution 3.0 United States License&lt;/a&gt;. Spis wszystkich tłumaczeń artykułów z hacks.mozilla.org dostępny jest na stronach &lt;a href=&quot;http://wiki.aviary.pl/Mozilla:Hacks&quot;&gt;wiki.aviary.pl&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Artykuł ten został napisany przez &lt;a href=&quot;http://blog.mozbox.org&quot;&gt;Paula Rougeta&lt;/a&gt;, który jest członkiem zespołu Mozilla Evangelism. Paul mieszka w Paryżu we Francji i jest dobrze znany między innymi ze swych zadziwiających prac związanych z &lt;a href=&quot;http://standblog.org/blog/post/2009/04/15/Making-video-a-first-class-citizen-of-the-Web&quot;&gt;otwartym wideo w sieci&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Element canvas, na swoim najprostszym poziomie, jest łatwym sposobem rysowania danych bitmapowych na stronie HTML. Posiada on metody pozwalające rysować prostokąty, łuki, krzywe i inne proste figury. Jednak dla niektórych rodzajów efektów i rysunków potrzebny jest bezpośredni dostęp do pikseli.&lt;/p&gt;
&lt;p&gt;W Firefoksie 3.5 dodaliśmy do elementu canvas nową metodę - &lt;a href=&quot;https://developer.mozilla.org/En/HTML/Canvas/Pixel_manipulation_with_canvas#Creating_an_ImageData_object&quot;&gt;&lt;em&gt;createImageData&lt;/em&gt;&lt;/a&gt;. Wywołanie &lt;em&gt;createImageData&lt;/em&gt; jest wygodną metodą utworzenia czystego zestawu pikseli do manipulacji, które na końcu mogą być z powrotem skopiowane do elementu canvas.&lt;/p&gt;
&lt;p&gt;Ponieważ mówimy o pojedynczym wywołaniu, myślimy, że może być wartościowe przejście przez wszystkie wywołania, które można przeczytać, obrobienie i aktualizacja pikseli bezpośrednio w elemencie canvas i umieszczenie &lt;em&gt;createImageData&lt;/em&gt; w jego pełnym kontekście.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wydobywanie danych pikseli&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;W elemencie canvas nie można bezpośrednio manipulować pikselami. W celu dokonania zmian danych w elemencie canvas należy najpierw skopiować dane, wykonać zmiany i skopiować z powrotem zmienione dane do docelowego elementu canvas.&lt;/p&gt;
&lt;p&gt;Wywołanie &lt;a href=&quot;https://developer.mozilla.org/En/HTML/Canvas/Pixel_manipulation_with_canvas#Getting_the_pixel_data_for_a_context&quot;&gt;&lt;em&gt;getImageData&lt;/em&gt;&lt;/a&gt; pozwala skopiować prostokąt pikseli poza element canvas. Wywołanie w celu pobrania wszystkich danych pikseli elementu canvas wygląda następująco:&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;javascript&quot;&gt;
&lt;span&gt;var&lt;/span&gt; canvas &lt;span&gt;=&lt;/span&gt; document.&lt;span&gt;getElementById&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;'myCanvasElt'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;span&gt;var&lt;/span&gt; ctx &lt;span&gt;=&lt;/span&gt; canvas.&lt;span&gt;getContext&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;'2d'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;span&gt;var&lt;/span&gt; canvasData &lt;span&gt;=&lt;/span&gt; ctx.&lt;span&gt;getImageData&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;0&lt;span&gt;,&lt;/span&gt; 0&lt;span&gt;,&lt;/span&gt; canvas.&lt;span&gt;width&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; canvas.&lt;span&gt;height&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Obiekt &lt;em&gt;canvasData&lt;/em&gt; zawiera dane pikseli. Posiada następujące człony:&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;javascript&quot;&gt;
canvasData &lt;span&gt;{&lt;/span&gt;
    width&lt;span&gt;:&lt;/span&gt;  nieoznaczona długość&lt;span&gt;,&lt;/span&gt; &lt;span&gt;// szerokość elementu canvas&lt;/span&gt;
    height&lt;span&gt;:&lt;/span&gt; nieoznaczona długość&lt;span&gt;,&lt;/span&gt; &lt;span&gt;// wysokość elementu canvas&lt;/span&gt;
    data&lt;span&gt;:&lt;/span&gt;   CanvasPixelArray &lt;span&gt;     // wartości pikseli&lt;/span&gt;
&lt;span&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Człon &quot;data&quot; to płaska tablica wartości, która ma jedną wartość dla każdego komponentu w pikselu, zorganizowana od lewej do prawej, od góry do dołu, z każdym pikselem reprezentowanym jako cztery wartości w porządku RGBA.&lt;/p&gt;
&lt;p&gt;Na przykład w elemencie canvas 2×2 powinny być 4 piksele reprezentowane przez 16 wartości, które wyglądają jak poniżej:&lt;/p&gt;
&lt;pre&gt;
0,0  0,1  1,0  1,1
RGBA RGBA RGBA RGBA
&lt;/pre&gt;
&lt;p&gt;Można więc obliczyć długość tablicy wg następującej formuły: &lt;em&gt;width * height * 4&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;W większych elementach canvas, aby poznać wartość barwy niebieskiej w pikselu o współrzędnych x = 10, y = 20, można użyć następującego kodu:&lt;/p&gt;
&lt;pre&gt;
var x = 10;
var y = 10;
var blue = canvasData.data[(y * width + x) * 4 + 2];

&lt;/pre&gt;
&lt;p&gt;Należy pamiętać, że każda z wartości RGB piksela mieści się w przedziale 0-255 z bitem alfa (przezroczystości) z zakresu 0-255, gdzie 0 oznacza zupełną przezroczystość, a 255 pełną nieprzezroczystość.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tworzenie nowego zestawu pikseli&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Aby utworzyć nową matrycę od podstaw, wystarczy użyć wywołania &lt;a href=&quot;https://developer.mozilla.org/En/HTML/Canvas/Pixel_manipulation_with_canvas#Creating_an_ImageData_object&quot;&gt;&lt;em&gt;createImageData&lt;/em&gt;&lt;/a&gt;, które wymaga dwóch argumentów: wysokości i szerokości matrycy.&lt;/p&gt;
&lt;p&gt;Należy zwrócić uwagę, że wywołanie &lt;em&gt;createImageData&lt;/em&gt; nie kopiuje pikseli z istniejącego elementu canvas, tworzy ono czystą matrycę pikseli z wartościami ustawionymi na przezroczysty czarny (255,255,255,0).&lt;/p&gt;
&lt;p&gt;Poniżej znajduje się przykład pokazujący, jak stworzyć zestaw pikseli o wymiarach elementu canvas:&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;javascript&quot;&gt;
&lt;span&gt;var&lt;/span&gt; canvas &lt;span&gt;=&lt;/span&gt; document.&lt;span&gt;getElementById&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;'myCanvasElt'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;span&gt;var&lt;/span&gt; ctx &lt;span&gt;=&lt;/span&gt; canvas.&lt;span&gt;getContext&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;'2d'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;span&gt;var&lt;/span&gt; canvasData &lt;span&gt;=&lt;/span&gt; ctx.&lt;span&gt;createImageData&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;canvas.&lt;span&gt;width&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; canvas.&lt;span&gt;height&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Trzeba pamiętać, że jest to metoda, którą należy używać do tworzenia danych pikselowych.&lt;/em&gt; Poprzednie wersje Firefoksa dopuszczały tworzenie obiektu canvasData poza prostym obiektem JavaScript i użycie go w późniejszych wywołaniach w celu aktualizacji danych canvas. Wywołanie to zostało dodane, by zachować kompatybilność z WebKit, który używa wyspecjalizowanego obiektu zamiast ogólnego obiektu JavaScript.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Aktualizacja pikseli&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jeśli istnieje już obiekt canvasData, można zaktualizować wartości piksela w tablicy. Oto przykład, jak przejść tablicę, odczytując i aktualizując wartości.&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;javascript&quot;&gt;
&lt;span&gt;for&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;&lt;span&gt;var&lt;/span&gt; x &lt;span&gt;=&lt;/span&gt; &lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; x &lt;span&gt;&amp;lt;&lt;/span&gt; canvasData.&lt;span&gt;width&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; x&lt;span&gt;++&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;  &lt;span&gt;{&lt;/span&gt;

    &lt;span&gt;for&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;&lt;span&gt;var&lt;/span&gt; y &lt;span&gt;=&lt;/span&gt; &lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; y &lt;span&gt;&amp;lt;&lt;/span&gt; canvasData.&lt;span&gt;height&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; y&lt;span&gt;++&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;  &lt;span&gt;{&lt;/span&gt;

        &lt;span&gt;// Indeks piksela w tablicy&lt;/span&gt;
        &lt;span&gt;var&lt;/span&gt; idx &lt;span&gt;=&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;x &lt;span&gt;+&lt;/span&gt; y &lt;span&gt;*&lt;/span&gt; width&lt;span&gt;)&lt;/span&gt; &lt;span&gt;*&lt;/span&gt; &lt;span&gt;4&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

        &lt;span&gt;// Pobranie wartości piksela&lt;/span&gt;
        &lt;span&gt;var&lt;/span&gt; r &lt;span&gt;=&lt;/span&gt; canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 0&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
        &lt;span&gt;var&lt;/span&gt; g &lt;span&gt;=&lt;/span&gt; canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 1&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
        &lt;span&gt;var&lt;/span&gt; b &lt;span&gt;=&lt;/span&gt; canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 2&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
        &lt;span&gt;var&lt;/span&gt; a &lt;span&gt;=&lt;/span&gt; canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 3&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
 
        &lt;span&gt;//[...] operacje na wartościach&lt;/span&gt;

        &lt;span&gt;// Aktualizacja wartości piksela&lt;/span&gt;
        canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 0&lt;span&gt;]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; ...&lt;span&gt;;&lt;/span&gt; &lt;span&gt;// Kanał czerwony&lt;/span&gt;
        canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 1&lt;span&gt;]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; ...&lt;span&gt;;&lt;/span&gt; &lt;span&gt;// Kanał zielony&lt;/span&gt;
        canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 2&lt;span&gt;]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; ...&lt;span&gt;;&lt;/span&gt; &lt;span&gt;// Kanał niebieski&lt;/span&gt;
        canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 3&lt;span&gt;]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; ...&lt;span&gt;;&lt;/span&gt; &lt;span&gt;// Kanał alfa (przezroczystość)&lt;/span&gt;
    &lt;span&gt;}&lt;/span&gt;
&lt;span&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Aktualizacja elementu canvas&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Teraz, po aktualizacji zestawu pikseli można użyć prostego wywołania &lt;a href=&quot;https://developer.mozilla.org/En/HTML/Canvas/Pixel_manipulation_with_canvas#Painting_pixel_data_into_a_context&quot;&gt;&lt;em&gt;putImageData&lt;/em&gt;&lt;/a&gt;. Wywołanie to przyjmuje obiekt canvasData oraz położenie x,y, w którym ma być narysowany prostokąt pikseli w elemencie canvas:&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;javascript&quot;&gt;
&lt;span&gt;var&lt;/span&gt; canvas &lt;span&gt;=&lt;/span&gt; document.&lt;span&gt;getElementById&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;'myCanvasElt'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;span&gt;var&lt;/span&gt; ctx &lt;span&gt;=&lt;/span&gt; canvas.&lt;span&gt;getContext&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;'2d'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;span&gt;var&lt;/span&gt; canvasData &lt;span&gt;=&lt;/span&gt; ctx.&lt;span&gt;putImageData&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;canvasData&lt;span&gt;,&lt;/span&gt; 0&lt;span&gt;,&lt;/span&gt; 0&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Pełny przykład zastosowania &lt;em&gt;getImageData&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Poniżej znajduje się kod, który przekształca kolorowy obrazek na wersję w odcieniach szarości. Można również zobaczyć &lt;a href=&quot;http://people.mozilla.com/~prouget/demos/35days/gray.xhtml&quot;&gt;na żywo przykład na stronie Paula.&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;javascript&quot;&gt;
&lt;span&gt;var&lt;/span&gt; canvas &lt;span&gt;=&lt;/span&gt; document.&lt;span&gt;getElementById&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;'myCanvasElt'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;span&gt;var&lt;/span&gt; ctx &lt;span&gt;=&lt;/span&gt; canvas.&lt;span&gt;getContext&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;'2d'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;span&gt;var&lt;/span&gt; canvasData &lt;span&gt;=&lt;/span&gt; ctx.&lt;span&gt;getImageData&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;0&lt;span&gt;,&lt;/span&gt; 0&lt;span&gt;,&lt;/span&gt; canvas.&lt;span&gt;width&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; canvas.&lt;span&gt;height&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

&lt;span&gt;for&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;&lt;span&gt;var&lt;/span&gt; x &lt;span&gt;=&lt;/span&gt; &lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; x &lt;span&gt;&amp;lt;&lt;/span&gt; canvasData.&lt;span&gt;width&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; x&lt;span&gt;++&lt;/span&gt;&lt;span&gt;)&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;

    &lt;span&gt;for&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;&lt;span&gt;var&lt;/span&gt; y &lt;span&gt;=&lt;/span&gt; &lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; y &lt;span&gt;&amp;lt;&lt;/span&gt; canvasData.&lt;span&gt;height&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; y&lt;span&gt;++&lt;/span&gt;&lt;span&gt;)&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;

        &lt;span&gt;// Indeks piksela w tablicy&lt;/span&gt;
        &lt;span&gt;var&lt;/span&gt; idx &lt;span&gt;=&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;x &lt;span&gt;+&lt;/span&gt; y &lt;span&gt;*&lt;/span&gt; canvas.&lt;span&gt;width&lt;/span&gt;&lt;span&gt;)&lt;/span&gt; &lt;span&gt;*&lt;/span&gt; &lt;span&gt;4&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

        &lt;span&gt;// Wartości RGB&lt;/span&gt;
        &lt;span&gt;var&lt;/span&gt; r &lt;span&gt;=&lt;/span&gt; canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 0&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
        &lt;span&gt;var&lt;/span&gt; g &lt;span&gt;=&lt;/span&gt; canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 1&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
        &lt;span&gt;var&lt;/span&gt; b &lt;span&gt;=&lt;/span&gt; canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 2&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

        &lt;span&gt;// Aktualizacja wartości piksela;&lt;/span&gt;
        &lt;span&gt;var&lt;/span&gt; gray &lt;span&gt;=&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;r &lt;span&gt;+&lt;/span&gt; g &lt;span&gt;+&lt;/span&gt; b&lt;span&gt;)&lt;/span&gt; &lt;span&gt;/&lt;/span&gt; &lt;span&gt;3&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

        canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 0&lt;span&gt;]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; gray&lt;span&gt;;&lt;/span&gt;
        canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 1&lt;span&gt;]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; gray&lt;span&gt;;&lt;/span&gt;
        canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 2&lt;span&gt;]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; gray&lt;span&gt;;&lt;/span&gt;
    &lt;span&gt;}&lt;/span&gt;
&lt;span&gt;}&lt;/span&gt;
ctx.&lt;span&gt;putImageData&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;canvasData&lt;span&gt;,&lt;/span&gt; 0&lt;span&gt;,&lt;/span&gt; 0&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Pełny przykład zastosowania &lt;em&gt;createImageData&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Poniższy kod narysuje fraktal w elemencie canvas. Również w tym przypadku można obejrzeć na żywo &lt;a href=&quot;http://people.mozilla.com/~prouget/demos/35days/fractal.xhtml&quot;&gt;przykład działania tego kodu na stronie Paula&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;javascript&quot;&gt;
&lt;span&gt;var&lt;/span&gt; canvas &lt;span&gt;=&lt;/span&gt; document.&lt;span&gt;getElementById&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;'myCanvasElt'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

&lt;span&gt;var&lt;/span&gt; ctx &lt;span&gt;=&lt;/span&gt; canvas.&lt;span&gt;getContext&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;'2d'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;span&gt;var&lt;/span&gt; canvasData &lt;span&gt;=&lt;/span&gt; ctx.&lt;span&gt;createImageData&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;canvas.&lt;span&gt;width&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; canvas.&lt;span&gt;height&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

 
&lt;span&gt;// Mandelbrot&lt;/span&gt;
&lt;span&gt;function&lt;/span&gt; computeColor&lt;span&gt;(&lt;/span&gt;x&lt;span&gt;,&lt;/span&gt; y&lt;span&gt;)&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;
    x &lt;span&gt;=&lt;/span&gt; 2.5 &lt;span&gt;*&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;x&lt;span&gt;/&lt;/span&gt;canvas.&lt;span&gt;width&lt;/span&gt; &lt;span&gt;-&lt;/span&gt; 0.5&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

    y &lt;span&gt;=&lt;/span&gt; 2 &lt;span&gt;*&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;y&lt;span&gt;/&lt;/span&gt;canvas.&lt;span&gt;height&lt;/span&gt; &lt;span&gt;-&lt;/span&gt; 0.5&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

    &lt;span&gt;var&lt;/span&gt; x0 &lt;span&gt;=&lt;/span&gt; x&lt;span&gt;;&lt;/span&gt;
    &lt;span&gt;var&lt;/span&gt; y0 &lt;span&gt;=&lt;/span&gt; y&lt;span&gt;;&lt;/span&gt;

 
    &lt;span&gt;var&lt;/span&gt; iteration &lt;span&gt;=&lt;/span&gt; &lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
    &lt;span&gt;var&lt;/span&gt; max_iteration &lt;span&gt;=&lt;/span&gt; &lt;span&gt;100&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

 
    &lt;span&gt;while&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;x &lt;span&gt;*&lt;/span&gt; x &lt;span&gt;+&lt;/span&gt; y &lt;span&gt;*&lt;/span&gt; y &lt;span&gt;&amp;lt;=&lt;/span&gt; 4 &lt;span&gt;&amp;amp;&amp;amp;&lt;/span&gt; iteration &lt;span&gt;&amp;lt;&lt;/span&gt; max_iteration &lt;span&gt;)&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;

        &lt;span&gt;var&lt;/span&gt; xtemp &lt;span&gt;=&lt;/span&gt; x&lt;span&gt;*&lt;/span&gt;x &lt;span&gt;-&lt;/span&gt; y&lt;span&gt;*&lt;/span&gt;y &lt;span&gt;+&lt;/span&gt; x0&lt;span&gt;;&lt;/span&gt;

        y &lt;span&gt;=&lt;/span&gt; 2&lt;span&gt;*&lt;/span&gt;x&lt;span&gt;*&lt;/span&gt;y &lt;span&gt;+&lt;/span&gt; y0&lt;span&gt;;&lt;/span&gt;
        x &lt;span&gt;=&lt;/span&gt; xtemp&lt;span&gt;;&lt;/span&gt;

        iteration&lt;span&gt;++;&lt;/span&gt;
    &lt;span&gt;}&lt;/span&gt;
 
    &lt;span&gt;return&lt;/span&gt; Math.&lt;span&gt;round&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;255 &lt;span&gt;*&lt;/span&gt; iteration &lt;span&gt;/&lt;/span&gt; max_iteration&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

&lt;span&gt;}&lt;/span&gt;
 
&lt;span&gt;for&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;&lt;span&gt;var&lt;/span&gt; x &lt;span&gt;=&lt;/span&gt; &lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; x &lt;span&gt;&amp;lt;&lt;/span&gt; canvasData.&lt;span&gt;width&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; x&lt;span&gt;++&lt;/span&gt;&lt;span&gt;)&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;

    &lt;span&gt;for&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;&lt;span&gt;var&lt;/span&gt; y &lt;span&gt;=&lt;/span&gt; &lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; y &lt;span&gt;&amp;lt;&lt;/span&gt; canvasData.&lt;span&gt;height&lt;/span&gt;&lt;span&gt;;&lt;/span&gt; y&lt;span&gt;++&lt;/span&gt;&lt;span&gt;)&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;

        &lt;span&gt;var&lt;/span&gt; color &lt;span&gt;=&lt;/span&gt; computeColor&lt;span&gt;(&lt;/span&gt;x&lt;span&gt;,&lt;/span&gt; y&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
 
        &lt;span&gt;// Indeks piksela w tablicy&lt;/span&gt;

        &lt;span&gt;var&lt;/span&gt; idx &lt;span&gt;=&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;x &lt;span&gt;+&lt;/span&gt; y &lt;span&gt;*&lt;/span&gt; canvas.&lt;span&gt;width&lt;/span&gt;&lt;span&gt;)&lt;/span&gt; &lt;span&gt;*&lt;/span&gt; &lt;span&gt;4&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;

 
        &lt;span&gt;// Aktualizacja wartości piksela;&lt;/span&gt;
        canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 0&lt;span&gt;]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; color&lt;span&gt;;&lt;/span&gt;

        canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 1&lt;span&gt;]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; color&lt;span&gt;;&lt;/span&gt;
        canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 2&lt;span&gt;]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; color&lt;span&gt;;&lt;/span&gt;

        canvasData.&lt;span&gt;data&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;idx &lt;span&gt;+&lt;/span&gt; 3&lt;span&gt;]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; &lt;span&gt;255&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
    &lt;span&gt;}&lt;/span&gt;
&lt;span&gt;}&lt;/span&gt;
 

ctx.&lt;span&gt;putImageData&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;canvasData&lt;span&gt;,&lt;/span&gt; 0&lt;span&gt;,&lt;/span&gt; 0&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Dodatkowe informacje&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Więcej informacji o elemencie canvas można znaleźć na witrynie &lt;a href=&quot;http://developer.mozilla.org&quot;&gt;MDC&lt;/a&gt;, gdzie tej tematyce poświęcone są artykuły:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/En/HTML/Canvas/Pixel_manipulation_with_canvas&quot;&gt;Pixel Manipulation with Canvas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/En/HTML/Canvas/&quot;&gt;Canvas Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en/Drawing_Graphics_with_Canvas&quot;&gt;Drawing Graphics with Canvas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mamy nadzieję, że ten tekst był przydatny i umieszcza pojedyncze wywołanie w jego pełnym kontekście.&lt;/p&gt;</content:encoded>
	<dc:date>2009-06-20T21:25:20+00:00</dc:date>
</item>
<item rdf:about="http://witia.jogger.pl/2009/06/18/firefox-3-5-przez-35-dni-wizje-przyszlosci-sieci/">
	<title>Witia: Firefox 3.5 przez 35 dni - wizje przyszłości sieci</title>
	<link>http://witia.jogger.pl/2009/06/18/firefox-3-5-przez-35-dni-wizje-przyszlosci-sieci/</link>
	<content:encoded>&lt;p&gt;&lt;em&gt;Poniższy tekst jest tłumaczeniem artykułu &quot;&lt;a href=&quot;http://hacks.mozilla.org/2009/06/35-days/&quot;&gt;Firefox 3.5 for 35 days - dreaming about the future of the web&lt;/a&gt;&quot;, zamieszczonego na stronie &lt;a href=&quot;http://hacks.mozilla.org/&quot;&gt;hacks.mozilla.org&lt;/a&gt; na licencji &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/3.0/us/&quot;&gt;Creative Commons Attribution 3.0 United States License&lt;/a&gt;. Autorem tekstu jest Christopher Blizzard. Spis wszystkich tłumaczeń artykułów z hacks.mozilla.org dostępny jest na stronach &lt;a href=&quot;http://wiki.aviary.pl/Mozilla:Hacks&quot;&gt;wiki.aviary.pl&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://hacks.mozilla.org/&quot;&gt;&lt;img src=&quot;http://hacks.mozilla.org/wp-content/uploads/2009/06/hacks_180x150.png&quot; alt=&quot;35 days logo&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Przez kolejne 35 dni [począwszy od 4 czerwca 2009 - &lt;em&gt;przyp. tłum.&lt;/em&gt;] będziemy mówili o nowych funkcjach Firefoksa 3.5, skierowanych do twórców.&lt;/p&gt;
&lt;p&gt;Nadchodzące wydanie Firefoksa 3.5 wprowadza wiele zmian dla użytkowników. Zaliczają się do nich nowe funkcje prywatności, ulepszona interaktywność i nowy silnik JavaScript, który przyniesie nowe doznania użytkownikom stron bogatych w skrypty. Są to wszystko funkcje, które docenią użytkownicy i będą mogli o nich rozmawiać.&lt;/p&gt;
&lt;p&gt;Ale Firefox 3.5 stanowi ogromny postęp dla sieci samej w sobie. Wprowadziliśmy wsparcie dla audio i wideo, wątki w JavaScript, nowe funkcje elementu canvas, masę nowych funkcji CSS, ładowanie czcionek oraz geolokalizację. Podczas gdy Firefox 3 był znacznym ulepszeniem dla użytkowników sieci, Firefox 3.5 robi to samo dla twórców.&lt;/p&gt;
&lt;p&gt;Ze względu na dużą liczbę nowych funkcji dla twórców w Firefoksie 3.5, spędzimy kolejne 35 dni opisując wszystkie z nich, w dwóch postach dziennie, każdego dnia. Pierwszy post w każdym dniu będzie opisywał dogłębnie nową funkcję Firefoksa 3.5 - jak jej używać, dlaczego pojawia się tutaj, a także pokaże kilka przykładów, co dana funkcja może zrobić. Drugi post będzie miał lżejszy charakter - znajdą się w nim przykłady, co ludzie mogą wspólnie zrealizować, używając funkcji dostępnych w Firefoksie 3.5.&lt;/p&gt;
&lt;p&gt;Osobiście wierzę, że te posty pokażą wizje Mozilli związane z przyszłością sieci. Nie jesteśmy przedsiębiorstwem jak pozostali dostawcy przeglądarek - naszą podstawową misją jest rozwój i ochrona sieci. Firefox 3.5 prezentuje naszą myśl o tym, jakie będzie następne stadium rozwoju sieci - interaktywne aplikacje, wideo, strony wymieniające i współdzielące informacje - wszystko poprzez przeglądarkę. Mamy nadzieję, że wszyscy z was przyjmą to, o czym tu piszemy, zachęcą innych dostawców przeglądarek do zastosowania podobnych rozwiązań, tam gdzie jeszcze ich nie ma, oraz że podtrzyma to wasz zapał dla sieci.&lt;/p&gt;</content:encoded>
	<dc:date>2009-06-18T10:47:58+00:00</dc:date>
</item>
<item rdf:about="http://blog.marcoos.com/2009/06/17/mozilla-hacks-natywny-json-wieksze-bezpieczenstwo-i-wydajnosc/">
	<title>Marek Stępień: Mozilla Hacks: Natywny JSON – większe bezpieczeństwo i wydajność</title>
	<link>http://blog.marcoos.com/2009/06/17/mozilla-hacks-natywny-json-wieksze-bezpieczenstwo-i-wydajnosc/</link>
	<content:encoded>Mozilla Hacks to zbiór artykułów na temat nowych możliwości silnika Gecko w Firefoksie 3.5. Członkowie Aviary.pl zamierzają tłumaczyć co ciekawsze artykuły z Mozilla Hacks na polski. Na Techblogu zacznę od artykułu „Better security and performance with native JSON”, autorstwa Aruna Ranganathana.

Większe bezpieczeństwo i wydajność dzięki natywnej obsłudze formatu JSON
Mechanizm reprezentacji danych JavaScript Object Notation (JSON) [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=blog.marcoos.com&amp;blog=10433&amp;post=403&amp;subd=marcoos&amp;ref=&amp;feed=1&quot; /&gt;</content:encoded>
	<dc:date>2009-06-17T21:38:14+00:00</dc:date>
</item>
<item rdf:about="http://diary.braniecki.net/?p=948">
	<title>Gandalf: … brakowało Was?</title>
	<link>http://diary.braniecki.net/2009/06/17/brakowalo-was/</link>
	<content:encoded>&lt;p&gt;&lt;a href=&quot;http://diary.braniecki.net/2009/03/26/dawno-was-tu-nie-bylo/&quot;&gt;W marcu napisałem krótką notkę&lt;/a&gt; na temat moich odczuć związanych z powrotem Microsoftu do konkurowania w dziedzinie przeglądarek.&lt;/p&gt;
&lt;p&gt;W notce starałem się opisać takie moje dziwne odczucie. Przez ostatnie lata Microsoft praktycznie nie wypowiadał się w dziedzinie którą zajmuje się najbardziej. Oczywiście, zdażało mi się znaleźć wypowiedzi Ballmera n/t Apple (ot, na przykład, do Guya Kawasaki, że MacBook Air to chłam i powinien kupić sobie porządny laptop z Vistą), ale było to jakby daleko ode mnie&amp;#8230;&lt;/p&gt;
&lt;p&gt;W tym czasie debata w świecie przeglądarek toczyła się wśród organizacji takich jak Google, Apple, Opera, Mozilla, Flock, W3C, Facebook i paru innych, dotyczyła głównie merytorycznych aspektów rozwoju sieci, przyszłości technologii, zdrowego rynku i szukania równowagi. Wszystkie te organizacje w wywiadach udzielanych przez pracowników mówiły pochlebnie o produktach konkurencji i opisywały jak unikalny jest rynek przeglądarek, gdzie prawdziwym konkurentem jest czas, a nie inni gracze. Ba! Nie dalej jak wczoraj sam udzieliłem wywiadu dla rosyjskiej strony slon.ru, w którym na pytanie o konkurencję pozwoliłem sobie odpowiedzieć:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Q:&lt;/strong&gt; A traditional question for all independent browsers&amp;#8217; developers: who do you think is Firefox&amp;#8217;s main rival &amp;#8212; IE or Opera, Chrome, Safari?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;A: &lt;/strong&gt;I believe we have no rivals in this pack. The rival is time itself, websites that are not using web standards, and environment in which we operate.&lt;br /&gt;
When we started the project, there was one browser on the market with 96% market share without a new release for 5 years, security was not a major issue for anyone, majority of the websites were written exclusively to work with that browser and the web standards were not adopted nor developed.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Today we have at least 3 big players &amp;#8211; Apple, Google and Microsoft, with many smaller ones like Opera or Flock, they all develop their products and release new versions every year or so, they all put security, performance and standard compliance on each marketing banner they make. They all race for who will first adopt new web standards and make more secure browser, they&amp;#8217;re coming up with new and exciting features and all try to make the web a better place.&lt;/p&gt;
&lt;p&gt;Opera, Chrome and Safari are with us in this journey, and they all make great modern browsers, fast, and innovative and powerful and they adopt new standards. Microsoft is a little bit behind, and they have a long journey, but they are moving forward and they are sharing the key focus points with us &amp;#8211; security, performance, standards.&lt;/p&gt;
&lt;p&gt;And you ask if Mozilla project, which is devoted to make the web a better place, considers them as rivals. &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt;  We cheer them and we hope they&amp;#8217;ll move even faster!&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Podobnie &lt;a href=&quot;http://d7.allthingsd.com/20090528/d7-interview-mitchell-baker-and-john-lilly/&quot;&gt;odpowiedział John Lilly&lt;/a&gt; w wywiadzie na D7.&lt;/p&gt;
&lt;p&gt;Pojawienie się IE7 nie zmieniło nic w tym obrazie. Microsoft nadal nie zajmował się specjalnie promowaniem przeglądarki, a pozostałe organizacje skupiały się na rozwoju WWW czasem tylko zaznaczając, że IE jest niezgodne ze standardami i powinno wziąść się w garść i zaktualizować swoją przeglądarkę, ponieważ taki krok byłby dobry i dla użytkowników i dla sieci.&lt;/p&gt;
&lt;p&gt;Wraz z wydaniem IE8 sytuacja zmieniła się diametralnie. Z jednej strony IE8 zebrał lepsze oceny od nas wszystkich &amp;#8211; widać faktycznie, że wdrażają trochę nowsze technologie, z drugiej Microsoft włączył coś, co z braku lepszej znajomości struktury tej firmy, nazwę &amp;#8220;maszyną marketingową&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Nie wiem jak was&amp;#8230; ale mnie taka kampania: &lt;a href=&quot;http://www.microsoft.com/australia/ie8/competition/&quot;&gt;http://www.microsoft.com/australia/ie8/competition/&lt;/a&gt; uderza. Ze swoimi hasłami o nudnym Safari i starym Firefoksie jest jakby nie z tego świata. Na dodatek jest płytka, nie dotyka żadnego z problemów sieci. Mam wrażenie, że gdyby ktokolwiek inny zrobił ją, to raczej wykorzystałby do schowania tego &amp;#8220;skarbu&amp;#8221; jakąś technologię W3C, którą wdrażają w nowej wersji i skupiłby się na tym, że potrzebujesz nowoczesnej przeglądarki, aby to znaleźć (ponieważ, np. skarb jest w SVG). Tutaj nie ma nic na ten temat. Jest obrażanie konkurencji i prosty przekaz &amp;#8211; taki sam jaki mógłby zastosować każdy inny produkt, równie dobrze można by tak reklamować system operacyjny, mydło czy batoniki. Podczas gdy Opera promuje technologie uwalniające ludzi od serwerów, Firefox promuje zaangażowanie ludzi w pomaganie innym, Safari promuje wydajność a Chrome promuje nowe rozwiązania z dziedziny bezpieczeństwa i grafiki trójwymiarowej w sieci, IE promuje&amp;#8230; siebie?&lt;/p&gt;
&lt;p&gt;Oczywiście każda z organizacji wymienionych powyżej tworzy te kampanie aby promować swoje produkty i rozwiązania, ale zazwyczaj ma to jakieś przesłanie, jakiś cel inny niż &amp;#8220;kup pan mydło&amp;#8221;. Każdy ma jakiś przekaz nieomal misyjny i wizerunkowy, tutaj zaś mam odczucie jakbym widział reklamę MediaMarkt.&lt;/p&gt;
&lt;p&gt;Mi chyba jednak tego nie brakowało&amp;#8230;&lt;/p&gt;</content:encoded>
	<dc:date>2009-06-17T13:48:35+00:00</dc:date>
</item>
<item rdf:about="http://informationisart.com/stas/?p=286">
	<title>Stanisław Małolepszy: Mozilla Fennec L10n Productization Guidelines: Part 3. Compatibility criterion</title>
	<link>http://informationisart.com/stas/mozilla-fennec-l10n-productization-guidelines-part-3-compatibility-criterion</link>
	<content:encoded>&lt;p&gt;&lt;img class=&quot;alignright size-full wp-image-238&quot; title=&quot;fennec_logo&quot; src=&quot;http://informationisart.com/stas/blog/wp-content/uploads/2009/03/fennec_logo.jpg&quot; alt=&quot;fennec_logo&quot; width=&quot;200&quot; height=&quot;123&quot; /&gt;A couple of weeks ago, I started a series of posts about the productization guidelines for localized Fennec builds. &lt;a href=&quot;http://informationisart.com/stas/mozilla-fennec-l10n-productization-guidelines-part-2-purpose-of-productization&quot;&gt;Post one discussed productization&lt;/a&gt; and why we need separate guidelines for Fennec.  &lt;a href=&quot;http://informationisart.com/stas/mozilla-fennec-l10n-productization-guidelines-part-1-introduction&quot;&gt;Post two described the purpose of productization&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Today, let&amp;#8217;s discuss the compatibility criterion, which I believe is the most important guideline for localizers to consider.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The compatibility criterion: Services included in Fennec must render correctly on mobile devices, assuring good readability and ease of interaction.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The compatibility criterion is important, because it allows us to base on Firefox&amp;#8217;s guidelines and adapt them to the mobile context. In other words, Fennec&amp;#8217;s productization should follow Firefox&amp;#8217;s guidelines, making exceptions when the compatibilty criterion is not met.&lt;/p&gt;
&lt;p&gt;As you probably remember, there are 5 productization components in Firefox, mapping to components in Fennec (in fact, the future of the live bookmark and the getting started page in Fennec is uncertain, but let&amp;#8217;s just assume for now that they&amp;#8217;re in):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Content handlers (a.k.a feed readers)&lt;/li&gt;
&lt;li&gt;Protocol handlers (currently: webcal, mailto, irc)&lt;/li&gt;
&lt;li&gt; Search engines&lt;/li&gt;
&lt;li&gt; News feed (a.k.a. Live Bookmark)&lt;/li&gt;
&lt;li&gt; The &amp;#8216;Getting Started&amp;#8217; page&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Fennec should ship only with services that meet the compatibility criterion. We should not promote websites that render badly on mobile devices, are impossible to read (e.g. because of the broken layout not adapted to the small screen), or impossible to interact with on mobile devices.&lt;/p&gt;
&lt;p&gt;The good news is that I don&amp;#8217;t expect there are many websites that don&amp;#8217;t conform to this guideline. After all, Fennec&amp;#8217;s developers have gone to great lengths to make sure the browsing experience is as good as on a desktop browser. You can pan and zoom easily, increasing the text size and focusing on chosen part of the website.&lt;/p&gt;
&lt;p&gt;But I can imagine a couple of scenarios effectively breaking the mobile user experience, for example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a Flash-based ad covering a significant area of the website which is difficult to close/discard (due to very small close button),&lt;/li&gt;
&lt;li&gt; a non-standard input element with no accessibility fallback, which makes typing text into it difficult or impossible,&lt;/li&gt;
&lt;li&gt; websites detecting a small-screen device (which as a practice is not bad) and offering a broken layout.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;#8217;m sure you can think of more example like these. Feel free to add them in the comments.&lt;/p&gt;
&lt;p&gt;Mozilla&amp;#8217;s mission ensures that the Internet, desktop and mobile alike, evolves in the  correct direction. In this context, that means open, participatory, and innovative. Good for the users. With Fennec, we&amp;#8217;re becoming reponsible for building mobile Web the right way. We have the momentum and power to make an impact and make sure web designers and developers don&amp;#8217;t ignore mobile in their projects. Because with no doubt, mobile will become one of the most important contexts of using Web, independently of region or demographics. Even more so, mobile is gaining a lot of traction in developing countries, which skip directly to the age of personal and portable computing. I like to think that we&amp;#8217;re responsible for the direction in which the mobile Web evolves: open, participatory, and innovative.&lt;/p&gt;
&lt;p&gt;Please add your thoughts. Is this criterion too strict? Too vague? Just right?&lt;/p&gt;
&lt;p&gt;* * *&lt;/p&gt;
&lt;p&gt;In the next post I&amp;#8217;ll try to summarize my thinking about the search engines in particular and suggest a couple of categories of search engines that we might want to ship Fennec with.&lt;/p&gt;</content:encoded>
	<dc:date>2009-06-12T22:37:46+00:00</dc:date>
</item>
<item rdf:about="http://diary.braniecki.net/?p=944">
	<title>Gandalf: Dzieje się!</title>
	<link>http://diary.braniecki.net/2009/06/12/dzieje-sie/</link>
	<content:encoded>&lt;p&gt;Całe szczeście, że doczekaliśmy się czasów, gdy o tym co dzieje się w projektach Internetowych informują media mainstreemowe, portale społecznościowe, mikroblogi, a nawet mozillowo-zorientowany &lt;a href=&quot;http://foxinews.pl/&quot;&gt;foxinews&lt;/a&gt;. Szczęście, bo gdyby ktoś chciał sądzić o aktywności projektu po &lt;a href=&quot;http://planet.mozillapl.org&quot;&gt;planecie MozilliPL&lt;/a&gt;, to trudno byłoby się czegoś dowiedzieć.&lt;/p&gt;
&lt;p&gt;Sam mam niestety mało czasu (tak, tak, sesja&amp;#8230;), ale spróbuję w telegraficznym skrócie, w losowej kolejności, opisać kilka tematów dla zainteresowanych:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Wydanie &lt;a href=&quot;https://developer.mozilla.org/devnews/index.php/2009/06/08/firefox-35-preview-now-available-for-beta-users/&quot;&gt;Firefoksa 3.5&lt;/a&gt; zbliża się wielkimi krokami. Tym razem, w odróżnieniu od naszej tradycji, chcielibyśmy, aby wydanie RC faktycznie było kandydatem na wersje finalną. Koniec z wydawaniem RC1 i planowaniem trzech następnych równocześnie&amp;#8230; Jak coś jest kandydatem na wydanie, to ma być gotowe. Dlatego Mike (Beltzner) i Mike (Shaver) bardzo poważnie uparli się, że nie będzie RC2. No, chyba, że &lt;a href=&quot;http://merlin.pl/Asteriks-album-33-Kiedy-niebo-spada-na-glowe_Rene-Goscinny-Albert-Uderzo/browse/product/1,423622.html&quot;&gt;niebo spadnie nam na głowy&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Nowy &lt;a href=&quot;https://addons.mozilla.org/&quot;&gt;addons.mozilla.org&lt;/a&gt;. A w nim &amp;#8211; łatwiejsza nawigacja, wygodniejsze zarządzanie i nowa funkcja &amp;#8211; Kolekcje &amp;#8211; która umożliwia tworzenie własnych zestawów rozszerzeń i motywów. W przyszłości mamy nadzieję zaoferować Ci możliwość spakowania takiej kolekcji i wydania jako własnego Firefoksa.&lt;/li&gt;
&lt;li&gt;Projekt &lt;a href=&quot;http://hacks.mozilla.org/&quot;&gt;hack.mozilla.org&lt;/a&gt; &amp;#8211; przez 35 dni zostanie zaprezentowanych 35 nowych funkcji dla webmasterów, które pojawią się w przeglądarkach nowej generacji &amp;#8211; Firefoksie 3.5, następnej Operze, Safari i Chrome.&lt;/li&gt;
&lt;li&gt;Thunderbird 3.0beta3 zbliża się. Została jedna duża rzecz (&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=474701&quot;&gt;globalne wyszukiwanie&lt;/a&gt;), która powinna wylądować w ciągu tygodnia i potem już przygotowania do wydania.&lt;/li&gt;
&lt;li&gt;Trwają prace nad &lt;a href=&quot;https://bugzilla.mozilla.org/buglist.cgi?keywords_type=nowords&amp;amp;keywords=fixed1.9.0.12+verified1.9.0.12&amp;amp;field0-0-0=flagtypes.name&amp;amp;type0-0-0=equals&amp;amp;value0-0-0=blocking1.9.0.12%2B&amp;amp;field1-0-0=flagtypes.name&amp;amp;type1-0-0=notsubstring&amp;amp;value1-0-0=approval1.9.0.12&amp;amp;order=map_assigned_to.login_name,bugs.bug_id&quot;&gt;Firefoksem 3.0.12&lt;/a&gt;. Tradycyjnie, kilka poprawek wydajności, kilka bezpieczeństwa i kilka błędów zwykłych.&lt;/li&gt;
&lt;li&gt;Zespół Aviary.pl przygotował polskie tłumaczenie Poradnika Recenzenta do Firefoksa 3.5. Będzie to mała książeczka z opisem nowych technologii i funkcji jakie będą dostępne dla autorów stron WWW i użytkowników wraz z nowym Firefoksem.&lt;/li&gt;
&lt;li&gt;Zaczęły się przygotowania do planowanego na wrzesień &lt;a href=&quot;http://www.spreadfirefox.com/node/3965&quot;&gt;Tygodnia Mozilli&lt;/a&gt; (po angielsku &amp;#8211; Mozilla Service Week, ale niestety brzydko brzmi tłumaczenie dosłowne). Będzie to kampania trochę podobna do &lt;a href=&quot;http://pl.wikipedia.org/wiki/Bank_czasu&quot;&gt;banków czasu&lt;/a&gt; &amp;#8211; chcemy zachęcić ludzi posiadających zdolności techniczne do pomagania osobom mniej uzdolnionym i potrzebującym pomocy. W ramach tej kampanii będziemy szukać chętnych do prowadzenia wykładów na temat obsługi Internetu, osoby chcące pomóc z konfiguracją Internetu, lub w inny sposób pomóc bliźniemu. &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/li&gt;
&lt;li&gt;Pierwsze prace nad Firefox.Next &amp;#8211; tutaj zidentyfikowaliśmy 35 błędów, których rozwiązanie sprawi, że Firefox będzie reagował szybciej przez co poprawi się wrażenie z interakcji z przeglądarką. Błędy takie oznaczamy &lt;a href=&quot;https://bugzilla.mozilla.org/buglist.cgi?quicksearch=sw:tsnap&quot;&gt;TSnap&lt;/a&gt;. W przyszłym tygodniu w trunku wyląduje Canvas3D, a zespół odpowiedzialny za layout zaczął prace nad XBL2. &lt;a href=&quot;https://wiki.mozilla.org/Firefox/Namoroka&quot;&gt;O innych planach na Firefox.Next można przeczytać na Wiki&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Seamonkey 2.0b1 powinno wyjść w ciągu tygodnia.&lt;/li&gt;
&lt;li&gt;Microsoft &lt;a href=&quot;http://microsoftontheissues.com/cs/blogs/mscorp/archive/2009/06/11/working-to-fulfill-our-legal-obligations-in-europe-for-windows-7.aspx&quot;&gt;wstępnie ogłosił&lt;/a&gt;, że zamierza wydać Windows 7 bez IE w Europie. Bardzo trudno okreslić, czy to jest właściwy ruch. Mitchell &lt;a href=&quot;http://blog.lizardwrangler.com/2009/06/11/ec-principles-synthesis/&quot;&gt;świetnie podsumowała&lt;/a&gt; (jeszcze przed tą decyzją) jak ten dylemat wygląda z naszej strony. Ja mam bardzo mieszane odczucia. Nie do końca rozumiem co Microsoft zdecydował tak naprawde (co dokładne oznacza &amp;#8220;we will offer it separately&amp;#8221;?) i mam poważne wątpliwości, czy wydawanie w 2009 roku systemu operacyjnego bez przeglądarki jest dobre dla użytkowników.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jetpack.mozillalabs.com/&quot;&gt;JestPack&lt;/a&gt; to nowy projekt z Mozilla Labs będący kontynuacją idei projektu FUEL &amp;#8211; budowania łatwych klocków z których można tworzyć rozszerzenia. JetPack pozwala tworzyć rozszerzenia korzystając wyłącznie ze znajomości technologii webowych &amp;#8211; HTML, JS, CSS.&lt;/li&gt;
&lt;li&gt;Projekt &lt;a href=&quot;https://labs.mozilla.com/projects/firefox-personas/&quot;&gt;Personas&lt;/a&gt; &amp;#8211; rozszerzenia pozwalającego na łatwe zmienianie motywów Firefoksa bije rekordy popularności. Nigdy nie sądziłem, że coś może przebić popularność AdBlocka &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/li&gt;
&lt;li&gt;Projekt &lt;a href=&quot;https://labs.mozilla.com/projects/weave/&quot;&gt;Weave&lt;/a&gt; rozwija Mozillowe podejście do &amp;#8220;chmury&amp;#8221; pozwalając synchronizować swoje dane z przeglądarki między komputerami, ale w sposób zaszyfrowany, tak, aby ten kto hostuje serwer Weave nie miał dostepu do Twoich danych. W ostatniej wersji pierwsze eksperymenty z OpenID.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://labs.mozilla.com/projects/bespin/&quot;&gt;Bespin&lt;/a&gt; to z kolei edytor w &amp;#8220;chmurze&amp;#8221; &amp;#8211; dostepny przez stronę WWW edytor kodu, który pozwala pracować nad projektem w grupie ludzi, a swoje projekty mieć dostępne z każdej maszyny bez potrzeby przygotowywania środowiska.&lt;/li&gt;
&lt;li&gt;Kampania &lt;a href=&quot;http://fastestfirefox.com/&quot;&gt;FastestFirefox&lt;/a&gt; zbiera filmiki ludzi robiących to co umieją najszybciej. Chcemy zebrać je razem i stworzyć kompilację ludzkich pasji związanych z szybkością, ciągle pracujących by być jeszcze szybszym &amp;#8211; tak jak społeczność pracująca nad Firefoksem pracuje, by każdy kolejny Firefox był szybszy.&lt;/li&gt;
&lt;li&gt;Wydaliśmy wersję 0.5 i 0.5.1 biblioteki do lokalizacji &lt;a href=&quot;https://wiki.mozilla.org/Silme&quot;&gt;Silme&lt;/a&gt;. Adrian wraz z zespołem oraz Romi pracują teraz nad dwoma projektami korzystającymi z Silme. Projekt Adriana nazywa się &lt;a href=&quot;http://koala.mozdev.org/drupal/blog/&quot;&gt;Koala&lt;/a&gt; i będzie rozszerzeniem do lokalizacji do Komodo, a projekt Romiego to próba połączenia Silme z &lt;a href=&quot;http://narro-project.blogspot.com/&quot;&gt;Narro&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tak więc, dzieje się!&lt;/p&gt;
&lt;p&gt;Staramy się jak najwięcej z tego przenieść do Polski, ale brakuje nam rąk do pracy. Jeśli jesteś zainteresowany/a pomocą, to szukamy na pewno chętnych do pomocy z:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SUMO. &lt;a href=&quot;http://support.mozilla.com/pl/kb/Wsparcie%20dla%20Firefoksa%20-%20Strona%20domowa&quot;&gt;support.mozilla.com&lt;/a&gt; to strona z artykułami do pomocy osobom używającym Firefoksa. GmbH (mwawoczny at aviary dot pl) chętnie przyjmie pomoc &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/li&gt;
&lt;li&gt;Eventy. Chcemy zorganizować kilka spotkań na temat technologii Web w Polsce. Szukamy osób chętnych do organizaci &lt;a href=&quot;https://wiki.mozilla.org/MozCamp&quot;&gt;MozCampów&lt;/a&gt;, lub innej formy spotkań. Dzieje się dużo, jest o czym rozmawiać &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/li&gt;
&lt;li&gt;I jak zawsze, mamy &lt;a href=&quot;http://wiki.aviary.pl/FIFO&quot;&gt;wakaty dla chętnych do tłumaczenia&lt;/a&gt;. Aviary.pl szuka tłumaczy, bo projektów nam się zrobiło co nie miara. Pamiętaj jednak, zanim wyślesz zgłoszenie, tłumaczenia to odpowiedzialna praca. A my chcemy być w tym najlepsi. &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/li&gt;
&lt;li&gt;Z tego co wiem, nikt nie tłumaczy &lt;a href=&quot;http://hacks.mozilla.org/&quot;&gt;hacks.mozilla.org&lt;/a&gt; &amp;#8211; jeśli ktoś jest zainteresowany, to z chęcią pomogę z organizacją tego &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/li&gt;
&lt;/ul&gt;</content:encoded>
	<dc:date>2009-06-12T12:59:53+00:00</dc:date>
</item>
<item rdf:about="http://diary.braniecki.net/?p=938">
	<title>Gandalf: Silme 0.5.1 released</title>
	<link>http://diary.braniecki.net/2009/06/03/silme-051-released/</link>
	<content:encoded>&lt;p&gt;3 weeks after Silme 0.5 release, we&amp;#8217;re proud to announce the first minor update to &lt;a href=&quot;https://wiki.mozilla.org/Silme:0.5.1&quot;&gt;Silme &amp;#8211; 0.5.1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Silme 0.5.1 carries 5 changes, each of them making it a little better. In particular it fixes bugs that were blocking &lt;a href=&quot;http://adrianer.jogger.pl/&quot;&gt;Adrian Kalla&lt;/a&gt;&amp;#8217;s version of compare-locales to get its first release.&lt;/p&gt;
&lt;p&gt;So, what&amp;#8217;s new in &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=494517&quot;&gt;0.5.1&lt;/a&gt;?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New method: silme.diff.EntityList.has_entity() should make testing entities in diff faster&lt;/li&gt;
&lt;li&gt;Two bugs in silme.io.jar that made it impossible to use&lt;/li&gt;
&lt;li&gt;Performance improvements in silme.io.jar.get_package() (can we upload silme script to &lt;a href=&quot;http://www.fastestfirefox.com/&quot;&gt;Fastest Firefox&lt;/a&gt;? &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt; ) by just ignoring to load zip entries for directories&lt;/li&gt;
&lt;li&gt;We don&amp;#8217;t close ZIP file in get_package if we didn&amp;#8217;t open it there. It was a bug that caused silme.io.jar to fail with subpackages&lt;/li&gt;
&lt;li&gt;Major rework of URI schema accepted in silme.io.jar. It is now possible to do:
&lt;pre&gt;ioc = silme.io.Manager.get('jar')
l10npack = ioc.get_package('jar:chrome/package.jar!locale/ab-CD/package')&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is the very first minor release in the history of Silme projects, and we&amp;#8217;re happy to make it!&lt;/p&gt;
&lt;p&gt;You can download it from &lt;a href=&quot;http://hg.mozilla.org/users/zbraniecki_mozilla.com/silme/file/silme-0.5.1&quot;&gt;HG repository&lt;/a&gt; or use &lt;a href=&quot;http://pypi.python.org/pypi/silme/0.5.1&quot;&gt;pypi for silme0.5.1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;d like to thank Adrian who helped by identifying bugs and writing patches for this release. You may also want to check his newest project which uses Silme to create a sleek localization extension for Komodo! It&amp;#8217;s called &lt;a href=&quot;http://koala.mozdev.org/drupal/blog/7216&quot;&gt;Koala&lt;/a&gt; &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Next in line is &lt;a href=&quot;https://wiki.mozilla.org/Silme:0.7&quot;&gt;Silme 0.7&lt;/a&gt; which will bring new features and optimizations and we&amp;#8217;re planning an alpha release to happen early next week. If you&amp;#8217;re interested in hacking localization related code and never tried silme, it may be a good moment to give it a try and help us on the way to 0.7 &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</content:encoded>
	<dc:date>2009-06-03T19:36:27+00:00</dc:date>
</item>
<item rdf:about="http://informationisart.com/stas/?p=280">
	<title>Stanisław Małolepszy: BugXhibit: an interface to Bugzilla’s search results</title>
	<link>http://informationisart.com/stas/bugxhibit-an-interface-to-bugzillas-search-results</link>
	<content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.visophyte.org/blog/2009/05/28/bugxhibit-exhibit-on-bugzilla-results/&quot;&gt;This is awesome&lt;/a&gt;. Andrew Sutherland hacked up a very cool proof-of-concept interface to Bugzilla search results using &lt;a href=&quot;http://www.simile-widgets.org/exhibit/&quot;&gt;MIT&amp;#8217;s SIMILE Exhibit library&lt;/a&gt;. It allows you to query Bugzilla using the Quick Search syntax and displays the results in form of a faceted interface, which in turn lets you slice, order and group the search results easily.&lt;/p&gt;
&lt;p&gt;I immediately liked the idea (in fact, I&amp;#8217;ve been thinking about something like this since I first experimented with Exhibit, but never got around to learn more about the Quick Search syntax and buglist.cgi options) and created a very simple &lt;a href=&quot;http://people.mozilla.com/~stas/verbs/&quot;&gt;search command for Ubiquity&lt;/a&gt; to be able to access Andrew&amp;#8217;s tool quickly and seamlessly.&lt;/p&gt;
&lt;p&gt;I then started to experiment with different queries as I continued to work, so that I can test both the Quick Search and the Exhibit interface on real-life examples. This has been such a great help to me already, and it hasn&amp;#8217;t been even a day since I started using it.&lt;/p&gt;
&lt;p&gt;Up until now, to quickly get a status of a locale or a bug, I&amp;#8217;d simply start typing the bug&amp;#8217;s summary in the awesome bar and then go directly to the bug (if there was only one that I was looking for) or to the dependency tree of the locale&amp;#8217;s release tracker. However, the dependency tree doesn&amp;#8217;t give much information (only summary, number and status), which is not enough when you&amp;#8217;re using keywords (e.g. &amp;#8220;fixed1.9.1&amp;#8243;) in open bugs to indicate that the bug was fixed on branch but not yet on trunk. (&lt;a href=&quot;http://informationisart.com/stas/when-should-we-resolve-l10n-bugs-as-fixed&quot;&gt;I wrote about it before.&lt;/a&gt;) Bugzilla&amp;#8217;s Quick Search is great help in this situation, because it lets me be more precise about which bugs I want to see. However the default buglist.cgi view isn&amp;#8217;t very useful to me in this scenario: it&amp;#8217;s just a flat list of bugs, whereas I&amp;#8217;m interested in grouping bugs by locale, at the very least. Enter BugXhibit, which allows you to slice and dice the search results to your liking.&lt;/p&gt;
&lt;p&gt;One other thing that made this so helpful for me and that &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=486177&quot;&gt;we introduced a couple of weeks ago&lt;/a&gt;, is the &amp;#8220;productization&amp;#8221; keyword in bugzilla.mozilla.org. We use this keyword for all bugs related to productization of Mozilla software, i.e. third-party services that extend its functionality (search engines, protocol and content handler, live bookmarks etc.). This allows me to see all open productization bugs with a query as simple as &amp;#8220;&lt;em&gt;!productization&lt;/em&gt;&amp;#8220;, and Andrew&amp;#8217;s BugXhibit lets me further manipulate this data by selecting bugs for a specific locale only (in &amp;#8220;Components&amp;#8221;), bugs that havn&amp;#8217;t been yet fixed on branch (select only &amp;#8220;productization&amp;#8221;, not &amp;#8220;fixed1.9.1, productization&amp;#8221; in &amp;#8220;Keywords&amp;#8221;) or bugs that only regard protocol handlers (&amp;#8221;protocol&amp;#8221; in &amp;#8220;Text Search&amp;#8221;).&lt;/p&gt;
&lt;p&gt;Since I wanted to tweak the interface a bit, I ended up cloning BugXhibit&amp;#8217;s repository and &lt;a href=&quot;http://hg.mozilla.org/users/smalolepszy_mozilla.com/bugxhibit-st/log/d2c52dac1172&quot;&gt;making some small changes&lt;/a&gt;.  Namely, I set the ordering criteria of the Tile view to &amp;#8220;Component&amp;#8221; first, &amp;#8220;Bug status&amp;#8221; second and &amp;#8220;Keywords&amp;#8221; third. I chose component as the first criterion because in bugzilla.mozilla.org, under the &amp;#8220;Mozilla Localizations&amp;#8221; product, components translate to locales. I&amp;#8217;m pretty sure I could use &lt;code&gt;SimileAjax.parseURLParameters()&lt;/code&gt; to specify the ordering in the URL and somehow tell Exhibit to use it in the Tile view. I just don&amp;#8217;t know yet how to do that :)&lt;/p&gt;
&lt;p&gt;I uploaded the code to the l10n server, go ahead and try it if you wish: &lt;a href=&quot;http://l10n.mozilla.org/~stas/bugxhibit/&quot;&gt;bugXhibit-st&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Yet again Exhibit turned out to be a very interesting project and a great tool for sketching prototypes quickly. It has a great potential for creating dashboard-like interfaces (e.g. we currently use it on the &lt;a href=&quot;http://l10n.mozilla.org/dashboard/&quot;&gt;l10n dashboard&lt;/a&gt;) and I&amp;#8217;d like to experiment with it more in the near future, while working on the new l10n dashboard that&amp;#8217;s being developed.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m sure I&amp;#8217;ll continue using BugXhibit, especially through the Ubiquity command. Thanks a million, Andrew!&lt;/p&gt;</content:encoded>
	<dc:date>2009-05-29T07:04:48+00:00</dc:date>
</item>
<item rdf:about="http://hubertgajewski.com/?p=350">
	<title>Hubert Gajewski: Od zera do bohatera, czyli droga Firefoksa do zwycięstwa</title>
	<link>http://hubertgajewski.com/2009/05/27/od-zera-do-bohatera-czyli-droga-firefoksa-do-zwyciestwa/</link>
	<content:encoded>&lt;p&gt;Na początku kwietnia, gdy Firefox pokonał Internet Explorera na rynku przeglądarek internetowych w Polsce, &lt;a title=&quot;Firefox najpopularniejszą przeglądarką w Polsce&quot; href=&quot;http://hubertgajewski.com/2009/04/02/firefox-najpopularniejsza-przegladarka-w-polsce/&quot;&gt;obiecałem napisać&lt;/a&gt;, jak do tego dochodziliśmy. Miałem to zrobić w ciągu kilku dni, ale czas ten trochę się wydłużył &lt;img src=&quot;http://hubertgajewski.com/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; Napiszę jak to wyglądało z mojej perspektywy, trochę z perspektywy Aviary.pl.&lt;/p&gt;
&lt;p&gt;Firefoksa (wtedy Firebirda) używam mniej więcej od października 2003 roku. Byłem wtedy jednym z tych 5000 wariatów, którzy w Polsce używali tej lekkiej przeglądarki o ascetycznym interfejsie. Firebird miał wtedy &lt;a title=&quot;Biuletyn Ranking.pl z 23 października 2003&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2003-10-23/#przegladarki&quot;&gt;0,1% udziału w polskim rynku przeglądarek&lt;/a&gt;. Trzy najpopularniejsze programy do przeglądania Internetu to wtedy: Internet Explorer 6, Internet Explorer 5 i Internet Explorer 4. Razem: &lt;strong&gt;95,5%&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-351&quot; title=&quot;MSIE 6.x - 59.1%, MSIE 5.x - 34.5%, MSIE 4.x - 1.8%, Opera 7.x - 1.6%, Mozilla 1.x - 1.2%. Źródło: Ranking.pl, 23.10.2003&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/04/rankingpl-2003-10-23.png&quot; alt=&quot;MSIE 6.x - 59.1%, MSIE 5.x - 34.5%, MSIE 4.x - 1.8%, Opera 7.x - 1.6%, Mozilla 1.x - 1.2%&quot; width=&quot;366&quot; height=&quot;151&quot; /&gt;&lt;/p&gt;
&lt;p&gt;W lutym 2004 roku ukazuje się wersja 0.8, &lt;a title=&quot;O zmianie nazwy w Biuletynie Ranking.pl&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2004-02-12/&quot;&gt;już pod nazwą Firefox&lt;/a&gt;. Udział w rynku? &lt;a title=&quot;Biuletyn Ranking.pl z 12 lutego 2004&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2004-02-12/#przegladarki&quot;&gt;0,3%&lt;/a&gt;. Internet Explorer: 94,7%.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-362&quot; title=&quot;MSIE 6.x - 66.1%, MSIE 5.x - 27.1%, Opera 7.x - 2.4%, Mozilla 1.x - 1.4%, MSIE 4.x - 1.2%. Źródło: Ranking.pl, 12.02.2004&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/04/rankingpl-2004-02-12.png&quot; alt=&quot;MSIE 6.x - 66.1%, MSIE 5.x - 27.1%, Opera 7.x - 2.4%, Mozilla 1.x - 1.4%, MSIE 4.x - 1.2%. Źródło: Ranking.pl, 12.02.2004&quot; width=&quot;366&quot; height=&quot;151&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Mijają cztery miesiące - mamy Firefoksa 0.9. Użytkowników przybywa - &lt;a title=&quot;Biuletyn Ranking.pl z 17 czerwca 2004&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2004-06-17/#przegladarki&quot;&gt;0,8%&lt;/a&gt;. Przeglądarka Microsoftu: 93,6%.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-363&quot; title=&quot;MSIE 6.x - 71.7%, MSIE 5.x - 20.6%, Opera 7.x - 3.1%, Mozilla 1.x - 1.6%, Firefox 0.x - 0.8%. Źródło: Ranking.pl, 17.06.2004&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/04/rankingpl-2004-06-17.png&quot; alt=&quot;MSIE 6.x - 71.7%, MSIE 5.x - 20.6%, Opera 7.x - 3.1%, Mozilla 1.x - 1.6%, Firefox 0.x - 0.8%. Źródło: Ranking.pl, 17.06.2004&quot; width=&quot;366&quot; height=&quot;151&quot; /&gt;&lt;/p&gt;
&lt;p&gt;27 września 2004 grupa w składzie:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zbigniew Braniecki&lt;/li&gt;
&lt;li&gt;Marek Stępień&lt;/li&gt;
&lt;li&gt;Piotr Komoda&lt;/li&gt;
&lt;li&gt;Piotr Pielach&lt;/li&gt;
&lt;li&gt;Wadim Dziedzic&lt;/li&gt;
&lt;li&gt;Stanisław Małolepszy&lt;/li&gt;
&lt;li&gt;Irek Chmielowiec&lt;/li&gt;
&lt;li&gt;Paweł Chmielowski&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a title=&quot;Ogłoszenie Gandalfa na forum MozillaPL.org&quot; href=&quot;http://mozillapl.org/forum/post-50965.html#50965&quot;&gt;zostaje zatwierdzona przez Mozilla Foundation&lt;/a&gt; jako oficjalny zespół lokalizacyjny.  Zespół przyjmuje nazwę &lt;em&gt;AviaryPL&lt;/em&gt;, zmienioną w późniejszym okresie na &lt;em&gt;Aviary.pl&lt;/em&gt;. W tym samym miesiącu ukazuje się &lt;em&gt;Greenlane&lt;/em&gt; - czyli Firefox Preview Release. Ma &lt;a title=&quot;Biuletyn Ranking.pl z 16 września 2004&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2004-09-16/#przegladarki&quot;&gt;1,5% rynku&lt;/a&gt;, &lt;span title=&quot;Microsoft Internet Explorer&quot;&gt;MSIE&lt;/span&gt; ma 91,7%.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-364&quot; title=&quot;MSIE 6.x - 74.1%, MSIE 5.x - 16.7%, Opera 7.x - 4.0%, Mozilla 1.x - 1.9%, Firefox 0.x - 1.5%. Źródło: Ranking.pl, 16.09.2004&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/04/rankingpl-2004-09-16.png&quot; alt=&quot;MSIE 6.x - 74.1%, MSIE 5.x - 16.7%, Opera 7.x - 4.0%, Mozilla 1.x - 1.9%, Firefox 0.x - 1.5%. Źródło: Ranking.pl, 16.09.2004&quot; width=&quot;367&quot; height=&quot;151&quot; /&gt;&lt;/p&gt;
&lt;p&gt;W październiku kończę &lt;a title=&quot;Wyższa Szkoła Biznesu - National-Louis University&quot; href=&quot;http://www.wsb-nlu.edu.pl/&quot;&gt;studia&lt;/a&gt;, mam więcej wolnego czasu. Zbliża się data wydania finalnej wersji Firefoksa i chciałbym, by aplikacja, której używam na co dzień, nie miała widocznych błędów językowych. Jeszcze tego samego miesiąca zabieram się za testy polskiej wersji. Wykonuję wtedy pierwsze zadania dla Aviary.pl.&lt;/p&gt;
&lt;p&gt;9 listopada 2004 ukazuje się pierwsze stabilne wydanie przeglądarki internetowej Mozilla Firefox. W chwili wydania Firefoksa &lt;a title=&quot;Biuletyn Ranking.pl z 11 listopada 2004&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2004-11-11/#przegladarki&quot;&gt;używa go 2,4% ludzi w Polsce&lt;/a&gt;. MSIE ma 90,7% rynku. Od tej chwili liczba użytkowników zaczyna gwałtownie rosnąć.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-365&quot; title=&quot;MSIE 6.x - 75.0%, MSIE 5.x - 14.8%, Opera 7.x - 4.1%, Mozilla 1.x - 2.0%, Firefox 1.x - 1.3%. Źródło: Ranking.pl, 11.11.2004&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/04/rankingpl-2004-11-11.png&quot; alt=&quot;MSIE 6.x - 75.0%, MSIE 5.x - 14.8%, Opera 7.x - 4.1%, Mozilla 1.x - 2.0%, Firefox 1.x - 1.3%. Źródło: Ranking.pl, 11.11.2004&quot; width=&quot;366&quot; height=&quot;151&quot; /&gt;&lt;/p&gt;
&lt;p&gt;16 grudnia 2004 ukazuje się dwustronicowa reklama Firefoksa w New York Times, wykupiona za pieniądze 50000 wolontariuszy, w tym moje 10$ &lt;img src=&quot;http://hubertgajewski.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;a title=&quot;Biuletyn Ranking.pl z 16 grudnia 2004&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2004-12-16/#przegladarki&quot;&gt;Firefox: 3,8%, IE: 89,4%&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-366&quot; title=&quot;MSIE 6.x - 75.2%, MSIE 5.x - 13.4%, Opera 7.x - 4.3%, Firefox 1.x - 3.0%, Mozilla 1.x - 1.9%. Źródło: Ranking.pl, 16.12.2004&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/04/rankingpl-2004-12-16.png&quot; alt=&quot;MSIE 6.x - 75.2%, MSIE 5.x - 13.4%, Opera 7.x - 4.3%, Firefox 1.x - 3.0%, Mozilla 1.x - 1.9%. Źródło: Ranking.pl, 16.12.2004&quot; width=&quot;367&quot; height=&quot;151&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Rok i parę tygodni po wydaniu Firefoksa 1.0 - ukazuje się jego następca - 1.5. Posiada system automatycznej aktualizacji, dzięki któremu Firefox jest najszybciej aktualizowaną (do nowej wersji) przeglądarką na rynku. &lt;a title=&quot;Biuletyn Ranking.pl z 1 grudnia 2005&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2005-12-01/#przegladarki&quot;&gt;Firefox: 15%, IE: 76,6%&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-367&quot; title=&quot;MSIE 6.x - 70.9%, Firefox 1.x - 14.8%, MSIE 5.x - 5.4%, Opera 8.x - 5.0%, Mozilla 1.x - 1.3%. Źródło: Ranking.pl, 1.12.2005&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/04/rankingpl-2005-12-01.png&quot; alt=&quot;MSIE 6.x - 70.9%, Firefox 1.x - 14.8%, MSIE 5.x - 5.4%, Opera 8.x - 5.0%, Mozilla 1.x - 1.3%. Źródło: Ranking.pl, 1.12.2005&quot; width=&quot;366&quot; height=&quot;151&quot; /&gt;&lt;/p&gt;
&lt;p&gt;W lutym 2006 porzucam zawód agenta ubezpieczeniowego i zaczynam robić zawodowo to, co do tej pory robiłem po godzinach. Rozpoczynam pracę jako tester (i tak jest do dziś). Cztery miesiące później dołączam do Aviary.pl, by już oficjalnie zajmować się tym, co robiłem od dawna - &lt;span title=&quot;Quality Assurance&quot;&gt;QA&lt;/span&gt; polskiego Firefoksa.&lt;/p&gt;
&lt;p&gt;Niespełna rok po wydaniu wersji 1.5, ukazuje się Firefox 2. Z tej okazji 27 października 2007 w Warszawie odbywa się Firefox Party.  Statystyki: &lt;a title=&quot;Biuletyn Ranking.pl z 26 października 2006&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2006-10-26/#_link2&quot;&gt;Fx - 23,5%, IE: 68,2%&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-368&quot; title=&quot;MSIE 6.x - 65.1%, Firefox 1.x - 22.5%, Opera 9.x - 4.3%, MSIE 5.x - 2.5%, Opera 8.x - 2.0%. Źródło: Ranking.pl, 26.10.2006&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/04/rankingpl-2006-10-26.png&quot; alt=&quot;MSIE 6.x - 65.1%, Firefox 1.x - 22.5%, Opera 9.x - 4.3%, MSIE 5.x - 2.5%, Opera 8.x - 2.0%. Źródło: Ranking.pl, 26.10.2006&quot; width=&quot;367&quot; height=&quot;151&quot; /&gt;&lt;/p&gt;
&lt;p&gt;W kwietniu 2008 roku po raz pierwszy od czasu, gdy &lt;a href=&quot;http://www.gemius.pl&quot;&gt;Gemius&lt;/a&gt; publikuje statystyki przeglądarek - na pierwszy miejscu nie ma przeglądarki Microsoftu! Firefox 2 ma 34,7%, a IE 6 o 0,1% mniej. Wszystkie wersje: &lt;a title=&quot;Biuletyn Ranking.pl z 24 kwietnia 2008&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2008-04-24/#_link22&quot;&gt;IE - 69%, &lt;/a&gt;&lt;a title=&quot;Biuletyn Ranking.pl z 24 kwietnia 2008&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2008-04-24/#_link22&quot;&gt;Fx - 29,6%&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-369&quot; title=&quot;Firefox 2.x - 34.7%, MSIE 6.x - 34.6%, MSIE 7.x - 21.5%, Opera 9.x - 5.9%, Firefox 1.x - 1.5%. Źródło: Ranking.pl, 24.04.2008&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/04/rankingpl-2008-04-24.png&quot; alt=&quot;Firefox 2.x - 34.7%, MSIE 6.x - 34.6%, MSIE 7.x - 21.5%, Opera 9.x - 5.9%, Firefox 1.x - 1.5%. Źródło: Ranking.pl, 24.04.2008&quot; width=&quot;500&quot; height=&quot;114&quot; /&gt;&lt;/p&gt;
&lt;p&gt;17 czerwca 2008 ukazuje się Firefox 3. &lt;a title=&quot;Biuletyn Ranking.pl z 19 czerwca 2008&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2008-06-19/#_link22&quot;&gt;IE - 54,4%, Fx - 38,5%&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-372&quot; title=&quot;Firefox 2.x - 35.8%, MSIE 6.x - 32.0%, MSIE 7.x - 22.2%, Opera 9.x - 6.2%, Firefox 1.x - 1.4%. Źródło: Ranking.pl, 19.06.2008&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/04/rankingpl-2008-06-19.png&quot; alt=&quot;Firefox 2.x - 35.8%, MSIE 6.x - 32.0%, MSIE 7.x - 22.2%, Opera 9.x - 6.2%, Firefox 1.x - 1.4%. Źródło: Ranking.pl, 19.06.2008&quot; width=&quot;500&quot; height=&quot;114&quot; /&gt;&lt;/p&gt;
&lt;p&gt;2 kwietnia 2009 ukazuje się Biuletyn Ranking.pl z przełomowymi wynikami - po raz pierwszy od kiedy jest publikowany - najpopularniejszą przeglądarką w Polsce nie jest Internet Explorer! &lt;a title=&quot;Biuletyn Ranking.pl z 2 kwietnia 2009&quot; href=&quot;http://www.ranking.pl/Newsletter/pl/2009-04-02/#_link22&quot;&gt;Firefox ma 45,3%, IE - 45,0%&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-374&quot; title=&quot;Firefox 3.x - 39.6%, MSIE 7.x - 23.0%, MSIE 6.x - 21.6%, Opera 9.x - 7.8%, Firefox 2.x - 4.9%. Źródło: Ranking.pl, 2.04.2009&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/04/rankingpl-2009-04-02.png&quot; alt=&quot;Firefox 3.x - 39.6%, MSIE 7.x - 23.0%, MSIE 6.x - 21.6%, Opera 9.x - 7.8%, Firefox 2.x - 4.9%. Źródło: Ranking.pl, 2.04.2009&quot; width=&quot;500&quot; height=&quot;114&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Aviary.pl liczy 23 osoby, w tym 4 z pierwotnego składu zespołu.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-380&quot; title=&quot;Wzór, który posłużył do wykonania tortu, którego zjedliśmy podczas kwietniowego spotkania Aviary.pl w Krakowie&quot; src=&quot;http://hubertgajewski.com/wp-content/uploads/2009/05/yes-we-did.png&quot; alt=&quot;Wzór, który posłużył do wykonania tortu, którego zjedliśmy podczas kwietniowego spotkania Aviary.pl w Krakowie&quot; width=&quot;500&quot; height=&quot;477&quot; /&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2009-05-27T18:17:40+00:00</dc:date>
</item>
<item rdf:about="http://diary.braniecki.net/?p=930">
	<title>Gandalf: Slides from eLiberatica 09 talk</title>
	<link>http://diary.braniecki.net/2009/05/23/slides-from-eliberatica-09-talk/</link>
	<content:encoded>&lt;p&gt;Today I had a pleasure to give a talk at &lt;a href=&quot;http://www.eliberatica.ro/2009/index&quot;&gt;eLiberatica 09&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It was one of the most complex and most challenging talks I ever had to give. It was about the Mozilla. It was about who we are, and how we try to describe ourselves. About how we think of ourselves and the challenges we face.&lt;/p&gt;
&lt;p&gt;The rationale for doing such talk is to do what we have to &amp;#8211; to over-communicate. To manifest ourselves and explain ourselves to people who care about the web. To rephrase some questions that people pose &amp;#8211; about the goals, about how to measure a success, about how to make sure we stay meaningful while staying true to our mission.&lt;/p&gt;
&lt;p&gt;Explaining Mozilla and explaining the kind of semantic space in which we brainstorm these days is an extremely complex goal. It&amp;#8217;s harder than speaking about new experiments and features that we work on. It&amp;#8217;s even slightly against what people want to hear about. But I believe it&amp;#8217;s vitally important. We have to express ourselves and explain ourselves and I decided to give it a try at eLiberatica.&lt;/p&gt;
&lt;p&gt;Bonus points goes for the fact that I wasn&amp;#8217;t speaking in my native language, and also the audience listen to such a complex talk in a foreign language.&lt;/p&gt;
&lt;p&gt;Despite all of that, I believe it went well. I feel thankful that people bared with me through all those topics, and I hope the deck may be useful for other speakers willing to mix and mesh it &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;I definitely recommend &lt;a href=&quot;https://library.mozilla.org/@api/deki/files/102/=eliberatica09-final.zip&quot;&gt;a keynote version&lt;/a&gt; for the best experience, but &lt;a href=&quot;https://library.mozilla.org/index.php?title=Mozilla_Project_-_Poetry_%26_Pragmatics&quot;&gt;pdf dump provided&lt;/a&gt; for those who don&amp;#8217;t use keynote:&lt;/p&gt;
&lt;div id=&quot;__ss_1477038&quot;&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Entry at &lt;a href=&quot;https://library.mozilla.org/index.php?title=Mozilla_Project_-_Poetry_%26_Pragmatics&quot;&gt;library.mozilla.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded>
	<dc:date>2009-05-23T00:02:10+00:00</dc:date>
</item>
<item rdf:about="http://informationisart.com/stas/?p=273">
	<title>Stanisław Małolepszy: When should we resolve l10n bugs as fixed?</title>
	<link>http://informationisart.com/stas/when-should-we-resolve-l10n-bugs-as-fixed</link>
	<content:encoded>&lt;p&gt;Here is something that got me thinking recently: should we use the same workflow with regards to marking bugs as fixed for l10n bugs that we use for development bugs? Let me try to explain.&lt;/p&gt;
&lt;p&gt;For development, the process takes place simultaneously on several branches. For example right now, we work on trunk (mozilla-central, Firefox.next), 1.9.1 (releases/mozilla-1.9.1, Firfox 3.5) and 1.9.0 (CVS trunk, Firefox 3.0.x). When a bug receives a patch, it first lands on trunk, and the bug is marked as fixed. Then it lands on branch(es), after getting needed approvals, and the bug is given the fixed-* keywords, for instance, fixed1.9.1.&lt;/p&gt;
&lt;p&gt;I have a feeling that this workflow doesn&amp;#8217;t fit well into the localization process. The localization efforts often focus on only one branch. In the current case, that&amp;#8217;s 1.9.1. Some localizers like to keep their 1.9.1 and central repos in sync, and that&amp;#8217;s great, but we don&amp;#8217;t require them too. If they prefer working on 1.9.1 only, that&amp;#8217;s perfectly fine. After all, strings on trunk have higher probability of changing, so it&amp;#8217;s understandable that someone prefers to wait until they stabilize. I.e. until they land on a more stable branch.&lt;/p&gt;
&lt;p&gt;So translations land first on 1.9.1, and for many localization, they will only be pushed to central after the 3.5 release, at which point central will no longer be central, but will be given its own branch. The process will start over: the localization efforts will focus on this branch, because this is where the next major release of Firefox will come from.&lt;/p&gt;
&lt;p&gt;As you can see, for localization the workflow is reverse: we first translate on the more stable branch, and then port over to the dev branch (trunk). And this is what made me start thinking whether we should change the rules of marking the bus as fixed.&lt;/p&gt;
&lt;p&gt;Why is this a problem? Let&amp;#8217;s take Assamese as an example (just because it illustrates my point quite well and I&amp;#8217;ve been working on it recently). &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=443139&quot;&gt;Bug 443139&lt;/a&gt; is the Firefox 3.5 release tracker for Assamese and it&amp;#8217;s blocked by a couple of bugs that will need to be resolved before we can release Assamese version of Firefox. In fact, most of them have been already resolved, so we&amp;#8217;re really close to releasing Assamese. Congrats to the Assamese team :)&lt;/p&gt;
&lt;p&gt;If you look for example on the &amp;#8220;Firefox 3 RSS reader setup for Assamese&amp;#8221; bug (&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=443145&quot;&gt;bug 443145&lt;/a&gt;), you&amp;#8217;ll notice that it was marked as fixed and has a fixed1.9.1 keyword. That&amp;#8217;s because it was fixed on both trunk and branch. So the bug&amp;#8217;s status is now &amp;#8220;resolved fixed&amp;#8221; (thanks to the landing on trunk), and it doesn&amp;#8217;t block the release tracker anymore.&lt;/p&gt;
&lt;p&gt;But now take a look at the &amp;#8220;Search engine setup for Firefox 3 for Assamese&amp;#8221; bug (&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=443142#c9&quot;&gt;bug 443142&lt;/a&gt;). The fix landed on 1.9.1 only, so the bug has the fixed1.9.1 keyword, sure. But since it hasn&amp;#8217;t been yet fixed on central (for Firefox.next, mind you), the bug&amp;#8217;s status is &amp;#8220;new&amp;#8221;, and it is still blocking the 3.5 release tracker. Why the lack of landing on central should block a 3.5 release?&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s a problem for me, because it makes using and following the tracker bugs harder. Of course the right question to ask here is &amp;#8220;if we mark this bug as resolved fixed right now, how do we make sure that the fix lands for Firefox.next, too?&amp;#8221;. I don&amp;#8217;t have a good answer to this yet. But even in the current workflow, if the fix lands for Firefox.next after mozilla-central gets branched again, will we mark the bug as fixed, or maybe just add a fixed1.9.2 keyword? (or a different one, depending on what the name of the branch will be).&lt;/p&gt;
&lt;p&gt;I don&amp;#8217;t have any concrete proposals right now to address the problems described above. I feel that we should just resolve bugs as fixed when the fix lands on current next-major-release branch (1.9.1 these days). We should still use keywords to make it easier when looking back at fixed bugs to figure out on which branches they were fixed. Lastly, next time we branch from trunk, we should somehow make sure all the fixes are included. I&amp;#8217;m not yet sure how, though.&lt;/p&gt;
&lt;p&gt;What do you think? I wanted to share my thoughts on this out in the public. I&amp;#8217;d be grateful for your comments!&lt;/p&gt;</content:encoded>
	<dc:date>2009-05-16T00:13:07+00:00</dc:date>
</item>
<item rdf:about="http://diary.braniecki.net/?p=926">
	<title>Gandalf: Silme 0.5 now at easy_install</title>
	<link>http://diary.braniecki.net/2009/05/14/silme-05-now-at-easy_install/</link>
	<content:encoded>&lt;p&gt;&lt;a href=&quot;http://adrianer.jogger.pl/&quot;&gt;Adrian Kalla&lt;/a&gt; added Silme 0.5 to pypi repository so that you can download it and build dependencies in the python style.&lt;/p&gt;
&lt;p&gt;It can&amp;#8217;t get any simpler than:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;easy_install silme&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Also, if you missed it (I know you did), here comes &lt;a href=&quot;http://people.mozilla.org/~zbraniecki/silme/docs/&quot;&gt;the very first documentation&lt;/a&gt;. It comes out of doxygen (which is probably the best of the worst choices for python docs) but it works and it&amp;#8217;s there for your convenience. &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;If you happen to be a master of doxygen and you know how to make it work better, contact me pls!&lt;/p&gt;</content:encoded>
	<dc:date>2009-05-14T21:39:24+00:00</dc:date>
</item>
<item rdf:about="http://diary.braniecki.net/?p=894">
	<title>Gandalf: MCT: Style guide</title>
	<link>http://diary.braniecki.net/2009/05/12/mct-style-guide/</link>
	<content:encoded>&lt;p&gt;It&amp;#8217;s been a while since the last update on MCS but things were moving on and it&amp;#8217;s time to catch up with the progress in the project.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/picture-1.png&quot;&gt;&lt;img class=&quot;alignright size-medium wp-image-912&quot; title=&quot;picture-1&quot; src=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/picture-1-300x193.png&quot; alt=&quot;picture-1&quot; width=&quot;300&quot; height=&quot;193&quot; /&gt;&lt;/a&gt;Description&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Today, I&amp;#8217;d like to introduce you to a new Mozilla Community Theme style guide. &lt;a href=&quot;https://wiki.mozilla.org/MCS:Theme&quot;&gt;MCT Style Guide&lt;/a&gt; is a document that explains the design decisions made by the theme authors that allows people who use the theme to extend it following the original concepts and keeping their new elements in sync with original one.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rationale&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Mozilla Community Theme was created to give us a fresh theme that can make it easier for communities to set up a professionally looking website without having to look for a designer or crafting something on their own. Three months after the release, MCS is becoming a popular option among o&lt;a href=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/picture-2.png&quot;&gt;&lt;img class=&quot;alignleft size-medium wp-image-913&quot; title=&quot;picture-2&quot; src=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/picture-2-300x192.png&quot; alt=&quot;picture-2&quot; width=&quot;300&quot; height=&quot;192&quot; /&gt;&lt;/a&gt;ur communities when they&amp;#8217;re making their choices with regard to the website. We like to think that the reason is because we offered maximum freedom and flexibility with this set, letting people do what they want, while providing high quality of the design itself.&lt;/p&gt;
&lt;p&gt;One element that we did not cover very well until today, was how to extend the theme. How to move forward. Not only modify what we gave you, but also add new elements, theme new websites, or T-shirts, or posters&amp;#8230; That&amp;#8217;s where the Style Guide hits. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Style Guide&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Style Guide is a short book that presents the concept choices together with list of modification options that, in the theme author&amp;#8217;s opinion, will match the theme and let you keep the unified look and feel no matter where you&amp;#8217;ll go.&lt;a href=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/picture-3.png&quot;&gt;&lt;img class=&quot;size-medium wp-image-914 alignright&quot; title=&quot;picture-3&quot; src=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/picture-3-300x193.png&quot; alt=&quot;picture-3&quot; width=&quot;300&quot; height=&quot;193&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What&amp;#8217;s exciting about it, is that it opens communities to a new level where they have all the tools and resources that usually professional web agencies have and they can develop their skills and get accustomed to the new concepts. While working on our hobbies, we&amp;#8217;re getting real experience that translates directly into our portfolio.&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/picture-5.png&quot;&gt;&lt;img class=&quot;alignleft size-medium  wp-image-918&quot; title=&quot;picture-5&quot; src=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/picture-5-300x194.png&quot; alt=&quot;picture-5&quot; width=&quot;300&quot; height=&quot;194&quot; /&gt;&lt;/a&gt;This Style Guide lets you dig into:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;color palettes&lt;/li&gt;
&lt;li&gt;typography decisions&lt;/li&gt;
&lt;li&gt;layout and grid models&lt;/li&gt;
&lt;li&gt;branding options&lt;/li&gt;
&lt;li&gt;methods of preserving space and light between text blocks that influences readability of the text&lt;/li&gt;
&lt;li&gt;texture options that influence how the website looks&lt;/li&gt;
&lt;li&gt;and others&amp;#8230;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/picture-4.png&quot;&gt;&lt;img class=&quot;size-medium wp-image-915 alignright&quot; title=&quot;picture-4&quot; src=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/picture-4-300x193.png&quot; alt=&quot;picture-4&quot; width=&quot;300&quot; height=&quot;193&quot; /&gt;&lt;/a&gt;We hand this to you, so that you can experiment and develop the theme further or just customize it to your needs. What&amp;#8217;s really important and exciting is that as all other parts of this project, the style guide is open! You can download &lt;a href=&quot;http://www.adobe.com/products/indesign/&quot;&gt;Indesign&lt;/a&gt; document or editable PDF document and hack the Style Guide itself.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
I&amp;#8217;d also like to use this moment to thank &lt;a href=&quot;http://musingt.com&quot;&gt;Tara Shahian&lt;/a&gt; and &lt;a href=&quot;http://blog.mozilla.com/seth/&quot;&gt;Seth Bindernagel&lt;/a&gt; who have worked together with the theme authors on this 1.0 release of the guide. &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;So, &lt;a href=&quot;http://hg.mozilla.org/webtools/mcs/file/tip/theme/style%20guide/&quot;&gt;grab it here&lt;/a&gt; and&amp;#8230; we&amp;#8217;re accepting patches &lt;img src=&quot;http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</content:encoded>
	<dc:date>2009-05-12T20:27:07+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8038766.post-5942541829697272383">
	<title>hADeSik: Co red. Macieja Gajewska z CHIPy wymyśliła i jak się popisała</title>
	<link>http://www.hadesik.waw.pl/2009/05/co-red-macieja-gajewska-z-chipy.html</link>
	<content:encoded>Wszedłem sobie dzisiaj na planetę i w skrótach webwatch zauważyłem wiadomość o intrygującym tytule &quot;Opera i Mozilla oczerniają Microsoft&quot;.&lt;br /&gt;Po &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.chip.pl/news/internet-i-sieci/przegladarki-internetowe/2009/05/opera-i-mozilla-oczerniaja-microsoft&quot;&gt;kliknięciu odnośnika&lt;/a&gt; trafiłem na stronę - no właśnie, jak by tu odmienić - CHIPy, gdzie pani Macieja Gajewska wysmoliła:&lt;br /&gt;&lt;q&gt;Przeglądając dziś media internetowe z dość dużym zdziwieniem przeczytaliśmy cytowane na rzetelnych portalach wypowiedzi Mitchella Bakera z Fundacji Mozilla, jak i Hakowa Wium Lie z Opery, którzy ponownie oskarżają Microsoft o stosowanie nieuczciwych praktyk względem konkurencji.&lt;br /&gt;&lt;br /&gt;Jak twierdzą obaj szefowie, przeglądarka Internet Explorer po aktualizacji do ósmej wersji bez pytania się użytkownika o zgodę ustawia się jako domyślna aplikacja do Internetu.&lt;/q&gt;&lt;br /&gt;&lt;br /&gt;W tym momencie zapomniałem, że miałem się zająć owym oczernianiem, ale z ciekawością zacząłem szukać na rzetelnych i nierzetelnych portalach informacji, kiedy to Mitchell Baker zmieniła płeć - niestety nie znalazłem.&lt;br /&gt;W związku z tym mam informację dla dziennikarzy - zapamiętajcie sobie, że Winifred Mitchell Baker (lepiej znana jako Mitchell Baker) jest kobietą.&lt;br /&gt;Może poszukajcie zdjęć, i przyjrzyjcie się fryzurze Pani Mitchell - jeśli nie jesteście w stanie zapamiętać powiązania nazwiska z płcią, to może fryzura wam to ułatwi (słyszałem, że połączenie informacji z obrazami potrafi zdziałać cuda - i od razu mała podpowiedź dla mniej spostrzegawczych, że należy oglądać fryzurę z obu stron głowy, bo jeden profil jest mniej charakterystyczny od połączenia obu).&lt;br /&gt;&lt;br /&gt;Natomiast co do informacji o krytyce IE, to niestety pani red. chipy nie podała źródła ani adresów portali, z których korzysta, ale np. na &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.idg.pl/news/344926/Mozilla.i.Opera.krytykuja.automatyczne.aktualizacje.Internet.Explorera.8.html&quot;&gt;IDG&lt;/a&gt; znalazłem nieco inną informację, a mianowicie:&lt;br /&gt;&lt;q&gt;Gdy użytkownik uzyskuje dostęp do upgrade'u i korzysta zeń wybierając opcję &quot;ekspresowych ustawień&quot;, IE 8 staje się domyślną przeglądarką internetową.&lt;/q&gt;&lt;br /&gt;Takie zachowanie potwierdza również pani red. z chipy, czyli jednak to nie żadne oczernianie, ale jak jest okazja to czemu się nie popisać swoją wiedzą i elokwencją...&lt;br /&gt;&lt;br /&gt;Zrzut ekranu z artykułu, bo może ktoś go jednak poprawi:&lt;br /&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;http://picasaweb.google.com/lh/photo/dWQHQq47Ikl7lGSpylMzmg?feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh5.ggpht.com/_gWlJtqIeplY/Sgmnm4Rg7SI/AAAAAAAAAJA/AVkupDl9low/s144/mitchell_zmienila_plec.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PS: Dla leniwych &lt;a href=&quot;http://en.wikipedia.org/wiki/Mitchell_Baker&quot;&gt;Mitchell Baker&lt;/a&gt;, więcej zdjęć znajdziecie na stronach, do których odnośniki są w artykule na wiki oraz w wyszukiwarce.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/8038766-5942541829697272383?l=www.hadesik.waw.pl&quot; /&gt;&lt;/div&gt;</content:encoded>
	<dc:date>2009-05-12T19:56:09+00:00</dc:date>
</item>
<item rdf:about="http://diary.braniecki.net/?p=897">
	<title>Gandalf: Silme 0.5 released</title>
	<link>http://diary.braniecki.net/2009/05/12/silme-05-released/</link>
	<content:encoded>&lt;p&gt;&lt;a href=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/silme.png&quot;&gt;&lt;img class=&quot;alignleft size-medium wp-image-899&quot; title=&quot;silme logo&quot; src=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/silme-190x300.png&quot; alt=&quot;silme logo&quot; width=&quot;190&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;Projects need releases. It&amp;#8217;s important. It&amp;#8217;s like a birthday for a project &amp;#8211; they get a milestone to mark the progress.&lt;br /&gt;
On the other hand we have developers. They need unlimited time and no deadlines. When one meet another, we have an interesting arm-wrestling battle between those two, but ultimately one has to obey to the &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar&quot;&gt;Oath of the Bazaar&lt;/a&gt;, if you know what I mean.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Release&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So, here we are, Silme was asking for a release for long enough and I postponed it over and over so it&amp;#8217;s time to make the cut. Today, I&amp;#8217;m proud to announce the very first official release of &lt;a href=&quot;https://wiki.mozilla.org/Silme&quot;&gt;Silme&lt;/a&gt; &amp;#8211; python l10n library. Silme has been &lt;a href=&quot;http://groups.google.com/group/mozilla.dev.l10n/browse_thread/thread/3e0b0ee9a3e03b35&quot;&gt;announced to mozilla.dev.l10n&lt;/a&gt; long time ago, and since then it has been continuously developed in a small, but quite interesting project structure with support from Adrian Kalla, Stefan Plewako, Ricardo Palomares, Staś Małolepszy and management guidance from Seth Bindernagel.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s very, very hard to explain Silme concept to those who never tried to work on localization development.&lt;/p&gt;
&lt;p&gt;Let me try: &lt;em&gt;It&amp;#8217;s like a &lt;a href=&quot;http://en.wikipedia.org/wiki/Document_Object_Model&quot;&gt;DOM API&lt;/a&gt; for localization&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Works? Probably not&amp;#8230; Well. Let me try the descriptive way. Silme is a toolset for a developer who wants to work on localization tools. It can read localization files, it can write them, it can modify them, it can search through them, it can process them, merge, split, localize and help you get some statistics out of the localization files. It probably can juggle them, although support for this is rather experimental.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Standing on the shoulders&amp;#8230;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Silme is definitely not the first library of that kind and has been created basing on lessons from &lt;a href=&quot;http://translate.sourceforge.net/wiki/toolkit/index&quot;&gt;TranslationToolkit&lt;/a&gt; masters, who for years lead the development of most widely used l10n dev library in the world. TT is not the only one. In fact, &lt;em&gt;anyone&lt;/em&gt; who created a tool related to localization had to create a library for it but it was probably limited to on-demand needs, and was treated without enough love and respect from its masters.&lt;/p&gt;
&lt;p&gt;The reason is that number of people working on localization tools is&amp;#8230; let&amp;#8217;s put it that way. The number could not qualify for the big number competition. Even for a descend number in fact. And those who do work on the tools, are really extremely focused on getting the output here and now, and everything that has to happen on the way from PO or DTD file to the moment when you can see a window with a textbox asking you to translate the string is less important than the actual UI and workflow. Thanks to this approach we at least have some tools that we can offer to localizers and make their life happier.&lt;/p&gt;
&lt;p&gt;The one particular example where the situation is different is the world of &lt;a href=&quot;http://en.wikipedia.org/wiki/Gettext&quot;&gt;gettext&lt;/a&gt;, with its great tools like &lt;a href=&quot;http://kbabel.kde.org/&quot;&gt;KBabel&lt;/a&gt; (now Lokalize), &lt;a href=&quot;http://en.wikipedia.org/wiki/Pootle&quot;&gt;Pootle&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Poedit&quot;&gt;PoEdit&lt;/a&gt; and swarm of little helpful scripts around Translation Toolkit project.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Format equality&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;And now, Silme tries to replicate this success on the cross-format level, giving some sense of self-respect to the non-gettext formats like DTD and Properties. In fact, Silme is intended to be format-neutral with support for as many formats as possible. Gettext, DTD, XLIFF, TS/QM (Nokia QT) and others. It also can read entities directly from SQLite or MySQL and we&amp;#8217;re experimenting with grabbing entities directly from an HTML file. We hope that this will open an easier way for developers around the world to craft their own tools, or new projects to focus on the actual tool, not having to reinvent the way to parse entities or compare them.&lt;/p&gt;
&lt;p&gt;More that that. We hope that new localization formats and languages will have an easier start being just able to reuse everything that Silme has to offer and tie it with their vision and potential. Yes, &lt;a href=&quot;https://wiki.mozilla.org/L20n&quot;&gt;L20n&lt;/a&gt; may be that language.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Some numbers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/activity.png&quot;&gt;&lt;img class=&quot;alignright size-medium  wp-image-898&quot; title=&quot;activity&quot; src=&quot;http://diary.braniecki.net/wp-content/uploads/2009/05/activity-300x225.png&quot; alt=&quot;activity&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Silme 0.5&lt;/strong&gt; is a result of countless hours of testing, coding, debugging, making mistakes and fixing them, analyzing performance, and introducing bottle necks only to spend another couple days trying to remove them. Adrian, in particular, spent significant amount of time sending me testcases and letting me know that I broke everything with my shiny, new API, but all in all what we have here is a pretty neat piece of code, if you ask me.&lt;/p&gt;
&lt;p&gt;What you see on the right is a cute result of &lt;a href=&quot;http://www.freehackers.org/thomas/2008/10/31/activity-extension-for-mercurial/&quot;&gt;hg activity&lt;/a&gt; script  run on all 385 commits to our HG repo. Not sure if its self-explaining so left me give you a hint. 35 commits per day is a big number. (and our module owners are not in the race, they have some godlike powers for sure).&lt;/p&gt;
&lt;p&gt;In terms of LOC, the stats are as follow:&lt;/p&gt;
&lt;pre&gt;-------------------------------------------------------------------------------
Language          files     blank   comment      code    scale   3rd gen. equiv
-------------------------------------------------------------------------------
Silme library        49       580       413      3784 x   4.20 =       15892.80
With scripts etc.    78       982       529      5574 x   4.20 =       23410.80
-------------------------------------------------------------------------------
(data from &lt;a href=&quot;http://cloc.sourceforge.net/&quot;&gt;CLOC&lt;/a&gt;)&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Done?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ha! Of course not! Silme is just at the beginning of its journey and although we already can see first projects investigating potential use of it, we have a long way ahead till we can mark stable 1.0 release, and claim success.&lt;/p&gt;
&lt;p&gt;In particular, on the Wiki page you can read about our plans for the next release &amp;#8211; &lt;a href=&quot;https://wiki.mozilla.org/Silme:0.7&quot;&gt;Silme 0.7&lt;/a&gt;. You can also find basic &lt;a href=&quot;https://wiki.mozilla.org/Silme:Tutorial&quot;&gt;tutorial&lt;/a&gt; (work in progress) and &lt;a href=&quot;https://wiki.mozilla.org/Silme:Tools&quot;&gt;a few example code pieces&lt;/a&gt; that you can use to figure out some bolts and nits used in here.&lt;/p&gt;
&lt;p&gt;As this post gets to its closing, and your excitement about the potential uncovered by the tales of python libraries, localization developers and mysterious land of happy i18n, l10n, l12y and other abbreviations where all strings fit the space, all words have perfect translations, declensions and countless plural forms are well handled and&amp;#8230;&lt;/p&gt;
&lt;p&gt;Umm&amp;#8230; where was I&amp;#8230; ah! yea. So&amp;#8230; it&amp;#8217;s time for me to close this gathering and let you surf ahead on your Internet waves. And if you happen to find this project interesting, don&amp;#8217;t hesitate to step by our newborn IRC channel &amp;#8211; &lt;strong&gt;#silme&lt;/strong&gt; on irc.mozilla.org and cheer the brave men and women who work there.&lt;/p&gt;
&lt;p&gt;From now on, you can expect short incremental updates on the way to Silme 0.7.&lt;/p&gt;</content:encoded>
	<dc:date>2009-05-11T23:25:47+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8038766.post-6366936304402315987">
	<title>hADeSik: Przeglądarki są dla mężczyzn jak kobiety... I to jakie kobiety!</title>
	<link>http://www.hadesik.waw.pl/2009/04/przegladarki-sa-dla-mezczyzn-jak.html</link>
	<content:encoded>Pewnie jestem zacofany, ale dopiero dzisiaj na pewnym zamkniętym forum natknąłem się na ten tekst.&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;Firefox&lt;/strong&gt;&lt;br /&gt;Jeżeli spotkasz na swej drodze Firefoksa, nie będziesz mógł myśleć o nikim innym. Tyle miejsca zajmie Ci w pamięci. Nawet, jeśli będzie doprowadzać Cię do szaleństwa, nie będziesz potrafił się jej pozbyć. I nie dla niej samej, ale dla tych rzeczy, które dostaje od całej rzeszy wielbicieli. Te wszystkie gadżety mogą być używane przez Ciebie, ale tylko, gdy się z nią spotykasz. Oh, gdyby inne kobiety też były tak otwarte na podarunki...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Opera&lt;/strong&gt;&lt;br /&gt;Szczupła, seksowna i twarda, będzie dla Ciebie w sam raz, jeśli podnieca Cię ten typ kobiety. Jest naprawdę dobra w sypialni, będziesz nią zachwycony. Jednakże nie pozwoli Ci zajrzeć w głąb siebie, więc pełna satysfakcja nie jest gwarantowana.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Safari&lt;/strong&gt;&lt;br /&gt;Jest ostra. Będziesz się czuł naprawdę wyjątkowo, będąc z nią. Jednakże, jest w niej coś frustrującego – kiedy tylko zaprosisz ją do domu, przyprowadzi ze sobą swoich iPrzyjaciół.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Internet Explorer&lt;/strong&gt;&lt;br /&gt;Prawdopodobnie to pierwsza kobieta, jaką przyszło Ci „wypróbować”. Jest naprawdę łatwa, ale możesz złapać jakąś infekcję.&lt;/blockquote&gt;&lt;br /&gt;Wiem, że można te opisy znaleźć w necie, pojawiły się też na JoeMonster (http://www.joemonster.org/art/11016/Gdyby_przegladarki_byly_kobietami) ale mimo to nie mogłem się oprzeć przed dodaniem tego wpisu :-)&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/8038766-6366936304402315987?l=www.hadesik.waw.pl&quot; /&gt;&lt;/div&gt;</content:encoded>
	<dc:date>2009-04-29T22:50:05+00:00</dc:date>
</item>

</rdf:RDF>
