Archive for September 2008

The archive contains the posts for the selected timespan.

Do you know those moments in life when you discover some piece of software you didn’t know before and immediately fall in love with it, not knowing how you could survive without it for so long?
Well that just happened to me with Vimperator. Vimperator is a Firefox addon that (by default) takes away your menubar and other things of the standard Firefox interface and adds vim behaviour to your browser.

If you do not like vi/vim/gvim for whatever reason, skip this posting.

Once you installed the addon and restarted your browser you can go to the Vimperator introductional page by pressing F1. You will notice there is a tutorial in the Help topics section. If you are already familiar with basic vim usage you should be able to go over that tutorial in about 15 minutes. After you mastered the basics you will be able to efficiently surf the web with your Firefox browser without issueing the mouse (too often). (I have not encountered a situation where I really needed the mouse yet, but I imagine some flash applications will be hard to master without. I have no flash at hand at the moment, though. Note: You are still able to use your mouse even when Vimperator is active.)

If you tried some console based browsers in the past you may have gotten annoyed when trying to click some link at some spot within a page. Hitting TAB until you reach that specific link is no fun. Therefore Vimperator introduces a system called Hints. By pressing either the f or F key (open in this tab / open in new tab) you will notice that Vimperator adds a small red box with a number in it for each link on the page. You can now simply enter the number of the link you wish to open. Now that’s a much better concept than hitting TAB repeatedly.
Have you ever got annoyed by some textfield that was way too small for the text you were typing in it? Sure, you could just fire up your favorite editor and copy and paste your text after you are done. Vimperator has a nice shortcut for that. Once your focus is on some textfield, press CTRL+i. Vimperator then fires up gvim (make sure it is installed) and you can type your text in that editor window. After saving and closing the document, the text is automatically put into the texfield (this posting is written that way).

If you have any questions the excellent (so far) documentation fails to answer, /join #vimperator on irc.freenode.net.

So, if you like vim and want to make your browser more accessible for you without a mouse (or less accessible for anybody else who even has a mouse but does not know vim) you should definitely take a look at this very cool plugin.

Keep in mind that I’ve only used it for about two hours at the time of writing. If you know any other tricks, drop a comment.

Screenshot

5 comments Sep 20, 2008 6:49:00 PM firefox, nerdstuff, technology, vim

If you just want a bunch of interesting links, jump to Status Quo. You may be interested in my other thoughts too, though.

The Cornerstones

The first computer I ever sat in front of was an old Amstrad PC with monochrome display. I first accessed the internet with a 56k dial up modem (which happened years after getting in touch with computers) and as far as I remember, it was astonishing.

As you may have noticed computers evolved slightly since then. Today you get quad core processors, tiny flash memory sticks that can store more information than the hard disk drives most of us started with and of course much faster internet access. The technological progress that has been made significantly impacts the way we are interacting with modern pieces of technology, e.g. computers. We can now film ourselves or do screen recordings and put them somewhere on the internet so others can easily access them.

In fact nowadays there’s so much information out there that you need some really big search engine to dig through the masses of bits and bytes to find what you are searching for. The same applies for videos. Services like YouTube make it trivial to put videos up, watch them and make them accessible to the world.

The Value of Knowledge

It is a fact that knowledge and proper education leads to wealth (not speaking of money or expensive cars). Our goal therefore must be that everybody who wants it, gets the chance to learn. We must not deny proper education to some people just because they got no money. In such cases we should rather aim to support them. You can send food and clothes to people in need, sure. You don’t want them to starve. But at the same time you need to make sure that access to knowledge is provided as well, in order to allow those people to become independent of you.

The Prerequisites

The obvious question is: How do you best provide access to information and knowledge long-term?
My answer is: Teach people the prerequisites so they can take care of their education on their own.

The major problem was that you just cannot cheaply get a whole library up somewhere, filled with recent books of high quality. With todays technological advances however, you can! Just provide fast enough internet access and teach how to use it.

Sounds easy, doesn’t it? “People who cannot afford food and clothes cannot afford computers and internet access either!“ I hear you say. That is true. That’s why organizations such as Linux4Afrika were founded. That’s another reason for Ubuntus existence. There’s a bunch of things involved, but we are on the right track. (Another obvious thing is the need to understand the language most of the information is available in. So go and learn English if you havn’t already. It’s just so important.)

Status Quo

Assuming you fulfil the necessary requirements you already have access to quite a few good resources on the net.
(Disclaimer: The following list is by no means complete. If you know a good service for this list, please drop a comment!)

  • Wikipedia – I guess I don’t need to explain.
  • Google Tech Talks is a brilliant channel on YouTube containing hundreds (913, at the time of writing) of videos on technological topics.
  • The Stanford University launched a service called Stanford Engineering Everywhere, containing filmed lectures with good quality. (E.g. “Introduction to Computer Science“, “Artificial Intelligence“, “Linear Systems and Optimization“)
  • ShowMeDo is a service providing tutorial videos on popular technological topics.

I personally love learning things I think are interesting. When I was told that Stanford University now also make some of their lectures available online I felt the urgent need to write a posting about it and thought it was a good opportunity to outline the importance of such services and the availability of broadband internet access.
(Thanks Canonical for inspiring me with respect to the title of this post.)

2 comments Sep 18, 2008 3:45:00 PM better world, technology

After last years successful Ubuntu Conference (Ubucon in short) for the German-speaking community, the second German Ubuntu Conference will take place on 17., 18. and 19. of October 2008 in Göttingen, Germany (we were in Krefeld last year). The list of talks, workshops and discussions is available already.

If you have any questions you can find us in #ubucon-de on Freenode IRC.

See you there!

0 comments Sep 9, 2008 4:25:00 PM community, ubucon

As I already mentioned in my last posting I participated in this years Google Summer of Code. I sent an application for the MoinMoin Wiki Project and got elected as one of the students who were allowed to work on MoinMoin over the summer. My task was to Extend and refactor the MoinMoin Storage Engine.

Historically, MoinMoin has always stored everything as text files on the disk. There are several disadvantages to this old approach:

  • Due to the way the files were stored, the storage didn’t scale well.
  • It is almost impossible to have separate dedicated “database” servers.
  • Pages, users and attachments weren’t stored uniformly, thus making the system more complex.

The idea of my task (not the first of its kind) was to inject an abstracted storage layer. MoinMoin now talks to some object it knows is a storage backend and does not care how the backend handles storage technically. The things you store inside backends are called items which have revisions. Pages, users and attachments are now uniformly stored as or inside such items. MoinMoin just says “store this item” and the backend does, depending on what kind of backend it is.

The administrator defines what backends to use for user and data storage. You can choose between several backends, e.g. a Mercurial backend (which was another GSoC task) or a filesystem backend (still useful if you don’t have a database). It is not difficult to write a new backend since all you need to do is implement a single class (The new API was designed for that). There are some other (still unfinished) backends that can be used as middleware, e.g. a backend that wraps other backends and stores items in the correct backend depending on the name of the item. There is also a converter script that takes a source and a target backend and transfers all the data from the source to the target backend. This is especially useful in combination with the read-only FS17 backend. As the name indicates, this backend supports reading data from your “old” MoinMoin 1.7 installations. This allows you to migrate to the new storage system and swap backends easily afterwards in case your requirements change. The sheer amount of backends I just mentioned should be proof enough that it is not hard to write a new backend, especially since there are even more backends in existence. As a side note: These changes make it possible to come up with a SQL or even a SQLAlchemy backend. (The benefit of the latter is to be database-agnostic.)

Note, however, that this will not make it into MoinMoin 1.8. There is still work that needs to be done. If you want to help or even contribute a backend, join #moin-dev on Freenode and we will help you get started.

It was fun to participate. The other developers were friendly and welcoming, which is essential in an Open Source environment. So thanks Thomas, Alexander, Reimar, Radomir and Armin! I especially need to thank Johannes for being a fantastic mentor (no objections)! I learned a lot from all of you. So thanks a bunch for allowing me to work on your project and thanks Google for driving the Summer of Code!

1 comment Sep 7, 2008 5:44:00 PM Coding, MoinMoin, Python

It’s been a while since I last posted on my blog. The “downtime” had several reasons:

  • I participated in Googles Summer of Code this year and was quite busy due to that (blog post for that is on its way).
  • I didn’t want to use Wordpress any longer.

I never planned to quit blogging completely because there’s always stuff coming to my mind that I want to make accessible to a wider audience. So now I sat down and worked on a new blog using Zine. Zine (formerly known as TextPress) is a python-powered blogging application similar to Wordpress. It is quite easy to write plugins and themes for it and since I use to program in Python I chose this awesome (but not yet released) piece of software. I didn’t migrate my old postings over from wordpress (although there’s a converter) because I want to change my style of writing a bit (e.g. no smileys anymore). Any link out there pointing at my old blog will be redirected to this very post. If you want some old posting, just contact me by either mail or comment. I keep the database alive.

As of that, I also changed my hackergotchi since the old version somewhat resembled a criminal. (Just in case you were wondering who I am.) I have to thank my fellow student and friend Alvaro for spending several hours with me, testing his new camera and producing the photos.

The new blog is dressed in a theme that I wrote, supported by my buddy Arne. Thanks so much for providing the graphics and coming up with the basic layout idea! (I cannot count the many days of work he put into that. I owe you a beer.)

Expect postings from me at a much higher rate now. I’ll try not to flood planet ubuntu too much, though. (Due to excessive testing there should be no remaining bugs, but one can never know for sure. If you notice anything, please drop a comment to this post.)

4 comments Sep 6, 2008 9:23:00 PM maintenance, zine