Feeds:
Posts
Comments

Archive for the ‘Linux’ Category

I am primarily a keyboard person and like to have as many keyboard shortcuts as possible – I used a variety of tools for this end ranging from Autokey, GNOME-Do etc. Specifically, I was using AutoKey for many of keyboard shortcuts to invoke applications  – eg Windows+g for gedit, Windows+c for Chrome and so on. The basic idea was to create a Autokey script and use Python’s subprocess module to invoke the application. For details refer my old blog post on AutoKey.

Recently, I bought a new laptop and did a fresh install of Ubuntu and other applications. I am still tweaking it to increase productivity. I noticed that GNOME now allows you to set arbitrary custom keyboard shortcuts in a easy fashion.

The way to add additional custom keyboard shortcuts used to involve muddying around with gconf-editor or xbindkeys. Now it is dramatically easier. Invoke System –> Preferences –> Keyboard shortcuts. You can use this window to modify keyboard shortcuts for certain preexisting entries – For eg I set starting a new terminal to Alt+F3 instead of Ctrl+Alt+T (see option ‘Run a Terminal’ under ‘Desktop’ in the shortcuts window).

To add a shortcut for arbitrary action that is not listed , click on “Add” button. You will get a new dialog with two entries : Name and Command. Let’s suppose I want use Window+g to start gedit. So in Name enter “Gedit” and in Command enter “/usr/bin/gedit” . Press “Apply” . Now you will see a new entry in the “Custom Shortcuts” section. You can click on the shortcut section and enter some keyboard shortcut. In my case, I entered “windows+g”. Typically, Windows key shows up as Mod4.

I like this new mechanism as it is much cleaner, intuitive and user friendly.  I decided to write this post as most top results in Google for ‘custom keyboard shortcuts in Linux’ kept pointing users to solution using gconf-editor or xbindkeys. They do have a role , but I am sure most users will be will more than happy with this GUIsh way.

Read Full Post »

How to Speed Up Videos in Linux

I listen to a lot of lecture videos – primarily on Machine Learning, CS concepts  and Mathematics. Recently, I am on a back to basics in Math spree , listening to lectures on Probability, Single Variable Calculus, Multi Variable Calculus etc. I will put a more detailed blog post on the experience shortly.

Most of the recent lecture videos I saw covered topics which I learned in my undergraduate. My primary intention was to refresh stuff rather than learning them anew. So I wanted to go over them reasonably rapidly. Alas, there is no way to “skim” a video.

A natural solution is to increase the playback rate of the videos. One of the reasons I was looking for increasing a playback is this : When I listen to some stuff with which I am reasonably comfortable, my mind tends to wander off as the professor works out some problem steps. Some times, I can see the final answer mentally and I open up browser to check news or reddit and I sometimes lose the next topic.

Increasing playback rate is not such a radical solution as it seems. Most of the time, professors , especially the ones in US, tend to talk slowly. So by increasing the playback speed you can still follow the discussion. I am not talking about view them at twice the speed – but a more gradual 1.1 or 1.2 times the normal speed.  Even though the time savings are not significant, they do add up. Probably a bigger incentive is that your mind is more alert as the video is faster and it has to work hard to keep up 🙂

Increasing Playback Speed in Totem

Totem is my default / preferred player to view lecture videos for multiple reasons – It is relatively light , has all the basic features and most importantly its skip keys seem very natural to me.  Unfortunately, I was not able to find any way to increase playback rate. I checked the man pages and its advanced options and found none. 

Since I had written couple of basic Python Totem plugins, I thought it should be possible to whip up one more plugin to vary playback speed if it had some API. I also checked its python bindings for some API to do that but was not able to find any.  So with a heavy heart , I had to ditch Totem. Of course, if I find any other “dense” lectures which will force me to see it in normal speed, totem will again be first choice. For now, I had to search for other alternatives.

 

Increasing Playback Speed in Mplayer

The next player I settled naturally was Mplayer. It is the ultimate geek’s player with literally tens of knobs to tweak. It also has lots of keyboard bindings that allow you to control almost all the features without using mouse at all. Even though some of the keys were idiosyncratic, I kinda got used to them.

One of the neat features in mplayer was that it had a simple keyboard based command to modify playback rate.

To increase playback rate by 10% press “]” and to decrease press “[“.

There is also a more radical key binding – You can use “}” to double playback speed and “{“ to halve it. I doubt anyone will use it though. One of the catches is that the playback rate increases by 10% every time when you use “]”. For eg 1x, 1.1x, 1.2x and so on. If you want something in between, I think, it is not possible by just some keyboard combination.

Even though this setup seems perfect, I had an odd problem. The voice of the instructor seemed to have a shriller voice when I increased playback which was disconcerting to me. After some research I found that using ‘scaletempo’ fixes it. Unfortunately, it worked for some videos and did not work for others.  Specifically, I found that some of the videos in MIT OCW Calculus Revisited (great lectures BTW) course did not work well with increased playback rate.

The command to enable scaletempo and to set an initial speed rate is

mplayer -af scaletempo -speed 1.1 lectureVideo

This command starts the video at 1.1x speed and enables scaletempo. If you increase the playback speed in mplayer after this (say to 1.2 by using “]”), the scaletempo will make sure that the voice quality remains good.

This seemed to work for some of the lectures and did not work for others. So, I had to ditch mplayer also.

 

Increasing Playback Speed in VLC

VLC is not one of my favorite players. Somehow it evokes an image of that of a  bulky application.  So I tried VLC only reluctantly after other options failed. Similar to mplayer, it had an option to speedup playback rate by 10%.

To increase playback rate by 10% press “]” and to decrease press “[“.

Additionally it had an option to set the playback rate in a finer way using slider in GUI. But in practice, it proved too tricky to use. At the bottom pane, it has a widget which shows the current playback rate (near the place where it shows video time information). Clicking on it shows a slider which you can tweak. Somehow the slider did not allow to smoothly select any value – It kept abruptly jumping between one discrete value and other – for eg from 1.18 to 1.23 to 1.3 etc. I was not able to set it to 1.18 at all.

Finally I got so fed up that I chose an initial speed and started VLC with that and did not change the rate during playback. VLC has a command line parameter that sets up the playback rate :

vlc –rate 1.1 lectureVideo

This command will start VLC with 1.1x speed. All the ways to modify playback rate via UI/keyboard are still available. The only advantage is that it allows me to set a more precise level like 1.25.

As with mplayer, you need to enable scaletempo so that the pitch of video does not change with increased playback. To do that :

1. Tools –> Preferences

2. Select ‘Advanced’ mode (the radio button at end’)

3.  Select Audio->Filter

4. Select the ‘Audio tempo scaler synched with rate’

5. Close and open the video again.

Finally VLC was able to handle all the videos and variable speed without the pitch of the voice deteriorating.

Some tips on increasing playback speed

I found that increasing playback speed helped me to focus better. Also I am able to finish listening to videos slightly earlier. I would suggest you to start at 1.1x and listen to couple of videos before increasing them. I am currently able to listen to lectures very comfortably at 1.25x . I listen to some videos at a higher rate – For eg, I usually see the MIT OCW Multivariable Calculus lectures (started this week !) at 1.3 – 1.35x.  Your mileage might vary. Use the finer settings allowed in VLC/mplayer to adjust it to your own pace.

Pressing “=” resets it to normal pace.

If you find it too fast and have trouble, reset it normal pace and use the keyboard commands to set it to slower speeds. As time goes, you will notice that you are able to view videos at a fast rate and yet able to understand them fully !

 

Increasing Playback Speed of Online Videos

The next logical step will be tweak the speed of online videos – If I can understand technical lectures at 1.25x, then I am sure that I can view sitcoms or youtube videos at similar if not faster rates. Unfortunately, I was not able to find any Linux utilities to do that. Most of my searches led me to Enounce Myspeed – But that is not available for Linux !

I plan to spend some time this week to check if I can hack up some solution – Broadly, I am splitting it into two parts – One that works with HTML5 Video and other that works with Flash videos. I think I have made some progress but I am still not sure how feasible it ultimately will be. I am exploring lightspark to check it has some mechanism to do that. If I find anything interesting , I will post about it !

 

Hope this post helped you to watch videos  – Lecture or others and a faster clip ! If you have any tips, feel free to add in the comments !

Read Full Post »

GNOME Do is one of the coolest utilities in Linux. If you are a keyboard person you will love it. Even otherwise, do check it out as even a rudimentary use of it will tremendously improve your productivity. I have been using GNOME Do for almost a year now. I had been thinking of blogging about it for long but hesitated since it already had lot of good tutorials. I will give a brief tutorial of GNOME Do and an overview of various common tweaks you can do to get the best out of it.

What is GNOME Do

GNOME Do is , at its core, an application launcher. That is , it gives a convenient way to start some application. There are two things that makes it cool : First is that it is a self learning system which adapts to your usage and idiosyncrasies. Second is that when you add some plugins, GNOME Do will allow you to manipulate different types of objects – files, directories, contacts and more.

The discussion above may not seem interesting enough to you – Consider how you usually start an application. If you are a geek, you may use the terminal (or use the Run Application dialog using Alt-F2). There are few problems : You would have to remember the exact name of the utility and you need to type its entire name all the time. Basically, your terminal does not become intelligent automatically and figures out that when you typed "sy", you wanted to run Synaptic. You can try autocomplete or you can set aliases but it you just shifted the problem rather than solving it. The second option is to use the menu. That is really painful – Take your hand off the keyboard, click on the menu, figure out under which submenu the application is in, select it and click it – Sure it sounds exaggerated but each time you do it, it shaves some seconds out of your productive time and these seconds add up !

The plain vanilla GNOME Do waits in the background. When you type some special invokation keystroke, it springs up. You can type part of the app’s name and it automatically finds it. Even better , it gets better over time. Now a days, most of the time , I can reach the app I want in 1 or 2 keystrokes.

Comparison with Other utilities

Before discussing GNOME Do more, I wanted to discuss other related utilities. Application Launchers are very common in most OSes and there are a variety of them to select from in Linux. I have tried Launchy before – It worked sort of , but somehow I preferred GNOME Do better. One big advantage of Launchy is its cross platformness. I know there are others like Kupfer, Katapult etc but some GNOME Do seems the best to me. There is a new one in the horizon – Synapse. I am pretty intrigued with this one as it also uses information from Zeitgeist. I have been using it for past few days but it has not made me change my launcher – But given its Zeitgeist integration, I intend to keep an eye over Synapse.

Another big utility which is not really a launcher but can be tweaked to do is Autokey. Autokey’s incredible scripting support allows much more complex interactions possible. But for most basic application launching , GNOME Do will be enough (though with the help of a few plugins).

Installation and Setup

One (minor) thing to note is that GNOME Do is written in C#. I do not find anything significant there but some people may object to installing Mono based software in a Linux system. I hope that as more and more neat utilities like Banshee, Tomboy become widely used the objections will fade away. You can install , GNOME DO from Synaptic (package name is gnome-do). Or if you are a command line person use,

sudo apt-get install gnome-do

If you are interested in getting the latest and greatest GNOME Do as soon as possible , install its PPA. GNOME has been silent lately, but I found few announcements about a rewrite. Hope it keeps evolving. The name of the ppa is ppa:do-core/ppa . You can add the repository by

sudo add-apt-repository ppa:do-core/ppa

Invoking it is very simple . It is in Applications -> Accessories. If you are a command line person, enter "gnome-do" in terminal. I think by default, GNOME Do adds itself to startup applications.

Tweaking the Preferences

GNOME Do starts up and waits silently in the background. You can check the notification area in the gnome panel. The icon for GNOME Do looks like a star in a pink (or some color similar) background. The default keystroke to bring to foreground is Super+Space where Super is the Windows key in keyboard. The interface is really minimalistic which we will explore later. Now click on the arrow in the top right corner and select the preferenes.

There are four tabs (as of this writing). Check all the items in ‘General‘ tab. In the ‘Keyboard‘ tab, you can alter the keys used in GNOME Do. I think most of the defaults are fine. The simplest item to change is the keystroke to Summon the application which by default is Super+Space. You can change it to others like Ctrl+Space or Alt+Space etc. If you want to change it to something more complex , then you would have to use GNOME’s keyboard mapping utility. To change the looks, use the ‘Appearance‘ tab. I like the Glass them with black background but your preference might vary. We will discuss the plugin tab shortly.

Since there are multiple ways to use GNOME Do, I will split them into various parts in the increasing order of complexity and sophistication.

Basic Operations I – Invoking Applications

The basic way to invoke some application is to summon GNOME Do using Super+Space and then type the first few characters of the name. For ease of use, GNOME Do allows you to use the application’s name and not necessarily its actual underlying command. For eg, you type, "gnome-activity-journal" to invoke GNOME Activity Journal (GAJ) in the terminal. In GNOME Do, just entering part of "GNOME Activity Journal" will do. As you use GNOME Do frequently, it "learns" your pattern. If you use GAJ often, then after few usage , it will show GAJ after you just pressed the letter G.

Sometimes you typed part of the application name and GNOME Do keeps showing some other application. Dont worry . Just use the arrow key to see all the candidate list. Lets say, you want to invoke "Gettings Things GNOME" (GTG) and typed GNOME. It might show GAJ as its first result. You can either keep typing or press the arrow keys and select GTG to invoke it.

Tips for using GNOME Do Effectively – I

Even though, we are still scratching the surface of GNOME Do, you can gain immediate productivity gains. You need not use the menu at all to invoke, say, Gedit, Firefox, Open office , VLC player etc. All of them can be invoked from GNOME Do and just by few keystrokes. Neat – isnt it ?

One thing that you will notice is that when two applications share some common prefix , there are two ways to handle it. Either you type extra characters to disambiguate or you use the arrow keys to select from candidate list. It is important to know when to do what. GNOME Do also has a neat feature to mitigate this issue. Basically, it allows you type any ‘subsequence’ of the application name instead of its exact prefix. For eg, if the application’s name is abcdef, you can invoke it as abcd.. or abef or adf.. etc. Basically you can type part of its name in mixed order and GNOME Do will still figure out the application. Sooner or later, you will develop your own set of strings to disambiguate. There are lot of apps that start with the string "gnome-". I usually ignore the first string and type the next word. So, to disambigute say "GNOME Activity Journal" and "GNOME Terminal", I will use say journal for GAJ and terminal for the later. The idea is to find some string which uniquely identifies the application. There is another neat way to do it using Aliases which we will see later.

A related feature is that GNOME Do allows most of the navigation keys in the candidate list. So you can use keys like Home, End , Page Up , Page Down to zip through the list.

Basic Operations II – Performing Tasks

GNOME Do is a task oriented application launcher. There are two idiomatic ways to perform some tasks. ie you can invoke tasks as ,

<Items> <Action>

Or

<Action> <items>

Lets say you want to chat with X. In first way you say as ‘X and Chat’. In second way , you say ‘Chat X’. GNOME Do allows both ways to perform the task.

You can notice that GNOME Do has two panes. When you were invoking applications, the application name came up in the first pane. If you look closely now, the second pane will contain the word ‘Run’. Now type something else like Desktop. Notice the second pane, the action changes to "Open". Here you are treating pane 1 as items pane and pane 2 as actions pane. One thing to note is that both of them have different alternatives. Pressing arrow keys on first pane will show other alternative applications (items) and doing it in second pane will show other possible actions. In the plain GNOME Do has a restricted set of actions, but we will increase it soon. The same discussion applies when you swap the panes and use Action in pane 1 and item in pane 2.

To move between the panes use the tab and shift+tab keys. Use the arrow or other navigation keys to select other items/actions. If you want to cancel what you are typing , press Esc. Remember that Esc clears everything you typed. If you want to modify selection from just one pane, use the Shift+tab key. Lets say you are in pane 2 and selected some action. Pressing Esc now resets everything and gives you a clean slate. Pressing shift+tab, just returns it items pane where you can select some other item without changing the action selected. If the first pane is empty, pressing Esc closes GNOME Do.

As of now, you know two things. Invoking applications by typing their name and typing some item and select some other action to perform on it. These will constitute around 80-90% of your interaction with GNOME Do. When we add new plugins, all they do is increase the variety of either item types to operate on (eg email contacts in addition to files) and new actions to perform on them (eg open a terminal in a folder instead of just opening it in Nautilus).

Another important idea is that of the ‘Extra’ pane. Most of the time you will be working with just two panes. For some rare actions you may need more of them. Consider for eg renaming a file. You need a pane to give the action (rename), one to select the file and another to give the new name. The new name is entered in the extra pane. There are few other actions that use the extra pane. When you select them, they automatically extend the GNOME Do screen to include the third pane.

Tips for using GNOME Do Effectively – II

Sometimes, you would want GNOME Do to shut up and wait for your full text instead of showing possibilities. One eg is when you type an actual command which is not listed. Or may be you want to send a status message to twitter and do not want GNOME Do to interpret as something else. Typically, Do will try to find matches and if it does not find any , it will give up . You can find this, when the keystrokes are show in the upper half of item pane like superscripts in tiny font. Basically, GNOME Do has entered its text mode where it will wait for you to type the text. One way to force it to go to text mode is then "." (dot) operator. Pressing period key will immediately move to text mode where you can type any thing you want. Of course, you need to press tab to go to action pane after typing your text.

The next common thing involves multiple items – Either you want to perform single action on multiple items or many actions on a single item. Lets say, you want to open file1,file2… file10.txt. Type the word ‘file’ in items pane. Press the arrow key to see all the candidates. Since all the files shared the same prefix, GNOME Do will show all the files (file1 to file10) as candidates. Now select the first file (file1) using arrow keys and press the "," (comma) key. The item’s icon will change to a "+" sign. Now move down and select file2 to file10. Remember to press "," on each of them. Now press tab to go to the next pane and select the appropriate action. This will cause all the files to get opened in bulk.

The method to perform multiple actions on same item is similar. Lets say you want to open Desktop in Nautilus and also open a terminal there. In the items pane, select the file. Go to the actions pane using tab. Press the arrow key to see all actions. Select the first action and press "Shift+Enter". Now do the same for other actions. You will see GNOME Do triggering one action after the other on the same item.

Plugins

Plugins make GNOME Do even more powerful. There are literally tens of plugins covering all varieties of tasks. Plugins either introduce new actions on items or new item types. I will discuss about plugin development later in the post. In the mean while, let us see some of the coolest plugins and how to use them to improve productivity.

There are broadly two types of plugings : Official and Community. The distinction does not matter much to a typical user. To install a new plugin, press Super+Space , click the arrow , select the Preferences option. Now go to the ‘Plugins’ tab. Select "All Plugins" from the dropdown.

Neat Plugins

1. Files and Folders plugin

This is the most useful of all plugins and I use it heavily. The basic functionality allows you add some specific folders and files to be added to the GNOME Do index. By default, GNOME Do only indexes folders specified in the Nautilus bookmarks. If you access some files very frequently, then use this plugin to add them. Lets say, I have my research files in some path. If I want to access them via GNOME Do, all I need to do is to add the folder to this plugin. Now when I type a prefix of the file names in this folder, they will be opened.

This plugin also has a Configure button. Clicking it will take you to a dialog which contains ‘Indexed folders’ and ‘Ignored Folders’. You can add as many folders as you want and also mention the depth to index. A good set of folders is to include your home , Desktop and other folders that you access frequently. If you dump most of your stuff in Desktop, then increase its depth. By default, it does not index hidden files which makes sense. Do not index folders which have too many files in them as it defeats the whole purpose.

This plugin also has other amazing featues – for eg It allows you to browse a folder . Type a folder name and press the right arrow. It will show all the contents of folder in the candidate list. It also has options to copy or move a file. For other features look at File and Folder plugin’s wiki url.

2. Locate and Tracker plugins

This two plugins are very closely related to the previous plugin. There is usually a tradeoff between using Files and Folders and locate plugin. You should not use Files and Folders to index every folder in your computer. That will make GNOME Do slow and kinda defeats the whole purpose. So index folders and files that you access frequently use the previous plugin. For files or folders that you access infrequently, use this plugin. Basically, this is a wrapper over the locate command. For eg, I have indexed the files that I frequently use for posting blogs. I also have few folders where I store supporting stuff. I usually use the locate plugin to find them.

There are two ways to use the plugin. The easiest is to select ‘Locate Files‘ action in first pane and type the query word in second pane. If you do it the other way, Do will try to interpret it as a file. So in that case you are better off going to the text mode – type the dot in first pane , go to text mode, type the query , press tab to go to next pane and then select locate files action.

The tracker plugin allows you to do full text search for the keyword you gave. Basically, instead of searching for file names, you use file content to search.

3. Rhythmbox and Banshee plugins

Whether you are a Rhythmbox or a Banshee person, GNOME Do has plugins that allow you to control these applications. Once you install, they make the entire music library searchable. You can select an album and play it. There are also basic actions to pause, play , go next and previous. If your keyboard has multimedia keys then I do not see any reason to use these actions. The ability to select an album and add them to play queue is really neat though. If you have both the plugins, sometimes you can get confused – Based on whether they come from Banshee or Rhythmbox , the option to play it in the other player may not be available.

4. GNOME Terminal plugin

This is a simple plugin which has two options. If you selected some file or folder and select the ‘Open Terminal here‘ action, it will open a new terminal and cd in to the folder (or parent folder for a file). If it is a executable file or script, you can use ‘Run in terminal‘ command to invoke it. This is slightly different from the Run action as it starts a terminal and then invokes the command.

5. Firefox and OpenSearch plugins

These are two nifty plugins if you use Firefox. Firefox plugin indexes all your firefox bookmarks and allows them to opened in your default browser using the ‘Open URL’ action. OpenSearch reuses the OpenSearch plugin in your system and makes it accessible through GNOME Do. For eg , if you installed say wikipedia opensearch plugin, you can enter a keyword and search it in Wikipedia. It will open your default browser to show the search results.

The way it works is a bit tricky. It recognizes only user installed OpenSearch plugins. This means the default ones that come with Firefox like Google, Yahoo or Bing dont work out of the box. To fix it, manually copy /usr/lib/firefox-<version>/searchplugins/en-US/*.xml to ~/.mozilla/firefox/<yourprofile>/searchplugins/ . I have used the en-US which I think covers most opensearch plugins. If your plugin uses some other locale, copy them too. Now enter the keyword to search (preferrably in text mode) and use the ‘Search Web’ action and select the appropriate OpenSearch provider.

6. Window Manager Plugin

This is a plugin that is useful sometimes. Typically you use GNOME Do to invoke applications. But once the application is invoked, then this plugin adds some more window management options like Close, Minmize, Maximimze etc. I typically use either the ‘Focus‘ option to bring to front (which is very useful if you are also using docky) and ‘Move Window To‘ some other workspace. If there are multiple instances running, type the application name and then use the arrow key. The name of the application will have a tree like structure showing all the instances which you can select using navigation keys and then perform the appropriate window action.

7. Pidgin , Evolution and Thunderbird plugins

If you are using Pidgin or Evolution, you can use these plugins. These add Pidgin contacts and Evolution/Thunderbird mail contacts to be indexed by GNOME Do. For Pidgin contacts, you will see a Chat action that opens a new window. For Evolution contacts, it opens up a new mail to window. For some reason it does not work for Thunderbird even though it uses xdg-email internally. But still it is cool to say Chat X or Mail Y !

8. GNOME Screenshot Plugin

This is a simple plugin but I added it as the plugin wiki seems to be wrong. For using this plugin enter ‘Current Window‘ or ‘Whole Screen‘ as item and ‘Take Screenshot’ as action. Optionally select a timer. I usually use when I want to take some snapshot for my blog posts. This is much easier that opening screenshot and setting the values manually. This currently does not work for me . When I find the reason, I will post back.

Plugins that are not working for me

GNOME Do has few plugins that do not seem to work for me. For eg, the ‘aliases’ plugin seems very promising but never worked for me. It allows you to enter an alias for an application and then use it to invoke it. Its a great idea but surprising does not work.

Two other plugins that I wish that worked are the Thunderbird and Screenshot plugin. Thunderbird correctly indexes all the mail contacts. When I use the Mail action, I get an error that says ‘gvfs-open: file:///home/blah/xdg-email%20%20’emailid’%20%20%20%20%20: error opening location: Error stating file ‘/ home/blah/xdg-email ’emailid’ ‘: No such file or directory . I have been intending to work it for quite some time but never got around it. May be I will do it this weekend. The Screenshot plugin also gave a similar error – hopefully one change will fix them both. I will update the post once I got some results.

Geek Stuff

Following are some misc stuff that are of interest to geeks. Feel free to ignore this section if not interested.

1. All plugins in GNOME Do are written in Mono and use Mono.AddIns framework. There are a few potential plugin ideas to explore. I will give it a shot during my vacation. Currently, there exists plugins that index firefox bookmarks and use Firefox’s opensearch details. Something that indexes Chrome’s bookmarks should be neat. It would be useful to fix the Thunderbird plugin to support mail and attach actions. Same holds for Screenshot plugin. Another plugin that needs fixing is the Alias plugin. Now that , Empathy has become the default plugim, I think there is a need to have a Empathy plugin similar to Pidgin .

2. Running gnome-do in a terminal is a great way to know what is going on in the background. Probably a good debugging idea too !

3. By default, GNOME Do indexes all the menu items in GNOME Menu. If you want to add some other entry, add a ‘.desktop’ file to ~/.local/share/applications. You can use other desktop files as reference.

4. If you added a script (and indexed that folder via Files and Folders plugin or added a .desktop) file, make sure that it has executable bit turned on. Else GNOME Do will not show ‘Run’ action and will show only ‘Open’ action.

References

1. GNOME Do Main Wiki Page : Contains basic information about installation, usage and other stuff.

2. Plugin Doc : Contains documentation for few plugins.

3. GNOME Do White Paper : Contains few technical details and the motivation behind GNOME Do.

4. Writing Plugins : Basic information about writing plugins.

Conclusions

GNOME Do is a very neat utility and can dramaticaly improve your productivity when used with right set of plugins. I hope this post gave you some tips on using it more effectively. Good luck with GNOME Do !

Read Full Post »

I recently got the following error when invoking matlab .

Unable to initialize com.mathworks.mlwidgets.html.HTMLPrefs
Fatal Error on startup: Failure loading desktop class

This was quite annoying and I did not find any useful webpage hits. I did lot of steps and subset of those steps solved the problem. I am giving the steps in the hope that it will be useful for some.

One of the Mathwork’s webpage suggested to add matlab to system path which I did as "export PATH=$PATH:/opt/matlab/bin" . I also added it in my .bashrc so that it gets picked in the future. I got the next error

Error: Cannot locate Java Runtime Environment (JRE).
The directory /opt/matlab/sys/java/jre/glnxa64/jre does not exist.

This was bit surprising as I invoked matlab with the glnx86 parameter which invokes it as 32 bit. (For installing and invoking Matlab in 32 bit check the instructions here ) . This was easily by creating an additional link for glnx64 that points to glnx32 at /opt/matlab/sys/java/jre. But that still did not fix the issue. At this time my guess was that somehow jre was screwed and hence tried to fix them. I had multiple jdk/jre installations like sun , openjdk, harmony etc. So I tried to test it with sun’s jdk.

I ran the command "sudo update-java-alternatives -s java-6-sun" and got the following error :

update-alternatives: error: no alternatives for xulrunner-1.9-javaplugin.so.
update-alternatives: error: alternative /usr/lib/jvm/java-6-sun/jre/lib/amd64/libnpjp2.so for mozilla-javaplugin.so not registered, not setting.
update-alternatives: error: no alternatives for xulrunner-1.9-javaplugin.so.

Installing the following packages kinda helped : default-jdk, xulrunner-dev, sun-java6-plugin. After installing, run the update-java-alternatives again. Open a new terminal , run matlab and this time it worked like a charm.

I am still in the dark for the root cause but these steps have solved the problem for me. Hopefully it solves for you too !

Read Full Post »

I have been facing a curious and very annoying issue from the time when I updated to Ubuntu Maverick. When I am watching some video – especially in a media player like Totem or VLC, the screen will suddenly freeze. The screen will not update but I was able to listen to audio. Similarly, I was also able to use the keyboard. For eg, if I pressed spacebar, the video paused. This issue was very annoying as it kill all the fun in watching the video 🙂

I tried lot of debugging to no avail. One good resource I found in the process is the X freeze trouble shooting wiki. While it contained lot of very interesting information, none of it really solved my problem. One of the interesting point that was mentioned in the Wiki was that there are multiple possible ways to cause a screen freeze and it need not be an X issue at all. So I checked all my other display components like Compiz, Docky etc systematically.

The culprit seems to be the Nvidia drivers that I was using. This kind of surprised me as I have been using them for almost 2 years without any issue. My guess is this : One of the recent changes in Maverick was to make nouveau driver as the default one. I remember doing something to disable the driver in 10.04 but did not do the same in 10.10 . "Probably" both the drivers interfered with each other and caused this issue.

Anyway, the solution that fixed my issue was simple – Goto System -> Administration -> Additional Drivers. The dialog will show all the external display drivers available. Select the installed driver and uninstall it. When you reboot, Ubuntu will automatically select the nouveau driver and all will be fine.

I should mention one another thing : I was using Nvidia’s beta driver instead of the normal drivers. I did try removing the beta drivers and using the regular one. The problem still persisted. Removing both the drivers finally fixed the issue.

But my problems were not fully solved by using nouveau driver. I got a new issue. Sometimes randomly my screen will become garbled – For eg if I open some dialog and used some of its control, then these controls will linger even after closing the dialog. So what will happen is that my screen will have few zombie controls which will hide the actual UI that was supposed to be displaying. Interestingly, the fix for this was simple.

I completely removed the following compiz related packages – compiz, compiz-gnome and compiz-core. I used the purge command instead of just the remove. Once I rebooted the machine the issue seems to have gone.

This may or may not be the correct fix for your screen freeze issue but I am writing it in the hope that it might be useful for some one 🙂

Read Full Post »

GNOME Activity Journal and Zeitgeist are some of the fascinating recent projects in Linux. I have been a user from their initial versions and have been intending to write a tutorial on it. Two reasons I kept postponing it : GNOME Activity Journal kept changing very frequently and writing a comprehensive Zeitgeist tutorial will take too much time given its potential ! So I decided to split my tutorial into two parts : A basic tutorial on GNOME Activity Journal, Zeitgeist and Sezen and a more geeky post on Zeitgeist in the near future.

[Update Jun 24 2011] : Updated information about Activity Log Manager and data providers.

Why are Zeitgeist and GNOME Activity Journal so cool ?

I will make an assumption here that the reader is a relatively active user of Linux. Everyone knows Linux is cool, secure and blah blah but it is still does not have enough traction in Desktop. Sure Linux dominates in servers and embedded systems but Desktop is where the mind share is. I will not say that Linux Desktop is hard to use but we have not provided compelling reasons for people to try it out. Recently, there has been some effort to make Desktop more user friendly, especially from Ubuntu and Fedora – Let the force be with them 🙂

If you have been following GNOME, you would have heard the term "Document Centric GNOME" thrown around often. If you want, take a look at this insightful (though sort of outdated) GUADEC presentation that started it all.

One of the important problems in Desktop is finding the files you used to perform some task – This is not necessarily the files you used today morning or yesterday. If that is the case, you can always take a look at recently used documents. Let us take few examples :

1. Where are the set of pdf files I used to learn Gaussian Processes last week ?

2. When I was fixing an issue in Chrome Nanny last month what were the files I kept opened in Vim ?

3. I want to buy the book I checked out in Amazon last week. What is its url ? It must be in my web history – But wait was it in Chrome or Firefox?

4. How many excel sheets did I look at last week ? Where are they all located ?

5. Last friday, I listened to some awesome songs in Rhythmbox and I want to listen the same set of songs again. How do I find out all the songs that played then ?

6. More generally, I performed task1 under some context – which involves set of files, websites and other stuff. Note that it is application independent and might involve multiple applications. It must be possible to get into that context anytime I want effortlessly.

These are some of the common scenarios that occurs to us. But no OS has so far provided any convenient way to solve them. Of course, the usual answer is to organize your folders properly or keep a note of things you did. These are not solutions at all. If I organize them properly then each file will be nested deeply and remembering the organization becomes a pain. The folder paradigm is useful but not very intuitive or convenient for users. Remember that for a lot of people (ignoring techies), using Computer is usually a means to get some job done. They are not obsessively focused on organizing the computer. They have a job to complete and we must make it as simple as possible for them to complete it.

Just think how it is done in the real world. You always have an option of filing all the necessary items into a locker so that you can find it later. It must be possible to do the same in a computer : create a task context, view previous activities etc. Zeitgeist and GNOME Activity Journal are some of the tools that will help you in that quest. For some more exotic scenarios , check out the usecases in Zeitgeist vision document. Very few of the usecases can be realized immediately through them but the underlying framework is robust enough to support all of them and more ! GNOME 3.0 has some grand ideas on transforming the Desktop as we know. IMHO, Zeitgeist , GNOME Activity Journal , GNOME Shell are going to make using Linux really cool.

High Level Overview of Zeitgeist , GNOME Activity Journal and Sezen

Zeitgeist is a tricky thing to nail – You can consider it as a daemon that stores all the relevant "events" in your computer. Events can be as simple as user opening a file or browsing to a site or something more complex. Zeitgeist silently stores all the events in its db. The information stored can be arbitrary – it can be as simple as filename or as complex as the entire file content and metadata. Some of the possible metadata include tags, geo location etc. Zeitgeist exposes an API that allows other data "providers" to save and query events. It is the underlying framework over which other cool tools can be written using its API or extended using plugins. Informally, Zeitgeist shuns the folder paradigm and embraces a timeline/task based paradigm. This is a powerful idea as it provides you an additional dimensions (time, context) to browse the files , in addition to folder structure.

GNOME Activity Journal is an "activity browser". It allows you to view in a timeline all the activities you did in the past. Note the emphasis on activity. Potentially an activity can be any interaction with some resource. The activity can be as simple as viewing a file or chatting with a contact. In the future, activity can be as complex as you want. The journal will allow you to search for past activities, filter activities based on source , annotate the activities and so on. Timeline is not the only way to view the files/activities. You can find them by mode of use or even tags that are manually annotated. Infact, it even has a cool feature where it "infers" related files based on usage patterns.

Sezen is a neat applet that allows you to search for activities/files in a convenient way. The search in Zeitgeist sort of sucks now and I use Sezen to fill the void. I hope that the journal will have a more powerful and convenient search mechanism.

Installation

Hopefully your interest is now piqued. You can always install Zeitgeist and GNOME Activity Journal from the Ubuntu repository , but it is usually stale. If you are ok with it use the following instructions to install it.

sudo apt-get install zeitgeist gnome-activity-journal

If you want to enjoy the latest features without waiting for a new version of Ubuntu, then add the zeitgeist ppa to the list of repositories. The steps are :

sudo add-apt-repository ppa:zeitgeist/ppa

sudo apt-get update

sudo apt-get install zeitgeist gnome-activity-journal

Some time ago there was a bug where due to some issue in Zeitgeist, GNOME Activity Journal will not start. If I am right, the reason was that when Zeitgeist was updated, the daemon was still running with the old version . If you are bitten by that bug, either restart the system. Alternatively, run this command :

zeitgeist-daemon –replace &

Sezen is a utility that allows you to view the recently used files in a convenient fashion. Some of the functionalities of Sezen overlaps with that of GNOME Activity Journal. When the journal’s search becomes more useful, Sezen may not be needed. Assuming you have installed the PPA, you can install Sezen by

sudo apt-get install sezen

GNOME Activity Journal

GNOME Activity Journal is an "activity browser". It helps you to browse your recently used files, websites or contacts. The information is presented in a chronological fashion. It integrates tightly with Zeitgeist and tracker . As one of the website put it , it is a "viewport to the past". You can access it from Applications > Accessories > Activity Journal.

Multi View

The journal has three different views – multi view, thumb view and timeline view. The default is the multi view which allows you to see the details of 3 days at a time. So your screen will look something like this :

GNOME Activity Journal Multiview

You can immediately notice some things : Information about the last three days are displayed. If you have used in extensively, then information is categorized into files accessed in morning, afternoon and evening. This means that it is now easier to view the files you accessed on morning of 16th of last month. What is more : the journal also classifies files based their type. So you can see that there are atleast 3 different types of file type : You have sections like "Edited or Read documents", "Worked with Images" and "Conversation with contact". As you have different types of data providers, you can view them in a more granular way. Examples include audio,video and websites. Hovering over one of the items will show the preview of that item. So you can immediately take a peek at the item’s content. Of course, you can always click on the item and it will open up in the appropriate application.

You can also see the arrow buttons on the either side of the screen that allows you to navigate across the timeline. If you take a look at the bottom panel, there is a bar chart which depicts the user activity. You can go to any past time by clicking on the appropriate bar. For eg, you can click on somewhere in the middle of bottom panel for August to look at the journal for that time period. If the date you want to check is long back, then click on the left edge of the bottom panel and it will take you back in time in a faster scale. Once you reached the month and approximate date, you can use the right/left arrows to go to the exact timeline. The bars highlighted in orange indicate the dates that are shown in the multiview.

So if you want to know which images you checked out on say Oct 1 2010, all you need to do is to go to that date – either using bottom panel or the navigation arrows. Now expand the itemset "Worked with images" and you will find all the images you viewed on that day. You can always click on the arrow icon on the toolbar to get the current day’s details.

Thumb View

Thumb view is another commonly used view. This is especially useful if you viewed lot of images or videos. You can notice that thumb view is available for only single day. You can still the arrows or the bottom panel to navigate to other days.

GNOME Activity Journal Thumb View

Timeline View

This is my favorite view as it packs lot of information in a concise fashion. All the items are show one by one and near each item there is a blue square to indicate the time it was accessed. For eg you can infer that I accessed gBlogStats.ods somewhere around 11 AM on Oct 9 twice. Similarly, I accessed the file gblognotes.txt intermittently starting from early morning 1 AM till around 8 PM. Each of the blue squares indicate one access. It can either viewing the file or saving it. Using this you can answer the question how many time did I access a file or go to a website. Very neat !

GNOME Activity Journal Timeline View

Pinning Items

Some times you may think that few of the items are important and want to highlight them separately. In GNOME Activity Journal , it is done via pinning the item. So, right click and item and select "Add Pin". This item will be now highlighted at the top separately. You can again right click on the item and select "Remove Pin" to bring it back to original status. Alternatively, you can click on the pin icon of a pinned item to unpin it. You can notice that pinning applies only to Multi View. Also pinned items show up in the slot for "Today". This kinda make sense as the journal typically opens show today’s details and you have an one click access to it. I hope they soon add a feature where I can highlight few items that is specific to a day.

A image showing a few pinned items and about to add pin to another item is shown below.

GNOME Activity Journal Pin Item

Searching Items

There are two major ways to filter items in GNOME Activity Journal. One is the temporal way where you want to see all websites you accessed on Sep 1 2010. If this is the usecase, you can use the naviagation arrows or the bottom panel to go to the appropriate date and see all the files. Another alternate way is to see all the file with "blog" in their names. If this is your usecase, you can use search icon at the toolbar. Clicking it will display a textbox and a dropdown showing the various types of items. So this means that I can filter an item based on partial name and also its "type". As you can see in the screenshot , there are lot of different types of entities ranging from documents , email, notes, chat conversations etc. A screenshot showing a search is shown below :

GNOME Activity Journal Search Items

Note that you can search items only in the multi view. When you enter a query and select the appropriate type, the journal highlights the selected files with a bold blue font. This is where I personally feel GNOME Activity Journal has dropped the ball. When you filter an item, it does not show a new screen which lists the match items in a timeline. Instead it maintains the same multi view and just bolds the filtered file. What is worse is that if I want to find if I had accessed the filtered file last week, I have to manually scroll. In one of the screencasts, it was claimed that when a particular day has a file that matches the filter, it will be highlighted in blue. I am not fully sure it works correctly.

There are multiple ways in which you can improve this page : For eg having separate time line for search results , or atleast highlighting days with matches in blue, using tracker/ fts plugin so that I can search the content, use tracker so that tags work in search etc. I am sure that these minor issues will be fixed soon. Till then you can use Sezen to work around the journal limitations. Look at the section on Sezen for additional details. If you want to do a full text search then use tracker. Please see the section on Tracker for additional details.

Tags And Related Files

Another neat feature of Zeitgeist is allowing you to tag files. I believe this is done using Tracker internally. To add tags to an item, right click it and select "More Information". This will open a new dialog like the one shown below.

GNOME Activity Journal Tags

You can see that tags for the file can be entered one by one on the textbox. You can also delete any previously added tags. In the same dialog, you will see an interesting feature – "Used With" . If I use the files in a group, then Zeitgeist will recognise it and show it. Of course, it might have some noise, but most of the times it is bang on. For eg, I usually use the file "gblognotes.txt" as a scratch pad where I jot down all my ideas , basic structure etc. "gblogpost.txt" is the file where the actual post is written. The other two ods files were used to track blog related statistics. They have lot of co-occurrence and thats why Zeitgeist recognised them. The last three are essentially noise which might have occurred because I used them concurrently. It should be interesting to see if these items will go off when they do not co-occur frequently.

Another neat feature is that any tags that get added here gets reflected in the file’s tracker property page. For eg, right click on the file for which the tags were added. If you had tracker, then you will see a new tab called "Tags". Browsing it you can see that the added tag is checked. As an example, in the screenshot below, you can see that the file has "blog" tag enabled.

GNOME Activity Journal Tracker Integration

Controlling Zeitgeist logging using Activity Log Manager

Sometimes you feel that the relentless logging of Zeitgeist is a bit too much. There might be three different scenarios .

(1) You want to delete some past event from Zeitgeist log

(2) You want to stop entire Zeitgeist logging for some time.

(2) You want to instruct Zeitgeist to never log certain (types of) files.

The first is easy to perform. Once an item is added to the journal, you can always right click it and say "Delete Item from Journal". This will remove it from the list. There is also an option "Delete all events with this URI". This deletes all the events corresponding to a certain file from the logs. The primary inconvenience with this method is that if you want to delete lot of files, then you have to go about it manually.

When this article was first written,  there was no elegant way to control the logging, short of coding it yourself. Recently, the developers released Activity Log Manager that provides a reasonably convenient mechanism to achieve that.

If you are using the Zeitgeist PPA , the software can be installed by

sudo apt-get install activity-log-manager

Once installed, it can be invoked by “activity-log-manager” from the command line. There are multiple use cases that are handled by this tool .

(1) Pause Zeitgeist logging temporarily

Sometimes, you may want to temporarily stop Zeitgeist from logging. For eg, sometimes, I grade students homeworks and do not want them to enter the logs. In scenarios like this, you can stop it by invoking “activity-log-manager” and clicking on the button that looks like a tick. In the screenshot below, it’s the button near “Logging Active”. This will stop the logging till you enable it or restart the computer (or log back in).

(2) Deleting Previous Zeitgeist Events using History tab

If there is some time interval within which you want to delete all events logged by Zeitgeist , you will be using the “History” tab. The log manager conveniently gives two options : One is to delete the events in the past few minutes/hours/days etc. The other is to give explicitly the date range. Most of the time this should do the trick.

There are some slight inconveniences though. If you want to partially delete events then you are stuck with using Activity Journal. For eg, if I want to delete few events from the last 15 minutes but not all then its not possible from here. The second issue is that the more general option for making Zeitgeist forget events only accept dates and not time ranges. For eg, I cannot currently delete events from say Jun 22 1 PM to Jun 23 4 PM . Hopefully this will be fixed in the future. The screenshot is below.

Zeitgeist Activity Log Manager History Tab

 

(3) Blacklisting Zeitgeist Events from an Application using “Applications” tab

If you want to prevent events from a specific application from entering Zeitgeist logs, then use the “Applications” tab. This tab allows you to add events from known applications. Clicking on “Add” button shows a dialog with known applications and selecting it prevents events generated from that application from entering the Zeitgeist logs. You can add as many applications as you want.

Currently, this shows only the applications that have .desktop entries. And it is not possible to add custom applications. The list of applications are not sorted. It has a rudimentary prefix match support. For eg, if you want to block Google Chrome typing a prefix like “goog” takes you to it. Typing a non prefix like Chrome does not seem to work. The screenshot shows the tab with the list of applications.

Zeitgeist Activity Log Manager Applications Tab

 

(4) Blacklisting  or Preventing Zeitgeist Events from a folder or file types using “Files” tab.

This is the final use case. Sometimes you may not want Zeitgeist to log events from some folder. Or may be you do not want Zeitgeist logging your music events. The “Files” tab allows you to do it.

The files tab is broadly split into two blocks. In the first block, you can block events from certain types of files – Like audios, text files, videos etc. I am not sure if you will ever want to use this broad a blacklist as it negates the use of Zeitgeist , but I am glad the developers provided this option.

The second block allows you to enter a set of folders such that any events under those folders do not cause Zeitgeist events. You can use the dropdown to select either few pre specified folders or use the “Other” options to select an altogether new folder. In the screenshot below, I have selected temp folder to be blacklisted. This is my scratch folder for my programming and do not want them to be logged as they will be anyway deleted soon !

Zeitgeist Activity Log Manager Files Tab

 

Hopefully, these options satisfy most of the potential use cases. Zeitgeist is a cool idea and once it has the log manager , it is even more cool !

Before we discuss slightly more techie stuff, let me discuss two other tools that work in conjunction with Zeitgeist and GNOME Activity Journal – Sezen and Tracker.

Sezen

Sezen is another neat utility that internally uses Zeitgeist. It is similar to GNOME Activity Journal in the sense that it also allows you to "browse" files. But it is more heavily oriented towards searching. To install Sezen enter the following command in the terminal :

sudo apt-get install sezen

Unfortunately, it does not have a menu option to launch and must be invoked from commandline. Of course, you can always add an launcher. To invoke it , type in a terminal :

sezen &

This should start Sezen. You can notice that the screen looks remarkably pithy. It just has a textbox to enter query and few options to narrow down the filter. When you enter a query, all the results are shown organized by time. All files accessed today, yesterday, last week, last month etc are grouped in a temporal fashion. This is kinda the interface that I want Activity Journal to sport. Sezen also has a more sophisticated search than activity journal. As an example, I entered my query as blog. Files like "gajSezen.png" are selected even though it does not have the word "blog" in its name. The reason is that I have placed these images in a subdirectory of "blog" folder (ie blog/gaj/gajSezen.png) . This is very useful because you enter some search query for a directory and find which files you accessed recently and when. Neat !

GNOME Activity Journal Sezen Search

Of course, there are lot of places where Sezen can improve – I do not think Sezen uses tracker’s full text search. It would be awesome to merge temporal, folder, content information and provide an unified search interface. Even better will be merge it with GNOME Activity journal. Similarly, it is not possible to select all images and documents. The filters behave like exclusive ones. If they can behave like checkboxes then it will be cool !

Tracker

Tracker can be considered as a search engine for your local file system – in other words a desktop search utility. So far all Linux desktop search utilities suck. The recent versions of Tracker seem to be okay. GNOME Activity Journal uses tracker for search. Tracker can index files in your system and also their content. It has a full text search (fts plugin) that allows you to search based on their content,name and path. It can index a variety of file formats. One limitation of GNOME Activity Journal and Sezen is that they do not perform full text/content based search. If you want to find all the files that contain the word say "Gaussian Processes" then tracker is the way to go . Tracker is a dependency of Journal and must be installed with it. You can access it from Applications -> Accessories -> Tracker Search Tool.

GNOME Activity Journal Tracker Search

You can find that Tracker interface is remarkably similar to GNOME Activity Journal or Sezen. I have given a search query of blog and you can see that not only it displays files with the word "blog" in their name but also the files which have the word "blog" in their content. So you can filter the results based on their file type : like documents, images etc

Now that we have covered the basics of the tools, lets delve into the details.

Data Providers

There are lot of tools that send their data to Zeitgeist without you doing anything on your own. For other applications they must be patched so that the data can be sent to Zeitgeist. Note that the information transfer can happen both the ways : Applications can send the files accessed to Zeitgeist and they can also get information about the file usage. eg Rhythmbox can use Zeitgeist to find the most used music files or the music files that are listened together. The potential is endless.

Lot of the applications though must be modified to send the data to Zeitgeist. Previously, there was a bunch of scripts that you must download to patch the applications to send their events. Now these scripts have matured and have become Linux packages on its own.

To install data providers, start synaptic and enter “zeitgeist-datasource” in the search window. You can see a huge list of applications for which providers are available like Vim, Emacs, Rhythmbox etc. Install the data sources for which you want the events to logged .

 

Zeitgeist – Docky Integration

If you are using Docky to have a jazzy dock in your system then you can make it even more cool by integrating it with Zeitgeist. To do that right click on Docky icon and select Settings. Go to the Docklets tab and enable the Recent Documents docklet. Go to Helpers tab and enable "Zeitgeist Integration" and "Zeitgeist Journal".

Now when you right click on any application icon in the dock (whether they are running or in dock already) you can see two new menu items : "Most Used Items" and "Most Recently Used Items". So if you want to open a file in gedit, right click the icon and select the file from the most used list and watch it open ! If Docky makes life easy, Zeitgeist integration makes you feel the joie de vivre.

Techie Stuff

1. If you are curious about the event flow, you can run Zeitgeist daemon in the command line. It outputs lots of verbose output and I learned lot about its workings from it. For eg in a terminal enter the following and go about your business. The logs will be displayed in your terminal.

zeitgeist-daemon –quit

zeitgeist-daemon &

2. Zeitgeist, GNOME Activity Journal, Sezen are all written in Python and are relatively small projects. Spend an evening skimming through the source files.

3. If you want to find how activities are stored internally check out the folder ~/.local/share/zeitgeist/. Specifically, take a look at the file activity.sqlite .

4. All the black listed items are encoded in JSON format in the file /home/neo/.local/share/zeitgeist/blacklist.json .

Potential Applications

The post Integrating Zeitgeist into GNOME contains lot of excellent comments that indicate the potential applications of Zeitgeist. I have copied my favorite comments verbatim from there :

1. Imagine that smart playlists are powered by zeitgeist. You would get a whole slew of new options like "Songs I listen to while chatting with Babes" or "Songs I never listen to in the office".

2. Show you top 20 most listened song for the week/month/year and also show songs you never listened too.

3. If both Rhythmbox and Banshee would have been integrated with zeitgeist, we could have had (for an example) a playcount synchronised for every song. It would be useful when creating new dynamic playlists.

4. Software Center in Ubuntu can display the application usage count. For eg, this can indicate unused applications to customer which can be uninstalled to free space. Alternatively, you can collect apps in to groups and use the co-installation and usage count to recommend new packages to users. Isn’t it cool !

Summary

Zeitgeist , GNOME Activity Journal and Sezen are few of the GNOME utilities that I am pretty excited about. Even though their current features are limited, they have enormous potential and can be used to develop really cool applications. I have few plugins in my mind – for eg enhancing GNOME Do with Zeitgeist and few other plugins. I will write a post once something concrete is done.

Each of the tool has its own use. So use GNOME Activity Journal for finding which files you accessed when (even at granular level like which hour). If you want a more enhanced and generic search use Sezen. If you want to search based on their content then use Tracker.

Resources

1. GNOME Activity Journal – Contains lot of useful links and the usecases.

2. Zeitgeist – The magic tool behind GNOME Activity Journal and Sezen.

3. Sezen – No specific URL. Lot of useful posts in the link.

4. Tracker – Another neat project that GNOME Activity Journal internally uses and provides full text search.

5. Seif Lotfy’s blog : Has lot of useful news on Zeitgeist.

Read Full Post »

[Update : Oct 10 2010] The greatest , latest and official version of Ubuntu is finally available today ! Nice to see it released on 10th of Oct. The process to upgrade remains the same. If you were already in Maverick beta or RC, then no action is necessary. When you use synaptic, the updated packages will get installed.

[Update : Oct 1 2010] Release candidate for Ubuntu Maverick is out ! The process to upgrade remains the same. If you were already in Maverick beta, then no action is necessary. When you use synaptic, the updated packages will get installed.  A new Ubuntu font family is introduced. It looks good and hopefully will be made default soon ! Other wise you can install it using ttf-ubuntu-font-family package.

    I have been an Ubuntu fan for the past few years and eagerly await the new releases. This release is extra special for me as the name (Maverick Meerkat) is also the nickname of students in my university. I had a bad experience installing alpha software in Karmic and now I safely install only software starting from beta.

This time there was some confusion in installing because the official schedule was previously saying that beta will be released only on September 9th (or was it 17?) . Suddenly I saw in Slashdot that Maverick beta was released. Looks like the release page now shows the correct information. I was doing some serious work last week and did not want to mess up my system. Now that I am free, I installed beta yesterday and been having fun since then.  I had some interesting issues in installing it – so I intend to blog it so that it can be useful if some one else faced the same problem !

To Upgrade or not to upgrade ?

    This is probably the first question you must decide – For me the answer is simple : If you are running some production server or anything sensitive , don’t install it. Just wait for one more month. The final version goes out on October 10th.  If it is your personal laptop, you are Linux geek and wanted to earn some karma, then what are you waiting for ? Start the upgrade ! Of course, there might be minor hitches and potential instability as it is still in beta – But if my experience is any guide, it is very stable. The things you gain by installing outweighs the minor annoyances.

Upgrading to Maverick from Lucid

    The conventional method that is specified in the Ubuntu website is to type the following in the terminal (or by pressing Alt+F2 and typing it in the Run dialog)

    update-manager –d

The other equivalent command is of course :

    update-manager –devel-release

Most of the time , I assume that this should do the job. Your update manager will open up, show that Maverick (10.04) is available for download. All you need to do is click on "Upgrade" , sit back and relax !

For my system , it downloaded around 1.8 GB of packages. Of course, I am a package junkie and have more packages than I can remember. Your mileage might vary. Once the download is complete, the installation will be a breeze. The installation took around 40 minutes for me. If you have used lot of custom config files , then you might want to take a close look at the installation. Maverick helpfully asks if it should overwrite (very few) config files and provides a few options. You can see the diff and make appropriate decision. This was the only tricky part in the installation. If you have not messed around with the config files manually then the installation will be a breeze for you.

What if you cannot see the upgrade option to Maverick

When I tried to upgrade, "update-manager -d" did not show the upgrade option at all. I was pretty confused as all the big websites were saying beta was released. I am not sure of the exact reason but the following hack did trick the trick for me :

Method 1 :

1. Go to System -> Administration -> Software sources.
2. Click on the "Updates" tab and check "Pre-released updates".
3. Click on "Close" button. This will refresh the package list and most likely will open up the package manager that will show a huge list of packages to upgrade. Hopefully, it will also show "Maverick Meerkat (10.10)" upgrade option.
4. Now close the update manager and open the Software sources again (same  as step 1). Now undo what you did in Step 2 – Un check the “Pre-released updates” option.
5. Click on "Close" button and the package list will be refreshed again. Now you should see the upgrade option to Maverick saying : "New distribution release ‘10.10’ is available". You can alternatively run "update-manager -d" command to get this option !

Method 2 :

This issue was pretty strange to me and I was trying to find the root cause. I "think" the root cause was this : In the file /etc/update-manager/release-upgrades , the keyword for prompt was in all lowercase but the documentation was saying it must be "Prompt" (title case). I am not sure if this is the issue but I noted that during the installation, one of the file updated was /etc/update-manager/release-upgrades and the only change was

    /etc/update-manager/release-upgrades
        -prompt=normal
        +Prompt=normal

So the alternative thing to try before doing Method 1 is to modify the file and change the word prompt to title case. It might make it work although I did not try it.

What’s New

Actually not much : Most of the changes are incremental rather than revolutionary. The boot time seems to have slightly reduced. Of course, Linux usually boots very fast, but shaving seconds off boot is always welcome !Maverick has recent versions of kernel and GNOME. Evolution and Software center were upgraded but I do not use them. I received the latest versions of some software I use heavily like Thunderbird and Open Office. Thunderbird 3.1 is sleek and adds some nifty features. Open Office 3.2 also rocks. Somehow the whole system looks pretty crisp to me. The font looks more clearer – Not sure which component to thank for 🙂

Misc Information

Some random things :

a) Looks like you can migrate only from Lucid (10.04). My friend tried to upgrade from Jaunty and was not able to do it. It kept offering Lucid as the option.
b) If lot of your friends want to try Maverick, then the best option is to download the ISO via torrents and share it among your friends. Once you mount the ISO file and run the installation script, it will recognize you are in Lucid and will ask if you want to upgrade. Say yes and the rest of the installation instructions remain the same.

Minor Issues I faced

    I have been using Maverick for couple of days. So far there are no major issues. The most annoying issue was that the dconf was crashing couple of times today. I added myself to the existing launchpad bug. From the comments it looked like it will be fixed soon.

The other issue was that my sound icon has a crazy look now. Basically it shows the icon for no icon 🙂 One of the changes anticipated in Maverick was that sound applet also integrates the currently running music player controls. It might be a simple issue – I searched in net but could not find others with the same issue. Anyways, it is minor UI issue and I expect that it will be fixed soon.

Resources

1. Features can be found in Maverick beta page .
2. The expected release dates ca be found in Maverick Release schedule .

 

Go ahead and upgrade to Maverick from Lucid ! I am sure you will have fun with the new version 🙂

Read Full Post »

« Newer Posts - Older Posts »