alex in a nutshell

June 22, 2008

Quote of the day

Filed under: — Alex Salamakha @ 8:49 PM

Luck in life always exists in the form of an abstract class that cannot be instantiated directly and needs to be inherited by hard work and dedication.

June 19, 2008

CommSec Cash Management goes live

Filed under: — Alex Salamakha @ 11:19 AM

It’s such a good feeling to finish a long project. CommSec Cash Management was an interesting project to work on. Put simply, it’s a self-contained bank within a bank, offering high interest savings and transactional accounts, Debit Master Card, Internet banking, full back office capabilities and integration with existing CommSec’s trading products and Commonwealth Bank’s existing payments systems.

Building such a thing from the ground up was quite an experience from professional point of view; it was a long project too (started prototype in August 2007, started development in September 2007, pilot in April 2008, went live for public in June 2008).

Two weeks after launch – no major issues, which is even a better feeling.

…now I just need a holiday before starting to work on a new assignment…

March 12, 2008

Cool OSX Software

Filed under: — Alex Salamakha @ 5:13 AM

Previously I’ve blogged about my favourite Windows Mobile applications. Now it’s time to write about my favourite software for OSX. Even though my Macbook Pro came with a whole bunch of useful software, there were few gaps required attention.

  • Quicksilver. While OSX built-in search facility, Spotlight, is pretty good, Quicksilver simply kicks arse! It’s super fast and finds everything.  Amazingly, it’s free. Google for Quicksilver tutorials and you will discover why this is a must-have tool.
  • Perian. If you watch DivX, AVI, XVID files on your Mac, it’s a must have, especially considering it’s price ($0). Integrates into QuickTime and I haven’t come across a fileit couldn’t play.
  • VLC Player plays pretty much everything and it’s free.
  • MacTheRipper is good for grabbing DVDs.
  • Toast Titanium is an equivalent of Nero in Mac’s world.
  • TextMate is a fantastic text editor. Not free, but worth every penny.
  • Cyberduck is a FTP client for Mac. Good. Free.
  • Read eBooks in CHM format on your Mac? Chmox is the best (and free) tool.
  • Adium is the best chat client I’ve found. It supports AOL Instant Messenger (Including ICQ and .Mac), Jabber (Including Google Talk and LiveJournal), MSN Messenger, Yahoo! Messenger (Including Yahoo! Japan), Bonjour (Compatible with iChat), MySpace IM, Gadu-Gadu, Novell Groupwise, QQ, Lotus Sametime.

Links back to the Windows’ world:

If you use any other Mac software worth mentioning, please leave a comment here or contact me.

February 20, 2008

Firefox 3 solves Russian Fonts problem

Filed under: — Alex Salamakha @ 7:27 PM

I’ve recently posted a quick fix to Firefox’s problem with displaying Russian fonts in OSX.
Here is another fix: Install Firefox 3 beta. It works. And it’s a better browser too. Don’t forget to read on how to get your old Firefox 2 extensions work with Firefox 3.

February 10, 2008

Setting up home media centre with PlayStation 3

Filed under: — Alex Salamakha @ 9:13 AM

I’ve been using my old 21″ Philips CRT TV for the past eight years and have been reluctant to replace it because I didn’t think the technologies offered were mature enough and I couldn’t justify the price of the replacement.

However, the time has come. LCD TVs are now descent quality, sharp picture, and reasonably priced.

Sony Australia offered free Playstation 3 (40GB) with any Bravia TV 40″ and above. It was a very sweet offer to resist and I became a happy owner of two fine Sony products.

Since I’m not a gamer, I didn’t care for PS 3 gaming features, but I did care about its media centre capabilities.

It does everything I need. First of all, it plays DVD, BlueRay and DivX. Also, it has a very easy-to-use interface. But wait, there is more. There is a fantastic (and free) program called TVersity, which I run on my desktop and use to stream video, music and images from my desktop to the TV via Playstation 3.

Think about presenting snaps from your latest trip to your friends on a 46″ LCD in your living room instead of printing the pictures in a photo lab and then passing the album around. Kicks arse!

How about playing music in living room from a massive music collection stored on a huge hard drive somewhere in the basement?

How about flicking through your entire collection of movies with your remote?

So, there are three things you need to do when you get yourself a Playstation3:

1) Get a proper remote for your Playstation 3.

2) Get a HDMI cable to connect PS 3 to your LCD panel. Just make sure you get something cheap, don’t fall into the trap of buying $400 Monster cables because they are “better quality”. HDMI is a digital standard, it either works or it doesn’t. I’ve got mine for $13 and very happy about it. If you don’t believe me, read this article in PC World.

3) Install TVersity. That’s about all you need in order to set your media centre up.

Gaming. I’ve played games on PS3 during past 6 weeks of owning it. Once. Don’t get me wrong, it’s good, graphics is superb and real on large LCD panel, however, I much prefer playing Wii console on that old and semi-retired 21″ Philips CRT TV with my daughter. It’s so much more fun!!!

Getting old extensions work with Firefox 3

Filed under: — Alex Salamakha @ 8:35 AM

I’ve been complaining about Firefox being a memory hog earlier, so I decided to try new Firefox 3 beta 2. It’s been a lot less aggressive in its memory consumption and is quite stable, which is a fantastic result for a beta. On the down side, most of my add-ons stopped working. I can live without many things, but I can’t live without Yahoo and Web Developer add-ons.

Luckily I’ve found this neat trick to enable your old Firefox 2 extensions in new Firefox 3:

1. Navigate to about:config address
2. Right-click and select New >> Boolean
3. Name it extensions.checkCompatibility
4. Set it to false
5. Restart Firefox

All your old add-ons will try to work and most of them will. At least both Yahoo and Web Developer add-ons work just fine for me.

UPDATE: this no longer works for Firefox 3.6. Click here for the solution for 3.6.

December 17, 2007

Firefox the memory hog

Filed under: — Alex Salamakha @ 8:06 PM

I use Firefox every day, I was sold on its speed, leanness and extensibility, but it looks like the Firefox team is loosing the plot. My friend James Crisp recently posted the following:

Finally, last week, after Firefox hung yet again using 100% of processor and over 300mb of memory, I decided to give Opera a go.

300MB? How about 1.5GB? I’ve left my Firefox v2.0.0.11 running overnight on my office machine with 3 tabs open and discovered the following in the morning:

Firefox the memory hog

WTF, Firefox team? Is it time to give another browser a go to acheter kamagra?

December 1, 2007

Russian fonts in Firefox under OS X Leopard

Filed under: — Alex Salamakha @ 8:28 AM

One of the annoying problems of OS X Leopard upgrade was Firefox’s problem of presenting Russian characters – all buttons, text boxes and other controls contained question marks instead of characters while web pages were presented well.

Problem with question marks instead of letters

This is how you fix this:

Quit Firefox. Go to Applications folder and Right click on Firefox. Select “Show Package Contents” from the menu. Navigate to Contents -> Resources and rename en.lproj directory to ru.lproj directory.

the problem is fixed

November 14, 2007

Creating business objects validation with Enterprise Library Validation Block

Filed under: — Alex Salamakha @ 11:01 PM

I’ve been using MS Enterprise Library on a number of projects. There are several blocks that used more often than others. I find validation block particularly useful. However, I usually like to tweak it a bit. The thing I don’t like is when you want to validate an object you require to write a substantial amount of code:

Validator<Customer> validator = ValidationFactory.CreateValidator<Customer>();

ValidationResults results = validator.Validate(customer);

Also it’s possible to create a validator for another type and validate an object with it without any problems, errors or exceptions:

Validator<WRONGCLASS> validator = ValidationFactory.CreateValidator<WRONGCLASS>();

ValidationResults results = validator.Validate(customer);

This feature is for flexibility, however, I haven’t found a need to use it the way it was intended. On the other hand I have encountered a number of situations where developers copy-pasted code responsible for creation of a validator without changing the type of a target object. This results unexpected behaviour during testing.
In order to fix this every business object is derived from a common parent BaseBusinessObject class, which has the following method defined:

public ValidationResults Validate()


Validator validator = ValidationFactory.CreateValidator(this.GetType());

return validator.Validate(this);


As a result, validating an object is now a lot simpler:


Usually it makes sense to have a base business object class anyway, so it’s not much of an overhead.

October 28, 2007

New job

Filed under: — Alex Salamakha @ 6:09 AM

As of November 6, 2007 I will no longer be an independent consultant at Commonwealth Bank of Australia, my workplace for the past 18 months. I’m not going to another organisation, however. I’m switching to a permanent position of Application Architect instead.

I’m excited!

« Previous PageNext Page »
Copyright © 1997-2017 Alexei Salamakha. All rights reserved
email:    Alex Salamakha on Facebook    Alex Salamakha on LinkedIn