April 1, 2008

YaST ideas for Summer of Code

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!.

March 4, 2008

Learning emacs

I am not good at keyboard shortcuts. I started using mice very early. Therefore anytime I post a video recording my screen, I get more comments about my stupid ways to clear the screen or move the cursor, than about the content itself.

However, I like to change my habits to be more efficient and I keep trying new stuff, and old stuff too.

I tried learning vim, and I was successful in using it during the last years for console usage and basic file editing. However, I was never able to remember more than opening/saving files and deleting lines. I was using Kate for most of my coding needs. I tried switching from Kate to vim for coding like three or four times without any success.

During this trip, and brought some emacs tutorials with me, in order to give it a try. I was expecting something horrible, but surprise, after a few hours, I could do much more than I was able to do with vim, and I had no big problems with the ctrl-something key shortcuts (I have yet to try on my Microsoft Natural keyboard though).

I am now in the process of setting up some packages I need (code browsing and completion) and till now I am very happy. There are a couple of things that really suck:

  • Setting up the environment sucks because you have to do it from scratch. There are no sane defaults for anything. No thing that ask you what do you do, and setup something that makes sense to start with.

  • XEmacs and Emacs features.They forked one from the other and at some point XEmacs had more features, but now both have things the other hasn’t and you can’t tell exactly what it is.

  • XEmacs and Emacs user interface. I discarded XEmacs because it has this horrible tcl/tk look and feel, like using its own widgets over xlib. It had a experimental gtk user interface based on 1.x, but its status is not really clear. At least our package does not enable it. There are screenshots of Emacs running on OS X that look very sweet. Sad that all efforts of bringing Qt to emacs are more or less dead.

For now, I choose GNU Emacs, just because I have some sense of aesthetics and usability. XEmacs is and look like 1970. With GNU Emacs I only have to suffer of the gtk “original” file dialog but I suffer from it in lot of gtk-infected programs (starting with Firefox) so it is not very serious. I can live with it, and I am sure I can use KDE file dialog by using some lisp magic and the kdialog command.

Other pending issues:

  • setting up cedet/ecb to get auto completion and code browsing.

  • setting up git mode and learn how to use it

  • integrate cmake mode and a sane way to use the compile commands out of the source tree

May be next time I record a video, you will see me using ctrl-L instead of typing “clear” ;-)

Edge YaST

One of the steps to build more community around YaST is to allow people to try it. Not every user uses factory but lot of people want to try one or more punctual recent features. This is not easy, because developers can’t invest much time making sure the latest developments can work seamlessly outside factory. But we can do more. If it compiles and (available) tests run, then we are more or less sure it should run.

In the last week we have been playing with the YaST and build systems in order to organize some YaST and zypp repositories abandoned in the openSUSE build service.

I introduce to you the new layout:

YaST:SVN are YaST packages submited from our code repository sources on a frequent basis. I am trying to make this as automated as possible, so I have internal scripts that submit packages when the repository compiles. Right now, I use this repo to test code that hasn’t been committed to svn yet, like build fixes on other distributions. YaST:SVN builds on top on another repository, called zypp:svn, which is the zypp stack from svn. The svn series is build for Factory, released versions and also I added Fedora and Mandriva, even if it does not build right now. I think making the stack to work in other distributions is a place where the community can make a big contribution. I made satsolver library to build on Mandriva with about one hour of trial-error work. The value is that all spec file modifications are now in the svn repository and not as patches floating around there.

On the other hand, we have the Backport series. YaST:Backport and zypp:Backport (the first builds on top of the second). These repositories are just package linked to the Factory ones, but the repository builds for 10.3, and I am trying to make it build in other Novell editions (SLE, 10.2, etc) and Mandriva/Fedora as well. We don’t need to update this repository, as it rebuilds when Factory versions are submited, which makes it more stable than the svn series of the repositories.

In the future, If we get enough help from the community to build all packages on something different than factory, I would like to create a Experimental series, which are packages linked to the svn series, plus patches from the community that are made upstream after testing them. That way the svn series of the repositories could turn themselves in being pure svn code, and submitted in a automatic way.

YaST is yours, so your feedback and help is welcome. Right now you can find there a zypp and YaST stack from svn and Factory, built for 10.3. YaST modules are missing yet. If you want to help and have submit access to this repositories, we would gladly do it, just ask for it in our yast-devel or zypp-devel mailing lists.

January 5, 2008

Welcome 2008

Some random thoughts about the world, and the past and following years.

Digital society

2007 was quite active on the digital rights topic.

The inability of the industry to catch up with the current society has created a war on digital rights. Software patents on one side. Digital music transformed music labels into mafias and consumers into rival groups. Politicians trying to implement surveillance systems everywhere.

I have the feeling that we will see some progress on the music topic. Record labels will give up, but it will be too late, and if a bunch of major artists start to use some fair system. Something like amiestreet.com or direct selling comes to my mind.

I don’t think something will happen on patents.

It was funny, some weeks ago I got an idea about using gps to associate location to todo items. This plays well with the getting things done methodology where you organize by contexts and not categories. I started prototyping some stuff on android.

Sadly, I found out this simple idea was patented by Fujitsu. Not only that. But I found a program which does that, and the website dissapeared. Another news article about someone researching on the topic and developing a product on that also dissapeared from the map. However, I haven’t yet seen a product from Fujitsu on the topic (the patent is 7 years old). Software patents destroy innovation. Thanks to that stupid patent, you won’t see any product (unless free software) using that.

The web 2.0

Everybody is sick of the Web 2.0 buzz. The Web 2.0 exists.

It is normal that consultants/analysts start to invent new terms because their business depends on the next “big thing” that will “cut costs” and “save millions” to your company. They repeat the same year after year just replacing the term itself.

However the amount of services on the web is growing really fast, and they are all accessible by really standard protocols. Software is becoming just a support medium and the value is being transfered to services: information, storage, security, etc.

Now, there are new layers over that. Phones with gps will bring a new dimension of services based on our location. This is very important. The information we store on the web becomes more relevant if we map it over real-world dimensions: location, time, mood, energy, context. Open source fits here, you can see companies like Google taking advantage of it.

Question: How services will affect open source and/or free software itself? Google contributes quite a lot to open source software. But once you don’t distribute the software, you are not forced to publish modifications. Will other companies follow this path?

Amazon Web Services is another topic. The way they sell on demand “computing power”, “human processing”, “databases” and “storage” is simply amazing.

I would like to see more about “distributed” environments. I am disappointed on how I have to manage my information having 3 computers and one cell phone. There has to be something better than either being off-line and centralized or being online and ubiquitous (where network is available). I want to be ubiquitous, distributed, fail tolerant, and in a simple, pragmatic way. (I don’t want to setup a cluster on my devices).

What about the bubble?. Yes, there is a bubble. There are a bunch of companies that know what they are doing. And thousands of venture capital groups funding whoolalalhzuzu.com ajax websites which implement a calculator or whatever. Those dying is not a bubble, it is natural selection. Most people already know which ones will die after using them for 2 minutes.

I am really excited about the developments in this area and looking forward what is coming here. The direction is clear.

Software

  • openSUSE / YaST

    I will leave this for a separate post.

  • KDE 4.0

    4.0 is being released in a few days and you will see the most brave release of free software ever. A big bunch of new technologies and visions collected, cooked and packed inside a great community. And better, there is still no big place for politics in KDE, but technical arguments and user experience. Not that all desktops could say the same.

Software Development

Wow, what happened on 2007?

  • Software configuration / Version Control

    The growing complexity of open source codebases, plus the need to maintain them for enterprise purposes, brought the topic of version control really hard on the blog sphere. Every blog and developer talked about git. Lot of talk about mercurial and bzr too. 3 version control systems being popular at the same time? The point is that being “distributed” is “the thing”. I personally switched to git, and it solved the “being distributed” part of working with 3 computers in different places. I want to see something like code.google.com with git support.

  • Android

    Brilliant. I am waiting for the first phone. Some APIs are ugly. But still prettier than uggly guys that reinvent the wheel poorly, and worse, only on Windows.

Nothing that spectacular on other old topics:

  • Java

    While Eclipse is a jewel. Sun is getting better but too slow to move. So slow that it is getting boring to watch.

  • Ruby

    We saw the release of ruby 1.9 on December, a very important milestone. At the same time, JRuby is now fast and very compatible, and other implementations are also very active.

  • C++

    Even more boring than Java eh?

Politics

  • Chile

    The goverment of Michelle Bachelet whose goverment improvisation has made the country again miss the opportunity to develop quickly. Michelle has no strategy at all, so the hope for 2008 is that his sucking team don’t make more mistakes. The public transport system ( Transantiago ) has to start working somehow (both in operation and budget), because till now, it is a joke.

    The opposition hasn’t a good alternative. Nobody is willing to make the important change: universal free and good education, health and social care. Even Michelle, being a socialist, uses the private health and education system.

  • Europa

    Spain’s election coming. Seems that Zapatero will be reelected, which seems reasonable. I am a little lost with german politics and I feel like living in a fantasy world. Time to change that. Still, Europe’s economy is going good and living here is awesome. I love it.

  • USA

    Discussions on whether they should teach non-science on science class?. War. etc. Uhm… was I writing about a middle west country? I am sad, really sad to see a beautiful country being destroyed, destroying, hating and being hated by almost the entire world, and even worse, considered the biggest threat to the rest of the world.

    From latimes.com:

    36% of European poll respondents — who come from Italy, France, Germany, Britain, and Spain consider America as the No. 1 danger to world peace. Even 35% of American 16- to 24-year-olds identify their own country as the chief danger to peace. The poll was consistent with findings by the Pew Global Attitudes Project, which found that favorable ratings of the U.S. had declined in 26 of 33 countries over the last five years. Europeans next concerns are China, 19%; Iran 17%; Iraq 11%; North Korea 9%; Russia 5%.

    Elections aren’t this year. Lets see how it goes.

May 16, 2007

De chair et d’âme

Hace unos meses, en un tren de Barcelona a Castellón, mentras tomaba un cortado en el vagón-bar, encontre un trozo de periódico con esta interesante entrevista “Los otros modelan nuestro cerebro” con Boris Cyrulnik.

Luego, gracias a la fiesta de Saint Jordi, el libro “De cuerpo y alma” llegó a mis manos. Hace unos días lo terminé, y debo decir que es un libro muy interesante.

Este es el resumen:

«La felicidad nunca es completa. ¿Por qué, con tanta frecuencia, una oleada de felicidad provoca la angustia de perderla? Sin sufrimiento, ¿podríamos amar? Sin angustia y sin pérdida afectiva, ¿tendríamos necesidad de seguridad? El mundo sería insulso y tal vez no sentiríamos el gusto de vivir en él.» Boris Cyrulnik

Boris Cyrulnik ha escrito uno de sus libros más ambiciosos, un texto de lectura gozosa, del que ya se han vendido más de 300.000 copias en Francia, que aclara y enseña cosas extraordinariamente útiles sobre un tema tan complejo como la enorme influencia de la conexión entre lo físico y lo espiritual, o entre lo neurológico y lo psíquico, en nuestro desarrollo personal dentro del mundo.

Nuestro desarrollo como individuos y en sociedad, las decisiones valientes que tomemos cada día, el gusto por el intercambio con otras personas, el afecto compartido, la pasión que pongamos en lo que hagamos, el ansia de aprender cosas nuevas, la actitud positiva que tengamos ante la existencia, en definitiva, va a hacer que en nuestro cerebro se produzcan reacciones químicas que aumentarán nuestra sensación de placer y bienestar y amplificarán nuestra sensación de felicidad.

Para Boris Cyrulnik, la mejor metáfora de la existencia es la de Anna Freud comparando la vida a una partida de ajedrez: las primeras jugadas son muy importantes, pero hasta que la partida no se termina, quedan algunas hermosas jugadas que hacer.

Otras entrevistas:

May 11, 2007

Busy week

This has been a really busy week. Moving to a new apartment. At home I only see boxes everywhere :-(

Lot of news coming from the Java field. I am happy for what is happening with the Java world.

  • The strategy for Solaris finally makes some sense: making it like Linux, but with its own strengths. Everyone will win here. (it will be GPL soon][1] ). The only looser will be Microsoft and whose can’t use GPL code. I am not sure if the strategy is right, but making Sun a player with both Linux and Solaris is much better than the “Linux, eeer Solaris, er Linux… Solaris!… Linux!” strategy.
  • Flash and Silverlight will get a competitor from Sun and the Java world. This is good news for Linux, as it can be the first free solution on this platform. Watch the demos.
  • Platform for cellphones.
  • There is a video of a Google Earth like client done by Sun and NASA, based on the new FX technologies. It will be free and can be used as a component in Java programs.

Also:

April 20, 2007

Mi padre contemplando el smog de Santiago


Visita Cerro San Cristóbal
Originally uploaded by duncanmacvg.


March 17, 2007

Darmstadt at 188* dB.

I am at the basysKom GmbH offices in Darmstadt, attending a Decibel meeting.

The goal of the meeting is to discuss various requirements and design decisions around Decibel, an architecture to make chat and phone communication universally available to desktop applications. Akonadi, the extensible cross-desktop storage service for PIM data and meta data. And Khalkhi, a plugin-based contact framework.

Attending the meeting are: Will Stephenson (Kopete), Friedrich (Khalkhi author), Volker Krause (Akonadi developer), Tobias Hunger (Decibel), Stanislav Karchebny (Skype), Dominik Haumann (Kate), and myself , trying to get back on KDE track, or at least follow the track.

Will post updates later.

( * Space Shuttle liftoff as heard from launch tower )

February 7, 2007

Sistema social escandinavo

Dos artículos muy interesantes que presentan dos puntos de vista diferentes con respecto al sistema social Escandinavo.

August 30, 2006

before DRM…

Interesting comment on Slashdot:

How do you create a market for a product, and make money of a product that has a huge initial creative investment, but then no manufacturing cost, and is in infinite supply?

The same way it worked before DRM. You are making a ridiculous assumption that DRM is the only thing that prevents someone from distriduting copies of copyrighted works. That is utterly false. There is this thing called copyright law that works just fine without DRM. Photocopiers didn’t kill the book publishers. Tape recorders didn’t kill music industry. VCRs multiplied the profits of the movie industry, despite the fact that certain studios nearly had them outlawed.

For this reason your question is either biased or stupid or both. Turns out it is entirely possible to have a viable economy without infringing on the consumers’ fair use rights or first sale doctrine. Who would have thunk!