tinyurl No Longer Breaks My Security Model
And when I'm using Linux instead of my phone, I found an extension for firefox which does a similar thing. I can't remember what it was called though.
A Week of Geeko Love
openSUSE Week Counter
UPDATE: New Dates. You now have more time to plan!
As you can see the week of the 11th to the 17th of May is openSUSE Week. What’s so special about this week? Well in a nutshell, the aim is to get all corners of the community together to focus on specific topics. These topics range from wiki cleanup to packaging; testing certain features/functions to translation work; discussion with the openSUSE Board and almost anything inbetween.
I’d like to suggest a couple of other items to the list (yes I know I need to add them to the wiki). Both items are marketing related:
- Create good screencasts, ideally of each major component but I’m open to ideas.
- As requested by certain a11y users & proponents, close caption the video that we have (and the interviews I still need to upload).
- I know I said a couple but maths was never my strong point
Try and do some video interviews that we can group under the “People Of openSUSE” banner. I’ve already started this but mainly with Novell employees. If community members are willing to help out, please let me know (it could even be you filming yourself without any need for video conferencing).
So please make sure you come and join the fun, remember the openSUSE community wont succeed unless you join in. We may even have the opportunity to have a soap box where you can voice your complaints and issues. The important thing is the openSUSE Week is about you the community for you the community, to get something out of it you need to put something into it. Lastly it’s all about having good old fashioned geeko fun! So come along and join the fun 
UML diagram of yui objects
So I created Class diagram for my small widget_library:

Some objects are missing (work in progress), anyway it's important to visualise objects from begining. It's could be too late when library becomes too complex and relations complicated ...
rockmarble: see who is going to rock in your town
During the last weekend I hacked a bit on rockmarble and I added a new feature: retrieve all the events happening in a certain city.
As usual data is provided by last.fm, which should return also the events _“near” _the specified city (don’t ask me to define a value for near :) ).
I have created new openSUSE packages, this time everything should work fine. Just make sure to remove all qjson packages before installing this release (in fact all the previous problems were due to packaging errors of qjson, now I have created new packages called libqjson0).
Packages are available for openSUSE 11.0, 11.1 and Factory (both for i586 and x86_64 architectures).
One last news: rockmarble has also a new site, something slightly better than github wiki ;)
Makespace – Plugin for GNOME Evolution
I’ve written (incomplete) simple plugin for Evolution which provides a combo box + menu for switching folders. Now you can hide the sidebar. This really helps in freeing up some space in your screen and can have good vertical view layout. This would help computers with smaller screen size.
Screenshots :
Sidebar hidden. Small combo box in top left corner
Switching folders
To try out this plugin / For more information : http://www.johnnyjacob.org/makespace.html .
One other feature that I would like to have is simple folder bookmarks. Bookmarked folders would appear in the top of the menu (You don’t have to navigate all the way down in the menus)
Let me know what you think and if you would like to have any features put it down in the comments. 
User readable logging of YaST modules
For quite some time, we had user requests (fate #100386) to provide the logging that would be readable to users (= not only YaST developers). Such logs should provide the information what certain YaST action is really doing to the system and exclude all the internal debug info our y2logs are full of.
Martin and Stano created some concept and added new logging functions y2usernote and y2useritem. These log to the new log file, /var/log/YaST2/y2changes (or $HOME/.y2changes).
The question which is still not resolved is how should we use these functions? Which events our modules produce should provide description as “note” and which should provide “items”? What level of complexity should be presented to user? Should we log the real actions, just like commands passed to system agent or rather the explanations of the actions taken? Or both?
Let’s go to the example. The changes are already in FACTORY version of yast2-users packages (yast2-perl-bindings needed as well), so you may even try yourself.
At first, I started logging actions done in Write function. I deleted one user and renamed another. See:
2009-02-05 15:15:55 <item> rivendell User and Group Management module started
2009-02-05 15:16:12 <note> rivendell File written: ‘/etc/group’
2009-02-05 15:16:12 <note> rivendell User pre-deletion script called: ‘/usr/sbin/userdel-pre.local cc 1003 100 /local/home/cc’
2009-02-05 15:16:12 <note> rivendell File written: ‘/etc/passwd’
2009-02-05 15:16:12 <note> rivendell User ‘aa’ renamed to ‘bb’
2009-02-05 15:16:12 <note> rivendell Home directory moved: ‘/bin/mv /local/home/aa /local/home/bb’
2009-02-05 15:16:12 <note> rivendell File written: ‘/etc/shadow’
2009-02-05 15:16:12 <note> rivendell nscd cache invalidated: ‘/usr/sbin/nscd -i passwd’
2009-02-05 15:16:12 <note> rivendell nscd cache invalidated: ‘/usr/sbin/nscd -i group’
2009-02-05 15:16:12 <note> rivendell Group ‘dialout’ modified
2009-02-05 15:16:12 <note> rivendell Group ‘video’ modified
2009-02-05 15:16:12 <note> rivendell Home directory removed: ‘/bin/rm -rf /local/home/cc’
2009-02-05 15:16:12 <note> rivendell User post-deletion script called: ‘/usr/sbin/userdel-post.local cc 1003 100 /local/home/cc’
2009-02-05 15:16:13 <item> rivendell User and Group Management module finished
Now, it is not bad, but the item “File written: ‘/etc/group'” doesn’t give much detailed info about what was done to that file. Stano proposed printing the diffs of the original and modified one, it could look this way:
2009-02-09 10:05:50 <item> rivendell User and Group Management module started
2009-02-09 11:05:49 <note> rivendell Backup created: ‘/bin/cp /etc/group /etc/group.YaST2save’
2009-02-09 11:05:49 <note> rivendell File written: ‘/etc/group’
2009-02-09 11:05:49 <note> rivendell Comparing original and new version:
— /etc/group.YaST2save 2009-02-09 11:05:49.000000000 +0100
+++ /etc/group 2009-02-09 11:05:49.000000000 +0100
@@ -8,3 +8,3 @@
daemon:x:2:
-dialout:x:16:bb,hh,linux,zz
+dialout:x:16:aa,hh,linux
disk:x:6:
@@ -45,3 +45,3 @@
vboxusers:!:113:jsuchome
-video:x:33:bb,hh,linux,zz
+video:x:33:aa,hh,linux
wheel:x:10:
`
2009-02-09 11:05:49 <note> rivendell User pre-deletion script called: ‘/usr/sbin/userdel-pre.local zz 1003 100 /local/home/zz’
2009-02-09 11:05:49 <note> rivendell Backup created: ‘/bin/cp /etc/passwd /etc/passwd.YaST2save’
2009-02-09 11:05:49 <note> rivendell File written: ‘/etc/passwd’
2009-02-09 11:05:49 <note> rivendell Comparing original and new version:
— /etc/passwd.YaST2save 2009-02-09 11:05:49.000000000 +0100
+++ /etc/passwd 2009-02-09 11:05:49.000000000 +0100
@@ -28,6 +28,5 @@
wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
-bb:x:1002:100:AAA:/local/home/bb:/bin/bash
+aa:x:1002:100:AAA:/local/home/aa:/bin/bash
hh:x:1000:100:hhh:/local/home/hh:/bin/bash
linux:x:1001:100:linux:/local/home/linux:/bin/bash
-zz:x:1003:100:zz:/local/home/zz:/bin/bash
+::::::
`
2009-02-09 11:05:49 <note> rivendell User ‘bb’ renamed to ‘aa’
2009-02-09 11:05:49 <note> rivendell Home directory moved: ‘/bin/mv /local/home/bb /local/home/aa’
2009-02-09 11:05:49 <note> rivendell Backup created: ‘/bin/cp /etc/shadow /etc/shadow.YaST2save’
2009-02-09 11:05:49 <note> rivendell File written: ‘/etc/shadow’
2009-02-09 11:05:49 <note> rivendell nscd cache invalidated: ‘/usr/sbin/nscd -i passwd’
2009-02-09 11:05:49 <note> rivendell nscd cache invalidated: ‘/usr/sbin/nscd -i group’
2009-02-09 11:05:49 <note> rivendell Group ‘dialout’ modified
2009-02-09 11:05:49 <note> rivendell Group ‘video’ modified
2009-02-09 11:05:49 <note> rivendell Home directory removed: ‘/bin/rm -rf /local/home/zz’
2009-02-09 11:05:49 <note> rivendell User post-deletion script called: ‘/usr/sbin/userdel-post.local zz 1003 100 /local/home/zz’
2009-02-09 11:05:50 <item> rivendell User and Group Management module finished
Here, the user knows more about the real changes, but the log file is getting a bit less readable again… still I think I’d prefer it.
You could see on examples that I don’t really use the advantage of having 2 logging functions. AFAIK Martin’s original proposal was to use items to tell what actions are we going to perform and notes to log the details of such action. This is hardly achievable in yast2-users module (may be better with
others), since at the time of writing we don’t know the “user actions” taken, this is the info which is known when user is clicking in the UI (*). So another idea is to log directly when users is using UI and not at the time of write. See the last example (this is not a full log this time, just part of it):
2009-02-06 15:54:02 <item> rivendell User and Group Management module started
2009-02-06 15:54:11 <note> rivendell (UI info) User ‘bb’ removed from group ‘dialout’
2009-02-06 15:54:11 <note> rivendell (UI info) User ‘aa’ added to group ‘dialout’
2009-02-06 15:54:11 <note> rivendell (UI info) User ‘bb’ removed from group ‘video’
2009-02-06 15:54:11 <note> rivendell (UI info) User ‘aa’ added to group ‘video’
2009-02-06 15:54:11 <note> rivendell (UI info) User ‘bb’ renamed to ‘aa’
2009-02-06 15:54:11 <item> rivendell (UI info) User modified: ‘aa’
2009-02-06 16:03:10 <item> rivendell User and Group Management module finished
I think the last method is getting more talkative and actually is not more helpful.
So – comments? Proposals?
(*) Actually it would need to be cached during the UI-clicking and logged at the time of writing only if user doesn’t cancel the actions.
The generation of apt repositories at gwdg.de is going to stop
I was just notified by the ftp admin of gwdg.de (Eberhard), the long time reliable mirror of openSUSE, that he is going to stop the cronjobs at ftp4 which generate the /pub/linux/suse/apt/ contents at ftp4.gwdg.de, and shortly there after the rsync runs which sync it to ftp3 and ftp5 will be disabled.
I would like to thank Eberhard for the reliable service and all the hard work that was performed to generate the apt repositories during all those years!
Customize your partitioner (+ let's go graphical)
As you probably noticed, for openSUSE 11.2 our goal is to significantly improve usability of YaST partitioner. I want to show you a feature that is in partitioner for quite some time already, yet it is quite little known. It helps you to customize the partitioner to best suit your needs.
One of the frequent complaints about partitioner was that it is "overengineered" and it presents so much information that it is really confusing for the (home) user i.e. the "1 laptop, 1 hard disk" usecase. While there are some other problematic areas, this particular one can be fixed rather quickly and in a simple way. And by "fixed" I of course do not mean that from now on, we will tailor the partitioner only to the needs of Aunt Tillie (Oma Krause), leaving the power users high and dry. Let's have a look at partitioner settings (that is, we'll switch to the branch labeled "Settings" in the left tree panel), especially at "visible fields" selection box:
Here you can set which information on storage devices you want to see, that is, how many columns the tables are going to have and how much details the overviews are going to contain. The less boxes you tick, the less details that only uselessly fill up the screen you'll see. For example, if you use neither LVM nor RAID setup, seeing "used-by" field is probably of no use to you. Similarly, if you have laptop with one hard disk, you don't need fiber channel ID bits of information. And since these settings are written to sysconfig, they are persistent. This is the default sysconfig configuration shipped with openSUSE 11.1 (and SLES11):
Too detailed and not much home-user friendly, now is it? This is the new, simplified default for openSUSE 11.2:
If you are a power user who uses advanced setup and wants to see more detailed information, you now know where to go and make it visible again :) Besides data presentation details, you can also pick a default filesystem or default mount-by method for newly created devices here.
Everybody else is doing it, so why can't we?
If you have ever used partitioning GUI tools in other distribution, even on other operating systems (GParted, PartitionMagic, DiskDruid,...), you have noticed that almost every one of those has some graphical representation of how the disk is partitioned. From now on, even YaST partitioner does:However, compared to other partitioners, our bar graph is rather dumb. It is not interactive (if you click on a partition in graph, nothing happens) and it does not even highlight current partition as one scrolls down the table. At least a tiny little improvement is that it can do tooltips now, so if the partition description text is too wide it does not fit the graph segment, the text is still replicated in a tooltip.
Do you like the graph? Do you want to have it improved? If so, please vote for feature 303534 in openFATE. I'd really like to have at least highlighting the current partition implemented (preferably, by thick pink border :) :D
rockmarble: how to follow your favourite artists tour with Marble
During the last weekend I wanted to have some fun with QJson. So I came out with this idea: retrieve from last.fm the tour dates of my favourite artists and display the locations using Marble.
After some hacking I created this small application: rockmarble…

If you have a last.fm account rockmarble will import your favourite artist list. Otherwise you can add one artists at a time.
The tour location will be displayed inside Marble, using openstreetmap.
Requirements
In order to build/run it you will need:
Installation
You can grab the source code of rockmarble here.
If you are an openSUSE user you can use 1click install:
Issues
Geolocalization
The geolocalization data are given by last.fm, so if you discover that Metallica are going to give a concert in the middle of the Pacific Ocean please don’t bother me :)
Special names
It seems that QJson doesn’t handle properly special characters. Maybe you will some artist with a blank name. I’m going to fix this issue asap.
More details
Visit rockmarble website
Future
Who wants to integrate it into amarok’s context view? ;)
New YaST-Web released 1.0.1
We have released a new version of Web-YaST with following changes:
- Added translation support on the client side.
- Added ruby-gettext
- Split off ruby-rpam and ruby-polkit in single packages.
- Switch off IPv6 in lighttpd cause it has produced some undefined errors. (esp. on 64bit)
- Added package dependencies concerning rails. The last few weeks have shown that RAILS versions are not really compatible. So many problems have been happened due different RAILS versions on the systems where YaST-Web has been installed. Please use RAILS 2.1
- Cleanup code.
The newest packages can be found here:
https://build.opensuse.org/project/show?project=home:schubi2
Or
https://build.opensuse.org/project/show?project=YaST:Web
It would be nice to get some feedback. Bugzilla would be a nice option 
Thank you !
Try and do some video interviews that we can group under the “People Of openSUSE” banner. I’ve already started this but mainly with Novell employees. If community members are willing to help out, please let me know (it could even be you filming yourself without any need for video conferencing).