So I got myself a brand new iPod touch

Last month I finally had a chance to spend some time (and money) in Florida, so besides going to the beach and meeting alligators I decided to get myself a nice gadget for Christmas. Technically speaking it's a present for my wife, but I picked it. 

Originally I was going to get myself a netbook, not because I particularly needed one, just because -- I thought -- for $300 I may as well get a computer.
I was actually tempted to buy a Kindle or a Nook, but then I decided against it: why spending the same amount of money on so ethibg you can only use to read books? Nonsense: a netbook is ten times better.

So I went to Best Buy and decided to ask one of the guys for tips. surprisingly, the shop assistant was very honest and told me "well, if it was up to me I'd get the cheapest possible: you are probay gonna change it in a year or so, right"?
Errr... No, actually. So I started looking at tablets and other similar gadgets: I mostly wanted something with WiFi connectivity, as that was the only thing I really missed in my Palm Treo 750 (yes, Windows Mobile, I know, I know... But I was young then!). 

At this point, my wife comes along and goes: "Can't you just get an iPod touch then? It has what you need and it's sexy as well" (note: yes, since she got her mac she's kind of partial to Apple).

Read the rest of this post »

Fossil: A tiny, easy and feature-packed project management solution

Fossil is a software configuration management system. Fossil is software that is designed to control and track the development of a software project and to record the history of the project. There are many such systems in use today. Fossil strives to distinguish itself from the others by being extremely simple to setup and operate.

Imagine an SCM
-- easy, CSV or SVN

...a distributed SCM
-- Git?

...with a bugtracking system and an integrated wiki
-- Github, pretty much

...with a web interface and a web server
-- Definitely Github

...all in a single precompiled file (less than 800KB, available for Windows, Mac and Linux)
          -- ...you what?

Read the rest of this post »

You should learn a new programming language if...

Yesterday someone posted an interesting comment to one of my articles on DZone:

There are 8 features to consider when choosing a programming language:
 
20 points -- is is solid? would you write a control program for an aircraft or a pacemaker? 
15 points -- can you write a database system (like mysql) in that language, including the deamons?
15 points -- libraries: regex, reading XML, manipulating complex numbers, graphics;
10 points -- active community + books + web pages
10 points -- can write fast IO and easily read complex input and binary input? fancy formatting?
10 points -- can you write web pages;
10 points -- support for OOP?
10 points -- available at least on 2 platforms, Windows and/or Linux and/or Mac.
Rate the language on a scale of 0 to 100. At 75+ you should use it.

While I agree on some of the above, I thought I'd provide my own test to decide whether to learn a particular programming language or not.

Read the rest of this post »

Ready to fight the flu!

Today I received a gift from my company: an influenza prevention kit. I just couldn't believe it until I saw some of my colleagues getting it at the reception desk, so I asked for one myself.

The kit contains:
  • #1 gel detergent for your hands
  • #2 medical face masks
  • #2 pairs of medical gloves
  • #1 packet of paper handkerchiefs 
  • #5 anti-bacterial wipes

Read the rest of this post »

Should I give Haskell another try?

Haskell is a wonderful programming language. I'm not kidding, I really mean it. It's definitely worth checking out, at least.
Haskell is purely functional, succinct, elegant, fast, compiled, cross-platform, well-documented, feature-rich, and cross-platform. On paper, it's pure awesomeness: it lets you program in a way no other language can.

Programming in Haskell requires a radical paradigm shift, so it's not for anyone. I was always intrigued by it, and I started to learn it a few times in the past, on a yearly basis. Now it's that time of the year again, but before I embark in yet another almost-pointless journey, I wanted to analyze the issues I stumbled across last time I read through the countless tutorials and other awesome and free resources online.

Note #1 These are issues I found about a year ago, hopefully they are not true anymore. If you think they are not true, by all means explain why in the comments, but do it in a civilized manner: I am not criticizing your language of choice, I just want to learn more about it.

Note #2 I don't need to learn Haskell. I won't use it for work, not in the short term anyway. But I would use it sporadically to perform certain tasks for which I cannot use Ruby for, i.e. something that needs to be fast and not require something installed to run. Maybe some silly CLI tools, but maybe even some GUI or web/network stuff.

Read the rest of this post »

I have a cunning plan...


-- Baldrick, from the Black Adder TV Series

I've always been concerned about not being able to publish enough new content on my web site. That's due to lack of time, but not always: part of the problem was that posting on a blog is hard. Not hard as in impossible to do, but rather as in not lazy enough. Clearly, the WordPress approach doesn't really work for me: I don't like using a web form to write my articles, and especially I'm not fond of the WYSIWYG way of doing things.

That's why I moved my website to Nanoc, and that was awesome. For the first time in my online life I found something that gives me full control over the way I want to publish my content and the features I want to integrate into my web site. Still, Nanoc didn't increase the number of new articles published per month.
Why's that? Simple: because before posting on my site I look at my previous articles and think: No, this is not suitable, I must research it more thoroughly or something similar. More specifically, publishing blog posts about something personal or some thoughts on something I read on a tech news site became increasingly more difficult as my main site evolved into a collection of articles.

Then, not too long ago, I had an epiphany. My fellow countryman Antonio Cangiano started a blog on Posterous! Why would someone with over 4,000 readers do such a thing? It turns out he has a similar problem (on a much bigger scale, of course):

I often feel the need to express other aspects of my persona, and my main blog, Zen and the Art of Programming, is not an appropriate outlet for such discourse. Conversely, my Twitter account, which is more generic in nature, imposes a 140 character limit on my thoughts.

So here I am. This is my new blog. As usual, it won't follow a very specific theme and posts will probably range from technology, programming, travelling, sci-fi, politics and whatever else crosses my mind. It's my newest cunning plan, in the finest Baldrick tradition: I'm not sure how it will go, but it's better than nothing.

Subscriptions are open, I hope you'll enjoy it.