I’ve been very busy with life and work in general and I haven’t blogged for a few months now. I finally get the chance to talk about something I worked on in my spare time.

I use Cryptkeeper to decrypt and mount some encrypted directories that I have in my Ubuntu One space but I noticed that its applet didn’t make use of Ubuntu’s Appindicators. Since the whitelist for old style applets had been removed in Raring, I was left with no way to use Cryptkeeper. For this reason I rolled up my sleeves and I worked on a patch to (optionally) enable support for Appindicators in the program.

open_indicator_edited

The main problem I had to face is the fact that Appindicators don’t support right click gestures, so I had to create an entry in the indicator (labelled “Edit”) to allow users to get information, change passwords or delete encrypted directories. Clicking on that entry pops up a dialog which then hooks into the old dialogs to perform the said operations.

cryptkeeper_edit

I uploaded my work in Saucy and made packages for Precise and Raring available in my PPA.

I hope you enjoy my work!

Posted by admin | May 12, 2013 9:52 am
Filed under: Debian,GNU/Linux,Planet,Ubuntu
Comments (0) |


On 2 January my father passed away at 63, after a little more than a year fighting (a rather aggressive type of) lung cancer. I won’t go into the details of how it went but let it suffice to say that pain and tears have been our bread and butter.

A little bit of history

My father was an honest and kind man who did everything he could for his family. A big part of who I am today, I owe it to him. Since when I was little he always encouraged me to learn and contributed a lot to my education, ranging from history and science to politics.

He supported my (at the time) crazy idea to pursue my current career (as I graduated in a field other than Computer Science) as he’s always believed in me. My father – an electrical engineer who worked in the world of software development – was more than glad to know that I had developed an interest in programming and supported my early studies. I’ll never forget that time when I was coding my first port of Envy (my first program) to the Python programming language and I was stuck and feeling miserable, almost ready to give up, when he sat down beside me and helped me solve the problem. From that point on, nothing stopped me from learning and from facing any other kind of programming problem, which I always take as a challenge.

The funeral and the support we received

I was really amazed at the warmth of my friends and colleagues, my father’s friends, our relatives and neighbours. Whether through the phone, telegram or in person at the funeral, we felt all the love they feel for us and it was beautiful. We couldn’t have asked for more. I’d like to thank you all.

Conclusions

Despite the tragic conclusion, I can say that I’m a much better and mature man than I was when all this misfortune began. This was my father’s last teaching, how to face your worst fears and how to take care of yourself and of the ones beside you in the face of an adverse destiny. It’s a lesson I’ll never forget.

Posted by admin | January 6, 2013 7:16 am
Filed under: Daily routine,GNU/Linux,Planet,Ubuntu
Comments (5) |


Some time ago I had problems using ftp when uploading packages to upload.ubuntu.com (which stalled at about 13% for 100Mb uploads). Somehow sftp seems not to be affected by the problem. Here’s the relevant snippet to use in your ~/.dput.conf:

[ubuntu]
fqdn = upload.ubuntu.com
method = sftp
incoming = ubuntu
login = <YOURUSERNAME>
allow_unsigned_uploads = 0

I’ve found sftp to be much more reliable, at least with my (less than stellar) internet connection.

Posted by admin | September 10, 2012 5:46 am
Filed under: GNU/Linux,Planet,Ubuntu
Comments (1) |


Premise

I use Hamster for time tracking at work and the lack of an applet which works with Unity’s panel is my main obstacle to the adoption of Unity (which I love BTW). For this reason I hacked on the applet’s code in my (very limited) spare time at weekends and I managed to get what I needed i.e. a functioning appindicator for Hamster. I wasn’t aiming for the perfect example of usability but simply an indicator which could reproduce the functionality of the old applet, therefore feedback is more than welcome from the design team, design enthusiasts, etc.

Note: I know that there was a discussion about integrating Hamster in the Clock indicator but, as I said, this wasn’t my objective, even though I do not exclude future evolutions of the indicator in this direction. I should talk to upstream too.

Implementation

I adopted a rather opportunistic (call it hackish) approach to the problem. Rather than duplicating code or patching the original code, I chose to create a subclass of the HamsterApplet class (from Hamster’s applet.py) and to override the parts that I didn’t deem suitable for the indicator (such as the panel button and the sticky activity window). Long story short, the code in Hamster does all the heavy lifting while my code deals mainly with keeping the indicator updated. A proper solution would probably involve creating a more generic class which both the HamsterApplet class and my new class can inherit, assuming that this is the path that upstream want to follow (as they might have different plans in mind, especially on the user interaction side).

Results

As you can see, the indicator is very simple. I just re-used the icon from Hamster but I’d love to see a monochromatic one instead.

Click on the “New activity” menu item and you’ll get the old activity dialog near the indicator. I had to make the dialog a decorated window as, otherwise, you wouldn’t have a way to hide the dialog without a panel button, if, for example, you clicked on that menu item by mistake. Clicking “Start Tracking” still hides the dialog.

Personally, I’d like to see something smaller than the following dialog, for example without all that’s below the “Today” expander (included) and with the remaining elements arranged in a more space efficient way. Or maybe we could have something other than a dialog to do this (e.g. integration with the Unity dash?). I’m digressing now…

 

This is the indicator in action. You can click on the activity name so as to get a dialog to edit the current activity or you can also decide to stop the task from the indicator. Of course the old “Add earlier activity” and “Show Overview” dialogs are still there.

Note: the screenshots in this blog post were taken in Maverick 10.10.

How to try it

I haven’t had the time to package it yet but you can simply download the “hamster-indicator” file from the git repository below, make it executable, double click on it and select “run” (at least in Gnome). You also need to have the “hamster-applet” package installed.

The code is hosted here.

I’ll package it and put it in a PPA soon.

 

Posted by admin | April 3, 2011 7:50 am
Filed under: GNU/Linux,Planet,Python,Ubuntu
Comments (29) |


I’m a satisfied owner of a Nexus One (loving Android Froyo 2.2) and today I decided to try a (volume based) 3G plan by CoopVoce.

There are 2 options available: either buy a 3G usb key or simply use 3G directly from your phone. In the former case (which I wasn’t interested in) the usb key works with Linux and you can even download a QT based dashboard which is supposed to set up the connection for you and it works on Ubuntu, Fedora, etc. While this definitely was a pleasant surprise, the lack of instructions to configure your phone wasn’t as pleasant. The website suggests to contact customer service so that they can provide you with the right configuration for your phone (but it seems that they’re not ready for Android phones). Long story short, I decided to download the dashboard instead and explore its contents hoping to find something useful to set up the APN myself. My research was successful and I thought I would share my findings with you.

Enter the “Settings” tool, then select “Wireless & network settings” -> “Mobile networks” -> “Access Point Names” and add a new profile with “New APN”.

Fill in the fields below as follows:

Name: CoopVoce
APN: web.coopvoce.it
MCC: 222 (set by default)
MNC: 01 (set by default)
Authentication type: PAP
APN type: default,supl

Note: I’m not really sure if MCC and MNC are actually useful.

Leave the rest unset. Save and select your new profile, then go back to the Mobile networks settings screen and select “Data enabled” to turn on your 3G connection.

Since this is mostly aimed at people who live in Italy, here’s the Italian translation:

Per configurare una connessione 3G con CoopVoce (web 500 mega nel mio caso) su di un telefonino con Android, entrare nel pannello delle impostazioni e scegliere la schermata di configurazione delle reti (“Wireless e reti”), poi quella per le “Reti mobili” e in seguito quella dei punti d’accesso (“Nomi punti di accesso”). Aggiungere un nuovo APN e riempire i campi come segue:

Nome: CoopVoce
APN: web.coopvoce.it
MCC: 222 (impostato di default)
MNC: 01 (impostato di default)
Tipo di Autenticazione: PAP
Tipo APN: default,supl

Nota: non sono sicuro dell’utilità di MCC e MNC.

Lasciare il resto non settato. Salvare e selezionare il nuovo profilo e infine tornare alla schermata di impostazione delle reti mobili e attivare la connessione 3G abilitando il traffico dati (opzione “Dati attivati”).

Posted by admin | September 3, 2010 8:47 pm
Filed under: Daily routine,GNU/Linux,Planet,QT,Ubuntu
Comments (3) |


It’s been almost a month now since I started working for Canonical. I was hired as a “Sustaining Engineer (System)” in the Foundations team which, in turn, is part of the OEM Services team, whose offices are located in Lexington, Massachussets, USA (I work from home though).

I mainly do work on X.org related stuff (e.g. touchpads, graphics drivers, etc.) in order to solve problems such as the ones that Canonical’s customers report and to develop new things (I hope to be able to blog about my new projects).

I really like this job as it allows me to work on the things I’m passionate about in a very friendly and relaxed work environment. It means a lot to me.

I would like to thank all the people who made this possible, the ones who kept providing me with new challenges in Ubuntu which made me acquire experience that is proving extremely valuable in my job. I would also like to thank all the people who supported me and encouraged me to apply for this job at Canonical, my team mates and team manager(s) who helped me move my first steps at work and to feel at ease and deeply involved in the OEM team, and the impressive amount of people who congratulated me on IRC on my first day of work. It was a warm welcome that I’ll never forget.

It’s an honour to work with you and I hope we can all work together to fix bug #1.

I hope to see you at the next UDS in Barcelona in May.

Posted by admin | March 29, 2009 3:35 pm
Filed under: GNU/Linux,Planet,Ubuntu
Comments (17) |


As promised in my previous posts, in this blog post I will deal with a project I’m working on which implements this blueprint.

Bryce Harrington (the mentor of this blueprint), Colin Watson (the approver) and I talked about this at the UDS in Prague. The blueprint is based on Bryce’s original idea to improve the Screen Resolution panel. The work was divided into 2 phases:

Phase 1 (which is a higher priority) is about providing the Screen Resolution panel with the capability to set the virtual resolution in the xorg.conf when, put simply, 2 or more screens don’t fit the framebuffer. Currently the Screen Resolution panel doesn’t succeed in such case since the drivers are not able to reallocate the framebuffer yet. A simple GUI should allow users to set the required virtual resolution and write the settings to the xorg.conf through PolicyKit.

Phase 2 is about adding an “Advanced settings” button to the Screen Resolution panel so as to allow advanced users to edit the xorg.conf through a simple GUI. The aim of such program is not to set up multiple screens layouts but only to make it easier for users to add, edit and remove options without having to know which section an option, say, DontZap, belongs to, or to switch to a different driver. A more detailed explanation of the use cases is available here.

In Prague we agreed that this project couldn’t become reality without an xorg.conf parser/writer and some other tools. For this reason I started the X-Kit project:

X-Kit

Components:

    * XorgParser: a simple, transparent and easy to extend xorg parser.
    * XorgValidator: a program which uses X-parser, tries to make sense of xorg.conf and operates accordingly.
    * Xorg Options Data Store: a program which translates the content of the manual of the xorg.conf into an XML file.
    * Xorg Options Editor GTK: a simple GTK GUI to the xorg.conf.
    * Xorg Options Editor KDE: a simple GTK GUI to the xorg.conf.

NOTE: all the code is in Python

Aim:

    * a desktop agnostic kit to manipulate the xorg.conf (and whatever will replace the xorg.conf in the future).

Advantages of XorgParser:

    * Simple API.
    * Easy to extend.

Current Status:

    * XorgParser: version 0.3 is available. You can get the code from my bazaar branch or from my PPA
    * XorgValidator: there is already some code in place which I haven’t released yet.
    * Xorg Options Data Store: the program is complete, works well and will be released soon.
    * Xorg Options Editor GTK (aka Phase 2): the program is almost complete and will be released soon. You can have a look at this screencast to see how it works.
    * Xorg Options Editor KDE: not started yet
    * Phase1: the Python part is complete and, as you can see in this screencast, it works well. The screencast, however, doesn’t reflect the current status of phase 1 but still gives an idea of how this will work in practice.

For further details on the project, please have a look at the wiki.

A special thanks to Bryce Harrington and Martin Pitt whose feedback on the parser was extremely important.

Posted by admin | July 25, 2008 4:33 pm
Filed under: GNU/Linux,Planet,Python,Ubuntu,UDS
Comments (17) |


It took me some time to update the FGLRX and the NVIDIA driver in Ubuntu since I’m working on the drivers for Intrepid and on my new projects for Ubuntu. Furthermore driver 173.14.09 breaks the compatibility with realtime kernels and I didn’t want to upload something which would cause problems to a lot of users. For this reason I have written a patch (thanks to mizvekov from the NvNews forums for the tips) which will fix this problem while keeping the compatibility with non-realtime kernels.

Both the NVIDIA and the FGLRX contain a lot of fixes and I need your help to test the packages so that we can get them into hardy-updates (i.e. the stable repositories) soon. Please report your experience with the driver in this bugreport.

NOTE: the instructions to enable and use -proposed are in the bugreport (see Martin’s link)

Posted by admin | July 8, 2008 8:52 am
Filed under: Envy,GNU/Linux,Planet,Ubuntu
Comments (14) |


Today, I’ve uploaded the latest release of the NVIDIA driver (173.14.05) to the the hardy-proposed repository (you should thank the Ubuntu-SRU and the MOTU-SRU teams for this). This is the bugreport containing the request for a SRU (Stable Release Update). Please test the new driver and post your comments there so that we know whether the driver works well for you too, and if it does, the update will be moved to the stable repository.

NOTE: this update won’t affect Ubuntu’s official linux-restricted-modules but only the linux-restricted-modules-envy so that nothing will break if you use the former.

Instructions:
All you have to do in order to test the new driver is enable the hardy-proposed repositories, refresh your list of packages and:
1) if you have already installed the driver through EnvyNG you should receive an update through Update manager
2) otherwise you will have to install and launch EnvyNG and select the “Manual selection of the driver” (since I haven’t had the time to update EnvyNG’s compatibility list for the automatic detection).

News:
I promised that I would blog about the projects I was assigned at the UDS and here’s the first news: I’ll maintain the NVIDIA driver for Ubuntu Intrepid together with Timo Aaltonen while Mario Limonciello will take care of the ATI (fglrx) driver. We’ll use DKMS for both drivers.

Stay tuned for more news and please help us testing the driver.

P.S. I’m working on the latest ATI driver too

Posted by admin | June 11, 2008 9:00 pm
Filed under: Envy,GNU/Linux,Planet,Ubuntu
Comments (45) |


It’s been a month since my last blog post. EnvyNG was included in Hardy but it had a few problems and I have worked to fix them. I can’t upload such fixes since Hardy is a stable release. This means that all the updates will have to be tested before they are moved to the stable repositories. This is why I need your help. The more users test the fixes the sooner we can get them into stable.

Special Thanks:
All this wouldn’t have been possible without the amazing support of Martin Pitt, who guided me and helped me with the SRU (Stable Release Update). He has spent a lot of time on EnvyNG, gave me a lot of extremely useful suggestions, therefore I can say that you should really thank Martin for this release.

Timo Aaltonen brought bugs #212648, #186382, #118605 to my attention and suggested the solution. In case you don’t know it already, he’s one of the guys who take care of Ubuntu’s restricted modules. Keep up the good work, Timo!
(more…)

Posted by admin | May 10, 2008 10:16 am
Filed under: Envy,GNU/Linux,Planet,Python,Ubuntu
Comments (65) |