Planet SUSE brought to you by the power of fish

[RSS 1.0] [RSS 2.0] [FOAF] [OPML] [Planet] [Powered by openSUSE]
[Other Languages] [Deutsch] [Espanol] [Polska] [Portugese]
March 09, 2010
Will Stephenson : Mar 09, 22:08 : Panel Drawers in KDE

1) Create a folder somewhere eg ~/Desktop/My Favourite Apps
2) Drag and drop the folder onto a panel
3) Choose "Folder View" from the popup that appears
4) Drag apps from the menu, documents from Dolphin and other stuff onto the new panel icon
5) Click it and enjoy your new menu!


Jan Weber : Mar 09, 21:26 : Up to the next event!

As this blog is more and more converting into a “meet me at …” blog, I want to keep this tradition.

On next weekend I will be present at Chemnitzer Linux-Tage running the openSUSE booth there, so if you don’t know what todo next weekend and you are in the Chemnitz area stop by and visit Chemnitzer Linux-Tage, of course stop by at the openSUSE booth :)

Of course there are also a number of interesting talks over there, so it is really worth a visit.


Lizards: Richard Bos : Mar 09, 21:08 : Build your own Google Earth rpm

The last days I’ve spent some time to investigate how to package Google Earth into an rpm. There was already a script called make-google-package available on the internet, but this one creates a debian package only. However, it was a good start to get me going to create a Google Earth (GE) rpm. Although I met quite some obstacles, which is not to uncommon in package building, I was still able to come up with a procedure a get GE packaged. The biggest problem I encountered were incorrect library dependencies, for which I opened issue 702 in the Google Earth issue tracker. Anyway to make a long story short: the rpm installs Google Earth system wide, corrects file permissions, for openSUSE_11.2 it takes care that the font is rendered correctly, the rpm takes care that Google Earth integrates nicely with the rest of the openSUSE system.

The procedure to build the rpm can be found in the openSUSE wiki. One word of caution about the procedure, you need to be an experienced linux user and you need to have access to the openSUSE Build Service (OBS) to be able to build the rpm. This is due to library dependency problem, which prevents it to build without modification to the base system.

If you like and you have the knowledge how to build an rpm with the tool ‘build’, it would be great if you can extend the howto with steps how to do this (build a GE rpm with ‘build’) to the before mentioned page. The same is valid for a procedure that uses VirtualBox to build the rpm.

Last but not last; a procedure or even a script, that uses ”’rpmbuild -ba”’ to build the rpm, would be very welcom as well.


Michal Hrusecky : Mar 09, 15:19 : MySQL Version Updates

 

Few weeks ago I was at FOSDEM.  It was really amazing experience. I meet many interesting people, learned quite some thing and I returned full of enthusiasm. Open Source events are really great.

But all the fun wasn't over even after the FOSDEM. I spent few more days in Bruxelles attending MySQL packagers meeting organized by SUN/Oracle. We spent quite some time talking to each other. We learned what MySQL people are doing and how. And they learned how do we deal with MySQL and what is troubling us. And many good things will come from this.

First but certainly not last of them is about to appear now. One very interesting thing we learned at meeting was MySQL release policy. What openSUSE and Ubuntu and maybe some others are doing is that after release date there is generaly no version updates allowed. We are only fixing serious bugs and security related issues. It takes quite some work. What we learned is that new releases in stable branch of MySQL are in fact maintanance updates. If you update from 5.1.43 to 5.1.44 you wouldn't get any new features. All you will get are bugfixes. And only bugfixes of serious or security related issues. Does it sound familiar? Yes it is the same thing we are doing! So I discussed it with our maintanance team. And we came to the conclusion that we want to give our users all serious fixes. Not only these few selected. And the best way to do it is to use maintanance updates provided by MySQL people themself. I'm not saying that I don't have enough confidence to play with MySQL sources, but I think that MySQL people can do it better face-wink.png

Yes, you are guessing right. What I'm trying to say is that we are going to update MySQL to the latest available version. This means 5.1.44 for openSUSE 11.2 and 5.0.90 for older openSUSE. We will start with 11.2 as version gap is smaller there and if everything will proceed smoothly, we will continue with 11.1 and 11.0. For 11.2 you can help by testing update. Currently 5.1.44 update is prepared for 11.2 in server: database: STABLE and I'm running some final tests. If you want, you can try it too (not recomended on production servers yet) and if you'll find any problems, please report them before it will hit official updates.

Remember, this is just the beginning. I've got some bigger plans regarding MySQL in 11.3 face-wink.png


openSUSE News : Mar 09, 13:38 : Reminder: German Wiki Team Meeting

The next openSUSE german Wiki Team meeting will take place tomorrow Wednesday March 09 at 18:00 GMT. As always, the meeting will be held in IRC on the #opensuse-wiki-de channel on Freenode.

Please add your topics to the meeting wiki page at:

http://de.opensuse.org/Wiki-Team/Meetings#Topics

We using for our Meeting the Meetbot. Please check http://wiki.debian.org/MeetBot for the commands.

Please add topics as soon as possible. Also, if you have questions for the meeting, but can’t attend (we know that the meeting times can’t work for everyone) please add them to the agenda as well.

For more on IRC meetings, see: http://en.opensuse.org/Meetings/About.

As always, we meet in #opensuse-newsletter on Freenode. Fire up your favorite IRC client and head over to #opensuse-wiki-de

Not familiar with IRC? A good overview can be found at irchelp.org. This site is not affiliated with openSUSE. For more information on Freenode, see http://freenode.net/.

Wondering what meeting times are? Check the openSUSE Meetings page. All project meetings and team meetings should be listed there.


Andrew Wafaa : Mar 09, 12:10 : Blogged about: Community Discussion - Part1
Andrew Wafaa
Community Discussion - Part1

I thought it would be a good idea to try and engage you – the fine openSUSE community – in discussion about "Us" the Community.  We seemed to have been spoiled by having a Community Manager, people kind of seemed to let him do the work or worse expected him to do so.  Now that we don't have that position any more we need to go back to basics and start rolling our sleeves up.  We've started but we have much to do.  As such this is the first in I'm not sure how many posts on the subject.
 
To save me having to repeat myself constantly I'll do a small disclaimer now:
THESE ARE MY OPINIONS AND THOUGHTS AND NOT GOSPEL! I AM NOT EMPLOYED BY NOVELL! I WANT TO GET A DISCUSSION GOING NOT A FLAME WAR!
 
In my opinion this topic is linked to my previous post about the "Planning For The Future".  The key here is to remain agile, able to flex, roll, bounce, jump and basically move with the times.  If we impose strict rigid requirements then things will start to crack and crumble.
 
So what do I see as key items needed to enable more community contributions, and get more non-Novellians involved in taking a more (pro)active role in the Project?

  • Tools - we need an enabler of sorts that lets people start off small and get to grips with how things move, from there they can grow out and up.
  • Transparency - ensuring that the decisions that are made are clear concise and understandable.  I'm ure not everyone will like the decisions but if they can see the reasons behind it then they can work with it and maybe come up with a better alternative.
  • Communicate - this is something that has improved a lot over time but still has some ways to go.  There are certain parties that still don't understand how to communicate with the wider community but they can and are an integral part of the ecosystem, we need to educate and help them get better.
  • Coach - no-one can get to a suitable proficiency in any subject whether it be academic/sporting/whatever without some form of tutelage.  To help lighten the work load on the employees that are trying to juggle between their enterprise workload and community workload we need to have them spend some time away from their corporate duties to help with some knowledge and skill sharing.
  • Teamwork - stop depending on individuals, whether they are Novellian or non-Novellian one person can't do it all in their supposed subject matter of expertise.
  • Educate - self market, not just to the outside world but internally too.  The openSUSE community is too modest for it's own good at times, we need to be more vocal about all the fantastic stuff we do.  We have to be clear and concise in the message we send out across the community.
  • Learn - look at our peers and take a leaf out of their book sometimes.  Believe it or not they do do things right sometimes ;-) I'm not saying copy, but try and take the bits that are needed and roll it into what you want.
  • Collaborate - work with our peers on universal matters.  This doesn't just mean cross-desktop, but also cross-project and cross-distro.
  • Listen - take a moment to hear what is being said.  Just taking that little bit of extra time can help isolate the noise from the message and help you understand what is being said/asked.  Remember that not everyone is a native speaker of your language so things might get lost/confused in translation, which is where that little bit of time will help.
  • Lead - you don't have to do things by committee.  If you see something that needs/can be done just do it!  We dither around far too much waiting for someone else to do it.  Do what you can and then communicate what you've done and what if anything is outstanding.


All the above link into one another almost inextricably, so not doing one will most likely have an detrimental effect on the rest.

We already have several items that are great examples of how the community can get on and do something great, a sample of those are:

  • openSUSE Education - this team started from very little and have created one of the best educational derivatives of any distro.  There is a good mix of people involved, and no-one is paid to do it, even on the Novell side.  They're a well knit team of contributors that are more than happy to help people wanting to help them. They saw a gap and filled it, by taking a leaf out of one of our peers' book and enhanced it.
  • Packman - the great resource for the common user.  They are one of the oldest community based projects relating to openSUSE or its earlier iterations that I remember.  They're approachable friendly and have a heck of a lot of knowledge.  They saw a need and did it.
  • LXDE - a new desktop environment that is only a couple of years old.  It has effectively been packaged from scratch by one person and is now included in Factory and the upcoming 11.3 release.  There was no committee discusion about doe we want it in or should we have it in, there was an opportunity and it was capitalised on.


Now I'd love to hear from people on what they think is missing or blocking them from doing any/all of the above, I'd also like to know what it is that people find awkward or difficult in joining in and being more active.  Don't get me wrong I appreciate one of the most precious and costly commodities is pretty much standard across the board - that of time.  I suffer from that problem as much as anyone, but it doesn't stop me from contributing, sometimes I just ave to slow down and trickle the contributions rather than pour them.  So let's start the conversation and get ideas and complaints out in the open.  If you don't say it how are people going to know about it?

Remember that this is an open dialogue.  Pot shots, defamation of character, flaming, and anything non-constructive will NOT be tolerated.  Let's keep it clean and helpful.  Listing things that our peers do better than us and also what they do worse than us would most likely open eyes.
 
How one gets to the future greatly depends on how one deals with the present and learns from the past.


LenZ Grimmer : Mar 09, 10:38 : Speaking at the O'Reilly MySQL Conference & Expo: "A look into a MySQL DBA's toolchest"


O'Reilly MySQL Conference & Expo 2010
I'm happy to announce that my talk "Making MySQL administration a breeze - a look into a MySQL DBA's toolchest" has been accepted for this year's edition of the MySQL Conference & Expo in Santa Clara, which will take place on April 12-15, 2010. The session is currently scheduled for Wednesday 14th, 10:50 in Ballroom E.

My plan is to provide an overview over the most popular utilities and applications that a MySQL DBA should be aware of to make his life easier. The focus will be on Linux/Unix applications available under opensource licenses that ease tasks related to user administration, setting up and administering replication setups, performing backups and security audits.

Of course I will cover the usual suspects (e.g. Maatkit), some of these are actually collections of different utilities by themselves. As it's impossible to go over each individual component in the given time frame, I will try to pick out the most popular/useful parts related to the scopes mentioned above. But I will also cover some lesser known gems that migh be worth taking a look at. What's your the most valued tool in your toolchest? I am still looking for more inspiration.

I look forward to being at the conference again and meeting with colleagues and friends in the MySQL community. Judging from the current schedule, it will be a very interesting mix of talks.

If you're interested in attending, you should consider registering soon! The early registration ends on March 15th. Until then, I encourage you to make use of this "Friend of Speaker" discount code (25% off): mys10fsp


openSUSE News : Mar 09, 06:47 : openSUSE Weekly News Team Meeting

The next openSUSE Weekly News meeting will take place Saturday March 13  at 14:30 UTC. As always, the meeting will be held in IRC on the #opensuse-newsletter channel on Freenode.

Please add your topics to the meeting wiki page at:

http://en.opensuse.org/OpenSUSE_Weekly_News/Meetings/Topics_current

We using for our Meeting the Meetbot. Please check http://wiki.debian.org/MeetBot for the commands.

Please add topics as soon as possible. Also, if you have questions for the meeting, but can’t attend (we know that the meeting times can’t work for everyone) please add them to the agenda as well.

For more on IRC meetings, see: http://en.opensuse.org/Meetings/About.

As always, we meet in #opensuse-newsletter on Freenode. Fire up your favorite IRC client and head over to #opensuse-newsletter.

Not familiar with IRC? A good overview can be found at irchelp.org. This site is not affiliated with openSUSE. For more information on Freenode, see http://freenode.net/.

Wondering what meeting times are? Check the openSUSE Meetings page. All project meetings and team meetings should be listed there.


March 08, 2010
Vincent Untz : Mar 08, 23:20 : Help GNOME be present at Idlelo, in Ghana!
Vincent Untz

A few weeks ago, the GNOME Foundation has been contacted by the organizers of the Idlelo conference in order to get a GNOME presence during the event. Quoting the website of the event:

IDLELO is one event for FOSS practitioners, developers and advocates as well as governments to showcase results, share experiences and challenges, review progress on the continent in diverse domains and chart a way forward for an African future grounded in true ownership of technology. IDLELO is therefore a premier international forum for the presentation of research results in Free and Open Source Software (FOSS) in Africa.

The event will occur in May, in Accra, Ghana.

There have been many discussions in the past about how to get more community involvement in Africa, and there's no magical solution. But a good first step is, for sure, to be present at events that are being organized on the african continent. We're already sending Luis de Bethencourt to FOSS Nigeria, and we want to be at Idlelo too.

If everything goes well, the amazing Fernando will go deliver training sessions before the conference itself; but we need one more person to man a booth during the conference. While this is not a hard requirement, we'd still like to have a GNOME Foundation member who feels empowered to talk in the name of the Foundation. If you're interested in representing GNOME at Idlelo, please get in touch with the board. I'm sure you'll enjoy it!


Pavel Machek : Mar 08, 21:09 : Commercial open source

...sponsored by Microsoft, tommorow at 18h. I decided to take a look, so there will be some fun ;-). [And I guess I can always run away when it gets too bad.]


Lluis Sanchez : Mar 08, 14:56 : Improving in the MonoDevelop user interface
In the past weeks (actually, months) I've been doing some changes in the MonoDevelop GUI to make it more functional and better looking. Here is the result:

Before


After


Changes in the Status Bar

Everything started with the idea of removing the status bar, in order to save space in the main window. The plan was to use something similar to Chrome's status popups, which are visible only when there is actual information to show to the user. However, after playing with the idea and thinking about how would it fit in MonoDevelop, I decided to try something else. Instead of removing the status bar, we would make a better use of the space it takes. So in the new GUI I merged the status bar and the bottom dock bar. The dock bar is the area where the title of pads in auto-hide mode are shown (for example, the Test Results pad in the above screenshots). When you hover over the title, the pad is shown in a popup window, with a nice sliding effect. The bottom dock bar is now shown next to the status bar, growing as more space is required.


I also added support for custom pad labels. So for example, the Errors List pad now shows the error and warning count, instead of just the "Errors List" label. In this way pads can show some status information while they are minimized.

Less intrusive output pads

Temporary output pads such as logs for Version Control or Find in Files operations are now shown in autohide mode by default. Until now, those pads were shown docked at the bottom, taking space from the text editor. I also removed the standalone Build Output pad. The build output is now available in the Errors List pad, by clicking on the Build Oputput button:


Visual improvements

A noticeable visual change is that the main window new has a darker background, with some subtle shading effects. The pads look more "physical" and better delimited. The pad toolbars are now integrated in the docking system, improving the overall visual consistency.


Configurable GUI compactness

One thing I learned while working in MonoDevelop is that it is hard to find the right balance in the use of padding between the gui components (specifically, between the components shown in the main window). Using more padding makes the GUI more visually pleasant, and the components are better delimited. On the other hand, padding may be a waste of space when working on small resolutions.

I added a configuration option for selecting the level of compactness of the GUI. There are five levels, from Very Compact to Very Spacious. So for example, the screenshots shown above are using the 'Spacious' level. In that level, there is some padding always visible between the pads, the window borders and the main menu. There is no such padding in 'Normal' mode.


Zoomable tree views

MonoDevelop has an option which allows choosing the font to use for the tree view pads such as the Solution pad or the Class pad. Those trees may be large for big projects, so users find it convenient to use a small font, which allows seeing more information at once.

To make font reduction easier and more handy, I added a Zoom capability to the tree pads. So to zoom, all you have to do is hold the Control key and move the mouse wheel up and down (the standard zoom shortcuts can also be used for this, including Control+0 to reset the zoom). This screenshot shows the solution and class pads with different levels of zoom:


Conclusion

The changes I described are part of an ongoing effort to make MonoDevelop easier to use. There is more to come. It would be great to have feedback on the changes we are doing, so that we can further fine tune the interface for the 2.4 release.

Pavol Rusnak : Mar 08, 14:03 : openSUSE Live!
Pavol Rusnak

A few days ago Michal blogged about a public virtual machine by our dear friend Jaromir Cervenka. Time flew by, Jaromir installed the latest Milestone 3 to the machine and the project is now available from the new and easy to remember domain (thanks darix for driving this). The new frontpage also contains the instructions in English how to access it via VNC and SSH client or directly inside the browser.

http://live.opensuse.org/

Enjoy this gift from our community member and don’t forget to report any problems you find with this new milestone in our bugzilla. :-)

PS: I had a talk with our SUSE Studio guys and they are up to something similar using their infrastructure. They have to solve some issues first, though. Feature for this is already filed in openFATE.


Lizards: Marcus Hüwe : Mar 08, 12:56 : new “osc config” command

Hi,

recently I implemented a “osc config” command to set or get a configuration option.

Syntax: osc config <section> <option> [<value>]
(<section> is either an apiurl (see sections in the configfile) or an apiurl alias or ‘general’)

Here are some small examples how to use it:
# get the current value
marcus@linux:~> osc config general build-root
‘general’: ‘build-root’ is set to ‘/var/tmp/build-root-%(repo)s-%(arch)s’
# set an option
marcus@linux:~> osc config https://api.opensuse.org aliases obs
‘https://api.opensuse.org’: ‘aliases’ is set to ‘obs’
# remove an option
marcus@linux:~> osc config obs aliases –delete
‘obs’: ‘aliases’ got removed
# remove/reset an option
marcus@linux:~> osc config general build-root –delete
‘general’: ‘build-root’ is set to ‘/var/tmp/build-root’

Feedback, comments etc. are always welcome :)


Jared Ottley : Mar 08, 08:16 : Search’d: How do I enable the Sharepoint Protocol

This is part of the Search’d series.  Topics are taken from Search Engine keyword searches.

This second post is coming a bit late, but it is finally here.  I’ve been getting ready for our World Wide Sales Kickoff. We will be kicking off our new fiscal year with great sessions for our worldwide group of partners. I’ll be presenting with two of my EMEA colleagues on Scaling Alfresco.  I’ve chosen to tackle scaling our WCM product.  It might even turn into some great information for a post or two here.

This weeks topic is one of the most popular searches that has lead to this blog: How do I enable the Sharepoint Protocol in Alfresco.  At the outset let me tell you: I’m not going to explain how to actually configure the Sharepoint Services in this post, rather I want to point you to resource that take you through all of the steps of enabling the Sharepoint Protocol in Alfresco and how to use it.  These are often over looked resources, but resources that can be really useful.

The first resource is the Installing and Configuring Alfresco Community Edition guide found on the Alfresco Community Download page (or on the Alfresco Content Community Site [registration required] in the Document Library under Documentation in the Installation and Configuration folder for your installed release of Alfresco Community.  This guide covers the basics of setting up and runningg Alfresco Community (It is also a preview of the documentation available as part of an Alfresco Enterprise Subscription in the Alfresco Network site [Alfresco Enterprise Subscription Required].)  You’ll find instructions for setting up and configuring Alfresco Sharepoint Services (on the server side) starting on the bottom of page 26.

The second resource covers using the Sharepoint Extension in Microsoft Office: Managing Alfresco Content from within MS Office Community Edition. (Requires Registration).  This is also found in the Alfresco Content Community Site [registration required] in the Document Library but in the Tutorials folder.

These documents as well as others for using Share, Web Content Management, Document Management and Records Management can be found in the Content Community Site. You’ll also find presentations from past Community Conferences, Case Studies, White Papers and Webinars.


Vincent Untz : Mar 08, 02:15 : Tidbits from the Usability Hackfest
Vincent Untz

If you're still wondering what happened during the Usability hackfest, then you clearly missed a lot of blog posts. The good news is that you can catch up with all the links being collected on the Hackfests, or you can cheat and go read Máirín's coverage, since she did an amazing job writing about what was being discussed.

I was there only for the last two days; the original plan was to attend a bit more of the event, but the travel from France to London took an unexpected 12 hours. I still had some good and useful time there, that I mostly used to get a good overview of what people are working on, and how this can be integrated in a GNOME roadmap. Here are some highlights:

Many thanks to Canonical and Google for sponsoring this hackfest, and also thanks to Klaas and Novell for letting me go on a short notice :-)

I have high hopes that putting all those designers and usability people in one room together during one week will also make the GNOME Usability team move forward again. Usability is an essential part of our DNA, but we've been slowing down our efforts there, instead of accelerating as we should have done. This hackfest should put us back on track!


March 07, 2010
Pavel Machek : Mar 07, 19:50 : Riding for years, and still does not know how to stop

Yep, that's me; and yes, I know what the cue to slow down the horse is -- lean back and use both reins. And yes, you can stop the horse by doing "slow down" three times...

But that's not a way to stop the horse. If you are going full gallop and need to stop, you want full stop now cue, not three slow down cues.

Now, I knew some horses that were actually very good at stopping, and yes, there's huge difference between stop now and slow down to full stop. Cue those horses were trained to was "whoa"...

So I tried teaching that cue to young stallion here, and it does not really work. Or rather... it works a bit too well.

I know many horses where "whoa" means slow down so I sometimes utter it when I want to just slow down... and then the horse comes abrubtly to full stop. What is worse, many other words trigger same response -- I guess they are too similar for stallion's ears.

There must be some reasonable cue, that is impossible to mistake for the horse, and unlikely to be given accidentally by the rider... unintended full stop is almost "and now climb back to the horse" event... but what is it? For now I know "whoa" is neither :-(.

(And for the record, I probably could teach horse to do full stop on something completely crazy -- like hand touching his tail -- he's learning almost too quick.)


Sascha Manns : Mar 07, 18:40 : Geeko wants you: Weekly News Team searches for new Translators
Sascha Manns

The openSUSE Weekly News are now published in Issue Number 113. Actual we have some translations into native Languages like: hungarian, japanese and russian. The translation into the german Language is work in progress, and we hope to release a german issue soon. At the Moment we’re searching for Translators into the following Languages:

* Spanish
* Portuguese
* Indonesian
* Polish
* Italian
* Chinese
* Taiwanese
* Swedish and
* French.

These Languages are this, who we had translated into the past. If you like to translate in one of these Languages, or would like to translate into an other Language just mail to: saigkill@opensuse.org. Keep in mind, “Geeko wants you”.



Cornelius Schumacher : Mar 07, 12:31 : Are you up for a new challenge in the SUSE Studio team?
Last time I blogged about open positions in the SUSE Studio team we were just preparing the first public alpha of SUSE Studio. We were excited about our application, but we didn't know what users would say. Now we are running SUSE Studio Online with more than 50.000 registered users. We have released an onsite version as part of the SUSE Appliance Toolkit, have won awards, and we get a lot of fantastic feedback. We have achieved a lot. To sustain this growth and success we are looking for some smart people to join our team. This could be you.

We love to learn, we like challenges, and we are passionate about great user experience. We are a tightly knit team of a diverse set of people spanning the whole range of development, from user interface design over Rails and system programming to QA. We have people who just started their career and others who have decades of experience in the business. Technology, innovation, open source, team work, and meeting the goals of our users are important to us.

If you are interested, look at the job descriptions. We are looking for user interface designers, web developers, Rails experts, and all-rounders with a hang for backend programming. You will learn, you will grow, you will be working on exciting software. Apply now.

Luc Verhaegen : Mar 07, 01:01 : Queens Of The Stone Age - Queens Of The Stone Age - Regular John
@IanRomanick, with his post on a little cultural problem that VIA encountered.

I actually had some issues when unichrome.sf.net was first created in Q2 2004. Some commit emails would get caught by the sf.net spamfilter. There was an interesting struct in this headerfile.

A quick grep of VIAs current codedrops does not show much of an improvement. The same structs name is now preceded with "NEW".
March 06, 2010
Sascha Manns : Mar 06, 16:35 : openSUSE Weekly News, Issue 113 is out!
Sascha Manns

news Issue #113 of openSUSE Weekly News is now out!

For a list of available translations see this page:

http://en.opensuse.org/OpenSUSE_Weekly_News/113/Translations.



openSUSE News : Mar 06, 16:32 : openSUSE Weekly News, Issue 113 is out!

news Issue #113 of openSUSE Weekly News is now out!

For a list of available translations see this page:

http://en.opensuse.org/OpenSUSE_Weekly_News/113/Translations.


LenZ Grimmer : Mar 06, 11:59 : How to get your product bundled with Linux distributions

I recently received a question from Robin Schumacher at Calpont, the makers of the InfiniDB analytics database engine for MySQL: "How would you recommend we try and get bundled in with the various Linux distros?"

Since this question has come up several times before, I thought it might make sense to blog about my take on this.

First of all, please note that there is a difference between "being part of the core distribution" and "being available from a distributor's package repository". The latter one is relatively easy, the former can be hard, as you need to convince the distributor that your application is worth devoting engineering resources to maintain and support your application as part of their product. It's also a space issue – distributions need to make sure that the core packages still fit on the installation media (e.g. CD-ROMs or a DVD). Therefore they take a very close look at each package and if it's really needed to be part of the installation medium or if it's fine to provide it for download from a package repository instead.

Distributors prefer to keep their core product small and restricted to the "basic OS building blocks". While MySQL might still be considered to be a part of this, this probably does not apply to the various plugins and extensions that are available for it. Therefore the best approach is to invest some engineering time and start doing the packaging yourself, either by hiring an engineer capable of creating and maintaining the packages, or by finding someone in your community who has the required experiences and is willing to do it.

While it's of course possible to set up and maintain your own build and package hosting infrastructure for that, I recommend to make use of the existing services provided by the distributors.

The top tier distributors all provide means of offloading the maintenance of "non-core" packages to their community, offering various options for packages to be made available. For example, Novell/openSUSE provide the free "Build Service", which is capable of building packages for other distributions as well (e.g. Fedora, Mandriva, Debian/Ubuntu, etc.). In addition to automating the builds, the Build Service also takes care of the distribution via their download mirror network and ensures that your application can be found via their package search interface.

Red Hat/Fedora provide something similar, named "Koji" – but it's "Fedora only". Here's a HOWTO that outlines the process of becoming a Fedora package maintainer.

Ubuntu/Canonical have "Personal Package Archives (PPAs) – if your project is hosted on Launchpad already, that might be something to look into for providing Debian/Ubuntu packages. Alternatively you could join the Debian project and start building and maintaining your package there. They maintain a list of "Work-Needing and Prospective Packages", a description of the process on how to become a new maintainer is outlined here.

If you'd like to target Solaris/OpenSolaris as well, there is the OpenSolaris Source Juicer – a web service which allows OpenSolaris community developers to build packages (using RPM spec files) and publish them for review, so they will be included in an official package repository. The Software Porters Community Group coordinates, advocates, encourages and helps with the porting of Software from multiple Platforms to the OpenSolaris Platform.


March 05, 2010
Joe Brockmeier : Mar 05, 23:33 : Finding sources for FLOSS projects: Make it easy!

One of the more difficult things for reporters working in the tech industry, especially those who aren't really familiar with a beat, is finding contacts for free software projects.

Increasingly, projects like GNOME or openSUSE are in mainstream news, but finding someone to "speak for" those projects can be a challenge. This is doubly true when a site has no contact information for project "leadership" or stale information for the project.

As an example, I just pinged all the addresses on the GNOME Press Resources page -- and they're in a pitiful state right now. At an outside guess, I'd say that the page is at least three years old and probably older than that, and the bounces I just received reflect that. Luckily, I'm not on deadline or anything -- I'm just trying to get information and clean the page so that we have good contacts for any press who are researching stories about GNOME.

A reporter on deadline might not get a great impression about the project if they pinged some of these contacts because they'd either get a "recipient failed" note from everyone's favorite contact "Mail Delivery Subsystem," or they'd get (even worse) a "subscription required to post to this list" in some cases.

This is not the way to receive glowing press coverage. Hell, it's not necessarily the way to receive any press coverage at all.

If you're participating in a FLOSS project, make sure there's a prominent contact page where reporters, bloggers, etc., can find someone to talk to and get information from on very short notice. Some reporters are savvy and persistent enough to  hunt developers down in IRC if needed or stalk mailing lists to find the contact info -- but most won't, and the best you'll be able to hope for is "project could not be reached by deadline."

This also highlights the importance of attracting non-developer contributors to projects. Maintaining this sort of information and putting together PR plans is something that a few developers are good at and enjoy, but not very many -- and it's rarely a good use of their time in any event.

Digg This  Reddit This  Stumble Now!  Buzz This  Vote on DZone  Share on Facebook  Bookmark this on Delicious  Kick It on DotNetKicks.com  Shout it  Share on LinkedIn  Bookmark this on Technorati  Post on Twitter  Google Buzz (aka. Google Reader)  

Lizards: Richard Bos : Mar 05, 21:15 : Additional packages that are needed to get skype working on openSUSE_11.2 x86_64

When you want to use skype on a 64bit openSUSE 11.x system, there are some additional rpms needed, to get skype going. The following packages are needed:

Those packages will pull in others, but those 3 will take care that all packages are available to run skype. The package can be installed using zypper:
zypper install xorg-x11-libXv-32bit libqt4-32bit libqt4-x11-32bit

Have fun!


Federico Mena-Quintero : Mar 05, 19:08 : Fri 2010/Mar/05
Federico Mena-Quintero
Lubos Lunak : Mar 05, 10:39 : Package KDE applications easily for multiple distributions

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.


Sascha Manns : Mar 05, 07:26 : openSUSE Weekly News Team sucht Mitarbeiter für Podcast
Sascha Manns

Seit der Ausgabe 65 im März 2009 stellt das Weekly News Team die Weekly News als Podcast (auf Radiotux) zur Verfügung. Das Team sucht nun jemanden, der dieses Subprojekt übernimmt. Der Interessent sollte sich mit Audacity, WordPress und FTP auskennen. Wer Interesse hat, kann sich gerne an: saigkill@opensuse.org wenden.



March 04, 2010
Fred Blaise : Mar 04, 18:07 : HOWTO: Bonita and LDAP authentication
Fred Blaise

This how-to is written in the hope that it will help souls in achieving basic LDAP login with Bonita User Experience, using EJB3. This how-to is written based on the thread at http://www.bonitasoft.org/forum/viewtopic.php?id=2397.

It is working for me, but it may not for you. Please post your questions on the Bonita forums, many eyes will look at your issue and try to help you.

Here is a dirty PDF for those who wants. However, if you do use this howto, always refer to the online version for updates and up-to-date content.
Bonita LDAP howto

It may not render well in this blog, so I’d advise in pasting the code in your favorite editor to see clearly.

My environment at this time is:

To give a reference, here is how my base directory look like. I will refer to it when editing some files.

Under /opt:


lrwxrwxrwx  1 root root    9 Feb 23 11:39 BOS -> BOS-5.0.1
drwxr-xr-x  5 root root 4096 Feb 15 19:33 BOS-5.0.1
lrwxrwxrwx  1 root root   11 Feb 23 13:58 java-jdk-6 -> jdk1.6.0_18
lrwxrwxrwx  1 root root   14 Feb 23 16:19 jboss -> jboss-5.1.0.GA
drwxr-xr-x  9 root root 4096 Mar  4 09:57 jboss-5.1.0.GA
drwxr-xr-x 10 root root 4096 Feb 23 13:57 jdk1.6.0_18

We will use the org.jboss.security.auth.spi.LdapExtLoginModule, as it will allow us to bind to the ActiveDirectory server. If you can allow for anonymous LDAP requests, then you may also try the Sun LDAPLoginModule.

jBoss configuration and EAR generation

JAVA_OPTS

In the run.sh file of jboss /opt/jboss/bin/run.sh) , edit it to configure your JAVA_OPTS:

JAVA_OPTS="-Dorg.ow2.bonita.api-type=EJB3 -server -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m"

Alongside specifying the EJB3 for Bonita, I am setting reasonable settings for jBoss java memory, and possible avoid Permgen out of memory errors.

Extra: For quick and unsecure monitoring using jconsole, also add the following.

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=10001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

bonita-environment.xml

… under the /opt/BOS/runtime/conf directory directly. It will be used when building the EAR file.

So, we can already specify the implementation of the AuthenticationService interface, which we will call SimpleLdapAuth.
Edit the file /opt/BOS/runtime/bonita-environment.xml. It should look like the following:

      <!-- Description: Implementation of the authentication service. -->

      <!-- <authentication-service name='authentication-service' class='org.ow2.bonita.services.impl.DbAuthentication'> -->

      <authentication-service name='authentication-service' class='com.domain.bonita.auth.SimpleLdapAuth'>

        <arg><string value='bonita-session:core' /></arg>

      </authentication-service>

Of course, your package path will vary.
A sample, simple, implementation of the interface follows later on.

Generating bonita.ear

We now need to go ahead and generate our bonita.ear file, which will then be used by jBoss.

cd/opt/BOS/runtime

Now, build your ejb3.

ant ear.ejb3

You should get something like this:

[root@bonita-test runtime]# ant ear.ejb3

Buildfile: build.xml

ear.genBonitaConfJar:

ear.ejb3:

ear:

    [mkdir] Created dir: /opt/BOS-5.0.1/runtime/ear/tmp

    [unjar] Expanding: /opt/BOS-5.0.1/runtime/lib/server/bonita-server-5.0.1.jar into /opt/BOS-5.0.1/runtime/ear/tmp

     [copy] Copying 1 file to /opt/BOS-5.0.1/runtime/ear/tmp/META-INF

ear.copyJeeDD:

     [copy] Copying 1 file to /opt/BOS-5.0.1/runtime/ear/tmp/META-INF

      [jar] Building jar: /opt/BOS-5.0.1/runtime/ear/ejb3/bonita-ejbjar.jar

   [delete] Deleting directory /opt/BOS-5.0.1/runtime/ear/tmp

      [ear] Building ear: /opt/BOS-5.0.1/runtime/ear/ejb3/bonita.ear

     [echo] EJB3 ear has been generated in ear/ejb3 directory.

     [echo] You can use it in the easybeans container, jonas 5 and jboss 5 application server.

BUILD SUCCESSFUL

Total time: 4 seconds

Now, copy the bonita.ear file into your jboss deploy directory.

cp /opt/BOS-5.0.1/runtime/ear/ejb3/bonita.ear
 /opt/jboss/server/default/deploy/

login-config.xml

Add the 2 stanzas to the end of your login-config.xml, before the end tag. It is valid for an AD server (ie: (sAMAccountName={0}) is typically AD).)


<application-policy name="BonitaAuth">

  <authentication>

        <login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" 

        flag="required">

        <module-option name="java.naming.provider.url">ldap://your_ldap_server:389</module-option>

        <module-option name="java.naming.security.authentication">simple</module-option>

        <module-option name="baseCtxDN">DC=domain,DC=com</module-option>

        <module-option name="bindDN">DOMAIN\ldapbrowser</module-option>

        <module-option name="bindCredential"><![CDATA[Yourpasswd]]></module-option>

        <module-option name="baseFilter">(sAMAccountName={0})</module-option>

        <module-option name="searchScope">SUBTREE_SCOPE</module-option>

        <module-option name="allowEmptyPasswords">false</module-option>

        <module-option name="debug">true</module-option>

        <module-option name="rolesCtxDN">DC=domain,DC=com</module-option>

        <module-option name="roleFilter">(sAMAccountName={0})</module-option>

        <module-option name="roleAttributeID">memberOf</module-option>

        <module-option name="roleAttributeIsDN">true</module-option>

        <module-option name="roleNameAttributeID">cn</module-option>

        <module-option name="java.naming.referral">follow</module-option>

        </login-module>

    </authentication>

  </application-policy>

  <application-policy name="BonitaStore">

    <authentication>

       <login-module code="org.ow2.bonita.identity.auth.BonitaRemoteLoginModule" flag="required"/>

       <login-module code="org.jboss.security.ClientLoginModule" flag="required">

         <module-option name="password-stacking">useFirstPass</module-option>

      </login-module>

    </authentication>

  </application-policy>

Your jaas-standard.cfg will then not be used anymore. You can comment everything out.

Implementation of AuthentionService interface

Java Code

Here you need to develop a little piece of java. Here is an example that will get you through for starters.

package com.domain.bonita.auth;

/**
 * @author chapeaurouge
 * @date 04/03/2010
 * @version 0.1
 */

import org.ow2.bonita.facade.exception.UserNotFoundException;
import org.ow2.bonita.services.AuthenticationService;

public class SimpleLdapAuth implements AuthenticationService {

	private String persistenceServiceName;

	public SimpleLdapAuth(String persistenceServiceName) {
		super();
		this.persistenceServiceName = persistenceServiceName;
	}

	/**
	 * Determines if the user should have amdin accesses to the bonita interface
	 * Let's say that Domain Admins have that privilege
	 */
	public boolean isUserAdmin(String username) throws UserNotFoundException {
		if (username.equals("MyAdmin")) {
			return true;
		} else {
			return false;
		}
	}

	/**
	 * @return always true. If the LDAP request failed before, it doesn't matter (?)
	 * Necessary to implement interface
	 */
	public boolean checkUserCredentials(String username, String password) {
		return true;
	}
}

Compiling

Compile the java code into a .class. Make sure the bonita jars are in your classpath.

javac -cp ~/BOS-5.0.1/runtime/lib/server/bonita* SimpleLdapAuth.java

You should then have your .class file. If you did it locally, you can then upload it to your server.

Deploying

A manual way would be to do the following.
Go to your /opt/jboss/server/default/lib, create the directory hierarchy for your package name. So with our example, you could type

mkdir -p com/domain/bonita/auth

Then copy, your .class in it. Now, still in your jboss lib directory, create a .jar file, as:

jar -cvf domainLdapAuth.jar com/domain/bonita/auth/SimpleLdapAuth.class

Your jar will now be deployed on the next server startup.

Getting more verbose output

Edit /opt/jboss/server/default/conf/jboss-log4j.xml, and uncomment the following block:


 <category name="org.jboss.security">

 <priority value="TRACE"/>

 <appender-ref ref="CONSOLE.SECURITY"/>

 </category>

Conclusion

This should be it. I may have forgotten some things, or overlooked some steps. Hopefully, this was of some help for some of you.
You can now (re)start your jBoss server for the changes to take effect. Don’t forget to tail -f server.log to see how it looks like.
Your feedback and comments are welcome.
Thanks to rlg and abirembaut for their help in the forums.


Roger Whittaker : Mar 04, 08:15 : Michael Foot
Roger Whittaker

Michael Foot has died.

Although he was (not entirely through his own fault) a failure as leader of the Labour Party, and never became Prime Minister, Michael Foot was a politician whose qualities of honesty, decency, humanity, intelligence and learning simply do not exist in politics today.

Obituaries: Guardian, Independent, Times and Telegraph.


Miguel de Icaza : Mar 04, 00:01 : Big Day in MonoLand
Miguel de Icaza

Mark Probst found and squashed one of the hardest bugs in our upcoming garbage collector. Pablo from Codice has been testing the new GC under stress and posted a nice message to the list.

Plenty of great feedback on deprecating old libraries and tools from Mono. We will have a lighter distribution. As things are coming together so fast and we are now well into the features we had planned for 3.0, we might end up just calling the next version 3.0 instead o 2.8.

Andreia got Moonlight running on Chrome.


March 03, 2010
Lizards: Stephan Kulow : Mar 03, 20:12 : http://software.opensuse.org/stage
Stephan Kulow

Part of our “umbrella” milestone, Pavol and Robert ported software.opensuse.org to the Bento theme. To get more feedback for it, I now deployed it as http://software.opensuse.org/stage.

Please note two things:

On top of that of course: the Bento theme is not yet finished – it’s only a stage deployment to get feedback.

Have fun!


Gabriel Burt : Mar 03, 18:25 : Banshee Metrics
Gabriel Burt Last Wednesday we released Banshee 1.5.4, which included an opt-in feature to submit anonymous usage data. Over 500 people have already opted-in!

Interesting Stats
They are primarily getting Banshee through the Ubuntu PPA, with a moderate number building from source or using other distributions — including 20 OS X users.
383Ubuntu
33source-tarball
27openSUSE/SLED
22git-checkout
20OS X
16Gentoo

They are using Banshee in 36 locales, across 30 languages. Keep in mind the Preference to opt-in is (so far) only translated into 9 languages.
223en-US
51en-GB
41de-DE
35unknown
21ru-RU
18it-IT
14fr-FR
12en-CA
11en-AU
11es-ES
9pl-PL
8pt-BR
6es-CL
5es-MX
5nl-NL
5sv-SE
About half have the Banshee window maximized, enable ReplayGain support, show the bottom-left cover art, and show the context pane.

I'm still working on better ways to analyze the data and extract actionable information. I plan to have distribution graphs and such soon. In the meantime, I've posted some more stats here. As we get more submissions, add more data points, and get better analysis, we will be able to identify options nobody uses and optimize Banshee for real-world users.

Mario Carrion : Mar 03, 18:02 : Accessibility in Moonlight


An important milestone happened on Friday, February 26: Mono Accessibility 2.0 was released. It’s important because all applications running on Moonlight 2.0, or greater, will be accessible from now on.

Accessibility?

If you are not familiar with this word, Accessibility, it might mean nothing to you and, probably, you will need a more formal definition:

Accessibility is a general term used to describe the degree to which a product, device, service, or environment is accessible by as many people as possible. Accessibility can be viewed as the ability to access and possible benefit of some system or entity. Accessibility is often used to focus on people with disabilities and their right of access to entities, often through use of assistive technology.” Wikipedia

You have interacted with Accessibility in real life, even if this is your first time reading this word. Have you seen those tiny bumps on the floor when taking the subway? Wheelchairs ramps or the dots on elevator buttons? Have you heard that noise, like beeping, when crossing the street? Have you noticed the audio jack in some ATMs?

These are real life examples of Accessibility. Accessibility in software is similar, it’s basically the degree of interaction between your software and people with temporal or permanent disabilities. People who can only use the keyboard or the mouse, people with low vision, blind people or people with hearing disabilities. All of them will be able to interact and use your application only if it’s accessible. That’s why Accessibility is important.

Accessibility and Moonlight

Microsoft Silverlight is web application framework for building media experiences and rich interactive applications for the Web. Moonlight is an open source implementation of Silverlight. Besides providing a rich experience for the web, applications running on Moonlight are now available for people with disabilities, allowing them to interact and use these applications. The interaction between these new applications and existent Accessibility Technologies (ATs), such as screen readers, is the same. All existent ATs are reused, it’s like interacting with any other desktop application. ATs in GNOME should work right now without any change and, if any change is required, it will help to provide a better integration with this framework.

Implementation

Moonlight Atk Bridge

Refer to Accessibility Architecture for a detailed explanation of the complete architecture.

In both Accessibility implementations, Silverlight and Moonlight, Microsoft UI Automation is used for interacting and exposing data of UI elements of the application. These data are used by ATs to access and manipulate those UI elements. Properties such as visibility, sensitivity or interaction, are exposed by Automation Peers (also known as Automation Providers), along with Automation Patterns to indicate the type of interaction in the control, for example: accepting selection or allowing clicking. There’s always a relation one to one, one Automation Peer and one Control. The properties are available to ATs through the information exposed by the UIA/Atk Bridge module. This module is loaded by the Moonlight application to interact with ATs. It keeps a tree of Atk objects to represent every UI Automation element in the Moonlight application.

The interaction between ATs and Moonlight applications is like this:

  1. An AT requests information about the Moonlight control in Firefox.
  2. Firefox asks Moonlight this information.
  3. Moonlight uses the A11yHelper to load the UIA/Atk bridge module and returns the root accessible, it represents the control’s Automation Peer: WindowAutomationPeer.
  4. From now on, new AutomationPeers will be mapped, one-to-one, to an Atk.Object. All data requested by an AT will be accessed through the associated Atk.Object, and this one will return information contained in the AutomationPeer.

If you are curious you can checkout the sources to see the final implementation:

How do I install it?

Before installing, make sure Assistive Technologies is enabled, then add the Mono UIA repository (see Downloading) and follow the instructions (taken from Installing):

  1. Install the updated xulrunner package from the above repositories. (This is required until Firefox 3.7 because of bug #480317)
  2. Install Novell Moonlight with Accessibility Support for 32 bit or 64 bit.
  3. Install Novell Moonlight Accessibility Extensions
  4. Restart Firefox
  5. Enjoy!

Useful links


Will Stephenson : Mar 03, 16:43 : New KDE Four Live Images

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.


LenZ Grimmer : Mar 03, 11:49 : Building MySQL Server with CMake on Linux/Unix

CMake is a cross-platform, open-source build system, maintained by Kitware, Inc.

From the CMake.org home page:

CMake is a family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice.

It has been used for building the MySQL Server on Windows since MySQL 5.0 – the initial CMake build support was added in August 2006.

For building MySQL on all other platforms, the GNU autotools (autoconf, automake and libtool) are currently being used.

CMake is used in some other MySQL projects as well, e.g.

On February 22nd, Vladislav Vaintroub pushed the changes required to implement WorkLog#5161 "CMake-based unified build system" into the "mysql-next-mr" branch (aka the "Celosia" mile stone).

From this version on, CMake can also be used to build MySQL on Linux and other Unix platforms. For the time being, the autoconf/automake files are still available as well, but will be phased out once the CMake build enviroment has reached the desired level of maturity. The change was announced on February 28th on our "internals" developer discussion list.

The purpose of WL#5161 is to simplify the MySQL build system. It is much easier and less error-prone to maintain a unified build system for all platforms than two separate ones.

CMake has been chosen because of several reasons; the worklog description lists a few pro-CMake arguments (slightly rephrased):

I'd like to mention a few additional reasons:

The CMake Wiki lists a number of other "nice to have" features.

From a developer perspective, I hope that it will make it much easier to finally implement two things that many developers working with MySQL have been waiting for (now that the build code has been cleaned up):

Building MySQL with CMake is quite simple and straighforward – the process is outlined on the MySQL Forge Wiki. The document is still work in progress and we'd like to encourage you to take a look at it, try to follow the steps and update/improve the Wiki page, if needed! Your feedback on the build process is appreciated. Feel free to join our internals mailing list to discuss your impressions and observations or submit a bug report via the Bug Database. It's likely that the build still has a few rough edges that we'd like to fix quickly (e.g. BUG#51502 – a fix for this one is already commited to the mysql-next-mr-bugfixing source tree and will be merged into the mysql-next-mr trunk soon).

If you're new to CMake, you might want to take a look at the "Getting Started With CMake (An End-User's Perspective) For Cross-Platform Building" screencast or the "Running CMake" article.

Happy hacking!


Michael Meeks : Mar 03, 11:01 : 2010-03-03: Wednesday.
Michael Meeks
Jeff Shantz : Mar 03, 10:42 : Rubyisms: Using inject to validate element types in an array

I’m writing a distributed system simulator in Ruby and had a need to verify that an array contained only integer process ID’s, and no elements of any other type. Using Ruby’s Enumerable#inject function, this is a wonderfully quick one-liner.

>> a = [1,2,3]
=> [1, 2, 3]
>> a.inject(true) do |result, element| result &amp;&amp; element.is_a?(Fixnum) end
=> true
>> b = [1,"Hi",3]
=> [1, "Hi", 3]
>> b.inject(true) do |result, element| result &amp;&amp; element.is_a?(Fixnum) end
=> false

Edit: After I posted this, Robert Riemann pointed out that Enumerable#inject iterates over the entire array even if the first value in the array is not an integer. This is easily confirmed as follows:

>> a.inject(true) do |result,element| puts "Next element"; result && element.is_a?(Fixnum) end
Next element
Next element
Next element
=> false

So, inject is not what we’re looking for in this case. Later, Martin Vidner offered a solution using Enumerable#all?:

>> a = [1,2,3]
=> [1, 2, 3]
>> a.all? do |e| e.is_a?(Fixnum) end
=> true
>> b = [1,"Hi",3]
=> [1, "Hi", 3]
>> b.all? do |e| e.is_a?(Fixnum) end
=> false

Using all?, we see that processing stops after a non-integral value is encountered:

>> b = [1,"Hi",3]
=> [1, "Hi", 3]
>> b.all? do |e| puts "Next element"; e.is_a?(Fixnum) end
Next element
Next element

Thanks to both Robert and Martin for pointing out the problem in my original solution.


March 02, 2010
Andrew Wafaa : Mar 02, 21:26 : Blogged about: Symbian vs Android
Andrew Wafaa
Symbian vs Android

One of the Symbian based site that I regularly follow (Symbian-Guru) have had a couple of posts on Symbian vs Android. The first one is “10 Things Android Does Better Than Symbian”, the follow up to this is the reverse lookup “10 Things Symbian Does Better Than Android”. Now I can't argue with any of the points raised in the first article, however I don't agree entirely with the second article, but I do acknowledge the limitations in place. What I mean is they are using a flagship Symbian device from Nokia & Samsung, a better comparison would have been to compare against either Motorola/HTC & Samsung's flagship Android device.

 

I use my N97 & Motorola Milestone (GSM version of the Droid) and to be honest in my opinion the Milestone really does spank the N97 :-( Saying that though my E71 outperforms my N97 in many aspects thanks to Nokia's utter balls-up of the N97's hardware ;-)

 

Now there is a comment about Android 1.5 being on a lot of devices, and yes it is, but if I remember correctly there was a few posts (not that I can find the links any more) about Android versions. My dodgy memory seems to recall there are more devices running 1.6 than any other version, followed by 2.0.1 and then 2.1.

 

Anyhow back to the second post, now don't get me wrong I'm an avid proponent of Symbian as a mobile OS, and I've been using it for at least 5yrs in one form or another from multiple hardware vendors (mainly Nokia & SonyEricsson); but I do have to disagree with most of the list. I'll answer each point individually:

 

  1. Gmail: Nokia Messaging does indeed work *very* well with GMail, but I do think the overall winner has to go to Android - the integration is superb (as one would hope). Also the configuration aspects of Nokia Messaging are relatively limited.

  2. Multitasking: I agree with the Multitasking win for Symbian, although I do find sometimes that Symbian really needs to know its limits - my N97 starts to creak when I have more than 6 apps running, my E71 can plod on happily with at least 8.

  3. Twitter: I do love Gravity for all my Microblogging requirements on Symbian, but I do find the likes of Twidroid offer a better experience with a unified timeline in addition to the individual account ones. Very similar to what I'm used to on the desktop. I would probably call this one a draw as there are aspects of each that I love and hate.

  4. Last.fm: As much as I like Mobbler, the official Last.fm app for Android is far better, and integrates with the built in media player seamlessly so in my view a win for Android.

  5. Waze: Now I only really heard about and got into Waze thanks to Symbian-Guru, and I tried it on my N97 with near catastrophic results – it doesn't help that the GPS receiver on the N97 is so poor and I have to use a bluetooth receiver. Again I find that Waze on the Milestone far outshines that on the N97 or E71. So a win for Android.

  6. Music: I have always found the sound quality on the N97 a bit of a disappointment, especially the built-in speakers. However the Milestone surpasses this without breaking a sweat. The mono speaker is very loud not that tinny and full of bass, in comparison the N97 is actually fairly painful to listen to. Whilst using headphones the N97 is almost on par with the Milestone but just a little bit behind. This is not a software issue, but a hardware one and Nokia couldn't have dropped the ball any worse with the N97 when it comes to hardware :-( From a software perspective, I again have to award a win to Android for the actual Music Player. It is quick to update the library it has all the essentials nicely and easily grouped, oh and it play fantastically with my desktop app – Banshee – without hackery.

  7. Calendar: Now all I need to do to go to the next day is swipe, pretty simple really. One thing that does annoy the fuzz in me is that for some reason the calendar on my Android device fails to pull my personal calendar from the big G in the cloud; it pulls all the other calendars without issue ( i.e. openSUSE & GsoC). So in this respect I'll call it a narrow win for Symbian, although I haven't found a way to get the calendar on my N97 or E71 to pull in additional calendars.

  8. Power Down: I think this is just what one is used to. Shutting down an Android phone is more like shutting down a computer, and I think this was a conscious choice by the devs – a sort of differentiating factor – you not only have a phone in your pocket but a computer. Now for powering up my N97 actually takes longer, it sits at the Nokia logo just before the hand shake for a good 5-10sec (really annoying). I'd call this a draw.

  9. Phone: I can't fault the phone side of things on either device, they both work well and I don't encounter any issues. Each do different things in good ways.

  10. Developer Opportunities: Now this is a sticky one, sure as mentioned Symbian has a plethora of languages that people can code in to get there product out on the largest number of handsets in the market today. For the uninformed, developers can choose from C++ (granted afaik it is a kind of weird iteration), Qt, JavaME, Flash Lite, Python, Ruby, .Net/C# (if you are a C# developer and would like to see the wonderful Mono available like Monotouch on the iPhone, make sure you let the Mono team and especially Miguel De Icaza know ;-) ), WebRunTime(javascript/html). Being able to develop an app isn't the whole picture, there needs to be a way to get your app out there to all those handsets, and to be honest Android Market spanks Ovi Store. Sorry but it's true. As an example I had to hard reset my N97, and the few apps I purchased from Ovi wouldn't re-download, it took me over a week to get them back, and then I had to re-hardreset the device and I just havent bothered going through the painful process again (yes I tried re-downloading without joy). On the flip side, I had to send my Milestone off to get fixed, and it came back in vanilla shape (with new firmware), after I entered my credentials at setup and entered the Market, my downloaded & installed history was there waiting for me and I was able to get all the paid apps easily and hassle free. So in this respect Android wins. Android learnt from Apple that there needs to be a central place for everything, so it is very easy, and getting your app on the Market is a breeze. Symbian on the other hand has steered away from that and has left the Symbian “App Store” fragmented worse than a cluster bomb – Nokia/SonyEricsson/Samsung/LG/Sharp/Fujitsu/$PHONE_MAKER will all have their own store for Symbian devices which from a developer's stand point is a real PITA. This is a major fail on Symbian's part. One big issue is that Symbian has is an almost zero take up in the US. Some may say so what we don't give a monkey's left bollock about what the US think or does. As much as I may agree with that thought at times, when it comes to tech related things the US is very relevant whether you like it or not. A lot of the cool, new, funky, swish, web 2.0, $BUZZWORD sites and apps originate or are housed in the US. So naturaly they cater for their own and then add in Europe and other places afterwards (if at all). This is entirely a fault of the Symbian Foundation and Nokia before it. That is one reason Apple has made the iPhone such a success, and another reason that Andorid & RIM (yes I know they're Canadian) and even Windows Mobile out sell Symbian.

 

One aspect that I think should be trumpeted nowadays is the fact that the next release of Symbian on handsets will be totally open under the EPL license. To an average user this may mean absolutely nothing, but it counts a bit for me. On the subject of Symbian^3 (yes that's the name of the new release for those not in the know), I do think a lot of the software issues will be resolved with the core OS. The key is for hardware vendors not to screw up!

 


Michael Meeks : Mar 02, 21:00 : 2010-03-02: Tuesday.
Michael Meeks
Lizards: Petr Mladek : Mar 02, 15:11 : OpenOffice_org 3.2.1 alpha1 available for openSUSE

I’m happy to announce OpenOffice.org 3.2.1 alpha1 packages for openSUSE. They are available in the Build Service OpenOffice:org:UNSTABLE project, are based on the upstream 3.2 sources and include many Go-oo fixes and improvements. Please, look for more details about the openSUSE OOo build on the wiki page.

The packages are beta versions and might include even serious bugs. Therefore they are not intended for data-critical usage. A good practice is to archive any important data before an use, …

As usual, we kindly ask any interested beta testers to try the package and report bugs. See also the list of known bugs. Especially, we are interested into feedback for the following features:

Other information and plans:

The alpha1 packages are not available for openSUSE Factory because  I need to fix the build with the newer gcc first. I will look at it within next few days.

I expect that beta1 build will be available two weeks from now and the final release will in April. Though, it depends on the upstream release and the upstream schedule is still somehow unclear.