Archive for April, 2008

Europe’s Philosophy of Failure

Sunday, April 27th, 2008

FP is running an article called Europe’s Philosophy of Failure. Citing the summary to give you an idea:

In France and Germany, students are being forced to undergo a dangerous indoctrination. Taught that economic principles such as capitalism, free markets, and entrepreneurship are savage, unhealthy, and immoral, these children are raised on a diet of prejudice and bias. Rooting it out may determine whether Europe’s economies prosper or continue to be left behind.

I don’t want to make a flame on economical systems, models, and so on. But I like to comment on propaganda.

Since I moved to Europe, I have spend lot of time observing the society and comparing (Denken heißt vergleichen) it to what I saw in Chile and what I see from other cultures like the United States. I can’t include Asia in the mix because I know really little.

I think in Europe there is a left wing bias in almost everything. You start to see it in small details that create contradictions in your head, like advocating free speech on one hand as long as it is not right wing ideas (which are called for censorship or “anti” manifestations ). Countries like Belgium, which from one side talks about human rights, but then gives asylum, passports and money to murders from Chile or Spain terrorist groups, just because they are left wing, which upgrades them from murders to “politically prosecuted”. Those are extreme examples.

In the normal day to day life, this left-wing bias will of course end up in education and the way the economy works. However, I think this bias is not bad at all. It is just different. Let’s look at the article’s points:

they are exposed to a dogma that runs counter to core beliefs shared by many other Western countries

Which other Western countries apart of USA (and may be UK)?

Chancellor Angela Merkel, once heralded as Germany’s own Margaret Thatcher, has all but abandoned her plans to continue free-market reforms. She has instead imposed a new “rich people tax,”

More taxes for rich people, and fewer for wealthy corporations is something even the Gates support.

has tightened labor-market rules, and has promised renewed efforts to “regulate” globalization.

I don’t think Europe’s attitude on globalization is bad at all. I think it focuses in very basic aspects:

  • If production is going to be moved to third world, lower salaries there is something you expect, but not everyone expect children to build the products.

  • If one continent cares about the environment and the other does not. Is it globalization anymore? is it fair competition to do it under different moral views?

So the problem on how “capitalism” is being advocated (even if it is there already in almost every country) is surreal. There is no such things as pure free market. Europe may want to protect certain market from unfair competition. How is this different (from the economical point of view) from using military power for oil?

This post is worth to read, and its conclusion:

Comparing the economic performance of the European Union and the USA does not lead one to conclude that America has the more dynamic economy, or that it has performed better in the past or will do so in future. The most important feature of the comparison is neither the growth nor the unemployment record of the US and the EU. It is, rather, that US growth, unlike that in the EU, is funded by a dangerously high mountain of foreign debt. US external indebtedness, in turn, is driven by the US house-price bubble, enabling US consumers to spend more than they earn. Ironically, it is the EU which, together with China and Japan, continues to lend the money to the US which keeps their households spending and their economy growing.

The truth is that neither side ‘wins’ in this beauty contest. Europe merely does less badly than the USA in some crucial respects. Yes, while it is true that the core Eurozone countries could perform far better, Germany, France and Italy have quite different problems – in comparison both to the US and to each other – which require quite different solutions. Anybody who claims that the US provides a model which the EU should copy needs to consider the basic economic facts of the case.

And some of the comments just make the whole point:

In my experience as having worked on both sides of the Atlantic for 7+ years, my appreciations are that in the US, an individual needs to put away a bigger chunk of his/her paycheck for items covered by European taxes.

Thus, in the end, US worker gets taxed higher than its European counterpart.

Or this one:

This article was prophetic in talking about the housing bubble and the inflated by debt growth numbers in the USA. The new IMF stats show Europe starting to trash the USA even when it comes to GDP per capita. My country (Netherlands) was just a year ago 2k behind the USA now we are 6K ahead in just as year! Both France and the UK are now projected to overtake the USA (the UK in 09 and France in 2010+) and the former is especially impressive seeing how much hours they spend NOT working compared to the states.

I am leaving the health system topic out of the post, but it is also an interesting point.

So please guys. Let accept there are two different models. But I don’t think doing propaganda on the false basis that one performs better than the other.

Package search and others

Sunday, April 27th, 2008

YaST ideas and research

We moved the summer of code ideas, and other projects to the YaST/Research page. We would like to find all the experiments that are lying around in the tmp and experimental branches and put them together in that page so previous attempts and knowledge is not lost.

Installation Branding

Some information on branding the installation is available on YaST/Tips#Brandingtheinstallation.

Package groups

The first thing that caught my attention in the rpm world was package groups. It is a 4 deep level tree which has become pretty useless with time. They are also not consistent across rpm distributions. I agree that they are interesting metadata (because they contain keywords), but nothing you want to display in a user interface.

So I started to ask people around. Do you use the groups tree?. “YES” was the first reply. I was surprised. Were my initial guesses wrong?. “I use it to select the zzzAll group, which is the only way to select all packages”. Interesting point, any effort to change this should take that into account.

Luckily all the answers were the same. The famous “zzzAll” group was the only reason why people used that filter.

So when looking for a way to make that screen more easy to the eyes, PackageKit groups seemed like the way to go, as they are already in use in some applications.

That is how package groups looked like before:

rpm groups before

After matching the rpm groups to PackageKit groups, this is the result. Easy.

rpm groups after

Notice that “All packages” is still there. Also there is a recommended and suggested groups. The interesting thing is, that if you look at other applications, like Gnome PackageKit install, which is a braindead application (no features) compared to YaST, but still, now they look pretty consistent with each other:

packagekit search

Before you cry for your old 4 level deep tree, you can still reach the groups via search. Search will look into the groups field and also the generated keywords in the metadata (tags).

Package search

Now uses the sat solver APIs to query the solv files, which is much faster and we have transparent access to more attributes.

openSUSE 11.0 beta

Saturday, April 12th, 2008

openSUSE 11.0 beta is coming. This means that all the pieces of the update stack have to be in place by then.

While reading Review: Hat Trick For Fedora 9 Beta, it caught my attention that the author says “Fedora continues to wear the innovation hat” because some of the changes described there. I did not see any killer feature openSUSE 11.0 does not have too, and a few ones are worth to highlight:

  • KDE 4 integration: No distro will ever beat openSUSE here ;-) you know that. openSUSE is a multi desktop distribution and both the Gnome and the KDE team are unbeatable. Period. (I am objective today ;-) )
  • The installation experience and look essentially remained the same from Fedora 8: Sorry guys, but YaST installer looks far cooler than in our last release. The experience is also much different.
  • except there is now support for resizing ext2, ext3, and NTFS partitions from the installer: zzzzzzz. YaST resizes partitions before Linux was invented.
  • The installer also checks for password strength for the root account: YaST in the 80’s ?
  • The new package management solution, PackageKit, is another interesting feature: openSUSE 11.0 will have native PackageKit support (the backend is upstream) and it works really well. The yum backend has no good reputation. The ZYpp backend in 11.0 inherits all the unbeatable speed of ZYpp 4.x and it is robust at the same time.

Sorry guys, the innovation hat is green. Ok, enough with articles. Lets back to 11.0 beta.

We talked about package management speed, we talked about new looks and features already. However our work around patches and patterns was still missing.

During the last weeks, we have been working on this and now all the pieces start to fall together. Click on any image to see it in full size. Also note that ugly scrollbar in the disk usage is was also fixed already.

You may remember the pattern selector:

Old Pattern Selector

New pattern selector:

New Pattern Selector

If you go to the repository view, it was a little boring. openSUSE has the Build Service, which has generated a big community of repositories. Visually, we want to make a difference to the eye if a repo is a normal repository, or the home project of a friend, or a well known repository, or may be a update repository. Result?

New repo view

The old patch view was confusing. The category column never had space for itself.

Old patch selector

So we introduced categories just like in the patterns view.

Old patch selector

There are still some details. In that view the reboot patch should not be shown in the default filter, because I don’t have the package the patch fixes installed. For some reason isRelevant() is not working there. Same with the security patch. It shows correctly the fact that the patch is satisfied, but therefore it should be hidden.

In a next post I will write a bit about how patterns, products and patches are handled now, plus other features.

Package management reloaded II

Tuesday, April 1st, 2008

Package management is the most used task by our users according to the YaST survey.

Not happy with the super speed and making other similar tools eat dust, our hackers continue to check in cool stuff:

Katarina showed the new face of our text-mode package selector:

new ncurses

Ladislav checked in a cool change. If you look at the package selector main screen. You will notice there is an option in the menu to go to the repository configuration.

main screen

Clicking there brings you to the repository editor without needing to switch modules:

repo editor

And now from there, you can go to edit which keys you trust for repositories:

gpg editor

YaST ideas for Summer of Code

Tuesday, April 1st, 2008

Because the Google Summer of Code deadline was extended, I just added two projects I consider interesting for YaST:

Automatic generation of YCP bindings

Right now, if you want to access low level libraries from YCP code, you have two options:

  • Create manual bindings, may be with help of /usr/share/YaST2/data/devtools/bin/generateYCPWrappers script. (used by package-bindings and libyui ycp bindings )
  • Wrap your library using swig, and then generate perl bindings from that, and then use the module using YaST perl bindings (libstorage is accessed this way).

This problem could be solved in various ways:

  • Create a SWIG module that allows ycp glue as output.

This approach would get all the swig parsing magic for free.

  • Extend generateYCPWrappers so it could wrap any C library in a easy and automatic way. C++ is not required, as YCP is not object oriented.

Expected result:

Get package bindings or libstorage output which don’t depend on perl bindings and are automaticaly updated if the target API changes.

  • Required knowledge: C++, YaST2, languages
  • Skill level: medium
  • Willing mentors: me!

Build YaST using cmake

YaST builds using autotools and a automated layer of scripts over that (called y2conf, y2make, etc).

Some modules as libzypp and friends, yast2-qt and ruby bindings build using cmake.

It would be great to build complete YaST using cmake. This would bring benefits like:

  • Access to the CTest test framework
  • out of the box out of source builds
  • Easier and more intuitive.

This task means:

  • making yast2-core to compile using cmake
  • create devtools skeletons for modules and agents using cmake
  • add support for devtools utilities which may break
  • port all modules. (porting 3 would be a challenge, the others is mostly mechanical work once core and some problematic ones compile).

Automating the conversion of modules would also be a goal.

  • Required knowledge: cmake, building, packaging
  • Skill level: easy
  • Willing mentors: me!

If these projects aren’t for you, there are more ideas in the wiki page. Check it out!.