Sunday, November 15, 2009

Utility to resize browser window

When developing web apps, I always ensure that the pages fit in whatever screen size the customer has requested.

While html itself can manage the page layout, it is important that a page's visual impact does not get diminished by elements that get pushed below the page bottom etc.

I've just found another utility, called ResizeBrowser, that can resize the browser screen to any resolution.

ps: Comments and/or links to this article are most welcome!

Monday, November 2, 2009

Google Wave: The complete guide.

You must have heard about Google Wave by now and are, surely, keen to try it out!

Well, I can't help you with that, you'll need to get an invite first and they are about as rare as functioning brain cells in George W. Bush's head!

However, if you wanted to learn what it does and what it is, scouring the net will give you lots of info. Lots!

But you probably still couldn't stand in front of a roomful of people and describe it. (Yeap, it's that revolutionary!)

Visit this web site and find out all about it!

ps: Comments and/or links to this article are most welcome!

Saturday, October 31, 2009

The Git Parable

I thought the quest for the ideal Source Conrol System (aja Version Control System) had ended when I moved away from that piece of garbage, known as Visual SourceSafe, and into CVS a few years ago.

Alas, not long after, I realised that things could be better. Enter Subversion!

Time passed. All was well. I even managed to introduce it to the dev team at work; all went well (ignoring some painful merging experiences at the beginning!)

Still, I kept an eye out for anything else that may be better.
The most intriguingly named Git is one that has caught my eye.

There are plenty of articles on the net about git but the one I found most refreshingly useful was the one at Tom Preston-Werner's blog.

It explains how git works in the most useful way I've seen in a very long time.

ps: Comments and/or links to this article are most welcome!

Friday, October 23, 2009

Make a multi-boot CD/DVD

For a few days now, I've been trying to find out how to make a boot DVD that contains a number of ISO images.
I wanted to put a number of anti-virus rescue CDs onto one DVD and have some kind of boot menu on it, so that when it boots it gives me a list of ISO images I can boot from.

You'd think it was easy, wouldn't you!

There is a lot on the web about MagicISO; it supposedly does just that.

I have no doubt that it does, I just haven't been able to find any info on how to do it.
I have seen a few references that talk about how to put a bunch of different versions of Windoze on a DVD.
That'd be about as usefull as getting a bunch of diseases, all in one cup.
Convenient, I am sure, but most undesirable.

However, I did find something that goes quite some way there!

It is called Sardu, which stands for Shardana Antivirus Rescue Disk Utility.
It allows you to build an ISO that is made up of a number of other ISOs.
It also allows you to make a bootable USB out of it.

It doesn't quite do everything I want, i.e. use any number of any type of ISO images.
Instead, it caters for the following specific ISO images:
(note that the filename in parenthesis is the exact name of the ISO image corresponding to that menu item)
  1. Antivirus
    1. Avira (rescue_system-common*.iso)
    2. Bit defender (BitDefenderRescueCD*.iso)
    3. Dr. Web (minDrWebLiveCD*.iso)
    4. F-Secure (f-secure-rescue-cd*.iso)
    5. GData (Gdata_*.iso)
    6. Kaspersky (kav_rescue_2008.iso)
    7. Panda Security (*safecd*.iso)
    8. VirusBlokAda (vbarescue-beta.iso)
  2. Utilties
    1. Floppy Win98SE (Windows98_SE.img)
    2. CloneZilla (clonezilla-live-*.iso)
    3. GParted (gparted-live-*.iso)
    4. NT Pwd (cd080*.iso)
    5. Parted Magic (pmagic-*.iso)
    6. System Rescue CD (systemrescuecd-x86*.iso)
    7. Ultimate Boot CD (UBCD*.iso)
  3. Linux
    1. Austrumi (austrumi*.iso)
    2. Damn Small Linux (dsl-*.iso)
    3. NimbleX (NimbleX-2008.iso)
    4. Puppy Linux (pup*.iso)
    5. Slax (slax-*.iso)
  4. Windows PE
    1. Live XP (LiveXP.iso)
    2. MegaLabCD (MegaLabCD.iso)
    3. Windows PE (pebuilder.iso)
    4. UBCD4Win (U_B_C_D_4_WIN.iso)
    5. VistaPE  (VistaPE*.iso)
Here is how it works.
  1. Download SARDU
  2. Extract it into a dir. For this example, the dir is E:\dooda
  3. You will end up with the following directory tree
    1. e:\dooda                       (contains sardu.exe among others)
    2. e:\dooda\ISO                 (this is where you need to copy your ISO images)
    3. e:\dooda\ISO created      (this is where it will store the ISO it makes)
You can either download the ISOs you need by visiting the sites shown in the table above or start SARDU and click on the name of the ISO you want to download.
If you download the ISO, make sure you put it into the ISO directory, as shown above (cyan-coloured entry).
Also make sure the ISO name is exactly as specified above.

Once everything is in place, start SARDU. It will detect all the ISOs that are in the ISO dir (but will ignore any that are not in the list of supported ISOs).
It will place a check-mark next to the name of the corresponding app in the GUI. You can un-check it, if you wish.

Go through all the tabs in the SARDU GUI and select/deselect the ISOs you want in your final image.

When you've done that, simply click on the MAKE ISO button, wait a minute and, voila, you are now the proud owner of a multi-boot ISO, with all the goodies you selected!

I have not had a chance to test the bootable USB option yet. I'll be buying a 2GB USB stick tomorrow and will try it then.

I believe the author is Davide Costa.

Bravo ragazzo e mille grazie!
This utility is great!

ps: Comments and/or links to this article are most welcome!

Friday, October 16, 2009

dSLR saga goes on...

One of these days, I will actually buy a dSLR and the fun will stop.
Toing and froing from one camera model to another for the last 12(!!!) months has been fun. Hasn't it?

Here are the spasms of selecting a dSLR thus far

At this rate, I will be buying a dSLR sometime just before the Y3K problem comes around.


Anyway, at the moment, I have my eyes set on a Canon EOS500D, costing AU$1,139 at camerastore

The sticking point is that I can't find a lens that will give me the zoom range I have in my current camera, a lowly Panasonic FZ20 (non-dDSLR) with a 12x lens which reaches 423mm at f2.8!
(Did I mention that I have a 2.2x teleconverter on top of that?)

If I look at, say, the Tamron 18-270mm, it covers a 35mm equivalent of 28-419mm but starts at f3.5...

Still, at AU$628, it is a pretty good price!

Pop by in a few months time...who knows, with the holiday season just around the corner, I may just do it!

Buy a dSLR!

Finally!  (I think)

ps: Comments and/or links to this article are most welcome!

Monday, September 7, 2009

HashCalc - calculate MD5, CRC32 and other hashes

HashCalc is a neat tool that, given a file or text string, can calculate quite a number of different digital signatures for it.

Among others, it does: CRC32, MD4, MD5, SHA1, SHA256 etc.

It is a free tool and the author is: Slavasoft

Well done guys!

ps: Comments and/or links to this article are most welcome!

Friday, May 15, 2009

Make windows that are off-screen, visible

There are times when an app will memorise its screen position.
If you have more than one monitor and switch their placement around, you may find that when that app is started, it is shown outside the monitor's visible area.

There are 2 ways to make it come back to the visible area:
  1. Using the 'move' option
    Use Alt-Tab to select the app
    press Alt-space, M and then use the left/right keys to bring it into view
  2. Use this neat little utility, called borderline
ps: Comments and/or links to this article are most welcome!

Saturday, May 9, 2009

jQuery helps overcome IE's brain-dead behaviour...again!

This is one is short and sharp.

If you've ever tried to use someArray.indexOf(somevalue) in Internet Embarrassment, you'll have discovered that Microsoft's pathetic excuse for a browser is, well, just that!

Thankfully, jQuery can provide the needed functionality with the following:
jQuery.inArray(value, Array) or
$.inArray(value, Array)
Short and sweet.

ps: You could just use Firefox or any of the other self-respecting browsers...

pps: Comments and/or links to this article are most welcome!

Friday, May 1, 2009

jQuery - a great tutorial series

Jeffrey has put together a great series of video tutorials for jQuery.

They start with the basics and go on into more advanced topics.
There is something there for everyone and it doesn't look like it is going to stop any day now.
Every time I look, there is yet another tutorial that shows up.

Check them out!

ps: Comments and/or links to this article are most welcome!

Wednesday, April 29, 2009

jQuery - a cool, powerful grid!

One of the things I've always wanted the jQuery UI to have has been a grid control.
Alas, it is quite a way down the priority list.

Up until now, I've been using tablesorter, which has been very reliable and useful.
What it was missing was resizeable and moveable columns.

I have now found a jQuery grid control, slickgrid, that supports that plus much much more.

Some of its highlights are:
  • Resizable/reorderable columns

  • Custom cell formatting editing

  • Virtual scrolling. It can manage many thousands of rows of data, while only showing the rows needed

  • Very configurable and customisable

ps: Comments and/or links to this article are most welcome!

jQuery plugin - splitter

Another very handy jQuery plugin I am looking at at the moment is this splitter.

It supports vertical and horizontal splitters, fixed or fluid widths and heights, nested splitters etc.
It has very nice look about it!
Visit it and check it out.

ps: Comments and/or links to this article are most welcome!

jQuery plugin - Imagetool

I am currently working on a number of web apps that need to do a small amount of image processing, such as cropping, area-zooming etc.

While image processing normally evokes images of fat apps, such as those done with dotNOT, I mean dotNET, I am trying to do this in a browser-based app.

I already using jQuery, so I've been keeping an eye on jQuery plugins.

One of them is Imagetool, a simple plugin that provides basic cropping and scaling capabilities.
It supports panning and zooming.

ps: Comments and/or links to this article are most welcome!

Javascript differences between Firefox and IE

Impressive Webs has a very useful article on javascript differences between Firefox and IE.
They mostly relate to getting and setting DOM properties, using straight javascript.

I use jQuery, so most of those differences disappear regardless of the browser used.

Nonetheless, it is always good to be aware of such issues.

Well done guys!

ps: Comments and/or links to this article are most welcome!

Monday, April 27, 2009

Open Source Build Automation and Installer/Wizard Development Toolsets

Below is a list of handy utilities for developing application installers/wizards.

These tools combined can be used to build enterprise grade system configuration applications to automate those tedious deployment and configuration tasks.

Nullsoft Scriptable Install System:

Nullsoft Scriptable Install System (NSIS) is a script-driven Windows installation system with minimal. NSIS has risen to popularity as a widely used alternative to commercial and proprietary products like InstallShield.

Windows Installer XML - WiX:

The Windows Installer XML (WiX) is a toolset that builds Windows installation packages from XML source code. The toolset supports a command line environment that developers may integrate into their build processes to build MSI and MSM setup packages.

Build automation/scripting:

NAnt is a free and open source software tool for automating software build processes. It is similar to Apache Ant, but targeted at the .NET environment rather than Java.


An MSI Editor from Microsoft. SuperOrca may be used to examine and modify an MSI database.

Free Windows Installer Designers:

FastCopy - a neat (fast!) copy utility

FasCopy is a smart copy utility that copies files very quickly. It also supports file moves and deletes.
It is clever enough to detect whether the copy is from and to the same HDD and uses a different copy strategy accordingly.

As stated on its web site,

Diff HDDReading and writing are processed respectively in parallel by another thread.
Same HDDReading are processed until the big buffer fills. When the big buffer filled, writing are started and processed in bulk.

Please visit the home site for more info.

FileMenu utility - handy Windows Explorer extension

This handy utility will add a number of useful functions to the Windows Explorer window, as shown in the image below.

Some of the functions I like are:
  • Command line from here
  • Copy to ...
  • Move to ...
  • Copy Path (very handy!)
  • Change time
  • Run with arguments
  • and many more
Please visit the home site for more info.

Saturday, April 4, 2009

The DSLR saga goes on!

... and just when it all looked like it was settling down (read: I'd stopped telling everyone about what my DSLR was going to be...again and again, see my blog entry), a new one pops up on my radar and I have to start all over again!

(drum roll please!)

Canon EOS500D

Here's a brief look at the vitals:
- 15MP (more than enough!)
- RAW format
- ISO 100-3200 with expansion to 12800.
- 3" LCD with 920k pixels! Yes!
(btw, when are we going to go metric with everything?! What's with this 'inches' thing????)
- 1080p video at 20fps (up to 4GB or 29m:59s)
- 720p video at 30fps (up to 4GB or 29m:59s)
(note that for either of the above, the camera cannot focus continually while recording. Hmm, does this make video recording on the 500D as useless as teats on a bull?)
- Expected price: US$799 for the body.

All I need now is a good lens to cover 28-450mm (in 35mm terms).
Still looking for that one.

For in-depth info on this camera, head over to DPReview or DCResource

Tuesday, March 17, 2009

Antique, Vintage and Handmade Woodworking Tools

[Update March 2016: The site is no longer in operation]

I never thought I'd see the day that I'd be impressed by tools that did not have a version number on them, let alone that required me to use anything other than a keyboard! (and risk hurting my hands!!! Gasp!)

My nephew restores and sells antique, vintage and handmade woodworking tools and we've just finished his web site.
The site is all about woodworking and related vintage, handmade tools.

I must say, I am very impressed with the quality of the photos he's taken, not to mention the final look of the tools.

There are tools there that are an absolute mystery to me!
What on earth is a Wooden Plane??? I thought that was what the Brits flew in WW2!

What about a Myrtle Spindle Turning Pack???
What version is it? Does it have a USB port?
When is its next service pack coming out? Does it run under Vista (well, does anyone care about vista?)

Woodworking tools are another world altogether!
Though I enjoyed putting the site together, I got a headache from trying to figure out what they all do.

I think I'll stick to my keyboard and *software* tools!

Best of luck Luban!

ps: IE6 sucks!
pps: Many thanks to the jQuery guys; it is one of the best tools I've come across for quite a while.
ppps: Smarty for PHP is one cool tool! Check it out.
pppps: Did I say IE6 sucks? Thank the gods for Firefox and Opera kicking Microsnuff's backside and forcing them to update that most pathetic, bug-ridden piece of software!

Saturday, February 28, 2009

jQuery file upload plugin

I have been using jQuery for quite a while now and I still consider it to be one of the best tools for javascript development. There are bigger js libraries around, as well as ones that offer more eye candy but i still find the simplicity, easy-of-use and power of jQuery, extremely useful.

I have seen an explosion of component becoming available for jQuery (sometimes, it is too hard trying to catch up with all the new ones that keep coming out).

One component I have always wanted, is a multi-file upload dialog that also offers visual feedback. There have been a few but they never did seem to hit the spot for me.
Now, there is a new one, called jQuery file upload plugin, by Ronnie Garcia, that seems to have got all the right answers.

Visit Ronnie's site and have a look at it.

If you enjoy what you see, leave Ronnie some feedback of appreciation.
Enhanced by Zemanta

Wednesday, January 28, 2009

30 useful open source apps

Jacob Gube has a great article on 30 useful open source apps, with links to web editors, graphics editors and other misc utilities.

Head over to his blog and look at

Well done Jacob, I found some goodies in there myself!