<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3099765731268352019</id><updated>2024-10-04T21:43:51.081+03:00</updated><category term="maemo"/><category term="programming"/><category term="python"/><category term="unix"/><category term="google"/><category term="jabber"/><title type='text'>Public thoughts</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-5324396374829457272</id><published>2011-09-21T19:40:00.002+03:00</published><updated>2011-09-21T21:56:52.297+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><title type='text'>Getting file position using /proc</title><content type='html'>As I wrote in my &lt;a href=&quot;http://antimirov.blogspot.com/2009/07/look-inside-process-using-proc.html&quot;&gt;post&lt;/a&gt; of 2009, &quot;Often there is a need to check what&#39;s some process doing right now&quot;. That time I discovered this simple way of checking which file a process(e.g. grep) was using.
&lt;br&gt;&lt;br&gt;
Another trick of this kind is to get a file position. This is a very common scenario. For example, you want to know the progress of unpacking of a really huge .gz file. You cannot just estimate this by analyzing the size of the data already unpacked.
&lt;br&gt;&lt;br&gt;
Getting file position is as easy as getting a name of an open file. Thanks to &lt;a href=&quot;https://github.com/mirrors/linux-2.6/commit/2793274298c4423d79701e9a8190f2940bf3c785&quot;&gt;Miklos Szeredi&lt;/a&gt; starting from &lt;a href=&quot;http://kernelnewbies.org/Linux_2_6_22&quot;&gt;Linux-2.6.22&lt;/a&gt; this info can be obtained from /proc/PID/fdinfo/FD:

&lt;pre&gt;
$ python
&gt;&gt;&gt; f=open(&#39;/home/turist/work/big.txt&#39;)
&gt;&gt;&gt; f.seek(1234)

(in another terminal, 3580 is python&#39;s PID)
$ ls -al /proc/&lt;b&gt;3580&lt;/b&gt;/fd/
total 0
dr-x------ 2 turist turist  0 2011-09-21 14:40 .
dr-xr-xr-x 7 turist turist  0 2011-09-21 14:40 ..
lrwx------ 1 turist turist 64 2011-09-21 14:40 0 -&gt; /dev/pts/1
lrwx------ 1 turist turist 64 2011-09-21 14:40 1 -&gt; /dev/pts/1
lrwx------ 1 turist turist 64 2011-09-21 14:40 2 -&gt; /dev/pts/1
lr-x------ 1 turist turist 64 2011-09-21 14:40 &lt;b&gt;3&lt;/b&gt; -&gt; /home/yevgen/work/big.txt

(so 3 is our file descriptor, we will use it now)

$ cat /proc/3580/fdinfo/&lt;b&gt;3&lt;/b&gt;
pos:	&lt;b&gt;1234&lt;/b&gt;
flags:	0100000
&lt;/pre&gt;

Easy!</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/5324396374829457272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2011/09/getting-file-position-using-proc.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/5324396374829457272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/5324396374829457272'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2011/09/getting-file-position-using-proc.html' title='Getting file position using /proc'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-9116585766559651392</id><published>2010-05-26T23:39:00.000+03:00</published><updated>2010-05-26T23:39:30.356+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><title type='text'>PR 1.2 - major disappointment of the year</title><content type='html'>Just updated my two N900&#39;s to PR 1.2. Well...&lt;br /&gt;
&lt;br /&gt;
Pure disappointment. None of the bugs I cared about was fixed even though it&#39;s set as fixed on bugzilla:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://bugs.maemo.org/show_bug.cgi?id=7211&quot;&gt;Bug 7211(Unable to play media. Media format not supported&quot; for recently recorded video)&lt;/a&gt;&amp;nbsp;- not fixed.&lt;br /&gt;
&lt;a href=&quot;https://bugs.maemo.org/show_bug.cgi?id=6823&quot;&gt;Bug 6823(media player won&#39;t play any video files now (.avi) divx / xvid)&lt;/a&gt;&amp;nbsp;- not fixed.&lt;br /&gt;
&lt;br /&gt;
It fails even to play its own built-in &quot;Nokia N900.avi&quot;. Since December there&#39;s been no way to play video files on this so called &quot;Mobile Computer&quot;!&lt;br /&gt;
&lt;br /&gt;
They added Skype video calls, but it&#39;s like slideshow.&lt;br /&gt;
&lt;br /&gt;
Calling with Skype? &quot;General error&quot; after 1 minute and no even a sign of your call on the other side. After call pulseaudio uses 20% of CPU. I found that because both of devices were too hot for no reason.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxo_tZ0FMEzhQl9m5VWShvkAYMKBOfd5pkJuXOXpwzN8QgARN1vIvWdWAFvaVFGjQxJoi_JbfiVcxT9LSHZ6hZdaCdJdzT7vMIMTmcEyX2PdcS-Osbh9EvuePRQVapy1GFapG8jIh43or-/s1600/Pizdec.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxo_tZ0FMEzhQl9m5VWShvkAYMKBOfd5pkJuXOXpwzN8QgARN1vIvWdWAFvaVFGjQxJoi_JbfiVcxT9LSHZ6hZdaCdJdzT7vMIMTmcEyX2PdcS-Osbh9EvuePRQVapy1GFapG8jIh43or-/s320/Pizdec.png&quot; width=&quot;192&quot; /&gt;&lt;/a&gt;Portrait browsing? Really?! Check the screenshot. Where is the address bar? Where is the window switching button? Exit fullscreen mode button? Is this portrait browsing or portrait viewing only?&lt;br /&gt;
&lt;br /&gt;
I&#39;m not sure whether I should wait for MeeGo or just give up and buy Android next time.</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/9116585766559651392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2010/05/pr-12-major-disappointment-of-year.html#comment-form' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/9116585766559651392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/9116585766559651392'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2010/05/pr-12-major-disappointment-of-year.html' title='PR 1.2 - major disappointment of the year'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxo_tZ0FMEzhQl9m5VWShvkAYMKBOfd5pkJuXOXpwzN8QgARN1vIvWdWAFvaVFGjQxJoi_JbfiVcxT9LSHZ6hZdaCdJdzT7vMIMTmcEyX2PdcS-Osbh9EvuePRQVapy1GFapG8jIh43or-/s72-c/Pizdec.png" height="72" width="72"/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-2786241829163233400</id><published>2009-12-18T06:40:00.000+02:00</published><updated>2009-12-18T06:40:10.109+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><title type='text'>Maemo DDP: a fly in the ointment</title><content type='html'>Last week I got my DDP&#39;s N900 and since I still have my Summit&#39;s device I haven&#39;t played with it much. I wish&amp;nbsp;Marcin Juszkiewicz wrote his&amp;nbsp;DDP device&amp;nbsp;&lt;a href=&quot;http://marcin.juszkiewicz.com.pl/2009/12/14/things-to-check-with-nokia-n900/&quot;&gt;checklist&lt;/a&gt;&amp;nbsp;earlier. I got this nasty &lt;a href=&quot;https://bugs.maemo.org/show_bug.cgi?id=6823&quot;&gt;bug 6823&lt;/a&gt;&amp;nbsp;&quot;media player won&#39;t play any video files now (.avi) divx / xvid&quot;. I tried all files, even the default &quot;Nokia N900&quot; and &quot;9&quot;. Since Mplayer plays all video files, this is a software fault, not hardware issue. But still it&#39;s frustrating and I&#39;m waiting for any bug activity.&lt;br /&gt;
&lt;br /&gt;
So my point is, all people who got their devices, please check for video playback in media player. And vote for the &lt;a href=&quot;https://bugs.maemo.org/show_bug.cgi?id=6823&quot;&gt;bug&lt;/a&gt;&amp;nbsp;if necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsSHh6Z7thcV3jl4v9Ddr6WhU5k7ffDA56sISTARcUpwoDmz2sTrWZU0O-tmxINP1ZMVKkcJ8fA3l4fkXqZwFSge1zXbupkyDQcv4wtv2KTJssgG1XGHcc5rRgkcgXaOUPzoowMcU7jR5P/s1600-h/summit_vs_ddp_small.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;230&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsSHh6Z7thcV3jl4v9Ddr6WhU5k7ffDA56sISTARcUpwoDmz2sTrWZU0O-tmxINP1ZMVKkcJ8fA3l4fkXqZwFSge1zXbupkyDQcv4wtv2KTJssgG1XGHcc5rRgkcgXaOUPzoowMcU7jR5P/s400/summit_vs_ddp_small.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/2786241829163233400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2009/12/maemo-ddp-fly-in-ointment.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/2786241829163233400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/2786241829163233400'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2009/12/maemo-ddp-fly-in-ointment.html' title='Maemo DDP: a fly in the ointment'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsSHh6Z7thcV3jl4v9Ddr6WhU5k7ffDA56sISTARcUpwoDmz2sTrWZU0O-tmxINP1ZMVKkcJ8fA3l4fkXqZwFSge1zXbupkyDQcv4wtv2KTJssgG1XGHcc5rRgkcgXaOUPzoowMcU7jR5P/s72-c/summit_vs_ddp_small.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-9184093586429073696</id><published>2009-10-08T05:37:00.015+03:00</published><updated>2009-10-08T05:58:02.384+03:00</updated><title type='text'>Making your hard drive faster</title><content type='html'>Some manufacturers worry too much about their customers&#39; comfort. For example, Apple disabled multitasking on their iPhones because too many running processes could slow down the system&#39;s responsiveness and everyone would say &quot;iPhone is slow&quot; rather than &quot;you have too much stuff running, close something&quot;. In this case IMHO Apple worries more about themselves, but whatever.&lt;br /&gt;
&lt;br /&gt;
In my case it&#39;s Dell/WD who worried too much about my comfort. My workhorse is Dell Precision T5400 with 2 quad-core Xeons. While running anything on it in 8 processes is fun, disk is always a bottleneck.&lt;br /&gt;
&lt;br /&gt;
Let me introduce &lt;a href=&quot;http://en.wikipedia.org/wiki/Automatic_acoustic_management&quot;&gt;AAM&lt;/a&gt;(wikipedia: Automatic acoustic management). This option is used for decreasing the speed of disk rotation and head positioning. And for some people it&#39;s really necessary. But at work I have other people who, combined, produce much more noise. Thus, I don&#39;t need an additional care.&lt;br /&gt;
&lt;br /&gt;
For my Linux PC &#39;hdparm&#39; is a trusted tool:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;# hdparm
...

-M  get/set acoustic management (0-254, 128: quiet, 254: fast)
...&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;
Checking current setting:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;# hdparm -M /dev/sda

/dev/sda:
acoustic      = 128 (128=quiet ... 254=fast)
&lt;/b&gt;&lt;/span&gt;
&lt;/pre&gt;And changed to max performance:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;# hdparm -M 254 /dev/sda&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;br /&gt;
Useful tool for testing the average random access time - &lt;a href=&quot;http://www.linuxinsight.com/how_fast_is_your_disk.html&quot;&gt;seeker.c&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
Benchmark results:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;AAM=128:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;./seeker /dev/sda&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;Results: 58 seeks/second, 17.18 ms random access time&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;AAM=254:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;./seeker /dev/sda&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;Results: 76 seeks/second, 13.05 ms random access time&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I think I already feel this 30% improvement. Or maybe it&#39;s the placebo effect :)</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/9184093586429073696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2009/10/making-your-hard-drive-faster.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/9184093586429073696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/9184093586429073696'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2009/10/making-your-hard-drive-faster.html' title='Making your hard drive faster'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-2757627978871728966</id><published>2009-09-17T08:02:00.000+03:00</published><updated>2009-09-17T08:02:54.591+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>First steps with Maemo 5 SDK - Stardict</title><content type='html'>It looks like there is a lot of hype about new N900. I don&#39;t think I&#39;ll be able to afford one for myself but there are still people who will need a dictionary program while they are offline.&lt;br /&gt;
&lt;br /&gt;
4 hours spent to get the first working binary. And there is a huge amount of work to do:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;read Maemo 5 HIG &lt;a href=&quot;http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines&quot;&gt;doc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;change the layout of potentially everything as all the buttons are HUGE now and previous useful area got shrinked.&lt;/li&gt;
&lt;li&gt;work around the &lt;a href=&quot;http://bugs.freedesktop.org/show_bug.cgi?id=21591&quot;&gt;bug&lt;/a&gt; &quot;Xephyr crashes on clicking any editable area&quot;. Hate to have compiled/make_installed thing in my system.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
And, of course, a screenshot:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW-28d5uldtU_2-JE8N3c2V0I6GBlzmvwyLfPbEu_JnrCVqz1bbDe4oJKzgHYaLbMBmKWE9UdJ2hcsQmdaWyUMw5CTc-qJUszmKL3ZBX0imc2k6pj6FV0ACiRGdfS05koS7yjT3c5v0sRd/s1600-h/stardict-maemo5-first.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW-28d5uldtU_2-JE8N3c2V0I6GBlzmvwyLfPbEu_JnrCVqz1bbDe4oJKzgHYaLbMBmKWE9UdJ2hcsQmdaWyUMw5CTc-qJUszmKL3ZBX0imc2k6pj6FV0ACiRGdfS05koS7yjT3c5v0sRd/s400/stardict-maemo5-first.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/2757627978871728966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2009/09/first-steps-with-maemo-5-sdk-stardict.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/2757627978871728966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/2757627978871728966'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2009/09/first-steps-with-maemo-5-sdk-stardict.html' title='First steps with Maemo 5 SDK - Stardict'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW-28d5uldtU_2-JE8N3c2V0I6GBlzmvwyLfPbEu_JnrCVqz1bbDe4oJKzgHYaLbMBmKWE9UdJ2hcsQmdaWyUMw5CTc-qJUszmKL3ZBX0imc2k6pj6FV0ACiRGdfS05koS7yjT3c5v0sRd/s72-c/stardict-maemo5-first.png" height="72" width="72"/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-8848799904371000876</id><published>2009-07-05T05:20:00.005+03:00</published><updated>2009-07-05T14:14:53.230+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><title type='text'>Look inside the process using /proc</title><content type='html'>That&#39;s what might be useful even for web-developers, not just sysadmins and geeky geeks.&lt;br /&gt;
&lt;br /&gt;
Often there is a need to check what&#39;s some process doing right now. `top` is of course showing us 100% of CPU consumption but you need to have some sort of progress to decide if you can wait or you&#39;ll just kill the task and do it in a different way.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s take `grep` as an example of some task that may take hours on a big set of files:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;b&gt;user@host [/tmp/files] $ grep -e &quot;$PATTERN&quot; *.dat&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
So to use magic you don&#39;t need patch grep or to have knowledge of how to debug Linux kernel. I use `/proc` for this task:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Find PID of the grep process, like this &quot;ps axuww | grep grep&quot; :)&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Exec &quot;ls -al  /proc/$PID/fd/&quot;&lt;/li&gt;
&lt;li&gt;You&#39;ll get directory list as an output. One of these file descriptors the a process is grep&#39;s current file it&#39;s processing right now.&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;b&gt;lrwx------ 1 user 64 2009-07-05 04:12 0 -&amp;gt; /dev/pts/2&lt;br /&gt;
lrwx------ 1 user 64 2009-07-05 04:12 1 -&amp;gt; /dev/pts/2&lt;br /&gt;
lrwx------ 1 user 64 2009-07-05 04:12 2 -&amp;gt; /dev/pts/2&lt;br /&gt;
lr-x------ 1 user 64 2009-07-05 04:12 3 -&amp;gt; /tmp/files/2009-07-01_4534545435.dat&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Voila!&lt;br /&gt;
&lt;br /&gt;
For progress calculation you&amp;nbsp; can use &lt;span style=&quot;font-family: inherit;&quot;&gt;&quot;ls *.dat &amp;gt; list.txt&quot;&lt;/span&gt; and then find which line you on right now.</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/8848799904371000876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2009/07/look-inside-process-using-proc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/8848799904371000876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/8848799904371000876'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2009/07/look-inside-process-using-proc.html' title='Look inside the process using /proc'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-2926391387682080110</id><published>2009-05-19T12:22:00.012+03:00</published><updated>2009-05-27T21:28:02.702+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Python surprises - scope of variables</title><content type='html'>Yesterday while debugging one place in some function I found one &quot;surprise&quot; in Python - language that I thought was designed to avoid surprises as much as possible(&lt;a href=&quot;http://en.wikipedia.org/wiki/Principle_of_least_astonishment&quot;&gt;Principle of least astonishment&lt;/a&gt;).&lt;br /&gt;
&lt;pre&gt;if 1 == 1:
    print dir()
    found = True
    print dir()

print dir()
print &quot;found:&quot;, found
&lt;/pre&gt;&lt;br /&gt;
Output:&lt;br /&gt;
&lt;pre&gt;[&#39;__builtins__&#39;, &#39;__doc__&#39;, &#39;__file__&#39;, &#39;__name__&#39;, &#39;__package__&#39;]
[&#39;__builtins__&#39;, &#39;__doc__&#39;, &#39;__file__&#39;, &#39;__name__&#39;, &#39;__package__&#39;, &#39;found&#39;]
[&#39;__builtins__&#39;, &#39;__doc__&#39;, &#39;__file__&#39;, &#39;__name__&#39;, &#39;__package__&#39;, &#39;found&#39;]
found: True
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
As you would have guessed coming from C++, here we had variable used out of its scope. But in Python variables live in special dictionaries - one is global where global variables and other stuff are stored and another one is local, for keeping local symbols inside the function. So all variables you create inside &quot;for&quot; loop or &quot;if&quot; scope will be stored in that local dictionary and will only be removed from there when Python&#39;s garbage collector decides.&lt;br /&gt;
&lt;br /&gt;
That surprise cost me 30 minutes of wondering why some polygons on a map suddenly went nuts and lost their shapes :)</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/2926391387682080110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2009/05/python-surprises-variable-scope.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/2926391387682080110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/2926391387682080110'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2009/05/python-surprises-variable-scope.html' title='Python surprises - scope of variables'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-8295205878578390157</id><published>2009-02-02T01:00:00.017+02:00</published><updated>2009-02-02T01:08:31.320+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><title type='text'>Amazon sells N810 almost for free!</title><content type='html'>Hi all,&lt;br /&gt;
&lt;br /&gt;
Well, &quot;free&quot; in this case is actually $227, but anyway it means that those of us who can&#39;t wait until Maemo5-equipped device is released can have something right now.&lt;br /&gt;
&lt;br /&gt;
I&#39;ve been following the news about buy.com prices, but it was not available for non-US people. Amazon fixed this injustice :)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv8azhhuYEYdE43iM3653IbdImYn-rgqaPWB1Ezjlb1USSClxGTF9F5dJtTWNhWuDXqiB42IC7NoOwTutbk6EEjQS_VwsjXbkqzdqVsB5kvj53-MaMrsbLSQNVyvj0650OF9v02d9K4jAg/s1600-h/amazon-n810.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv8azhhuYEYdE43iM3653IbdImYn-rgqaPWB1Ezjlb1USSClxGTF9F5dJtTWNhWuDXqiB42IC7NoOwTutbk6EEjQS_VwsjXbkqzdqVsB5kvj53-MaMrsbLSQNVyvj0650OF9v02d9K4jAg/s320/amazon-n810.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/8295205878578390157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2009/02/amazon-sells-n810-almost-for-free.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/8295205878578390157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/8295205878578390157'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2009/02/amazon-sells-n810-almost-for-free.html' title='Amazon sells N810 almost for free!'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv8azhhuYEYdE43iM3653IbdImYn-rgqaPWB1Ezjlb1USSClxGTF9F5dJtTWNhWuDXqiB42IC7NoOwTutbk6EEjQS_VwsjXbkqzdqVsB5kvj53-MaMrsbLSQNVyvj0650OF9v02d9K4jAg/s72-c/amazon-n810.JPG" height="72" width="72"/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-8733753410911975505</id><published>2008-12-19T10:33:00.007+02:00</published><updated>2008-12-19T15:53:47.414+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>Nice feature of snprintf()</title><content type='html'>Hi all,&lt;br /&gt;&lt;br /&gt;Yesterday I learned a feature which I&#39;m sure should be described in every C book. To be honest, &#39;man snprintf&#39; describes it as a part of C99, but I&#39;ve never read the article completely.&lt;br /&gt;&lt;br /&gt;Often when you construct a string using &#39;snprintf()&#39; you need to allocate enough space for the buffer. But it&#39;s not possible to know how much you may need, so usually we just do something like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:courier new;font-size:100%;&quot;  &gt;char buf1[1024];&lt;/span&gt;&lt;span style=&quot;;font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;/* or */&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:courier new;font-size:100%;&quot;  &gt;char *buf2 = malloc(1024);&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;which is not correct even if you are 100% sure that you string is just a &quot;Hello world&quot;. Btw, you are wasting your stack space in first example.&lt;br /&gt;&lt;br /&gt;So the trick here is to call &#39;snprintf()&#39; twice:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:courier new;font-size:100%;&quot;  &gt;int len = 1 + snprintf(NULL, 0, &quot;%s, %s\n&quot;, &quot;Hello&quot;, &quot;world&quot;) ;&lt;/span&gt;&lt;span style=&quot;;font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:courier new;font-size:100%;&quot;  &gt;char *buf = malloc(len);&lt;/span&gt;&lt;span style=&quot;;font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:courier new;font-size:100%;&quot;  &gt;snprintf(buf, len, &quot;%s, %s\n&quot;, &quot;Hello&quot;, &quot;world&quot;);&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;snprintf&#39;s behavior in C99 is to allow buffer to be NULL, but return number of bytes that would have been written to buffer. Note, second parameter should be zero too :)</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/8733753410911975505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/12/nice-feature-of-snprintf.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/8733753410911975505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/8733753410911975505'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/12/nice-feature-of-snprintf.html' title='Nice feature of snprintf()'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-5701909182496850117</id><published>2008-07-17T15:00:00.005+03:00</published><updated>2008-07-17T15:13:08.510+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><title type='text'>Fring for Maemo</title><content type='html'>Hi all!&lt;br /&gt;&lt;br /&gt;Great news - Fring is now available for maemo platform. Fring is an application that combines a number of protocols  such as Skype, ICQ, GTalk into one handy program. You may find it following this &lt;a href=&quot;http://www.fring.com/download/linux/&quot;&gt;link&lt;/a&gt;. Here is the screenshot I took from Fring&#39;s russian &lt;a href=&quot;http://blog.fring.com/russia/index.php/2008/07/17/fring_linux/&quot;&gt;blog&lt;/a&gt;. It should work for both chinook and diablo. The announce says about N810, but I&#39;ll give it a try tomorrow on my N800.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi24gDUDuXLk_o5HAjQuoZijgSK0jY7uvrjVxHLFoY_76y93lNEUsmkV5GMiiqI0D_4irBCpUZqlXRiTHbMvmzgAQgK9KQE-vYfCt0CVplonQINle2Nknv3pKfp1k8eRb6CO3g-BgbgwhXB/s1600-h/fring_linux_service_subscription.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi24gDUDuXLk_o5HAjQuoZijgSK0jY7uvrjVxHLFoY_76y93lNEUsmkV5GMiiqI0D_4irBCpUZqlXRiTHbMvmzgAQgK9KQE-vYfCt0CVplonQINle2Nknv3pKfp1k8eRb6CO3g-BgbgwhXB/s320/fring_linux_service_subscription.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5223952394107889250&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/5701909182496850117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/07/fring-for-maemo.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/5701909182496850117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/5701909182496850117'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/07/fring-for-maemo.html' title='Fring for Maemo'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi24gDUDuXLk_o5HAjQuoZijgSK0jY7uvrjVxHLFoY_76y93lNEUsmkV5GMiiqI0D_4irBCpUZqlXRiTHbMvmzgAQgK9KQE-vYfCt0CVplonQINle2Nknv3pKfp1k8eRb6CO3g-BgbgwhXB/s72-c/fring_linux_service_subscription.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-7739149169619129839</id><published>2008-06-25T03:22:00.003+03:00</published><updated>2009-07-20T12:04:05.309+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Yandex plugin for Maemo mapper</title><content type='html'>After &lt;a href=&quot;http://antimirov.blogspot.com/2008/06/maemo-mapper-yandex-maps.html&quot;&gt;patching&lt;/a&gt; maemo-mapper application to support &lt;a href=&quot;http://maps.yandex.ru/&quot;&gt;Yandex&lt;/a&gt; maps Max Lapan, their employee suggested his script that worked as CGI script and converted mmapper&#39;s links to yandex&#39;s ones. That was really awesome idea as there is no need to update application and contacting its developer all the time, we can just run script on 127.0.0.1 and pass parameters like city ID and x/y/z to it. Note, that Yandex is not that simple as other map vendors - there is no world map with all cities on it. Each city has its own ID and its own set of dimensions - Xs,Ys of upper left and bottom right corners of each rectangle. So I think we(interested people from Russia and Ukraine) will have to create list of supported cities with verified set of dimensions and IDs. So each city will have it&#39;s own repository in maemo mapper(see screenshot below).&lt;br /&gt;
&lt;br /&gt;
I&#39;m open to discussions about this implementation as GPS and other features are unlikely to work seamlessly and road traffic service is currenly unsupported. It&#39;s not possible to add it without patching maemo-mapper itself. But for me and probably for other people map is the most important feature.&lt;br /&gt;
&lt;br /&gt;
How to setup a new repository:&lt;br /&gt;
URL for the map is &quot;http://127.0.0.1:8000/?map=NUMBER&amp;amp;layer=1&amp;amp;x=%d&amp;amp;y=%d&amp;amp;z=%d&quot;&lt;br /&gt;
where NUMBER is a special code for each city(Kiev=1600, Moscow=2000, St.Petersburg=500, and so on)&lt;br /&gt;
Download Zoom Steps: 1&lt;br /&gt;
View Zoom steps: 1&lt;br /&gt;
Downloadable zooms: min: 6, max: 14&lt;br /&gt;
&lt;br /&gt;
So then we may download map for offline use as usual. I use 11,9,7 zoom levels + 6 for city center. It&#39;s about 50mb on a flash. It&#39;s better to move data file from &quot;/home/user/MyDocs/.documents/Maps&quot; to somewhere at /media/mmc* and create a symlink instead.&lt;br /&gt;
&lt;br /&gt;
Python script can be downloaded following this &lt;a href=&quot;http://antimirov.net/it/stuff/yandexmap.py&quot;&gt;link&lt;/a&gt;. To run simply put it somewhere in home dir and:&lt;br /&gt;
&lt;br /&gt;
$ python yandexmap.py&lt;br /&gt;
&lt;br /&gt;
Roadmap for the script:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Configuration file with a set of cities, dimensions, etc...&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;deb package in extras repository&lt;/li&gt;
&lt;li&gt;install file on http://maemo.org/downloads unless I receive too many complaints about how stupid my script is.&lt;/li&gt;
&lt;li&gt;Easy way of running script - probably it will be launched by maemo-mapper&#39;s .desktop shortcut and killed when mmapper exits.&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;Screenshots(clickable):&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5aETrUIUS56YWrNUtbkXXDb943zCYWHHJOUqilJsQbW1lSDnaSkEbgj1ftDZIg9nF7XvZ63TlP2dK0iFVCXvbjz0EsNNuATOZXxJuat1yQnUT-iv34CNiXbax4YdpAxVqy8yhP-X3AKEM/s1600-h/yandex_repo_setup2.png&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5215597142553449970&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5aETrUIUS56YWrNUtbkXXDb943zCYWHHJOUqilJsQbW1lSDnaSkEbgj1ftDZIg9nF7XvZ63TlP2dK0iFVCXvbjz0EsNNuATOZXxJuat1yQnUT-iv34CNiXbax4YdpAxVqy8yhP-X3AKEM/s320/yandex_repo_setup2.png&quot; style=&quot;cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_6r8tlWzfrtKEon8NINSm7IrBzg3qZ8RMYf3_NNMBhvGyWq46EpJwonprBRTGjM3GBJmOFkCtwDYcFz4V6jhZbVF7oN7VrH_TgokwMjElJzEqajLnjbqpgPlg4ONEp8SyyjsZOWQ_3VUb/s1600-h/yandex_repo_setup.png&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5215597343658862418&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_6r8tlWzfrtKEon8NINSm7IrBzg3qZ8RMYf3_NNMBhvGyWq46EpJwonprBRTGjM3GBJmOFkCtwDYcFz4V6jhZbVF7oN7VrH_TgokwMjElJzEqajLnjbqpgPlg4ONEp8SyyjsZOWQ_3VUb/s320/yandex_repo_setup.png&quot; style=&quot;cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuYsCtKFewzQZXv152ACgGce8kOKSwGs0jLvexu0nTGwqO7nNcDOd0tu4YUWpXmAh_x3dJid3f56Al0RTAxRm5gxsY3w1wNR6SzttNttFbXe45iM1QewwwJJ86N-Vbh0cK0mI6fGCi1KQ1/s1600-h/yandex_processing_map.png&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5215597355842117538&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuYsCtKFewzQZXv152ACgGce8kOKSwGs0jLvexu0nTGwqO7nNcDOd0tu4YUWpXmAh_x3dJid3f56Al0RTAxRm5gxsY3w1wNR6SzttNttFbXe45iM1QewwwJJ86N-Vbh0cK0mI6fGCi1KQ1/s320/yandex_processing_map.png&quot; style=&quot;cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/7739149169619129839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/06/yandex-plugin-for-maemo-mapper.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/7739149169619129839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/7739149169619129839'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/06/yandex-plugin-for-maemo-mapper.html' title='Yandex plugin for Maemo mapper'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5aETrUIUS56YWrNUtbkXXDb943zCYWHHJOUqilJsQbW1lSDnaSkEbgj1ftDZIg9nF7XvZ63TlP2dK0iFVCXvbjz0EsNNuATOZXxJuat1yQnUT-iv34CNiXbax4YdpAxVqy8yhP-X3AKEM/s72-c/yandex_repo_setup2.png" height="72" width="72"/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-5234696718955769655</id><published>2008-06-19T01:20:00.006+03:00</published><updated>2009-05-27T21:53:03.952+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>Maemo mapper + Yandex maps</title><content type='html'>Guys, I need map!&lt;br /&gt;&lt;br /&gt;After googling for Maemo mapper format I found only this very useful &lt;a href=&quot;http://www.internettablettalk.com/forums/showthread.php?t=5209&quot;&gt;link&lt;/a&gt; at internettablettalk with the list of supported servers. But unfortunately it&#39;s not that simple for us, Ukrainians. Google Maps does not have streets map even of our capital, Kiev. Russian &lt;a href=&quot;http://maps.yandex.ru/kiev&quot;&gt;yandex&lt;/a&gt;&#39;s map service is still the best, but its format is not that simple as google&#39;s:&lt;br /&gt;&lt;br /&gt;Yandex Maps:&lt;br /&gt;http://maps.yandex.ua/map.xml?mapID=1600&amp;amp;mapX=%d&amp;amp;mapY=%d&amp;amp;scale=%d&lt;br /&gt;http://maps.yandex.ua/map.xml?mapID=1600&amp;amp;mapX=3397917&amp;amp;mapY=6491641&amp;amp;scale=4&amp;amp;slices=1&lt;br /&gt;&lt;br /&gt;mapsID - city&#39;s id(from the set of cities)&lt;br /&gt;mapX/Y - special coordinates in wild format:&lt;br /&gt;Map is a 2^31 2-D array, coordinates are central point + shift * 2^(zoom level+8)&lt;br /&gt;&lt;br /&gt;Google Maps:&lt;br /&gt;http://mt.google.com/mt?x=%d&amp;amp;y=%d&amp;amp;zoom=%d&lt;br /&gt;http://maps.google.com/?ie=UTF8&amp;amp;ll=50.352471,30.256348&amp;amp;spn=4.052146,12.44751&amp;amp;z=7&lt;br /&gt;&lt;br /&gt;Very simple: long, lat and zoom :)&lt;br /&gt;&lt;br /&gt;That&#39;s why is not that simple with Maemo mapper.&lt;br /&gt;&lt;br /&gt;May be in a few days I&#39;ll test and polish what I got now and create special .deb package for Yandex-only mapper, because there are some changes now which break all other map repositories.&lt;br /&gt;&lt;br /&gt;Below is a screenshot(click to see 800x480) of what&#39;s working at the moment. To be continued!&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYw7IHyj451yolCms2G-2hBXcjmC5IjowSX6N9LR8tMsWxHZaapOpSqYE3_hF5R6iZx6LbDcyR5fxqodtz26zQbExd-ok2jevIdUY7GsTygfjyHIA2YoqQwUs9TymrUVXIrYnCuzzAQqWp/s1600-h/mmapper_yandex_full.png&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYw7IHyj451yolCms2G-2hBXcjmC5IjowSX6N9LR8tMsWxHZaapOpSqYE3_hF5R6iZx6LbDcyR5fxqodtz26zQbExd-ok2jevIdUY7GsTygfjyHIA2YoqQwUs9TymrUVXIrYnCuzzAQqWp/s320/mmapper_yandex_full.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5213358356705298034&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/5234696718955769655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/06/maemo-mapper-yandex-maps.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/5234696718955769655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/5234696718955769655'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/06/maemo-mapper-yandex-maps.html' title='Maemo mapper + Yandex maps'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYw7IHyj451yolCms2G-2hBXcjmC5IjowSX6N9LR8tMsWxHZaapOpSqYE3_hF5R6iZx6LbDcyR5fxqodtz26zQbExd-ok2jevIdUY7GsTygfjyHIA2YoqQwUs9TymrUVXIrYnCuzzAQqWp/s72-c/mmapper_yandex_full.png" height="72" width="72"/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-6381509480594630865</id><published>2008-06-17T14:16:00.003+03:00</published><updated>2008-06-17T14:34:25.336+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><title type='text'>Arcanoid</title><content type='html'>3 days ago I was forced to leave civilized city and go to the place without Internet(which is 95% of Ukraine, I think). My precious N800 is a perfect toy to spent time with. What I wanted then is to have simple, easy, old, ancient, forgotten. Arcanoid game and I did not find it in . Only via ZX Spectrum emulators, etc...&lt;br /&gt;&lt;br /&gt;It&#39;s a pity. Had to play Bomberman and NumptyPhysics again all day. So I promise to all who read this. I&#39;ll find native arcanoid/krakout and port it to maemo. Because it&#39;s classics. It&#39;s like to have Windows without solitaire :)&lt;br /&gt;&lt;br /&gt;Any idea of what to look for first?</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/6381509480594630865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/06/arcanoid.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/6381509480594630865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/6381509480594630865'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/06/arcanoid.html' title='Arcanoid'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-2911134321464879654</id><published>2008-05-15T01:56:00.005+03:00</published><updated>2008-05-15T02:31:32.928+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Labyrinth - bugfix release</title><content type='html'>It was too early to release the first version of Labyrinth without proper checking. Even considering &quot;alpha&quot; status of the project. The issue was found almost immediately, though I did not have a time to fix it.&lt;br /&gt;&lt;br /&gt;Pygtk in OS2008 and in SDK 4.0 does not support method `to_string` for gtk.gdk.Color, only attributes: &quot;pixel&quot;, &quot;red&quot;, &quot;green&quot; and &quot;blue&quot;. The method is used to store RGB color values like 127/64/0 in hex text &quot;#007f0040000&quot;. Can someone advise why it&#39;s not working on maemo? The web site says &quot;This method is available in PyGTK 2.12 and above.&quot;, however OS2008 contains:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; import gtk&lt;br /&gt;&gt;&gt;&gt; gtk.ver&lt;br /&gt;(2, 14, 0)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This was the workaround for the issue:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;def color_to_string(color):&lt;br /&gt; return &quot;#00%02x00%02x00%02x&quot; % (color.red, color.green, color.blue)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now as the saving is fixed the only porting task left is maemo&#39;s Virtual Keyboard support ;)&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrXCqfDmyIXMMhS9XttBVDsEcgP6qjx74uyqgymBi_0aiVaBiZ299_i3fSUxGlUHnh8-LQPs8uu-NDCUL0F2PbkyRvHjuzVJHbDV9R59irSvWlKvI3eP1AFNmMUlDkkaHeL8cgn_c6I1Ns/s1600-h/labyrinth-r3.png&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrXCqfDmyIXMMhS9XttBVDsEcgP6qjx74uyqgymBi_0aiVaBiZ299_i3fSUxGlUHnh8-LQPs8uu-NDCUL0F2PbkyRvHjuzVJHbDV9R59irSvWlKvI3eP1AFNmMUlDkkaHeL8cgn_c6I1Ns/s320/labyrinth-r3.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5200378583960466258&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/2911134321464879654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/05/labyrinth-bugfix-release.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/2911134321464879654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/2911134321464879654'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/05/labyrinth-bugfix-release.html' title='Labyrinth - bugfix release'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrXCqfDmyIXMMhS9XttBVDsEcgP6qjx74uyqgymBi_0aiVaBiZ299_i3fSUxGlUHnh8-LQPs8uu-NDCUL0F2PbkyRvHjuzVJHbDV9R59irSvWlKvI3eP1AFNmMUlDkkaHeL8cgn_c6I1Ns/s72-c/labyrinth-r3.png" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-4822213590419238748</id><published>2008-05-04T01:23:00.005+03:00</published><updated>2008-05-04T01:52:13.022+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>Labyrinth - mindmap tool for maemo</title><content type='html'>Hi all!&lt;br /&gt;&lt;br /&gt;Short preamble at first. Recently I&#39;ve become a fan of mind mapping. I visited &lt;a href=&quot;http://exception.org.ua/&quot;&gt;Exception #07&lt;/a&gt; developers conference in March and there was a guy who did his presentation using not well-known tools like MS PowerPoint or OpenOffice Impress but he used totally different approach, &lt;a href=&quot;http://en.wikipedia.org/wiki/Mindmap&quot;&gt;Mind Map&lt;/a&gt;. It&#39;s the way of brainstorming or displaying your ideas just the way like human brain works - not one by one like sheets of paper but radially with multiple links and forms. It&#39;s much better than scrolling page by page during workshop, for example.&lt;br /&gt;&lt;br /&gt;For daily use my choice was Java-based &lt;a href=&quot;http://freemind.sourceforge.net/&quot;&gt;Freemind&lt;/a&gt; - big, but powerfull and available for Linux, Mac and less popular systems like WinXP, etc . But I wanted something small and modest to use on my Nokia N800. So I&#39;ve done some search and found nothing. So I(as python/bit C/C++ dev) did some search among apps written in python and found Labyrinth - &lt;a onclick=&quot;return top.js.OpenExtLink(window,event,this)&quot; href=&quot;http://code.google.com/p/labyrinth/&quot; target=&quot;_blank&quot;&gt;http://code.google.com/p&lt;wbr&gt;/labyrinth/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Really don&#39;t understand people who use tons of autotool/autoconf code + python script just to install 10 .py files.  But I&#39;ve finally managed to release an alpha-quality port of Labyrinth for maemo - &lt;a onclick=&quot;return top.js.OpenExtLink(window,event,this)&quot; href=&quot;http://labyrinth.garage.maemo.org/&quot; target=&quot;_blank&quot;&gt;http://labyrinth.garage.maemo&lt;wbr&gt;.org/&lt;/a&gt; , available also on maemo website -   &lt;a onclick=&quot;return top.js.OpenExtLink(window,event,this)&quot; href=&quot;http://maemo.org/downloads/product/OS2008/labyrinth/&quot; target=&quot;_blank&quot;&gt;http://maemo.org/downloads&lt;wbr&gt;/product/OS2008/labyrinth/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note! It&#39;s not ready yet for `production` as I took dev/trunk version from&lt;br /&gt;the original website to have more powerful application with curves and&lt;br /&gt;more export formats supported. If you are interested and want to contribute&lt;br /&gt;either to application itself or to maemo port in particular - you know now where to go.&lt;br /&gt;&lt;br /&gt;Here is what it looks like:&lt;a style=&quot;font-weight: bold;&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJcSdstbndhNVjqUn_jWsrOClQNrcvLGHMuQWQw1eJaw6b0eDSa4Fe91eihITZhoHxePT7167HyIBrfQEbbniD-OOIsJSt-cHXBeT43Hk3_4LFNJu7v-bMKhXI0KwPJxh1d0TGFTM_wzrq/s1600-h/labyrinth-0.5dev-demo_small.png&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJcSdstbndhNVjqUn_jWsrOClQNrcvLGHMuQWQw1eJaw6b0eDSa4Fe91eihITZhoHxePT7167HyIBrfQEbbniD-OOIsJSt-cHXBeT43Hk3_4LFNJu7v-bMKhXI0KwPJxh1d0TGFTM_wzrq/s320/labyrinth-0.5dev-demo_small.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5196287228470581218&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/4822213590419238748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/05/labyrinth-mindmap-tool-for-maemo.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/4822213590419238748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/4822213590419238748'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/05/labyrinth-mindmap-tool-for-maemo.html' title='Labyrinth - mindmap tool for maemo'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJcSdstbndhNVjqUn_jWsrOClQNrcvLGHMuQWQw1eJaw6b0eDSa4Fe91eihITZhoHxePT7167HyIBrfQEbbniD-OOIsJSt-cHXBeT43Hk3_4LFNJu7v-bMKhXI0KwPJxh1d0TGFTM_wzrq/s72-c/labyrinth-0.5dev-demo_small.png" height="72" width="72"/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-1775559483296549512</id><published>2008-04-01T01:00:00.002+03:00</published><updated>2009-05-27T20:28:05.888+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><title type='text'>Bash: top keyboard shortcuts</title><content type='html'>There are people around me who&#39;ve been Linux developers for years and they haven&#39;t taken a labor of reading &quot;man bash&quot; so far. It will not of course give you 1000% performance increase immediately but is worth reading it at least once. Just to support popular tradition, here is my list of most useful and frequently used keyboard shortcuts in bash(in order of popularity):&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Tab  -  autocomplete current command, directory or file name. I think it&#39;s about 50% of the whole statistics :)&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Ctrl-C  -  kill currently running something.&lt;/li&gt;
&lt;li&gt;Ctrl-R  -  search command history backward.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Ctrl-L  -  the same as `clear` command. Wipe the screen. Very cool when you need to have blink console for the next info.&lt;/li&gt;
&lt;li&gt;Ctrl-A/Ctrl-E  -  go to the beginning/end of the current line. Sometimes Home/End keys are broken. Just in case.&lt;/li&gt;
&lt;li&gt;Ctrl-U/Ctrl-K  -  remove text from current position to the beginning or from current position to the end. Of course you can press &amp;lt;- or Delete key 200 times to get the same result..&lt;/li&gt;
&lt;li&gt;Ctrl-W - Remove the word(or part of it) before current position. &lt;/li&gt;

&lt;/ol&gt;And this is something I&#39;ve learnt recently: &lt;br /&gt;
&lt;ol&gt;&lt;li&gt;M-f/M-f   -   just forward/back one word&lt;/li&gt;
&lt;li&gt;Ctrl-v Tab  -  insert &quot;Tab&quot; char. Previously I did copy from Vim and paste :(&lt;/li&gt;
&lt;li&gt;M-u/M-l  -  change the current word to upper/lower case. Especially useful when Caps was pressed accidentally :)&lt;/li&gt;
&lt;li&gt;Ctrl-x @  -  auto-complete hostname&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/1775559483296549512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/03/bash-top-keyboard-shortcuts.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/1775559483296549512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/1775559483296549512'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/03/bash-top-keyboard-shortcuts.html' title='Bash: top keyboard shortcuts'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-4251225841560739650</id><published>2008-03-23T01:48:00.004+02:00</published><updated>2008-03-23T02:17:51.686+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><title type='text'>Stardict in maemo extras</title><content type='html'>It&#39;s been about a month since I first downloaded Maemo 4.0(Chinook) SDK and tried to compile something like &lt;a href=&quot;http://antimirov.blogspot.com/2008/02/stardict-dor-it-os2008.html&quot;&gt;stardict&lt;/a&gt;. But there is much more difficult thing left to do - add .deb packages to maemo repository and create .install file.&lt;br /&gt;&lt;br /&gt;Nokia did the right thing I think - usual user only needs to click on green button and choose place where to put an link in menu. The whole work is left invisible behind - to provide easy setup developer has to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;create SSH RSA private/public keys&lt;/li&gt;&lt;li&gt;create GPG keys&lt;/li&gt;&lt;li&gt;upload public key on maemo garage&lt;br /&gt;&lt;/li&gt;&lt;li&gt;write changelog info&lt;/li&gt;&lt;li&gt;sign changelog files&lt;/li&gt;&lt;li&gt;upload packages onto &quot;extras&quot; repository&lt;/li&gt;&lt;li&gt;create installation file&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Of course, Nokia has half-draft &lt;a href=&quot;http://maemo.org/community/application-catalog/extras_repository/&quot;&gt;tutorial&lt;/a&gt; for this. So after the long process sleepy contributor finally gets this pretty arrow:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://maemo.org/downloads/product/raw/OS2008/stardict/?get_installfile&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjopInZ0RG2s9knAGv_i7UoEgxgQIFFtw7qYfWhRAqXyiTqJNU648QwfaAUCemh6UDA-qLQefpf22TOjOb_8dt_UbCA3zO-lbnptsZHb7xyYz9u3TlALY6-S-oN8RR4OijNMWwHI71SJRDM/s400/install_button_small.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5180720916480555730&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Note: still beta!</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/4251225841560739650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/03/stardict-in-maemo-extras.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/4251225841560739650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/4251225841560739650'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/03/stardict-in-maemo-extras.html' title='Stardict in maemo extras'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjopInZ0RG2s9knAGv_i7UoEgxgQIFFtw7qYfWhRAqXyiTqJNU648QwfaAUCemh6UDA-qLQefpf22TOjOb_8dt_UbCA3zO-lbnptsZHb7xyYz9u3TlALY6-S-oN8RR4OijNMWwHI71SJRDM/s72-c/install_button_small.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-1862247392777371214</id><published>2008-03-18T01:15:00.003+02:00</published><updated>2009-05-31T03:28:29.000+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Back to 80s - console pacman game</title><content type='html'>&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5178854909310026354&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjClrpGt8OpSpqufMqGb-uu4EMyTnFHwduUzdkGRJoz0Kqx0OzTmW0T_xZy1hSnh4FaFhEhhJENdCP_ibtlnXV-Yd310bA4xXFSCXkqMk5VTqbYG4AYH3a0N5g9oYg6KwaDjDpxDMJDFvJF/s400/screenshot.png&quot; style=&quot;float: right; margin: 0pt 0pt 10px 10px;&quot; /&gt; Some time ago I had an interview for AI developer and the task was to write a &lt;a href=&quot;http://en.wikipedia.org/wiki/Pacman&quot;&gt;Pacman&lt;/a&gt; game. I was not in mood to create a nice GUI or pretty 2D/sprites graphics, the main thing to do was to show ghosts running after the player. Used a standard non-blind path-finding algorithm for this. Here is the screenshot of the game(it&#39;s ugly, I know!):&lt;br /&gt;
&lt;br /&gt;
Actually that&#39;s not the first game I&#39;ve ever made. The first one was &quot;Mine Sweeper&quot; written in BASIC when I was 14. And I can assure you python is just awesome! May be anyone can remember GOTO and GOSUB/RETURN operators. Now having all these OOP, exceptions, libraries it&#39;s like damn nightmare. I definitely will prefer python to BASIC when teaching my children ;)&lt;br /&gt;
&lt;br /&gt;
The source code(in python, of course) can be found following the &lt;a href=&quot;http://antimirov.net/it/pacman/&quot;&gt;link&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/1862247392777371214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/03/back-to-80s-console-pacman-game.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/1862247392777371214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/1862247392777371214'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/03/back-to-80s-console-pacman-game.html' title='Back to 80s - console pacman game'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjClrpGt8OpSpqufMqGb-uu4EMyTnFHwduUzdkGRJoz0Kqx0OzTmW0T_xZy1hSnh4FaFhEhhJENdCP_ibtlnXV-Yd310bA4xXFSCXkqMk5VTqbYG4AYH3a0N5g9oYg6KwaDjDpxDMJDFvJF/s72-c/screenshot.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-8403173376825687750</id><published>2008-02-28T12:51:00.014+02:00</published><updated>2008-02-28T20:45:14.180+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="jabber"/><title type='text'>Hi mom! Meet my bots!</title><content type='html'>Just imagine - not too distant future, you use robots&#39; help everyday as if it&#39;s as common as cleaning teeth. They help you to keep order in your house, they send you reminders, they store all your friends&#39; birthdays(so what?! I&#39;t my weak point).  What if I tell you that you can use them more from today?&lt;br /&gt;&lt;br /&gt;Google &lt;a href=&quot;http://googletalk.blogspot.com/2007/12/merry-christmas-god-jul-and.html&quot;&gt;released&lt;/a&gt; its translating bot farm - special service to have an easy-access dictionary/translator in your gtalk Buddy list:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:times new roman;font-size:100%;&quot;  &gt;Russian to English:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(32, 74, 135); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;Eugene Antimirov:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; Где находится ближайшая станция метро?&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 0); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;ru2en@bot.talk.google.com:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; Where is the nearest subway station?&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(32, 74, 135); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;Eugene Antimirov:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; Сколько это стоит?&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 0); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;ru2en@bot.talk.google.com:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; How much does it cost?&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-size:85%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;English to Russian:&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(32, 74, 135); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;Eugene Antimirov:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; Hi, anybody here speaks English?!&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 0); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;en2ru@bot.talk.google.com:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; Привет, кто-то здесь говорит на английском языке!?&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(32, 74, 135); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;Eugene Antimirov:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; What&#39;s the problem, buddy?&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 0); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;en2ru@bot.talk.google.com:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; В чем проблема, приятель?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It&#39;s awesome idea, I think. Of course IM/Jabber bots are not something new. IRC servers have had them for years. But new web2.0 and other services may breathe new life into this idea!&lt;br /&gt;&lt;br /&gt;Even in my daily routine I use a few. Most frequently used one I wrote to keep an eye on my servers:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(32, 74, 135); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;Eugene Antimirov:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; df -h&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 0); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;bot.....@gmail.com:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/sda2             5.1G  3.3G  1.6G  68% /&lt;br /&gt;udev                  493M   76K  493M   1% /dev&lt;br /&gt;/dev/sda4             135G  115G   13G  90% /home&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(32, 74, 135); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;Eugene Antimirov:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; sudo /etc/init.d/apache restart&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 0); font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt;&lt;b&gt;bot.....@gmail.com:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: trebuchet ms;font-family:times new roman;font-size:85%;&quot;  &gt; Restarting apache... Done&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;Just 20 lines of python + xmpp code and voila!&lt;br /&gt;&lt;br /&gt;One of my friends uses bot who posts latest funny quotes from &lt;a href=&quot;http://bash.org.ru/&quot;&gt;bash.org.ru&lt;/a&gt; to amuse chat visitors on his site.&lt;br /&gt;So I think there will be more and more of them. Who knows...&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/8403173376825687750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/02/hi-mom-meet-my-bots.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/8403173376825687750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/8403173376825687750'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/02/hi-mom-meet-my-bots.html' title='Hi mom! Meet my bots!'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3099765731268352019.post-3613127578164646553</id><published>2008-02-21T01:00:00.004+02:00</published><updated>2008-03-06T19:38:08.970+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maemo"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>Stardict port for IT OS2008</title><content type='html'>Finally did something useful for Open Source. It&#39;s 1:00AM now and I&#39;ve just completed compiling everything I could find for my Nokia N800. Installing maemo chinook SDK was not without confusing things but I hope they will fix everything.&lt;br /&gt;&lt;br /&gt;So the first application was of course Stardict. Just few fixes to code from trunk and it&#39;s ready:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdEhpaLJlS9RBABKqK7StulnYu8v78ZW1fGOcQ9mfIsl3hRvgpaJeofCdBDciL9HYdE4kIK-viELpMG-grQT85UntH0BA8ZF2XP7doaHdUIcxN2NcEVQTsi0GJfnf3PGjEWF0EwQNx6JjT/s1600-h/stardict.jpg&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdEhpaLJlS9RBABKqK7StulnYu8v78ZW1fGOcQ9mfIsl3hRvgpaJeofCdBDciL9HYdE4kIK-viELpMG-grQT85UntH0BA8ZF2XP7doaHdUIcxN2NcEVQTsi0GJfnf3PGjEWF0EwQNx6JjT/s320/stardict.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5169206369168524258&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href=&quot;http://gonzo.kiev.ua/&quot;&gt;Gonzo&lt;/a&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt; &lt;/span&gt; for hosting. You can find 2 deb packages following this &lt;a href=&quot;http://gonzo.kiev.ua/n800/turist/&quot;&gt;link&lt;/a&gt;. I&#39;ll commit my changes during next few days. In my To-Do list I have now Freeciv, my pacman game and mplayer&#39;s new GUI.</content><link rel='replies' type='application/atom+xml' href='http://antimirov.blogspot.com/feeds/3613127578164646553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://antimirov.blogspot.com/2008/02/stardict-dor-it-os2008.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/3613127578164646553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3099765731268352019/posts/default/3613127578164646553'/><link rel='alternate' type='text/html' href='http://antimirov.blogspot.com/2008/02/stardict-dor-it-os2008.html' title='Stardict port for IT OS2008'/><author><name>Yevgen Antymyrov</name><uri>http://www.blogger.com/profile/12138276702661994752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7LMl8U_bGwrExDaHrLzX4TDmTIXot5j8wvRHPR8Deng2pjxaiTT6rJlSCfroDaSgt3QFlEJVtQ-HQlkBE1X3QId1bov-E8-kGxJbBrjT6JeGcjQIkKiPe8prk6yGnQ/s1600/turist_2005-05-15.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdEhpaLJlS9RBABKqK7StulnYu8v78ZW1fGOcQ9mfIsl3hRvgpaJeofCdBDciL9HYdE4kIK-viELpMG-grQT85UntH0BA8ZF2XP7doaHdUIcxN2NcEVQTsi0GJfnf3PGjEWF0EwQNx6JjT/s72-c/stardict.jpg" height="72" width="72"/><thr:total>7</thr:total></entry></feed>