Sun, 25 Mar 2012 13:41:59 +0000 Paolo Donadeo — LifeLOG/Digital life Paolo Donadeo's personal Internet site and blog https://www.donadeo.net/ p.donadeo@gmail.com (Paolo Donadeo) Online backup with Crashplan: my experience https://www.donadeo.net/post/2012/online-backup-with-crashplan--my-experience https://www.donadeo.net/post/2012/online-backup-with-crashplan--my-experience p.donadeo@gmail.com (Paolo Donadeo) Sun, 25 Mar 2012 13:06:02 +0000 2012-03-25T13:41:59.000Z English Digital life Internet Review <div> <a title="Crashplan ETA for the first backup" class="zoom-box-image" href="https://www.donadeo.net/static/2012/03/crashplan_client.png"><img class="little left" src="https://www.donadeo.net/static/2012/03/crashplan_client_small.png" alt="Crashplan ETA for the first backup" /></a> <p class="noindent">Following <a href="https://lifehacker.com/5787572/set-up-an-automated-bulletproof-file-back-up-solution">this article of Lifehacker</a> I decided to give a try to <a href="https://www.crashplan.com/">Crashplan</a>, an online "cloud" backup service that seemed very promising to me because it supports many platforms (Linux and Android included) and offers an unlimited space plan for one computer for only <a href="https://www.crashplan.com/consumer/store.vtl">$36 a year</a>. </p> <p>Installing the client for Linux is very easy, and presents all the typical backup options (timing, include/exclude paths, and so on).</p> <p>I decided to include <em>all</em> the directory I already backup with a script of mine on a USB external hard drive.</p> <p>The problem here is visible in the screenshot I saved: the estimated time for completing the first backup was 52 days!</p> <p>It's not Crashplan fault, of course, but the fact is that here in Italy we are still very far from using a remote service like that.</p> <p>Maybe I'll retry again in a a few… years.</p> </div> https://www.donadeo.net/post/2012/online-backup-with-crashplan--my-experience#commentary https://www.donadeo.net/post/2012/online-backup-with-crashplan--my-experience/feed 1 Thanks Mr. Ritchie https://www.donadeo.net/post/2011/thanks-mr-ritchie https://www.donadeo.net/post/2011/thanks-mr-ritchie p.donadeo@gmail.com (Paolo Donadeo) Thu, 13 Oct 2011 21:46:52 +0000 2011-10-13T21:51:51.000Z English Digital life Computer programming Linux Article <div><p class="noindent">Today Unix, or some other operating system deeply inspired by Unix, is pervasive: servers, embedded devices (notably Android, but it's only one) and the “revolutionary” Mac OSX is itself an incarnation of the ideas and works of Dennis Ritchie.</p> <p class="noindent"><a title="Google Search for “Dennis Ritchie”" href="https://donadeo.net/u/4x">Dennis Ritchie</a> worked on Unix more than 40 years ago, and my questions is: what will we use in forty years? Probably something Dennis Ritchie was working some months ago.</p> <p class="noindent">Thanks Mr. Ritchie.</p></div> Google+ and your privacy https://www.donadeo.net/post/2011/google-and-your-privacy https://www.donadeo.net/post/2011/google-and-your-privacy p.donadeo@gmail.com (Paolo Donadeo) Thu, 07 Jul 2011 22:02:02 +0000 2011-07-07T22:02:02.000Z English Digital life Random thoughts <div> <a title="Google+ privacy warning" class="zoom-box-image" href="https://www.donadeo.net/static/2011/07/google_plus_privacy.png"><img class="little left" src="https://www.donadeo.net/static/2011/07/google_plus_privacy_small.png" alt="Google+ privacy warning" /></a> <p class="noindent">Yesterday I was impressed by a privacy warning of Google+. While I was resharing a friend's post, Google+ remembered me that the original post had a limited visibility, and to take account of this fact. Click the image on the left to read the original message.</p> <p>So <a title="Google+ home page" href="https://plus.google.com/">Google+</a> starts it's journey with a strong accent to your privacy concern: you are invited not to tell everyone your business, because it's a valuable information, only Google wants to know... <kbd>;-)</kbd></p> </div> Buon compleanno… da Google https://www.donadeo.net/post/2011/buon-compleanno-da-google https://www.donadeo.net/post/2011/buon-compleanno-da-google p.donadeo@gmail.com (Paolo Donadeo) Fri, 27 May 2011 21:05:14 +0000 2011-05-27T21:05:14.000Z Italian Digital life Random thoughts <div> <a title="Google's Doodle for birthday" class="zoom-box-image" href="https://www.donadeo.net/static/2011/05/google_happy_birthday.png"><img class="little left" src="https://www.donadeo.net/static/2011/05/google_happy_birthday_small.png" alt="Google's Doodle for birthday" /></a> <p class="noindent">Oggi è il mio compleanno, e questa non è <em>più</em> una novità da molti anni ormai. La prima persona che oggi mi ha fatto gli auguri di buon compleanno è stata la mia amica <a href="https://wobasorellaanuak.wordpress.com/" title="Blog di Valeria">Valeria</a>, a mezzanotte e cinque.</p> <p>La seconda “entità” a farmeli è stato… Google! La prima ricerca che ho fatto, questa mattina, mostrava un logo di Google con un pacco regalo ed una torta. Come al solito, quando appare un logo <em>custom</em>, vado col mouse sul logo per scoprire di cosa si tratta.</p> <p>Sotto il cursore è apparsa la scritta “Happy Birthday Paolo!”. Non ci potevo credere e, per chi in effetti non ci credesse, invito a cliccare sull'immagine in alto.</p> <p>La prima considerazione è stata: ma che simpatici! La seconda non è stata una considerazione, ma una <em>sensazione</em> : un brivido lungo la schiena. Certo è tutto ovvio, non ci vuole chissà quale analisi o <em>data mining</em> per scoprire qual è la data del mio compleanno, visto che nel mio <a href="https://profiles.google.com/p.donadeo/" title="Il mio profilo Google">profilo di Google</a> ce l'ho messa, anche se privata, nel senso che non ne ho autorizzato la pubblicazione.</p> <p>Il problema qui non è infatti se altri possano scoprire informazioni personali, ma di quante informazioni aggregate disponga un'unica azienda. Cosa deve accadere perché iniziamo a preoccuparci?</p> </div> Afterthought (about Unity) https://www.donadeo.net/post/2011/afterthought-about-unity https://www.donadeo.net/post/2011/afterthought-about-unity p.donadeo@gmail.com (Paolo Donadeo) Wed, 11 May 2011 23:18:00 +0000 2011-05-11T23:18:00.000Z English Digital life Linux Random thoughts <div> <a title="Unity on my Dell netbook" class="zoom-box-image" href="https://www.donadeo.net/static/2011/05/unity_on_my_dell_netbook.png"><img class="little left" src="https://www.donadeo.net/static/2011/05/unity_on_my_dell_netbook_small.png" alt="Unity on my Dell netbook" /></a> <p class="noindent">In my <a href="https://www.donadeo.net/post/2011/unity">previous post</a> I expressed a strong opinion about <a href="https://unity.ubuntu.com/">Unity</a>, the new graphic shell included in the latest release of <a href="https://www.ubuntu.com">Ubuntu</a>, branding it as <em>unusable</em>.</p> <p class="noindent">Actually, I was wrong. My bad feeling was due to the novelty of ideas developed in Unity, and my the superficiality in testing it.</p> <p class="noindent">I don't know how <a href="https://live.gnome.org/GnomeShell">Gnome Shell 3</a> compares with Unity, simply because I didn't tested the new Gnome Shell yet, but for sure Unity is a good project and represents a very interesting approach.</p> </div> https://www.donadeo.net/post/2011/afterthought-about-unity#commentary https://www.donadeo.net/post/2011/afterthought-about-unity/feed 2 Unity https://www.donadeo.net/post/2011/unity https://www.donadeo.net/post/2011/unity p.donadeo@gmail.com (Paolo Donadeo) Sat, 30 Apr 2011 15:05:00 +0000 2011-04-30T15:05:00.000Z English Digital life Linux Random thoughts <div> <p class="noindent">My checklist for today:</p> <ol> <li>try the new Ubuntu shell, <a href="https://unity.ubuntu.com/">Unity</a>: done. Verdict: unusable.</li> <li>try <a href="https://live.gnome.org/GnomeShell">Gnome Shell 3</a>: done. Verdict: unstable.</li> </ol> <p class="noindent">This time I pass, let's see the next Ubuntu release if it will be more stable and usable.</p></div> https://www.donadeo.net/post/2011/unity#commentary https://www.donadeo.net/post/2011/unity/feed 2 Strange messages https://www.donadeo.net/post/2011/strange-messages https://www.donadeo.net/post/2011/strange-messages p.donadeo@gmail.com (Paolo Donadeo) Fri, 04 Feb 2011 22:40:00 +0000 2011-02-04T22:40:00.000Z English Digital life Random thoughts <div><a title="Very clear warning messages from K3B" class="zoom-box-image" href="https://www.donadeo.net/static/2011/02/k3b_clear_messages.png"><img class="little left" src="https://www.donadeo.net/static/2011/02/k3b_clear_messages_small.png" alt="Very clear warning messages from K3B" /></a> <p class="noindent">I just learned that, if your DVD burner or the medium you just inserted into it cannot run at 16x speed, it's safe to burn at 17x.</p> <p class="noindent">You never stop learning!</p> </div> Installing OCaml Batteries https://www.donadeo.net/post/2010/installing-batteries https://www.donadeo.net/post/2010/installing-batteries p.donadeo@gmail.com (Paolo Donadeo) Mon, 13 Dec 2010 22:55:00 +0000 2010-12-13T22:55:00.000Z English Digital life Computer programming Objective Caml Article <div> <p class="noindent">In this post I want to help OCaml newcomers to install Batteries. The task is trivial under Linux, while it's a bit tricky under Windows, because OCaml still lacks a self-contained Windows installer.</p> <p>My assumption is that the reader is a coder, so I will not explain <em>everything</em>… Let's start with the easy part: Linux.</p> <h4>Linux</h4> <p class="noindent">The installation of OCaml + Batteries under a Debian/Ubuntu system couldn't be easier, thanks the the hard work of the <a href="https://wiki.debian.org/Teams/OCamlTaskForce">Debian OCaml Task Force</a>. So open a terminal and type:</p> <pre class="brush: bash"> $ sudo aptitude install ocaml-batteries-included </pre> <p>That's all for Debian/Ubuntu. I don't know how Fedora works, but I think it's easy to install Batteries using YUM, something like:</p> <pre class="brush: bash"> $ yum install ocaml-batteries-included </pre> <p>If a RPM package for Batteries wasn't available, you could still install OCaml, Camomile (the Unicode library), and compile Batteries from sources, as described below for the Windows OS.</p> <h4>Windows</h4> <p class="noindent">As said, this OS still lacks a self contained installer which is in progress, at least for installing OCaml. Since <a href="https://caml.inria.fr/ocaml/release.en.html#id2268363">many OCaml versions</a> are available for Windows, with different <a href="https://caml.inria.fr/ocaml/portability.en.html#windows">pros and cons</a>, I had to decide which one to use, and I decided to follow the simplest path to reach the goal of installing all the stuff we need. The Cygwin port is by far the simplest way.</p> <ol> <li>Download <a href="https://www.cygwin.com/setup.exe">Cygwin setup</a> and double click the executable. In Windows Vista/7 (I made my test on a Windows 7 64bit box) you will be required to allow the program to be run a couple of times, as usual ;-) …</li> <li>when the list of available packages appears, select: each and every package containing "caml" (see the screenshot below), and also <kbd>make</kbd>, <kbd>m4</kbd>, <kbd>libncurses-devel</kbd>, <kbd>git</kbd>, <kbd>wget</kbd> and <kbd>rlwrap</kbd>; <br /> <a title="Necessary Cygwin packages" class="zoom-box-image" href="https://www.donadeo.net/static/2010/12/install_cygwin.png"><img class="little left" src="https://www.donadeo.net/static/2010/12/install_cygwin_small.png" alt="Necessary Cygwin packages" /></a> <br style="clear:both;" /> </li> <li>open the Cygwin shell;</li> <li>download the Findlib library, version 1.2.6: <pre class="brush: bash"> $ wget https://download.camlcity.org/download/findlib-1.2.6.tar.gz </pre> </li> <li>unpack, compile and install Findlib: <pre class="brush: bash"> $ tar -xpzf findlib-1.2.6.tar.gz $ cd findlib-1.2.6/ $ ./configure $ make $ make install </pre> </li> <li>download, unpack, compile and install Camomile 0.8.1: <pre class="brush: bash"> $ wget https://prdownloads.sourceforge.net/camomile/camomile-0.8.1.tar.bz2 $ tar -xpjf camomile-0.8.1.tar.bz2 $ cd camomile-0.8.1/ $ ./configure $ make $ make install </pre> </li> <li>the last step is to download compile and install Batteries itself. I wasn't able to compile the latest stable release (1.2.2), for an obscure preprocessor error, but using the latest GIT branch everything went smoothly. So here are the steps: <pre class="brush: bash"> $ git clone git://github.com/ocaml-batteries-team/batteries-included.git $ cd batteries-included/ $ make camomile82 $ make all doc $ make install install-doc </pre> </li> </ol> <h4>Testing the installation</h4> <p class="noindent">Before starting to play with the library and the <em>toplevel</em> (the OCaml <a href="https://en.wikipedia.org/wiki/Read-eval-print_loop">REPL</a> is called toplevel) let's put into action a couple of helpers.</p> <ol> <li>The OCaml toplevel doesn't support readline. To get this feature back we add an alias to <kbd>.bashrc</kbd>. This works in both Linux and Windows: <pre class="brush: bash"> alias ocaml='rlwrap -H /home/paolo/.ocaml_history -D 2 -i -s 10000 ocaml' </pre> restart the terminal or load another bash; </li> <li>we need to load Batteries in the toplevel. This is not strictly necessary, but it helps a lot and the Batteries ASCII logo is wonderful <kbd>:-)</kbd>. All we need is to create a file named <kbd>.ocamlinit</kbd> in the home directory. Open your favorite editor and put this <em>phrases</em> in <kbd>~/.ocamlinit</kbd>: <pre class="brush: ocaml"> let interactive = !Sys.interactive;; Sys.interactive := false;; (*Pretend to be in non-interactive mode*) #use "topfind";; Sys.interactive := interactive;; (*Return to regular interactive mode*) Toploop.use_silently Format.err_formatter (Filename.concat (Findlib.package_directory "batteries") "battop.ml");; </pre> </li> </ol> <p>If everything went well you can now type <kbd>ocaml</kbd> and something like this should appear:</p> <pre style="background-color: #fffdbf; font-weight: bold;"> $ ocaml Objective Caml version 3.11.2 _________________________ [| + | | Batteries - | |_____|_|_________________| _________________________ | - Type '#help;;' | | + |] |___________________|_|___| Loading syntax extensions... Camlp4 Parsing version 3.11.2 </pre> <h4>Conclusions</h4> <p class="noindent">This (rather boring) post has been devoted to the installation details of Batteries under Windows, where it presents some difficulties for newbies. Next time we will start on exploring the library with simple examples to exploit its strength.</p> </div> https://www.donadeo.net/post/2010/installing-batteries#commentary https://www.donadeo.net/post/2010/installing-batteries/feed 5 Pearls of OCaml Batteries (1) https://www.donadeo.net/post/2010/batteries-1 https://www.donadeo.net/post/2010/batteries-1 p.donadeo@gmail.com (Paolo Donadeo) Sun, 05 Dec 2010 15:15:00 +0000 2010-12-05T15:15:00.000Z English Digital life Computer programming Objective Caml Article <div> <img class="little left" src="https://www.donadeo.net/static/2010/11/batteries_logo.png" alt="OCaml Batteries logo" /> <p class="noindent"><a href="https://caml.inria.fr/ocaml/index.en.html">OCaml</a> is known to be a powerful functional programming language, but one of its presumed weakness is a relatively poor standard library.</p> <p class="noindent">By accident, I'm one of the few people on the planet considering this very clean and virtually bug free library a feature and not a bug, but this is only an opinion.</p> <p><a href="https://caml.inria.fr/pub/docs/manual-ocaml/manual034.html">The standard library</a> contains everything you need to build applications and other libraries, but it's <em>essential</em>, forget something like the Python standard library and things like “sending an email in one line of code”. Instead, think of the C standard library (plus some important data structures missing in the libc).</p> <p>More than two years ago the OCaml community decided to start the development of a library containing all the conveniences that are missing in the standard library. The project is <a href="https://batteries.forge.ocamlcore.org/">OCaml Batteries Included</a> and I'd like to introduce the reader with a series of posts, aimed to cast a light on various aspects of the library, without pretending to be an exhaustive tutorial.</p> <p>The posts will be targeted at novice OCaml programmers because I think that an experienced OCaml hacker already uses "Batteries" or, in any case, he understand the library API and doesn't need help from this blog.</p> <p>Before starting with the (boring) installation details, I want to give you a taste of Batteries, to show how a simple task could be written in a more natural way using Batteries modules, in comparison with a <em>vanilla</em> implementation. Let's take this simple task: we want to read a file by lines and print on the terminal only those lines containing a particular substring.</p> <p>A simple and actually working solution is proposed by the <a href="https://pleac.sourceforge.net/pleac_ocaml/">PLEAC-Objective CAML</a> project, it's the very first example of the <a href="https://pleac.sourceforge.net/pleac_ocaml/fileaccess.html">file access</a> section. Here is the proposed code:</p> <pre class="brush: ocaml;"> let () = let in_channel = open_in "/usr/local/widgets/data" in try while true do let line = input_line in_channel in try ignore (Str.search_forward (Str.regexp_string "blue") line 0); print_endline line with Not_found -> () done with End_of_file -> close_in in_channel </pre> <p class="noindent">Now let's rephrase using Batteries:</p> <pre class="brush: ocaml;"> Enum.iter (fun l -> if BatString.exists l "blue" then print_endline l) (open_in "/usr/local/widgets/data" |> BatIO.lines_of) </pre> <p class="noindent">The result is the same, but the code is much cleaner and far more idiomatic for a functional language.</p> <p>Next time we will see how to install OCaml and Batteries, under Linux of course, but hopefully even under Windows.</p></div> https://www.donadeo.net/post/2010/batteries-1#commentary https://www.donadeo.net/post/2010/batteries-1/feed 6 Lyrics in Banshee https://www.donadeo.net/post/2010/lyrics-in-banshee https://www.donadeo.net/post/2010/lyrics-in-banshee p.donadeo@gmail.com (Paolo Donadeo) Thu, 02 Dec 2010 23:16:00 +0000 2010-12-02T23:16:00.000Z English Digital life Music Random thoughts <div> <a title="Screenshot of the glorious lyrics plugin of Banshee" class="zoom-box-image" href="https://www.donadeo.net/static/2010/12/no_lyrics_found.png"><img class="little left" src="https://www.donadeo.net/static/2010/12/no_lyrics_found_small.png" alt="Screenshot of the glorious lyrics plugin of Banshee" /></a> <p class="noindent">Is it only me, or the lyrics plugin of Banshee (1.8.0) doesn't work at all?</p> <p class="noindent">How is it possible not to find the lyrics of “Gimme Some Lovin'” of the Blues Brothers?</p> </div>