Jump: a bookmarking system for the bash shell
[](http://flavio.castelli.name/wp-content/uploads/2010/08/van-halen- jump.jpeg)Let me introduce a small project I’ve been working on with a friend of mine, Giuseppe Capizzi. The project is called jump and allows you to quickly change directories in the bash shell using bookmarks.
Thanks to Jump, you won’t have to type those long paths anymore.

You can find jump’s source code, detailed documentation and installation instructions here.
SUSE packages can be found here.
Problems installing software in openSUSE?, Simple solution!
Sometime ago I had a little problem with Zypper at the time of adding some packages. The same problem extended to YaST and well, the end of the world.
Possibly there was a integrity problem between the updater and the database RPM, or whatever, the true thing is that the error goes like:
Tamaño total a descargar: 174,1 MiB. Después de la operación se utilizarán 565,0 KiB adicionales.
¿Desea continuar? [s/n/?] (s): s
Descargando paquete graphviz-2.20.2-45.4.1.i586 (1/153), 868,0 KiB (2,2 MiB desempaquetado)
Descargando delta: ./rpm/i586/graphviz-2.20.2-45.3_45.4.1.i586.delta.rpm, 30,0 KiB
Obteniendo: graphviz-2.20.2-45.3_45.4.1.i586.delta.rpm [hecho (19,6 KiB/s)]
Aplicando delta: ./graphviz-2.20.2-45.3_45.4.1.i586.delta.rpm [hecho]
Instalando graphviz-2.20.2-45.4.1 [error]
La instalación de graphviz-2.20.2-45.4.1 ha fallado:
(con –nodeps –force) Error: Subprocess failed. Error: RPM fallido: error: db4 error(-30987) from dbcursor->c_get: DB_PAGE_NOTFOUND: Requested page not found
error: error(-30987) getting “” records from Requireversion index
error: db4 error(-30987) from dbcursor->c_get: DB_PAGE_NOTFOUND: Requested page not found
error: error(-30987) getting “” records from Requireversion index
error: db4 error(-30987) from dbcursor->c_get: DB_PAGE_NOTFOUND: Requested page not found
If you have some error like this one, the solution its extremely simple, just run in the command line interface:
sudo rpm --rebuilddb && sudo zypper clean -a && sudo zypper ref
This will rebuild the RPM database and then refresh the repos. 
Who does not want such a gift
This post is showing naked women packaged as a present (for openSUSE's 5th birthday) and asks Ah... who does not want such a gift, eh
.
I believe that the female users and contributors of openSUSE don't. It reduces them to pretty things, judged on their looks instead of their contribution.
Raul, please stop such sexist postings. Your blog is your own, but keep it out from Planet openSUSE.
Just in case common sense is not enough, let me quote for reference the relevant section of the openSUSE Guiding Principles:
We value... respect for other persons and their contributions, for other opinions and beliefs. We listen to arguments and address problems in a constructive and open way. We believe that a diverse community based on mutual respect is the base for a creative and productive environment enabling the project to be truly successful. We don't tolerate social discrimination and aim at creating an environment where people feel accepted and safe from offense.and the activities in order to excel in our goals:
Emphasize the value of communication and recognize cultural diversity within our community.
Somethings to do after an openSUSE Installation (Part 2)
So, continuing with my last post about things to do after an openSUSE installation, now its the time for “Adding Games”, but first, some clarifications about two things:
One: You can add Codecs and other stuff with a 1-click-package, avoiding to use Zypper, I just expose the zypper method because I think its a bit more short :-P, but that its just matter of taste. So, if you are running openSUSE 11.3 with KDE use this ymp, and if you are using GNOME use this other. If you are on a older version of openSUSE, just go to this page and select your version.
Two: The broadcom-wl package its on Packman, so you have to add that repo (Via YaST -> Repositories), before you can install that package.
After this, now we can keep going.
Adding Games
So, the question: “¿Why a lot of games that are popular in the FOSS community aren’t by default in openSUSE?” For example, OpenArena, Battle for Wesnoth, aTanks, BlobWars, Crack Attack, LBreakout2, Torcs, SuperTux,… Well, because those games are on its own repo called “Games”.
To enable this repo just go to: “YaST -> Software Repositories”, then will show you the repos management window, you push “Add”, and then select “Specifying URL”, then in the name “Games”, and the URL “http://download.opensuse.org/repositories/games/openSUSE_11.3/“, “Next”, if he ask you something you say yes (import gpg signature and stuff), then you get back to the main window and then you hit “Accept”.
In the URL, change the number of the version if needed, and done… You have now a LOT of games available via YaST 
Next to come: Adding 3D Acceleration.
openSUSE LaunchParty in Mérida, Venezuela
Well, finally and happily I was able to make my LaunchParty for 11.3 here in my city. It was a simple setup: The place with the help of a local FOSS Academy that let me use his installations, Some media that I burn to giveaway, one of my laptops and my sister laptop to place two machines for desktop demonstrations, and just the desire to speak the word of the Geeko
…
After the event we have a “PizzaGeek”, with some of the participants to speak a lot of Geek Frikie stuff.
I hang a full photo set in Flickr,
Latex editors and rubber
Whether you are a frequent latex user, and especially if you are just starting off with it, you must have encountered situations where compiling the document correctly gets downright painful. Or found it just irritating to google every time or look up a cheat-sheet [pdf] to insert a not-so-common symbol. Or you know about the excellent application kile but as a GNOME/LXDE/Xfce user you did not want a zillion kde libraries installed.
I have started maintaining three packages, namely Texmaker, TeXworks and Rubber, in the Publishing repository. These applications make working with and compiling latex documents user-friendly and painless.
Texmaker
This is a frontend for editing latex documents much like kile (which is distributed with openSUSE 11.3 and prior), with several useful features:
- integrated pdf viewer
- user-friendly interface based on qt
- wizards to generate code
- integrated error and warning viewer
- an integrated LaTeX to html conversion tool
- based on qt with no dependence on kde libraries, which means somebody using a non-kde desktop might install it without pulling in one big chunk of the kde base (as a GNOME user, I find this to be a problem with kile), and so integrates well with a non-KDE desktop as well.
Install on openSUSE
openSUSE 11.2 (from my home project, this requires libqt4 >= 4.6.1)
openSUSE 11.3
Factory
TeXworks
Also based on the qt toolkit, TeXworks is a Latex frontend with an integrated viewer that supports source/preview synchronisation. This makes it possible for you to right-click on the embedded preview [pdf, ps, etc] and choose to go to the corresponding line/paragraph in the latex source. I think, but I am not sure, that TeXworks is the only Linux application which uses source/preview synchronisation at present.
Install on openSUSE
openSUSE 11.2
openSUSE 11.3
Factory
Rubber
Rubber is a command line application that automates compilation of latex documents, in the sense that it takes care of getting cross-referencing, citations and so on just right with one run, while it takes the native texlive commands (latex/pdflatex) as many as four runs to do so. Rubber makes the process of compiling a source file into the final document completely automated including processing bibliographic references or indices, as well as compilation or conversion of figures and several post-processing work.
Install on openSUSE
openSUSE 11.2
openSUSE 11.3
Factory
Here’s hoping latex users (esp. beginners) on openSUSE will find these applications useful.
Have a lot of fun.
Bye.
——-
Update: The command latexmk works similar to rubber (i.e. running latex/pdflatex as many times as necessary to get the cross-referencing right), while kile/okular can be configured for source/document synchronisation similar to texworks as pointed out in the comments.
Upgraded to openSUSE 11.3
I went via the command line and ventured to keep all additional repos enabled. So switching the repos was done simply by
sed -i "s/11\.2/11.3/g" /etc/zypp/repos.d/*The KDE session crashed after kdelibs4-core had been updated. No big deal, so I ran
zypper dup again. The /home directory is mounted via NFS, so filesystem.rpm failed when it wanted to reset the permissions of /home. Updating it explicitly after unmounting /home was easy, only unmounting it was harder because the crashed session left processes still accessing the home.
fuser -v /home found them.The NFS mount is also authenticated by Kerberos and there is a bug so I got
mount.nfs: access denied by server while mounting nfs.example.com:/homeI had to rebuild and update a package and tweak a config file. See bnc#614293 for the details (thanks to mcaj for the reference).
Local caching for CIFS network file system – followup
Here’s a follow-up to my previous post on Hackweek V: Local caching for CIFS network file system
Since the previous post, I worked on improving the patches that add local caching, fixed a few bugs, addressed review comments from the community and re-posted the patches. I also gave a talk about it at the SUSE Labs Conference 2010 took place at Prague. The slides can be found here: FS-Cache aware CIFS.
This patchset was merged in the upstream Linux kernel yesterday (Yay!) which means this feature would be available starting from kernel version 2.6.35-rc1.
The primary aim of caching data on the client side is to reduce the network calls to the CIFS Server whenever possible, thereby reducing the server load as well the network load. This will indirectly improve the performance and the scalability of the CIFS Server and will improve the number of clients per Server ratio. This feature could be useful in a number of scenarios:
– Render farms in Entertainment industry – used to distribute textures to individual rendering units
– Read only multimedia workloads
– Accelerate distributed web-servers
– Web server cluster nodes serve content from the cache
– /usr distributed by a network file system – to avoid spamming Servers when there is a power outage
– Caching Server with SSDs reexporting netfs data
– where a persistent cache remains across reboots is useful
However, be warned that local caching may not suitable for all workloads and a few workloads could suffer a slight performance hit (for e.g. read-once type workloads). So, you need to careful consider your workload/scenario before you start using local disk caching.
When I reposted this patchset, I got asked whether I have done any benchmarking and could share the performance numbers. Here are the results from a 100Mb/s network:
Environment
————
I’m using my T60p laptop as the CIFS server (running Samba) and one of my test machines as CIFS client, connected over an ethernet of reported speed 1000 Mb/s. ethtool was used to throttle the speed to 100 Mb/s. The TCP bandwidth as seen by a pair of netcats between the client and the server is about 89.555 Mb/s.
Client has a 2.8 GHz Pentium D CPU with 2GB RAM
Server has a 2.33GHz Core2 CPU (T7600) with 2GB RAM
Test
—–
The benchmark involves pulling a 200 MB file over CIFS to the client using cat to /dev/zero under `time’. The wall clock time reported was recorded.
First, the test was run on the server twice and the second result was recorded (noted as Server below i.e. time taken by the Server when file is loaded on the RAM).
Secondly, the client was rebooted and the test was run with caching disabled (noted as None below).
Next, the client was rebooted, the cache contents (if any) were erased with mkfs.ext3 and test was run again with cachefilesd running (noted as COLD)
Next the client was rebooted, tests were run with caching enabled this time with a populated disk cache (noted as HOT).
Finally, the test was run again without unmounting or rebooting to ensure pagecache remains valid (noted as PGCACHE).
The benchmark was repeated twice:
Cache (state) Run #1 Run#2
============= ======= =======
Server 0.104 s 0.107 s
None 26.042 s 26.576 s
COLD 26.703 s 26.787 s
HOT 5.115 s 5.147 s
PGCACHE 0.091 s 0.092 s
As it can be seen when the disk cache is hot, the performance is roughly 5X times than reading over the network. And, it has to be noted that the Scalability improvement due to reduced network traffic cannot be seen as the test involves only a single client and the Server. The read performance with more number of clients would be more interesting as the cache can positively impact the scalability.
Wanna work on openSUSE?
Yes, this is basically a job ad. The openSUSE Boosters team is expanding again (when will it ever stop?) and we're looking for another member. If you want to work full time on Linux, enjoy the idea of building a community around the distribution and think you have the right skills why not apply and have the chance to work with me, Lubos Lunak, Stephan Kulow, Klaas Freitag and many other people you know from the KDE and wider Free Software scene?
Comunity add-in repository for MonoDevelop
- The add-in developer creates a new project in the web site by specifying a name, description and version control urls to the source code. It currently supports Subversion, Git and Bazaar.
- A build service pulls the code from the version control repositories and builds it.
- The built add-ins are published in an standard Mono.Addins add-in repository in the web site.
- Users can subscribe that repository and install the add-ins.

