<?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>MinuteButterfly</title>
	<atom:link href="http://minutebutterfly.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://minutebutterfly.de</link>
	<description>Computer Vision, Software &#38; Web Development by Régis Behmo</description>
	<lastBuildDate>Mon, 16 Apr 2012 06:30:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Self-hosted email</title>
		<link>http://minutebutterfly.de/2012/03/20/self-hosted-email/</link>
		<comments>http://minutebutterfly.de/2012/03/20/self-hosted-email/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 06:15:46 +0000</pubDate>
		<dc:creator>Régis B.</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://minutebutterfly.de/?p=484</guid>
		<description><![CDATA[TweetAs I explained in a previous post, I have decided to move away from Google&#8217;s Gmail service for email management, and from third-party email hosting platforms in general. This isn&#8217;t really a great accomplishment, and I am not trying to brag about it, nor to convince anyone that they should make the same decision. But <a href="http://minutebutterfly.de/2012/03/20/self-hosted-email/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ -->
				<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://minutebutterfly.de/2012/03/20/self-hosted-email/" data-count="horizontal" data-via="regisb" data-text="Self-hosted email">Tweet</a></span></div><p>As I explained in a <a title="Bye Bye Gmail" href="http://minutebutterfly.de/2012/02/23/bye-bye-gmail/">previous post</a>, I have decided to move away from Google&#8217;s Gmail service for email management, and from third-party email hosting platforms in general. This isn&#8217;t really a great accomplishment, and I am not trying to brag about it, nor to convince anyone that they should make the same decision. But a handful of people have shown interest in the method and the attached costs. And in my close circle, a handful of people who show interest in computer stuff is an awful lot. So here we go.</p>
<h2>Overview</h2>
<p>My setup is composed of three main components:</p>
<ol>
<li>A remote server that serves both as an SMTP server (for sending mail) and as a POP3 server. I pay 1€/month for this (see below for the financial details).</li>
<li>A server which I own that retrieves the emails from the POP3 server (with getmail) and stores them in a maildir. <a title="Dovecot" href="http://dovecot.org/">Dovecot</a> is an IMAP server which can serve my email to just any client.</li>
<li>In particular, Dovecot serves my email to a webmail called <a title="Roundcube Webmail" href="http://roundcube.net/">Roundcube</a>, also hosted on my server, and which serves as a replacement for Gmail&#8217;s web interface.</li>
</ol>
<p><a href="http://minutebutterfly.de/wp-content/uploads/2012/03/outline-final.jpg"><img class=" wp-image-490 alignnone" title="Self-hosted email overview" src="http://minutebutterfly.de/wp-content/uploads/2012/03/outline-final.jpg" alt="Self-hosted email overview" width="560" height="420" /></a></p>
<h3>Remote SMTP/POP3 server</h3>
<p><a href="http://remi.caput.fr/">Friends</a> had warned me that managing an SMTP server was a royal pain in the ass. In particular, you need to pay attention not to be blacklisted by any large email delivery platform, such as Gmail, Hotmail, etc. So I decided early on I was ready to pay for this service. It just happens that <a title="Regfish" href="http://regfish.com">Regfish</a> (which is also my domain name provider) sells some cheap email packages for just 1 euro per month. With this service come a couple pretty classic, but very useful services:</p>
<ol>
<li>Catchall email addresses: that means that whatever gets sent to blabla12345@behmo.com (where behmo.com is my domain name) will land in my inbox. That allows me to never give the same email address to two different online services. As a result, I know who sold my email address to spammers and my identity cannot be cross-referenced by multiple service owners.</li>
<li>100Mb remote mailbox equipped with webmail. If, for any reason (fire, apocalypse, reboot), my own server falls and stops retrieving email, my emails will not be lost and will be stored in a reasonably sized (100Mb) email account. That is, until my POP3 client wakes up again and catches up with the lost time.</li>
</ol>
<p>All in all, Regfish provide a reliable service. I have been one of their clients since 2005 and it has been a pretty uneventful ride since then (which is a good thing, as far as server and domain name hosting go).</p>
<h3>Local Maildir/Dovecot (IMAP) server</h3>
<p>Of course, the whole poin of this blog post is to demonstrate how you can self-host your emails, so it would not make much sense to keep them stored on the remote server, right? What moves them from Regfish&#8217;s servers to mine is a cronjob started every two minutes that makes a call to <a title="Getmail" href="http://pyropus.ca/software/getmail/">getmail</a>. Getmail is a basic Unix utility to which you feed a simple cnfiguration file where you specify: the address and credentials of the remote POP3/IMAP server (in our case: POP3, as we don&#8217;t want the remote server to keep a copy of the emails), and the local folder where you want your emails to be stored. In this folder, each email is stored as a plain text file, and subfolders define labels. That also means that it becomes very easy to backup your emails, but this part will come in a later post.</p>
<p>Everything has been relatively easy until now :) No, seriously, getmail, the cronjob and maildir are all a piece of cake to configure. You can try them right away with any third-party email hosting platform that provide a POP3 interface, such as Gmail, Hotmail or Yahoo! Mail.</p>
<p>The Dovecot part is tricky though. Documentation is sparse, to say the least, and strongly depends on your Dovecot version. I think that wikis are just a poor choice when it comes to documenting software or code, but that&#8217;s just me. It&#8217;s too bad, really, because Dovecot is supposed to be the best of its breed. Anyway, I won&#8217;t be able to help you with the Dovecot configuraton, which strongly depends on our platform, but you should make it if you read carefully the documentation included with your configuration file.</p>
<h3>Roundcube webmail</h3>
<p>I like my emails in a browser, not in a program such as Thunderbird or Outlook. I have looked long and hard for an alternative to Gmail&#8217;s sleek interface (believe me, it has been long and it has been hard). Alas, the best solution I found is <a title="Roundcube Webmail" href="http://www.roundcube.net">Roundcube</a>, which is also the first result returned by Google when you search for &#8220;open source webmail&#8221;. It&#8217;s ugly, it&#8217;s slow, it was coded in PHP, it doesn&#8217;t support CardDAV for contact sync, but it works. Which is always better than most other solutions I tried. Install is easy, configuration and use too.</p>
<h2>Conclusions</h2>
<p>The whole thing works, and better: it is very robust and fault tolerant. The only critical moving part that may not be unplugged is the remote mail server. If it fails, I won&#8217;t even know it, except that certain mails will not arrive anymore. But that has never occurred until now. As I emphasised <a title="Bye Bye Gmail" href="http://minutebutterfly.de/2012/02/23/bye-bye-gmail/">earlier</a>, security of my email data is paramount and in this matter I have not been disappointed until now.</p>
<p>The only problems that I see with my setup are the lack of a dynamic, responsive webmail interface (I have even considered coding a better one myself), and of an integrated contact synchronization solution. <a title="Funambol" href="https://www.forge.funambol.org/DomainHome.html">Funambol</a> works well in itself, but does not get along well with Roundcube. I keep looking.</p>
<p>Naturally, this installation has a financial cost. My personal server is a low-power computer that has been plugged at home 24/7 for the past year. Its <a title="Low-Power, Silent Home Server Build" href="http://minutebutterfly.de/projects/low-power-silent-home-server-build/">construction cost</a> was ~450€, but since I use it for may more things than just email, I consider that its cost has already been amortized. It draws ~30W, and in France that represents a recurring cost of about 3€/month. But then again, this server would stay on even if did not host my email. Finally, there is the cost of my Regfish email account: 1€/month. But now that I think of it, I could probably avoid it if I used my Free account that comes with my home internet connection.</p>
]]></content:encoded>
			<wfw:commentRss>http://minutebutterfly.de/2012/03/20/self-hosted-email/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;Please give me your login and password&#8221;</title>
		<link>http://minutebutterfly.de/2012/02/27/please-give-me-your-login-and-password/</link>
		<comments>http://minutebutterfly.de/2012/02/27/please-give-me-your-login-and-password/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 22:20:21 +0000</pubDate>
		<dc:creator>Régis B.</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://minutebutterfly.de/?p=467</guid>
		<description><![CDATA[TweetApparently, custom police officers from several countries now take the liberty to search your computer for illegal files. I wonder: is it illegal to provide login credentials that will delete your sensitive data as soon as a certain user accesses his account? For example, a /home/fakeuser/deletescript script that would contain something like: ssh -i /home/fakeuser/.ssh/no_pwd_key <a href="http://minutebutterfly.de/2012/02/27/please-give-me-your-login-and-password/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ -->
				<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://minutebutterfly.de/2012/02/27/please-give-me-your-login-and-password/" data-count="horizontal" data-via="regisb" data-text="“Please give me your login and password”">Tweet</a></span></div><p>Apparently, custom police officers from several countries now take the liberty to search your computer for illegal files. I wonder: is it illegal to provide login credentials that will delete your sensitive data as soon as a certain user accesses his account? For example, a /home/fakeuser/deletescript script that would contain something like:</p>
<blockquote>
<pre>ssh -i /home/fakeuser/.ssh/no_pwd_key realuser@localhost \
  xargs "srm -r &lt; /home/realuser/list &amp;&amp; srm /home/realuser/list" &amp;&amp; \
  srm /home/fakeuser/deletescript /home/fakeuser/.ssh/no_pwd_key</pre>
</blockquote>
<p>where no_pwd_key is a password-less ssh key to the realuser account and list is a file in which are listed sensitive files and folders that you would wish to remove whenever your computer is searched.</p>
<p>Edit: Ah yes, Vineus notes in the comments that rm is not a secure way to delete files. Disks keep traces of removed files and that means removed files can be retrieved back. So, you would rather use the srm utility from the secure-delete package. (apt-get install secure-delete). Post updated.</p>
]]></content:encoded>
			<wfw:commentRss>http://minutebutterfly.de/2012/02/27/please-give-me-your-login-and-password/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Bye Bye Gmail</title>
		<link>http://minutebutterfly.de/2012/02/23/bye-bye-gmail/</link>
		<comments>http://minutebutterfly.de/2012/02/23/bye-bye-gmail/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 13:12:31 +0000</pubDate>
		<dc:creator>Régis B.</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://minutebutterfly.de/?p=461</guid>
		<description><![CDATA[TweetSince a couple months ago, I have stopped using my regis.behmo@gmail.com address and have now replaced it entirely by my new one: regis@behmo.com. I think this is worth an explanation. I own my address First of all, I do not wish to be tied to an email address which I do not own. As a reminder, <a href="http://minutebutterfly.de/2012/02/23/bye-bye-gmail/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ -->
				<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://minutebutterfly.de/2012/02/23/bye-bye-gmail/" data-count="horizontal" data-via="regisb" data-text="Bye Bye Gmail">Tweet</a></span></div><p>Since a couple months ago, I have stopped using my regis.behmo@gmail.com address and have now replaced it entirely by my new one: regis@behmo.com. I think this is worth an explanation.</p>
<h2>I own my address</h2>
<p>First of all, I do not wish to be tied to an email address which I do not <em>own</em>. As a reminder, all @gmail.com addresses are owned not their users, but by Google. This increases the cost of switching email address: if your email account is disabled, you run the risk of losing contacts who are not aware of your address change. This is similar to changing your mobile phone number; usually, what you do is that you send your close friends your new phone number. Naturally, notifying all of my 2400 email contacts of an address change is not an option. So I decided to redirect all Gmail-incoming emails to my newly acquired @behmo.com address and to send all emails from this new address.</p>
<h2>I own my data</h2>
<p>But I also decided to move my data away from Gmail. This has been a tough decision, technically speaking. I was one of the very first Gmail users, back in 2004. My main Gmail address now hosts 6.2 Gb of emails. Around mid 2011, I realised how important to me was the content of my mailbox: it contains all my contacts, all of my intimate correspondence with my family, all of my love affairs, in-depth reflection with my advisors about my PhD, a lot of photography work, bank account coordinates, clear-text passwords from various websites, a small amount of illegal music files, professional correspondence with potential or actual employers, and much more. Losing all this data would be dreadful. And you know what? <a href="http://blogoscoped.com/archive/2006-03-09-n43.html">it</a> <a href="http://www.theatlantic.com/magazine/archive/2011/11/hacked/8673/">happens</a>. Worse, sometimes Google makes it happen: it has happened more and more <a href="http://www.googleplusplanet.com/2011/07/google-suspending-accounts/">frequently</a> with the rise of Google&#8217;s social network Google+ and its <a href="http://www.time.com/time/business/article/0,8599,2094409,00.html">requirement</a> to make use of the user&#8217;s real name. And for different reasons, I do not want to use my real name on Google+. Losing the content of my mailbox was not, and still isn&#8217;t an option, so trusting Google with it has become less and less rational.</p>
<h2>I have nothing to hide, but my friends might</h2>
<p>For all these reasons, I am now self-hosting my email on my personal server, of which I make frequent backups. The technical and financial details of this move will be given in later posts. I would just like to mention one last argument which has been decisive in my choice of switching to a self-hosted email service: I am concerned not only by the safety of my data, but also of my friends&#8217; and family&#8217;s. Suppose one of my friends commits a crime and, for one reason or another, tells me about it in an email. He might need help or just need to talk about it. This email becomes a piece of evidence which can be used against him. In the past, Google, Yahoo and Microsoft have all complied with police warrants from various countries to provide personal user data. This situation has made me more and more uncomfortable, if not downright anxious. They tell me I have nothing to fear if I have nothing to hide. Well, I know about me, but what about my friends?</p>
]]></content:encoded>
			<wfw:commentRss>http://minutebutterfly.de/2012/02/23/bye-bye-gmail/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>MinuteButterfly will blackout against SOPA</title>
		<link>http://minutebutterfly.de/2012/01/17/minutebutterfly-will-blackout-against-sopa/</link>
		<comments>http://minutebutterfly.de/2012/01/17/minutebutterfly-will-blackout-against-sopa/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 14:17:53 +0000</pubDate>
		<dc:creator>Régis B.</dc:creator>
				<category><![CDATA[World]]></category>

		<guid isPermaLink="false">http://minutebutterfly.de/?p=438</guid>
		<description><![CDATA[TweetSOPA and PIPA are heinous US bills that could, and will if passed, deprive you of some of your most fundamental rights of information. Any otherwise legitimate website that contains a single page that infringe, or seem to infringe, on the rights of any intellectual property rightsholder could be taken down. Depending on who makes <a href="http://minutebutterfly.de/2012/01/17/minutebutterfly-will-blackout-against-sopa/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ -->
				<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://minutebutterfly.de/2012/01/17/minutebutterfly-will-blackout-against-sopa/" data-count="horizontal" data-via="regisb" data-text="MinuteButterfly will blackout against SOPA">Tweet</a></span></div><p>SOPA and PIPA are heinous US bills that could, and will if passed, deprive you of some of your most fundamental rights of information. Any otherwise legitimate website that contains a single page that infringe, or seem to infringe, on the rights of any intellectual property rightsholder could be taken down.</p>
<blockquote><p>Depending on who makes the request, the court order could include barring <a title="Online advertising" href="http://en.wikipedia.org/wiki/Online_advertising">online advertising</a> networks and payment facilitators, such as <a title="PayPal" href="http://en.wikipedia.org/wiki/PayPal">PayPal</a>, from doing business with the allegedly infringing website, barring <a title="Search engine" href="http://en.wikipedia.org/wiki/Search_engine">search engines</a> from linking to such sites, and requiring <a title="Internet service provider" href="http://en.wikipedia.org/wiki/Internet_service_provider">Internet service providers</a> to block access to such sites.</p>
<p>Source: <a title="Wkipedia - Stop Online Piracy Act" href="http://en.wikipedia.org/wiki/Stop_Online_Piracy_Act">Wikipedia.org</a></p></blockquote>
<p>Think of what this would mean for user-generated content. Think <a title="Twitter" href="http://twitter.com">Twitter</a>, <a title="Tumblr" href="http://www.tumblr.com">Tumblr</a> and <a title="en.Wikipedia" href="http://en.wikipedia.org">Wikipedia</a>. This bill should not be made law. In protest of this bill, my website will go down for one day on Friday 18 January. Yes, I KNOW my website has about 30 visits per week and that no one cares.</p>
<p>Fore more information:</p>
<ul>
<li>SOPA on <a href="http://en.wikipedia.org/wiki/Stop_Online_Piracy_Act">Wikipedia</a>.</li>
<li>La Quadrature du Net makes a <a title="ACTA.org" href="http://www.laquadrature.net/fr/stoppons-la-censure-du-net-aux-us-avant-quacta-ne-limpose-en-europe">statement</a> (in French).</li>
<li><a title="EFF" href="https://www.eff.org/deeplinks/2011/10/sopa-hollywood-finally-gets-chance-break-internet">An analysis</a> by the Electronic Frontier Foundation (EFF).</li>
</ul>
<h2>For the tech-inclined</h2>
<p>The page that will be displayed instead of all pages will be this one: <a href="http://minutebutterfly.de/blackout.html">http://minutebutterfly.de/blackout.html</a>.</p>
<p>The blackout page template was retrieved from <a title="Github - Drupal SOPA blackout" href="https://github.com/mcantelon/drupal-sopa-blackout/blob/master/template/sopa.html">this Github project</a>. As recommended by <a title="Return 503 on blakout" href="https://plus.google.com/115984868678744352358/posts/Gas8vjZ5fmB">SEO experts</a>, the whole website will return a <a title="Wikipedia 5xx Server error" href="http://en.wikipedia.org/wiki/Error_503#5xx_Server_Error">503 status code</a>. This will be achieved using the following .htaccess file:</p>
<blockquote>
<pre>ErrorDocument 503 /blackout.html
RewriteCond %{REQUEST_URI} !/blackout.html$  
RewriteCond %{TIME_MON} ^01$
RewriteCond %{TIME_DAY} ^18$
RewriteRule $ /blackout.html [R=503]
</pre>
</blockquote>
<p>Feel free to copy and modify the files you need for your own use.</p>
]]></content:encoded>
			<wfw:commentRss>http://minutebutterfly.de/2012/01/17/minutebutterfly-will-blackout-against-sopa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s in my name?</title>
		<link>http://minutebutterfly.de/2012/01/13/whats-in-my-name/</link>
		<comments>http://minutebutterfly.de/2012/01/13/whats-in-my-name/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 16:50:09 +0000</pubDate>
		<dc:creator>Régis B.</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://minutebutterfly.de/?p=428</guid>
		<description><![CDATA[TweetIn Hebrew, Bekhmoharar, pronounced Bekhmoharash, signifies &#8220;son of our honored teacher and rabbi&#8221;. It was an honorific title granted to rabbi sons (obviously) and how it changed into a family name is actually an interesting story. In 1722, Menahem Ashkenazi, son of rabbi Isaac, and rabbi himself, decided  for some obscure reason, that he would <a href="http://minutebutterfly.de/2012/01/13/whats-in-my-name/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ -->
				<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://minutebutterfly.de/2012/01/13/whats-in-my-name/" data-count="horizontal" data-via="regisb" data-text="What’s in my name?">Tweet</a></span></div><p>In Hebrew, Bekhmoharar, pronounced Bekhmoharash, signifies &#8220;son of our honored teacher and rabbi&#8221;. It was an honorific title granted to rabbi sons (obviously) and how it changed into a family name is actually an interesting story.</p>
<p>In 1722, Menahem Ashkenazi, son of rabbi Isaac, and rabbi himself, decided  for some obscure reason, that he would rather not have a family name at all. But his son Mordechai inherited the honorific title nonetheless, and was thus known as Mordechai Bekhmoharar Menahem instead of the longer &#8220;Mordechai Bekhmoharar Menahem Ashkenazi&#8221;. For a loooong time after that, all rabbi sons X of Y were named &#8220;X Bekhmoharar Y&#8221;. This family was known as the Bekhmoharar, which was weird, but everyone was happy about it.</p>
<p>After a couple centuries, the family had a bunch of non-rabbi branches, and being called &#8220;X Bekhmoharar&#8221; was getting a little too weird. The family decided to keep the name of Shimeon, which was common to many family members. After that, &#8220;Bekhmoharar Shimeon&#8221; passed through a dozen countries and wars to change into Behmo. Hence my name.</p>
<p>I am not so big on genealogy myself, but some people are very interested in the history of the ancient roots of the Behmoiras family. That&#8217;s how I became the webmaster of the <a title="Erensia behmoiras" href="http://www.behmoiras.org">Erensia Behmoiras</a> website. These guys are doing some terrific research work. If you are from the Behmoiras family, just send me an email asking for access credentials.</p>
]]></content:encoded>
			<wfw:commentRss>http://minutebutterfly.de/2012/01/13/whats-in-my-name/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neal Stephenson on innovation</title>
		<link>http://minutebutterfly.de/2011/09/25/neal-stephenson-on-innovation/</link>
		<comments>http://minutebutterfly.de/2011/09/25/neal-stephenson-on-innovation/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 10:59:24 +0000</pubDate>
		<dc:creator>Régis B.</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://minutebutterfly.de/?p=391</guid>
		<description><![CDATA[TweetThis is so true: (&#8230;) Most people who work in corporations or academia have witnessed something like the following: A number of engineers are sitting together in a room, bouncing ideas off each other. Out of the discussion emerges a new concept that seems promising. Then some laptop-wielding person in the corner, having performed a <a href="http://minutebutterfly.de/2011/09/25/neal-stephenson-on-innovation/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ -->
				<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://minutebutterfly.de/2011/09/25/neal-stephenson-on-innovation/" data-count="horizontal" data-via="regisb" data-text="Neal Stephenson on innovation">Tweet</a></span></div><p><a href="http://www.worldpolicy.org/journal/fall2011/innovation-starvation">This</a> is so true:</p>
<blockquote><p>(&#8230;) Most people who work in corporations or academia have witnessed something like the following: A number of engineers are sitting together in a room, bouncing ideas off each other. Out of the discussion emerges a new concept that seems promising. Then some laptop-wielding person in the corner, having performed a quick Google search, announces that this “new” idea is, in fact, an old one—or at least vaguely similar—and has already been tried. Either it failed, or it succeeded. If it failed, then no manager who wants to keep his or her job will approve spending money trying to revive it. If it succeeded, then it’s patented and entry to the market is presumed to be unattainable, since the first people who thought of it will have “first-mover advantage” and will have created “barriers to entry.” The number of seemingly promising ideas that have been crushed in this way must number in the millions. (&#8230;)</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://minutebutterfly.de/2011/09/25/neal-stephenson-on-innovation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH:443 and HTTPS:443 everywhere!</title>
		<link>http://minutebutterfly.de/2011/08/30/ssh443-and-https443-everywhere/</link>
		<comments>http://minutebutterfly.de/2011/08/30/ssh443-and-https443-everywhere/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 09:19:41 +0000</pubDate>
		<dc:creator>Régis B.</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://minutebutterfly.de/?p=386</guid>
		<description><![CDATA[TweetEverybody faces annoying firewalls that prevent you from accessing certain websites or online applications, for instance by blocking certain ports. In many cases, these hindrances can be circumvented by a simple SSH tunnel. However, in many companies port 22, which is the port behind which SSH operates, is also blocked. In these cases, the only <a href="http://minutebutterfly.de/2011/08/30/ssh443-and-https443-everywhere/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ -->
				<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://minutebutterfly.de/2011/08/30/ssh443-and-https443-everywhere/" data-count="horizontal" data-via="regisb" data-text="SSH:443 and HTTPS:443 everywhere!">Tweet</a></span></div><p>Everybody faces annoying firewalls that prevent you from accessing certain websites or online applications, for instance by blocking certain ports. In many cases, these hindrances can be circumvented by a simple SSH tunnel. However, in many companies port 22, which is the port behind which SSH operates, is also blocked. In these cases, the only ports left open are ports 80 (for HTTP) and 443 (for HTTPS). You might want your SSH server to listen to port 443, but that would prevent you from doing HTTPS on your server. The solution is to use a &#8220;port multiplexer&#8221; called <a title="SSLH" href="http://www.rutschle.net/tech/sslh.shtml">SSLH</a>. SSLH listens to port 443 and redirects the query to either your SSH or your HTTPS server, depending on the query type. Let&#8217;s see how you install and configure this beast on a Ubuntu machine with a running Apache server.</p>
<h2>Configuring self-signed HTTPS on Apache</h2>
<p><code>sudo a2enmod ssl # enable the SSL module<br />
sudo a2ensite default-ssl # enable the default SSL site described in/etc/apache2/sites-available/default-ssl</code></p>
<p>You should now be able to access your website at https://yourwebsite.com.</p>
<p>However, you do not have enough money to buy yourself a <a href="http://en.wikipedia.org/wiki/Public_key_certificate">public key certificate</a> from a certificate authority. Therefore, at each connection you will (should) receive a message from your browser warning you that this connection is insecure. DO NOT CLICK THROUGH! Certain companies intentionally perform man-in-the-middle attacks to prevent you from making HTTPS connections, such as to your mailbox. You would not want your employer to peek on your passwords and emails, right? Instead, you should verify the integrity of the SHA1 (or MD5, though less secure) fingerprint produced by the HTTPS connection. To do so, issue the following command on your server:</p>
<p><code>openssl x509 -sha1 -in /etc/ssl/certs/ssl-cert-snakeoil.pem -fingerprint # This is the SSL certificate employed by default-ssl, as described in its configuration file (see above)</code></p>
<p>If the produced fingerprint does not match the fingerprint shown by your browser: <a title="Bad stuff happened" href="http://www.youtube.com/watch?v=59BHNYpKx2A">fly, you fools</a>. Someone is spying on you. Seriously, this kind of stuff happens. Now, on to SSH.</p>
<h2>Installing an SSH server</h2>
<p>On Ubuntu (or Debian, I guess), this is as simple as it gets:<br />
<code>sudo apt-get install openssh-server openssh-client # Installing the client and server packages</code></p>
<h2>Installing and configuring SSLH</h2>
<p>SSLH is neatly packaged for Ubuntu:</p>
<p><code>sudo apt-get install sslh</code></p>
<p>However, the package comes intentionally unconfigured. You must edit the SSLH configuration file:</p>
<h4>/etc/default/sslh</h4>
<p><code># Redirect port 443 of your server to either your SSH server (port 22) or Apache.<br />
DAEMON_OPTS="-u sslh -p yourserveripaddress:443 -s 127.0.0.1:22 -l 127.0.0.1:443 -P /var/run/sslh.pid"<br />
RUN=yes</code></p>
<p>Here, &#8220;yourserveripaddress&#8221; refers to the address of your server on your local network (if there is one). For instance, on my home server which is behind a router, the address is 192.168.0.3.</p>
<p>You must also ask Apache to listen to HTTPS connections to 127.0.0.1 only:</p>
<h4>/etc/apache2/ports.conf</h4>
<p><code>&lt;IfModule mod_ssl.c&gt;<br />
Listen 127.0.0.1:443<br />
&lt;/IfModule&gt;</code></p>
<p>Finally, restart Apache and start SSLH:<br />
<code>sudo apache2ctl -k graceful<br />
sudo /etc/init.d/sslh start</code></p>
<h2>Testing SSH</h2>
<p>To connect to your server on port 443, try out: <code>ssh -p 443 username@servername.com</code></p>
<p>You will need to verify the RSA fingerprint (agin), which is different from the Apache SSL fingerprint:<br />
<code>ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub # location of your SSH server public key</code></p>
]]></content:encoded>
			<wfw:commentRss>http://minutebutterfly.de/2011/08/30/ssh443-and-https443-everywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SFR 0 &#8211; 1 Régis</title>
		<link>http://minutebutterfly.de/2011/07/27/sfr-0-1-regis/</link>
		<comments>http://minutebutterfly.de/2011/07/27/sfr-0-1-regis/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 14:30:38 +0000</pubDate>
		<dc:creator>Régis B.</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://minutebutterfly.de/?p=373</guid>
		<description><![CDATA[TweetLes offres mobiles dites &#8220;illimitées&#8221; des opérateurs téléphoniques en France sont plus bridées que des coupés sport chinois. En novembre 2009 (J+0), je souscris à un forfait internet SFR Illimythics accompagné d&#8217;un HTC Hero, qui à l&#8217;époque était considéré comme un bon téléphone. Le reste n&#8217;a été qu&#8217;une suite de déceptions : J+1h : Je <a href="http://minutebutterfly.de/2011/07/27/sfr-0-1-regis/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ -->
				<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://minutebutterfly.de/2011/07/27/sfr-0-1-regis/" data-count="horizontal" data-via="regisb" data-text="SFR 0 – 1 Régis">Tweet</a></span></div><p>Les offres mobiles dites &#8220;illimitées&#8221; des opérateurs téléphoniques en France sont plus bridées que des coupés sport chinois. En novembre 2009 (J+0), je souscris à un forfait internet SFR Illimythics accompagné d&#8217;un HTC Hero, qui à l&#8217;époque était considéré comme un <em>bon</em> téléphone. Le reste n&#8217;a été qu&#8217;une suite de déceptions :</p>
<ul>
<li>J+1h : Je me rends compte que je n&#8217;ai pas accès à l&#8217;<a title="Android Market" href="https://market.android.com/">Android Market</a> sur le réseau 3G.</li>
<li>J+2h : Ah bon, pas d&#8217;IMAP ni de POP3 non plus ?</li>
<li>J+1 : Et pour le SSH, j&#8217;imagine que c&#8217;est même pas la peine de rêver ?</li>
<li>J+7 : Pas de VOIP ? Pas de YouTube ? Pas de POST vers Facebook ?</li>
</ul>
<p>A mon retour de Chine, je me sentais comme <a title="C'est pas ma guerre" href="http://www.youtube.com/watch?v=YlmNaMHhat0">Rambo qui revient du Vietnam</a> et qui se rend compte qu&#8217;il doit continuer à mener sa guerre. Sortez les proxys ! Après deux ans de galère chez SFR et plusieurs heures de négociation avec les opérateurs de la hotline, j&#8217;ai enfin trouvé la solution à <span style="text-decoration: underline;">tous</span> mes problèmes.</p>
<h2>Préambule : Course à l&#8217;armement</h2>
<p>Il faut que vous vous équipiez d&#8217;un serveur SSH qui écoute sur le port 443. Donc une machine qui tourne en permanence, quelque part dans le monde. Et le port 443, c&#8217;est parce que le port 22 est bloqué chez SFR, mais ça vous l&#8217;aviez deviné, non ? La manière la plus simple de réaliser ce montage, c&#8217;est de laisser une babasse sous Linux allumée chez soi avec openssl-server et de rediriger le port 443 de votre Live/Free/Bouygues/SFR/Neuf/Orange/Pourpre-box vers le port 22 de la babasse en question.</p>
<p>Passez à la suite dès que vous pouvez vous connecter à votre babasse à partir d&#8217;un terminal :</p>
<pre>ssh -p 443 mon_nom_dutilisateur@le.petit.nom.de.ma.babasse.com</pre>
<p>Bientôt, vous allez tellement aimer votre babasse que vous vous surprendrez à murmurer son petit nom dans vos rêves les plus doux.</p>
<h2>Ouverture des hostilités : <a title="Enlarge Your Android Market" href="http://www.youtube.com/watch?v=zLwcVG_qF74">Freedom Like A Shopping Cart</a></h2>
<p>Premier exercice : profiter de votre petit tunnel SSH tout neuf pour enfin télécharger des applis sur l&#8217;Android Market.</p>
<ol start="0">
<li>Devenez super-utilisateur et reprenez le contrôle de votre téléphone grâce à <a title="SuperUser" href="https://market.android.com/details?id=com.noshufou.android.su">SuperUser</a>.</li>
<li>Téléchargez l&#8217;appli <a title="SSHTunnel" href="https://market.android.com/details?id=org.sshtunnel">SSHTunnel</a> à partir d&#8217;un réseau Wifi. Si aucun réseau Wifi n&#8217;est disponible à proximité, vous pouvez télécharger directement l&#8217;appli à partir du <a title="SSHTunnel website" href="http://code.google.com/p/sshtunnel/downloads/list">site du développeur</a>.</li>
<li>Créez un profil avec la configuration suivante : host = le.petit.nom.de.ma.babasse.com, user = mon_nom_dutilisateur, password = monmotdepasse, port=443, Use socks proxy = coché, local port = 1984, Global proxy = coché</li>
<li>Activez le profil (Tunnel switch), autorisez l&#8217;appli à devenir super user et lancez le Market. Tadam !</li>
</ol>
<h2>Opération <a title="Mortal Kombaaaaaaaaaaaaat!" href="http://www.youtube.com/watch?v=q9e_w_CYrrk">Tunnel Fatality</a></h2>
<p>Et maintenant vous aimeriez bien consulter votre boîte mail sans passer par un webmail pourri ? Comme je vous comprends. En ce qui me concerne je dispose d&#8217;un serveur SMTP qui écoute sur le port 465 et un serveur IMAP qui écoute sur le port 993. Ces deux ports étant bloqués par SFR et gnagnagna et gnagnagna. La solution :<a title="Redirection de ports" href="http://fr.wikipedia.org/wiki/Redirection_de_port"> la  redirection de ports</a> !</p>
<ol>
<li>Installez <a title="ConnectBot" href="https://market.android.com/details?id=org.connectbot">ConnectBot</a> grâce à votre tunnel SSH tout neuf.</li>
<li>Créez un profil avec le même genre d&#8217;infos que pour SSHTunnel (utilisateur, mot de passe, serveur, port 443). En option, vous pouvez créer un couple clé publique/clé privée sur votre babasse et copier votre clé privée sur votre téléphone pour ne pas avoir à retaper votre mot de passe à chaque connexion.</li>
<li>Ajouter deux redirections de ports :
<ul>
<li>Type = local, port source = 6665, destination = adresse.serveur.smtp:465</li>
<li>Type = local, port source = 6666, destination = adresse.serveur.imap:993 (localhost:993 dés lors que votre serveur IMAP se trouve sur la même machine que votre serveur SSH)</li>
</ul>
</li>
<li>Installez un client mail IMAP, par exemple l&#8217;excellent <a title="K-9 Mail" href="https://market.android.com/details?id=com.fsck.k9">K-9 Mail</a></li>
<li>Après avoir activé votre redirection de ports sous ConnectBot, configurez vos serveurs IMAP/SMTP sous K-9 Mail : localhost:6666 pour IMAP et localhost:6665 pour SMTP. Et ouala.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://minutebutterfly.de/2011/07/27/sfr-0-1-regis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Home Server Saves Polar Bears</title>
		<link>http://minutebutterfly.de/2011/07/20/my-home-server-saves-polar-bears/</link>
		<comments>http://minutebutterfly.de/2011/07/20/my-home-server-saves-polar-bears/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 14:41:12 +0000</pubDate>
		<dc:creator>Régis B.</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://minutebutterfly.de/?p=354</guid>
		<description><![CDATA[TweetAfter I measured an impressive 29W peak power consumption on my Atom 330 dual core home server (admittedly, without any HD video rendering), and also because I love to show off a bit, I decided to publish my hardware configuration: it&#8217;s right here.]]></description>
			<content:encoded><![CDATA[
				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ -->
				<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://minutebutterfly.de/2011/07/20/my-home-server-saves-polar-bears/" data-count="horizontal" data-via="regisb" data-text="My Home Server Saves Polar Bears">Tweet</a></span></div><p>After I measured an impressive 29W peak power consumption on my Atom 330 dual core home server (admittedly, without any HD video rendering), and also because I love to show off a bit, I decided to publish my hardware configuration: it&#8217;s <a title="Low-Power, Silent Home Server Build" href="http://minutebutterfly.de/?page_id=348">right here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://minutebutterfly.de/2011/07/20/my-home-server-saves-polar-bears/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Photoroid &#8211; An image-sharing web application</title>
		<link>http://minutebutterfly.de/2011/07/20/photoroid-an-image-sharing-web-application/</link>
		<comments>http://minutebutterfly.de/2011/07/20/photoroid-an-image-sharing-web-application/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 11:50:15 +0000</pubDate>
		<dc:creator>Régis B.</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://minutebutterfly.de/?p=337</guid>
		<description><![CDATA[TweetGreat day! I just open-sourced Photoroid, which is an application meant to help you share pictures between friends. Its main strength, as opposed to other picture-sharing applications such as Picasa, Flickr, Facebook or Google+, is that it makes it very easy to gather images from many different people. More info on the project web page.]]></description>
			<content:encoded><![CDATA[
				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ -->
				<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://minutebutterfly.de/2011/07/20/photoroid-an-image-sharing-web-application/" data-count="horizontal" data-via="regisb" data-text="Photoroid – An image-sharing web application">Tweet</a></span></div><p>Great day! I just open-sourced <strong>Photoroid</strong>, which is an application meant to help you share pictures between friends. Its main strength, as opposed to other picture-sharing applications such as Picasa, Flickr, Facebook or Google+, is that it makes it very easy to gather images from many different people. More info on the <a title="Photoroid" href="http://minutebutterfly.de/?page_id=327">project web page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://minutebutterfly.de/2011/07/20/photoroid-an-image-sharing-web-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

