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 Alberto Milone | September 3, 2010 8:47 pm
Filed under: Daily routine, GNU/Linux, Planet, QT, Ubuntu
Comments (2) |


Quoting my email to different Ubuntu mailing lists:

According to Nvidia, drivers 195.36.08 (i.e. the current driver in the
archive) and 195.36.03 might be affected by the same GPU fan speed
issues
which affect the Windows driver:
http://www.nvnews.net/vbulletin/announcement.php?a=39

I have been using these drivers for while now without experiencing
that problem but, if you want to be on the safe side, I suggest that
you temporarily switch to the open driver until we’re sure that the
problem is fixed. In order to do so you can follow either point 1 (the
easy way) or point 2:

1) Disable the driver with Jockey (the restricted drivers manager) and
restart your computer.

OR

2) Open the terminal and type the following commands:
sudo update-alternatives --config gl_conf (and select the alternative
provided by mesa)
sudo ldconfig
sudo update-initramfs -u
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf_old

and restart your computer.

Sorry for the inconvenience, I’ll keep you posted on the issue.

Posted by Alberto Milone | March 6, 2010 3:35 pm
Filed under: Planet, Ubuntu
Comments (5) |


This is just a brief announcement, I hope to have the time to say more when I’m back to Italy (currently I’m in the US).

  • EnvyNG and Envy are no more. I had no time to maintain them and I really prefer to work on Jockey (I had already contributed code to it in the past) as it’s our general purpose driver manager.
  • The Nvidia installer from Nvidia’s website won’t work anymore because of the new alternatives system that I have implemented in Lucid. I’ll work on this so that it’s fixed before the final release.
  • Thanks to the new alternatives system you will be able to have all of the nvidia drivers and the fglrx driver (when the latter will be compatible with Lucid, that is) installed at the same time but use only one at the time. Switching between drivers will only be a matter of launching Jockey and selecting the driver you need. Ideally (in the future, not in Lucid) you won’t even have to do this and Ubuntu will switch to the right the driver on boot.

I hope to be able to blog more about my work soon.

Posted by Alberto Milone | February 12, 2010 5:33 pm
Filed under: Envy, Planet, Ubuntu
Comments (6) |


As you might have noticed already if you use Ubuntu Karmic, Ctrl+Alt+Backspace (i.e. the shortcut which was used to restart the X server) has to be enabled in a different way with respect to previous releases of Ubuntu.

This is due to the fact that “DontZap” is no longer an option in the X server and has become an option in XKB instead.

As a result, now it’s very easy to use your Desktop environment of choice (e.g. GNOME, KDE) to enable or to disable the Ctrl+Alt+Backspace shortcut. It is also possible to do it without KDE or GNOME.

I recommend that you do it from your desktop environment of choice (as you may find it easier):
Instructions here

P.S. Instructions for XFCE are more than welcome.

Posted by Alberto Milone | September 2, 2009 2:05 pm
Filed under: Planet, Ubuntu
Comments (10) |


What is X-Bus?

It’s a personal project I’ve been working on (among other things) since I joined Canonical. It’s a daemon which handles input devices through the XInput protocol. In the future I hope to add support for outputs too.

What’s the purpose of X-Bus?

Its main purpose is to provide developers with a common (and simplified) way to access XInput from languages which have DBus bindings (Python, Ruby, C, C++, Java, Perl, etc.). It is not specific to any desktop environment, even though it uses C++ and QT4 (see below).

Wouldn’t it be nice if we could have KDE, Gnome, Xfce, etc. applications which make use of the same backend with different frontends (as opposed to having different backends and frontends)?

Current features:

  • Exposes XInput (listing/setting properties, catching signals, etc.) through Dbus with a simplified API.
  • Stores the (per-user) current inputs configuration in an XML file and applies it at startup or when requested.
  • Emits signals (through Dbus) when new devices are plugged in or unplugged (so that, for example your client application can refresh its UI to reflect the new situation).
  • Tracks keyboard activity so as to disable your touchpad when you’re typing.

It’s an attempt to combine the features in syndaemon and xinput (the command line tool), from both of which X-Bus borrows code.

3 examples of what X-Bus can be used for:

  • User interfaces to configure touchpads (which is the 1st thing I would like to work on).
  • User interfaces to configure touchscreens whose drivers support XInput (I still need to expose the calibration functions provided by XInput though).
  • Automatic rotation of your touchpad (figuratively speaking) when your screen is rotated (after this is implemented).

Why QT?

Because of its DBus and XML modules and because it’s a pleasure to work with QT in general.

Example: if you add the Q_SCRIPTABLE macro to the function in the header file, this function will be made available in your DBus interface. This applies to signals too. This makes maintenance a lot easier.

In my opinion it would be overkill to use the DBus low-level API and I don’t think the glib (DBus) bindings can offer what I described in the example (feel free to prove me wrong on this). Furthermore I would have to use an external xml module to perform validation and the things that I currently do with the xml file.

Doesn’t it duplicate efforts? Why don’t you work on $INSERT_DAEMON_HERE instead?

Yes, it does (partially) but my point is: can we use $INSERT_DAEMON_HERE on KDE, Gnome, Xfce, etc. ?

Furthermore, if you have a look at X-Bus’ API you’ll see that (currently) there’s very little duplication.

Where’s the code?

Source code (have a look at the examples which are written in Python)
Packages

NOTE: this is just a first release and users won’t benefit from it without a user interface (unless they want to edit the xml file manually).

Posted by Alberto Milone | July 2, 2009 3:00 pm
Filed under: Planet, QT, Ubuntu
Comments (6) |


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 Alberto Milone | March 29, 2009 3:35 pm
Filed under: GNU/Linux, Planet, Ubuntu
Comments (19) |


If you don’t want to use a user interface to change the effect of Ctrl+Alt+Backspace in any flavour of Ubuntu you can follow these steps:

1) Install the “dontzap” package
sudo apt-get install dontzap

2) Open Terminal or Konsole and type:
sudo dontzap --enable
or
sudo dontzap --disable

Where “disable” means that Ctrl+Alt+Backspace restarts the xserver while “enable” means that it won’t.

I’ll post something on the GTK UI when it’s ready.

Posted by Alberto Milone | January 22, 2009 6:37 pm
Filed under: Planet, UDS, Ubuntu
Comments (27) |


As you might have noticed already, X.org no longer ships with the DontZap option set to False by default i.e. pressing Ctrl+Alt+Backspace won’t restart the xserver any longer. At the UDS we discussed on how to deal with this change and we came to the conclusion that Ubuntu and Kubuntu would deal with this change in different ways. I worked on both the implementations.

This blog post is about the Kubuntu implementation. Click on the thumbnails to see the screenshots in their full size.

1) Install the “dontzap” package (hopefully this step can be skipped in the future):
sudo apt-get install dontzap

2) Launch “systemsettings”
Kde's menu

3) select the “Display” module
Settings panel

4) click on the checkbox which says “Ctrl+Alt+Backspace restarts the xserver” and press the apply button:
Display Module

5) insert your password
Password dialog

And that’s it.

I’ll blog more about the way you can do it in Ubuntu and from the command line.

Posted by Alberto Milone | 5:39 pm
Filed under: Planet, UDS, Ubuntu
Comments (8) |


After spending a week in Sunnyvale I’m back from the UDS. It was a long trip and I can definitely say out loud that it was a fantastic experience, very hard to put into words, part of which you’ll be able to see in the video-recorded sessions (available soon?).

I gave speeches on 3 projects of mine: Xorg Options Editor, Tablet configuration tool (the project doesn’t have a name yet), Display configuration tool (no name yet). I’ll blog about these projects as soon as I clean up the relevant specs and the wiki pages. It’s been an extremely productive UDS and (in addition to these 3 projects) I think I have already work for Jaunty+1 (and maybe Jaunty+2 too). The feedback I received was really great.

The Silicon Valley is exactly as I expected (if you played GTA San Andreas you know what I mean) and I really liked the place, which is very different from the European towns I visited.

The UDS is all about people (apart from serious development) and I met a lot Ubuntu enthusiasts. I met some old friends and made a lot of new acquaintances. Actually the term “acquaintances” doesn’t do justice to these extremely nice people which therefore I’ll promote to “friends”:

mv acquaintances friends ;)

Having studied Spanish (together with English) at the university, I had a great chance to practice my Spanish with Ara, María and Luis and I also bugged them with some notions of Spanish Linguistics that I learnt. Do you see the irony? An Italian guy who talks to native Spanish speakers about some peculiarities of their own language ;)

I also received a lot of hugs and ended up in the Ubuntu Hall of Fame. I really didn’t expect to see myself on that page, therefore I was very surprised when Bryce showed my picture and the article on his laptop. A lot of people congratulated me on this achievement but all I have to say is simply that it’s the Ubuntu Community that really rocks. I have yet to find another community which makes you feel not only at ease but perfectly integrated, as in a very big family. It’s definitely something you have to experience (at least) once in your life.

I won’t list the names of all the people I met since I really wouldn’t like to flood Ubuntu planet but I would really like to thank them all for being so nice to me and for making this UDS even better than the one in Prague (which I deemed impossible).

A special thanks to Google for hosting the event at the Googleplex (Mountain View). It’s a really cool place and I met Guido Van Rossum (yes, the creator of Python) there. I told him that I started learning programming thanks to Python and he joked about it by replying that he was sorry that his language made me enter the programming world. A very cool guy.

A big thanks to Canonical for sponsoring my travel and to all the people who made this possible.

Posted by Alberto Milone | December 15, 2008 7:51 pm
Filed under: Planet, Python, UDS, Ubuntu
Comments (5) |


As promised, NVIDIA drivers 71.86.07 and 96.43.09 are now available for testing in Intrepid’s proposed repositories. If you don’t know how to use these repositories you can read the instructions.

Please give feedback here (say something like “driver 96 works for me”, etc.).

There is also a small fix which will solve a problem with diversions for drivers 177 and 173.
Please give feedback here

I have also fixed a bug in nvidia-settings (i.e. NVIDIA’s control panel) which made it segfault when no ServerLayout section is available in the xorg.conf.

Please test the package and give feedback here.

The sooner you test these packages, the sooner they will enter Intrepid’s stable repositories.

Posted by Alberto Milone | November 3, 2008 12:11 pm
Filed under: Planet, Ubuntu
Comments (42) |