<?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>Ponton&#039;s site</title>
	<atom:link href="http://www.ponton.srednikpe.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ponton.srednikpe.org</link>
	<description>blog głównie matematyczno-informatyczny (nie chce mi się pisać o życiu)</description>
	<lastBuildDate>Mon, 18 Jan 2010 22:23:48 +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>My GitHub account</title>
		<link>http://www.ponton.srednikpe.org/2009/10/26/my-github-account/</link>
		<comments>http://www.ponton.srednikpe.org/2009/10/26/my-github-account/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 22:58:31 +0000</pubDate>
		<dc:creator>ponton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[my code]]></category>

		<guid isPermaLink="false">http://www.ponton.srednikpe.org/?p=271</guid>
		<description><![CDATA[I&#8217;ve recently added the link to my GitHub profile. I signed up some time ago, but now I&#8217;ve started to use git for my university projects and push them to GitHub.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently added the link to <a title="my GitHub profile" href="http://github.com/ponton">my GitHub profile</a>. I signed up some time ago, but now I&#8217;ve started to use git for my university projects and push them to GitHub.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ponton.srednikpe.org/2009/10/26/my-github-account/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Matrix chain multiplication: parallel and sequential</title>
		<link>http://www.ponton.srednikpe.org/2009/06/25/matrix-chain-multiplication-parallel-and-sequential/</link>
		<comments>http://www.ponton.srednikpe.org/2009/06/25/matrix-chain-multiplication-parallel-and-sequential/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 19:56:51 +0000</pubDate>
		<dc:creator>ponton</dc:creator>
				<category><![CDATA[Computer science and math]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[cpp]]></category>
		<category><![CDATA[my code]]></category>
		<category><![CDATA[studia]]></category>

		<guid isPermaLink="false">http://www.ponton.srednikpe.org/?p=259</guid>
		<description><![CDATA[Yep, that&#8217;s the project that uses threads. Nothing more is worth to add &#8212; the problem is well-known, as well as the algorithm.
Source: http://www.srednikpe.org/src/matrix/
]]></description>
			<content:encoded><![CDATA[<p>Yep, that&#8217;s the project that uses threads. Nothing more is worth to add &#8212; the problem is well-known, as well as the algorithm.</p>
<p>Source: <a href="http://www.srednikpe.org/src/matrix/">http://www.srednikpe.org/src/matrix/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ponton.srednikpe.org/2009/06/25/matrix-chain-multiplication-parallel-and-sequential/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++ hidden feature</title>
		<link>http://www.ponton.srednikpe.org/2009/06/22/c-hidden-feature/</link>
		<comments>http://www.ponton.srednikpe.org/2009/06/22/c-hidden-feature/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 18:32:43 +0000</pubDate>
		<dc:creator>ponton</dc:creator>
				<category><![CDATA[Computer science and math]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[cpp]]></category>

		<guid isPermaLink="false">http://www.ponton.srednikpe.org/?p=253</guid>
		<description><![CDATA[This is one I didn&#8217;t know. Conditional expressions in C++ can be lvalue:

&#40;a == 0 ? a : b&#41; = 42;

More hidden features: http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/
]]></description>
			<content:encoded><![CDATA[<p>This is one I didn&#8217;t know. Conditional expressions in C++ can be lvalue:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #008000;">&#40;</span>a <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">?</span> a <span style="color: #008080;">:</span> b<span style="color: #008000;">&#41;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">42</span><span style="color: #008080;">;</span></pre></div></div>

<p>More hidden features: <a href="http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/">http://beerpla.net/2009/06/21/hidden-features-of-perl-php-javascript-c-c-c-java-ruby-python-and-others-collection-of-incredibly-useful-lists/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ponton.srednikpe.org/2009/06/22/c-hidden-feature/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>boost::thread and std::list</title>
		<link>http://www.ponton.srednikpe.org/2009/06/22/boostthread-and-stdlist/</link>
		<comments>http://www.ponton.srednikpe.org/2009/06/22/boostthread-and-stdlist/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 01:28:49 +0000</pubDate>
		<dc:creator>ponton</dc:creator>
				<category><![CDATA[Computer science and math]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[cpp]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[my code]]></category>
		<category><![CDATA[stl]]></category>
		<category><![CDATA[thread]]></category>

		<guid isPermaLink="false">http://www.ponton.srednikpe.org/?p=243</guid>
		<description><![CDATA[I had to create many threads in C++. Of course I didn&#8217;t want to use pthread, because it&#8217;s ugly C. I chose boost::thread instead. Then I needed some container to keep all these threads. Arrays were out of the question for the same reason as pthread. I could use boost:array but stl::list was easier.
The problem [...]]]></description>
			<content:encoded><![CDATA[<p>I had to create many threads in C++. Of course I didn&#8217;t want to use pthread, because it&#8217;s ugly C. I chose boost::thread instead. Then I needed some container to keep all these threads. Arrays were out of the question for the same reason as pthread. I could use boost:array but stl::list was easier.</p>
<p>The problem was&#8212;how to keep this thread objects? I couldn&#8217;t use std::list&lt;boost::thread&gt; nor std::list&lt;boost::thread &amp;&gt; because threads cannot be copied. I had to dynamically create the object in order to prevent the destruction after the scope. But for some reason I got compiler error while trying std::list&lt; std::auto_ptr&lt;boost::thread&gt; &gt; in the line where I pushed_back newly created threads.</p>
<p>The cause of the error was that the argument of std::list::push_back() was a constant reference. And while assinging one auto_ptr to another, the first one is getting call release() method, but it can&#8217;t since the reference is constant and release() change the state of the object.</p>
<p>To solve this problem one can use boost::shared_ptr.</p>
<p>Example:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;list&gt;</span>
<span style="color: #339900;">#include &lt;boost/thread.hpp&gt;</span>
<span style="color: #339900;">#include &lt;boost/date_time.hpp&gt;</span>
<span style="color: #339900;">#include &lt;boost/smart_ptr.hpp&gt;</span>
&nbsp;
<span style="color: #0000ff;">using</span> std<span style="color: #008080;">::</span><span style="color: #007788;">list</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">using</span> std<span style="color: #008080;">::</span><span style="color: #0000dd;">cout</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">using</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">struct</span> foo
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">void</span> operator<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> id<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;starting thread &quot;</span> <span style="color: #000080;">&lt;&lt;</span> id <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #008080;">;</span>
		boost<span style="color: #008080;">::</span><span style="color: #007788;">this_thread</span><span style="color: #008080;">::</span><span style="color: #007788;">sleep</span><span style="color: #008000;">&#40;</span>boost<span style="color: #008080;">::</span><span style="color: #007788;">posix_time</span><span style="color: #008080;">::</span><span style="color: #007788;">seconds</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;ending thread &quot;</span> <span style="color: #000080;">&lt;&lt;</span> id <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">typedef</span> boost<span style="color: #008080;">::</span><span style="color: #007788;">shared_ptr</span><span style="color: #000080;">&lt;</span>boost<span style="color: #008080;">::</span><span style="color: #007788;">thread</span><span style="color: #000080;">&gt;</span> thread_ptr<span style="color: #008080;">;</span>
	list<span style="color: #000080;">&lt;</span>thread_ptr<span style="color: #000080;">&gt;</span> thread<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;creating threads<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">10</span><span style="color: #008080;">;</span> <span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		thread.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span>boost<span style="color: #008080;">::</span><span style="color: #007788;">shared_ptr</span><span style="color: #000080;">&lt;</span>boost<span style="color: #008080;">::</span><span style="color: #007788;">thread</span><span style="color: #000080;">&gt;</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">new</span> boost<span style="color: #008080;">::</span><span style="color: #007788;">thread</span><span style="color: #008000;">&#40;</span>foo<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, i<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;after creation, now joining them<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>list<span style="color: #000080;">&lt;</span>thread_ptr<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">iterator</span> it <span style="color: #000080;">=</span> thread.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it <span style="color: #000040;">!</span><span style="color: #000080;">=</span> thread.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #000040;">++</span>it<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>it<span style="color: #008000;">&#41;</span><span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>join<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;ending program&quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>And the result:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">tomek<span style="color: #000000; font-weight: bold;">@</span>notlob:~<span style="color: #000000; font-weight: bold;">%</span> <span style="color: #c20cb9; font-weight: bold;">g++</span> <span style="color: #660033;">-o</span> threads threads.cpp <span style="color: #660033;">-O2</span> <span style="color: #660033;">-Wall</span> -lboost_thread-mt
tomek<span style="color: #000000; font-weight: bold;">@</span>notlob:~<span style="color: #000000; font-weight: bold;">%</span> .<span style="color: #000000; font-weight: bold;">/</span>threads
creating threads
starting thread <span style="color: #000000;">1</span>
starting thread <span style="color: #000000;">0</span>
starting thread <span style="color: #000000;">2</span>
starting thread <span style="color: #000000;">3</span>
starting thread starting thread <span style="color: #000000;">4</span>
<span style="color: #000000;">5</span>
starting thread <span style="color: #000000;">6</span>
starting thread <span style="color: #000000;">7</span>
starting thread <span style="color: #000000;">8</span>
starting thread <span style="color: #000000;">9</span>
after creation, now joining them
ending thread <span style="color: #000000;">1</span>
ending thread <span style="color: #000000;">3</span>
ending thread <span style="color: #000000;">5</span>
ending thread <span style="color: #000000;">4</span>
ending thread <span style="color: #000000;">0</span>
ending thread <span style="color: #000000;">2</span>
ending thread <span style="color: #000000;">6</span>
ending thread <span style="color: #000000;">8</span>
ending thread <span style="color: #000000;">7</span>
ending thread <span style="color: #000000;">9</span>
ending program</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.ponton.srednikpe.org/2009/06/22/boostthread-and-stdlist/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How not to name variables</title>
		<link>http://www.ponton.srednikpe.org/2009/06/13/how-not-to-name-variables/</link>
		<comments>http://www.ponton.srednikpe.org/2009/06/13/how-not-to-name-variables/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 18:00:31 +0000</pubDate>
		<dc:creator>ponton</dc:creator>
				<category><![CDATA[Computer science and math]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Real life]]></category>
		<category><![CDATA[idiot]]></category>
		<category><![CDATA[narzekanie]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ur doin it wrong]]></category>

		<guid isPermaLink="false">http://www.ponton.srednikpe.org/2009/06/13/how-not-to-name-variables/</guid>
		<description><![CDATA[This is is a Python line of code which I found in my project I work with two colleagues:

for mid, mda, xmht, xmat, mhs, mas, mehs, meas, mphs, mpas, mrou in q:
    # ....

No comments.
]]></description>
			<content:encoded><![CDATA[<p>This is is a Python line of code which I found in my project I work with two colleagues:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">for</span> mid, mda, xmht, xmat, mhs, mas, mehs, meas, mphs, mpas, mrou <span style="color: #ff7700;font-weight:bold;">in</span> q:
    <span style="color: #808080; font-style: italic;"># ....</span></pre></div></div>

<p>No comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ponton.srednikpe.org/2009/06/13/how-not-to-name-variables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Glade vs QT Designer</title>
		<link>http://www.ponton.srednikpe.org/2009/05/31/glade-vs-qt-designer/</link>
		<comments>http://www.ponton.srednikpe.org/2009/05/31/glade-vs-qt-designer/#comments</comments>
		<pubDate>Sun, 31 May 2009 22:45:23 +0000</pubDate>
		<dc:creator>ponton</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Polskie]]></category>
		<category><![CDATA[glade]]></category>
		<category><![CDATA[gtk+]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[qt designer]]></category>

		<guid isPermaLink="false">http://www.ponton.srednikpe.org/?p=228</guid>
		<description><![CDATA[Ostatnimi czasy miałem okazję bliżej przyjrzeć się dwóch narzędziom do projektowania interfejsu. Postaram się w skrócie opisać, co mi się w nich podobało, a co nie.
Na początek Qt Designer, bo jego wcześniej się nauczyłem. Interfejs jest podobny do GIMP-a, czyli dużo niezadokowanych okienek: z kontrolkami, z właściwościami, ze slotami, z hierarchią kontrole i oczywiście okno [...]]]></description>
			<content:encoded><![CDATA[<p>Ostatnimi czasy miałem okazję bliżej przyjrzeć się dwóch narzędziom do projektowania interfejsu. Postaram się w skrócie opisać, co mi się w nich podobało, a co nie.</p>
<p>Na początek Qt Designer, bo jego wcześniej się nauczyłem. Interfejs jest podobny do GIMP-a, czyli dużo niezadokowanych okienek: z kontrolkami, z właściwościami, ze slotami, z hierarchią kontrole i oczywiście okno naszego projektu. Glade natomiast to w całości jedno okno. Wiele osób narzeka na ten &#8220;gimpowy&#8221; interfejs, jednak w tym przypadku Qt Designer ładnej wygląda, chociaż może niestaranności wykonania Glade&#8217;a (głównie chodzi o okno z właściwościami, które, jak to trafnie pan w video tutorialu ujął, <em>it&#8217;s never wide enough</em>).</p>
<p>Wśród kontrolek Designera mamy pełen zasób biblioteki Qt (w tym np. kontrolka przeglądarki WWW opartej na WebKicie), jednak są to tylko stricte widżety. Nie będziemy mogli zdefiniować modelu dla *View (TreeView, ListView, etc.), a na tych kontrolkach miałem oparte oba interfejsy projektów (w sumie obie były pewnym interfejsem bazy danych). Glade potrafi tworzyć modele (o ile oczywiście wybierzemy projekt GtkBuilder, ale libglade nie jest już rozwijana, więc wybór tego pierwszego powinien być jasny), jednak chwilę musiałem pogooglać, jak to się robi. Jest to póki co mało intuicyjne (przynajmniej dla mnie). Natomiast w Designerze łatwiej udało mi się ustawić &#8220;sortowalność&#8221; kolumn (w sumie to w Glade jeszcze do tego nie doszedłem, choć próbowałem).</p>
<p>Ogólnie lepsze wrażenie sprawia jednak Designer. Jest bardziej intuicyjny, pozwala przenosić kontrolki myszką (nie trzeba ich wycinać albo zmieniać albo wpisywać pozycji we właściwościach) i edytować je na oknie. Od razu mamy także podgląd naszego okna. O wiele prościej się też moim zdaniem obsługuje kontenery, choć na początku miałem trochę trudności. W Glade trzeba trochę się namęczyć, żeby stworzyć pożądany efekt na okienku, żeby wszystko było równiutko.</p>
<p>To, co mi się jeszcze spodobało w Designerze, to sloty, chociaż to bardziej kwestia Qt niż samego Designera. Sloty bardzo ułatwiają podpinanie sygnałów. Możemy np. sygnał &#8220;clicked()&#8221; przycisku podpiąć pod slot &#8220;show()&#8221; okienka bez pisania żadnej procedury obsługi. Natomiast sygnały niestandardowe, które wymagają odrobiny naszego kodu, trzeba podpinać ręcznie (w kodzie). Glade potrafi zapamiętać nazwy naszych handlerów i automatycznie je podpiąć (w Pythonie trzeba jednak podać mu słownik odwzorowań nazw na funkcje jako argument).</p>
<p>Kiedy już stworzymy interfejs, nadchodzi etap programowania. Sama obsługa naszego interfejsu lepsza jest jednak w Glade. Tworzymy obiekt GtkBuilder i ładujemy nasz plik *.glade. Następnie wywołujemy funkcję, której podajemy nazwę widżetu, a ona zwraca nam wskaźnik (w Pythonie referencję) do niego i już możemy go używać. W Qt Designerze musimy odpowiednim narzędziem skonwertować nasz plik *.ui na kod źródłowy z klasą, od której nasze okno dziedziczy (lub enkapsuluje jej obiekt).</p>
<p>Co zatem jest lepsze? Oba programy są dobre. Na obu oparto potężne środowiska graficzne, zatem oba nadadzą się do stworzenia Twojego projektu. Każda ma swoje mocne i słabe strony, więc wybór w tym przypadku będzie indywidualny i często przypadkowy (tzw. kwestia gustu).</p>
<p>UPDATE: Glade jednak potrafi przenosić kontrolki, a Qt dynamicznie ładować interfejs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ponton.srednikpe.org/2009/05/31/glade-vs-qt-designer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HP Pavilion dv6780el on Debian Squeeze</title>
		<link>http://www.ponton.srednikpe.org/2009/05/29/hp-pavilion-dv6780-on-debian-squeeze/</link>
		<comments>http://www.ponton.srednikpe.org/2009/05/29/hp-pavilion-dv6780-on-debian-squeeze/#comments</comments>
		<pubDate>Fri, 29 May 2009 01:07:49 +0000</pubDate>
		<dc:creator>ponton</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux on laptop]]></category>

		<guid isPermaLink="false">http://www.ponton.srednikpe.org/?p=214</guid>
		<description><![CDATA[Recently I bought a laptop HP Pavilion dv6780el. It was shipped with Vista, but was used only once for download Debian Testing snapshot: two horrible hours for searching CD burning program for Windows (this is shareware, this is demo, this is adware, oh, this is freeware, but actually it can&#8217;t burn CD image onto DVD [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I bought a laptop HP Pavilion dv6780el. It was shipped with Vista, but was used only once for download Debian Testing snapshot: two horrible hours for searching CD burning program for Windows (this is shareware, this is demo, this is adware, oh, this is freeware, but actually it can&#8217;t burn CD image onto DVD disk *sigh*). In the end I copied the image to my old laptop and after 5 minutes I&#8217;ve got a CD ready to install.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">%</span> <span style="color: #c20cb9; font-weight: bold;">lspci</span>
00:<span style="color: #000000;">00.0</span> Host bridge: Intel Corporation Mobile PM965<span style="color: #000000; font-weight: bold;">/</span>GM965<span style="color: #000000; font-weight: bold;">/</span>GL960 Memory Controller Hub <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 0c<span style="color: #7a0874; font-weight: bold;">&#41;</span>
00:<span style="color: #000000;">01.0</span> PCI bridge: Intel Corporation Mobile PM965<span style="color: #000000; font-weight: bold;">/</span>GM965<span style="color: #000000; font-weight: bold;">/</span>GL960 PCI Express Root Port <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 0c<span style="color: #7a0874; font-weight: bold;">&#41;</span>
00:1a.0 USB Controller: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> USB UHCI Controller <span style="color: #666666; font-style: italic;">#4 (rev 03)</span>
00:1a.1 USB Controller: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> USB UHCI Controller <span style="color: #666666; font-style: italic;">#5 (rev 03)</span>
00:1a.7 USB Controller: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> USB2 EHCI Controller <span style="color: #666666; font-style: italic;">#2 (rev 03)</span>
00:1b.0 Audio device: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> HD Audio Controller <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 03<span style="color: #7a0874; font-weight: bold;">&#41;</span>
00:1c.0 PCI bridge: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> PCI Express Port <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 03<span style="color: #7a0874; font-weight: bold;">&#41;</span>
00:1c.1 PCI bridge: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> PCI Express Port <span style="color: #000000;">2</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 03<span style="color: #7a0874; font-weight: bold;">&#41;</span>
00:1c.5 PCI bridge: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> PCI Express Port <span style="color: #000000;">6</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 03<span style="color: #7a0874; font-weight: bold;">&#41;</span>
00:1d.0 USB Controller: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> USB UHCI Controller <span style="color: #666666; font-style: italic;">#1 (rev 03)</span>
00:1d.1 USB Controller: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> USB UHCI Controller <span style="color: #666666; font-style: italic;">#2 (rev 03)</span>
00:1d.2 USB Controller: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> USB UHCI Controller <span style="color: #666666; font-style: italic;">#3 (rev 03)</span>
00:1d.7 USB Controller: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> USB2 EHCI Controller <span style="color: #666666; font-style: italic;">#1 (rev 03)</span>
00:1e.0 PCI bridge: Intel Corporation <span style="color: #000000;">82801</span> Mobile PCI Bridge <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> f3<span style="color: #7a0874; font-weight: bold;">&#41;</span>
00:1f.0 ISA bridge: Intel Corporation 82801HEM <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8M<span style="color: #7a0874; font-weight: bold;">&#41;</span> LPC Interface Controller <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 03<span style="color: #7a0874; font-weight: bold;">&#41;</span>
00:1f.1 IDE interface: Intel Corporation 82801HBM<span style="color: #000000; font-weight: bold;">/</span>HEM <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8M<span style="color: #000000; font-weight: bold;">/</span>ICH8M-E<span style="color: #7a0874; font-weight: bold;">&#41;</span> IDE Controller <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 03<span style="color: #7a0874; font-weight: bold;">&#41;</span>
00:1f.2 SATA controller: Intel Corporation 82801HBM<span style="color: #000000; font-weight: bold;">/</span>HEM <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8M<span style="color: #000000; font-weight: bold;">/</span>ICH8M-E<span style="color: #7a0874; font-weight: bold;">&#41;</span> SATA AHCI Controller <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 03<span style="color: #7a0874; font-weight: bold;">&#41;</span>
00:1f.3 SMBus: Intel Corporation 82801H <span style="color: #7a0874; font-weight: bold;">&#40;</span>ICH8 Family<span style="color: #7a0874; font-weight: bold;">&#41;</span> SMBus Controller <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 03<span style="color: #7a0874; font-weight: bold;">&#41;</span>
01:<span style="color: #000000;">00.0</span> VGA compatible controller: nVidia Corporation GeForce 8400M GS <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> a1<span style="color: #7a0874; font-weight: bold;">&#41;</span>
02:<span style="color: #000000;">00.0</span> Network controller: Intel Corporation PRO<span style="color: #000000; font-weight: bold;">/</span>Wireless 3945ABG <span style="color: #7a0874; font-weight: bold;">&#91;</span>Golan<span style="color: #7a0874; font-weight: bold;">&#93;</span> Network Connection <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 02<span style="color: #7a0874; font-weight: bold;">&#41;</span>
06:<span style="color: #000000;">00.0</span> Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E<span style="color: #000000; font-weight: bold;">/</span>RTL8102E PCI Express Fast Ethernet controller <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 01<span style="color: #7a0874; font-weight: bold;">&#41;</span>
07:<span style="color: #000000;">09.0</span> FireWire <span style="color: #7a0874; font-weight: bold;">&#40;</span>IEEE <span style="color: #000000;">1394</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>: Ricoh Co Ltd R5C832 IEEE <span style="color: #000000;">1394</span> Controller <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> 05<span style="color: #7a0874; font-weight: bold;">&#41;</span>
07:<span style="color: #000000;">09.1</span> SD Host controller: Ricoh Co Ltd R5C822 SD<span style="color: #000000; font-weight: bold;">/</span>SDIO<span style="color: #000000; font-weight: bold;">/</span>MMC<span style="color: #000000; font-weight: bold;">/</span>MS<span style="color: #000000; font-weight: bold;">/</span>MSPro Host Adapter <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> <span style="color: #000000;">22</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
07:<span style="color: #000000;">09.2</span> System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> <span style="color: #000000;">12</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
07:<span style="color: #000000;">09.3</span> System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> <span style="color: #000000;">12</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
07:<span style="color: #000000;">09.4</span> System peripheral: Ricoh Co Ltd xD-Picture Card Controller <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">rev</span> ff<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>I installed <strong>Debian Squeeze amd64</strong> and almost everythinng worked out-of-box, except few things.</p>
<p><strong>Wi-Fi</strong><br />
I had to install binary firmware for Intel 3945 since non-free packages are not in default Debian installation.  Fortunately I was able to connect with wire:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> firmware-iwlwifi</pre></div></div>

<p><strong>NVIDIA drivers</strong><br />
The default X driver is <emph>nv</emph> which performance is poor. Again, I had to manually install non-free software. Just googled &#8220;nvidia drivers linux&#8221; and followed the instructions. The good news is that the quailty of the official NVIDIA drivers for X server is very satisfactionary.</p>
<p><strong>Muting speakers when headphones are plugged-in</strong><br />
This is one I haven&#8217;t solved yet. I just mutted the front speakers in ALSA Mixer, but that&#8217;s only a workaround.<br />
UPDATE: It works after updating <emph>alsa-base</emph> to version 1.0.20</p>
<p><strong>ACPI</strong><br />
I noticed that when I tried first time to exhaust the battery it didn&#8217;t show any notification like &#8220;Low battery level&#8221;; it just died out of energy. Maybe it&#8217;s just a GNOME setting, dunno.</p>
<p>What I haven&#8217;t tested is fax modem and card bus.</p>
<p>The battery works for 2h15m which is quite short time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ponton.srednikpe.org/2009/05/29/hp-pavilion-dv6780-on-debian-squeeze/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Semantyka gier</title>
		<link>http://www.ponton.srednikpe.org/2009/02/09/semantyka-gier/</link>
		<comments>http://www.ponton.srednikpe.org/2009/02/09/semantyka-gier/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 15:13:50 +0000</pubDate>
		<dc:creator>ponton</dc:creator>
				<category><![CDATA[Computer science and math]]></category>
		<category><![CDATA[Polskie]]></category>
		<category><![CDATA[beamer]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[semantyka]]></category>
		<category><![CDATA[semantyka gier]]></category>

		<guid isPermaLink="false">http://www.ponton.srednikpe.org/?p=198</guid>
		<description><![CDATA[Krótki wstęp do semantyki gier, który przygotowałem w ramach projektu końcowego z Semantyk Języków Programowania.
prezentacja, notatki
Update: notatki pozostałych studentów.
]]></description>
			<content:encoded><![CDATA[<p>Krótki wstęp do semantyki gier, który przygotowałem w ramach projektu końcowego z Semantyk Języków Programowania.</p>
<p><a href="http://www.srednikpe.org/tmp/semantyka_gier.pdf">prezentacja</a>, <a href="http://www.srednikpe.org/tmp/sg_notatki.pdf">notatki</a></p>
<p>Update: <a href="http://www.ii.uni.wroc.pl/~dabi/Teaching/Semantyka08/prezentacje.html">notatki pozostałych studentów</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ponton.srednikpe.org/2009/02/09/semantyka-gier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Piractwo</title>
		<link>http://www.ponton.srednikpe.org/2009/01/17/piractwo/</link>
		<comments>http://www.ponton.srednikpe.org/2009/01/17/piractwo/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 15:37:13 +0000</pubDate>
		<dc:creator>ponton</dc:creator>
				<category><![CDATA[Polskie]]></category>
		<category><![CDATA[Przemyślenia]]></category>
		<category><![CDATA[piractwo]]></category>
		<category><![CDATA[prawo]]></category>

		<guid isPermaLink="false">http://www.ponton.srednikpe.org/?p=193</guid>
		<description><![CDATA[95% muzyki w sieci to nielegalne pobrania.
When you have six million people breaking the law, it&#8217;s the law that needs changing, not the people.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://dobreprogramy.pl/index.php?dz=15&amp;n=10629&amp;95%+muzyki+w+sieci+to+nielegalne+pobrania">95% muzyki w sieci to nielegalne pobrania</a>.</p>
<p><em>When you have six million people breaking the law, it&#8217;s the law that needs changing, not the people.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ponton.srednikpe.org/2009/01/17/piractwo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Programowanie literackie</title>
		<link>http://www.ponton.srednikpe.org/2009/01/10/programowanie-literackie/</link>
		<comments>http://www.ponton.srednikpe.org/2009/01/10/programowanie-literackie/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 01:57:52 +0000</pubDate>
		<dc:creator>ponton</dc:creator>
				<category><![CDATA[Computer science and math]]></category>
		<category><![CDATA[Polskie]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[haskell]]></category>
		<category><![CDATA[literate programming]]></category>
		<category><![CDATA[tex]]></category>

		<guid isPermaLink="false">http://www.ponton.srednikpe.org/?p=183</guid>
		<description><![CDATA[Ostatnio miałem ponowną styczność z TeX-em, tym razem konkretnie z Beamerem (całkiem fajne narzędzie do tworzenia ładnych i profesjonalnych prezentacji; być może wrzucę tę, którą zrobiłem na zajęcia). Jest to jeden z programów, które są owiane dla mnie lekką tajemnicą&#8230; Już sam fakt że został napisany przez legendarnego Donalda Knutha, powoduje bojaźn i trwogę podczas [...]]]></description>
			<content:encoded><![CDATA[<p>Ostatnio miałem ponowną styczność z TeX-em, tym razem konkretnie z Beamerem (całkiem fajne narzędzie do tworzenia ładnych i profesjonalnych prezentacji; być może wrzucę tę, którą zrobiłem na zajęcia). Jest to jeden z programów, które są owiane dla mnie lekką tajemnicą&#8230; Już sam fakt że został napisany przez legendarnego Donalda Knutha, powoduje bojaźn i trwogę podczas używania. No dobra, przesadzam, ale TeX to program wyjątkowy. Nie dlatego, że jest bezbłędny (ma już ze 30 lat chyba, a ostatni błąd wykryto w nim kilkanaście lat temu), ale dlatego, że jest napisany&#8230; literacko.</p>
<p>Donald Knuth napisał książkę-program pod tytułem <em>TeX: The Program</em> (ISBN: 0201134373). Następnie (a może uprzednio?) napisał narzędzie, które nazwał WEB. WEB pozwalał mu automatycznie skonwertować książkę-program do poprawnego programu w Pascalu (w tamtych czasach był to bardzo popularny język), który po skompilowaniu robił to, co opisano w książkoprogramie. Oprócz tego, pozwalał też wygenerować&#8230; książkę. Z nagłówkami, sekcjami, stronami &#8212; ot, PDF lub PostScript, nadający się do wydrukowania.</p>
<p>Książkoprogram to tak naprawdę dokumentacja i kod w jednym. Programista pisze na przemian kod i tekst. Może przy pisaniu kodu korzystać ze wszystkich dobrodziejstw TeX-a do opisywania swojego kodu, tworzyć odnośniki do innych fragmentów kodu, etc. Lepiej to zobaczyć na przykładzie: <a href="http://srednikpe.org/src/kwadrat/kwadrat.w">kwadrat.w</a>. Użyłem wesji WEB dla C/C++, która nazywa się <a title="CWEB" href="http://www-cs-faculty.stanford.edu/~knuth/cweb.html">CWEB</a>. Aby otrzymać program C, wystarczy polecnie:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ ctangle kwadrat
This is CTANGLE, Version <span style="color: #000000;">3.64</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>Web2C 7.5.6<span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
Writing the output <span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>kwadrat.c<span style="color: #7a0874; font-weight: bold;">&#41;</span>:
Done.
<span style="color: #7a0874; font-weight: bold;">&#40;</span>No errors were found.<span style="color: #7a0874; font-weight: bold;">&#41;</span>
$ <span style="color: #c20cb9; font-weight: bold;">gcc</span> <span style="color: #660033;">-o</span> kwadrat kwadrat.c <span style="color: #660033;">-lm</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>kwadrat
Podaj a: <span style="color: #000000;">1</span>
Podaj b: <span style="color: #000000;">10</span>
Podaj c: <span style="color: #000000;">5</span>
x = -<span style="color: #000000;">9.472136</span>
x = -<span style="color: #000000;">0.527864</span></pre></div></div>

<p>Aby otrzymać dokument TeX-a, należy napisać:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ cweave kwadrat
This is CWEAVE, Version <span style="color: #000000;">3.64</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>Web2C 7.5.6<span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
Writing the output file...
Writing the index...
Done.
<span style="color: #7a0874; font-weight: bold;">&#40;</span>No errors were found.<span style="color: #7a0874; font-weight: bold;">&#41;</span>
$ pdftex kwadrat.tex
This is pdfTeXk, Version <span style="color: #000000;">3.141592</span>-1.40.3 <span style="color: #7a0874; font-weight: bold;">&#40;</span>Web2C 7.5.6<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#40;</span>...<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Output written on kwadrat.pdf <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">3</span> pages, <span style="color: #000000;">63651</span> bytes<span style="color: #7a0874; font-weight: bold;">&#41;</span>.
Transcript written on kwadrat.log.</pre></div></div>

<p>Oto wygenerowane pliki: <a href="http://srednikpe.org/src/kwadrat/kwadrat.tex">kwadrat.tex</a>, <a href="http://srednikpe.org/src/kwadrat/kwadrat.pdf">kwadrat.pdf</a> i <a href="http://srednikpe.org/src/kwadrat/kwadrat.c">kwadrat.c</a>. Niestety nie wiem jak zmusić czystego TeX-a do poprawnego czytania UTF-8, dlatego w PDF-ie nie ma polskich liter.</p>
<p>Szczerze mówiąc nie mam zdania na temat <em>literate programming</em>. Jeśli ktoś lubi tak pisać, to proszę bardzo &#8212; całkiem przyjemnie się czyta taki dokument. Jednak ja nie lubię się rozpisywać nad kodem, dla mnie sam kod (z komentarzami) stanowi wystarczającą dokumentację. ;)</p>
<p>Warto jeszcze dodać, że wsparcie dla <em>literate programming</em> jest zaimplementowane w Haskellu. Ale to już lepiej poczytać na <a title="Literate programming in Haskell" href="http://www.haskell.org/haskellwiki/Literate_programming">Haskell Wiki</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ponton.srednikpe.org/2009/01/10/programowanie-literackie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
