Software

No need to be overzealous

Fedora Core Linux's official UI theme is called Bluecurve and distro maintainers try to keep it consistent across different desktop frameworks (KDE and Gnome that is).

I stumbled upon a Bluecurve page on FC Wiki. New isometric icons look nice... but only where isometric look is appropriate.

It's kind of stupid to have isometric icons for "back", "forward", "fast forward" and so on. Consistency is good, but if you have to tilt your head or rotate an icon mentally even a little bit, this is not good for usability at all. And usability is really what is important at the end of the day.

Posted in Software frolov's blog | add new comment

Submitted by frolov on Mon, 2006-08-07 18:53.

My thoughts on RSS use cases

Brad Feld announced that Boulder Software Club is planning an event to discuss usage of RSS, first of all in enterprise.

For a long time, I actually wanted to write my thoughts about RSS and its place in technology landscape, so Brad's post gave me a reason to finally overcome my laziness (heh). I'll start by my take on some topics that will be discussed there.

Why RSS instead of e-mail – isn’t it just the same thing? Isn’t this just for bloggers?

No, RSS is not the same as e-mail, though similar. RSS is better suited for some use cases, not only for technical but for psychological reasons too. If I wear reader's hat, I strongly prefer RSS over a a mailing list, because if I loose or cancel my mail account for some reason, I need to reroute all my subscriptions which is tedious and error-prone, whereas with RSS, I just need to carry my OPML around. Subscribing to and unsubscribing from mailing lists is more evolved than same actions with RSS feeds and usually requires two-step process. Second big advantage is that I get precisely what I subscribed to in my blogroll, and mailboxes tend to become spam targets. As an author I may prefer RSS to mailing list because my (potential) readers prefer RSS to e-mail (see above).

RSS is not just for bloggers, it may be used in all areas that needs some kind of periodic update protocol. Software packages may use RSS to get information about available updates. Microsoft is going to use RSS for synchronization.

What are typical use-cases of RSS applied to the enterprise ...

Take for example a typical situation in corporate environment: you need to propagate some kind of a knowledge but you are just not sure about target audience. For example, you are a software developer and finished some important feature. Now you may need to send a notice to your immediate manager, that's a no-brainer, but then things start to get complicated. Documentation needs to be updated but you just do not know who in documentation team is now responsible for that area, so you send e-mail to Documentation Team leader or to the whole documentation team. Now, QA manager needs to know about feature too to test it, check. But oops, you forgot sales engineers, some of them will be caught with 'deer in the lights' look when curious customers ask them about that new feature. Your immediate manager and QA manager consider this feature (and good tests' results) as an important milestone so your e-mail gets forwarded to VP of engineering. Twice. VP of engineering wonders if VP of marketing may need to know about that feature, and whether it will help in lead generation, so she forwards it just in case...

As an employee of medium or large corporation you often faced with a dilemma: you do no want to send e-mails to too many people - some of them may not be that interested and you appreciate their attention span, so you do not send your e-mail to too many addresses. On the other hand, you may not know that some of your colleagues need exactly that information, right now, so you do not want to miss some important addressees. RSS transfers this burden to the shoulder of your readers and they are usually in better position to know what kind of information they need.

If you are a manager you may choose a subscription style that fits your management style. Control freaks may subscribe to every single feed and keep tabs on everything, and fans of delegation may read only blogs of their key subordinates and higher management, hoping that if anything interesting pops up, it will be reblogged by one of the bloggers they read (analog of e-mail forwarding in the RSS world).

RSS is also beneficial if you want employees to roll out ideas more freely and often. The thing is, people generally do not want to send non-critical e-mails to others, because they believe they may be annoying, but will happily blog them. It's like instead of approaching you bosses with your idea one-by-one you speak about it at company lunch and all who listen to you, know about it (What's that sound? It's an analogy police knocking on my door).

Posted in Personal Technology | Software frolov's blog | 2 comments

Submitted by frolov on Wed, 2006-02-15 23:37.

Deleting unapproved comments in Drupal

I use Drupal to run this site. While Drupal looks like a bit of an overkill for running just a personal blog, I don't want to switch to any other blogging engine now (No, not even to trendy WordPress, thank you).

And of course Drupal has its long-standing annoying quirks. One of them is a deletion of a comment spam - you have to hit a delete button for each comment individually - which results in a horrible user experience when you have Web-based interface. Fortunately there is a workaround.

One piece of advice though - change URL from the article to something which cannot be guessed or, better yet, add authentication. I hope Drupal maintainers will get the message and turn this workaround into feature.

Posted in HowTo | Software | Web frolov's blog | add new comment

Submitted by frolov on Sat, 2006-02-11 22:01.

Shooting the troubles

Probably the most interesting part of web log statistics for my site is a page with keywords that people use in search engines to come to my pages. The most popular search is for information about C++ string streams. Ironically, this blog does not provide much help here, though I put some useful links on my front page.

Over the course of my career I bumped into many different technical problems. Often these problems required a lot of time or mental effort to investigate. Needless to say, web search engine made that task way easier, but sill there were problems I had to spend considerable time on. Once I had this blog I have started to put some results of my troubleshooting sessions, primarily as a sign of gratitude to all the people who do the same.

So, when I look at search term statistics, I am always glad to find that people came to the solution at my site, using search keywords describing their problems, like the problem of putting spaces to LD_PRELOAD environment variable or Coloured bash prompt screwing multiline input in a terminal.

Maybe separate articles or pages instead of blog entries is more appropriate for that kind of texts, but I am pretty happy with the present format now.

In near future I am going to post a couple of entries explaining problems related to GNU C library application binary interface (ABI) revisions and incompatibilities and problems with C++ language ABI.

Posted in Software | Software engineering | Web frolov's blog | add new comment

Submitted by frolov on Wed, 2006-02-08 23:30.

Software projects

This page contains my small software projects that I decided to put online.

furl-save

Furl-save is a Perl script that does a backup of your categorized, keyword-tagged web bookmarks and their respective page contents stored on online service furl.net

Tested on following platforms:

  • RedHat Linux 7.3
  • RedHat Linux 9.0
  • Fedora Core 4, 5, 6 on Intel x86
  • Microsoft Windows XP with ActivePerl installed

Download furl-save version 1.0.3

Posted in Software add new comment

Submitted by frolov on Sat, 2005-12-03 21:39.

Coloured prompt in Unix - the right way

The first thing I always change in my .bashrc and .profile files on any Unix is a bash prompt.

Bash prompt on Unix is defined by environment variable PS1. Default prompt on most systems is usually set to somethings stupid. I need two things from my prompt: host name and current directory name. I also like '>' sign to be at the end of a prompt, not '$' or '#'. So I put into my .bashrc:

PS1='\h:\w>'

I also like my prmpt to be colored so I could visually distinguish it from the surrounding text - it really helps when you have output from several consecutive commands in your terminal. There are many articles on the Web which advise how to add colours to the prompt, and it seemingly works but it is easy to do it wrong.

Each time I am asked: 'If I need to wrap long command in bash, my command line is messed up, why?', I ask back: 'Do you have a coloured prompt?'. I invariably hear 'Yes'.

The problem is that terminal accounts colour-changing control symbols for string length, but in fact they do not take additional space. That discrepancy messes up a multiline input.

So here's the right way to enter colour changing control symbols:

\[033[B;Cm\]

Instead of B you must put either 0 - for normal colours, or 1 - for bright colours. Substitute C with a number of a colour:

  • 30 - Black/Dark grey
  • 31 - Red
  • 32 - Green
  • 33 - Yellow
  • 34 - Blue
  • 35 - Magenta
  • 36 - Fuscia
  • 37 - White/light grey
  • 38 - Default foreground color. Use it at the end of the prompt, so that further text is not coloured.

I like to have bright yellow prompt (I use black background), so I put into my .bashrc:

PS1="\[\033[1;33m\]\h:\w>\[\033[0;38m\]"
export PS1

If you want other information to appear in bash prompt, here is the reference:

\a an ASCII bell character (07)
\d the date in "Weekday Month Date" format (e.g., "Tue May 26")
\e an ASCII escape character (033)
\h the hostname up to the first `.'
\H the hostname
\j the number of jobs currently managed by the shell
\l the basename of the shell's terminal device name
\n newline
\r carriage return
\s the name of the shell, the basename of $0 (the portion following the final slash)
\t the current time in 24-hour HH:MM:SS format
\T the current time in 12-hour HH:MM:SS format
\@ the current time in 12-hour am/pm format
\u the username of the current user
\v the version of bash (e.g., 2.00)
\V the release of bash, version + patchlevel (e.g., 2.00.0)
\w the current working directory
\W the basename of the current working direc­ tory
\! the history number of this command
\# the command number of this command
\$ if the effective UID is 0, a #, otherwise a $
\nnn the character corresponding to the octal number nnn
\\ a backslash
\[ begin a sequence of non-printing characters, which could be used to embed a terminal con­ trol sequence into the prompt
\] end a sequence of non-printing characters

So, jump into your favourite editor, hack your .bashrc. Experiment, and I am sure many of you will find coloured prompt handy.

There are many other ways you may customize your bash prompt. It is actually possible to include output of any programs into the prompt or even change the prompt (and colours within it) depending on some external conditions. For example you might turn your prompt red if last program finished with non-zero error status (which means something bad or unexpected happened) or green if everything went well. But this is probably a topic for a separate article.

Posted in Software frolov's blog | add new comment

Submitted by frolov on Wed, 2005-09-21 22:11.

How to specify library name with spaces in LD_PRELOAD

Recently several of my colleagues bumped into an interesting problem.

We use LD_PRELOAD environment variable in couple of places. For those of you not familiar with it: LD_PRELOAD is an environment variable which allows you to specify dynamic libraries which will be loaded before all other libraries. This technique allows you to intercept calls to standard libraries is used by many debugging and analysis tools. Or you could alter behaviour of tsndard libraries for different purposes (e.g. fault injection).

As other variables like PATH or LD_LIBRARY_PATH, this variable may contain list of library namesseparated by colons. But... for compatibility with legacy systems it is possible to separate LD_PRELOAD elements by spaces. And older systems did not understand escaping so it turns oout it is impossible to put full library paths into LD_PRELOAD if they contain spaces.

But here is the trick. You may put library directory name(s) with spaces into LD_LIBRARY_PATH (which is kind of a PATH but for dynamically linked/loaded libraries) and put short library name(s) into LD_PRELOAD. Of course, short library file name must not contain spaces but this is less of a limitation.

Posted in Software | Software engineering frolov's blog | add new comment

Submitted by frolov on Mon, 2005-09-19 16:30.

Furl and del.icio.us and market research

Hans van Deum writes on his blog about my comparison of online bookmark managers:

I found this blog which has an interesting comparison between different bookmarking services. This guy is obviously sold on furl. Perhaps I should check it out.

The problem with these sites is that they are only useful for market research when they are the de facto standard, because e-businesses will never pay each site separately to do the same research.

If Hans wants to do market research he is probably better with del.icio.us. It seems to be trendier and user base appears to be bigger. I use Furl, because I need a place to store my bookmarks and easily find them afterwards. It has features that I need, and del.ici.ous does not have them. It is that simple.

Spurl.net has pretty much the same functionality as Furl (at least with regard to functionality I am interested in). If I knew about Spurl before, I would probably have chosen it. So far, I have not seen a "killer feature" that will make me switch.

Posted in Software | Web frolov's blog | 1 comment

Submitted by frolov on Tue, 2005-06-07 21:44.

Klocwork Defect analyzer finds flaws in CVS

My co-worker Alen Zukich reported a bunch of serious defects to CVS development team. And of course, his findings are based on report by Klocwork tools.

We use CVS for version tracking at Klocwork and I am glad we were able to give something back. Our customer list includes many big names and we get a lot of positive feedback from them about our solutions (and yes, we get a lot of requests and scrutiny from them, too). However I am excited that Open Source world benefits from our reports too. Expect more advisories with regard to open source projects originating from Klocwork.

Posted in Software frolov's blog | 1 comment | read more

Submitted by frolov on Sat, 2005-04-23 13:53.

Furl backup script

I created a simple Perl script to backup Furl archive (both XML descriptions and ZIP with pages). Download archive, unpack Perl script and install it to your cron table or use manually. Do not forget to put your username and password into the scipt. I spent just 20 minutes writing it and testing, so it is pretty bare-bones.
read more

Posted in Personal Technology | Software frolov's blog | add new comment | read more

Submitted by frolov on Tue, 2005-04-12 00:14.

XML feed

Subscribe





Enter your Email





Powered by FeedBlitz

Navigation

Browse archives

« August 2008  
Mo Tu We Th Fr Sa Su
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Syndicate

XML feed

User login