Friday, October 19, 2007

rsizr - Intellegent Image Resizing

rsizr is a very innovative web-based application to intelligently resize images, without loosing much details. Instead of dupkicating or removing some columns or rows of pixels from an image, it uses a technique called Seam Carving to duplicate seams in an image that contain most details, or to remove the seams that contain least details. Even Photoshop (c) does not have that capability, yet.
Seam Carving Technique:

rsizr in action:

The user interface is very simple. Simply put, you upload your image (make sure the size is suitable for your speed, it may help to resize your image before you upload it). After that, you can mark the areas you need to protect (green), and the areas you want to remove (red) and then start your resizing. It is that easy. Give it a try, it is a lot of fun removing that person from the group photo!

Wednesday, October 03, 2007

Using Command Line? Try this

If you use Windows Command Line, or Unix Shell / Terminal, and miss the GUI stuff, then here is a cute little utility application you may find very nice. It's called hotwire-shell. It nicely blends some of the GUI aspects and the power of the command line.
Basically you will have a text entry with auto-complete for commands, file-names, directory-names, full history, and a top Window for the output that is nicely formatted for various outputs, and includes built in search, so you can search through the pages of output.
You can do most of this stuff with the existing Windows Shell and some grep or more but this looks nicer.
It works on Linux and Windows.

Let the Tortoise help you create a Time Machine

What the hell am I talking about? Fasting got into me? not really. I am talking about a software tool that you can use to create a "Time Machine". To the Past only.
Imagine you can store every single version of a file, and can easily get back older versions of the file. Then you can compare your current version with any old version, or compare any older two versions. This is the Time Machine Part.
The software that makes this possible is called SVN. Or Subversions. It was originally used to manage programs, and that is how I got to know about it and use it. It can be used to allow multiple developers to access the same code base, make modifications, share them, and put them back so other developers can share them. I will not dig too much into that.
The tool that makes this really easy is called TortoiseSVN. And that is the Tortoise Part.

TortoiseSVN, after being installed on Windows, adds sub menus to Windows Explored Right Clicks, and makes all of the usually difficult SVN work very simple.

To get started, you need to create a Repository. Choose a location that has enough space to hold the files you want to keep a history of, and create a Repository there. Do not do any file operations in that place. The repository is not meant for normal file browsing. It just contains the files you put with all the history in internal, SVN format.

The initial step of adding files to the repo is a bit tricky. But you only do it once, and if you follow these instructions, you should be fine:
  1. Go to the folder you need to version
  2. Right click, select TortoiseSVN | Import
  3. Select the location of the Repository you created earlier.
  4. Put a comment if you want; "initial Import" is a good choice.
  5. You will be at Version 1.
  6. Now you have your files in the SVN repository. You can delete this folder (backup, just in case).
  7. Now you need to get the same folder from SVN, delete all files in the folder, but keep the root folder.
  8. Go up to your root version folder, which is now empty, and right click, SVN Checkout.
  9. You should now have all your original files, with nice SVN icons overlayed on top. If that does not work, you missed something. You can try again or leave me a comment.
  10. This place will be used as your normal Working Folder from now on.
You then have these major operations to do with your repository.
  1. Import: Add new files from Working Folder to the repository (this can also be done by Add)
  2. Commit: is putting the files from the Working Folder into the repository. Only changed files will be written to the repository, and only the differences are written for most files.
  3. Checkout: is getting the files from the repository to a new Working Folder.
Remember that you should not use the Repository location. Perform all the above operations from your Working Folder from now on.

After this is up and running, you can do all sorts of things with SVN. You can check the differences you made, you can get any old file that you have committed to the repository, compare any two revisions, and other cool stuff for programmers.

But you do not need to be a programmer to use SVN. TortoiseSVN works with not just text files, but Word Documents, Images and other file types too.

Just Google it!