Alive and well

Ok, I’ve finally found the time to upgrade this blog to WordPress 2.5.1 and update a bunch of plugins – many thanks to my summery insomnia.

A brief summary about the last period, since the last post is over 7 months old:

  • I’ve met a lot of interesting people, like Mike Schroepfer (photos) and Matt Mullenwegg (photos)
  • my personal collection of Mozilla wallpapers is growing
  • Firefox 3 is out (did you notice it? 😛 ), and this is my first release as a lead localizer (for Italian language)
  • the new design of Mozilla’s sites is awesome
  • this summer I will attend the Firefox Summit 2008 in Whistler (Canada)
  • a lot of news in the tech stuff area: sold the PowerBook G4 and waiting for a 2.5Ghz 15″ MacBook Pro (ETA middle of the next week), replaced the main desktop with a Dell Vostro 400 (Q6600 2.40Ghz, 2x500GB Raid1, 4GB di RAM, nVidia Geforce 8800GT 512MB), bought an Asus eeepc (photo)

Technorati Tags:

Hiddy: slim down your spam queue on WordPress

It’s been over two months since my last post, sorry 😳

Let’s talk about a great Italian plugin for WordPress: Hiddy. Hiddy is a simple and light plugin that adds a field to the comments form: this field has a pseudo-random name (chosen among a set of “interesting” names, like e-mail, url, etc.) and is placed inside a DIV with a random class.

<div class="A10ZHW4BMEY">
  <input type="text" name="easyCaptcha" value="" />

Thanks to a simple CSS rule this field will be hidden to standard visitors but visible to spam-bots that try to fill all the available fields in the comments form.

Final result: if this hidden field is filled up, that comment is just spam and can be safely deleted from the database.

From now on your spam queue will be so empty 😉

Technorati Tags: , , ,

Goodbye XPS M1330

This post will be the last update about my order of a Dell XPS M1330: last week I spoke with my assigned sales person and found that she had no ideas about the real shipping date of my already paid notebook (ESD was still September, 26th).

Since I need a notebook with Windows Vista, smaller and cooler than my current Windows laptop (a really hot 2.0Ghz Centrino with a 15″ display), I decided to cancel my order and use the previous payment to order a Latitude D630: same price, better features. The new order has been placed on August 23th, the notebook has shipped on August 31th, so it will be in my hands within few days 😉

This is my Latitude D630 configuration:

  • CPU Intel Core 2 Duo T7500 2.2Ghz
  • NVIDIA® Quadro NVS 135M
  • 14.1 WXGA (unfortunately the high-resolution display was on backorder)
  • 4 GB RAM DDR2 667 Mhz
  • 160GB SATA 7200rpm
  • WI-FI Intel 4965AGN
  • Bluetooth
  • 9 cell battery 85Wh
  • nylon thin case
  • 3 years warranty NBD
  • Windows Vista Ultimate

You can find the XPS M1330 original configuration here.

Technorati Tags: , , ,

Does Dell read blogs?

It seems so, or at least Dell reads blogs written in English since they skipped my Italian blog which has a lot of posts about the shipping delay of XPS M1330, much more visibility and a better ranking on Technorati.

This morning I was checking my blog stats and I saw a strange referer: (the exact URL is )

Since this domain is unreachable, I thought that it could be some sort of Intranet application. After a quick Google search, I found that maybe I wasn’t so far from the truth: Dell’s customer care reads blog posts about problems with Dell computers and contacts the author with a “personal” mail (but they didn’t contact me, maybe they have nothing to tell customers about this ridiculous delays).

A small note: shipping delay involves also other Dell notebooks. A friend of mine is still waiting an Inspiron 1720: first ESD on middle July, moved to August and then to September. Sound familiar, doesn’t it?

Technorati Tags: , , ,

Dell XPS M1330, are you joking?

Today I took a look at the Order Status page for my Dell XPS M1330:


Guys, are you joking? Three months to ship a notebook that I have already paid?

Sr. VP Alex Gruzen wrote some days ago:

When you order a system, the estimated ship date factors in our best currently available information, including the number of orders in front of you and the availability of parts. It should not change unless something impacts one of these factors. If that happens, we will contact you.

Unfortunately no mails and no phone calls from Dell to explain what’s going on with my notebook: maybe Italian customers are not so important for Dell.

I’m really trying to find a good reason not to delete my order and ask my money back.

Technorati Tags: , ,

Add Technorati tags to WordPress posts


There are several WordPress plug-ins that allow to add Technorati tags at the end of your posts. In my experience with WordPress plug-ins, I tend to prefer the simpler ones for an elementary reason: usually reliability is inversely proportional to complexity 😉

On this basis I chose SimpleTags. SimpleTags allows to manage TAGS directly inside the WordPress editor: it’s possible to add tags as a list at the end of the post (syntax [tags ]…[/tags ], without spaces before the closing square brackets) or define TAGS progressively using the post’s content (with the syntax [tag ]example[/tag ], without spaces before the closing square brackets).

To improve the appearance of the results, you need to make little modifications to the plug-in code and the WordPress template.

Open simpletags.php with a text editor (possibly with syntax highlight support): you should see these two lines of code just after the initial comments

$pre_replacement = '<p> Technorati Tags: ';
$post_replacement = '</p>';

You need to modify the variable $pre_replacement in order to add a class to the generated “Technorati Tags” paragraph:

$pre_replacement = '<p class="tag_technorati"> Technorati Tags: ';
$post_replacement = '</p>';

Now you have to save the image used for the icon in the images folder inside the current template and add this rule to the style sheet:

.tag_technorati {
background: transparent url(images/technorati.gif) no-repeat scroll left center;
padding: 8px 2px 8px 20px;

Obviously, if you want you can also modify the variable $pre_replacement to create a DIV instead of a paragraph.

Technorati Tags: , ,

Dell XPS M1330 and ship date


As I wrote in my first post, I’ve ordered a Dell XPS M1330 about a week ago (June, 29th). This is the configuration I chose:

  • Intel Core 2 Duo T7300(2 Ghz, 4MB cache L2, FSB 800 Mhz)
  • Windows Vista Business
  • 3 years warranty NBD
  • 13,3″LED display with webcam (on the Italian site you can’t choose the display without webcam)
  • 2 GB RAM DDR2 667Mhz (2×1GB)
  • hard-disk SATA 160GB 5400rpm
  • nVidia® GeForce™ Go 8400M GS with 128 MB GDDR3 memory
  • 9 cell battery 85Wh
  • Bluetooth
  • mini Intel® Pro/Wireless 3945 802.11a/b/g
  • nylon thin case, 56k external usb modem

Final price, thanks to an interesting discount by the sale manager, is about 1.500€ (2.050$) without 20% of IVA, corresponding to VAT in Italy.

My notebook is in pre-production from 06/30/2007, estimated ship time 07/20/2007. As you can read in this forum thread (36 pages now!), most of the estimated ship times are in august or september: two months is a long time to wait 😉

Technorati Tags: ,

Self made tag cloud for WordPress

In this tutorial I will show you how to create a simple tag cloud with WordPress categories and place it in your sidebar without using external plug-ins or widgets (you can read here an Italian article about the same argument).

You can write the following code inside the sidebar.php file in your template, or create a new file (tagcloud.php) and include it in your sidebar.php: the second way is better if you have multiple sidebar files.

Let’s start with the second solution: create a file tagcloud.php and place it in your template folder. This is the code you have to write inside this file (you can download tagcloud.php in text format here):

// Extract categories from database
$qrystr = "SELECT cat_ID, cat_name, category_count from $wpdb->categories ORDER BY cat_name";
$cats = $wpdb->get_results($qrystr);
// Find the max number of posts for a single category
$max_value = 0;
foreach ($cats as $cat)
 if ($max_value < $cat->category_count) {
	$max_value = $cat->category_count;
// If you want to change the appeareance of the tag cloud (maximum and minimum percentage in font-size, percentage difference between levels), change only these 3 variables
$min_percentage = 80;
$max_percentage = 200;
$percentage_level = 10;
$num_levels = ($max_percentage-$min_percentage)/$percentage_level;
$postgap = $max_value / $num_levels;
// Display all categories inside a div with id=cloud
// Assign a class to the category (or categories) with more posts
// Do not show categories without posts
echo '<div id="cloud">';
foreach ($cats as $cat)
 if ($cat->category_count>0) {
  $catname = $cat->cat_name;
  $catlink = get_category_link($cat->cat_ID);
  $postcnt = $cat->category_count;
  $fontsize_percentage = $min_percentage+(Round($postcnt/$postgap)*$percentage_level);
  echo '<a href="',$catlink,'"';
  ($postcnt == 1) ? $str_post=' post">' : $str_post=' posts">';  
  if ($fontsize_percentage==$max_percentage) {
	echo ' style="font-size: ', $fontsize_percentage,'%" class="top_category" title="',$postcnt, $str_post;
  else {
  	 echo ' style="font-size: ', $fontsize_percentage,'%" title="',$postcnt, $str_post;
  echo $catname,"</a>\r";
echo "</div>";	

Let’s take a quick look at the code:

  • I make a query on the WordPress database (table “categories”): results are ordered by category name and we already have all the data we need thanks to the field “category_count”
  • I check all the results to find the maximum number of posts for a single category. This value is stored using the variable $max_value
  • I set the maximum and minimum percentages to use as font-size, percentage difference between levels and the number of posts between two levels (this is why I need $max_value)
  • now I can walk trough the results of the query, generating the html code: I write a simple link, using title to display the number of the posts for each category (so you will see a tooltip), and assign a special class to the top category (or categories)

Now change your sidebar.php to include the tagcloud.php file; obviously you must choose the right point to place it 😉

At this point you should already be able to see the tag cloud in your blog: the next step is to style it using css. This is the stylesheet I use for this blog:

div#cloud {
	border: 1px dotted #E4F0DB;
	padding: 0.5em;
	margin: 0.6em 0.5em;
	font-family: Tahoma, Verdana, Arial;
	text-align: justify;
	line-height: 1.7em;
div#cloud a {
	color: #2f63b3;
div#cloud a.top_category {
	color: #76b391;
div#cloud a.top_category:hover {
	color: #4A5265;
	text-decoration: none;

That’s all 😉

Technorati Tags: ,