OSGalaxy

published by noreply@blogger.com (Ariya Hidayat) on 2010-03-08 10:53:36 in the "x2" category
Ariya Hidayat

Right now I am in Manaus, in the middle of the Amazon, Brazil. Good weather, beautiful nature. Fresh tropical rain, feels just like home.

Yes, I am here for the (legendary) Bossa Conference '10 from the awesome INdT folks. I had delivered my talk, Redefining Mobile Graphics Stack this morning. I used the chance to preview (and got feedback) some of upcoming graphics example for X2 from Ofi Labs (what's X2? read the explanation), even straight from my N900, so just watch its git repository in the next few weeks. BTW, Radeon HD 3200 of my new toy and TV output of N900 worked out-the-box with the projector.

It is also nice to meet few INdT guys I knew, and get to know new folks as well. Since a few Trolls are also here, I also catch up (and share more jokes) with them. Gosh, feels like ages since I left Oslo.

This is my first visit to Brazil. Looks like it won't be the last time!



> Read More... | Digg This!

published by jono on 2010-03-08 05:37:50 in the "Community" category
At 10am PSt / 1pm EST / 8pm UTC/GMT on Monday I will be doing another live videocast, and this one is a really special one. That day, March 8th, is International Women’s Day and the Ubuntu Women team have been running a competition to gather a wonderful collection of stories about how women discovered [...]

> Read More... | Digg This!

published by brad hards on 2010-03-08 01:26:31 in the "Qt" category

I recently realised that much of the code I find interesting is about interoperability. That is, I'm interested in making sure we can get at data in a range of formats. Work on libtiff, poppler, okular generators and openchange are all examples of that. I also like Qt as a very nice cross-platform API. The convergence of those interests is having Qt-style libraries and tools that can get access to data, especially data in widely used proprietary formats (e.g. those produced by Microsoft products).

I've set up a gitorious repository (http://gitorious.org/microsoft-qt-interop/microsoft-qt-interop) for some of that stuff.

At the moment, it mainly has a Compound File Binary Format (aka "OLE") parser, written from the MS-CFB specification.

I plan to add an EMF ("Enhanced Metafile") format parser / renderer (already written and currently used in KOffice) at some point too - just need to find some more time.

There are a lot more things that could go in there (e.g. converting the various things in MS-DTYP into Qt equivalents), but I've only implemented those things I actually need.

Contributions are welcome - I'm pretty flexible on format. If you have some suggestions, please add them to the project wiki on gitorious.



> Read More... | Digg This!

published on 2010-03-06 22:28:00 in the "SysAdmin" category
Ben Rockwood

I've missed FAST 2010 yet again.... but, good news! The complete FAST 2010 Proceedings (PDF) are available for free. USENIX members can also view the presentation videos online.



> Read More... | Digg This!

published by jimgris on 2010-03-06 07:33:34 in the "OpenSolaris" category
Jim Grisanzio

Ales posted some updated application resource files to be localized for auth.opensolaris.org and repo.opensolaris.org. The auth application is already deployed and translated into 25 languages, so it will be great to expand on those community contributions. But there will be an entirely new version of the SCM Console deployed at repo.opensolaris.org later this month (the live version is not localized yet), so we are looking forward to releasing that application in as many languages as possible. Information on contributing to the website localization project.



> Read More... | Digg This!

published by jono on 2010-03-05 23:17:09 in the "Community" category
As many of you will be aware, this week Ubuntu Opportunistic Developer Week took part, and the week has been wonderful so far. There has been so much excitement and interest, and I have been tickled pink at just how many people have been telling me that the week has re-invigorated their interest or given [...]

> Read More... | Digg This!

published by lubos lunak on 2010-03-05 10:39:51 in the "Distributions" category

Those that were at either CampKDE or FOSDEM might already know, so for those this is a status update, for the rest: I've been working on a tool that makes it quite easy to create packages in the openSUSE build service, which despite the name can create binary packages also for other distributions than openSUSE. If you've ever gotten a mail asking for a binary package of your application or help with a compile problem, this could make your life easier.

For example, imagine Joe Developer, who has written his KFoo application, uploaded it to http://kde-apps.org and is now watching what happens. But, alas, instead of thanks and praise, what often happens is that the first comment is something like "I get this compile error, can you help?" or "Are there packages for Kubuntu?".

It may be quite easy for Joe to see that the compile error is caused by libbar-devel not being installed, but how is he to know what the package is called in other distributions? The same way, how is he to provide binary packages for distributions he does not use? And that's far from all things that can go wrong in such case - Joe may be running KDE workspace 4.4, but somebody may be still on 4.3, where the application would nicely compile and run, if only one #ifdef would be added to the right place. But will Joe really downgrade his installation just in order to fix that, and again each time he does a release of KFoo? And then maybe somebody else will try to compile it on openSUSE Factory, which already uses GCC 4.5, and will get compile errors because the latest compiler is more strict than previous versions and rejects invalid code that however compiles just fine on Joe's computer. And so on and on.

Joe, of course, is a smart guy (after all, he's written this great KFoo app that everybody wants to run if only they could compile it Smiling ). He can get the idea to use VirtualBox and install other distros he could care about, and test in all of them. The question is how long he'd be really willing to do that, since it certainly sounds like a lot of fun (and lot of disk space, and work). And that still means that all those potentional users would have to compile KFoo from source.

Maybe distributions would eventually include KFoo, but there's this tricky loop 'nobody uses it' -> 'why should a distro include it' -> 'no distro ships it' -> 'nobody uses it'. Maybe Joe gets lucky, maybe he does not.

Sometimes other people may provide binary packages for the distribution they use, so if somebody likes KFoo enough (and knows how to do it), Joe may find a comment on kde-apps.org pointing to this package and can add it to the list of packages to download. Except this may and also may not work, depending on how well those packagers keep up. Having a binary package of KFoo-0.3 when the latest source tarball is KFoo-1.5 is probably worse than no binary package at all.

So Joe can go back to the VirtualBox installations and try to package KFoo for all those distributions. But Joe is a developer, not a packager, so first of all he'd have to learn how to actually do that (e.g. creating a .deb is quite different from .rpm, and even .rpm packages for different distros are not created exactly the same way). Worse, he is a developer, and, honestly, developers just love packaging, especially for multiple distributions, riiiiiight?

Now here comes the openSUSE build service (OBS), which as already said is not only used for creating the openSUSE distribution, but also provides the ability to create repositories providing additional software, also for non-openSUSE distributions. That almost looks like the solution for all the above problems, doesn't it? No need to install the distributions and do the builds locally, the OBS itself will do the building. New packages would be available very soon after updating the sources in the OBS. And kde-apps.org has even direct OBS support, so packages can have direct download links there.

There's still the problem of actually having to know how to do the packaging, but that is exactly what kde-obs-generator should help with. KDE applications in general happen to be simple to build, and thus quite simple to package (in fact, compared to some other pieces of software, KDE apps happen to be remarkably simple to package Smiling ). So a lot of that could be automated. In the best case, creating a KDE package in the OBS can be now a couple of clicks in the web interface, few osc commands (osc is the CLI tool for OBS) and running kde-obs-generator in the directory with the source tarball. I've already tested the tool with some packagers and they even started using it for real, because even for experienced people it saves work.

I still consider the tool to be experimental and work in progress, but it's already pretty usable. Currently it can handle Plasma themes, KDM themes, KPlash themes, wallpapers and generic KDE/Qt CMake-based builds. It tries to automatically figure out all the needed build dependencies (which however means the list of mappings from cmake to package names for all supported distributions needs to be extended as necessary). Also kde-obs-generator itself is packaged using kde-obs-generator. The biggest thing I've built so far is the whole of kdeutils, that's of course not how something like kdeutils should be packaged, but that shows it can handle quite a lot.

So, in case you'd like your application to reach more of its posible users, you'd like to ease your testing, or you're just curious, the documentation is in the openSUSE wiki. I'd especially like to point out the tutorial, which is really step by step and includes also things like how to create an account for the OBS, so maybe even a monkey could now create a package (well, assuming it can read and write and is pretty bright for a monkey Eye-wink - this still cannot be as simple as just hitting Enter repeatedly). If there are any questions or a problem, see the feedback section (mail the opensuse-kde mailing list, or just ping me (llunak) in #opensuse-kde on Freenode).

PS: I'd appreciate if people using other distributions could edit the wiki page on how to actually install the binary packages in some easier way than going to http://download.opensuse.org, navigating to the right .rpm/.deb file and clicking on it. It's pretty easy with openSUSE so I assume there must be something simpler on other distributions too, but I can't find it.



> Read More... | Digg This!

published by jono on 2010-03-05 04:57:30 in the "Community" category
A user called Eric left a comment on my Ubuntu Opportunistic Developer Week and Python Snippets Day blog entry which I felt really needs highlighting: Thank you and the entire Canonical team for putting the Opportunistic Developer Week together! I?ve been stuck doing heavy, back end enterprise Java programming for the [...]

> Read More... | Digg This!

published by jimgris on 2010-03-04 22:01:35 in the "OpenSolaris" category
Jim Grisanzio

There will be an OpenSolaris Hot Topics Seminar on IPS at Sun's office in Yoga Friday night March 19th. See announcement details here in English and Japanese. Registration is required. The talks will be in Japanese only. So, if you are Japanese or speak Japanese and want to contribute to OpenSolaris, stop by and participate in the sessions. Here are directions to Sun in Yoga in English and Japanese with photos.



> Read More... | Digg This!

published by noreply@blogger.com (Ariya Hidayat) on 2010-03-04 21:38:19 in the "x2" category
Ariya Hidayat

There is a bunch of code out there (which can be copied and pasted) to grab the acceleration values from Nokia N900. Here I contribute one more, it's Qt-based and using the QtDBus module. The values in x, y, z will have the unit of G.

    QDBusConnection connection(QDBusConnection::systemBus());
    QDBusInterface interface("com.nokia.mce", "/com/nokia/icd", QString(), connection);
    QDBusPendingReply<QString, QString, QString, int, int, int> reply;
    reply = interface.asyncCall("get_device_orientation");
    reply.waitForFinished();
    x = static_cast<qreal>(reply.argumentAt<3>()) / 1000;
    y = static_cast<qreal>(reply.argumentAt<4>()) / 1000;
    z = static_cast<qreal>(reply.argumentAt<5>()) / 1000;

As usual, error checking is omitted (left as an exercise for the reader). Like Star Wars, there is also a reason I skip the first 3 QStrings. Debug it yourself to see what you would get. In addition, I found out that at most it would take 25 ms to grab all three values. It means, if you run your application at > 40 fps, then better put this function is a separate thread. Actually, consider that you don't want QDBusPendingReply::waitForFinished() to block your entire GUI, this is likely a good idea anyway.

For a full-version of an accelerometer tool, check out the X2 repository under the sub-directory sensor/accelview. Note that technically acceleration > 1 G is always possible, I clamp the values in this example to keep the UI simple.



> Read More... | Digg This!

published by jono on 2010-03-04 17:07:34 in the "Desktop" category
Ubuntu Opportunistic Developer Week day 4 kicks off and we have some incredible events today: 5pm UTC – Hot rodding your app for translations support – David Planella 6pm UTC – Learning through examples with Acire and Python-Snippets – Jono Bacon 7pm UTC – Write Beautiful Code (and Maintain it Beautifully) – rockstar 8pm UTC – Speed your development [...]

> Read More... | Digg This!

published on 2010-03-04 09:29:24 in the "optometry" category
Davyd Madeley I've been getting a lot of eye-strain headaches lately, which have really been ruining my productivity, so I figured that it was probably a good idea to go for an eye test.

There's always that bit when they're taking your history and the Optometrist asks "so what work do you do, Danielle?" and that knowing look you get when you reply "I'm a software engineer". Yeah, you're screwed.

Sometimes I'm surprised there's not some long running class-action against IBM for apparently inventing the device that has ruined the eyesight of two generations of men and women. Like the tobacco companies of the information technology sector. [Sarcasm.]

The end result is that my eyes definitely have gotten worse. I think the Optometrist said they were now at the point it would need to be marked on my driver's license, except VicRoads already pinged me for that when I moved to Victoria and needed my glasses to pass their eyetest. Oh, and thanks to a machine that looks like it's straight out of a Roger Moore-era Bond film, apparently my headaches have certainly been eye-strain related.

> Read More... | Digg This!

published by jono on 2010-03-03 19:35:44 in the "Community" category
Ubuntu has seen a tremendous amount of growth and change since it was conceived in 2004. Back then it was a small project with strong ambitions and a handful of developers passionate about delivering a world class Linux Operating System that can compete on every level with Microsoft and Apple. We adopted a style based [...]

> Read More... | Digg This!

published by bille on 2010-03-03 16:43:52 in the "Distributions" category

New KDE Four Live CDs with KDE 4.4.1, and much more are up.

They were built with openSUSE Build Service's KDE:Medias project and SUSE Studio and consist of openSUSE 11.2 plus all updates, KDE 4.4.1, upstream branding, Nepomuk enabled and Strigi disabled (because it's a Live CD).

They can be used as Live USB sticks too, see these instructions if you don't know how to dd a file to a device.

You can also install to disk and use it as a normal distribution using the installer on the desktop. Once installed, the first update will pull in all the packages that are normally on an openSUSE KDE install that do not fit on a single CD.



> Read More... | Digg This!

published by jono on 2010-03-03 15:00:24 in the "Community" category
Just a quick note to let you all know that Ubuntu Opportunistic Developer Week day 3 kicks off in an hour! Here is the order of events for today: 5pm UTC – Creating stunning interfaces with Cairo – Laszlo Pandy 6pm UTC – What’s new in Quickly 0.4 – Didier Roche 7pm UTC – Create games with PyGame – [...]

> Read More... | Digg This!