Saturday, March 19, 2016


This post serves as a changelog of my MATLAB program for personal ‘Accounting’ purposes: AcBook. Why does it require a separate post, you ask? Because this major version upgrade (5.0 → 7.0) has truck loads of new features, enhancements, updates and behind-the-GUI optimizations. To capture all of that on this page would have been a nightmare and anyway where else am I supposed to show off my creation if not on my own blog, huh? So, let’s get started!

Even ‘before’ the start, there are 2 small but important noticeable changes:

  • A ‘waitbar’ displaying the progress in setting up the GUI.
  • A ‘startup’ folder selection dialog box (if needed) for storing login info, data files, etc.

And then when the GUI is finally on the screen, there’s the major new feature:

  • Exchange Rates Calculator. It has been added below the Login panel. The data is downloaded from here but only at the start of the program. [This data is current at the order of past one hour. This is not supposed to compete with the data on search engines or professional websites that updates in the order of seconds.]
ERC Panel

After successful login (a dumb bug related to Log Off has been fixed), you're greeted with a familiar layout:

Main Screen

Well, I say familiar… Smile First, notice a few ‘minor’ GUI changes:

  • The user ID is displayed on the title bar.
  • Background colour of the panel titles is now slightly darker to differentiate it from the lighter shade of the table rows.
  • The panel headers get new & simpler button icons on the right. [Display panel: “Undock / Dock”; Balance Summary panel: “Minimize / Restore” & “Show / Hide Summary”.]
  • The text descriptions for ‘Particulars’ & ‘Amount’ no longer take extra space as they are shown in the fields themselves (which sadly means, for now, tabbing doesn’t work).
  • All the buttons are a bit more colourful (should have noticed that already).
  • Two of the four buttons (Modify & Delete) have been moved to the Display panel.
  • The buttons scale gracefully as the height remains fixed so that the text is never cropped. Actually, the text doesn’t scale with resizing, including the panel titles, too. (Anything for texts is a lose-lose situation but this behaviour is at least consistent with the ‘non-scaling’ buttons.)

Second, I tell you a secret:

  • All ‘numeric’ data fields accept valid arithmetic expressions like 669+241, 1/66.38, etc. (Try it out for yourself because there was a bug in earlier versions, where even though this was mentioned to be a feature, it was not actually implemented… WTH indeed!)

Next, let’s talk about the elephant in the room or another major new feature:

  • Groups. The manifestation of this feature is visible in the Data panel as a drop-down menu and as a new menu in the Menu bar. This feature, simply put, allows tagging / categorizing your data (a highly requested feature by a tester who tested AcBook for a few minutes or so ages ago). A few built-in groups are available and more can obviously be added. As expected, the Group menu is very similar to the Category menu.
  • Most of the work done for this feature is behind-the-GUI and deals with handling old files that don’t have groups associated with the Data. Most of the data will be assigned to the ‘protected’ Miscellaneous group but few like Food or Rent will be assigned properly to Living or Housing Expenses group. But since no one other than me has ‘old’ files, who cares about this.
  • To facilitate changing groups, a context (right-click) menu has now been activated in the Display panel. It allows changing all three defining properties of the Data.

Talking about the menu bar, let’s dive into it:

  • The Menu items have been shuffled / renamed / added (Uninstall has been removed as it is deemed to be no longer necessary; just use the Control Panel / Settings App). Check the updated & comprehensive Manual (via Help menu) for these details.
  • Category & Group deletions are confirmed now.
  • The Reorder option for Categories (Groups can’t be reordered; they are ‘sorted’ internally) gets a place in the toolbar too for easy access. Why? Because I want to show off the colourful ‘Drag & Drop’ implementation (including the sorting option) compared to the dreaded numbering option of previous versions!
Old vs. New 'Reorder' option

As an aside, when asked about the above photo, Cortana gives a hilarious answer! She suggests it is “Wood Camaro”… Do you know what that is? I didn’t know it till then either so I urge you to ask her about it! If you’re thinking how to do that, here’s a step-by-step guide: Open this post in Edge, then right-click on the image above and click ‘Ask Cortana’. It’s that simple!

Ok, back to menu items, some new ones now:

  • A Graphical Analysis tool has been added, which shows a 3D Pie Chart of the Expenditure (or Earning) data in a particular Category split across the Groups.
  • If some data in the Display panel looks fishy to you, you may check on it by ‘checking’ this new tool: Show Raw Data. (Get familiar with it on your own.) This place also allows you to quickly edit the Names of Categories & Groups and Particulars for the Data.

Last but not the least:

  • All errors (hopefully) will be ‘caught’ (instead of being notified by an annoying ‘ding’ sound) and all the gory details displayed like this (which makes debugging that much simpler, if you share the screenshot with me, of course!):
Error Caught!

Finally, a lot of behind-the-GUI bugs have been squashed but it is highly likely that new ones may have been introduced in spite of / despite / due to that, especially with the introduction of the new ‘Group’ functionality. This is exactly what the above error-catching feature is expected to tackle! Hoping for your support in that.

Thanks for reading this changelog, now go download the program and start accounting (for your shi*s).

AcBook 7.0

Saturday, March 12, 2016


We have different styles of writing Poetry and Haiku is one of them. Haiku comes from Japan but has gained a lot of importance and prominence in Hindi Literature recently. ‘A’ Haiku is composed of seventeen letters written in three lines. The first and last lines have five letters each while the middle one has seven. Each line should convey a meaning when read on its own and of course a complete Haiku should convey a deeper meaning. He and I tried to write a few Haikus; it’s not as easy as it looks or sounds. Read them below and have a hearty laugh 🙂.

एक गुड़िया
मिलती नहीं

A doll
Perfect & virtuous
Not found

एक गुड़िया
कहीं खो गयी

A doll
Perfect & virtuous
Lost somewhere



रोचक खेल
फटी हुई कमीज़
सिल गई माँ

Interesting game
A torn shirt
Stitched by mother

चुपचाप यूं
फटे पुराने कुर्ते
सिल गई माँ

Torn old clothes
Stitched by mother

I’m also reminded of a beautiful Sher by Muzaffar Warsi who contemplates life in mere 2 lines.

ज़िंदगी तुझ से हर इक साँस पे समझौता करूँ
शौक़ जीने का है मुझ को मगर इतना भी नहीं

Zindagi tujh se har ek saans pe samjhauta karun
Shaukh jeene ka hai mujh ko magar itna bhi nahin

To compromise at every breath with you, Life
I am fond of living but not to such an extent!

मुजफ़्फ़र वारसी (Mujaffar Warsi)

After such a heavy Sher (hope you read it at least 3-4 times), let me lighten your mood by telling what He is up to these days. With the latest update from MATLAB, He is upgrading all His programs (not just the main ones you see on the tabs above). You already read about Sudoku Solver in the last post.

AcBook is seeing a major overhaul (wait for a complete post on that) and since I’ve subscribed to be a part of his insider program, I get to witness all His buggy pre-releases of the next version ☹️. But a few interesting things come along with it too 😉. For example, today I received a compiled .exe file and when I tried to run the program at my end, it refused to ‘add’ my “preferences” and quit. He was confused about this behaviour for a while but when He figured it out, we had a ROFL time. The discovery that MATLAB added His own “preferences” while compiling the program was new(s) to Him (it was fixed in no time though).

ExpenSplit has two main changes as you can read here. The GUI basically looks more neat with all the auxiliary functionalities added at the top as a toolbar. Also, one can resize the two important tables so as to look at more / less records. That’s pretty much it. Do try the ExpenSplit from here and your feedback will be welcome.

Sunday, March 6, 2016

Initiation Rights

Ok, let’s get the jokes out of the way and concentrate on the teaser I left on this post. MATLAB R2016a has been released! And that can mean only one thing here. I will update all of my programs listed in the tabs above (& more) and talk about those updates in some short and long posts over the next few months. This will annoy the hell out of my Superpartner (the co-blogger, for those non-(high-energy-)physicist folks) but then a man too has got to fulfil his quota of posts on this blog.

We start the counter of updates with my first-ever full-fledged program. I am talking, of course, about the SuDoKu Solver. It has gotten to version 7.1 and for the first time since it was conceived during my college days, it has gotten a significant GUI update! Well, not really, just the “SOLVE” button has moved places:

SS on WinXP    SS on Win10

Anyway, the changelog is published elsewhere (remember the tabs above?) so I won’t talk about those here. What I will talk about is rather mundane, which is that I made a new video showcasing the operation of the Solver:

Demo video for the Solver.

It was captured, edited & encoded by Expression Encoder 4. My previous videos were edited using Windows (Live) Movie Maker but since it is no longer ‘supported’ for Windows 10, I thought of using just one program to do everything and it has worked out fine in my opinion. The tune is the same as the one used in SS 6.6’s demo video and that credit still goes to Wolfram Tones. Though it would be nice if they could tighten their belt and spend one evening to upgrade their website to 2016 standards and not keep using those of 2016 BC.

Scratching my head over how to end this post, I just decided to leave you with the small (re-written) manual:

SuDoKu Solver Manual