<?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/"
	>

<channel>
	<title>Japko</title>
	<atom:link href="http://www.japko.net/blog/lang/en/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.japko.net/blog</link>
	<description>Trochę o japkach, trochę o czymś innym</description>
	<pubDate>Tue, 13 Jul 2010 20:46:22 +0000</pubDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Simple iPhone FPP 3D engine</title>
		<link>http://www.japko.net/blog/lang/en/2010/07/13/prosty-silnik-3d-na-iphone-simple-iphone-fpp-3d-engine</link>
		<comments>http://www.japko.net/blog/lang/en/2010/07/13/prosty-silnik-3d-na-iphone-simple-iphone-fpp-3d-engine#comments</comments>
		<pubDate>Tue, 13 Jul 2010 20:45:58 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
		
		<category><![CDATA[Wszystko inne]]></category>

		<guid isPermaLink="false">http://www.japko.net/blog/?p=127</guid>
		<description><![CDATA[
This will definitely not be a competitor for commercial 3D engines like Unity, however I decided to code simple 3D raycasting engine just for fun. I don&#8217;t see sense making exact copy of desktop-class engine to such small device like iPhone, so it may be a nice starting point towards something interesting.
This proof of concept [...]]]></description>
			<content:encoded><![CDATA[
<p>This will definitely not be a competitor for commercial 3D engines like Unity, however I decided to code simple 3D <a title="raycasting" href="http://en.wikipedia.org/wiki/Ray_casting">raycasting</a> engine just for fun. I don&#8217;t see sense making exact copy of desktop-class engine to such small device like iPhone, so it may be a nice starting point towards something interesting.</p>
<p>This proof of concept has been developed using Cocos2D engine, which is based on OpenGL and actually allows to display 3D content, but with some additional effort needed. I&#8217;ll try to cover it sometime soon.</p>
<div id="attachment_128" class="wp-caption alignleft" style="width: 490px"><img class="size-full wp-image-128" title="iPhone raycasting engine" src="http://www.japko.net/blog/wp-content/uploads/2010/07/raycaster-iphone.jpg" alt="iPhone raycasting engine" width="480" height="320" /><p class="wp-caption-text">iPhone raycasting engine</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.japko.net/blog/lang/en/2010/07/13/prosty-silnik-3d-na-iphone-simple-iphone-fpp-3d-engine/feed</wfw:commentRss>
		</item>
		<item>
		<title>Configure Grails app to run on different port</title>
		<link>http://www.japko.net/blog/lang/en/2010/06/04/zmiana-domyslnego-portu-aplikacji-napisanej-w-grailsrun-grails-app-on-different-port</link>
		<comments>http://www.japko.net/blog/lang/en/2010/06/04/zmiana-domyslnego-portu-aplikacji-napisanej-w-grailsrun-grails-app-on-different-port#comments</comments>
		<pubDate>Fri, 04 Jun 2010 21:10:00 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
		
		<category><![CDATA[Wszystko inne]]></category>

		<category><![CDATA[grails]]></category>

		<category><![CDATA[groovy]]></category>

		<guid isPermaLink="false">http://www.japko.net/blog/?p=122</guid>
		<description><![CDATA[The obvious, and most widely suggested method of changing default HTTP port that Grails app listens on, is to add command line switch:

tomek@jabuszko:~$ grails run-app -Dgrails.server.port.http=9900

Personally, I don&#8217;t like this. Command line became a bit lengthy. Creating extra run configuration in Eclipse. Not for lazy hacker like me. It&#8217;s much simpler to edit grails-app/conf/BuildConfig.groovy, add

grails.server.port.http [...]]]></description>
			<content:encoded><![CDATA[<p>The obvious, and most widely suggested method of changing default HTTP port that Grails app listens on, is to add command line switch:</p>
<blockquote>
<pre>tomek@jabuszko:~$ grails run-app -Dgrails.server.port.http=9900</pre>
</blockquote>
<p>Personally, I don&#8217;t like this. Command line became a bit lengthy. Creating extra run configuration in Eclipse. Not for lazy hacker like me. It&#8217;s much simpler to edit <strong>grails-app/conf/BuildConfig.groovy</strong>, add</p>
<blockquote>
<pre>grails.server.port.http = 9900</pre>
</blockquote>
<p>and voila!</p>

]]></content:encoded>
			<wfw:commentRss>http://www.japko.net/blog/lang/en/2010/06/04/zmiana-domyslnego-portu-aplikacji-napisanej-w-grailsrun-grails-app-on-different-port/feed</wfw:commentRss>
		</item>
		<item>
		<title>Very crash course on Mercurial</title>
		<link>http://www.japko.net/blog/lang/en/2010/05/23/very-crash-course-on-mercurial</link>
		<comments>http://www.japko.net/blog/lang/en/2010/05/23/very-crash-course-on-mercurial#comments</comments>
		<pubDate>Sun, 23 May 2010 19:53:31 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
		
		<category><![CDATA[Wszystko inne]]></category>

		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.japko.net/blog/?p=104</guid>
		<description><![CDATA[Even in small, homebrew projects driven by only one individual, version control system is very welcome. You have vide variety of options to choose from, but in my research i limited myself to ones I know, or at least heard good opinion.

CVS is getting obsolete now, it is outperformed by younger brothers and missing some [...]]]></description>
			<content:encoded><![CDATA[<p>Even in small, homebrew projects driven by only one individual, version control system is very welcome. You have vide variety of options to choose from, but in my research i limited myself to ones I know, or at least heard good opinion.</p>

<p><strong><span id="more-104"></span></strong><strong>CVS</strong> is getting obsolete now, it is outperformed by younger brothers and missing some very useful features.</p>
<p><strong><a href="http://subversion.tigris.org/">Subversion</a></strong> (SVN) smells much better, I use it everyday in my day job. Think of it like a CVS on steroids. Branches and tags are cheap. Renames are supported (unlike CVS). Popular and widely supported.</p>
<p><strong><a href="http://git-scm.com/">Git</a></strong> has been recetly very popular in open source community, I notice that many of open source libs I download from GitHub. Once reluctant, I now managed to install git client and learned that &#8220;checkout&#8221; is now called &#8220;pull&#8221; <img src='http://www.japko.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong><a href="http://mercurial.selenic.com/">Mercurial</a></strong>&#8217;s name sounds totally strange, but I decided to give it a try as a candidate for my private SCM. Think of it like Git on steroids: <a href="http://hgbook.red-bean.com/">well documented</a>, written in Python, so it is ultraportable, and as a bonus there is free, graphical client for Mac OS X - <a href="http://bitbucket.org/snej/murky">Murky</a>.</p>
<p>Git and Mercurial represent distributed family of version control systems. In simple words, that means that local working copy has features of repository - you can commit, rollback, create tags, branches or however it is called. SCM plays role of source code backup. It that is not a requirement for you - in my case I have backup work managed by Time Machine.</p>
<h2>Introducing Mercurial to existing project</h2>
<p>First of all, let&#8217;s configure Mercurial user name to stop hg from complaining. Create .hgrc in you home directory (type hg help config for hit what actually is a home directory in your OS). OS X and Linux users may type</p>
<blockquote>
<pre><strong><span style="font-weight: normal;">tomek$ </span>vi $HOME/.hgrc</strong></pre>
</blockquote>
<p>Configuration file is M$ INI-style filename, for start we just enter our username:</p>
<blockquote>
<pre>[ui]
username = Tomek Cejner &lt;do not want any spam@japko.net&gt;</pre>
</blockquote>
<p>Making a project a repository is actually a piece of cake. Just enter the directory where project resides and:</p>
<blockquote>
<pre><strong><span style="font-weight: normal;">tomek$ </span>hg init</strong></pre>
</blockquote>
<p>Mercurial does not try to reinvent a wheel, so command set is well known for all users of SVN and CVS. Just use intutition:</p>
<blockquote>
<pre><strong><span style="font-weight: normal;">tomek$ </span>hg add *</strong>
<strong><span style="font-weight: normal;">tomek$ </span>hg commit</strong></pre>
</blockquote>
<p>And voila! Your project is version-controlled. No remote repository setup needed. No hassle with configuration. You can move your work to remote, safe repository at any moment later. Let&#8217;s verify what do we have:</p>
<blockquote>
<pre>tomek$ <strong>hg summary</strong></pre>
<pre><span style="font-family: mceinline;">parent: 0:e64337dfc589 tip
Initial commit
branch: default
commit: (clean)
update: (current)</span></pre>
</blockquote>
<p>&#8220;Tip&#8221; is actually synonym for HEAD (sure, Mercurial devs didn&#8217;t want to make it so similar to SVN :). Initial commit is my first comment, and project looks untouched.</p>
<p>This post was intended to be a quick intro, with slight note of evangelism to tell that despite of weird name, Mercurial is very programmer-friendly tool and quick to adopt.</p>
<p>For those uncertain, here is a nice <a href="http://versioncontrolblog.com/comparison/CVS/Git/Mercurial/Subversion/index.html">comparison of most popular SCMs</a>.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.japko.net/blog/lang/en/2010/05/23/very-crash-course-on-mercurial/feed</wfw:commentRss>
		</item>
		<item>
		<title>Posługiwanie się iPhonem</title>
		<link>http://www.japko.net/blog/lang/en/2010/03/30/poslugiwanie-sie-iphonem</link>
		<comments>http://www.japko.net/blog/lang/en/2010/03/30/poslugiwanie-sie-iphonem#comments</comments>
		<pubDate>Tue, 30 Mar 2010 22:12:52 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
		
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.japko.net/blog/?p=101</guid>
		<description><![CDATA[Instrukcje obsługi czytać nie tylko należy, ale i warto. Wydrukowana drobnym maczkiem książeczka &#8220;Ważne informacje o produkcie&#8221;, przedstawia katalog czynności, które są zabronione:
&#8220;Nie należy rzucać, rozbierać, otwierać, zgniatać, zginać, deformować, nakłuwać, skrobać, wkładać do kuchenki mikrofalowej, palić, malować, wkładać ciał obcych do wnętrzna iPhone&#8217;a&#8221;
Sposób sformułowania sugeruje że katalog jest zamknięty, więc od mojej kreatywności zależy [...]]]></description>
			<content:encoded><![CDATA[<p>Instrukcje obsługi czytać nie tylko należy, ale i warto. Wydrukowana drobnym maczkiem książeczka &#8220;Ważne informacje o produkcie&#8221;, przedstawia katalog czynności, które są zabronione:</p>
<blockquote><p><em>&#8220;Nie należy rzucać, rozbierać, otwierać, zgniatać, zginać, deformować, nakłuwać, skrobać, wkładać do kuchenki mikrofalowej, palić, malować, wkładać ciał obcych do wnętrzna iPhone&#8217;a&#8221;</em></p></blockquote>
<p>Sposób sformułowania sugeruje że katalog jest zamknięty, więc od mojej kreatywności zależy co mogę zrobić z telefonem. Nie jest zabronione ubieranie (ale rozbieranie już tak - lepiej się zastanowić), lizanie, ani wkładanie do kuchenki gazowej (ja mam elektryczną z termoobirgiem).</p>
<p>Apple służy również dobrą radą kierowcom samochodów: gdy w trasie zadzwoni Twój iPhone, <em>&#8220;poinformuj osobę, z którą rozmawiasz, że prowadzisz&#8221;</em>. Gdy już poinformujesz, możecie się zastanowić czy warto rozmawiać. Ale Apple ostrzega, że <em>&#8220;prowadzenie w deszczu, deszczu ze śniegiem, przy oblodzeniu, we mgle i dużym ruchu może być niebezpieczne&#8221;</em>. Gdy jednak koniecznie musisz pogadać, zalecana jest asertywność: <em>&#8220;nie angażuj się w stresujące lub nerwowe rozmowy, które mogą odwracać uwagę&#8221;</em>.</p>
<p>Z poważniejszych ciekawostek warto zwrócić uwagę, że we <strong>Francji</strong> i we <strong>Włoszech</strong> iPhone jest przeznaczony tylko do użytku wewnątrz pomieszczeń.</p>
<p>Również budząca emocje kwestia zmiany kolorów czujników wilgoci jest niejako wyjaśniona przez zakaz używania iPhone&#8217;a w deszczu, w pobliżu zbiorników wodnych ani w innych wilgotnych miejscach. A dopuszczalne temperatury pracy mieszczą się w zakresie 0-35 stopni, co zimą wymusza odpowiednio warstwowe ubieranie się: trzymając telefon w zewnętrznej kieszeni możemy narazić go na mróz, z kolei zbyt blisko ciała możemy osiągnąć temperaturę 37 stopni (zatem nie wolno chorować!), że nie wspomnę o nadmiernej wilgoci na skutek pocenia się (nie biegać na autobus, jechać następnym!).</p>
<p>Wszystko wskazuje na to, że życie z iPhonem może być uciążliwe, ale ostatecznie wyjdzie nam na zdrowie.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.japko.net/blog/lang/en/2010/03/30/poslugiwanie-sie-iphonem/feed</wfw:commentRss>
		</item>
		<item>
		<title>Tinted navigation bar</title>
		<link>http://www.japko.net/blog/lang/en/2009/10/08/zmiana-odcienia-paska-nawigacji</link>
		<comments>http://www.japko.net/blog/lang/en/2009/10/08/zmiana-odcienia-paska-nawigacji#comments</comments>
		<pubDate>Thu, 08 Oct 2009 17:51:19 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
		
		<category><![CDATA[Wszystko inne]]></category>

		<category><![CDATA[iphone programowanie]]></category>

		<guid isPermaLink="false">http://www.japko.net/blog/?p=93</guid>
		<description><![CDATA[During customization of our app&#8217;s user interface, sometimes you may want to change tint of the UINavigationBar. It is apparently possible by code. Just type the following in view controller that is first loaded into navigation stack:
self.navigationController.navigationBar.tintColor = [UIColor redColor];
And you&#8217;ll get nice bloody-red tint of navigation bar.

]]></description>
			<content:encoded><![CDATA[<p>During customization of our app&#8217;s user interface, sometimes you may want to change tint of the UINavigationBar. It is apparently possible by code. Just type the following in view controller that is first loaded into navigation stack:</p>
<pre>self.navigationController.navigationBar.tintColor = [UIColor redColor];</pre>
<p>And you&#8217;ll get nice bloody-red tint of navigation bar.</p>

<div id="attachment_97" class="wp-caption alignleft" style="width: 366px"><img class="size-full wp-image-97" title="tinted-navigation-bar" src="http://www.japko.net/blog/wp-content/uploads/2009/10/tinted-navigation-bar.png" alt="Tinted iPhone navigation bar" width="356" height="82" /><p class="wp-caption-text">Tinted iPhone navigation bar</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.japko.net/blog/lang/en/2009/10/08/zmiana-odcienia-paska-nawigacji/feed</wfw:commentRss>
		</item>
		<item>
		<title>SRTool 0.9.5</title>
		<link>http://www.japko.net/blog/lang/en/2009/08/20/srtool-095</link>
		<comments>http://www.japko.net/blog/lang/en/2009/08/20/srtool-095#comments</comments>
		<pubDate>Thu, 20 Aug 2009 19:00:48 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
		
		<category><![CDATA[Wszystko inne]]></category>

		<guid isPermaLink="false">http://www.japko.net/blog/?p=79</guid>
		<description><![CDATA[
Update to SRTool has been just released. It is mainly a bigfix release:

Improved detection of AVI file framerate
Improved handling of incorrectly formatted subtitle files

So, go to SRTool page now!

]]></description>
			<content:encoded><![CDATA[<p><br />
Update to SRTool has been just released. It is mainly a bigfix release:</p>
<ul>
<li>Improved detection of AVI file framerate</li>
<li>Improved handling of incorrectly formatted subtitle files</li>
</ul>
<p>So, go to <a href="http://www.japko.net/blog/srtool/">SRTool page</a> now!</p>

]]></content:encoded>
			<wfw:commentRss>http://www.japko.net/blog/lang/en/2009/08/20/srtool-095/feed</wfw:commentRss>
		</item>
		<item>
		<title>SRTool update</title>
		<link>http://www.japko.net/blog/lang/en/2009/07/25/aktualizacja-srtool-2</link>
		<comments>http://www.japko.net/blog/lang/en/2009/07/25/aktualizacja-srtool-2#comments</comments>
		<pubDate>Sat, 25 Jul 2009 21:49:03 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
		
		<category><![CDATA[Wszystko inne]]></category>

		<guid isPermaLink="false">http://www.japko.net/blog/?p=51</guid>
		<description><![CDATA[

New version of SRTool - 0.9.3 - has arrived.
It is mostly bugfix release, but I also followed on some feedback from users: now you can drag and drop whole folders, not only files. In addition, you can drop files on application icon.
Go to SRTool page for details and download link.

]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-53  alignleft" title="Ekran SRTool 0.9.3" src="http://www.japko.net/blog/wp-content/uploads/2009/07/srtool093.png" alt="SRTool - okno aplikacji" width="172" height="145" /></p>

<p>New version of SRTool - 0.9.3 - has arrived.</p>
<p>It is mostly bugfix release, but I also followed on some feedback from users: now you can drag and drop whole folders, not only files. In addition, you can drop files on application icon.</p>
<p>Go to <a href="http://www.japko.net/blog/lang/en/srtool/">SRTool page</a> for details and download link.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.japko.net/blog/lang/en/2009/07/25/aktualizacja-srtool-2/feed</wfw:commentRss>
		</item>
		<item>
		<title>Wolfenstein 3D on iPhone</title>
		<link>http://www.japko.net/blog/lang/en/2009/03/26/wolfenstein-3d-on-iphone</link>
		<comments>http://www.japko.net/blog/lang/en/2009/03/26/wolfenstein-3d-on-iphone#comments</comments>
		<pubDate>Wed, 25 Mar 2009 22:07:59 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
		
		<category><![CDATA[iphone]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.japko.net/blog/?p=27</guid>
		<description><![CDATA[Mother of all FPS shooters, legendary Wolfenstein-3D has got a brand new incarnation. It is available on App Store, for mere five bucks. However, what&#8217;s interesting, one can spare $4.99 and build his own binary, thanks to available source code. In addition, John Carmack tells the story of porting - worth reading indeed.
It&#8217;s been over [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-29 alignleft" title="Wolfenstein 3D Classic" src="http://www.japko.net/blog/wp-content/uploads/2009/03/header5.png" alt="Wolfenstein 3D Classic" width="174" height="119" /><span lang="en">Mother of all FPS shooters, legendary Wolfenstein-3D has got a brand <a href="http://www.idsoftware.com/wolfenstein3dclassic/">new incarnation</a>. It is available on <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=309470478&#38;mt=8">App Store</a>, for mere five bucks. However, what&#8217;s interesting, one can spare $4.99 and build his own binary, thanks to available source code. In addition, John Carmack tells the story of porting - worth reading indeed.</span></p>
<p><span lang="en">It&#8217;s been over 16 years since publishing, but it still an interesting piece of code. In those days, developers needed to cope with hardware limits, processor speeds measured in megahertz and no fancy 3D acceleration. Not even linear access to frame buffer. Mobile programming resembles this good old days. Until we get new, much sophisticated, capable machines on our palms.</span><br />
</p>
<p><br style="text-decoration: line-through;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.japko.net/blog/lang/en/2009/03/26/wolfenstein-3d-on-iphone/feed</wfw:commentRss>
		</item>
		<item>
		<title>Logitech harmony software shows black screen on OS X</title>
		<link>http://www.japko.net/blog/lang/en/2009/01/01/logitech-harmony-software-shows-black-screen-on-os-x</link>
		<comments>http://www.japko.net/blog/lang/en/2009/01/01/logitech-harmony-software-shows-black-screen-on-os-x#comments</comments>
		<pubDate>Thu, 01 Jan 2009 10:39:43 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
		
		<category><![CDATA[Wszystko inne]]></category>

		<guid isPermaLink="false">http://www.japko.net/blog/?p=25</guid>
		<description><![CDATA[Some users may encounter black screen when trying to run Logitech Harmony setup software on OS X. I was one too. After quick googling I found out that cause of problem is called Java. It appears that Harmony software doesn&#8217;t like 64-bit Java Virtual Machine too much.
There are two ways to work this around:
method one: [...]]]></description>
			<content:encoded><![CDATA[<p>Some users may encounter black screen when trying to run Logitech Harmony setup software on OS X. I was one too. After quick googling I found out that cause of problem is called Java. It appears that Harmony software doesn&#8217;t like 64-bit Java Virtual Machine too much.</p>
<p>There are two ways to work this around:</p>
<p><strong>method one:</strong> quick and easy: open Java Preferences and drag 32-bit version of JVM to be first in order.</p>
<p><strong>method two</strong> involves a little hacking: </p>
<p>Open Console and type:</p>
<pre>sudo mcedit /Applications/Logitech\ Harmony\ Remote\ Software.app/Contents/Info.plist</pre>
<div>You will be asked for your password to authorize. Enter it.</div>
<p>Find the following piece of XML:</p>
<pre>&#60;key&#62;JVMVersion&#60;/key&#62;
&#60;string&#62;1.4+&#60;/string&#62;</pre>
<p>and in second row replace plus sign with asterisk: </p>
<pre>&#60;string&#62;1.4*&#60;/string&#62;</pre>
<p>This tells to system to run this application using newest 1.4 version of JVM available. As there is no 64-bit version of Java for Mac, we&#8217;ll be sure that Harmony will always run.</p>
<div>As you see, the hack is really simple and allows to leave 64-bit Java 6.0 as default.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.japko.net/blog/lang/en/2009/01/01/logitech-harmony-software-shows-black-screen-on-os-x/feed</wfw:commentRss>
		</item>
		<item>
		<title>Home, End i inni po &#8220;Windowsowemu&#8221;</title>
		<link>http://www.japko.net/blog/lang/en/2008/10/18/home-end-i-inni-po-windowsowemu</link>
		<comments>http://www.japko.net/blog/lang/en/2008/10/18/home-end-i-inni-po-windowsowemu#comments</comments>
		<pubDate>Fri, 17 Oct 2008 22:27:31 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
		
		<category><![CDATA[Wszystko inne]]></category>

		<guid isPermaLink="false">http://www.japko.net/blog/?p=24</guid>
		<description><![CDATA[Oczywiście można się przyzwyczaić do nieco innego rozumienia zastosowania klawiszy Home, End, Page Up i Page Down w OS X. Nawet jest to wykonalne, kiedy przyjdzie pracować na obu platformach, jak przykładowo mnie, gdzie w pracy są okna, a w domu jabłka - zauważyłem już, że gdy wyczuwam pod palcami klawiaturę applowską, czuję, że alt [...]]]></description>
			<content:encoded><![CDATA[<p>Oczywiście można się przyzwyczaić do nieco innego rozumienia zastosowania klawiszy <strong>Home</strong>, <strong>End</strong>, <strong>Page Up</strong> i <strong>Page Down</strong> w OS X. Nawet jest to wykonalne, kiedy przyjdzie pracować na obu platformach, jak przykładowo mnie, gdzie w pracy są okna, a w domu jabłka - zauważyłem już, że gdy wyczuwam pod palcami klawiaturę applowską, czuję, że alt do polskich literek nie jest tuż obok spacji, tylko klawisz dalej.</p>
<p>Ostatecznie jednak wygoda górą, i postanowiłem przywrócić klawiszom o których wspomniałem na początku ich windziane funkcje. Te różnice mogłbyby służyć wywołaniu niezłego flejma na pl.comp.os.advocacy, ale odłóżmy ideologię na bok. Komputer w końcu jest osobisty, więc chcę by mi się wygodnie pracowało. Nie protestowałem przed nową polską klawiaturą programisty w Leopardzie, to może coś zrobić z Home i End?</p>
<p>Na ratunek jak zwykle przyszedł wujek Google. <a href="http://www.lsmason.com/articles/macosxkeybindings.html">Świetny artykuł</a> Llewa Masona opisuje możliwości modyfikacji systemowych skrótów klawiszowych. Zadanie jest wręcz trywialne, w moim przypadku wystarczy stworzyć taki oto pliczek:</p>
<pre>/* ~/Library/KeyBindings/DefaultKeyBinding.dict */
{
"\UF729" = "moveToBeginningOfLine:";
"^\UF729" = "moveToBeginningOfDocument:";
"$\UF729" = "moveToBeginningOfLineAndModifySelection:";
"^$\UF729" = "moveToBeginningOfDocumentAndModifySelection:";
"\UF72B" = "moveToEndOfLine:";
"^\UF72B" = "moveToEndOfDocument:";
"$\UF72B" = "moveToEndOfLineAndModifySelection:";
"~\UF72C" = "scrollPageUp:";
"~\UF72D" = "scrollPageDown:";
"\UF72C" = "pageUp:";
"\UF72D" = "pageDown:";</pre>
<pre>}</pre>
<p>i zapisać go w swoim katalogu domowym pod nazwą <strong>Library/KeyBindings/DefaultKeyBinding.dict</strong>, następnie się wylogować i zalogować ponownie. Restart nie jest potrzebny. <em>Voila!</em> I od tej pory Home skacze na początek edytowanej linii, End&#8230; na koniec, a <strong>PageUp</strong> i <strong>PageDown</strong> przenoszą również kursor o stronę w dół. Stare zachowanie tych klawiszy (przewinięcie samego widoku strony) jest dostępne w połączeniu z <strong>altem</strong>.</p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.japko.net/blog/lang/en/2008/10/18/home-end-i-inni-po-windowsowemu/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
