<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;C0ACQ3k8cCp7ImA9WhRVFk8.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288</id><updated>2012-01-15T11:02:42.778+01:00</updated><category term="prompt" /><category term="visual" /><category term="rmi" /><category term="control" /><category term="curriculum" /><category term="cli" /><category term="table_parser" /><category term="arguments" /><category term="icons" /><category term="keys" /><category term="books" /><category term="registry" /><category term="mv" /><category term="lorem" /><category term="facesmash" /><category term="permutation" /><category term="annotations" /><category term="events" /><category term="projects" /><category term="info" /><category term="puzzle" /><category term="inverted" /><category term="algorithms" /><category term="phone" /><category term="digits" /><category term="adjustment" /><category term="restore" /><category term="audio" /><category term="job" /><category term="copy" /><category term="nc10" /><category term="vitae" /><category term="player" /><category term="pendulum" /><category term="gdata" /><category term="codebase" /><category term="cakephp" /><category term="alsa" /><category term="email" /><category term="freebsd" /><category term="ipsum" /><category term="3dscene" /><category term="eclipse" /><category term="lsystem" /><category term="primary" /><category term="next" /><category term="backup" /><category term="generator" /><category term="tone" /><category term="multiple" /><category term="while" /><category term="physic" /><category term="facebook" /><category term="simulation" /><category term="system" /><category term="genetic" /><category term="autoscatto" /><category term="cv" /><category term="mysql" /><category term="java" /><category term="paste" /><category term="spectrum" /><category term="webcam" /><category term="fractals" /><category term="screensaver" /><category term="bash" /><category term="multimedia" /><category term="wordpress" /><category term="user" /><category term="ui" /><category term="hitsmash" /><category term="xpdf" /><category term="bar" /><category term="text" /><category term="osd" /><category term="conversation" /><category term="XTerm" /><category term="html" /><category term="dft" /><category term="led" /><category term="network" /><category term="summary" /><category term="testing" /><category term="touchpad" /><category term="notification" /><category term="fft" /><category term="svn" /><category term="subversion" /><category term="google" /><category term="word-challenge" /><category term="thesis" /><category term="packaging" /><category term="loop" /><category term="gcalendar" /><category term="analyzer" /><category term="list" /><category term="bsod" /><category term="dynamic" /><category term="transparent" /><category term="pidgin" /><category term="youtube" /><category term="normalization" /><category term="canvs" /><category term="gnome" /><category term="interface" /><category term="for" /><category term="rotating" /><category term="sound" /><category term="userspace" /><category term="plugin" /><category term="python" /><category term="else" /><category term="filler" /><category term="vagrant" /><category term="class" /><category term="internet" /><category term="notify" /><category term="mystipy" /><category term="acbi" /><category term="file" /><category term="menu" /><category term="default" /><category term="freehands" /><category term="update" /><category term="repository" /><category term="pymaze" /><category term="database" /><category term="equalizer" /><category term="gstreamer" /><category term="equanalizer" /><category term="linux" /><category term="smallest" /><category term="picobsd" /><category term="snippet" /><category term="radio" /><category term="drawing" /><category term="cygwin" /><category term="php" /><category term="maze" /><category term="programming" /><category term="sqlite" /><category term="deployment" /><category term="sorting" /><category term="gtk" /><category term="rename" /><category term="music" /><category term="cube" /><category term="loading" /><category term="samsung" /><category term="viewer" /><category term="replace" /><category term="alpha" /><category term="source" /><category term="bluetooth" /><category term="glade" /><category term="gstream" /><category term="texturizer" /><category term="matrix" /><category term="hacks" /><category term="kernel" /><category term="server" /><category term="lyndenmayer" /><category term="cairo" /><category term="clipboard" /><category term="snow" /><category term="mercurial" /><category term="hotkeys" /><category term="progress" /><category term="master" /><category term="problem" /><title>Matteo Landi</title><subtitle type="html">From space, I saw the fragile blue earth without borders.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>83</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MatteoLandi" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="matteolandi" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;C0ACQ3kyfyp7ImA9WhRVFk8.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-7065577723310237507</id><published>2012-01-15T11:02:00.000+01:00</published><updated>2012-01-15T11:02:42.797+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-15T11:02:42.797+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="while" /><category scheme="http://www.blogger.com/atom/ns#" term="bash" /><category scheme="http://www.blogger.com/atom/ns#" term="file" /><category scheme="http://www.blogger.com/atom/ns#" term="prompt" /><title>Prompt user for input while processing a file, line by line, in Bash</title><summary type="html">Have you ever had the need in Bash of looping on a file (or the output of a
piped command), line by line, and then in the middle of such process, ask
user for inputs (e.g. a confirmation of an action to be taken)? Well solving
this has not been as easy as I expected.

The task

I come into this problem while writing a Bash script for semi-automatic merge of two
subversion repositories (henceforth&lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/ch1mlJ2zlls" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/7065577723310237507/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2012/01/prompt-user-for-input-while-processing.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/7065577723310237507?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/7065577723310237507?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2012/01/prompt-user-for-input-while-processing.html" title="Prompt user for input while processing a file, line by line, in Bash" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>0</thr:total><georss:featurename>55049 Viareggio Lucca, Italy</georss:featurename><georss:point>43.874537 10.2568888</georss:point><georss:box>43.828751999999994 10.177924800000001 43.920322 10.3358528</georss:box></entry><entry gd:etag="W/&quot;D0MFQ385eSp7ImA9WhRVEEw.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-1384204971234092472</id><published>2012-01-08T10:36:00.000+01:00</published><updated>2012-01-08T10:36:52.121+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-08T10:36:52.121+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cakephp" /><category scheme="http://www.blogger.com/atom/ns#" term="testing" /><category scheme="http://www.blogger.com/atom/ns#" term="vagrant" /><title>About CakePHP and Vagrant!</title><summary type="html">Weeks ago I found this, an article describing how to test your CakePHP application using a Vagrant-powered virtual environment; unfortunately the author makes use of a custom box already configured with PHP, MySQL, etc, which is a solution I don't find quite reliable (and the fact that the author decided to create a backup torrent with that box, is an action that speaks for itself).

In this post&lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/J63YG7Eq4Kc" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/1384204971234092472/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2012/01/about-cakephp-and-vagrant.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1384204971234092472?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1384204971234092472?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2012/01/about-cakephp-and-vagrant.html" title="About CakePHP and Vagrant!" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-_w5XziLIepk/TwgT_IuJr_I/AAAAAAAACaI/7A9zuVa703I/s72-c/vagrant-log.png" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>55049 Viareggio Lucca, Italy</georss:featurename><georss:point>43.874537 10.2568888</georss:point><georss:box>43.828751999999994 10.177924800000001 43.920322 10.3358528</georss:box></entry><entry gd:etag="W/&quot;CkQGQX0yeip7ImA9WhRRFEU.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-3962847941042514974</id><published>2011-11-28T11:13:00.000+01:00</published><updated>2011-11-28T12:38:40.392+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-28T12:38:40.392+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="bluetooth" /><title>Bluetooth on FreeBSD</title><summary type="html">
I found the holy Grail! Add these lines inside your kernel config:

device          netgraph
options         NETGRAPH
options         NETGRAPH_SOCKET
options         NETGRAPH_BLUETOOTH              # ng_bluetooth(4)
options         NETGRAPH_BLUETOOTH_UBT          # ng_ubt(4)
options         NETGRAPH_BLUETOOTH_HCI          # ng_hci(4)
options         NETGRAPH_BLUETOOTH_SOCKET       # ng_btsocket(&lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/3Cro7R2-9-I" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/3962847941042514974/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2011/11/bluetooth-on-freebsd.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/3962847941042514974?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/3962847941042514974?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2011/11/bluetooth-on-freebsd.html" title="Bluetooth on FreeBSD" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-vuRsa5gOlEo/TtNd4_BwGgI/AAAAAAAACLE/ViBncQEqoWM/s72-c/grail.png" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>Pisa, Italy</georss:featurename><georss:point>43.7161354 10.3965843</georss:point><georss:box>43.5325099 10.080727300000001 43.8997609 10.7124413</georss:box></entry><entry gd:etag="W/&quot;DkMHRnw4eSp7ImA9WhdbFks.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-8245765612801966170</id><published>2011-10-15T09:40:00.001+02:00</published><updated>2011-10-15T09:40:37.231+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-15T09:40:37.231+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cakephp" /><category scheme="http://www.blogger.com/atom/ns#" term="sqlite" /><title>About CakePHP and sqlite</title><summary type="html">
I would like to shed some light on how to make CakePHP 2.0RC2 correctly work with a sqlite database (really useful for development and debugging purposes).


First of all, CakePHP 2.0 DOES support Sqlite3 by default; so please, stop wasting your time trying to install stale 3rd party plugins as explained here and here: everything you need is already present in the distribution package.
However, &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/HlK0PcplGBI" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/8245765612801966170/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2011/10/about-cakephp-and-sqlite.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/8245765612801966170?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/8245765612801966170?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2011/10/about-cakephp-and-sqlite.html" title="About CakePHP and sqlite" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-JyzDSv2hQZU/TpWvsneiuLI/AAAAAAAABhM/LgovzL24csA/s72-c/cake-fail.png" height="72" width="72" /><thr:total>1</thr:total><georss:featurename>Facoltà di Ingegneria, Via Diotisalvi, 2, 56126 Pisa, Italy</georss:featurename><georss:point>43.7211488 10.3898478</georss:point><georss:box>43.7197143 10.3873803 43.722583300000004 10.3923153</georss:box></entry><entry gd:etag="W/&quot;C0QDQ387cSp7ImA9WhdUFko.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-8471111627405618003</id><published>2011-10-03T21:49:00.000+02:00</published><updated>2011-10-03T21:49:32.109+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-03T21:49:32.109+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="vitae" /><category scheme="http://www.blogger.com/atom/ns#" term="curriculum" /><category scheme="http://www.blogger.com/atom/ns#" term="cv" /><title>Curriculum Vitae</title><summary type="html">I finally managed to finish the first draft of my curriculum vitae.


What do you think about that? Have you got any advices to make it better? I would really appreciate it!

Someone told me to stick to the Europass Curriculum Vitae format, but I don't really understand why.

I see the curriculum vitae as something really personal, so why should I have to make mine equal to other ones? Do &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/BNnEoFco7nA" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/8471111627405618003/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2011/10/curriculum-vitae.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/8471111627405618003?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/8471111627405618003?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2011/10/curriculum-vitae.html" title="Curriculum Vitae" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-4lLC02dEyRQ/TojZibrc1yI/AAAAAAAABgs/J00180qHInw/s72-c/cv.jpg" height="72" width="72" /><thr:total>1</thr:total><georss:featurename>55049 Viareggio Lucca, Italy</georss:featurename><georss:point>43.874537 10.2568888</georss:point><georss:box>43.828751999999994 10.177924800000001 43.920322 10.3358528</georss:box></entry><entry gd:etag="W/&quot;AkcESHYzeyp7ImA9WhdUFUU.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-3470663901604377402</id><published>2011-10-02T22:40:00.000+02:00</published><updated>2011-10-02T22:40:09.883+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-02T22:40:09.883+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><category scheme="http://www.blogger.com/atom/ns#" term="cygwin" /><title>Windows, Cygwin and PHP</title><summary type="html">
Those of you who constantly try to use Windows as a standard Linux/Unix OS, will agree with me that cygwin represents the only solution to make Microsoft operating systems friendlier for users coming from different OSs.

Some days ago I needed to install PHP and mysql on my machine; I fired cygwin setup.exe application, updated the list of available packages, and finally looked for &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/D0mhXwuIyf4" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/3470663901604377402/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2011/10/windows-cygwin-and-php.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/3470663901604377402?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/3470663901604377402?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2011/10/windows-cygwin-and-php.html" title="Windows, Cygwin and PHP" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>0</thr:total><georss:featurename>55049 Viareggio Lucca, Italy</georss:featurename><georss:point>43.874537 10.2568888</georss:point><georss:box>43.828751999999994 10.177924800000001 43.920322 10.3358528</georss:box></entry><entry gd:etag="W/&quot;DkIESXs7eip7ImA9WhdWGUQ.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-5058092674175655484</id><published>2011-09-14T11:34:00.000+02:00</published><updated>2011-09-14T12:01:48.502+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-14T12:01:48.502+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="hacks" /><category scheme="http://www.blogger.com/atom/ns#" term="kernel" /><category scheme="http://www.blogger.com/atom/ns#" term="picobsd" /><title>FreeBSD hacking!</title><summary type="html">Time has come to spend some time describing the workflow I followed for about 9 months when working on my master's degree thesis; in that period I implemented a new character device for the FreeBSD Kernel, hence I have been busy all the time modifying the Kernel, compiling it, and finally testing it.

In the first section of this post I will show you how to compile a custom FreeBSD Kernel, then &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/tX0K17fwnWM" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/5058092674175655484/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2011/09/freebsd-hacking.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/5058092674175655484?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/5058092674175655484?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2011/09/freebsd-hacking.html" title="FreeBSD hacking!" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-l7jyw2Uj4xw/Tm9rfVLjzyI/AAAAAAAABek/4OZ1u3hvAmo/s72-c/qemu.png" height="72" width="72" /><thr:total>2</thr:total><georss:featurename>Via Giunta Pisano, 1, 56126 Pisa, Italy</georss:featurename><georss:point>43.72124182968305 10.390427112579346</georss:point><georss:box>43.71980732968305 10.387959612579346 43.722676329683054 10.392894612579346</georss:box></entry><entry gd:etag="W/&quot;D0cCRn4zcCp7ImA9WhdWFEw.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-802600090828029166</id><published>2011-09-03T12:02:00.001+02:00</published><updated>2011-09-07T19:04:27.088+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-07T19:04:27.088+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="notification" /><category scheme="http://www.blogger.com/atom/ns#" term="mercurial" /><category scheme="http://www.blogger.com/atom/ns#" term="email" /><title>More about mercurial notify extension..</title><summary type="html">This morning, working on a personal mercurial repository hosted on my home server, I found out that the email commit notification system (described on this previous post) was not working anymore; on each commit I got back the following message:

changegroup.notify hook raised an exception: [Errno 2] No such file or directory: '../subscription.conf'

I checked the root folder of the repo, and the &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/a3lGlKmE-48" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/802600090828029166/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2011/09/more-about-mercurial-notify-extension.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/802600090828029166?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/802600090828029166?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2011/09/more-about-mercurial-notify-extension.html" title="More about mercurial notify extension.." /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>0</thr:total><georss:featurename>55049 Viareggio Lucca, Italy</georss:featurename><georss:point>43.874537 10.2568888</georss:point><georss:box>43.828751999999994 10.177924800000001 43.920322 10.3358528</georss:box></entry><entry gd:etag="W/&quot;DkUBRH0_fSp7ImA9WhdWEEk.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-5608209530646906739</id><published>2011-07-24T22:45:00.001+02:00</published><updated>2011-09-03T12:04:15.345+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-03T12:04:15.345+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="server" /><category scheme="http://www.blogger.com/atom/ns#" term="notification" /><category scheme="http://www.blogger.com/atom/ns#" term="mercurial" /><category scheme="http://www.blogger.com/atom/ns#" term="email" /><title>Setting up a Mercurial server.</title><summary type="html">[Update: if you get error messages from the email notification extension, read this]

Today I'm going to write down a list of notes and tips I've collected these days while trying to setup a Mercurial server. Even if Internet is full of well-written guides and tutorials describing how to approach the task, I chose to keep gathered information in a single place (i.e. this post) so that to simplify&lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/UzCVoJXBago" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/5608209530646906739/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2011/07/setting-up-mercurial-server.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/5608209530646906739?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/5608209530646906739?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2011/07/setting-up-mercurial-server.html" title="Setting up a Mercurial server." /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-RvBhIRgEL10/Tirg3WwoMqI/AAAAAAAAAXU/slCF5j8Qg3g/s72-c/hgweb.png" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>55049 Viareggio Lucca, Italy</georss:featurename><georss:point>43.874537 10.25688880000007</georss:point><georss:box>43.833963999999995 10.21486080000007 43.91511 10.29891680000007</georss:box></entry><entry gd:etag="W/&quot;CU8HQn89cCp7ImA9Wx9bEkk.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-574501878799682076</id><published>2011-02-20T19:44:00.005+01:00</published><updated>2011-02-21T00:17:13.168+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-21T00:17:13.168+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="projects" /><category scheme="http://www.blogger.com/atom/ns#" term="music" /><category scheme="http://www.blogger.com/atom/ns#" term="books" /><category scheme="http://www.blogger.com/atom/ns#" term="thesis" /><category scheme="http://www.blogger.com/atom/ns#" term="events" /><title>I'm still alive .. (cont.)</title><summary type="html">Sorry for the silence of the last month, but I've been busy carrying on my master's degree thesis. When you are really focused on something for the 70% of the day, it's hard to find the time to keep you up to date: all you need is a couch and some silence.Yesterday, I decided to break the silence with an image; today I'm going to talk about a couple of things.BooksI can't believe it! At the &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/i6MtXH45ckA" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/574501878799682076/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2011/02/im-still-alive-cont.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/574501878799682076?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/574501878799682076?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2011/02/im-still-alive-cont.html" title="I'm still alive .. (cont.)" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/jFwUNsgvFXk/default.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEIDRn4-cCp7ImA9Wx9bEU4.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-1724880257773926386</id><published>2011-02-19T17:19:00.002+01:00</published><updated>2011-02-19T17:22:57.058+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-19T17:22:57.058+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="userspace" /><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="kernel" /><title>I'm still alive..</title><summary type="html">..stay tuned!&lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/jBGhUmq6oFc" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/1724880257773926386/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2011/02/im-still-alive.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1724880257773926386?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1724880257773926386?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2011/02/im-still-alive.html" title="I'm still alive.." /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-YTBQnIt5qtY/TV_t7hsV8zI/AAAAAAAAAOY/t8zE274v564/s72-c/rxtxNICrings.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0QBQ30_fSp7ImA9Wx9QF00.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-8094174945324849184</id><published>2010-12-30T12:28:00.001+01:00</published><updated>2010-12-30T12:42:32.345+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-30T12:42:32.345+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="summary" /><category scheme="http://www.blogger.com/atom/ns#" term="hitsmash" /><title>Hitsmash: conclusion (part 7)</title><summary type="html">It's been a month since the first blog entry about Hitsmash. The time has come give a brief summary of this funny game.AnalyticsHave my readers enjoyed Hitsmash?They do ... on the first day.This is perfectly aligned with my expectations; indeed I created anything innovative or attractive. How is it supposed to capture the attention of the reader and make him come back a second time and vote a &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/euB0s4qpgA4" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/8094174945324849184/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/12/hitsmash-conclusion-part-7.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/8094174945324849184?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/8094174945324849184?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/12/hitsmash-conclusion-part-7.html" title="Hitsmash: conclusion (part 7)" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_DsTRtFoKWX4/TQ3uE0FsAoI/AAAAAAAAANg/4A4_X9Yuhso/s72-c/hitsmash-analytics.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0IHSXk5eCp7ImA9Wx9REkg.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-8763330303582437786</id><published>2010-12-13T16:15:00.002+01:00</published><updated>2010-12-13T16:52:18.720+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-13T16:52:18.720+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="network" /><category scheme="http://www.blogger.com/atom/ns#" term="kernel" /><title>FreeBSD: kernel networking for dummies</title><summary type="html">Today I would like to share with you some notes I collected in the last month during my research study for the final work of my master's degree. At the time of writing, the title of my thesis is something like "Design and Development of an API for Packet Filtering in Userland", hence I will try to hack the actual FreeBSD network stack in order to improve, hopefully, the performance of operations &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/9sgLjhI9bbo" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/8763330303582437786/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/12/freebsd-kernel-networking-for-dummies.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/8763330303582437786?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/8763330303582437786?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/12/freebsd-kernel-networking-for-dummies.html" title="FreeBSD: kernel networking for dummies" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_DsTRtFoKWX4/TQYnShRPMcI/AAAAAAAAANI/mR2Xwe_bdg8/s72-c/ring-buffer-1.png" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CU8HQno_cCp7ImA9Wx9TFU8.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-1825043987369776060</id><published>2010-11-23T14:56:00.002+01:00</published><updated>2010-11-23T15:50:33.448+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-23T15:50:33.448+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="deployment" /><category scheme="http://www.blogger.com/atom/ns#" term="hitsmash" /><title>Hitsmash: deployment (part 6)</title><summary type="html">Are you ready to take the plunge? I hope so!Clear the developement database, and populate it with new data.Create a new Google Analytics profile, and paste the activation code inside the PHP scripts.Register a new 3rd level domain pointing to your homemade server.Configure Apache in order to accept requests addressed to the new registered domain.Restart Apache.Cross your fingers.http://&lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/Bq8JphqzAaY" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/1825043987369776060/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-deployment-part-6.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1825043987369776060?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1825043987369776060?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-deployment-part-6.html" title="Hitsmash: deployment (part 6)" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CkEEQHo6eyp7ImA9Wx9TFU8.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-7608004911511641470</id><published>2010-11-23T13:25:00.003+01:00</published><updated>2010-11-23T14:56:41.413+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-23T14:56:41.413+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="user" /><category scheme="http://www.blogger.com/atom/ns#" term="interface" /><category scheme="http://www.blogger.com/atom/ns#" term="ui" /><category scheme="http://www.blogger.com/atom/ns#" term="hitsmash" /><title>Hitsmash: ui (part 5)</title><summary type="html">I finally finished the user interface for Hitsmash.It's very simple: a title, two boxes , two videos, two buttons and one footer. The hard part runs in the background.When you visit the homepage, two random hits are extracted from the database and new fight entry is added to the fights table; finally the page described above is shown to the user.Once you make your decision and click one of the &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/JeojFh4VDtE" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/7608004911511641470/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-ui-part-5.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/7608004911511641470?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/7608004911511641470?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-ui-part-5.html" title="Hitsmash: ui (part 5)" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_DsTRtFoKWX4/TOu-tvp6IdI/AAAAAAAAAKg/ZU8RhJgozx8/s72-c/hitsmash.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEQGRX07fCp7ImA9Wx9TFEo.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-1478775162552847027</id><published>2010-11-23T02:32:00.003+01:00</published><updated>2010-11-23T02:38:44.304+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-23T02:38:44.304+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hitsmash" /><title>Hitsmash: ui (part 4.5)</title><summary type="html">It's late, and I have not finished the site.I spent too much time creating the script that populate the database, and now I'm here with an incomplete interface. Dammit!&lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/Asvb60ypgmU" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/1478775162552847027/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-ui-part-45.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1478775162552847027?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1478775162552847027?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-ui-part-45.html" title="Hitsmash: ui (part 4.5)" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;D0MHR3w8fSp7ImA9Wx9TFUw.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-2813348724016326848</id><published>2010-11-22T23:21:00.006+01:00</published><updated>2010-11-23T13:30:36.275+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-23T13:30:36.275+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hitsmash" /><category scheme="http://www.blogger.com/atom/ns#" term="database" /><title>Hitsmash: database (part 4)</title><summary type="html">The database is used to store the hits, and information about the fights.An hit is composed by an artist, a title, a string representing a YouTube video, and a rank.+--------+--------------+------+-----+---------+----------------+| Field  | Type         | Null | Key | Default | Extra          |+--------+--------------+------+-----+---------+----------------+| id     | int(11)      | NO   | PRI | &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/Q0JbqVN3CwE" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/2813348724016326848/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-database-part-4.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/2813348724016326848?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/2813348724016326848?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-database-part-4.html" title="Hitsmash: database (part 4)" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUYFRH8-cCp7ImA9Wx9TFEs.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-6648052580859551284</id><published>2010-11-22T22:13:00.003+01:00</published><updated>2010-11-23T00:05:15.158+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-23T00:05:15.158+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gdata" /><category scheme="http://www.blogger.com/atom/ns#" term="hitsmash" /><category scheme="http://www.blogger.com/atom/ns#" term="youtube" /><title>Hitsmash: Youtube videos (part 3)</title><summary type="html">What if you don't know one of the hits you have to vote? It simple: you click on the play button of the embedded YouTube video, feel the grove, and then make your choice.Now that we have the artist name, and the title of the hit, we have to ask YouTube for its video. I like Python, so I downloaded the client library [1] and played a bit with its API. Finally I succeeded in querying YouTube for &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/jd9w5fB3XbY" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/6648052580859551284/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-youtube-videos-part-3.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/6648052580859551284?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/6648052580859551284?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-youtube-videos-part-3.html" title="Hitsmash: Youtube videos (part 3)" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUcCQng-fip7ImA9Wx9TFEs.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-2222403198517438173</id><published>2010-11-22T21:15:00.004+01:00</published><updated>2010-11-23T00:04:23.656+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-23T00:04:23.656+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="table_parser" /><category scheme="http://www.blogger.com/atom/ns#" term="html" /><category scheme="http://www.blogger.com/atom/ns#" term="hitsmash" /><title>Hitsmash: list of hits (part 2)</title><summary type="html">We need a list of hits people are going to vote.After a couple of searches with Google, I found a site that really suits my needs: www.bestsongever.com. It seems perfect: we can navigate through the chart by minor modifications of the url and the hits are arranged inside an HTML table.Now that we have found the source of our hits, we need to parse these HTML pages in order to extract the artist &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/e-wgwvazcs8" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/2222403198517438173/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-list-of-hits-part-2.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/2222403198517438173?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/2222403198517438173?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-list-of-hits-part-2.html" title="Hitsmash: list of hits (part 2)" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DE4GQXg8fyp7ImA9Wx9TFEg.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-2737491472633441377</id><published>2010-11-22T21:04:00.003+01:00</published><updated>2010-11-22T21:15:20.677+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-22T21:15:20.677+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hitsmash" /><category scheme="http://www.blogger.com/atom/ns#" term="facesmash" /><title>Hitsmash: Introduction (part 1)</title><summary type="html">Do you remember Mark Zuckerberg creating in one night a site called Facesmash used to vote girl students? I'm wondering if I'am able to create something similar.Instead of girls, I would like people to vote for music hits.Instead of photos, I would like to display Youtube videos of the songs, if present, so that people could listen to the songs in case the hit is unknown.Everything else should be&lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/-L4GJJxJ4rs" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/2737491472633441377/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-introduction-part-1.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/2737491472633441377?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/2737491472633441377?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/11/hitsmash-introduction-part-1.html" title="Hitsmash: Introduction (part 1)" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkYARns-fSp7ImA9Wx9TEEo.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-1405058917970769891</id><published>2010-11-18T09:11:00.002+01:00</published><updated>2010-11-18T09:49:07.555+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-18T09:49:07.555+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="master" /><category scheme="http://www.blogger.com/atom/ns#" term="puzzle" /><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><title>PuzzleMaster</title><summary type="html">PuzzleMaster is a Facebook application which aims to make users compete in a puzzle programming competition. The idea is simple: you read the problem, devise an algorithm, send an email to a bot, wait a response from the bot and start over on a new problem.The hardest part seems to be point number three: being accepted by the bot. The bot every four hours or so, read the emails, looks for &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/BziQT4qoCbI" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/1405058917970769891/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/11/puzzlemaster.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1405058917970769891?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1405058917970769891?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/11/puzzlemaster.html" title="PuzzleMaster" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_DsTRtFoKWX4/TOTf_OICfcI/AAAAAAAAAKY/TGrfxjJdHPI/s72-c/50556_15325934266_4319391_n.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkMDRn8-eCp7ImA9Wx5bF0o.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-4709284765278350269</id><published>2010-11-01T17:27:00.004+01:00</published><updated>2010-11-03T11:01:17.150+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-03T11:01:17.150+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="primary" /><category scheme="http://www.blogger.com/atom/ns#" term="clipboard" /><category scheme="http://www.blogger.com/atom/ns#" term="copy" /><category scheme="http://www.blogger.com/atom/ns#" term="XTerm" /><category scheme="http://www.blogger.com/atom/ns#" term="paste" /><title>XTerm: friendly copy and paste.</title><summary type="html">Taken from http://www.davidsimmons.com/soft/xtermhacks/:Many xterm users are frustrated because it is difficult to copy text from an xterm and paste it into modern applications such as Firefox. The root of the problem is that there are two different "selection buffers" that are commonly used in the X Window System:The "CLIPBOARD" selection buffer is used for the cut-and-paste functions that most &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/eGEG-HJswvU" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/4709284765278350269/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/11/xterm-friendly-copy-and-paste.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/4709284765278350269?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/4709284765278350269?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/11/xterm-friendly-copy-and-paste.html" title="XTerm: friendly copy and paste." /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUEFRHYyeSp7ImA9Wx5VFUo.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-3185400297903524419</id><published>2010-10-06T23:28:00.003+02:00</published><updated>2010-10-08T23:33:35.891+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-08T23:33:35.891+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="snippet" /><category scheme="http://www.blogger.com/atom/ns#" term="smallest" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Smallest Snippet</title><summary type="html">Come back now to algorithms and programming exercises.Problem statement"Given a search string of three words, find the smallest snippet of the document that contains all three of the search words --i.e. , the snippet with smallest number of words in it. You are given the index positions where these words in occur search strings: each of the lists are in sorted order, as above."SolutionMy idea was&lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/yERdZdayAUY" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/3185400297903524419/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/10/smallest-snippet.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/3185400297903524419?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/3185400297903524419?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/10/smallest-snippet.html" title="Smallest Snippet" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0YEQX05fSp7ImA9Wx5RFUw.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-1271846758884892512</id><published>2010-08-22T23:05:00.000+02:00</published><updated>2010-08-22T23:05:00.325+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-22T23:05:00.325+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="transparent" /><category scheme="http://www.blogger.com/atom/ns#" term="gtk" /><category scheme="http://www.blogger.com/atom/ns#" term="alpha" /><category scheme="http://www.blogger.com/atom/ns#" term="snow" /><title>Let it snow!</title><summary type="html">Today is definitely not the kind of day you expect someone writing about falling snow-flakes: if you thought so, you were wrong!The effect shown in the screenshot is everything but innovative: you can find in Internet lot of applications with similar goals like Compiz or Xsnow even though they can be considered overkill, at least, for my needs.First of all I was looking for a very simple solution&lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/4N601TIPCp8" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/1271846758884892512/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/08/let-it-snow.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1271846758884892512?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/1271846758884892512?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/08/let-it-snow.html" title="Let it snow!" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_DsTRtFoKWX4/THEUowLehbI/AAAAAAAAAJk/EdX3Qw-74Lo/s72-c/let-it-snow.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUcDQX85cCp7ImA9Wx5SF00.&quot;"><id>tag:blogger.com,1999:blog-3860519759344647288.post-2887933435776657562</id><published>2010-08-13T13:08:00.003+02:00</published><updated>2010-08-13T15:44:30.128+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-13T15:44:30.128+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gtk" /><category scheme="http://www.blogger.com/atom/ns#" term="canvs" /><category scheme="http://www.blogger.com/atom/ns#" term="drawing" /><category scheme="http://www.blogger.com/atom/ns#" term="cairo" /><title>Canvas</title><summary type="html">Everytime I need to create an application with drawing capabilities, I always end up writing it from scratch which is a total waste of time.So I decided to merge all these clones and create a simple one-module-library based on gtk and cairo: canvas.A Canvas object is nothing more than a window with a packed drawing area. When a canvas is created, the user could specify callbacks for different &lt;img src="http://feeds.feedburner.com/~r/MatteoLandi/~4/M71q5XIGzIg" height="1" width="1"/&gt;</summary><link rel="replies" type="application/atom+xml" href="http://matteolandi.blogspot.com/feeds/2887933435776657562/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://matteolandi.blogspot.com/2010/08/canvas.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/2887933435776657562?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3860519759344647288/posts/default/2887933435776657562?v=2" /><link rel="alternate" type="text/html" href="http://matteolandi.blogspot.com/2010/08/canvas.html" title="Canvas" /><author><name>Matteo Landi</name><uri>https://profiles.google.com/110685819987346860839</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-x9nT_l9-254/AAAAAAAAAAI/AAAAAAAABkM/k7I1R981xYE/s512-c/photo.jpg" /></author><thr:total>0</thr:total></entry></feed>

