<?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>Arkadiusz Hiler's blog &#187; programowanie</title>
	<atom:link href="http://blog.hiler.pl/category/programowanie/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hiler.pl</link>
	<description></description>
	<lastBuildDate>Sat, 24 Dec 2011 14:33:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Rails + strefy czasowe</title>
		<link>http://blog.hiler.pl/2011/07/rails-strefy-czasowe/</link>
		<comments>http://blog.hiler.pl/2011/07/rails-strefy-czasowe/#comments</comments>
		<pubDate>Sun, 10 Jul 2011 20:29:01 +0000</pubDate>
		<dc:creator>Arkadiusz Hiler</dc:creator>
				<category><![CDATA[programowanie]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.hiler.pl/?p=298</guid>
		<description><![CDATA[Domyślna strefa czasowa: config/application.rb config.time_zone = 'Warsaw' Preferencje użytkowników: Dodaj pole timezone do modelu. walidacja w modelu validates :timezone, :inclusion =&#62; &#123; :in =&#62; ActiveSupport::TimeZone.all.map&#40;&#38;:name&#41; &#125; widok &#60;%= label_tag t&#40;'users.form.timezone'&#41; %&#62; &#60;br/&#62; &#60;%= time_zone_select&#40;:user, :timezone&#41; %&#62; app/controllers/application_controller.rb before_filter :set_user_time_zone &#160; protected def set_user_time_zone Time.zone = current_user.timezone if logged_in? end]]></description>
			<content:encoded><![CDATA[<h2>Domyślna strefa czasowa:</h2>
<p><strong>config/application.rb</strong></p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">config.<span style="color:#9900CC;">time_zone</span> = <span style="color:#996600;">'Warsaw'</span></pre></div></div>

<h2>Preferencje użytkowników:</h2>
<p><strong>Dodaj pole timezone do modelu.</strong></p>
<p><strong>walidacja w modelu</strong></p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">validates <span style="color:#ff3333; font-weight:bold;">:timezone</span>, 
  <span style="color:#ff3333; font-weight:bold;">:inclusion</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> :<span style="color:#9966CC; font-weight:bold;">in</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> ActiveSupport::<span style="color:#CC00FF; font-weight:bold;">TimeZone</span>.<span style="color:#9900CC;">all</span>.<span style="color:#9900CC;">map</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&amp;</span>:name<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#125;</span></pre></div></div>

<p><strong>widok</strong></p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">&lt;%</span>= label_tag t<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'users.form.timezone'</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span> &lt;br/&gt;
<span style="color:#006600; font-weight:bold;">&lt;%</span>= time_zone_select<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:user</span>, <span style="color:#ff3333; font-weight:bold;">:timezone</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">%&gt;</span></pre></div></div>

<p><strong>app/controllers/application_controller.rb</strong></p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">before_filter <span style="color:#ff3333; font-weight:bold;">:set_user_time_zone</span>
&nbsp;
protected
<span style="color:#9966CC; font-weight:bold;">def</span> set_user_time_zone
  <span style="color:#CC00FF; font-weight:bold;">Time</span>.<span style="color:#9900CC;">zone</span> = current_user.<span style="color:#9900CC;">timezone</span> <span style="color:#9966CC; font-weight:bold;">if</span> logged_in?
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.hiler.pl/2011/07/rails-strefy-czasowe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails app + Git revision na stronie</title>
		<link>http://blog.hiler.pl/2011/07/rails-app-git-revision-na-stronie/</link>
		<comments>http://blog.hiler.pl/2011/07/rails-app-git-revision-na-stronie/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 11:08:35 +0000</pubDate>
		<dc:creator>Arkadiusz Hiler</dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.hiler.pl/?p=289</guid>
		<description><![CDATA[Podanie bieżącej wersji aplikacji gdzieś na stronie jest przydatne &#8211; dodatkowe informacje przy zgłaszaniu błędów + lanserski efekt. Bardzo często serwujemy aplikację wprost z repozytorium Gita, więc czemu nie podać rewizji? Użyjemy git describe, które wyświetla wersję w postaci: ostani_tag-odległość_od_taga-początek_sha1 Z przełącznikiem --dirty dodaje na końcu -dirty jeśli working tree nie jest czyste. (musi być [...]]]></description>
			<content:encoded><![CDATA[<p>Podanie bieżącej wersji aplikacji gdzieś na stronie jest przydatne &#8211; dodatkowe informacje przy zgłaszaniu błędów + lanserski efekt.</p>
<p>Bardzo często serwujemy aplikację wprost z repozytorium Gita, więc czemu nie podać rewizji?</p>
<p><a href="http://blog.hiler.pl/wp-content/uploads/2011/07/footer.png"><img src="http://blog.hiler.pl/wp-content/uploads/2011/07/footer.png" alt="" title="footer" width="377" height="54" class="aligncenter size-full wp-image-290" /></a></p>
<p>Użyjemy <code>git describe</code>, które wyświetla wersję w postaci:<br />
<code>ostani_tag-odległość_od_taga-początek_sha1</code></p>
<p>Z przełącznikiem <code>--dirty</code> dodaje na końcu <code>-dirty</code> jeśli working tree nie jest czyste.<br />
(musi być przynajmniej jeden tag w repozytorium)</p>
<p>Wydobądźmy interesujące nas informacje raz, przy ładowaniu aplikacji.<br />
<strong>lib/git_info.rb</strong></p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">module</span> GitInfo
  BRANCH = <span style="color:#996600;">`git status`</span>.<span style="color:#CC0066; font-weight:bold;">split</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">3</span><span style="color:#006600; font-weight:bold;">&#93;</span>
  REPO_VERSION = <span style="color:#996600;">`git describe --dirty`</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>Można to zrobić za pomocą <strong>gemu grit</strong>, jednak zrezygnowałem z dodawania zależności.</p>
<p>Rails 3 nie ładuje automatycznie plików z <strong>lib/</strong>. Można go załadować pojedynczo lub włączyć ładowanie wszystkiego z lib:<br />
<strong>config/application.rb</strong></p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">    config.<span style="color:#9900CC;">autoload_paths</span> <span style="color:#006600; font-weight:bold;">+</span>= <span style="color:#006600; font-weight:bold;">%</span>W<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#008000; font-style:italic;">#{config.root}/lib)</span></pre></div></div>

<p><strong>app/views/layouts/application.html.erb</strong></p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">...
&lt;div id=&quot;footer&quot;&gt;
    &lt;div id=&quot;version&quot;&gt;
        &lt;span id=&quot;branch&quot;&gt;<span style="color:#006600; font-weight:bold;">&lt;%</span>= <span style="color:#6666ff; font-weight:bold;">GitInfo::BRANCH</span> <span style="color:#006600; font-weight:bold;">%&gt;</span> branch&lt;/span&gt;
        &lt;span id=&quot;revision&quot;&gt;
            rev. 
            &lt;span id=&quot;number&quot;&gt;
                <span style="color:#006600; font-weight:bold;">&lt;%</span>= <span style="color:#6666ff; font-weight:bold;">GitInfo::REPO_VERSION</span> <span style="color:#006600; font-weight:bold;">%&gt;</span>;
            &lt;/span&gt;
        &lt;/span&gt;
    &lt;/div&gt;
&lt;/div&gt;
...</pre></div></div>

<p>+ trochę magii w CSSie i otrzymujemy przyjemny rezultat z początku wpisu.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hiler.pl/2011/07/rails-app-git-revision-na-stronie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gitolite + Redmine</title>
		<link>http://blog.hiler.pl/2011/07/gitolite-redmine/</link>
		<comments>http://blog.hiler.pl/2011/07/gitolite-redmine/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 13:47:46 +0000</pubDate>
		<dc:creator>Arkadiusz Hiler</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.hiler.pl/?p=288</guid>
		<description><![CDATA[Github: https://github.com/ivyl/redmine-gitolite Historia: Potrzebowałem czegoś co dałoby mi dostęp do repozytoriów Gitolite z poziomu Redmine. Powszechnym podejściem jest ustawianie zadań crona, które co jakiś czas uaktualniają lokalną kopię repozytorium do której dostęp ma Redmine. Problemem jest ręczne dodawanie uprawnień i pamiętanie o gwarancji dostępu dla użytkownika uruchamiającego Redmine. A co z zarządzaniem kluczami dla różnych [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Github:</strong><br />
<a href="https://github.com/ivyl/redmine-gitolite">https://github.com/ivyl/redmine-gitolite</a></p>
<p><strong>Historia:</strong><br />
Potrzebowałem czegoś co dałoby mi dostęp do repozytoriów Gitolite z poziomu Redmine.<br />
Powszechnym podejściem jest ustawianie zadań crona, które co jakiś czas uaktualniają lokalną kopię repozytorium do której dostęp ma Redmine.<br />
Problemem jest ręczne dodawanie uprawnień i pamiętanie o gwarancji dostępu dla użytkownika uruchamiającego Redmine.</p>
<p>A co z zarządzaniem kluczami dla różnych użytkowników? Co z automatycznym nadawaniem praw do projektu?<br />
Znalazłem dwa rozwiązania &#8211; zaniedbane i niekompatybilne ze sobą.</p>
<p>https://github.com/kahseng/redmine_gitolite_hook</p>
<p>https://github.com/jhogendorn/redmine-gitolite</p>
<p>Pierwszy dawał hooka umożliwiającego automatyczne aktualizowanie lokalnej kopii repozytorium przez redmine,<br />
drugi umożliwiał zarządzanie gitolitem (stare pliki konfiguracyjne, nie działał).</p>
<p>Przysiadłem nad nimi w wolnych chwilach i tak powstał mój redmine-gitolite.</p>
<p>Zachęcam do testowania/używania.<br />
<strong>Wszelkie potrzebne informacje w README</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hiler.pl/2011/07/gitolite-redmine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8222;Programming in Scala&#8221; za darmo!</title>
		<link>http://blog.hiler.pl/2011/05/programming-in-scala-za-darm/</link>
		<comments>http://blog.hiler.pl/2011/05/programming-in-scala-za-darm/#comments</comments>
		<pubDate>Sat, 21 May 2011 21:04:12 +0000</pubDate>
		<dc:creator>Arkadiusz Hiler</dc:creator>
				<category><![CDATA[programowanie]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://blog.hiler.pl/?p=282</guid>
		<description><![CDATA[Od jakiegoś czasu, za darmo dostępna jest pierwsza edycja &#8222;Programming in Scala&#8221;. Nie wiem jak to przeoczyłem. Zachęcam do lektury (pisana m.in. przez samego Oderskyego).]]></description>
			<content:encoded><![CDATA[<p>Od jakiegoś czasu, za darmo dostępna jest pierwsza edycja <a href="http://www.artima.com/pins1ed/">&#8222;Programming in Scala&#8221;</a>. Nie wiem jak to przeoczyłem. Zachęcam do lektury (pisana m.in. przez samego Oderskyego).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hiler.pl/2011/05/programming-in-scala-za-darm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>db4o</title>
		<link>http://blog.hiler.pl/2011/04/prezentacja-db4o/</link>
		<comments>http://blog.hiler.pl/2011/04/prezentacja-db4o/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 18:30:28 +0000</pubDate>
		<dc:creator>Arkadiusz Hiler</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[prezentacje]]></category>
		<category><![CDATA[programowanie]]></category>

		<guid isPermaLink="false">http://blog.hiler.pl/?p=274</guid>
		<description><![CDATA[Kolejna prezentacja przygotowana na koło naukowe. Tematem jest otwarta, obiektowa baza danych. Tym razem w showoffie. Może być dziwnie wyświetlana na operze (FF4 i Chromium radzą sobie bez problemów). http://presentations.hiler.pl/db4o/ Edit: Teraz dostępna na Issuu oraz jako PDF]]></description>
			<content:encoded><![CDATA[<p>Kolejna prezentacja przygotowana na koło naukowe. Tematem jest otwarta, obiektowa baza danych. Tym razem w showoffie. Może być dziwnie wyświetlana na operze (FF4 i Chromium radzą sobie bez problemów).</p>
<p><a href="http://presentations.hiler.pl/db4o/">http://presentations.hiler.pl/db4o/</a></p>
<p><strong>Edit:</strong><br />
Teraz dostępna na Issuu oraz jako <a href="http://presentations.hiler.pl/db4o.pdf">PDF</a></p>
<div style="text-align: center;"><object style="width:420px;height:315px" ><param name="movie" value="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110521211901-a10b4bf284b54e92858c3755ff748da8&amp;docName=db4o&amp;username=ivyl&amp;loadingInfoText=DB4O&amp;et=1306013348327&amp;er=34" /><param name="allowfullscreen" value="true"/><param name="menu" value="false"/><embed src="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf" type="application/x-shockwave-flash" allowfullscreen="true" menu="false" style="width:420px;height:315px" flashvars="mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110521211901-a10b4bf284b54e92858c3755ff748da8&amp;docName=db4o&amp;username=ivyl&amp;loadingInfoText=DB4O&amp;et=1306013348327&amp;er=34" /></object></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hiler.pl/2011/04/prezentacja-db4o/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gedit-mate żyje!</title>
		<link>http://blog.hiler.pl/2011/03/gedit-mate-zyje/</link>
		<comments>http://blog.hiler.pl/2011/03/gedit-mate-zyje/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 22:20:45 +0000</pubDate>
		<dc:creator>Arkadiusz Hiler</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[projekty]]></category>

		<guid isPermaLink="false">http://blog.hiler.pl/?p=264</guid>
		<description><![CDATA[Pamiętacie gedit-mate, zestaw pluginów/themów/itp. do gedita umilających programowanie? Okazuje się, że żył przez pewien czas własnym życiem. Dorobił się 59 watchów i 9 forków. Kilka osób zadbało o aktualizację i nowe pluginy. Jestem dumny. Ostanio zainteresowałem się nim ponownie. Dodałem zmiany zrobione przez innych do oryginalnego repozytorium. Niedługo przetrzebię pluginy i wydzielę niekompatybilne z nowszymi [...]]]></description>
			<content:encoded><![CDATA[<p>Pamiętacie <a href="https://github.com/ivyl/gedit-mate">gedit-mate</a>, zestaw pluginów/themów/itp. do gedita umilających programowanie? Okazuje się, że żył przez pewien czas własnym życiem.</p>
<p>Dorobił się 59 watchów i 9 forków. Kilka osób zadbało o aktualizację i nowe pluginy. Jestem dumny.</p>
<p>Ostanio zainteresowałem się nim ponownie. Dodałem zmiany zrobione przez innych do oryginalnego repozytorium. Niedługo przetrzebię pluginy i wydzielę niekompatybilne z nowszymi geditami (albo spróbuję ukompatybilnć). Znalazłem przypadkiem repozytorium pluginu gedit-run, którego zostawiłem w połowie rozgrzebanego. Wypadało by dokończyć.</p>
<p>Ostatnio stałem się bardziej sumienny z pracą nad darmowymi projektami, więc możecie liczyć na kontynuację.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hiler.pl/2011/03/gedit-mate-zyje/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wprowadzenie do Actor Model</title>
		<link>http://blog.hiler.pl/2011/03/wprowadzenie-do-actor-model/</link>
		<comments>http://blog.hiler.pl/2011/03/wprowadzenie-do-actor-model/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 22:04:35 +0000</pubDate>
		<dc:creator>Arkadiusz Hiler</dc:creator>
				<category><![CDATA[prezentacje]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://blog.hiler.pl/?p=255</guid>
		<description><![CDATA[W ramach koła naukowego kontynuowałem cykl prezentacji o alternatywnych językach na JVM i Scali. Tym razem było o aktorach. Poprzednie prezentacje zostały uaktualnione/poprawione. Aktorzy &#8211; współbieżność sterowana asynchronicznymi wiadomoścami Open publication &#8211; Free publishing &#8211; More actor model]]></description>
			<content:encoded><![CDATA[<p>W ramach koła naukowego kontynuowałem cykl prezentacji o alternatywnych językach na JVM i Scali. Tym razem było o aktorach. <a href="http://blog.hiler.pl/2010/11/prezentacja-jvm-scala/">Poprzednie prezentacje</a> zostały uaktualnione/poprawione.</p>
<p><a href="http://dl.dropbox.com/u/106118/eti/scala_actors.pdf">Aktorzy &#8211; współbieżność sterowana asynchronicznymi wiadomoścami</a></p>
<div style="text-align: center;"><object style="width: 420px; height: 315px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="menu" value="false" /><param name="src" value="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312215340-1e019c45391841dcbe1716274bde8ae8&amp;docName=actor_model&amp;username=ivyl&amp;loadingInfoText=Aktorzy%20-%20wsp%C3%B3%C5%82bie%C5%BCno%C5%9B%C4%87%20sterowana%20asynchronicznymi%20wiadomo%C5%9Bciomi&amp;et=1299967400929&amp;er=53" /><param name="flashvars" value="mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312215340-1e019c45391841dcbe1716274bde8ae8&amp;docName=actor_model&amp;username=ivyl&amp;loadingInfoText=Aktorzy%20-%20wsp%C3%B3%C5%82bie%C5%BCno%C5%9B%C4%87%20sterowana%20asynchronicznymi%20wiadomo%C5%9Bciomi&amp;et=1299967400929&amp;er=53" /><embed style="width: 420px; height: 315px;" type="application/x-shockwave-flash" width="100" height="100" src="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312215340-1e019c45391841dcbe1716274bde8ae8&amp;docName=actor_model&amp;username=ivyl&amp;loadingInfoText=Aktorzy%20-%20wsp%C3%B3%C5%82bie%C5%BCno%C5%9B%C4%87%20sterowana%20asynchronicznymi%20wiadomo%C5%9Bciomi&amp;et=1299967400929&amp;er=53" flashvars="mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312215340-1e019c45391841dcbe1716274bde8ae8&amp;docName=actor_model&amp;username=ivyl&amp;loadingInfoText=Aktorzy%20-%20wsp%C3%B3%C5%82bie%C5%BCno%C5%9B%C4%87%20sterowana%20asynchronicznymi%20wiadomo%C5%9Bciomi&amp;et=1299967400929&amp;er=53" menu="false" allowfullscreen="true"></embed></object></p>
<div style="width: 420px; text-align: center;"><a href="http://issuu.com/ivyl/docs/actor_model?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true" target="_blank">Open publication</a> &#8211; Free <a href="http://issuu.com" target="_blank">publishing</a> &#8211; <a href="http://issuu.com/search?q=actor%20model" target="_blank">More actor model</a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hiler.pl/2011/03/wprowadzenie-do-actor-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZSH</title>
		<link>http://blog.hiler.pl/2011/03/zsh/</link>
		<comments>http://blog.hiler.pl/2011/03/zsh/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 21:38:33 +0000</pubDate>
		<dc:creator>Arkadiusz Hiler</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[projekty]]></category>

		<guid isPermaLink="false">http://blog.hiler.pl/?p=251</guid>
		<description><![CDATA[Nadszedł taki tydzień, że mam dużo do roboty, więc postanowiłem przysiąść i zrobić coś zupełnie innego niż powiniennem &#8211; skonfigurowałem zsh porządnie. Teraz działa i jest ładnie. Postarałem się by całą konfikurację było wygodnie aktualizować i personalizować (używam na wszystkich maszynach). Polecam wszystykim przesiadkę z basha (jesli ktoś się jeszcze nie domyślił zsh to shell) [...]]]></description>
			<content:encoded><![CDATA[<p>Nadszedł taki tydzień, że mam dużo do roboty, więc postanowiłem przysiąść i zrobić coś zupełnie innego niż powiniennem &#8211; skonfigurowałem <a href="http://www.zsh.org/">zsh</a> porządnie. Teraz działa i jest ładnie. Postarałem się by całą konfikurację było wygodnie aktualizować i personalizować (używam na wszystkich maszynach).</p>
<p>Polecam wszystykim przesiadkę z basha (jesli ktoś się jeszcze nie domyślił zsh to shell) . Jest go znacznie łatwiej konfigurować. Wygodniejszy, przyjaźniejszy, ładniejszy. Spróbujcie. Przejrzyjcie przykładową konfigurację a powinniście się przekonać.</p>
<p>Więcej w README repozytorium na githubie (link poniżej).</p>
<p><a href="https://github.com/ivyl/zsh-config">zsh-config</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hiler.pl/2011/03/zsh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prezentacja JVM + Scala</title>
		<link>http://blog.hiler.pl/2010/11/prezentacja-jvm-scala/</link>
		<comments>http://blog.hiler.pl/2010/11/prezentacja-jvm-scala/#comments</comments>
		<pubDate>Thu, 18 Nov 2010 20:17:40 +0000</pubDate>
		<dc:creator>Arkadiusz Hiler</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[prezentacje]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://blog.hiler.pl/?p=238</guid>
		<description><![CDATA[Dzisiaj na kole naukowym, miałem okazję poprowadzić dwie prezentację. Pierwsza dotyczyła języków programowania na JVM, w której skupiłem się głównie na sensie i zastosowaniach,  druga natomiast stanowiła krótki wprowadzenie do Scali. Mam nadzieję, że nigdzie na załączonych slajdach nie skłamałem. Prezentacje można ściągnąć: JVM i Scala lub do obejrzenia na Issuu: Open publication &#8211; Free [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">Dzisiaj na kole naukowym, miałem okazję poprowadzić dwie prezentację. Pierwsza dotyczyła języków programowania na JVM, w której skupiłem się głównie na sensie i zastosowaniach,  druga natomiast stanowiła krótki wprowadzenie do Scali.</p>
<p>Mam nadzieję, że nigdzie na załączonych slajdach nie skłamałem.</p>
<p>Prezentacje można ściągnąć: <a href="http://dl.dropbox.com/u/106118/eti/JVM.pdf">JVM</a> i <a href="http://dl.dropbox.com/u/106118/eti/scala.pdf">Scala</a></p>
<p>lub do obejrzenia na Issuu:</p>
<div style="text-align: center;"><object style="width: 420px; height: 315px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="menu" value="false" /><param name="src" value="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312214800-b56edf4fc59d44a59e17a1fc1646cea2&amp;docName=jvm&amp;username=ivyl&amp;loadingInfoText=JVM&amp;et=1299967095785&amp;er=53" /><param name="flashvars" value="mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312214800-b56edf4fc59d44a59e17a1fc1646cea2&amp;docName=jvm&amp;username=ivyl&amp;loadingInfoText=JVM&amp;et=1299967095785&amp;er=53" /><embed style="width: 420px; height: 315px;" type="application/x-shockwave-flash" width="100" height="100" src="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312214800-b56edf4fc59d44a59e17a1fc1646cea2&amp;docName=jvm&amp;username=ivyl&amp;loadingInfoText=JVM&amp;et=1299967095785&amp;er=53" flashvars="mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312214800-b56edf4fc59d44a59e17a1fc1646cea2&amp;docName=jvm&amp;username=ivyl&amp;loadingInfoText=JVM&amp;et=1299967095785&amp;er=53" menu="false" allowfullscreen="true"></embed></object></p>
<div style="width: 420px; text-align: center;"><a href="http://issuu.com/ivyl/docs/jvm?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true" target="_blank">Open publication</a> &#8211; Free <a href="http://issuu.com" target="_blank">publishing</a> &#8211; <a href="http://issuu.com/search?q=jvm" target="_blank">More jvm</a></div>
<p><br/><br/></p>
<div><object style="width: 420px; height: 315px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="menu" value="false" /><param name="src" value="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312214937-193f918f745645ef9123cd5f6d4788b4&amp;docName=scala&amp;username=ivyl&amp;loadingInfoText=Scala%20-%20kr%C3%B3tkie%20wprowadzenie&amp;et=1299967195203&amp;er=20" /><param name="flashvars" value="mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312214937-193f918f745645ef9123cd5f6d4788b4&amp;docName=scala&amp;username=ivyl&amp;loadingInfoText=Scala%20-%20kr%C3%B3tkie%20wprowadzenie&amp;et=1299967195203&amp;er=20" /><embed style="width: 420px; height: 315px;" type="application/x-shockwave-flash" width="100" height="100" src="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312214937-193f918f745645ef9123cd5f6d4788b4&amp;docName=scala&amp;username=ivyl&amp;loadingInfoText=Scala%20-%20kr%C3%B3tkie%20wprowadzenie&amp;et=1299967195203&amp;er=20" flashvars="mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110312214937-193f918f745645ef9123cd5f6d4788b4&amp;docName=scala&amp;username=ivyl&amp;loadingInfoText=Scala%20-%20kr%C3%B3tkie%20wprowadzenie&amp;et=1299967195203&amp;er=20" menu="false" allowfullscreen="true"></embed></object></p>
<div style="width: 420px; text-align: center;"><a href="http://issuu.com/ivyl/docs/scala?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true" target="_blank">Open publication</a> &#8211; Free <a href="http://issuu.com" target="_blank">publishing</a> &#8211; <a href="http://issuu.com/search?q=introduction" target="_blank">More introduction</a></div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hiler.pl/2010/11/prezentacja-jvm-scala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python Challenge (in Ruby&#8230;)</title>
		<link>http://blog.hiler.pl/2008/11/python-challenge/</link>
		<comments>http://blog.hiler.pl/2008/11/python-challenge/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 14:24:24 +0000</pubDate>
		<dc:creator>Arkadiusz Hiler</dc:creator>
				<category><![CDATA[programowanie]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://hiler.pl/?p=165</guid>
		<description><![CDATA[Dzięki Radarkowi poznałem Python Challenge. Jeśli ktoś zna notpron, dobrze się bawił i zna się trochę na programowaniu to polecam. W tytule jest co prawda Python, ale niemal wszystkie zadania da się rozwiązać w czymkolwiek (niektóre nawet z poziomu shella i w klikanych programach). Do tej pory tylko do rozwiązania 5 zadania była potrzebna znajomość [...]]]></description>
			<content:encoded><![CDATA[<p>Dzięki <a href="http://radarek.jogger.pl">Radarkowi</a> poznałem <a href="http://www.pythonchallenge.com/">Python Challenge</a>. Jeśli ktoś zna <a href="http://www.deathball.net/notpron/">notpron</a>, dobrze się bawił i zna się trochę na programowaniu to polecam. W tytule jest co prawda Python, ale niemal wszystkie zadania da się rozwiązać w czymkolwiek (niektóre nawet z poziomu shella i w klikanych programach).</p>
<p>Do tej pory tylko do rozwiązania 5 zadania była potrzebna znajomość Pythona, jeśli nie znacie możecie zerknąć niżej.</p>
<p>Spoilery (rozwiązania w Ruby):<br />
<span id="more-165"></span></p>
<p><a href="http://radarek.jogger.pl/2007/05/29/python-ruby-challenge/">1-5 by Radarek</a><br />
<a href="http://radarek.jogger.pl/2008/11/21/python-ruby-challenge-2-poziomy-6-10/">6-10 by Radarek</a><br />
<a href="http://gist.github.com/28118">11+</a> moje, będą dodawane jak znajdę trochę czasu, minimalistyczne i działają</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hiler.pl/2008/11/python-challenge/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

