Friday, January 15, 2010

gbrainy in Lucid

Ubuntu Lucid Alpha 2 has just been released and a new addition is the mind puzzle game gbrainy.


You can read more about the latest release in a blog post by Jordi Mas (the author).

gbrainy is a great game and we want to find any problems before final release so please try it out! If you don't already have it installed then you can get it from the Ubuntu Software Centre (search for gbrainy).

If you find a problem the best thing to do is file a bug in GNOME. If you don't have an account on GNOME Bugzilla but do have a Launchpad account you can file a bug against Ubuntu. I am working on getting the "Report a Problem" menu entry into the help menu which will make this even easier!

Have fun!

Monday, December 21, 2009

Translate Simple Scan

One of the great features of Launchpad is how easy it is to translate applications. Make sure you have a Launchpad login and then you can translate Simple Scan from your browser!

Your translations need to be reviewed by the Ubuntu Translators team, if you are a member please review any translations!

Here is the UI for 0.7.6 in Romanian:

Tuesday, December 15, 2009

The demise of the function key


I recently upgrade to a new Dell Studio 15 and retired my old Inspiron. One thing I've noticed is the function keys are now secondary - these keys are now multimedia/system functions by default and you need to use the blue Fn key to activate the old F1-12 behaviour. Other Dell and Apple laptops (at least) seem to be doing the same thing.

Is this the end of the function key? The Litl keyboard got rid of them entirely. The key combination to use them on my laptop is sufficiently difficult that they might as well not exist for me.

So this leads me to the conclusion:
- I can never rely on function key shortcuts in any software I write.
- The existing window management shortcuts (e.g. alt-F4 to close window) don't work anymore. Now I understand when people complain how applications don't consistently bind the same key to close window (Ctrl+Q or Ctrl+W or something else or nothing?).
- At the Lucid UDS we discussed Compiz keybindings - often these were bound to function keys. I notice the macbook uses the old F3 key for "show all windows". I hope some standard could emerge for these functions on PC keyboards.

I can't say I'm going to miss them overly.

Friday, December 11, 2009

Introducing Simple Scan

One of the goals I want to achieve for Ubuntu 10.04 (Lucid Lynx) is to make scanning really easy. So I've been working on Simple Scan:



Please try it and report any problems you have.

To install add the PPA and install the simple-scan package or build from source.

The GUI is a mess

Yes. This is the first functional release. The GUI is being redesigned for 0.8. The 0.7 release should contain all the functionality required for 1.0.

Who is simple scan for?

This application is designed for the 95% of users who just want to connect their scanner and quickly have the image/document in an appropriate format.

How does this relate to GNOME scan?

Simple scan does not use the GNOME scan to get the scan data. This is because Ubuntu 10.04 is a Long Term Support release and bringing the whole GNOME scan stack into main is risky (it was previously proposed for 10.04 but was not found to be stable enough). There is an open bug to change to gnomescan when that is appropriate.

Wednesday, July 29, 2009

format not a string literal and no format arguments

Some time ago GCC started producing warnings like this:

warning: format not a string literal and no format arguments

What does this mean? GCC is saying that a function in printf style has a format string that it cannot check matches the format arguments. Here is some common code GLib code that causes this error:

GError *error = ...;
g_error(error->message);


Why is this a problem? As error->message cannot be checked it may contain a printf flag sequence, e.g. "Invalid data: 'g^y#%s'" (i.e. %s) that would cause run-time to try and access a non-existent argument. It could be worse and the format string could be user-input that is attempting to exploit your program.

So the solution is to always use a string literal for formatting like this:

g_error("%s", error->message);

Wednesday, July 15, 2009

Gran Canaria Desktop Summit 2009

This year I was able to attend the Gran Canaria Desktop Summit which was great as I hadn't been to a GNOME meetup before.

Here are my impressions:

  • The community is very alive and active! There are many companies and individuals working on improving GNOME.
  • The GNOME foundation is well organised and financially sound. Donations are a big part of this success. If you contribute to GNOME in any way then become member (it's easy to join!).
  • Really impressed with the quality of PiTiVi — it's now a very capable basic video editing program. One thing the PiTiVi developers want though is a media manager...
  • ...which may be getting closer. Banshee is splitting it's backend out into Banshee Core which will be a database of music, video and photos on your computer. Hopefully there will be some convergence between this and tracker, zeitgeist and akonadi to provide a seamless user experience to your media.
  • GNOME Shell is still young but is showing some interesting breaks from the traditional desktop.
  • Project Mallard is going to make the GNOME documentation much better.
  • Testing initiatives like Mago and LDTP should see an increase in the quality of software.


The future looks really good!

Friday, March 20, 2009

New Job

So, tomorrow I finish my current job and move onto new things on Monday. I'm joining Canonical as a GNOME Desktop Engineer to work alongside well-known GNOMEers like Martin Pitt and Sebastien Bacher. A few years ago I hadn't seriously considered I could spend my day job working open-source so am very excited to get stuck in. Watch this space...

Tuesday, July 29, 2008

I'm Going To Scale My Foot Up Your Ass

A workmate pointed me to an article on the Register by Ted Dziuba about threads (one of my personal hates) which made me laugh out loud. This guy can really poke some fun at the buzzwords that float around the blogosphere.

So if you're not afraid of some fairly strong languange then check out his abuse against threading, scalability and serialization.

Sunday, May 18, 2008

Gcalctool 5.23.2

The GCalctool team is proud to announce the second release in the
unstable GNOME series.

The following changes have been made from 5.23.1:

  • The cursor now behaves correctly when editing numbers with thousands separators (Bug #527669)

  • Structural changes in preperation for full unicode support (Bug #530532)

  • Updated translations: es (Jorge González), gl (Ignacio Casal
    Quinteiro), nb (Kjartan Maraas), nl (Tino Meinen), pt_BR (Leonardo Ferreira Fontenelle), sl (Matej Urbančič)


The release is available from:
http://ftp.gnome.org/pub/GNOME/sources/gcalctool/5.23/

Wednesday, May 14, 2008

glChess on Win32

After a bit of hacking glChess can run on Windows. The only thing that would take major work is the AIs as they are forked off the main process (fork() is not supported in Windows). But aside from that with a few minor changes and running directly from the source leads to this:



I was very impressed with the quality of the Windows packages for the dependencies. When I tried this about a year ago it didn't appear they were all supported. They are now:

Python
* python-2.5.2.msi

Setuptools
* setuptools-0.6c8.win32-py2.5.exe

GTK
* gtk-2.12.9-win32-2.exe

PyGTK
* gtk-2.12.9-win32-2.exe
* pygobject-2.14.1-1.win32-py2.5.exe
* pycairo-1.4.12-1.win32-py2.5.exe
* pygtk-2.12.1-2.win32-py2.5.exe

Python Imaging Library
* PIL-1.1.6.win32-py2.5.exe

PyOpenGL
* PyOpenGL-3.0.0b1.win32.exe

PyGtkGLExt
* pygtkglext-1.1.0.win32-py2.5.exe

Gnome Games
* gnome-games-2.23.1.tar.bz2

Friday, May 09, 2008

Hello Planet

Since my posts are now being amplified by Planet Gnome I should take this time to introduce myself... Hi, my name is Robert Ancell and I am an open-source developer currently active in Gnome Games (particularly the chess game which I started many years ago and was merged into Gnome in 2.18) and I am the maintainer of GCalctool having taken over from Rich Burridge for the 2.22 release (I swear he sneaked that over to me when I wasn't watching ;) ).

In my more pays-the-rent side of life I am a software engineer having come from an embedded background and now working for a large financial organisation in Sydney, Australia. I get into open-source code when I have some spare time which leads to fairly unpredictable progress on projects (actually I normally find I have time after a release so I get a release worth of duplicates before the change is released - now that's Murphey's law!).

My goals for Gnome currently is to get the code I'm working on simpler and more reliable. This goal will inevitable slip when I find some flashy feature to introduce :).

p.s. I don't actually play chess so fear ye all who left me writing the Gnome version!

Apport/Bug Buddy disabled in Ubuntu 8.04?

After upgrading to Ubuntu 8.04 it appears my automatic bug reporting is disabled. Due to the number of Ubuntu sourced reports coming in for Gnome Games it can't be disabled on everyone's system... So a bit of investigation showed it might be apport. Looking in /etc/init.d/apport showed this was disabled so I enabled that by editing /etc/default/apport and set enabled=1. After /etc/init.d/apport restart I could happily file away a nautilus bug.

But wait a minute... That report went to Launchpad, not Gnome Bugzilla! (Wouldn't it be a nice world in which Ubuntu got the flood of duplicates for the things we fix but they never update </gripe>). It appears apport is only enabled during development so I shouldn't have had to enable it. I figure it is bug-buddy that normally catches bugs and sends to Gnome; is anyone else getting this/know how to tell if the crash catcher is running?

Sunday, April 20, 2008

Gcalctool 5.23.1

The Gcalctool team is proud to annouce the release of Gcalctool 5.23.1.
This release contains a number of bugfixes:
* Fixes a number of compiler warnings (Bugs #526976, #526702, #527318)
* Fixes incorrect negation precedence (Bug #526094)
* Fixes issues with thousands seperators and radix in non-english
locales (Bug #527669)
* Fixes regression in constant and function menus (Bug #527545)
* Fixes problem where display is invisible after solving equation
(Bug #524602)

Get it from:
http://ftp.gnome.org/pub/GNOME/sources/gcalctool/5.23/

Tuesday, April 08, 2008

Gcalctool 5.22.1

I was flicking through the GNOME reminders for the 2.22.1 release not really thinking then I realised for Gcalctool that means me... So on the last day I ran through the release instructions (very well written). Got through all the steps except make distcheck isn't working and I didn't have the permissions to upload (got the outgoing maintainer Rich to do that step).

Anyway; let the announcing begin!

The Gcalctool team is proud to annouce the release of Gcalctool 5.22.1.
This release contains the following changes:

  • Fix for bug where the initial zero in the display was not cleared (bug #520525)

  • Support bracket and multiply keys on non-english keyboards (bugs
    #521620 and #526671)

  • The replacement of sprintf() and strcpy() with the safer snprintf()
    and strncpy() (bug #520769)

  • Remove a .svn directory from the release tarball (bug #524025)

  • Updated translations bg(Yavor Doganov), en_GB(Philip Withnall),
    et(Ivar Smolin), pl(GNOME PL), sk(Marcel Telka).

  • New maintainer; Robert Ancell takes the reins from Rich Burridge.


Get it from:
http://ftp.gnome.org/pub/GNOME/sources/gcalctool/5.22/

Thursday, January 24, 2008

Wednesday, January 23, 2008

Linux is just great

Got this email from my father the other day:

Just to let you know that I think Linux is just great. I plugged in the old Cannon Printer and the HP 3300C Scanjet and they both worked without a hitch.

I think I installed 5.04 on my fathers laptop a few years ago. I upgraded him to 7.10 the other month (he would have been able to do it himself but I had to flash the bios to get rid of a password and enable CD-ROM booting). The only additional application he needs to add is Gramps (Genealogy). From the perspective of someone wanting things to "just work" each release has been definitely been getting better.

Saturday, January 19, 2008

The Gnome Foundation

Well I'm now a member of the Gnome Foundation and I'm about to take over maintainership of gcalctool. Looks like my plans to become more involved in Gnome is coming along nicely...

Wednesday, December 19, 2007

Sharing media with Xbox 360

My flatmate has an Xbox 360 so I thought I should I should work out how to share my media from my Ubuntu laptop...

Turns out to be pretty simple.

  1. Install ushare. There is a ushare and libdlna package to install

  2. Edit the config file in /etc/ushare.conf. Set USHARE_ENABLE_XBOX, USHARE_DIR and USHARE_IFACE

  3. Restart with /etc/init.d/ushare restart



Notes:

You don't need to add any routes that they recommend (as long as your default route is OK and you're only using one network interface). Remember to set the appropriate interface (in my case my wireless is eth1) as the USHARE_IFACE option.

The default config file in 1.1a had invalid config item names. All config items should start with USHARE_. The Xbox one did not in my default config file.

Sunday, December 09, 2007

Ubuntu Python Upgrading

The other day I went to a SyPy. One interesting thing I learnt from a Canonical employee I was talking to there is what caused a much duplicated glChess bug. The symptoms of the bug are basically glChess crashes on startup while upgrading due to not being able to import the glchess module. Unfortunately as an Ubuntu upgrade can take some time users tend to be looking for some small task to amuse themselves; say, playing a game :)

I'm not 100% sure of all the details but essential the following occurs when python files are upgraded in Ubuntu:
At some point in the upgrade the site-packages Python directory (which contains all the python modules to import) is moved/symlinked out of the way. This is done to avoid binary incompatibilities between .pyc files between Python versions. The .pycs are rebuilt and then the directory returns.

What this means for application developers like me... Files installed into bin/ directories remain so a user can launch the application but the libraries have dissappeared so the application will fail with an ImportError exception.

I'm not convinced the upgrade needs to be this dramatic as .pyc files are only a load optimisation but this means that the ImportError should be caught at the top level and the user warned they have an invalid install (a good thing to report anyway) or they are upgrading and must wait for the upgrade to complete.

Monday, November 19, 2007

Confused about sound on Linux?

I know I am... With the arrival of PulseAudio to join OSS, ALSA, GStreamer, aRts, ESOUND, NAS, Phonon etc etc it's a bit hard to see any clarity. A linux.com article clears up things a bit.

I seems to me the "standard" way for Gnome will probably be:
- Applications decode/generate audio using GStreamer
- GStreamer sends the audio to PulseAudio which performs volume control and routing
- ALSA drivers play the routed audio onto physical cards

All three projects have some overlap and do not require any of the others to work. OSS was replaced by ALSA. ESOUND was replaced by PulseAudio.

KDE is also using Phonon as a fourth layer for API stability and to allow applications an easy way to play sounds.