Tuesday, February 26, 2008

Burning ahead...

Yes, it seems I'm a newbie when it comes to blogging... Just a few days ago, a friend asked me "Don't you have feedburner?"
"What's that?", I asked.

... and then I realized, and of course I got mine. Pretty nifty...

Goolag - testing thy site's vulnerabilities...

Well, one more tool to test thy site - for vulnerabilities, that is... If you've hired someone to do your site, I guess this is just a quick way to see how much he's screwed up (since you'll be suffering from the screw ups, in the end).

More details here.
The main site is, of course, goolag.org

I will certainly test it on a few of my sites ;)

Friday, February 22, 2008

Your shortcuts, or my shortcuts?

The shortcut problem..

I'm getting really tired of these programs and their shortcuts...
  • some programs don't have shortcuts at all
  • some programs have some shortcuts, but you can't customize them
  • some programs have their own shortcuts, but they're so un-standard that almost nobody uses them
  • finally some programs have their own shortcuts and they allow you to customize them
Kudos to the latter. But still, that doesn't solve my problem.

With every new program, I need to learn a new set of shortcuts. The problem comes when the shortcut is to some activity that can apply to several programs, like:
  • find, find next
  • close tab, move to next tab
  • save, save all
  • rename
What users want

What I want is this:
  1. be able to use my shortcuts
  2. whenever I set a shortcut, I want that to be available throughout all my programs
  3. be able to save all my shortcuts, and restore them (for instance, after a Windows re-install)
Well, good luck with any of the above. None is possible - which is very sad, because computers should work for us, not against us.

What the programmers should do...

It's too bad most programmers don't realize what the shortcuts are for. They are to benefit the user, not the programmer. This means that points 1-3 are perfectly reasonable.

Program-wise, this also means that:
  • shortcuts are not to be internal to the program
  • when you load a shortcut, you should be asking a system API function, not assign it some value you came up with, or load it from some crazy file, or from the registry
The solution

Sadly, there's no system API function to call, to load a shortcut. But if there were, here's how it should look like:

string get_shortcut(string shortcut_name);
os_representation shortcut_to_os(string shortcut);

That's it! The shortcut name needs to be made standard, like:
  • "find" - for find command
  • "save" - for save
  • "save_all" - for Save All
  • etc.
And the resulting string needs to be standard, to include shortcut combinations.

Then, based on your OS, the 2nd function, converts that string to the OS's internal representation.

So, you programmers out there - how 'bout we make some cool library to handle this? The implementation shouldn't take too long, but the benefits would be enormous...

Tuesday, February 19, 2008

Do you dare search for Chuck Norris?

How to have a fun moment, in 4 steps:
  1. Open your favorite search engine (Google).
  2. Type "google Chuck Norris".
  3. Press "I'm feeling lucky"
  4. Enjoy!

Friday, February 15, 2008

The Google Experiment

You gotta love google! (by the way, Firefox - you need to update your spelling, "google" is a word :))

The guys started an experiment - features to improve your search experience. For me, it seems to be working ;)

You can select "Alternate views", or Keyboard shortcuts, Left-hand search navigation, etc.

Well, I chose "keyboard shortcuts", since I'm always looking for ways to minimize the use of my mouse. I'm already getting used to it, and it rocks!

Way to gooo google!

Thursday, February 14, 2008

::PlaySound - sometimes doesn't work

The great API function - ::PlaySound, sometimes doesn't actually play the file I'm sending.

How do I know? I've set up a monitor email system, which should play an alert sound when a new email arrives or when the internet connection is down for at least 5 minutes. However, sometimes, after a few hours of running, when some event actually happens, the ::PlaySound function gets called, but no sound is heard.

To get 'round this, here's what I do:
Every 10 seconds, I stop the sound, and play it again. The second or the 3rd time, the sound is actually heard.

Friday, February 8, 2008

C++ Tip: renaming files from the VS IDE

A few days ago I realized - renaming files can be done from the IDE. Too simple : go to "Solution Explorer" tab, select a file, press F2 (just like in Windows Explorer), type the new name, Enter and that's it!

Side-note: if your source files are on SVN/CVS, renaming from the IDE is a no-no.

Sunday, February 3, 2008

Boost Logging v2 - review awaits!

Hi all,

Finally, Boost Logging v2 is up for review, starting tomorrow. There were a few late reported bugs which I just fixed.

Now, lets cross our fingers, and reviewers, fire away! I welcome all reviews, good or bad, let me have it!

Details about the lib:
If you want to do a formal review,
  • if you're a booster, you know the drill
  • otherwise, to do a formal review,
    • go to the Boost site to find out more about formal reviews
    • subscribe to boost users or to boost devel mailing lists
    • then reply to the mail with a subject similar to "[review] Formal review of Boost Logging lib..."
Look forward to hear from you!

Best,
John