Archive for the ‘Kesäkoodi’ Category

status report wk26

Friday, June 27th, 2008

I implemented the USB and Bluetooth pages. There’s some nice screenshots at the end of this post.

I also went off irritating people at BlueZ development mailing list:

Hello list!

I’m developing a project[1] that needs to provide the user a way to
select[2] a Bluetooth device from a list of discovered devices.

I noticed that gnome-bluez applet has a very nice device selector and
that got me browsing though the code. Unfortunately I discovered that
bluez-gnome creates only a static library libcommon.a that contains the
device selector (common/bluetooth-device-selection.c) for private use.

Now there is two options the way I see it. Either I have a private copy
of bluez-gnome package or bluez-gnome is made to be a shared library.

The first solution would be easiest for everyone because no extra work
would be required. But it’s just generally A Bad Idea to have multiple
programs using same code privately and so on..

The second solutions would be optimal. If bluez-gnome provides a shared
library 3rd party software could utilize it in sane way. I’m quite sure
there are many applications that would benefit from common bluetooth
widgets; like CUPS for bluetooth printer setup, Evolution for vCard
sending, <your favorite application that communicates with BT devices>..
Here is the lame part: I’m busy with my project, so someone else should
do all the work :P
OK, maybe not all the work, but I can not promise anything.

What do you think about the idea? Is this something not worth the
trouble and I should just STFU or is this viable?

best regards,
Antti Kaijanmäki

[1] http://live.gnome.org/NetworkManager/MobileBroadband
[2] http://www.kaijanmaki.net/kesakoodi/bt_draft.png

P.S.
Here are some wishes from top of my head regarding the device selector:
1. remove the caption of the list
- let the developer provide a caption best suited for
his application
2. put the filter in GtkExpander
- Filters are not used for by the most of the users, thus it’s
convenient to have them hidden by default.
3. make the filter completely hidden
- this combined with the 1. would make the widget appear just
like GtkTreeView
- this is already achievable, but there seems to be a bug. If both of
the filter fields are hidden the caption is still shown.
See an attached patch.
4. have alternative filters in right-click pop-up menu
- very handy for tight places
5. add property for selected device name. It’s always nice to be able
to show the user a nice name instead of bluetooth address.
- see an attached patch.

bluez-devel email archive at SourceForge.net has had its last update on June 18th so no bonus for you. Here are the patches (there is a memory leak though..):

Bastien Nocera replied that the API would need a lot of work before it’s in the shape for being made public. I decided to include a private copy of the widget for now and switch to public library when it becomes available. I also made the modifications I needed as you can see in the screenshot below.

Next week

Work for first translations should begin. And guess what. We will be using Betawiki as it is part of this years Kesäkoodi and Niklas Laxström is a close friend of mine.

I am hoping that someone who speaks native English would step up and review the UI strings before I create the translation template. Any volunteers? Send me an email.

I’m on schedule, but I’m a little bit concerned about the quality of my current code base. Fortunately there is time for testing and polishing. Hopefully I finally get my svn.gnome.org account so that I can start pushing my code to public repository.

USB modems!

I got couple of USB modems one day to play with. They were Huawei E220 and Option iCON 225. They didn’t work out of the box with my ubuntu 8.04. Huawei has working driver shipped with 8.04 (option), but there is also an another (airprime) that sometimes steals the device. After blacklisting the airprime module Huawei worked nicely except that /dev permissions were wrong.

iCON 255 didn’t work with the stock option driver, but I stumbled upon a new driver hso which is developed by Option International. Unfortunately the dongle I had didn’t work with the driver. The driver didn’t recognize the dongle even though the usb-id was set (I checked the source). Hopefully and most probably that gets fixed for Intrepid Ibex (Ubuntu 8.10).

Screenshots

(more…)

status report w25

Thursday, June 19th, 2008

Here’s the serial page, whoo! Do not stare the strings too closely. I really need someone who speaks native English to purify the UI strings before translations. Still no account for svn.gnome.org, so you can’t see what a mess my code currently is. I will not be working tomorrow, because it’s Midsummer’s Eve, so do you self a favor and grab a nice cold beer and think what Freedom means to you. At least I will ;)

Planet Kesäkoodi

Tuesday, June 17th, 2008

I just hacked together a planet for this years summer coders. I could say it’s quite ugly because I just glued it together from Planet and my main site template. enjoy! :P

#nm @freenode

Saturday, June 14th, 2008

Just found out there’s an IRC channel for NetworkManager. Jump #nm on freenode. I’m there, too.

status report w24

Saturday, June 14th, 2008

Our “manager” is constantly kicking our butts:

(13:08:54) Myrtti: BLOGATKAA PERKELE

So, here it goes 8-)

I’ve been awfully quiet this week. That’s just because I’ve been so busy with the project. I must say I’m very pleased with the work I’ve accomplished. Hopefully I get my svn.gnome.org account soon, so I can have a public repository for my work..

First of all I froze the database specification on Monday. I converted the GPRS EC database and used that to test the XML parser I created. Works very nicely (except for leaking tons of memory, will be fixed next week..)

Armed with a new and shiny  parser I was ready to begin the UI integration. I made a little change to the earlier draft as you can see from the pictures below. The list of available countries is now inside an expander, because the most of the users never have to choose the country.

WTH, is it chosen automagically for them?! I hear you ask. Of course it is! Country is selected based on timezone of the system. For example here in Finland I have Europe/Helsinki and I can get the country code fi from that. Also notice how country names are localized.The first picture has locale fi_FI.UTF-8, but is missing translation file and the second picture has locale ru_RU.UTF-8 and has a proof-of-concept translation that I quickly created with Google Translate.

Under the hood the system timezone is resolved using couple of borrowed files from gnome panel clock applet and the timezone is converted to country code and country names are localized using libgweather (thanks to Vincent Untz and Bastien Nocera).

If you look the pictures very carefully you will notice that the list of service providers has different content for Finland. For locale ru_RU service provider Elisa is named Русский вариант названия. This demonstrates how service provider names can be localized. This feature is not intended for l10n junkies who want to localize everything that even remotely resembles letters. No, this is for situations where a country has multiple official languages.

<provider>
<name>Elisa</name>
<name xml:lang=”ru”>Русский вариант названия</name>
<gsm>
<apn>internet</apn>
</gsm>
</provider>

btw, page headers is not translated because of a bug in glade.

(more…)

UI draft

Wednesday, June 4th, 2008

Here it is!

(more…)

my first public patches

Wednesday, June 4th, 2008

I sent my first public patches to a FOSS project \o/

(mailing list broke my pgp signature and archiver broke the patches, boo!) :

I try to get glade-3 to my ppa later this week.

Here’s a little sneak peek for you ;)

Service Provider Database

Monday, June 2nd, 2008

posted on nm-list as preparation for next week:

Hello,

one part of my project is to create and specify a database for service
provider specific settings. I've created an example page in
live.gnome.org. Please, comment if you find something missing or you
disagree. I will begin with the implementation next week. 

Br,
Antti

struggling with glade-3

Monday, June 2nd, 2008

Just a quick summary of the bugs I’ve hit so far: #500450, #500463, #503146, #529595

I’m using svn build and I will try to come up with some patches later this week.. For now only thing I care is to get my job done. It’s just very frustrating and time consuming to come up with workarounds and hacks :/

How was your week, Mr. Lawrence?

Friday, May 30th, 2008

Nice week, indeed. Nothing big to rush blogging about, though. Here are some highlights:

I have requested an account for svn.gnome.org.

I installed glade-3 and some other stuff and immediately hit bug #112625 which is actually a gtk bug. I first tried to compile and package gtk from svn, but that was not very successful. I ended up patching the current hardy package. You can find the fixed package from my PPA. After you have added my PPA to your sources.list you can install the packages with following command:

sudo apt-get install libgtk2.0-dev=2.12.9-3ubuntu4~ppa2 libgtk2.0-0=2.12.9-3ubuntu4~ppa2 gtk2-engines-pixbuf=2.12.9-3ubuntu4~ppa2 libgtk2.0-bin=2.12.9-3ubuntu4~ppa2 libgtk2.0-common=2.12.9-3ubuntu4~ppa2

I read through some debian and ubuntu packaging documents, but as the above install method demonstrates, I still have some learning to do :P

One friend of mine said to me that I have almost an obligation to start using all these web2.0 mambo jambo… Well, I registered at del.icio.us. It’s a pity there is no official plugin for firefox 3 yet, but I manage to find a beta. I also set up my Facebook account and updated my LinkedIn profile. I haven’t got the clue what to do with Facebook, though. I thought it was hilarious when Linked in suggested me the title “Independent Computer Software Professional” and why change it ;)

And yes, I watched Merry Christmas Mr. Lawrence.