Radeon Xinerama

Yesterday I put a new graphics card into my desktop machine (a CGA-P1652 RADEON X1650PRO 512MB) . I hooked my 2 big screens on it and rebooted. My ubuntu dapper couldn’t start gdm (ffcourse). So I apt-getted the ATI drivers and did a dpkg-reconfigure xserver-org, still couldn’t boot. So I started searching, after a while I found the aticonfig tool, one word sweet. I ran it witht he option for dual screen setup and he made a template xorg.conf file.

After adding the Xinerama option and setting the resolutions, I now have a nice widescreen view of my desktop and I can drag my windows over both of them. Life is great! I really believe that multiple screens do increase performance. I also liked the fact that my dapper box now has the ability to modify my screen resolutions using the gnome tool. The last time I did the dual screen setup with ubuntu, the app crashed, guess it wasn’t ready for dual screens. Now it works like a charm!

So people out there with radeon setup problems, one tool : aticonfig

Topreader Desktop Development (2)

This weekend and this evening I did some more TopReader development. I got stuck on the right mouse click popup (context menu) for creating folders,adding feeds, … I asked #gnome and Murray pointed me to the UIManager class. I have to say this is a nifty thing!!

For those out there who (like me) didn’t know about this Factory, it reads an xml file like the following

  <popup name="channelpopupmenu" action="channelpopup">
    <menuitem name="MarkRead" action="MarkRead"/>
  <popup name="folderpopupmenu" action="folderpopupmenu">	
    <menuitem name="CreateFolder" action="CreateFolder"/>	
    <menuitem name="AddFeed" action="AddFeed"/>

In your code you just do this for initializing it

uim = new UIManager ();

And if you want to show a context menu, you intercept the right mouse click event on your widget and do this little piece of code

Menu w = (Menu)uim.GetWidget("ui/channelpopupmenu");

The widget is retrieved by the tagname or its actual name
As easy as that!!!

Now we take it a step further. During initalisation we do this

uim = new UIManager ();
uim.InsertActionGroup (group, 0);

Where the action group represents a group of Action objects (Duh)

ActionEntry[] entries = new ActionEntry[] {
    			new ActionEntry ("MarkRead", Stock.Cut, "MarkRead", null,
                     new EventHandler (OnMarkRead)),
                new ActionEntry ("CreateFolder", Stock.Cut, "CreateFolder", null,
                     new EventHandler (OnCreateFolder)),
                new ActionEntry ("AddFeed", Stock.Cut, "AddFeed", null,
                     new EventHandler (OnAddFeed))

I haven’t configured them as you can see, all are the Cut Stock item.
So we linked the selection of the context menu item with the designed EventHandler.

One word: SWEET

What can I do so far with my app, well I can create folders, add feeds, read feeds, mark a whole feed as read. In the backend the feeds get updated automatically. As I mentioned everything is stored in a small sqlite3 database, for 318 items it’s 600 k, not tho much if you ask me. I wonder how much feeds I can archive before I reach the limit of sqlite (thought that was 2 gigs,but not sure)

I’ll keep you posted (offcourse it’s gonna be opensourced, LGPL probably as I like it more than the GPL)

Topreader Desktop Development

The last couple of days I’ve been doing some hacking in Mono/Gtk#. A year ago I created a small patch for liferea, I wanted to create some more patches but the damn thing wouldn’t build on my ubuntu box. I asked the mailinglist but the reaction was that they hadn’t gotten a clue what could be the issue. Now it is a default installed ubuntu box, no special thingies, just apt-get install gnome-devel, that’s it.

So I had 2 options, find out why the hell the autotools was crashing or start writting my own RSS aggregator. Well stupid me chose the second option.

You might ask Why?
Well actually very simple I wanted to do some heavy dutty development to get back into the gtk libraries. As I want to join in on the tinymail development somewhere in the future …
Secondly it had been more than a month that I did any c# development. So I created a simple project in monodevelop, took the 2 defacto standard rss and atom dotnet libraries and started hacking.

Where am I now?
Well I have a TreeView on the left with my rss feeds, I have a TreeView with all the unread items and I display the unread Items in a WebControl (firefox embedded). The feeds that are in my TreeView get checked for updates every 3000 seconds. If you click an unread item it doesn’t get displayed anymore. So basic viewing capabilities are getting there. 🙂
view the screenshot

If I’m not mistakend liferea didn’t use a database, I instead decided to implement it using a sqlite3 database. All the folders,channels and items are stored in it. I have to say I really was amazed by the speed of it.

What’s next?
Well a lot has to be done but what will happen in a few days is the ability to add folders and feeds from the gui.

Long term goal?
Well very simple finally get the rss aggregator I want, all the aggregators I’ve tried all had some nice features but none of them combined the ones I want. The scratch your own itch thingy 🙂

The name?
What? TopReader?Wtf? Well since a few weeks I’m self employed and the company name is TopCoders so … 😀

Freenx font issue

As I mentioned earlier I’m experimenting with freenx, it works great but there was one issue my fonts weren’t great, the i and the l were sometimes missing what made it difficult for reading some sentences. I set it up on another machine and this didn’t have that phenomenon so I went on an investigation.

The machine I had the issue on was my laptop, I made some alterations in the fonts to give me a nicer user experience. It seems that because of these settings the font issue appeared. It’s one stupid setting and you don’t notice it when you use it on your pc but freenx seems to have problems with it.

In the font menu
font menu
You have the subpixel smoothing (for LCD) enabled you will notice this strange behaviour if you select best shapes it will render pixel perfect 🙂

Asterisk + Ekiga

Yesterday evening I finalized my home voip network. I had bought some credits from weepee. And now I can call using my trixbox and ekiga 🙂 This week my voip telephone should arrive, so then I’m fully setup.

Here’s in short what I did to get all this working

  • Purchase account
  • Download Trixbox vmware image
  • Download vmware server (with keys)
  • Boot the trixbox and configure network
  • Configure an extension for yourself to connect to
  • configure a trunk to connect to the account
  • configure an outgoing route for the provided trunk
  • configure Ekiga to connect to your trixbox

Easy, no?

Now when I want to call an outgoing number I prefix the telephone number with 66 and my trixbox knows, hey this should go to weepee and off it goes 🙂

Stay tuned for my little list of how to send faxes using the same account from weepee. It should work with gfax, but didn’t get there last night. Maybe after the weekend 🙂

gnome fonts

In my spare time I always use gnome, but during the day I have to use microsoft. (Client Company policy) One thing that was always bizarre was the fact that in my day job my computer is running at 1200×1024 and my laptop is running 1440×900. But I always had the feeling my windows maching could display more on a smaller screen. So I started looking around in my ubuntu menu’s and I found a configuration under System -> Preferences -> fonts (It was in dutch so I’m not sure if this is the actual translation but should be something like this)

I included a before and after screenshot, just like at the amount of information that is displayed on my screen now. I’m back a happy hacker 🙂

before the update

after the update

the font menu
font menu

I updated the font size and set it to 8 instead of 10, Appearantly if you change the dpi settings you can do something similar but I don’t know the exact difference between the 2 (I now what they mean but don’t know exactly what impact they have on the system.)

Ubuntu sound

This evening I downloaded the asterisk @ home vmware file. You just run it in your free vmware player (not opensource (yet)), point your nice firefox to the admin module and install the extra features, setup your extensions, conference rooms and off you go! Its much easier than setting it up on a xen debian, no editing in config files. You’ld prolly still want to know how his works but this asterisk @ home project has really made setting up a voip server easy!!

So I wanted to connect my ekiga to the voip but because I was already running skype I got problems with my sound. The friendly folks over at #ekiga on gimpnet point me to this wiki entry. Now I did create the .asoundrc file but when I moved it to another file everything still kept working. I rather suspect that you only have to modify the ekiga in and output, so setting them to default should have done the trick. I found out that I actually have to move the file otherwise the multisound doesn’t work!

I wanted to try the sounds together, so I wanted to fire up xmms, but hmm that’s so old school, right?! Well I’m pro-mono and I know Aaron is doing one hell of a job at the banshee project. As I understand it, it will be the first opensource (gnome)application that can ship with the mp3 codec build in. They didn’t use the one of the gpl version and therefor they could ship it. What really caught my eye was the speed at witch in loads the mp3z from my harddisk. When I clicked the same folder in rythmbox the app didn’t react, banshee show a nice progressbar and I could still move the window. I don’t know why, but it seems that the sound quality between xmms and banshee is also totally different. Banshee sounds much purer, don’t know if that souds normal, I’ve asked it on the channel but haven’t got any answers yet. The guys over at novell are realling going fast, they have produced some really amazing appz in a very short period of time (banshee,beagle,f-spot,… and diva is coming, WOOT!!) I’m a happy (mono) camper!!
The guys over at #mono doubted that this was actually possible, but hey I konw what I’m hearing.