<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jacek Kołodziej — blog &#187; software</title>
	<atom:link href="http://blog.kolodziejj.info/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kolodziejj.info</link>
	<description>β</description>
	<lastBuildDate>Fri, 18 Jun 2010 10:38:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Thinkpad ACPI a Madwifi</title>
		<link>http://blog.kolodziejj.info/2009/01/21/thinkpad-acpi-a-madwifi/</link>
		<comments>http://blog.kolodziejj.info/2009/01/21/thinkpad-acpi-a-madwifi/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 20:55:16 +0000</pubDate>
		<dc:creator>Unit03</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[madwifi]]></category>
		<category><![CDATA[thinkpad]]></category>

		<guid isPermaLink="false">http://blog.kolodziejj.info/?p=96</guid>
		<description><![CDATA[Tym razem zwięźle, technicznie, &#8220;dla potomności&#8221;.
Wpis dotyczy thinkpad-acpi, czyli w zasadzie niezbędnej dla posiadaczy Thinkpadów, z GNU/Linuksem na pokładzie, nakładki (patch) na kernel linuksowy. Przyjmuję, że jeżeli ktoś już tu trafił, to wie co to dokładnie jest. Jeśli nie: strona projektu/artykuł na ThinkWiki. Druga rzecz, to Madwifi, czyli sterowniki dla bezprzewodowych kart sieciowych opartych na [...]]]></description>
			<content:encoded><![CDATA[<p>Tym razem zwięźle, technicznie, &#8220;dla potomności&#8221;.</p>
<p>Wpis dotyczy <a href="http://ibm-acpi.sourceforge.net/">thinkpad-acpi</a>, czyli w zasadzie niezbędnej dla posiadaczy <a href="http://pl.wikipedia.org/wiki/ThinkPad">Thinkpadów</a>, z GNU/Linuksem na pokładzie, nakładki (patch) na kernel linuksowy. Przyjmuję, że jeżeli ktoś już tu trafił, to wie co to dokładnie jest. Jeśli nie: <a href="http://ibm-acpi.sourceforge.net/">strona projektu</a>/<a href="http://www.thinkwiki.org/wiki/Thinkpad-acpi">artykuł na ThinkWiki</a>. Druga rzecz, to <a href="http://madwifi-project.org/">Madwifi</a>, czyli sterowniki dla bezprzewodowych kart sieciowych opartych na chipsecie <a href="http://www.atheros.com/">Atheros</a>.</p>
<p>Wersje, których użyłem: Kernel GNU/Linuks <a href="http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2">2.6.28</a>, <a href="http://downloads.sourceforge.net/ibm-acpi/thinkpad-acpi-0.22_v2.6.28.gz?modtime=1232066060&#038;big_mirror=0">thinkpad-acpi 0.22_v2.6.28</a> oraz <a href="http://downloads.sourceforge.net/madwifi/madwifi-0.9.4.tar.gz">Madwifi v0.9.4</a>.</p>
<p>Problem polega na tym, że po zaaplikowaniu patcha thinkpad-acpi pojawia się problem z kompilacją modułów ze sterownikami Madwifi:</p>
<p><code>cc1: warnings being treated as errors<br />
/home/unit03/temp/madwifi-0.9.4/net80211/ieee80211_wireless.c: In function 'giwscan_cb':<br />
/home/unit03/temp/madwifi-0.9.4/net80211/ieee80211_wireless.c:1593: warning: passing argument 1 of 'iwe_stream_add_event' from incompatible pointer type<br />
/home/unit03/temp/madwifi-0.9.4/net80211/ieee80211_wireless.c:1593: warning: passing argument 3 of 'iwe_stream_add_event' from incompatible pointer type<br />
/home/unit03/temp/madwifi-0.9.4/net80211/ieee80211_wireless.c:1593: warning: passing argument 4 of 'iwe_stream_add_event' makes pointer from integer without a cast<br />
/home/unit03/temp/madwifi-0.9.4/net80211/ieee80211_wireless.c:1593: error: too few arguments to function 'iwe_stream_add_event'<br />
/home/unit03/temp/madwifi-0.9.4/net80211/ieee80211_wireless.c:1607: warning: passing argument 1 of 'iwe_stream_add_point' from incompatible pointer type<br />
/home/unit03/temp/madwifi-0.9.4/net80211/ieee80211_wireless.c:1607: warning: passing argument 3 of 'iwe_stream_add_point' from incompatible pointer type<br />
/home/unit03/temp/madwifi-0.9.4/net80211/ieee80211_wireless.c:1607: warning: passing argument 4 of 'iwe_stream_add_point' from incompatible pointer type<br />
...</code></p>
<p>Jest to spowodowane zmianą implementacji funkcji, o których mówią komunikaty powyżej.</p>
<p>Rozwiązanie problemu jest w zasadzie proste (z punktu widzenia programisty), ale wymaga zmian w kodzie źródłowym Madwifi. Opis &#8220;błędu&#8221; (o tym dlaczego w cudzysłowie, za chwilę) znajduje się w TRACu Madwifi pod numerem <a href="http://madwifi-project.org/ticket/2220">#2220</a>. <strong>To, co trzeba zrobić</strong>, to zaaplikowanie <a href="http://madwifi-project.org/attachment/ticket/2220/ieee80211_wireless.patch.txt">umieszczonego tam patcha</a>. <strong>Dla mniej obeznanych</strong> z aplikowaniem łatek, plikami diff, &#8220;ręczna naprawa&#8221;: w ulubionym edytorze otwieramy plik <kbd>net80211/ieee80211_wireless.c</kbd>, znajdujemy linię 1552:</p>
<p><code>struct iwscanreq {             /* XXX: right place for this declaration? */</code></p>
<p>i zaraz po niej dodajemy</p>
<p><code>        struct iw_request_info *info;</code></p>
<p>Następnie, po linii 1565:</p>
<p><code>char *current_ev = req->current_ev;</code></p>
<p>dodajemy</p>
<p><code>        struct iw_request_info *info = req->info;</code></p>
<p>Następnie, znajdujemy wszystkie wystąpienia funkcji <code>iwe_stream_add_event()</code> oraz <code>iwe_stream_add_point()</code>, i zaraz po pierwszym nawiasie dopisujemy wszędzie &#8220;<code>info, </code>&#8220;. Np., linia 1595:</p>
<p><code>        current_ev = iwe_stream_add_event(current_ev, end_buf, &#038;iwe, IW_EV_ADDR_LEN);</code></p>
<p>po naszej zmianie powinna wyglądać tak (pogrubiłem to, co zostało dodane):</p>
<p><code>        current_ev = iwe_stream_add_event(<strong>info, </strong>current_ev, end_buf, &#038;iwe, IW_EV_ADDR_LEN);</code></p>
<p>Taka sama sytuacja występuje w liniach 1608, 1612, 1626, 1639, 1650, 1665, 1680, 1689, 1709, 1733, 1759, 1778 i 1796.</p>
<p>Dlaczego nie jest to tak naprawdę błąd w ścisłym znaczeniu tego słowa? Błędy kompilacji spowodowało zaaplikowanie patcha thinkpad-acpi, a więc coś, czego używają tylko posiadacze Thinkpadów, ale żeby programiści Madwifi mogli im zapobiec, musieliby z każdą wersją wypuszczać oddzielne źródła przystosowane do ww. patcha. Wg mnie najlepiej, gdyby gdzieś na stronie o tym wspomnieli i udostępniali naprawdę prosty skrypt patchujący.</p>
<p>Jest jeszcze inny &#8220;błąd&#8221;, który możemy sami poprawić. Jeżeli przy kompilacji Madwifi dostaniemy taki komunikat:</p>
<p><code>/home/unit03/temp/madwifi-0.9.4/net80211/ieee80211_power.c: In function 'ieee80211_pwrsave':<br />
/home/unit03/temp/madwifi-0.9.4/net80211/ieee80211_power.c:240: error: implicit declaration of function '__skb_append'<br />
make[3]: *** [/home/unit03/temp/madwifi-0.9.4/net80211/ieee80211_power.o] Error 1<br />
make[2]: *** [/home/unit03/temp/madwifi-0.9.4/net80211] Error 2<br />
make[1]: *** [_module_/home/unit03/temp/madwifi-0.9.4] Error 2<br />
make[1]: Leaving directory `/usr/src/linux-2.6.28'<br />
make: *** [modules] Error 2</code></p>
<p>w pliku <kbd>net80211/ieee80211_linux.h</kbd> po linii 243:</p>
<p><code>#define __skb_append(a,b,c)     __skb_append(a, b)</code></p>
<p>dopisujemy</p>
<p><code>#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)<br />
#define __skb_append(a,b,c)     __skb_queue_after(c, a, b)</code></p>
<p>źródło: Madwifi, <a href="http://madwifi-project.org/changeset/3602">rewizja 3602</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kolodziejj.info/2009/01/21/thinkpad-acpi-a-madwifi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>forum.slackware.pl znowu on-line</title>
		<link>http://blog.kolodziejj.info/2008/02/15/forumslackwarepl-znowu-on-line/</link>
		<comments>http://blog.kolodziejj.info/2008/02/15/forumslackwarepl-znowu-on-line/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 22:17:12 +0000</pubDate>
		<dc:creator>Unit03</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[slackware]]></category>

		<guid isPermaLink="false">http://blog.kolodziejj.info/2008/02/15/forumslackwarepl-znowu-on-line/</guid>
		<description><![CDATA[Do sieci, po ok. trzech tygodniach nieobecności związanej z awarią serwera powróciło największe forum dyskusyjne poświęcone Linuksowi Slackware.
W międzyczasie zdążyło powstać nowe forum, jednak wyraźnie widać, że mimo reklamy na jakilinux.org nie zdobyło większej popularności. Administracja forum.slackware.pl na przyszły tego typu problem, postara się być bardziej przygotowana.
Forum to chyba największe polskie community zgromadzone wokół dystrybucji [...]]]></description>
			<content:encoded><![CDATA[<p>Do sieci, po ok. trzech tygodniach nieobecności związanej z awarią serwera powróciło <a href="http://forum.slackware.pl">największe forum dyskusyjne poświęcone Linuksowi Slackware</a>.</p>
<p>W międzyczasie zdążyło powstać <a href="http://www.slacky.info/">nowe forum</a>, jednak wyraźnie widać, że mimo reklamy na <a href="http://jakilinux.org">jakilinux.org</a> nie zdobyło większej popularności. Administracja forum.slackware.pl <q>na przyszły tego typu problem, postara się być bardziej przygotowana</q>.</p>
<p><a href="http://forum.slackware.pl">Forum</a> to chyba największe polskie community zgromadzone wokół dystrybucji <a href="http://slackware.com/">Linux Slackware</a>, ogromna baza wiedzy i doświadczonych użytkowników tej wspaniałej dystrybucji. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kolodziejj.info/2008/02/15/forumslackwarepl-znowu-on-line/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;Ja bym sobie założyl, ale nikt ze znajomych nie używa&#8221;</title>
		<link>http://blog.kolodziejj.info/2007/11/12/ja-bym-sobie-zalozyl-ale-nikt-ze-znajomych-nie-uzywa/</link>
		<comments>http://blog.kolodziejj.info/2007/11/12/ja-bym-sobie-zalozyl-ale-nikt-ze-znajomych-nie-uzywa/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 18:26:04 +0000</pubDate>
		<dc:creator>Unit03</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://kolodziejj.info/2007/11/12/ja-bym-sobie-zalozyl-ale-nikt-ze-znajomych-nie-uzywa/</guid>
		<description><![CDATA[Streszczę się, bo temat został niemal wyczerpany. Z drugiej strony, może jedna notka ma szanse wnieść jakikolwiek wkład w sprawę, dlatego piszę:
Cytat z opisu (bezimienny właściwie, bo to zdanie wielu osób) to jeden z głównych powodów przywiązania do GG i jednocześnie problem takich protokołów jak Jabber. Problem w zdobyciu popularności mimo wielu zalet, tak samego [...]]]></description>
			<content:encoded><![CDATA[<p>Streszczę się, bo temat został niemal wyczerpany. Z drugiej strony, może jedna notka ma szanse wnieść jakikolwiek wkład w sprawę, dlatego piszę:</p>
<p>Cytat z opisu (bezimienny właściwie, bo to zdanie wielu osób) to jeden z głównych powodów przywiązania do GG i jednocześnie problem takich protokołów jak <a href="http://www.jabberpl.org/Wprowadzenie/CzymJestJabber">Jabber</a>. Problem w zdobyciu popularności mimo wielu zalet, tak samego protokołu, jak i otoczki technologicznej i, jakby nie patrzeć, filozoficznej (jest przedstawicielem <a href="http://pl.wikipedia.org/wiki/Otwarte_oprogramowanie">otwartego oprogramowania</a>). Nie, nie twierdzę że jest idealny, nic nie jest. Ostatnio choćby u <a href="http://tristan.jogger.pl//">Tristana</a> widziałem <a href="http://tristan.jogger.pl/2007/11/05/dlaczego-jabber-sssie-na-maksa/">notkę o wadach Jabbera</a>. Sumując jednak te wady i zalety jestem <strong>stanowczo</strong> za Jabberem.</p>
<p>Jak dla mnie powód niby słuszny, a jednak nieco absurdalny. Ileż to już widziałem bluzgów w opisach po kolejnym padzie serwerów GG, w których ludzie psioczą na to &#8220;$!@#% GG&#8221;. A jednak nadal używają, bo inni robią to samo. I też psioczą. A gdybyś tak Ty (<strong>tak, Ty, do Ciebie mówię!</strong>) spróbował i namówił kolejną osobę i nakłonił ją do tego samego, aby też namówiła kolejną&#8230;? Bo co, bo trudne? A photobloga, maila i grono, fotkę i kilka innych serwisów używa się łatwiej? Wątpię. A jednak do korzystania z tego typu usług potrafisz zaprosić. Paradoks?</p>
<p>Zaciekawiony? <a href="http://azhag.fluxboxpl.org/Wybierz_Jabbera">Wybierz Jabbera</a>.</p>
<p><code>12.11.2007 19:11:34 :::: (gg:1029648) Połączenie zostało przerwane</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kolodziejj.info/2007/11/12/ja-bym-sobie-zalozyl-ale-nikt-ze-znajomych-nie-uzywa/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Gmail Manager &#8211; małe a cieszy</title>
		<link>http://blog.kolodziejj.info/2007/10/31/gmail-manager-male-a-cieszy/</link>
		<comments>http://blog.kolodziejj.info/2007/10/31/gmail-manager-male-a-cieszy/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 19:25:42 +0000</pubDate>
		<dc:creator>Unit03</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://kolodziejj.info/2007/10/31/gmail-manager-male-a-cieszy/</guid>
		<description><![CDATA[Czas jakiś temu postanowiłem założyć nowego maila, oczywiście w GMailu. Wcześniej, aby stale wiedzieć czy coś nie przyszło, miałem zawsze pocztę otwartą na pierwszej karcie w Firefoksie. Na dwóch kontach naraz być zalogowanym się nie da, a nadal chciałem być na bieżąco z mailami, postanowiłem więc poszukać dobrego &#8220;powiadamiacza&#8221; o nieprzeczytanych wiadomościach. Znalazłem kilka, ale [...]]]></description>
			<content:encoded><![CDATA[<p>Czas jakiś temu postanowiłem założyć nowego maila, oczywiście w GMailu. Wcześniej, aby stale wiedzieć czy coś nie przyszło, miałem zawsze pocztę otwartą na pierwszej karcie w Firefoksie. Na dwóch kontach naraz być zalogowanym się nie da, a nadal chciałem być na bieżąco z mailami, postanowiłem więc poszukać dobrego &#8220;powiadamiacza&#8221; o nieprzeczytanych wiadomościach. Znalazłem kilka, ale albo nie działały, albo wymagały dziwnych bibliotek graficznych (do wyświetlenia małego okienka, albo do ikonki w tray&#8217;u? wolne żarty), albo potrafiły sobie poradzić tylko z jednym kontem. Superkaramby przestałem używać (nie korzystam z pulpitu), więc też odpadała&#8230; I tak znalazłem to małe cudo ;-) , będące po prostu rozszerzeniem do Firefoksa: <a href="http://www.longfocus.com/firefox/gmanager/">Gmail Manager</a><br />
<span id="more-25"></span><br />
Siedzi toto w dolnej belce w Firefoksie (można ustawić gdzie) i wygląda tak:<br />
<a href="http://blog.kolodziejj.info/files/images/screen/gmail_manager01.png"><img src="http://blog.kolodziejj.info/files/images/screen/gmail_manager01.png" alt="Gmail Manager" /></a></p>
<p>Najazd kursorem na etykietę konta w tymże pasku i widzimy informacje o stanie nieprzeczytanych maili, a jeżeli jakieś są, to również streszczenie: od kogo, początek wiadomości&#8230; Jest też info o wersjach roboczych i katalogu Spam. Wszystko to łatwo konfigurowalne:<br />
<a href="http://blog.kolodziejj.info/files/images/screen/gmail_manager02.png"><img src="http://blog.kolodziejj.info/files/images/screen/gmail_manager02.png" alt="Gmail Manager" /></a></p>
<p>Widać tu mojego e-maila, ale GM może służyć nam tylko małą ikonką i liczbą nieprzeczytanych wiadomości. To, co mi się w nim najbardziej przydaje, to obsługa wielu kont&#8230; równocześnie. Prawy klik (co można ustawić) i widzimy<br />
<a href="http://blog.kolodziejj.info/files/images/screen/gmail_manager03.png"><img src="http://blog.kolodziejj.info/files/images/screen/gmail_manager03.png" alt="Gmail Manager" /></a><br />
Lista kont, które sprawdza co określony okres czasu (najczęściej co minutę).</p>
<p>Gmail Manager potrafi jeszcze jedno: ładnie obsługuje linki <code>mailto:</code>. Prawy klik gdziekolwiek na stronie (lub właśnie na linku do adresu e-mail) i:<br />
<a href="http://blog.kolodziejj.info/files/images/screen/gmail_manager04.png"><img src="http://blog.kolodziejj.info/files/images/screen/gmail_manager04.png" alt="Gmail Manager" /></a><br />
i przenosimy się do tworzenia nowej wiadomości w Gmailu. Proste, a tego mi wcześniej brakowało (nie używam żadnego zewnętrznego programu do poczty).</p>
<p>Tak jak w tytule &#8211; małe a cieszy. :)</p>
<p><a href="http://www.longfocus.com/firefox/gmanager/">Strona domowa Gmail Managera</a>. Oczywiście klikamy na &#8220;Install Now&#8221; po prawej stronie i dalej Firefox poprowadzi nas za rączkę.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kolodziejj.info/2007/10/31/gmail-manager-male-a-cieszy/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
