Skip to main content

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

YaST Runlevel is dead, long live YaST Services Manager!

Long Story Short

It's a public secret that YaST Runlevel in openSUSE 12.3 is far to be useful. It's caused by switching from SysV to systemd whereas all the UI and internal functionality has been designed for SysV. I was thinking about the possibility to rewrite the current module to use systemd directly, but then I realized that I should rather start a pilot project from scratch: The very first YaST module written completely in Ruby!

New YaST Module

This new YaST module has been called Services Manager (yast2-services-manager) to better reflect what it actually does. You can find its source code here. And you can download the package here. It will additionally need yast2-ruby-bindings package in version 1.0.0 or higher which is available in the same repository. To start the module, just type yast2 services-manager as root or start it from YaST Control Center.

Screenshots

Base dialog of the module. Simply start/stop or enable/disable services ...
 ... or set the default target (used to be called default runlevel) ...
 ... or see the service details

Why in Ruby

All old YaST modules were written in YCP - special language invented just for YaST, but there are other programming languages that can be used now and Ruby is THE programming language used for automatic translation from YCP.

Ruby gives us much more than YCP

  • Developers don't need to learn another language just for YaST
  • There are already many libraries out there
  • We can use several great testing frameworks that already exist
  • And last but not least: It's a very nice and powerful language
I hope you'll like it too :)
the avatar of Andrew Wafaa

Droning Parrots and Javascript

I was fortunate enough to get a present for surviving another year of life, a shiny new AR.Drone2.0. This was something that I had desired sometime ago but then dismissed as an expensive toy with little expansion. That desire returned recently after being enlightened to the hacking opportunities, not just hacking the device directly but more around the hacking of applications to use with it. Yet again it was Laurent Eschenauer to blame with his excellent ardrone-webflight.

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

LibreOffice import filter for legacy Mac file-formats - smile and say "mwaw"!

Attentive reader of this blog remembers that, besides improvements in the most frequently used file-formats, each major release of LibreOffice adds to the list of document file-formats that are freed from the dungeon of vendor lock. In a collaboration with re-lab's Valek Filippov and (then GSoC student and now Lanedo's LibreOffice developer) Eilidh McAdam, LibreOffice 3.5 brought the possibility to open and see the most commonly used Visio files to the FLOSS world. LibreOffice 3.6 was able to claim the most comprehensive coverage of CorelDraw file-format with the ability to open even the oldest CorelDraw 1 and 2 files that modern versions of CorelDraw are not able to open any more.

The latest major release of LibreOffice was also full of goodies. First, the fruitful collaboration of re-lab's Valek Filippov with (then GSoC student and now amazon.com employee) Brennan T. Vincent produced the first ever possibility of reading Microsoft Publisher files in the FLOSS world. Second, with the advent of Microsoft Office 2013 and change in the Visio 2013 file-format, LibreOffice extended the coverage of Visio file-format to all files any version of Visio ever produced.

LibreOffice 4.1 release is approaching quickly. And that is an excellent news for bad teenage poetry and other literary production from the late 80s and early 90s. With the up-coming new release, LibreOffice extends support for a host of pre-OSX MAC text formats. This is a result of a continuous effort to open as many legacy file-formats as possible to our users, and help them to settle for ODF.

This particular improvement was possible thank to the integration of libmwaw written by Laurent Alonso, LibreOffice contributor and already co-maintainer of libwps and of the Microsoft Works import filter inside LibreOffice. The horsepower doing the conversions, libmwaw is one of the libraries from the libwpd family. In the same way as libwps, libmwaw reuses libwpd's interfaces and the ODF generator classes in libodfgen in order to convert its callbacks into an xml stream in flat ODF file-format. The import filter lives in the module writerperfect.

The supported file-format include Microsoft Word for Mac from versions 1 to 5.1, Mac versions of Microsoft Works, different versions of ClarisWorks and AppleWorks, to name but a few. The list of supported file-format and of imported features is increasing literally every day. This promises further good news with every minor release of LibreOffice 4.1. More teenage poetry and bad litterature will be freed from the pit of discontinued software products.

After having found a way to get screenshots of some sample documents in their respective generating application, we are able to satisfy those readers that are hungry for pictures. First is a sample document in Mac Word 5.1 (1992) file-format opened in the originating application and in the up-coming LibreOffice 4.1:

 

Following is a simple document with picture produced by Write Now 4.1 from about 1993. It demonstrates the reason why LibreOffice is frequently called the "Swiss Army knife" of file-formats:

 

Following is an example of conversion of a document in MacWrite Pro 1.5 file-format from 1994:

 

And, last but not least is an example of conversion of a wordprocessing documents in AppleWorks 6.0 from the late 90s. The software was discontinued by Apple with the end-of-life of their PowerPC series. But LibreOffice can resurrect your documents:

 

Pretty exciting news! But the most exciting thing is that you can be part of this adventure. Join the fun by submitting bugs or by fixing your personal itches. So, if you want to help, patches can be sent to libreoffice-dev mailing list. And, do not forget to find a way to join the #libreoffice-dev channel at irc.freenode.net in order to meet other developers. We can promise you that you will have a lot of fun in the LibreOffice community.

the avatar of Gabriel Burt

17 Months Sprinting

Two years ago, I joined President Obama's re-election campaign as one of the first engineers in the Technology department.  I worked hard, learned an extraordinary amount from a host of fantastic coworkers, and was privileged to get to apply my craft to help re-elect the President.


After helping start the Narwhal and Dashboard projects during my first few months, I transitioned to lead the Analytics Technology team with Chris Wegrzyn.  The Analytics department grew to 54 people, busy with managing polling, creating and updating statistical models, and analyzing any and all data to advise campaign leadership across all departments on program strategy and efficacy.

Our team of nine Analytics engineers created, curated, and maintained a 50 TB analytics database, uniting all the campaign's data into one place – letting us create, coordinate, and analyze holistic, data-driven programs.

Suddenly we could do things like notice a supporter had requested a mail-in ballot and assist them via email to ensure the ballot was cast and counted.  We could analyze merchandise purchased via the mailing list, events, and the online store.  We created a TV-ad purchasing optimizer that got us 15% more persuadable viewers per dollar.

We created a tool ("Stork") that connected our analytics database with a few key vendor APIs, Google Spreadsheets, mapping, and basic data processing features — and empowered analysts and state and HQ data staff to implement their own automated, data-driven ideas for helping re-elect the President.  We released the tool to users when it had a single function, and let user feedback set the agenda for the next 23.  We often added new features within hours of users' requests.  Its functions were composable, and served as the basis for several of our own even higher-level tools.

Our process in Analytics Technology was partly agile, but mostly just keep-it-simple and get-it-done.  Our team didn't have to be web-scale, we just had to be Big Data scale; instead of millions of web requests, we had 6-billion-row tables to join and keep synced, and 200 querying users (and dozens of apps) to keep happy.  And mostly, we needed to move quickly to take as many creative (yet often simple, common sense) ideas and help make them happen while they could still have an impact.  I think a lot of us wished we'd had just a couple more months, and oh what we could have created!


The Analytics Technology team; left to right: me, Bill Wanjohi, Christopher Manning, Chase Martyn, Erek Dyskant, Chelsea Zhang, Curtis Morales, Chris Wegrzyn, Zane Shelby, and Tim Trautman

We used SQL (oh, did we use SQL), Python, Ruby, Java, Hadoop, Postgres, Vertica, cron, git, ElasticSearch, EC2, DynamoDB, S3, SES, and much more.  We were generalists, who built and maintained our tools collectively, who seamlessly multitasked on data ETL, Rails apps, database administration, GIS, data-triggered emailers, Hadoop jobs, and much more.

Some personal highlights of the 17 months included receiving extremely kind letters from state staff thanking the team for our work and our tools, giving a man the Heimlich maneuver at State and Randolph on the way into work, and shaking President Obama's hand:

the avatar of Greg Kroah-Hartman

Hardware, Past, Present, and Future

Here’s some thoughts about some hardware I was going to use, hardware I use daily, and hardware I’ll probably use someday in the future.

Thunderbolt is dead, long live Thunderbolt.

Seriously, it’s dead, use it as a video interconnect and don’t worry about anything else.

Ok, some more explanation is probably in order…

Back in October of 2012, after a meeting with some very smart Intel engineers, I ended up the proud owner of a machine with Thunderbolt support, some hard disks with Thunderbolt interfaces, and most importantly, access to the super-secret Thunderbolt specification on how to make this whole thing work properly on Linux. I also had a MacBook Pro with a Thunderbolt interface which is what I really wanted to get working.

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

The Resourcefulness Of Our Great Community — An Example

At the risk of stepping on other people’s toes let me apologize before I start. I am certain we have many members in the community that have gone out of their way to overcome hurdles placed in their way by our “organization” or others. I was inspired by this story because it shows how dedicated our community members are and it really fits well with some of the issues we are still struggling with in the transition from Boosters to SUSE team and the transition between initiatives, Ambassadors to Coordinators and shipping of DVDs to boxes of promo material for designated events.

Peter Czanik was caught in the middle of all of this at a recent FSF conference where he and others had an openSUSE booth. With no DVDs being shipped, due to the transition in the promo material shipping procedure (this has been announced) and no money available through TSP for local production of marketing materials due to a snafu (a temporary solution is in the works) there was basically no help from the resources where help should be coming from, sorry about that Peter.

Despite these obstacles Peter and the team showed up and made due with what was available to have great success. In Peter’s words:

“”””
– distributed the last few remaining openSUSE 12.2 DVDs. Many people complained, that it’s not the latest and greatest, but also many were happy, as they have an old machine and older Linux versions usually have lower resource requirements.
– reused the posters we printed last autumn to decorate the booth (at the end of the day they were in a sorry state, so can’t be reused any more…)
– used the few remaining openSUSE brochures, stickers we printed last year (printing was contributed last year by somebody working at a printing company and our company printer…)

– used my ARM machines and a few borrowed mini PCs to demo openSUSE and make the booth eye catching (people asked about the machines and went away with openSUSE DVDs and brochures )

So, in short: last autumn we had local contributions from community members, this year we used what was last few bits of it and some creativity.

The good thing is, that I was told from multiple directions, that openSUSE had the best booth among software projects at the conference (and they did not know, that it was from a ZERO budget…).

The bad thing is, that we don’t have any marketing materials left. No DVDs, posters or brochures.

“””””

There is no need to rose color the situation, leaving community members trying to represent openSUSE at a conference stranded like this should not happen and there is no excuse for creating this situation in the first place. Work is proceeding to address these issue. However, I want to focus on the positive, and that is undoubtedly how determined Peter and the team were to make the conference a success and how they overcame the obstacles presented to them.

Thank you Peter and team fro being such dedicated representatives of our community and project. Also thank you for pointing out the shortcomings in our current transition period. This will allow us to address these, hopefully in short order.

As I mentioned, am am certain many of you have similar stories to tell. Thanks for your efforts as well.

the avatar of Andres Silva

openSUSE Conference - Chameleon Ad

The openSUSE Conference 2013 is ad portas and the media has already caught on to this Open Source event in Thessaloniki, Greece. There was a recent request for having an ad about the openSUSE Conference featured in a German Linux magazine. I quickly jumped to the action looking for ideas on what ways are more effective in delivering an ad about our project.

The first thought was to make something that talked about the conference and the things that will make the conference shine. However, a second thought also came through. The openSUSE Conference is just the result of a much bigger project, the openSUSE Project. If we are to feature an ad about our conference it should be centered on the project and not the conference necessarily.

Why? Because there are many conferences and events every year. It is hard for the general public to know and acknowledge the differences of conferences around the Linux world. However, there is only 1 openSUSE Project. The conference's main event is not the conference itself, it is openSUSE. Therefore, I thought that rather than having the conference-made logos and graphics, we should focus on the main event, openSUSE.

In the end, this is what will go on the magazine. I hope you like it!


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

4.11 beta 1 packages available for openSUSE 12.3

As a consequence of [the recent changes in the repositories]({{ site.url }}/2013/06/upcoming-changes-to-opensuse-kde-repositories), the openSUSE KDE team is happy to announce the availability of packages containing the first beta of the KDE Platform, Workspaces and Applications 4.11.

Packages are available in the KDE:Distro:Factory repository. As it is beta software, it may have not-yet-discovered bugs, and its use is recommended only if you are willing to test packaging (reporting bugs to Novell’s bugzilla) or the software (reporting bugs directly to KDE). For specific queries on the 4.11 beta not related to specific openSUSE packaging, use the KDE Community Forums 4.11 Beta/RC area.

Have a good test!

the avatar of Andrés G. Aragoneses

Modernizing blam's autotools (or shaving the yak to move out from GoogleReader...)

Before focusing my spare time completely on the GSoC* (as I have mentoring responsibilities this year \o/ ), I wanted to solve a problem that cannot wait after July...

Yes, I've been victim of Google's cuts too... And I was wondering, where should I move? Feedly? ThingyBob? Well, I shouldn't make the same mistake twice, right?

Actually, some time ago I was using a desktop app to avoid relying on software that I cannot control (yes, vendor lock-in, the most important thing that open source tries to solve, right?): Thunderbird. But somehow the convenience of a web app (that I can access from any computer) and the hassle of using my mail client for RSS reading made me move to the web.

I should be able to find a replacement that no company or individual can "take down", and which feels less clunky than Thunderbird for reading RSS. So, enter blam (in the future I'll figure out how to sync its state between computers, maybe using SparkleShare?, to achieve that same convenience that a web-app provides), that Gnome app that has strangely managed to not catch my eye until now...

Well, maybe because if I install it from debian sid and I try to import my very first RSS feed from my GoogleReader list it doesn't work? Well, apparently it is a bug that is already fixed upstream, thanks to Carlos which has modernized the way that the program deals with XML and serialization.

Then I went ahead and tried to compile master myself... and guess what, the autogen.sh execution fails. Here the yak shaving begins, when I feel like this when trying to fix the autotools stuff:


Fortunately, after some tinkering (and some copy&paste from banshee's build scripts), I managed to fix the problem, and also modernized a bit some things (like using the brand new ".ac" extension instead of ".in" for the configure script, or using properly the AC_INIT and AM_AUTOMAKE_INIT macros,...).

Anyway, the real thing to highlight here is that while I was fixing this stuff and pushing to the repository...


... I saw some really good stuff committed by Carlos: using the new .NET 4.5 C# async patterns to get rid of those ugly callbacks! Kudos to him.

And if you're willing to help more with our autotools housekeeping, please do, I still feel this autogen.sh is way too long and needs some ironing.

* And if you're wondering what's up with GSoC (aka Google Summer of Code):

  • I had Nicholas Little lined up to work on Rygel+Banshee integration, but sadly he couldn't apply due to work commitments (hopefully he will still work with me on it in his spare time).
  • I had Rashid Khan lined up to work on Cydin+Banshee integration, but sadly there were not enough GSoC spots for him :( (fortuntately he told me he still wanted to work on it with me in his spare time).
  • I had Tomasz Maczyński lined up to work on Banshee integration with more REST APIs, and fortunately he was selected! So expect some nice FanArt.TV and SongKick plugins soon!