Graphical vi-vim Cheat Sheet and Tutorial

Graphical vi-vim Cheat Sheet and Tutorial is yet another attempt to explain and visualize Vim commands to the editor’s new users.

This is a single page describing the full vi/vim input model, the function of all keys, and all major features. You can see it as a compressed vi/vim manual.

Vim adventures

Vim is quite famous for being the best text editor in the world.  However it has quite a learning curve, especially for people who don’t touch type and who aren’t much interested in their own productivity.  Over the years, there were a few efforts to help the newcomers learn the basics.  But, I think, nothing came close to the amazing game Vim adventures – a maze navigation game, that uses Vim controls.

Screencasting in Linux

I came across an excellent tutorial on how to do screencasts in Linux.  The original article is in Russian, so I just grabbed the important bits and translated them below.

  • Install screencast recording application.  recordmydekstop is available via yum install recordmydesktop and comes with a simple and straight-forward interface for both KDE and Gnome.
  • Record a screencast.
  • If you want to edit the screencast (cut out mistakes, add music, etc), install a video editor.  These came recommended: Pitivi, Kino, Kdenlive.
  • Edit your screencast.
  • Convert to AVI if needed (recommended before uploading to video hosting services, such as YouTube, as they don’t always work well with Ogg).  ffmpeg -i screencast.ogv screencast.avi should do it.  ffmpeg is also available in most distributions.  You can play more with parameters, or prepare the video during the editing stage.
  • Upload the video and share.

This is the kind of a guide that I need once in a while, but which I can’t seem to find when I need it.  Hopefully now that I have it blogged, it’ll come handy.

Finding files in Linux

Many beginning Linux users experience difficulties getting used to the filesystem structure. Indeed, there are many files and directories, the structure of which are not as obvious as it could be. Choosing an appropriate location for a new file or directory is difficult and many choose to follow their own instincts.

With more experience, the file hierarchy becomes clearer and old concepts of placing files and directories start to fade out. When it happens, finding things becomes difficult. It is than that users learn that Linux has many tools for finding things. And it is than that they become confused once again.

Read on for a quick introduction into searching tools available in Linux.

Continue reading “Finding files in Linux”

Managing RSS subscriptions with Bloglines

While trying to convince the administrator of Cyprus Forum to add RSS feeds, I’ve wrote this rather long post that explains what is RSS, why one would want to use it, and how to use Bloglines to manage one’s RSS feeds.

Nothing new and fancy – just a simple explanation for RSS newcomers, with a screenshot of my Bloglines interface. You might find it useful. Or you might find it not. I’ll leave that up to you.

Dive into Python

Once in a while I need to write a couple of lines in Python. When that happens I histerically run around the web looking for some quick introduction or tutorial on the language. There are plenty of those, of course. But just to have something handy, I’ll put a link here to Dive Into Python. What is so different about this tutorial is that it is very practical. There are many examples of code and very little explanations and theoretical crap that everyone knows already or can guess from the code. Simply use table of contents and jump to the needed part, where example awaits for you. Great!

Wanna learn Japanese?

LaughIf you ever were, are, or will be thinking about learning Japanese language, you should read this small essey on the subject. Even if you are not going to think about learning Japanese, you should still read this essay, because, I am telling you, it is one of the funniest things I’ve read in recent years.

The only Japanese that I “know” is “Kuma yo oyabun?” which supposedly means “Who is your boss?”. It was translated by some unknown guy into Russian from English subtitles of some American action movie of the 80s. That is one reliable source. :)

Getting ready for Artificial Intelligence … again

Being a lazy bastard and a horrible student such as I am, there is no surprise in that I failed so many courses in the college. I am currently standing at 3 courses left for my Bachelor’s degree. One of these three courses – Artificial Intelligence – seems to be the toughest target due to a number of arguments I had with a teacher. And there is no way there will be any other teacher for this course in the near future, so I have to prepare myself real good. It is about time that I start with my morale. :)

Not to scare myself away, I will start small. I will just put three links in this post to other web resources, that I will visit during my preliminary preparations. Here they come:

  • Website of MIT Artificial Intelligence Laboratory is here. Maybe I will anything entertaining to read in the number of publicationis and researches there that will interest me in the subject.
  • AI on the Web – is a collection of useful links to many AI resources. I am using at as a cheat, since I decided to have only 3 links in this post. :)
  • A Prolog Introduction for Hackers – another useful article at kuro5hin. Last time I took A.I., a substential amount of time was dedicated to Prolog studying without any useful materials provided, so this bookmark should help.

That’s it. This post is my greatest advance in studing A.I. during the last two years. :)

PHP, Zope/Python, and Perl

There is an article at called “Switching from PHP to Zope/Python“. This should provide for an interesting read for all those poor PHP souls.

As for me – I use Perl and I am not planning to change any time soon. There are two major bonuses in Perl for my programming tasks:

  1. CPAN – Comprehensive Perl Archive Network. This is a huge collection of modules that help me to avoid as much programming as possible. And that’s pretty much.
  2. Perl’s scalability to all sorts of tasks. I am using Perl for one-line long utility scripts, log analyzing, mail searching, graph building, database maintenance, web programming and anything else that pops up. The broadness of tasks makes PHP way underpowered and Java way too complex. There are tools that might come handy (like Python), but why change if Perl works for me?

Said that, I am familiar with other languages, since it’s not rare at all that I need to patch someone else’s code. PHP being a widely used language for web development comes to my hands pretty often. My Python familiarity is more on the system level and GUI programming.