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

<channel>
	<title>Valentin's Lab &#187; Uncategorized</title>
	<atom:link href="https://vaab.blog.kal.fr/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>https://vaab.blog.kal.fr</link>
	<description>Ratiocination of an opensource techie</description>
	<lastBuildDate>Thu, 15 Nov 2018 08:04:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.1</generator>
	<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F&amp;language=en_US&amp;category=text&amp;title=Valentin%27s+Lab&amp;description=Ratiocination+of+an+opensource+techie&amp;tags=blog" type="text/html" />
	<item>
		<title>Recompiling fastboot to integrate reboot-edl command</title>
		<link>https://vaab.blog.kal.fr/2017/10/04/recompiling-fastboot-to-integrate-reboot-edl-command/</link>
		<comments>https://vaab.blog.kal.fr/2017/10/04/recompiling-fastboot-to-integrate-reboot-edl-command/#comments</comments>
		<pubDate>Wed, 04 Oct 2017 17:12:07 +0000</pubDate>
		<dc:creator><![CDATA[vaab]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vaab.blog.kal.fr/?p=605</guid>
		<description><![CDATA[Context The fastboot command line is an android tool that allows to interact with an android device when in fastboot mode. I needed to switch from &#34;fastboot mode&#34; toward &#34;EDL mode&#34; (EDL stands for &#34;Emergency Download&#34;). If this is usually &#8230;<p class="read-more"><a href="https://vaab.blog.kal.fr/2017/10/04/recompiling-fastboot-to-integrate-reboot-edl-command/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[
<div class="document">


<!-- -*- mode: rst -*- -->
<div class="section" id="context">
<h3>Context</h3>
<p>The <tt class="docutils literal">fastboot</tt> command line is an android tool that allows to interact
with an android device when in fastboot mode. I needed to switch from &quot;fastboot mode&quot;
toward &quot;EDL mode&quot; (<tt class="docutils literal">EDL</tt> stands for &quot;Emergency Download&quot;).</p>
<p>If this is usually done with the command <tt class="docutils literal">fastboot oem edl</tt>, but on the <cite>Xiaomi RedMi note 3 Pro</cite>, for some reasons, it uses a specific non-standard root command <tt class="docutils literal"><span class="pre">reboot-edl</span></tt>. This is a new occasion for showing why open-source matters, and to recompile <tt class="docutils literal">fastboot</tt> and add the missing command.</p>
</div>
<div class="section" id="compiling">
<h3>Compiling</h3>
<p>The following is for debian related systems. In a previous blog post I explained in detail each command
for a similar hack in <a class="reference external" href="http://vaab.blog.kal.fr/2013/04/04/fixing-empathy-in-ubuntu-12-10/">empathy source code</a>.</p>
<p>This time, I'll give the full transcript without much explanation:</p>
<pre class="literal-block">
mkdir /tmp/fastboot &amp;&amp;
cd /tmp/fastboot &amp;&amp;
apt-get source android-tools-fastboot &lt;/dev/null &amp;&amp;
cd android-tools-*
cat &lt;&lt;EOF | patch -p1 &amp;&amp;
--- a/core/fastboot/fastboot.c
+++ b/core/fastboot/fastboot.c
&#64;&#64; -284,6 +284,7 &#64;&#64; void usage(void)
             &quot;  continue                                 continue with autoboot\n&quot;
             &quot;  reboot                                   reboot device normally\n&quot;
             &quot;  reboot-bootloader                        reboot device into bootloader\n&quot;
+            &quot;  reboot-edl                               reboot device into EDL (RedMi Note 3 Pro)\n&quot;
             &quot;  help                                     show this help message\n&quot;
             &quot;\n&quot;
             &quot;options:\n&quot;
&#64;&#64; -803,6 +804,7 &#64;&#64; int main(int argc, char **argv)
     int wants_wipe = 0;
     int wants_reboot = 0;
     int wants_reboot_bootloader = 0;
+    int wants_reboot_edl = 0;
     int erase_first = 1;
     void *data;
     unsigned sz;
&#64;&#64; -929,6 +931,9 &#64;&#64; int main(int argc, char **argv)
         } else if(!strcmp(*argv, &quot;reboot-bootloader&quot;)) {
             wants_reboot_bootloader = 1;
             skip(1);
+        } else if(!strcmp(*argv, &quot;reboot-edl&quot;)) {
+            wants_reboot_edl = 1;
+            skip(1);
         } else if (!strcmp(*argv, &quot;continue&quot;)) {
             fb_queue_command(&quot;continue&quot;, &quot;resuming boot&quot;);
             skip(1);
&#64;&#64; -1009,6 +1014,8 &#64;&#64; int main(int argc, char **argv)
         fb_queue_reboot();
     } else if (wants_reboot_bootloader) {
         fb_queue_command(&quot;reboot-bootloader&quot;, &quot;rebooting into bootloader&quot;);
+    } else if (wants_reboot_edl) {
+        fb_queue_command(&quot;reboot-edl&quot;, &quot;rebooting into EDL mode&quot;);
     }

     if (fb_queue_is_empty())
EOF

apt-get build-dep android-tools-fastboot -y &lt;/dev/null &amp;&amp;  ## prefix with `sudo` if needed
dpkg-buildpackage -rfakeroot -b &lt;/dev/null &amp;&amp;
cd .. &amp;&amp;
dpkg -i android-tools-fastboot*.deb  ## prefix with `sudo` if needed
</pre>
<p>You should now have a new <tt class="docutils literal">fastboot</tt> command with the <tt class="docutils literal"><span class="pre">reboot-edl</span></tt> command.</p>
<p>Once your <cite>Redmi Note 3 Pro</cite> is in fastboot mode (power it up with <cite>Power</cite> and <cite>Volume-Down</cite> button pressed), you are ready to fire:</p>
<pre class="literal-block">
# fastboot reboot-edl
rebooting into EDL mode...
OKAY [  0.001s]
finished. total time: 0.001s
</pre>
<p>Checking that your device is now in EDL mode could be done with:</p>
<pre class="literal-block">
# lsusb | grep Qualcomm
Bus 001 Device 086: ID 05c6:9008 Qualcomm, Inc. Gobi Wireless Modem (QDL mode)
</pre>
<p>Happy hacking !</p>
</div>
<div class="section" id="more-info">
<h3>More info</h3>
<ul class="simple">
<li><tt class="docutils literal">fastboot</tt> <a class="reference external" href="https://forum.xda-developers.com/redmi-note-3/how-to/guide-reboot-to-edl-mode-fastboot-test-t3398718">pre-compiled for windows</a> on <cite>xda</cite>.</li>
</ul>
</div>
</div>
 <p><a href="https://vaab.blog.kal.fr/?flattrss_redirect&amp;id=605&amp;md5=117fc76eda61d18190a15caafb5559d0" title="Flattr" target="_blank"><img src="https://vaab.blog.kal.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://vaab.blog.kal.fr/2017/10/04/recompiling-fastboot-to-integrate-reboot-edl-command/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F2017%2F10%2F04%2Frecompiling-fastboot-to-integrate-reboot-edl-command%2F&amp;language=en_GB&amp;category=text&amp;title=Recompiling+fastboot+to+integrate+reboot-edl+command&amp;description=Context+The+fastboot+command+line+is+an+android+tool+that+allows+to+interact+with+an+android+device+when+in+fastboot+mode.+I+needed+to+switch+from+%26quot%3Bfastboot+mode%26quot%3B+toward+%26quot%3BEDL...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Keyboard rate and delay</title>
		<link>https://vaab.blog.kal.fr/2016/10/09/keyboard-rate-and-delay/</link>
		<comments>https://vaab.blog.kal.fr/2016/10/09/keyboard-rate-and-delay/#comments</comments>
		<pubDate>Sun, 09 Oct 2016 10:02:08 +0000</pubDate>
		<dc:creator><![CDATA[vaab]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vaab.blog.kal.fr/?p=566</guid>
		<description><![CDATA[Here's how to change the rate and delay of your linux system, in direct console or in X, thanks to the command line. TL;DR You are using X Set: Command: xset r rate DELAY [RATE] DELAY is in milliseconds, and &#8230;<p class="read-more"><a href="https://vaab.blog.kal.fr/2016/10/09/keyboard-rate-and-delay/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[
<div class="document">


<!-- -*- mode: rst -*- -->
<p>Here's how to change the rate and delay of your linux system,
in direct console or in X, thanks to the command line.</p>
<div class="section" id="tl-dr">
<h3>TL;DR</h3>
<div class="section" id="you-are-using-x">
<h4>You are using X</h4>
<ul>
<li><p class="first">Set:</p>
<ul>
<li><p class="first">Command:</p>
<pre class="literal-block">
xset r rate DELAY [RATE]
</pre>
<p>DELAY is in milliseconds, and RATE is in character per seconds.</p>
<ul class="simple">
<li>This <strong>has no effect on direct console</strong>.</li>
</ul>
</li>
<li><p class="first">Example:</p>
<pre class="literal-block">
xset r rate 190 38
</pre>
</li>
<li><p class="first">Reset defaults:</p>
<pre class="literal-block">
xset r rate
</pre>
<p>Default values are a delay of 660ms and a rate of 25 characters per sec.</p>
</li>
</ul>
</li>
<li><p class="first">Query:</p>
<pre class="literal-block">
xset q
</pre>
</li>
</ul>
</div>
<div class="section" id="you-are-in-console">
<h4>You are in console</h4>
<ul>
<li><p class="first">Set:</p>
<ul>
<li><p class="first">Command:</p>
<pre class="literal-block">
kbdrate [-d DELAY] [-r RATE]
</pre>
<p>DELAY is in milliseconds, and RATE is in character per seconds.</p>
<ul class="simple">
<li>You need permission on <tt class="docutils literal">/dev/port</tt>.</li>
<li>This <strong>has no effect on X sessions</strong>.</li>
<li><strong>It affects all direct consoles</strong> (the one you can get thanks to Ctrl-Alt-F1).</li>
<li>It might not work as expected on exotic keyboards.</li>
</ul>
</li>
<li><p class="first">Example:</p>
<pre class="literal-block">
kbdrate -d 190 -r 38
</pre>
</li>
<li><p class="first">Reset defaults:</p>
<pre class="literal-block">
kbdrate
</pre>
<p>Default values are a delay of 250ms and a rate of 11 characters per sec.</p>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="section" id="more-info">
<h3>More info</h3>
<div class="section" id="definitions">
<h4>Definitions</h4>
<dl class="docutils">
<dt>keyboard press delay</dt>
<dd>is the time waited while the key is pressed before
the keyboard issues more character than one.</dd>
<dt>keyboard character rate</dt>
<dd>is the number of character per second once while
you keep the key pressed down and only after you've waited the previous delay.</dd>
</dl>
</div>
<div class="section" id="context">
<h4>Context</h4>
<p>There are roughly two different UI context where you might want to fiddle with
the keyboard's rate and delay: you are in a X session, or in direct console.</p>
<p>If you are in a graphical X session, then it is X. X is listening for scancodes that are
roughly events about keys going up, or keys going downs. So X can implement its own
algorithm to produce characters and can choose its own delay and rate.</p>
<p>If you are in a direct console (Ctrl-Alt-F1 for instance), then it is your BIOS
that is handling the rate through <a class="reference external" href="(https://en.wikipedia.org/wiki/INT_16H)">interrupt 16h</a>. <tt class="docutils literal">kbdrate</tt> uses an <tt class="docutils literal">ioctl</tt> call to change the settings and
this might not work if you have some exotic keyboard. You most note that this will affect
all the consoles of the computer, but this won't have any effect on your X sessions.</p>
</div>
</div>
</div>
 <p><a href="https://vaab.blog.kal.fr/?flattrss_redirect&amp;id=566&amp;md5=6619c4d238375768ee07e6c6ee8f8afe" title="Flattr" target="_blank"><img src="https://vaab.blog.kal.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://vaab.blog.kal.fr/2016/10/09/keyboard-rate-and-delay/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F2016%2F10%2F09%2Fkeyboard-rate-and-delay%2F&amp;language=en_GB&amp;category=text&amp;title=Keyboard+rate+and+delay&amp;description=Here%27s+how+to+change+the+rate+and+delay+of+your+linux+system%2C+in+direct+console+or+in+X%2C+thanks+to+the+command+line.+TL%3BDR+You+are+using+X+Set%3A+Command%3A...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>ecryptfs made straightforward</title>
		<link>https://vaab.blog.kal.fr/2016/01/30/ecryptfs-made-straightforward/</link>
		<comments>https://vaab.blog.kal.fr/2016/01/30/ecryptfs-made-straightforward/#comments</comments>
		<pubDate>Sat, 30 Jan 2016 06:59:41 +0000</pubDate>
		<dc:creator><![CDATA[vaab]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vaab.blog.kal.fr/?p=558</guid>
		<description><![CDATA[Using ecryptfs outside of Ubuntu's very controlled environment can be tedious. I wanted to have a fully automated script that could simply mount an ecryptfs partition given a single key (roughly along these lines): ecryptfs-mount PATH KEY Here are the &#8230;<p class="read-more"><a href="https://vaab.blog.kal.fr/2016/01/30/ecryptfs-made-straightforward/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[
<div class="document">


<!-- -*- mode: rst -*- -->
<p>Using <tt class="docutils literal">ecryptfs</tt> outside of Ubuntu's very controlled environment can
be tedious.</p>
<p>I wanted to have a fully automated script that could simply mount an
<tt class="docutils literal">ecryptfs</tt> partition given a single key (roughly along these lines):</p>
<pre class="literal-block">
ecryptfs-mount PATH KEY
</pre>
<p>Here are the main objective:</p>
<ul class="simple">
<li>non-interactive</li>
<li>mount the encrypted partition on any host</li>
</ul>
<p>An important point, is that we don't try to protect against
compromission of the main host's root access. We just try to produce
an encrypted filesystems that we can send externally (with <tt class="docutils literal">rsync</tt>
for example) safely. The host will have the key accessible by root
anyway.</p>
<p>As I didn't have much time, I might have missed a simpler alternative
so feel free to comment on this please. My knowledge on <tt class="docutils literal">ecryptfs</tt>
and security in general is very limited.</p>
<p>You'll find a breakdown of the process first and then a
<a class="reference external" href="https://github.com/0k/ecryptfs-mount">ecryptfs-mount script</a> that support copy paste and will make all
this easier.</p>
<div class="section" id="requirements">
<h3>Requirements</h3>
<p>You'll need to install <tt class="docutils literal"><span class="pre">ecryptfs-utils</span></tt> which provides a few scripts
that can be alleviated to achieve our goals.</p>
</div>
<div class="section" id="overview">
<h3>Overview</h3>
<p>As <tt class="docutils literal">ecryptfs</tt> seems to require the usage of kernel key rings, we'll
convolutedly insert the key in the kernel keyring prior the mounting.</p>
</div>
<div class="section" id="breakdown">
<h3>Breakdown</h3>
<p>Say your key is stored in the <tt class="docutils literal">$KEY</tt> environment variable:</p>
<pre class="literal-block">
$ tmp_wrapped_file=/tmp/wrapped-file
$ salt=ANYTHING
$ echo -en &quot;$KEY\n$salt&quot; | ecryptfs-wrap-passphrase &quot;$tmp_wrapped_file&quot;
</pre>
<p>We have to create this 'wrapped' passphrase file before insertion in keyring:</p>
<pre class="literal-block">
$ echo -n &quot;$salt&quot; | ecryptfs-insert-wrapped-passphrase-into-keyring &quot;$tmp_wrapped_file&quot;
</pre>
<p>This last commands outputs your key signature (here 9f3193d42b4df62):</p>
<pre class="literal-block">
Inserted auth tok with sig [9f3193d42b4df62] into the user session keyring
</pre>
<p>Let's say that you store this one in <tt class="docutils literal">$SIG</tt> and that
<tt class="docutils literal">$PATH_TO_CRYPT</tt> the path to the folder you want to mount with
<tt class="docutils literal">ecryptfs</tt>:</p>
<pre class="literal-block">
mount -i -t ecryptfs $PATH_TO_CRYPT $PATH_TO_CRYPT \
      -o ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n,ecryptfs_key_bytes=16,ecryptfs_cipher=aes,ecryptfs_sig=$SIG,ecryptfs_fnek_sig=$SIG,ecryptfs_unlink_sigs=y
</pre>
<p>In the given options, you have:</p>
<ul class="simple">
<li>the four first are to be chosen to your convenience. Go get some
general information to get the options you'd like. (These are
<tt class="docutils literal">ecryptfs_enable_filename_crypto</tt>, <tt class="docutils literal">ecryptfs_passthrough</tt>,
<tt class="docutils literal">ecryptfs_key_bytes</tt>, <tt class="docutils literal">ecryptfs_cipher</tt>)</li>
<li>the three remaining are part of the circumvolution needed to make
this work:<ul>
<li>Both <tt class="docutils literal">ecryptfs_sig</tt>, <tt class="docutils literal">ecryptfs_fnek_sig</tt> are the ids of the
key in the kernel keyring.</li>
<li>At last the <tt class="docutils literal">ecryptfs_unlink_sigs=y</tt> will unregister the key
in the kernel.</li>
</ul>
</li>
</ul>
<p>And notice the <tt class="docutils literal"><span class="pre">-i</span></tt> option to mount that bypass the &quot;helpers&quot; of
<tt class="docutils literal"><span class="pre">ecryptfs-utils</span></tt>.</p>
</div>
<div class="section" id="actual-script">
<h3>Actual script</h3>
<p>I'm providing a <a class="reference external" href="https://github.com/0k/ecryptfs-mount">ecryptfs-mount script</a> on github. It's straight forward
to use:</p>
<pre class="literal-block">
ecryptfs-mount PATH KEY
</pre>
<p>Don't forget to <tt class="docutils literal">umount</tt> if finished.</p>
</div>
<div class="section" id="links">
<h3>Links</h3>
<ul class="simple">
<li><a class="reference external" href="https://wiki.archlinux.org/index.php/ECryptfs#Manual_setup">https://wiki.archlinux.org/index.php/ECryptfs#Manual_setup</a></li>
<li><a class="reference external" href="https://www.kernel.org/doc/Documentation/security/keys-ecryptfs.txt">https://www.kernel.org/doc/Documentation/security/keys-ecryptfs.txt</a></li>
</ul>
</div>
</div>
 <p><a href="https://vaab.blog.kal.fr/?flattrss_redirect&amp;id=558&amp;md5=069e4ea17137b99d3ada7f25424095ce" title="Flattr" target="_blank"><img src="https://vaab.blog.kal.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://vaab.blog.kal.fr/2016/01/30/ecryptfs-made-straightforward/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F2016%2F01%2F30%2Fecryptfs-made-straightforward%2F&amp;language=en_GB&amp;category=text&amp;title=ecryptfs+made+straightforward&amp;description=Using+ecryptfs+outside+of+Ubuntu%27s+very+controlled+environment+can+be+tedious.+I+wanted+to+have+a+fully+automated+script+that+could+simply+mount+an+ecryptfs+partition+given+a+single+key...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>quick hints about installing mobile-org</title>
		<link>https://vaab.blog.kal.fr/2011/10/22/quick-hints-about-installing-mobile-org/</link>
		<comments>https://vaab.blog.kal.fr/2011/10/22/quick-hints-about-installing-mobile-org/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 11:14:06 +0000</pubDate>
		<dc:creator><![CDATA[vaab]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vaab.blog.kal.fr/?p=271</guid>
		<description><![CDATA[I use org-mode and I have android mobile devices. I ought to try MobileOrg. But configuration is quite rough, and these are information I found lacking: This won't be a synchronization of files as Dropbox handles usually. Instead you'll need &#8230;<p class="read-more"><a href="https://vaab.blog.kal.fr/2011/10/22/quick-hints-about-installing-mobile-org/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[
<div class="document">


<!-- -*- mode: rst -*- -->
<p>I use org-mode and I have android mobile devices. I ought to try <a class="reference external" href="https://market.android.com/details?id=com.matburt.mobileorg">MobileOrg</a>.</p>
<p>But configuration is quite rough, and these are information I found lacking:</p>
<ul>
<li><p class="first">This <strong>won't be a synchronization of files</strong> as Dropbox handles usually.</p>
<p>Instead <strong>you'll need to push/pull</strong> (thanks to <tt class="docutils literal"><span class="pre">M-x</span> <span class="pre">org-mobile-push</span></tt> or <tt class="docutils literal"><span class="pre">M-x</span> <span class="pre">org-mobile-pull</span></tt>)
your normal <strong>off-line</strong> <tt class="docutils literal"><span class="pre">org-directory</span></tt> (which is outside of the dropbox) towards an <strong>on-line</strong>
<tt class="docutils literal"><span class="pre">org-mobile-directory</span></tt> which is on the dropbox. <strong>The dropbox directory contents will be generated</strong>
along with meta-information and new files (as the <tt class="docutils literal">index.org</tt>) that allows the mobile application to
find all your files.</p>
<p>So don't try to synchronize directly your org files by putting them in the dropbox !</p>
</li>
<li><p class="first">Second, the <a class="reference external" href="https://market.android.com/details?id=com.matburt.mobileorg">MobileOrg</a> Android app needs to know where to find the <tt class="docutils literal">index.org</tt> file. You'll have to
give the path of this file, and you'll have to start with a slash &quot;/&quot; for the root of the dropbox, then
type the path including the <tt class="docutils literal">index.org</tt>. For example:</p>
<p>If your <tt class="docutils literal">index.org</tt> file is in the dropbox root and then the <tt class="docutils literal">MobileOrg</tt> directory, then you must
inform your mobile devices that the path is <tt class="docutils literal">/MobileOrg/index.org</tt>. Don't forget this first slash.</p>
</li>
</ul>
<p>But if you want to install and use that application, I won't be giving you enough information:
you can read <a class="reference external" href="http://orgmode.org/manual/MobileOrg.html#MobileOrg">OrgMode manual</a> on that subject, then <a class="reference external" href="https://github.com/matburt/mobileorg-android/wiki/">MobileOrg Android wiki</a>... And that was enough for me to get it running.</p>
</div>
 <p><a href="https://vaab.blog.kal.fr/?flattrss_redirect&amp;id=271&amp;md5=dd7c5a4314bb12514d631b86c2d226a1" title="Flattr" target="_blank"><img src="https://vaab.blog.kal.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://vaab.blog.kal.fr/2011/10/22/quick-hints-about-installing-mobile-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F2011%2F10%2F22%2Fquick-hints-about-installing-mobile-org%2F&amp;language=en_GB&amp;category=text&amp;title=quick+hints+about+installing+mobile-org&amp;description=I+use+org-mode+and+I+have+android+mobile+devices.+I+ought+to+try+MobileOrg.+But+configuration+is+quite+rough%2C+and+these+are+information+I+found+lacking%3A+This+won%27t+be+a...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>simple gnome-terminal bomb</title>
		<link>https://vaab.blog.kal.fr/2010/11/23/simple-gnome-terminal-bomb/</link>
		<comments>https://vaab.blog.kal.fr/2010/11/23/simple-gnome-terminal-bomb/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 11:55:17 +0000</pubDate>
		<dc:creator><![CDATA[vaab]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://vaab.blog.kal.fr/?p=79</guid>
		<description><![CDATA[In the need of an (other) argument against gnome-terminal (as of version 2.30.2-0ubuntu1 in lucid) ? Run this command in a more than 200+ column wide terminal: for _c in $(seq 1 512); do for i in $(seq 1 $(stty &#8230;<p class="read-more"><a href="https://vaab.blog.kal.fr/2010/11/23/simple-gnome-terminal-bomb/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>In the need of an (other) argument against gnome-terminal (as of version 2.30.2-0ubuntu1 in lucid) ?</p>
<p>Run this command in a more than 200+ column wide terminal:</p>
<pre>
for _c in $(seq 1 512); do
    for i in $(seq 1 $(stty size | cut -f 2 -d " ")); do
        echo -n x
    done
done
</pre>
<p>If your terminal is still responsive try to scroll up. If always responsive, try on widening window of gnome-terminal and relaunch the script.</p>
<p>This is a gnome-terminal bomb… If you want to test it without killing all your current gnome-terminal sessions you should launch a dummy instance with:</p>
<pre>
gnome-terminal --disable-factory
</pre>
<p>in any existing terminal. This will open a new windows that you can smash up safely.</p>
<p>The so-called "bomb" script will only display “x” all over the place on one big line (512 x column wide). Nothing big, it starts to collapse with much less chars on my computer.</p>
<p>Adding a line breaker will remove bomb effect:</p>
<pre>
for _c in $(seq 1 512); do
    for i in $(seq 1 $(stty size | cut -f 2 -d " ")); do
        echo -n x
    done
    echo
done
</pre>
<p>Both version of this code have the same visual output.<br />
And are displayed with same blistering speed on urxvt (and probably a bunch of other terminal).</p>
 <p><a href="https://vaab.blog.kal.fr/?flattrss_redirect&amp;id=79&amp;md5=d9611ac4ac78ae3bca544bdb0ef043dc" title="Flattr" target="_blank"><img src="https://vaab.blog.kal.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://vaab.blog.kal.fr/2010/11/23/simple-gnome-terminal-bomb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F2010%2F11%2F23%2Fsimple-gnome-terminal-bomb%2F&amp;language=en_GB&amp;category=text&amp;title=simple+gnome-terminal+bomb&amp;description=In+the+need+of+an+%28other%29+argument+against+gnome-terminal+%28as+of+version+2.30.2-0ubuntu1+in+lucid%29+%3F+Run+this+command+in+a+more+than+200%2B+column+wide+terminal%3A+for+_c+in...&amp;tags=fun%2Cubuntu%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Postfix from scratch &#8211; episode 2 &#8211; mail delivery</title>
		<link>https://vaab.blog.kal.fr/2010/03/24/postfix-from-scratch-episode-2-mail-delivery/</link>
		<comments>https://vaab.blog.kal.fr/2010/03/24/postfix-from-scratch-episode-2-mail-delivery/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 07:49:06 +0000</pubDate>
		<dc:creator><![CDATA[vaab]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vaab.blog.kal.fr/?p=60</guid>
		<description><![CDATA[In previous blog entry, we have seen that postfix (on debian systems) can be installed with an empty (but existent) configuration file. This is only possible because all values have defaults. postconf (called with no arguments) is a tool to &#8230;<p class="read-more"><a href="https://vaab.blog.kal.fr/2010/03/24/postfix-from-scratch-episode-2-mail-delivery/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>In previous blog entry, we have seen that postfix (on debian systems) can be installed with an empty (but existent) configuration file. This is only possible because all values have defaults. postconf (called with no arguments) is a tool to display all postfix configuration variables. Try it !</p>
<p>We will be using postconf to set values directly in the /etc/postfix/main.cf</p>
<h3>Mail delivery</h3>
<p>We will need now to give postfix a clue to which mail we'll want him to deliver localy. This is quite simple:</p>
<pre># postconf -e "mydestination = wiz.orgx, home.foo.comx"
# postfix reload</pre>
<p>Now lets see how postfix reacts to the sending of mail towards wiz.orgx:</p>
<pre><strong># nc localhost 25
</strong>220 myhostname.localdomain ESMTP Postfix
<strong>MAIL FROM:&lt;gbush@us.comx&gt;
</strong>250 2.1.0 Ok
<strong>RCPT TO:&lt;bugsbunny@wiz.orgx&gt;
</strong>550 5.1.1 &lt;bugsbunny@wiz.orgx&gt;: Recipient address rejected: User unknown in local recipient table
<strong>^C
#
</strong></pre>
<p>As user "bugsbunny" does not exist, postfix refuses to send the mail. To continue this, let's suppose you know how to create a new user on your system called 'john' in this example. Now lets try to send a mail to john:</p>
<pre><strong># nc localhost 25
</strong>220 myhostname.localdomain ESMTP Postfix
<strong>MAIL FROM:&lt;gbush@us.comx&gt;
</strong>250 2.1.0 Ok
<strong>RCPT TO:&lt;john@wiz.orgx&gt;
</strong><strong>DATA
</strong>354 End data with &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;
<strong>Subject: hello friend

how are you ?
.
</strong>250 2.0.0 Ok: queued as 94B822AC246
<strong>QUIT
</strong>221 2.0.0 Bye
<strong>#</strong></pre>
<p>Note that the domain "wiz.orgx" is not a valid domain name currently. But this will work with exactly this domain. Postfix does not do any check (and this is normal), neither of your real network domain nor of ICANN legislation. No check at all are performed on the sender's mail address neither.</p>
<h3>But where's our mail ?</h3>
<p>Let's check where has been put our mail: /var/mail or /var/spool/mail (which should be the same as the second is a link towards the first):</p>
<pre># cat /var/spool/mail/john<strong>
From gbush@us.comx  Wed Mar 24 08:04:04 2010
</strong>Return-Path: &lt;gbush@us.comx&gt;
X-Original-To: john@wiz.orgx
<strong>Delivered-To: john@wiz.orgx
</strong>Received: from myhostname.mylocaldomain (myhostname.mylocaldomain [127.0.0.1])
    by myhostname.localdomain (Postfix) with SMTP id CD0CC2AC246
    for &lt;john@wiz.orgx&gt;; Wed, 24 Mar 2010 08:03:16 +0100 (CET)
<strong>Subject: my friend
</strong>Message-Id: &lt;20100324070339.CD0CC2AC246@myhostname.localdomain&gt;
Date: Wed, 24 Mar 2010 08:03:16 +0100 (CET)
<strong>From: gbush@us.comx
</strong>To: undisclosed-recipients:<strong>;

how are you ?</strong></pre>
<p>You should notice that several information have been set in the header of the mail and that our header as been kept intact (it contained only a Subject field).</p>
<p>You can choose to put this file in the home directory of the user by configuring 'home_mailbox':</p>
<pre># postconf -e home_mailbox=MyMailBox</pre>
<p>Mail will then be created directly in ~john/MyMailBox as a file in mbox format, or you can choose to put:</p>
<pre># postconf -e home_mailbox=MyMailBox/</pre>
<p>Notice the ending slash, this will tell postfix to store mail in ~john/MyMailBox as a directory in Maildir format.</p>
<p>Let's choose the maildir format:</p>
<pre># postconf -e home_mailbox=.mail/</pre>
<p>In further blog entry, I'll describe how to plugin procmail as a mail delivery agent.</p>
 <p><a href="https://vaab.blog.kal.fr/?flattrss_redirect&amp;id=60&amp;md5=994096d22e1bc3852b0240344f68d6d1" title="Flattr" target="_blank"><img src="https://vaab.blog.kal.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://vaab.blog.kal.fr/2010/03/24/postfix-from-scratch-episode-2-mail-delivery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F2010%2F03%2F24%2Fpostfix-from-scratch-episode-2-mail-delivery%2F&amp;language=en_GB&amp;category=text&amp;title=Postfix+from+scratch+%26%238211%3B+episode+2+%26%238211%3B+mail+delivery&amp;description=In+previous+blog+entry%2C+we+have+seen+that+postfix+%28on+debian+systems%29+can+be+installed+with+an+empty+%28but+existent%29+configuration+file.+This+is+only+possible+because+all+values+have...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Postfix from scratch &#8211; episode 1 &#8211; open relay</title>
		<link>https://vaab.blog.kal.fr/2010/03/17/postfix-from-scratch-episode-1/</link>
		<comments>https://vaab.blog.kal.fr/2010/03/17/postfix-from-scratch-episode-1/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 22:29:23 +0000</pubDate>
		<dc:creator><![CDATA[vaab]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vaab.blog.kal.fr/?p=50</guid>
		<description><![CDATA[Let's play a little with installation of postfix along the setup of complete solution. Before we start I'll be illustrating what is directly possible through the use of netcat on SMTP/25 port. So you might concider installing it. # sudo &#8230;<p class="read-more"><a href="https://vaab.blog.kal.fr/2010/03/17/postfix-from-scratch-episode-1/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Let's play a little with installation of postfix along the setup of complete solution.</p>
<h4>Before we start</h4>
<p>I'll be illustrating what is directly possible through the use of <em>netcat</em> on SMTP/25 port. So you might concider installing it.</p>
<pre># sudo apt-get install netcat</pre>
<p>And we'll check often the content of <em>/var/log/mail.{err,log}</em> which are full of information on what is happening in postfix. As a reminder, you can see this content with:</p>
<pre># sudo tail -f /var/log/mail.{err,log}</pre>
<h4>Postfix basic installation</h4>
<p>Installation of postfix base repertories will be done through apt mecanism:</p>
<pre># sudo apt-get install postfix</pre>
<p>As of Ubuntu Jaunty, this doesn't install the main configuration file of postfix which is <em>/etc/postfix/main.cf</em> . Without it, <em>/etc/init.d/postfix</em> won't do anything.</p>
<p>So let's create an empty configuration file:</p>
<pre># touch /etc/postfix/main.cf</pre>
<p>For this first configuration, to avoid giving a chance to some nasty guys to use an open smtp relay, let's protect us:</p>
<pre># cat &lt;&lt;EOF &gt;&gt; /etc/postfix/main.cf
## temporary protection against unwanted external connection
inet_interface = localhost
EOF</pre>
<p>We are done, well not completely done yet, as after</p>
<pre># /etc/init.d/postfix start</pre>
<p>we will try to send a mail through</p>
<pre># nc localhost 25</pre>
<p>And this will stall. You'll notice in the logs that:</p>
<pre>smtpd[30428]:  <span style="color: #ff0000"><strong>fatal</strong></span>:   <strong>open database /etc/aliases.db: No such file or directory</strong>
master[30332]: warning: process /usr/lib/postfix/smtpd pid 30428 <strong>exit status 1</strong>
master[30332]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling</pre>
<p>To create the <em>/etc/aliases.db</em>, simply type:</p>
<pre># newaliases</pre>
<p>It'll take content of <em>/etc/aliases</em> and create the <em>/etc/aliases.db</em>. Don't forget to restart postfix:</p>
<pre># /etc/init.d/postfix restart<strong><strong></strong></strong></pre>
<h4>First test of our open relay</h4>
<p>Let's try to send a mail:</p>
<pre><strong># nc localhost 25
</strong>220 myhostname.localdomain ESMTP Postfix
<strong>MAIL FROM:&lt;foo@bar.comx&gt;
</strong>250 2.1.0 Ok
<strong>RCPT TO:&lt;wiz@bee.orgx&gt;
</strong>250 2.1.5 Ok
<strong>DATA
</strong>354 End data with &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;
<strong>Subject: test mail

test content
.
</strong>250 2.0.0 Ok: queued as 94B822AC246
<strong>QUIT
</strong>221 2.0.0 Bye
<strong>#</strong></pre>
<p>Note that neither sender email <em>foo@bar.comx</em> nor destination email <em>wiz@bee.orgx</em> are correct mail addresses. This doesn't seem to bother postfix which seems to take care of my content. But in the log:</p>
<pre>smtpd[30451]:   connect from myhostname.mydomain[127.0.0.1]
smtpd[30451]:   <span style="color: #333399"><strong>A7FB62AC246</strong></span>: client=myhostname.mydomain[127.0.0.1]
cleanup[30546]: <strong><span style="color: #333399">A7FB62AC246</span></strong>: message-id=&lt;20100317214750.<strong><span style="color: #333399">A7FB62AC246</span></strong>@myhostname.mydomain&gt;
smtp[30547]:    <span style="color: #333399"><strong>A7FB62AC246</strong></span>: to=&lt;wiz@bee.orgx&gt;, relay=none, delay=31, delays=31/0.02/0.11/0, dsn=5.4.4, status=bounced (<em><strong>Host or domain name not found. Name service error for name=bee.orgx type=A: Host not found</strong></em>)
cleanup[30546]: <span style="color: #008000"><strong>4EBCA2AC249</strong></span>: message-id=&lt;20100317214811.4EBCA2AC249@myhostname.mydomain&gt;
qmgr[30446]:    <span style="color: #008000"><strong>4EBCA2AC249</strong></span>: from=&lt;&gt;, size=2282, nrcpt=1 (queue active)
bounce[30548]:  <strong><span style="color: #333399">A7FB62AC246</span></strong>: sender non-delivery notification: <strong><span style="color: #008000">4EBCA2AC249</span></strong>
qmgr[30446]:    <strong><span style="color: #333399">A7FB62AC246</span></strong>: <strong>removed</strong>
smtp[30547]:    <span style="color: #008000"><strong>4EBCA2AC249</strong></span>: to=&lt;foo@bar.comx&gt;, relay=none, delay=0.04, delays=0.02/0/0.03/0, dsn=5.4.4, status=bounced (<strong><em>Host or domain name not found. Name service error for name=bar.comx type=A: Host not found</em></strong>)
qmgr[30446]:    <span style="color: #008000"><strong>4EBCA2AC249</strong></span>: <strong>removed</strong></pre>
<p>You can see that postfix tried to send the mail, and received a <em>Host not found</em> error for host <em>bee.orgx. </em>An email is generated to warn the sender that his mail has not been sent correctly, but <em>bar.comx</em> ends also in a <em>Host not found</em>. Finally, the original message and the warning message are deleted from their queue as they can't be sent to their respective domain.</p>
<p>In this basic configuration, there are no check at all. This is an open relay. This is why we limited access to this postfix to <em>localhost</em> only.</p>
<p>Next stage we will setup postfix to deliver mail on our host...</p>
 <p><a href="https://vaab.blog.kal.fr/?flattrss_redirect&amp;id=50&amp;md5=21021116960def6fae6ce8af8c6c1665" title="Flattr" target="_blank"><img src="https://vaab.blog.kal.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://vaab.blog.kal.fr/2010/03/17/postfix-from-scratch-episode-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F2010%2F03%2F17%2Fpostfix-from-scratch-episode-1%2F&amp;language=en_GB&amp;category=text&amp;title=Postfix+from+scratch+%26%238211%3B+episode+1+%26%238211%3B+open+relay&amp;description=Let%27s+play+a+little+with+installation+of+postfix+along+the+setup+of+complete+solution.+Before+we+start+I%27ll+be+illustrating+what+is+directly+possible+through+the+use+of+netcat+on...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Import Contacts with Gammu</title>
		<link>https://vaab.blog.kal.fr/2009/11/29/import-contacts-with-gammu/</link>
		<comments>https://vaab.blog.kal.fr/2009/11/29/import-contacts-with-gammu/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 13:27:28 +0000</pubDate>
		<dc:creator><![CDATA[vaab]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vaab.blog.kal.fr/?p=19</guid>
		<description><![CDATA[After syncing my contacts between Thunderbird / Google / iPhone I realized that all my contacts were stuck in my old phone (Nokia 6230). I'll explain here how I managed to extract all the contact info from Nokia phone to &#8230;<p class="read-more"><a href="https://vaab.blog.kal.fr/2009/11/29/import-contacts-with-gammu/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>After syncing my contacts between Thunderbird / Google / iPhone I realized that all my contacts were stuck in my old phone (Nokia 6230). I'll explain here how I managed to extract all the contact info from Nokia phone to feed them in my new shared contact list.</p>
<p>This was tested on Ubuntu (karmic), and instructions will target this system.</p>
<h4>Principle</h4>
<p>We'll use a application to get vCards Contact list out of the phone through the bluetooth connection. Then importing this to thunderbird will be trivial.</p>
<h4>Extraction of Contacts from Phone</h4>
<p>I use gammu (you might need to check the installation pages to see how to install it):</p>
<p># gammu backup save.vcf</p>
<p>This will create the "save.vcf" file containing all your contact. You should not use "save.ldif" format as it will mess up fields names and won't correctly be imported by Thunderbird.</p>
<h4>Convert VCF file to LDIF file (correctly)</h4>
<p>The trick now is to use <a title="Vcf Convert" href="http://labs.brotherli.ch/vcfconvert/">this Online VCF</a> to Ldif converter (which don't mess with Thunderbird fields) to convert your "save.vcf" file.</p>
<h4>Import file in Thunderbird</h4>
<p>You can now safely import contacts as Text/Ldif contact list in Thunderbird's Contact Manager. They will be put in a separate contact book. You'll have to move (drag &amp; drop) all your contact to your synchronized contact.</p>
<p>You should check carefully that fields are correct. If you have several duplicates, you should check <a title="Removing duplicate contacts" href="http://vaab.blog.kal.fr/2009/11/29/removing-duplicate-contacts/">my next blog entry</a>.</p>
<p>Et voilà !</p>
 <p><a href="https://vaab.blog.kal.fr/?flattrss_redirect&amp;id=19&amp;md5=0c6dc1d8c11b330e42b1b12e23e303ba" title="Flattr" target="_blank"><img src="https://vaab.blog.kal.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://vaab.blog.kal.fr/2009/11/29/import-contacts-with-gammu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=vaab&amp;popout=1&amp;url=https%3A%2F%2Fvaab.blog.kal.fr%2F2009%2F11%2F29%2Fimport-contacts-with-gammu%2F&amp;language=en_GB&amp;category=text&amp;title=Import+Contacts+with+Gammu&amp;description=After+syncing+my+contacts+between+Thunderbird+%2F+Google+%2F+iPhone+I+realized+that+all+my+contacts+were+stuck+in+my+old+phone+%28Nokia+6230%29.+I%27ll+explain+here+how+I+managed...&amp;tags=blog" type="text/html" />
	</item>
	</channel>
</rss>
