Skip to main content

the avatar of Matthias Hopf

Fosdem talks

This year's Xorg DevRoom on Fosdem was a great success. We had a room with a capacity of approx. 150 people, and it was at least 60-80% full all the time.

I held two talks that were pretty crammed (actually, on the RandR 1.3 talk the room was completely full, and people weren't allowed to get in any more). The r600_demo talk was pretty technical, so of course it drew in a little less people.

If you hadn't had a chance to visit the talks, you can download the slides from my web page. And Phoronix will have videos of all talks.

a silhouette of a person's head and shoulders, used as a default avatar

Android Fun

On Friday I got myself a nice shiny new T-Mobile G1. Also known (incorrectly) as the GooglePhone. It's pretty darn good. Well, unless you expect the battery to last the day when you're playing on it constantly because it's your new toy. I imagine that once I'm using it 'normally' instead of intensively, it won't be quite so bad. But I'd certainly say at the moment that the battery life is atrocious. Oh well, I was expecting that anyway. Onwards and upwards. It's otherwise a fantastic little device, and has enormous potential.

And it's easy to programme. I used to try to programme my Nokia phone using Symbian. But the number of hoops I had to jump through in order to get anything to work totally put me off, and I never got futher than writing a programme which said 'Hello' on the screen. (I guess 'Hello World' wouldn't have been much more effort, but by that time I'd had enough.) But programming Android is very easy. At first it was a little awkward, because on my six year old laptop (yes, six years old) the emulator was very slow, and used nearly all my computer's memory. But now I have a real phone I can plug the USB cable in and run and debug my programmes directly on the device. And from Linux too, which is pretty good.

I'm currently working on a little programme which will log sensor values to a file. Then I'll be able to plot them on a Google map and see how fast I was travelling and how hard I was accelerating or cornering. Not because I drive 'that way', but because I've always thought it would be interesting to log stuff like that, and now I have a device which can do it. So far I've just written a test programme which shows the values of the various sensors and moves sliders around, but it's been incredibly easy to do.

And just in case there's anyone reading this who wonders how I got the debugging to work in openSUSE 11.1, here's how. (Bear in mind that this is additional info to that which is in the SDK - it doesn't really make sense on its own). I created a file called 50-android.rules in /etc/udev/rules.d containing this line:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666", SYMLINK+="android_adb"

Then I chmodded it to 755, and, as root, ran 'adb kill-server' followed by 'adb start-server'. Then I ran 'adb devices' to see if the device showed up in the list. If it didn't I killed and restarted the server again until it did. (I don't know if I need to, or if I could just wait.)

After that, I was able to run and debug programmes from Eclipse directly on the device. Although I had to make sure that the manifest file had debuggable set to true, otherwise it didn't work.

a silhouette of a person's head and shoulders, used as a default avatar

Registering your shiny new HP Mini-Note 2133

So you just got an HP Mini-Note 2133 pre-loaded with SLED 10?  Great, right?

Well…  It’s not been so great for a lot of people.  It seems that HP simply put this laptop together, half-assed a SLED load and sent it out into the wild.  I’ve had a ton of problems with it, the two major ones being that I couldn’t register the machine with the Novell Customer Center (not even with my site license) it ships with a non-working wireless card.

My wifi fix was simple, buy a new usb wifi dongle…  Registration, however, was a little easier to fix (after some wailing, gnashing of teeth, and chat in #opensuse-GNOME… thanks captiain_magnus!).

If you attempt to use YaST to register you copy of SLED on the 2133, you’ll be re-directed to a “special” Novell Customer Center login.  It’s a little different than the normal one in that it wants an HP license, not any other SLED license you may have.  The biggest difference, however, is that it’s broke.  It simply refreshes the page when you click submit and sends nothing to Novell.

They’re pretty sneaky about hiding your license number as well.  It happens to be on your restore DVD.  It’s located on the right hand side below the HP logo and the “2133” text.  It’s in a series something like NNNNNN-XNN, where N’s are numbers and X is some letter.

To get around the registration bug, have your license number handy and fire up your terminal.  Use ‘sudo’ or just ‘su to root and issue the following command:

suse_register -n -a serial-hp=NNNNNN-XNN

Where “NNNNNN-XNN” is your registration code.  Sit back and wait, it took almost 20 minutes for this command to finish for me and you’ll receive absolutely no indication that it’s functioning.  Once it’s done, you’ll simply be returned to your prompt.  Fire up YaST or your favorite terminal emulator and check your repositories.  You should now have a Novell repository added.

Enjoy!

a silhouette of a person's head and shoulders, used as a default avatar

Acronis 10 Personal for FREE

Acronis is giving away for download copies  of Acronis True Image 10 Personal Edition because a new version is out. That means you  get whole disk image backups from a friendly interface. You may use free utility to clone your hard drive but it may not have many features as compared to paid hard drive cloning utility like Acronis True Image which is a commercial disk cloning utility and costs around \$50 per license.  Download Acronis True Image 10 Personal Edition for Free with Serial Key:

  1. Go acronis.co.uk website  (http://www.acronis.co.uk/mag/ati10pe)
  2. Fill up the form by entering your name and email address
  3. You will receive an email, so, click on Confirmation Link in your inbox

Once you have confirmed your email, you will receive a serial number of Acronis True Image 10 Personal Edition in your inbox and you can download the software from your account on Acronis website.

Now, you have a good piece of software :)

a silhouette of a person's head and shoulders, used as a default avatar

Combining pdf files in Linux/Unix

Just to show a few examples how to combine pdf files. Let us assume we have three pdf  files and now we need to combine them:

  • gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=finalcombinedpdf.pdf -dBATCH 1.pdf 2.pdf 3.pdf
  • joinpdf myfinalFile.pdf file1.pdf file2.pdf file3.pdf
  • pdfmeld file1.pdf, file2.pdf, file3.pdf resultcombinedfile.pdf

Some of the other tools available for merging PDF files include pfdtk, Multivalent, and pdcat.

* Ghostscript - A popular tool for viewing Postscript and PDF documents
* joinPDF - A simple, yet effective, PDF merging tool
* pdfmeld - A powerful tool for combining PDF files

a silhouette of a person's head and shoulders, used as a default avatar

Hey Planet SUSE!!

Just wanna say Hi on Planet SUSE!!
This is my first post there, I'm a member of the GNOME Team trying to do the best i know, in my free time, to improve the GNOME Desktop.
I don't work for Novell i'm just having some fun contributing for GNOME.
Some things about me here.


a silhouette of a person's head and shoulders, used as a default avatar

Linking Buildservice packages with exact revisions

During the “cleanup” of the HP-Education repository, I used a very interesting feature of the openSUSE Build Service: linking against revisions.

Sometimes, you want to patch a package from another repository to build with special features enabled or disabled. The Build Service allows you to link the package from this other repository (and avoid wasting space by duplicating the sources) and add your patches.

Now think about a patch against a special version of a package – and you know that you don’t want a package with a newer version in your repository for a foreseeable time. But if you use the plain link command of the Build Service, the linked package in your repository will get updated if the original package in the original project is updated.

Luckily, the buildservice allows you to link against a “frozen” state of a package: it’s source-revision. People already knowing any revision control systems like Subversion also know that the revision of a source is increased each time, a new change is submitted. And that’s what we need now: link against a special revision of the package from the other repository and apply our patch against it. The webclient currently doesn’t support such special features, but with osc it’s very easy.

First, check the needed revision in the original project:

cd Education/MultiplicationStation
osc info


Project name: Education
Package name: MultiplicationStation
Path: /home/data/SVN/Education/MultiplicationStation
API URL: https://api.opensuse.org
Source URL: https://api.opensuse.org/source/Education/MultiplicationStation
srcmd5: 484c329659d613e3bbdd515a1a8d1099
Revision: 10
Link info: None

Now create a link with this (or any further) revision to your new project:

osc linkpac -r 10 Education MultiplicationStation isv:hp:education

..and in the resulting “_link” file in your new project, you’ll find:

<link project="Education" package="MultiplicationStation" rev="10">
<patches>
<!-- <apply name="patch" /> -->
<!-- <topadd>%define build_with_feature_x 1</topadd> -->
</patches>
</link>

So your linked package will always use the source revision 10 of the original project. Let’s start applying patches…

the avatar of Rupert Horstkötter

OSF Status Report #2

In January 2009, the openSUSE forums achieved the highest user activity ever since the launch in June 2008. The user activity measures the number of individual visits and is therefore an indicator for the vitality of the openSUSE forums.

Up to the 31st of January 2009, we achieved a membership of 21.322 (+2.550) members, 21.073 (+2.929) threads and 122.695 (+17.492) posts. The number in brackets shows the increase of the corresponding measurement compared to the last snapshot taken on the 31st of December 2008. Most users ever online still was 7.771 on the 2nd of December 2008.

The following diagram shows the monthly development of new user registrations, user activity, new threads and new posts since the launch in June 2008. We experienced 15.104 individual visits to the openSUSE forums in January 2009, which is an increase of 14% compared to December 2008 and is even 25% above average.

Kudos to our Top5 posters during January 2009

  • caf4926 – 575
  • ken_yap – 455
  • oldcpu – 439
  • Malcolm – 405
  • Axeia – 405

Thanks as usual for making the openSUSE forums a worthwhile place to be.

Any comments about the OSF status reports are much appreciated by the openSUSE forums team.

a silhouette of a person's head and shoulders, used as a default avatar
a silhouette of a person's head and shoulders, used as a default avatar

Thats how I roll: Installing Ruby on Rails on openSUSE

There’s been some discussion about Rails on openSUSE recently, so I thought I’d add to my Ruby articles with a Rails installation guide.

Getting started with Rails on openSUSE is a breeze.  In this particular article, I’ll quickly outline installation and startup of Rails on openSUSE 11.1.  You’ll need to install Ruby, ruby-sqlite, and ruby gems.  I’ve detailed these in my previous articles on ruby.

This is far easier than you might expect, so lets get started…

Use ruby gems to install Rails:

sudo gem install rails

That’s it!  After some work, Rails should be all installed and ready to go.  You can test it out by creating a new project:

rails foobar

And running the server script, then visit http://localhost:3000 in your web browser to verify that all is well:

cd foobar && ruby script/server

Note that this installation will use sqlite3 as it’s database by default if you’ve been following my other tutorials.  There’s information about getting Rails to work with MySQL (and other databases/platforms) over at the Rails Wiki:  http://wiki.rubyonrails.org/rails/pages/HowtosInstallation