Monday, January 31, 2011

Time to Move On…

You do whatever you can and then it’s time to move on!
-Warren Siegel

… or something like that! I’m going to rant about

ACBOOK

in this post. Specifically, its origin, evolution, appearance, functionalities and current status. Let us begin the journey with

v1.0; Release 1 (2002-04: 3 Semesters at IITKGP) This was coded in C++, probably my last extensive programming endeavour in C++ (apart from the programming done for the ‘Programming & Data Structures’ course in second semester). It included 9 very basic functional choices (I don’t remember if this number included ‘Exit’ or not!) like Adding / Editing / Deleting Data (includes Date, Particulars & Amount); Selecting Accounts / Categories; Showing all Data; Viewing Balance Sheet (name changed later in v3 to Balance Summary!), etc. There may have been one or two functions associated with physical file manipulation but I don’t remember them as indicated by the shaded part below:

AcBook v1.0

The source filename was hard-coded and the data was automatically loaded from it when the program was run. There may have been a Save to File function if Data manipulation was not done directly on the file (like in later versions!), which would make 9 choices (including Exit). However, if saving was direct then I’ve no clue what could have been the last (two) choice(s).

Anyway, there were 9 or so different .cpp files compiled to give their own executable file and selecting a choice would run that particular .exe (heavy use of global & extern variables)! This ran all right on Windows XP for some time but – as is well-known to those (like Shantanu) who know it well – my programs have an inherent expiry date! After an year or so that started to show as the coordination between some of these executable files was lost. Fortunately by that time, I’d met MATLAB® and We were ready for

v2.x(0≤x≤9); Release 2-3 (2004-07: 7 Semesters at IITKGP) These were coded in MATLAB v6.0 & v6.5. I don’t remember what features were added in which minor version and release. But I’ll give what all was available at the end of v2’s lifetime! First of all, there was a cosmetic Password dialog box,

Password

which accepted ‘jkmsmkj’ only! After that, we got to see the relevant GUI:

AcBook v2.x

Let me confess that all the figures shown for v2.x are modified from those of v3.5&9! The ‘advanced’ panel features (i.e. boundaries) were not present in v2.x. The buttons are shaded above as there were 8 buttons in a 4x2 grid (not 7 as hidden above). Most probably they were arranged like: [LOAD, ADD; CLEAR, SHOW; EDIT, DELETE; (Save), (Exit)]. ‘Load’ loaded Data from ‘data.mat’. ‘Clear’ just cleared the Data fields. ‘Show’ showed ALL the data of the selected Account & Category in the Display Box sorted in chronological order. Both the Accounts & Category were hard-coded. The Accounts included Earning & Expenditure, which is still the case. The categories included ‘In Pocket-IC’, ‘PNB’, ‘In Pocket-NC’, etc.

The File menu must have included New, Open, Close, Save, Save As & Exit, which have quite obvious functions. The Tools menu would have included View Balance, Sort by, Search for & Generate File. ‘View Balance’ showed a bland pop-up window containing the ‘Balance Sheet’:

Balance Sheet

‘Sort by’ is just a placeholder: Data is ALWAYS sorted chronologically! ‘Search for’ may have been introduced in v3 (definitely not in Release 2) but as the name suggests, it searches for date, particulars & amount depending on which option is chosen. ‘Generate File’ (definitely in Release 3) gets a bit technical and hence beyond the scope of this post. The Help menu (even in v3) included ACBOOK Disclosed (opened help file) & About ACBOOK (showed version info as seen above).

This set of functionalities served me well till the end of my life at IITKGP but then in Summer’07, I started thinking of my future needs and that led us to

v3.x(0≤x≤9); Release 4-9 (2007-11: 3½ Years at SUNYSB) These were coded in MATLAB v6.5 & v7.9. Let me try to relate the minor version & release numbers: v3.0 R4; v3.5 R5-6; v3.9 R7-9! Let us now see how the program evolved. The major change in v3.0 R4 was the ability to have user-defined categories that led to a new Category menu, which becomes active only after a file has been opened. It had 3 sub-items: Add, Delete, Rename. The next revision was given a higher minor version (which seems a bit weird to me now!): v3.5 Release 5 and was the first to be recognized as an equal to the SuDoKu Solver and put online:

AcBook v3.5

As seen above, a cosmetic blue Login bar was added and 8 buttons were reduced to 7 and their positions rearranged. The missing ‘LOAD’ button was moved to the File menu and its accelerator ‘Ctrl+L’ took the place of clicking the button! After this, I got MATLAB v7.9 and added a toolbar containing icons for ‘Load’, ‘Close’, ‘Open’, ‘Save’ & ‘Exit’ which marked release 6. Obviously, the number of buttons in the buttons’ panel was now reduced to 5 with (Save) & (Exit) moved to the toolbar.

Another major change occurred in the next version v3.9 R7 when the Balance Sheet dialog was removed along with the ‘View Balance’ item from the ‘Tools’ menu. A table titled ‘Balance Summary’ was added at the bottom of the GUI which showed the ‘balance sheet’ all the time. One more item was added to the Category menu: Set Currency. In v3.9 R8, one more item was added to the Category menu: Reorder and one more to Tools: Combine Files. Speech functionality (as in the messages written in the Display box are spoken) was added in v3.9 R9.

AcBook v3.9

It now included java-based executable .jar file instead of an executable .exe file! This seemed like a good idea back then as the black DOS window didn’t pop-up before the GUI did which confused all the ‘users’! But then I realized that I had to bundle MATLAB’s javabuilder.jar file (~550KB) also in the installer. This led me to a lot of soul (& net)-searching and I found a way to suppress the DOS window and go back to the lovable .exe files in the latest

v4.2; Release 10 (2011-∞) This is a major revision (which makes me think why is its minor version only +3 compared to the last one!) and it has a proper ‘multi-user’ login functionality:

Login Screen

The passwords are stored after encryption so you can be rest assured that your password is that much safer to being cracked but your Data can be tinkered via MATLAB, though! Having this login functionality spawns a whole host of other features: Change Password [Tools], (Dis)Associate Users [Tools], Set as Default [File] & Lock [File]. In this new version, every file you create or save is associated with you exclusively. To allow others to access your files, you must select their usernames to be associated with your files via ‘(Dis)Associate Users’ option in the Tools menu. ‘Set as Default’ gives you an option to set your most frequently used file to be accessible with 1-click via ‘Load’ button (earlier it was hard-coded to be data.mat!). ‘Lock’ just locks AcBook screen analogous to Windows Lock!

File menu gets one more addition: Export, which exports currently loaded file to an MS Excel (.xls) file! Category menu also gets one more (hesitant) addition: Transfer, which basically transfers a specific amount between two categories. Most unusual additions are in the Help menu: Update & Uninstall which do whatever they are supposed to do!

Since the clicks on ‘Balance Summary’ table control the data shown in the Display box, the ‘SHOW’ button from the buttons’ panel was removed. The ‘ADD’ button was made larger to cover its absence, reducing the total number of buttons to 4 (half of what we started with in v2.0!). Also, only 50 Data items are shown in the Display box at a time now! The toolbar also gets a new look & buttons, which you can see in a snapshot of the program at work below:

AcBook v4.2

I’d like to thank Sn (younger brother of S from a couple of posts back) for giving me some ideas & feedback which led to

ACBOOK 4.2.o Release 10

Thursday, January 13, 2011

Learning New Tricks…

…on Olympus PEN E-PL1.

Here’s the ad which removes all doubt about buying one! Smile

Olympus PEN E-PL1 Ad

Here’s what the camera looks like in ‘my hands’. Believe me, it is very hard to make a ‘free-hand select region’ even on a tablet. I know it’s going too far to remove my hand and bearded chin around the camera but then who in their sane mind would not try this at least once in their lifetime!

Olympus PEN E-PL1

Here are two photos of a 'butterfly’ taken at different ‘Color Temperatures’ or as the technical jargon goes: different ‘White Balance’ (WB) reference. In fact, the latter one has WB reference set to the wall of my apartment and is almost the same ‘white’ which is seen by my eyes! Anyway, the colors are as bright as the real thing and as good as the former one shot using the Pop Art Scene (A1) mode which is supposed to pop out the colors.

Butterfly-1

Butterfly-2

This one was shot with flash on to remove the shadows. The flash has screwed up the WB, I guess.

Butterfly-3

Two shots of a cloudy day with different WB: (Which one do you think is more pleasing to the eyes?)

Cloudy Day-1

Cloudy Day-2

Two shots of snow-covered leaves. First with iAuto mode and Second with A1 mode (The colors do pop out!):

Leaves-1

Leaves-2

Snowy Night Scene

iAuto mode with tweaked WB:

EPL10050

iAuto (Brighten the bright areas):

EPL10051

iAuto (Darken the dark areas):

EPL10052

Flash on in iAuto / Shutter Priority modes (with different WB) to show that snow is actually falling (which is also visible in shots above only if you stare at them long enough till you eyes start glazing over):

EPL10049

EPL10046

EPL10045

A clear night shot just after sunset where blue (or what is left of it) of the sky looks as good here as it looked to the eyes! Also, the Image Stabilization (IS) works well and couple it with the 2s lag between pressing the shutter button and the picture actually being taken, it’s theoretically brilliant. But it didn’t make much difference in practice!

Clear Night

Anyway, I leave you with the

Actual-size Photos

Sunday, January 2, 2011

Old Year’s Accomplishments

People talk about New Year’s Resolutions, let me talk about my Old Year’s Accomplishments. I thought I’d make a list ordered by month like this one. But then I realized I do not have so many ‘accomplishments’ to boast about in this post! Well, what the hell? I’ll do it anyway…

January: Don’t remember any…

February: Don’t remember any… (Maybe I completed the 50th level of Microsoft Blackboard game in this month!)

March: It was a rainy day. I wasn’t expecting it would last 10, no 15, well make it 20 minutes! That conversation makes for some memorable moments. [?]

April: It was a cold day. I wasn’t expecting it would be fun! Searching for a restroom in the Central Park… Seeing fossils up-close for the first time... Eating south-Indian dish after walking miles… Having a couple think we’re making fun of them when we’re talking Physics just because ‘someone’ couldn’t stop giggling! On a lighter note, I wrote my first Parody Paper. [Picasa, Publications, Extras]

May: It was a sunny day. I wasn’t expecting it would last so long! Completed my first Time-Lapse Video. And also changed my room, which is definitely an accomplishment. [YouTube]

June: Don’t remember any…

July: It was a boring day. I wasn’t expecting it would be so immersing! Made a 2D surface visualizing program. [iCPPs, YouTube]

August: It was an exciting day. I wasn’t expecting it would work out so smoothly! Converted the compilation of my Sudoku Solver 6.5 & AcBook 3.9 from .exe to .jar and got it zeta-tested successfully. [AB3.9]

September: Don’t remember any…

October: (Going to meet family members and roaming around India & Nepal most probably does not count as an accomplishment… definitely NOT!) It was a busy day. I wasn’t expecting it would be so cumbersome. I completed my own Unicode-based Keyboard Layout to input Greek characters, Mathematical symbols and various accents directly from the physical keyboard. It is mostly based on my advisor’s keyboard layout shown below: [Extras, Flickr, Picasa]

Warren's Keyboard Layout

November: (Celebrating Diwali with family also does not count as an accomplishment.) It was an enlightening day. I wasn’t expecting it would be so simple! Realized what I was doing wrong and also the correct way to do it almost simultaneously. The trick was to concentrate on one hoop even if there were more and let symmetry take care of everything else! Also, upgraded SS 6.5 to SS 6.6 and made it ready for consumption. (Nobody consumes it is another matter!) [Research, SS6.6, YouTube]

December: It was an exhausting day. I wasn’t expecting it would be such a great learning experience. Figured out the differences between bitmap & vector graphics formats. The difference is seen at 800% zoom. My grammar & sentence construction skills leave a lot to be desired. After umpteenth corrections, my 1st (& 2nd & 3rd & 4th & 5th) paper of this year was put on arXiv. [Preprints, Publications]

As you’ve noticed, I haven’t linked to the ‘proofs’ of my accomplishments above. It’s just that it is an incomplete list and I’ve certainly missed some. So, instead of linking specifically to those mentioned above, I’ll post ‘categorical’ links below where even my future accomplishments would more or less appear now & then. Enjoy and Happy New Year 2011!!! (If you squint just right, you can see the Number 23 appearing here also.)

Anyway, here are numerous end-of-the-post-links which appeared above in [You’re wondering about these, weren’t you?]:

Preprints; Publications; Research; Extras;

YouTube; Picasa; Flickr;

SS6.6; AB3.9; iCPPs.