Tuesday, August 31, 2010

mp10 DV003-XXL manual on russian

Инструкция по эксплуатации "шпионского фотоаппарата/камеры" MP10 (DV-003) на русском:
http://skliarie.meshanet.com/skliarie_blog/mp10_russian.odt

Wednesday, August 4, 2010

O GTalk team, where were thou?

Instant messaging (IM) penetrates our lives deeper and deeper, whether we like it or not. Most people start using whatever their peers so to be able to network with them. For that reason, switching default IM is tremendously hard thing to do, especially if one already accumulated number of contacts in previous network. This is called "Network Effect".

There are several factors that can make one consider the switch - presence of their peers on the alternative network, number of functions the IM client and the network offer, easy to use IM client, availability of the client on their platform and (unfortunately often neglected) - how proprietary the network protocol is.

For past several years GTalk team was consistently failing on almost every point (at least on Linux). There is no native GTalk client for Linux. Interoperability with open-source clients is poor, especially on advanced features (voice and video conferences). No Video in standalone GTalk client. No built-in group chat support. No way to transfer bunch of contacts. File transfer is not reliable. The XMPP servers occasionally refuse to allow login (on ports 5222 and 5223). No way to organize contacts per groups (in the official GTalk client). These are problems that I have struggled with. I am sure there are many others.

Some of the problems are caused by protocol restrictions. But Google already showed that it can extend protocols by adding Jingle to XMPP. Some are caused by open-source clients. Google also showed that it can fund that as part of summer of code projects. Apparently that was not enough. Google missed great opportunity to have an viable IM network by underfunding the GTalk team and most popular open source clients. For Google's finances that would be pocket charge expenses.

With the Network Effect the Skype network has accumulated, it will be impossible to revert the situation, unless something dramatically occurs. That makes me sad as XMPP+Jingle had great potential to become the IM of choice for the world.

I speculate that Google Voice will fail for this very reason, but once Google understand that, it will probably be too late.

Monday, May 3, 2010

Hebrew thesaurus for stardict

Someone asked me to find him stardict-compatible version of hebrew thesaurus. I have found torrent link that has english-hebrew, hebrew-english dictionaries and hebrew thesaurus. All files are in stardict format:
babylon_stardict.torrent

I am still looking for stardict-compatible version of russian-hebrew and hebrew-russian dictionaries. If someone has informative links, drop me an email please.

Thursday, March 4, 2010

adaptec CLI management tool

Recently I had to install adaptec CLI management tool on an ubuntu 8.10 amd64 server. Despite the fact that aacraid driver is present in kernel, it took me a lot of time to find the management tools that allow to see the RAID status and manipulate it from command line. There are several names for the tools: afacli, aaccli, afaapps, afa-apps-snmp, arcconf, hrconf... oh my!
After I found the necessary tools (64bit arch), I packaged them into a tiny deb package adaptec-utils_0.0.1_amd64.deb, which can be downloaded from here: DELETED_AS_REDISTRIBUTION OF BINARIES_IS_PROHIBITED_BY_ADAPTEC

Also, I wrote a simple monitoring script (included in the deb package) that checks the state of the Adaptec RAID system and sends out an email if any of the published indicators is wrong (battery, failed disks, etc). The script can be downloaded from here:
http://skliarie.meshanet.com/skliarie_blog/adaptec-utils/adaptec_check.sh

Note that the script requires proprietary binary files to be installed. See the beginning of the script for the details.

Monday, December 7, 2009

Audiobook as a podcast

Audiobooks have several specific features that differentiate them from bunch of songs and make it hard to listen to them using regular audio player:
* They can have the same title/album/artist headers, with filename the only difference.
* They must be in certain order.
* Once an audio file was listened to, it can be automatically safely deleted, thus freeing up space.

This makes audiobooks fit nicely into podcasts model.

To convert audiobooks into a podcast I wrote a python script that scans given directory of mp3 files and creates RSS feed out of the files. The verion 0.1 of the script can be downloaded from abook2podcast.

Monday, February 16, 2009

bittorrent and VoIP in the same sentence

At my home I have an modest ADSL line with a standard 128kbits upload. The upload is shared between several computers, an bittorrent process and asterisk (VoIP) server. I have looked around for an simple script to balance the upload according to set of very simple rules:
  • VoIP packets go out first, no matter what
  • ssh, www, smtp, etc go after
  • everything else (including bittorrent) go last
After many fruitless hours of trying I have found a sample script at http://www.knowplace.org/pages/howtos/traffic_shaping_with_linux/examples.php and then heavily modified it.
There are only two lines in the script to change. You should be aware of following assumptions in the script however:
  • The machine serves as the gateway for your network
  • Internet is established using autodialer on interface ppp0
  • asterisk runs on the same machine as the shaper
As a result, the VoIP is hitchless, even in presence of unlimited bittorrent upload.

You can download my script here.

Thursday, November 6, 2008

my 45 workspaces

Most windows managers out there are windows oriented, so that you have single desktop and many overlapping windows. This is true for MS Windows, Mac OS, Gnome and KDE. There are ways to set up several more workspaces, but most people would continue to use in windows-oriented style as all running applications would still be represented in task bar.

If you think about it, the windows-oriented workflow has great overhead, in resizing windows, looking for application in the task bar or list of applications and managing misplaced overlapping windows. Working with more than certain number of applications becomes unfeasible, as the overhead of managing so many windows becomes unbearable. There are many band-aids to minimize number of open windows, in form of tabs (especially in firefox or konsole), lame attempts to integrate many application in the same window (as mozilla thunderbird does) or hiding the application and it's interface into tiny icon in the status bar.

Ideally, one needs not to think how to switch to the application he needs to access. It would be even more desirable for the application to launched automatically if it is not running already. The desktop should be organized so, that it would not matter whether you have couple of windows opened or many hundreds (provided you have enough resources).

After experimenting with many approaches, I would like to share with you one that works good enough for me.

The venerable fvwm2 window manager, albeit being very old, remains highly configurable one. The configuration uses text configuration files, that allow user to customize look and feel of the window manager up to the low-level details, such as autofocus of windows or executing a shell script on magic keypress. The features are pretty important for the workflow described.

Easiest, immediate, switching to application of interest is by using dedicated button. Actually there are many keyboards that have additional buttons, just for that purpose. The approach has several issues, such as limited amount of buttons, predetermined functionality (psychologically aggravated by inscribed picture on the button) and dependence on the keyboard in use.

Software buttons, albeit requiring a bit of learning, look much better in this regard. If you use a combination of CTRL, ALT, SHIFT, CTRL+SHIFT, ALT+SHIFT modifier buttons together with the numeric buttons on grey part of the keyboard, you can easily get 45 "hot-keys".

Once you get 45 "hot-keys", you can create 45 workspaces, arranged in blocks of 9. Module of fvwm2 "FvwmButtons" shows them nicely in a corner of the screen:

The bright rectangles are already open windows. You can drag them from one workspace to another using mouse.

Now, as we reached the goal of instant switch to any workspace, each workspace can be dedicated to hold window (in rare cases couple of windows) of an application. For example, you can assign workspace ALT+Grey7 to a internet browser, and workspace Alt+Grey1 to a mail client. After several uses you would learn the hot-keys by heart, like you remember your password (which you can always type but not always remember).

The above scenario assumes that you launch the application in the dedicated workspace manually. Flexibility of the fvwm2 window manager allows to make each switching keypress to run a shell script, that would check whether the workspace already runs the application it was dedicated for, and, if not - automatically launch it.

This is exactly what I did as you can see in the configuration files over here.

As a added bonus, my auto-execution script checks hostname of the computer I am working on, and takes it into account when populating the workspace. For example, one of my workspaces is automatic ssh to the firewall, which is only accessible from inside of the corporate network. On my home computer, switch to the workspace would not launch anything, as it would be pointless.