Tuesday, December 31, 2013

Post #32 Login on Mobile Screen

As covered in my last post, I was to work on the mobile interface. And I did. Eversince, iOS7 came up, it broke my app. And ruined my phone's performance(I have cribbed earlier too. Never miss a chance).
How did it break my app? Well, till iOS6, I could log onto my app from regular safari session and then save the expense recording url at a shortcut on the screen. The shortcut had access to session / rememberMe cookie and whenever I accessed my site from the shortcut, I got a valid session and I could use it just fine. Since iOS7, however, the shortcuts do not share anything with the safari browser. Though its still safari, they work in their own silos. I think its good from security pov.

Even this was fine, but then there is additional restrictions. Suppose I tried to save the secure(logged in) URL as shortcut, the browser will try to access it first. As this browser instance now working in its own silo, it would redirect me to the log in page. As log in is an HTTP 302 redirect, the top URL changes to log in page URL and it becomes the shortcut URL. Whatever I did I could not get the expense recorder saved as a shortcut.

So I had to do it. Create a small log in screen for the mobile. It took about 2 days. I spent a good time setting up my dev env on the VIAO. Once it was done, I could get productive. I need to learn to use WebStorm better. Its good in the sense it points out if Sencha javascript is broken, but I'm not using even 5% of its power. Learnt a lot about cross site browsing. Finally, the shortcut is working and now the thing looks more professional...

That's it for 2013. My first Amazon bill is likely to be Rs. 4000. An expensive hobby it is. 

Sunday, December 29, 2013

Post #31 New Changes and a Sticker Shock

So finally, my website is live for more than a year now. That's great news... or is it? There is still only one user and the free tier of Amazon pricing has run out. Dec will be the first full billing month and it seems, I'm going to run up a bill of $70 on a t1-micro instance. That's steep largely due to rupee depreciation. @45 it was only about Rs. 3000 per month which now looks like almost Rs.4500.

Anyhow, the site continues to evolve. I just completed couple of more updates.
- Moved away from sub-category based piechart to just category based one. Even with that, there are more than a dozen categories that clutter the chart, but its more discernible now.
- On click of the pie chart, I'm now loading the transactions that make up the pie chart.

That's a good feature as many a times looking at the distribution, I wonder, why the numbers appear inflated and then I had to navigate away to another page to see and validate them. It works better now.

There is another one I need to fix to make it compatible with iOS7. It works in browser but does not work as a shortcut.

And then I'm done with 2013.

Rediscovering my Music System

I bought my Jamo and Yamaha pair about 8 years back. After the initial infatuation, the interest was mostly fleeting. Its unwieldy to listen to music on large towers in the living room when others are at home and constantly hankering to lower the volume. Later when I returned from the US, I got myself, a couple of Bose speakers which I then used as surround speakers, but the volume was so low I could hardly ever hear anything.

Then about 2 years back I bought an IOmega drive that allowed me to stream you tube to my TV and it briefly triggered an upsurge in usage. But eventually, that died down too. Then came Apple TV. It was far more convenient to use it for playing songs or even streaming you tube. That was end of last year. It too came and went.

Recently as I was rearranging my stuff after the paint job, I got around to rewiring the speakers and played a few songs in 7 channel stereo mode (provided by Yamaha) and I discovered how well these speakers played together. I must have messed up the wiring somewhere as I could now hear the surround speakers better than earlier. It wasn't as good as I had wished, but they did contribute to overall effect of the music which I found very pleasant. Overall, it was a room filling effect even at lower volume. That goes easy on my family's ears.

For the last couple of days, I'm listening to all my favorite music on the old system and they are sounding more melodious than ever...Its like, I have a new music system. Cool!

Discovering Quikr and Olx

I went on a laptop buying spree back in 2008. I sold off my old (damaged) Toshiba for $180, over Craigslist in the US and was amazed with the kind of response I got. The buyer was genuine and he gave me the price I quoted without much haggling. Later, same year I bought another Toshiba, an ASUS netbook and a VIAO, all within a span of 6 months. Crazy...

5 years later as I was painting the house, I decided to dispose off one of the laptops along with the old Bose sound dock and the WII I bought from the US. I posted the ads in both Quikr and Olx and to my surprise, I got good inquiries for both Bose and the ASUS. I sold off the ASUS the same day and the Bose the very next day. I think I quoted a very low price, as I kept getting these calls, especially for the Bose, asking me whats wrong with it that I'm selling it so cheap.

But these classified sites have started to work in India. The guy I sold the laptop to, did check a few things such as the keyboard, sound etc. but could  not check much more as I was outside when I met the buyer. The Bose guy could not even check that. He practically bought it on my word that it works just fine. Cool! so the trust is now building up in India to conduct these transactions.

I got just 1 inquiry for the WII, it seems the console is losing its charm...

Getting the House Painted... Again!

Its been just 3 years. Mr. Sigh, our contractor did a decent job of most of the renovation we did back in 2010, but he botched up the paint job. The paint started peeling hardly a year after. With each passing year it became worse till the entire living room ceiling looked like a horror movie set. The ceilings were especially bad.
So finally, we decided to get it addressed. We asked for quotes and surprise! the local contractor came 10% higher than the Asian Paints guys. Needless to say we went with the Asian Paints. The relationship guy was a professional who inspired confidence. Besides they were giving me a 3 year warranty. I agreed. There was only a minor fine print. The PoP job will be counted extra based on PoP used per actuals. It was only later that the contractor came up with the estimates. It came to 10K. Ha! The subtleties  of fine print.

Then came the schedule. 23 days to paint the house. Hello, its just a 3 BHK. In Mumbai. How can you folks even think of such a schedule? The answer came in the weeks that ensued. The workers, there were always 3-5 of them would stroll in at 10:30 in the morning and then break for lunch @1. They'd take a siesta after then lunch and finally break at 5:30pm. In between, we'd need to serve them tea and biscuits twice a day. Talk of productivity.

In terms of color selection we are certainly getting better, but still not there yet. Our guest bedroom was an unmitigated disaster the last time with screaming blue and yellow. (2 walls each). Also, our master bedroom colors looked great independently, but together had little on screen chemistry.

This time we dabbled with beige (safe) in the guest bedroom and went yellow and white combination in the master bedroom. Its an improvement over the previous choices, but nothing like Shahrukh and Kajol.

After 23 days of stifled living, Asian Paints guys are finally wrapping up tomorrow. I'd rate them average performers. 3/5 star.This time I've let them take their time and hope we don't have to call the warranty clause.

Wednesday, December 25, 2013

Months 114, 113

The last 2 months have been a continuam. A desperate search for a job and the mind numbing day-to-day. At last the job search has finally come through. I got an offer from a user company. That was last week and I finally resigned from my current position after 11 long years.

Personally, these 11 years have been quite varied. My present company did a lot for me. And I'm grateful for it. However, the relationship went downhill in the last couple of years. The recent changes, i.e. over the last 6 months finally pushed me over the edge. The problem is that when a company is imploding (reducing in size), its very difficult for an individual to grow. For my vertical, the resources reduced by 33% over the last 2 years. If this was in the US, it might have made headlines, but this is India and we don't track these numbers very well.

The new company is no great shakes. Honestly, its a little scary. But I need it to make the move. I'm about 5 years behind in my career and may never be able to catch up. But if I have to even try, it has to be now.

Anyhow, I'm currently on an extended vacation. 2 weeks, entirely in Mumbai. I have a lot of pending stuff that I need to address and I'm taking time off to do it now. I got my household paperwork to sort out. The house needed a repaint and thats happening now.

Most other things are okay

Tuesday, November 12, 2013

Headline Inflation vs Core Inflation and India's Choice

Most western countries exclude food and fuel inflation when viewing inflation data. It means, they do not calibrate their monetary policies looking at the above two.

India on the other hand includes these in the reported inflation. Its because we think its important to include these. ITs probably because with limited spending power the percentage of income Indians spend on these is significant.

I feel these two are supply side issues. Fuel inflation is imported. The fuel prices are volatile as its exposed to vagaries of exchange rate and oil price fluctuations in the international mkt. Food is largely supply dependent. There is little the RBI policy could do to alter the prices(demand / supply) of these by changing the interest rates. Especially the food prices can be raised by cartels by creating artificial shortfall.

Then why are we continuing to increase the interest rates to rein in inflation? Whats the core inflation in India? I do not understand this. In the process we are killing whatever growth that can be achieved by relentlessly increasing the interest rates.

RBI knows this. Raghuram Rajan certainly knows this. Then why?

Sunday, November 10, 2013

Haiyan: Reporting Body Count for Disasters

I remember the cold winter morning of 2-Dec-1984 in Bhopal. It was around 7:00 am and I was brushing my teeth, getting ready for school. The radio was on and the "samachar" broke the news of news of some gas leak and reported 24 deaths. I asked my mother, "If a gas cylinder bursts, can it kill 24 people?". She shrugged. I shuddered. We had 2 cylinders at home. I was 11. Well for some weird reason the school bus didn't turn up that day. Like any other day my father drove across the city to the Military Hospital at his usual hour. He still recounts the horrors he saw on the way. We was later to be part of the Army Medical Response team and was honored for this contribution.

As the day wore on, the casualty count built up dramatically. With every bulletin it soared, to 100, 400, 700, 1000. It just kept climbing. It took a week for the horror to sink in. The numbers finally added up to 5000-10000. The official count was of course much lower.

Over the ensuing decades, I've seen this eerie pattern repeat itself again and again. Be it 1999 cyclone in Orrissa, Bhuj earthquake, or 2004 earthquake. I still remember feeling the jolt. I was in Japan and it was morning time. Then the bad news started pouring in and the count started from a 100 or so. I remember this from CNN. It finally stopped at more than 200,000.

I write this as Cyclone Haiyan tears through Philippines. I remember reading about a 100 body bags being requested in an article just yesterday. Today the count stands at 10,000. They are calling the biggest one in the recorded history.

It takes a while to fathom the destruction caused by these disasters. Manmade or natural.

When I heard about Phailin, I feared the same. The count reported was 23. But kudos to administration, they could keep the casualties low to double digits. While we messed up Uttarakhand and the Day Phailin landed, 200 people died in a stampede in MP, we did go a good job of managing a Cat-4 hurricane.

Saturday, November 09, 2013

Month 115

The first six months have rolled on. These 6 months have reinforced the notion about my inability to sustain. Very little if any positive has come out. It's been an continuous and dangerous slide down. Ten years seem a distant future. Farther than the last 10 looked on the eve of 2003. As impossible as the monsoon of 1995 during a wet ride home in a packed bus at the Barakhamba road in New Delhi. 

I'd never forget that ride. Moments that are so momentus but you don't realize when actually living them. 

My wife and daughter are away visiting her parents. I'm alone in the house and pensive,brooding??

The US visit is behind me and yet looming large over the future. The foreboding coming true. The ramp downs actually turning into an averlanche. The business wilting away sucking the life out of me.
Yesterday,
I had a night out with my usual mates. Wife is away and the boys came over to enjoy the evening. 

I actually said during our conversation. "The amount of negativity built up inside me is not healthy. " little  can they do to ally or dilute the vitriol or offer solutions.  All they could do is lend me their ears and what good sport they are! I truly value their company. They make life bearable. Help me make it through another week if not more. 

A new thread has started on the job hunt. Just started... Just like several others before that faded into nothing.  It's a demotion. Reporting into two level below where my classmate is.  But maybe that's an escape. Or a new beginning on a lower trajectory or a mirage or a death spiral accelarator.   

Time will tell 

Monday, November 04, 2013

The Myth of Cheaper iPhone 5c

I've already written about it when iPhone 5c was launched and it seems most people have seen through it already.

The point here is different and it comes from my experience of iOS 7 on iPhone 4. Ever since I  upgraded to the new OS my iPhone 4 which till iOS6 was a fairly high end, responsive device, dropped on its knees and started crawling.

As the OS gets better and more powerful, the hardware needs to keep pace with it. It would not make sense strip away features / capabilities from the OS just to force fit an underpowered hardware. And suppose you did that, the moment you fork the OS, the entire Apps ecosystem will get rocked. So far Apple has kept the appstore on a tight leash and if the apps are more mature/stable, its only because there is limited fragmentation. In other words "There can't be a cheaper iPhone".Apple anyways drops the price of the earlier model as soon as the new one is launched. The older model is supported for another 3 years or so and then sunset. That's what they did with iPhone 4 this year.

Its easier for the Andriod to differentiate itself by forking the OS as we already have a spectrum of devices for all budgets. In fact Andriod 4.4 is going to do something similar.

Lets see how it pans out.

Reliance iPhone Scheme

This is an awesome scheme that according to me can do the same magic for Reliance as it did for AT&T 6 years ago.

Rs. 2999 for an iPhone 5s with all you can eat Data, Voice and Messages is simply phenomenal and I think this will change the way Reliance comm is seen in the masses. This can turn the tide for reliance and get them the high ARPU.

I'm going to buy reliance comm shares just for this scheme as I think this scheme has the potential of turning around their fortunes.

Post #30 I've got visitors

Just yesterday, I was connected to my site over the database and was stunned to see I had a couple of registrations. I almost freaked out. No one, ever visited my site in the last 1 year. I've been the sole user of the site. In fact I do not even have an "about us" section. 

Not just that they visited, they also registered. But then that's all they did. They never went ahead and set up their accounts. Leave alone uploading their statements etc. 

So I got nervous. I've already figured out a couple of vulnerabilities in my site and I thought I must plug them asap.

So the first thing I decided to secure was the database. Now sql injection is a common malice. What I worry most is someone is going to drop the schema, table or delete records.

Now its not so easy given they don't know the name of my schema etc. But even then, why take a chance. So I decided to create a brand new user just for the application and gave it only select, insert update execute rights. No DDL grants. No delete rights either except on one table as I needed to delete things using the application.

Good learning and finally when I was done, I felt a little more secure. I now need to address a few other such stuff.

Also, I feel I need to improve a few other things on my site to make it a little more intuitive. Currently, I don't think its that easy to navigate.I'd do it in the next week or so. 

Wednesday, October 30, 2013

Its NY All Over Again

Its been almost a year, I visited NY. The feeling is uncannily the same. Foreboding, glum, cloudy and unsettling.

The earlier account I wrote about last year, actually did finally shut down. Along the way it left my position in the org vulnerable. This time its a different account. I'm just moving in. But the business is shrinking. Its not because of me (Is it?). I'm just moving in now. The client has decided to insource work and reduce contractors. As we play in that space, we're hurting.

Coming here, meeting the customers, listening to them break the news over and over. There are several stakeholders and all are in the same boat.

Know what? I need a change. A new beginning. In a new place. The question is how desperate can I get? And desperation is the key to effort. Effort to move out. To get out of this morass and turn over a new leaf.

Visiting NY is like a reminder that I'm stale and decaying. Nothing against the City. Its Fate!

Thursday, October 17, 2013

Post #29 AWS Upgrade

So AWS has been sending me notifications to associate a profile to my instance or some of the logging features would go off later this month.

Finally, I bit the bullet and went through the workflow. It was pretty straight forward. But honestly, I was least prepared for what happened next.

The moment I associated the profile, the current instance got terminated and another instance came up in its place. But the site, went down :(. I wasn't prepared for it and did not know how to respond. So I went through the process of deploying the latest build on the new instance (Beanstalk).

Fortunately that worked and the site came up after deployment. But that was not all. I had to reconfigure the Putty and also the GZIP all over again to get it back to where it was.

So now I'm back to baseline. An interesting day!

Monday, October 14, 2013

Post #28 Bootstrap and AngularJs

Learning to use Bootstrap and AngularJs. Alternative to Ext.js. Ext js has both put in together. It abstracts out the HTML and the CSS completely. AngularJs is like MVC brought to the browser. There are JSP like tags in HTML, Controller, Module, Route, Directives, Models et all. Essentially get everything over to the client. Let the server just provide the data.

I bought license to Webstorm IDE. $50. But a good investment if one really uses it well. I'm not a pro so no ROI for me. But a great productivity tool. I've been using Editplus and with my sloppy habits, debugging Sencha breaks was a real mess.

Though I'm not sure if what usecase I should implement. Budgetometer has gone as far as it could. I could re-write it, but that's no fun.What more can I create. That is of value to me. May be perhaps I can start tracking savings and investments.Chart the cash flows. That may be useful.

Am thinking about it.

Month 116

Falling Short.
I'm consistently falling short of her expectations. That's leading to frustration at both ends. Either the bar is lowered or the whippings will continue.
Nothing is ever overlooked or forgotten. It gets piled up until it bursts and then it gets ugly.
She is the Judge, the Jury and the Executioner...
Where are we headed!

Monday, September 30, 2013

Post #27 Cash - A Label or a Category

Now that I've been using the Site for about 9 months, I understand things a little better. The one niggle I've had for some time now is how to treat cash. All the cash withdrawals are categorized under cash. The actual expense head, such as Paying Salaries, or Fuel etc. are folded under cash. The challenge around this comes when you want to know how much are you spending on lets say, Fuel. There is a Category called Fuel which covers all the Card payments. But when I pay for Fuel through Cash, it falls under Category Cash and sub category Fuel. To get all the Fuel expenses, I need to add expenses under Fuel Category and Cash->Fuel. There is a workaround which allows me to get the right picture. But then its a workaround.

The question is how to treat cash? The solution, treat Cash as a Label and not a Category. To implement this I had to make major changes to my application.

In a real world application this would be a big Change Request. As there are real users who would be impacted. Their data needs to be moved seamlessly. The challenge was to identify a migration strategy. I wrote down the impact areas. Made changes to Dev env and noted each step. And then executed it in prod.

Given I'm the SME, Business and Dev, this should have been an easy job. But no, after all the movements I still faced 2 errors.
- Filters on Cash Transactions. I should have caught it during regression, but did not
- Rules. I completely forgot about that there might be rules around Labeling and these need to be addressed before the movement.
I got both these errors in prod. I fixed them and rewrote a few Rules and Budgets to adjust.

Honestly, if it were a live site with thousands of customers, this change would have been next to impossible to implement.

Note: Along the way had a few run ins with Sencha again. The command line does not recognize the changes made. Its a big headache. The tool is not yet mature.  

Thursday, September 26, 2013

iOS7 Has Arrived

iOS7 came last Thursday. I got in the queue 10:30 pm and I kept getting kicked out for about 30 min before I finally got through. 
A couple of good features such as Control center. I can now conserve battery by switching off blue tooth or wifi when not needed. 
The second feature is the task bar. I could now toggle apps and close them in a much better way. 
The search from any of the home page is also good. But sometimes it turns up inadvertantly. 
As I'm still on iPhone 4 the performance of the phone has gone down. It's less responsive. 
The worst part is that it broke my app. And pretty badly too. Because of the private browsing or some other reason it does not send remember me cookie to the server and that breaks my app. Lousy. It worked perfectly with iOS 6. 
The interface itself is flat which does not really very cool. A matter of personal taste. Many a times I do not know which part is clickable.
Overall a mixed bag. If it was not for the performance issues and breaking of my app I'd called it mildly useful. But as it stands today, it's retrograde. 

Sunday, September 15, 2013

QE Tapering and how should respond

I'm having a debate with a friend about QE, money supply an it's impact on world economy. It's just an exchange of views between two amateurs. Nothing insightful here. 
Late at night around 3:00 am, I drafted a longish message for him describing QE and associated blah blah. But then it exceeded the SMS permissible length. I saved it in my notes and forgot all about it. 

Today as I opened the notes for something else there it was. I thought its worth posting it here as a record of my thoughts on the happenings of my times. 

"In a demand slump in a liquidity trap the central bank should be credibly irresponsible and create expectation of higher inflation to get out of the slump. Prime minister Abe of Japan made it the Central point of its election  campaign and savagely expanded the Japanese money supply   The yen depreciated from 77 to 100 from oct 12 to mar 13. QE is part of the plan to fight deflation.  Now that the threat is receding there I talk of tapering the QE. The central banker of London has explicitly said that he will think abt tapering only once the unemoyment drops below 7%. Currently it's 7.5. It was always known that easy money in the us can create asset bubbles elsewhere such as the EM and once the tapering starts those will burst.  It's inevitable. It has to go today or tomorrow. Can't help it. The best our RBI can do is to accept it and not choke the economy by raising interest rates just to defend the currency. That will throw us into a recession.  It's already knocking at our doors. The car sales have dropped for 9 months in a row. First time in the history of the nation. It's a tough choice for Raghuram Rajan. I hope he chooses growth despite inflation due to currency depreciation. "

Friday, September 13, 2013

iPhone 5C Why?

Whenever a Smartphone company launches a new flagship model, the previous years Flagship model goes for cheaper. They why did Apple launch its 5C model for $100 less? Its the same spec sheet as iPhone 5 and iPhone 5 would anyway have gone on sale after 5S comes in.

Apple does take its customer bases to be suckers. And we all drool at the steps of the Apple God! Anything goes! They are discontinuing iPhone 5 which makes sense because not many would buy plastic given a choice between 5 and 5C. The only reason why I'd buy 5C is because I wanted a pink iPhone 5.

I believe there is limited mileage in coming out with 5C. Its just an eyewash!

Monday, September 09, 2013

Post #26 Sencha Again!

Sencha brings on some more agony. I completely agree that I'm a tech novice and will continue to have trouble delivering complex stuff. For people like me, Sencha is not the recommended tool.
The UI interactions are getting tough and complex with the mobile devices. Sencha tries to wrap HTML in JavaScript configurations. You don't see your familiar HTML tags. What you see are braces Curley , Square and Parentheses. 

This time or for about a couple of weeks now its been the charts. Sencha charts are deceptive. That's the least I can say. I could get the first chart up and running in no time. These were hardcoded data values, put together from Sencha documentation on charts. But since then, it's been a harrowing journey. 

The complexities include 
Updating the charts with dynamic data. Its a very tricky thing. Here is the use case.
List of Budgets (Tap)-> Load the expenses for the last 1 year for that budget and display on the screen.->There are 2 screens. First one for monthly expenses with averages and the second a pie chart of the various categories.
My solution was to define an xtype of panel that contains charts. These Charts were Items within Config.
The data for the chart was kept in a Ext.store and that store was refreshed on tap of the Budget. Now the problem was, when you defined the xtype, you assigned the store config a variable, which at the time of definition did not have any data. On tap of budget, I first got the data in the store and then created instance of the xtype. Despite me refreshing the data first the Chart would get not data at all.

After a lot of research I found a solution. I could create a basic xtype without the chart components. And on Tap after getting the data, I add the charts to the xtype. As the datastore was refreshed before adding chart to xtype, the datastore held the values.
Problem solved? No. Not yet. The ajax call to fetch the data is async. And so, the control moves on right after making the call to refresh the store and adds the charts even before the data is received. The result is the same. No data on charts.

The trick was to make the ajax call->Write a callback->In callback, process the data and populate the store->create xtype->add chart components to the xtype. Problem solved. Yes? No!

Now the Sencha Command tool started acting funny. In dev env, I could see the carousel with two charts. But when I built for production, I'd see only the first one.

The solution, do add twice. First for the bar chart and then for the pie chart.
Are we done now? Yes? No!

My title setting went for a toss. For reference check my previous posts on my struggles with changing the titles.

When you add chart components externally, the title setting gets screwed up. Wrote an unnecessary piece of code to check certain stuff and then change the logic for setting the titles. That too created its own problems such as, when you return back to the budget directly from the second slide of carousal, your charts would stop working. Finally fixed it up...

In between, I had major problems with sencha command. Whatevert I changed, the build production would continue to build old code. The updates did not reflect. It finally got solved. I don't know how. Spent a lot of cycles trying to fix that.

Then there was a another problem of my internet connection being slow. That took me a while to load the build to AWS. The AWS management console does not work will with Chrome. It keeps crashing the browser.

So finally, its done for the time being. Phew!

Tuesday, September 03, 2013

Month 117

In all my years of work, I've never processed so many emails in a day. I've read 200-250 mails a day and responded to. I've sent out dozens of emails a day (50, 60)but I'm scaling new heights here. Managing 350+ emails , sending 100+ mails a day is just crazy. I believe its counter productive. But that's where I stand at 40. Everyday its calls and more calls. From 7:00 am in the morning to midnight. I'm currently working 60-70 hours a week. I'm taking calls while driving. I've got a Bluetooth hands free attachment to car's wisor. 

On health front, No exercise since mid june. I've put on weight. More weight than I need to. My trousers are bursting at seams. Apart from calls, it was also due to heart scare(its not gone yet). I finally started a mild training schedule since monday. I'm running 5 kms. Its taking me 35 min. It used to be 30 :(. But its fine. I need to ramp up slowly. Its a beginning and I hope I can carry it forward. 

Personal front is bad. Things haven't changed. Don't know where it'll lead me. I know I love my daughter and want to be with her. Not sure of the trade offs.

I'm leaving for my native place this weekend. I'm carrying my reports. Plan to see a doc. I'm carrying the reports.

 

Saturday, August 31, 2013

Post #25 Sencha! Sencha!

When I decided to go with Sencha, I knew the learning curve will be steep. Learning vs reward is high. The documentation is adequate to get you started. To lure you in. But once you get in, you can get into a quagmire of intricacies that can ruin your schedule.

Since 5 in the evening I've been working on changing the title of the chart. It was harrowing... Things I learnt
- Unless you set the title in the config, setTitle won't work
- Real time waste was changing the Title of Charts. I have a TabPanel. Within that I have a list. On Tap, I bring up the Charts. This is an overlay on the list. There are 3 Charts in a Carousel. Each with a different title.As I browse through the carousel, the title wouldn't change. When setting the first title, I could do so easily. But changing... No Sir! After a lot of going round in circles, I finally read a line in one of the forums. Reference the navigation bar. Though it was under a different context, I thought it worth while to try that out. Afterall, I was't going forward at all.
It worked. So, to change the title after the carousel starts is to go up to the navifationBar and change the title.

There was similar agony, when I tried updating BadgeText. Simply updating the TabPanel's BadgeText, would not do. I had to put a .tab. in the middle to get there. Again I spent a lot of time and a one liner in some forum rescued me.

There was another one related to JsonP. Not so much Sencha, but as I was using Sencha learning tutorial, I'll put it on Sencha. When dealing with JsonP, one needs to wrap the Json response in a callback function. I did not know it. I would if I had worked on it earlier or tried to learn it. But the lesson was on Sencha. It took me good amount of time to get around it.

All in all, there are landmines in there. Be careful. Learning curve is steep.

Nonetheless, I'm moving fwd.

Wednesday, August 28, 2013

Post #24 AWS gzip Basic Stuff

Another small step. But it made a significant difference. As a developer, I'm always looking at performance and responsiveness of pages. A throwback to my developer days when 11kbps was the pipe size through modem. I kind of pride myself for thinking  and designing fast and responsive (not to be confused with css responsive) web pages.
As the number of transactions grow, the page performance degrades. Today, I have 2000+ transactions over the last 2.5 years. To load them all at once is becoming time consuming (50 sec from my home connection) so here is what I did.
- Tweaked DB Index. As the data size is still small there wan't  much I got out of it
I then turned my attention to gzip. The compression commonly used across to minimize the payload.
I was looking to apply it on tomcat when I figured out that AWS by default provides Apache as part of Beanstalk. I didn't know that(Ignorance?). It then made sense to apply these to Apache to cover the static data too( I'm now thinking of moving css / .js to Apache directly).

I researched and found out how to do within AWS by creating .ebextension folder and config file in the ROOT directory and package them in the .war file. But then it did not work for me. The deployment failed. I then dived into the unix world Telnet into EC2, check out the root. Change to super. Make directory etc.Change permissions etc. The command in myapp.config was to copy the Apache config file over to apache server directory and then restart Apache.

So finally it turned out, all that was required was to put a config file in Apache dir to enable compression and then restart Apache.

Did that and bingo!!!

The page that was taking 50 secs came down to 7 secs. Slept well!

Monday, August 26, 2013

Real Estate Rally

Real Estate Rally in India is in its last leg. One could tell by the kind of freebies doled out. Recently, my builder, with whom I had booked a house 3 years ago and the project still under construction, came out with 25:75 scheme. Pay 25% now and the rest on possession. The fact is he is not able to sell his inventory even after 3 years of launching the project. I'm sure a sizable inventory is left unsold or else he wouldn't have done this.
Across Mumbai you see an epidemic of 20:80, 15:85, 25:75, 30:70. Its a symptom? The rally has lost steam and is on life support. People are just not buying houses. They are waiting for the fall. And the fall is inevitable. Its just being delayed. When these projects of 20:80 come up for possession and investors start defaulting, the entire real estate will have a meltdown.
Its just 3 years away. May be even less. 

Friday, August 23, 2013

Post #23

So finally I got around to spend time on the mobile part. With Sencha et al. Took some time out last weekend. It was a long one and we went to Khandala to take some time off. It helps to take a small break from time to time.

Kept it simple. Just 2.5 pages. Record cash expenses and view them.It looks acceptable and my wife has started using it to record cash expenses on her Samsung. For starters, we recorded 30 something expenses for the month of Aug so far. Its working. We are getting a hang of the cash expenses.

Working on Sencha was a mixed experience. The documentation is good when it comes to learning. But not so great when we have coding issues and want to fix them. The community is active but not very strong. I got stuck in a couple of items. Spent hours figuring out BadgeText updates and another issue I can't remember. Also, the auto update on AWS had issues and took away a lot of my time.

So now I have MVP on the mobile too which was the biggest out standing issue. I still happen to be the only user and am resigned to the fact that it will be that way.

May take on some house cleaning chores next.

Thursday, August 15, 2013

Month 118

Another month. First Quarter. Well, I've survived 1 of the 40 quarters and how.

A new fear has gripped me. Its a matter of heart. Literally. Since April, I've been having discomfort in my chest. Particularly the left side. I got my ECG done and it so happened that I found I have an anomaly. Namely, my T wave is inverted in the third. Well I tell you, the internet is a dangerous place to research symptoms and inferences. My pain wasn't going and some article on the internet was predicting unstable angina and therefore a heat attack within a year. Holy crap! I'm not ready for it yet. I panicked. My pain wasn't getting any better either. It wasn't like it pains only when I work out(which I have stopped for more than a month now). Its there, right from the moment I wake up. It comes and goes as the day goes by.

So I bit the bullet and got a stress test done. As the doctor was putting together the result, I asked him about the T wave inversion. He waived his hand dismissively and said," its a normal deviation, even I have it. Nothing to worry about. I've seen your stress test. Its okay."

That was in May. In July, my stress levels were up on both the job and the home fronts and the pain wasn't getting any better. On a couple of occasions, I had a sharp pain shooting through my chest for about half a second and almost knocking me off. There was getting worse. I had issues with arm positions too. This time I decided to visit a cardiologist. He reviewed the stress test results and my lipid profile. His suggestion, my stress test reports are good and the kind of pain I'm having is not heart related. But, to be on the safer side, he suggests I get echo test done. Also, he recommends moving to statins to control my LDL cholesterol.

I panic again.Anyhow I go and get my echo done. The stress test comes normal. Again. But then there is a finding in my echo. MVP. Its mild, the doctor says. There are no regurgitation, but its there. The rest of the report spells out several parameters and they seem okay. Now I'm worried about this MVP. It does not look good. In the mean time, my wife has spoken to everyone in her family about this. I'm getting calls from everyone and I'm freaking out...

So, what do I do? I've taken a small break and am in Khandala for 2 days enjoying the weather and the view. Its a nice break. But damn! The discomfort in the chest continues... 

Saturday, July 20, 2013

All on the way to office

It happened last week on my way to office. My schedule has been irrattic last few weeks. I start my day early but start for the office late. I'd had an irascible morning and as I drove out it had started to rain. As I meandered through Bhundup traffic the iTunes started playing moonlight sonata. It's one piece of music that dissolves all my stress and relaxes me. The iTunes is always in random mode but that day it kind of sensed my mood. It just lined up some soulful music Forrest Gump, picnic in hanging garden, babel.... Standing still in the traffic I switched off the wipers and stared at the shield, the smattering of the droplets as they crashed over it. In seconds the shield was covered I could not see anything ahead. Then slowly the droplets turned into rivulets and the shield cleared up with streams tracing their way down. I was at peace as if in a trance.

In about 50 min I was at oberoi mall flyover signal waiting at the signal. As I blankly stared out of the car, a glimpse of something jolted me back to life. A girl was selling flowers. The Silhouette, the short cropped hair, dripping water, the built, as seen through the kaleidoscope of rain it seemed like my daughter, soaked to her skin, peering through the glass of another car. The window was rolled up and the lady inside was negotiating with show of fingers. Finally a deal brokered, the window peeled and transaction was completed. As the girl turned around she caught my eye. I nodded. she came over. I opened the window, took out the purse and she handed over the bouquet. I reached out, ruffled her hair, exchanged it for a 50. She broke into a big smile revealing 2 missing front teeth and rushed under the flyover where I guess her family lived. The signal had turned and I drove on. This time the droplets forming at the corner of my eyes.

Just 5 min from office I wade through a crowded street. I was moving ahead when a tempo cut me out. Then I cut him out and then some harsh words were exchanged while the traffic behind honked and jeered. As I drove into office and parked my car i found my mood restored to its original state.

Wednesday, July 10, 2013

Month 119

The second month. There are some destructive patterns building up on personal front. The job is hectic and uninspiring. This is the first political account within my company that I've worked for. Its also the biggest. It may be difficult to last here. My guilt around my daughter is growing. From teaching her twice a week, I've come down to 0. Can't make it back home in time to teach her. My wife has put her in a tuition. I'm required to drop her to the class, which requires me to be home at 6:15, just once a week and even that looks daunting. I had to push back on 2 invites and answer one escalation for this. I've told my team about this and yet they continue to schedule things around this time. There was a similar thing last week too. I'll fight this. I owe this to my daughter.

The point is all the education and degrees have gotten me a job. That job takes away my energies, kills my passion, thwarts my ambition and doesn't provide enough to retire early.

I always wanted to build things. If not a software engineer, I'd loved to be an architect or a civil engineer. I'm not very creative and yet the process of creation excites me. Building myself or being part of a kick ass team that builds things, even software.

Saturday, June 01, 2013

Month 120

Things are never the same. Sometimes Change sneaks up on you, ambushes you and you gasp and struggle to regain the balance. Other times its subtle. You know something is changing but can't put a finger on it. Yet over time its transformational.

The change in my industry (IT) is the slow kinds. Over the last few years, especially in the aftermath of 2008 world crises, its slowly changing, maturing. Its subtle. If you look around, the trends are confusing. Infosys climbed down from no.2 to no.3 . Wipro will slide to 5 as HCL and Cognizant move ahead. Depending on which company you track, your assessment of growth may differ. 

We have reached an age of moderation. This is the age of maturing of the industry. Indian industry's pricing power has never been so strained as its today. I really haven't seen any upward rate movements in the billing rates across clients. I believe, if it was not for the rupee slide, this industry would have collapsed in a heap extracting huge human price from its practitioners. The growth has gone away, and keeping the lights on is also a challenging. Especially in the mid tier range. 

My personal growth has stagnated too. With ever shrinking pool of people, squeeze on the margins, have resulted in me stagnating in my role. The real salaries have actually reduced as the increase does not even offset inflation.

The slowdown it seems came much earlier than thought. Its not like that we in the industry did not know of it,  but its happened about half a generation too soon.

Where does that leave me? I had some lofty financial goals and expectations from life that I was riding on. That tyre has now deflating. But isn't a big POP sound (I'm still employed. Fortunately). Its the hissing one, which lets you know that you've got a puncture. It keeps you on the edge because you do not know if you'll reach the destination before it goes flat.

So I'm limiting my journey. 10 more years and I'm done. That is 120 months. The countdown has started. The first month is over. It was a disappointing first month, and that's just a trailer of the rest of the 119 to come. If it goes this way I'll struggle to reach 120. But just as in a marathon, once you start you slug it out. You can take short breaks, moderate your pace and are allowed to collapse on arrival. But you gotta reach the other end. 

While the journey is arduous, I need to find ways to make it tolerable. I must say my previous project, was a huge help. I had kind of let go of it for the last 3 months. I need to trot that line, and find new things I could do to sustain my soul.

Thursday, February 21, 2013

Post #22 AWS Outage. My Domain's First

Nothing is perfect. All promises are hollow and if you get a free service you can tell. Yesterday I faced my first domain outage. It was intermittent. When I got to my AWS console I saw my instance state was in error. I had no clue what to do. I tried after some time and the site worked but after navigating a couple of pages it stopped again.

I ended up on Elastic Bean Stalk and decided to restart the instance but there was no such option. I had a reboot option but it did not allow me to reboot. There were 2 other options Stop and Start and so I tried stopping it. It gave an error saying the instance is in no shape to accept my command. I tried accessing again and the intermittent failure continued.

After a while when I reached back on EC2 screen, the instance was shutting down and a brand new instance was available. At this point I did not know what to do. Do I reconfigure the entire domain again. In fact I had forgotten it because I did that in steps over days. That sent shudders up my spine.  I tried ssh using putty but that did not go through either.

It was getting late and I decided to go to sleep. The next morning, I figured that the old instance had completely disappeared. The Load Balancer and other stuff was reconfigured and the site was working but the issue continued.

Also, all my logs and data was missing on the new server. I created a new directory for temp statements. The intermittent nature of the problem however continued.

I checked at all the places. The EC 2 instance, Route 53, Elastic Beanstalk, so on. But could not identify the problem. Later I saw an error with the load balancer. I think the load balancer itself balances the load between 4 instances in the same region and 3 of 4 said not available. I just removed these from there and it worked.

I think I need to document how to manage the site using AWS. Also there are no great forums which help you trouble shooting and what all to check etc. I tried logging a ticket but it did not give me an option saying you need to buy that option.

The question is how do you support potential customers. The fact that I created a site and hosted it there should be a strategy to retain me even if its free trial period so that the customer can feel comfortable. Currently, I do not feel confident about my long term plans to host it on AWS. The support sucks...

Monday, February 18, 2013

Post #22 Basic Stuff

This weekend I wrapped a few less important usecases.
- Viewing your transaction upload history
- Updating the FAQ section, making it logically complete by writing about all important and complex use cases.
- Cleaning up the navigation a bit.

I forgot to mention these in my rant on config mgt.

I'm now thinking about moving to mobile devices. Let me invest the next month or so building a mobile device interface using sencha.

The email part, I'll visit later. I'll have to invest money and but email hosting before I can make use of it. I do not want to send emails from gmail...

The footer content and the T&C still remain unfinished. The work is truly never finished. There is always something to add or improve.

Retirement Planning Revisited

I'm facinated by retirement. If I had enough money I'd retire tomorrow. By retire, I mean not working in the corporate sector just to make my ends meet. I'll splurge money on my pet projects that no one but me will benefit from. Alas! I'm not there yet and don't seem to be getting there anytime soon either.

About 5 years ago I blogged about retirement planning. I wrote about projecting your retirement money remaining at the end of any year. Just to refresh here is the formula

i = Rate of return on your investment (post tax)
if = Inflation
P0 = Initial Savings
B = Annual expenses (burn rate)
R = (1 + if )/(1+ i)
n = Time in years
Money remaining at the end of nth year
Pn = PX (1+i)n – B X (1+i)n-1 X (Rn-1)/(R-1)
Its another one of those useless things that no one but I found any value in. But over the years as I fantasized retirement, I noticed an interesting trend. 
What I noticed was that in most cases I'd finally run out of money. Dh!

But then if I save till a point I'm calling "inflection point" everything will change. 
The inflection point is the initial amount Pyou being with and if the other variables are held constant, namely inflation, interest you earn on your savings, you'll never ever run out of money. 
Not in 100 years and not in 1000 years. Never. Just like escape velocity, you'll never return to earth.
That value can be derived from the above equation with n-> Infinity. Assuming if(inflation) is lower than i(interest earned) of course. 
Calculating the dream P0 
P0 = B/(R-1)(1+i) 

gives you the initial amount that will NEVER run out....
An interesting point :)

Post #21 Configuration Management Nightmare

So I galloped to a greatly productive this weekend and by Sunday evening was ready for another deployment till I ran into a nightmare called poor configuration management.

I've always known the importance of it. So many releases / deployments have been spoiled by this innocuous looking thing. The importance of it grows with the team size. In a distributed environment teams use concepts like continuous integration and weekly / daily merges to avoid late surprises. And yet it sneaks in from time to time and ruins an otherwise perfectly successful release.

I understand this issue and though I'm the only one working on this project I'd decided to practice it.

Till nov-12, I was doing only development and therefore I had just one environment. I made builds several times a day and was fine with it. In November, I went live on AWS. There were some environment variables that were different for production environment and I created 2 projects instead. One that mirrored the production and the other that I used for development. I'd typically remember the files I needed to promote and I'd do that once I reached a logical milestone. I did not promote these changes to production immediately though. I would do it about twice a month. Also typically, I upload my statements once a month which meant that a large part of the functionality was unused for most part of the month. This approach worked well till Jan, but as I tried uploading Jan statements, I ran into my first brush with config mgt.

I typically store the uploaded statements in a temp folder which I purge from time to time. The location of the folder is different on the production env. Also, its hardcoded in one of the java files ( A decidedly poor practice). In Jan I was working on some functionality and updated this file. I later promoted this file to production. This obviously overwrote the path to temp folder. As I did not use the functionality till Feb, I did not run into any problem. When I did, it took me a while to figure out what was wrong. Why my statements were not processed?

And so I learnt a lesson and after some research, decided to go with Visual SVN for repository. I got eclipse client to connect to it and set up both production and local as 2 projects.

That helped me in identifying which files to promote and I do not need to remember file names as before.
But, there is a step in between to compare the new version with the HEAD version to ensure the changes are fine and do not break anything.

Yesterday, I missed that step and paid the price. The error happened right at the time you keyed in DomainName.com. It'd show up an ugly 500 message with the entire stack trace. Yes, that's Ugly. Also, the stack trace was not much use.

I had made some changes to a file to manage guest user and I thought that might be the root cause. But after several attempts to correct the problem it still did not go away. This brings me to the effectiveness of logging.

I was always proactive about logging. I have avoided writing elaborate Try Catch and have use AOP based class to intercept and log the errors. This does a decent job of managing errors on the business tier. But when it comes to framework, if there was an error in the framework the whole thing falls apart. Especially spring errors etc.

Anyhow, after much trouble I found out that I had unwittingly promoted changes meant for mobile  devices to production and hence the error.

Net Net 2 lessons.
- Get Config Mgt right.
- Improve Error Logging

Friday, February 15, 2013

Post #20 Split Adjustments

Wrapped up Split Adjustments. Its time now to focus on Mobile. There is some static content to create as well. The FAQ section is still incomplete. Terms of Use / Privacy Policy, About, Contact Us and Feedback links are pending.

Boss wants to talk about my career growth. Sends shivers up my spine. Boss calling to discuss your growth means your time is up...

Tuesday, February 12, 2013

Post #19 Profile Done

Of the list a few more are ticked off.

I also need some static content such as About us(me). Terms and conditions. Thats a must do item. I do not know how to do it without giving my identity away.Then Contact us etc. I also need to update the FAQ. Have done some good work in the direction but still a long way to go.

Remember me 
- Redirecting to requested resource after log in instead of standard landing page

- Redirecting remember me user to a standard page
- Redirecting based on device (mobile vs desktop)

  • - I've found out how to do it, using Spring. The question is how to handle it. I could for example redirect to a subdomain or I could redirect to a url such as /m. Neither of these work for me as a lot of my calls are ajax and if I change the url etc. I'm not able to process the request using the same controller method. Spring says I can handle multiple URLs using same controller method, but its not working for me. 


I'll have to find a better way to make it work for my site.

- Cash Txn Widget
- Adding Date to Cash Txn
- Distinction between one  time cash txn vs recurring cash txn
- Change Pwd/Forget Password
- Email notifications

  • eEmail. The problem is with AWS not allowing me to send emails from the domain name. I do not have an active email account for my domain. I'll have to but email service. Right now, I'm not in a mood to splurge a lot of money. This will have to wait.  
  • Another option is to send out emails using my gmail account or create a temporary account on gmail to send out emails. This will work but is inelegent. 
- View Split Transactions

  • I'll finish this off by end of the Feb. This is useful. I also had to fix a this functionality. When loading statements, the algorithm was unable to figure out split txns and hence loading duplicate copies. Took a long time to fix it but now its done. View Split Txn is the next logical step.
- Elegant impl of labels vs the rest
- Alerts
- Mobile interface to capture cash txn
- Mobile interface to view performance against budgets
- Mobile interface to view savings
- Enhance Help
- Redo the Navigation

Up Next: 
- View Split Txn
- Redirection based on device
- Change PWD/Forget Pwd
- Email notifications
- Profile Mgt (new one)

Friday, February 01, 2013

Domain Goes Live!

I thought about it a lot. Why should I spend money on something that only I use and is going to be free atleast for the next 6 months anyways through AWS . Also, not sure how will my org take it. They had no role in building it. This is surely not a business for me. Just an indulgence.It keeps me going and helps me learn...

I already had the name in my mind. I had checked about a year back and it was available. I just checked it again and it showed up as available. Alongside there was a note saying "Snap it up before someone else does". It did not cost an arm or a leg and so I thought and then thought some more and then just did it. I just could not resist. I lapped it up. Damages: Rs.3300 for 5 years. That was for both .com and .in together.

Thats when the struggle started.From the domain registrar how do I point the domain to my AWS instance. Learnt a new concept. Researched a lot, saw a few videos and finally completed it an hour ago.

So, my toy is live and has a name too.

Sunday, January 27, 2013

Why??

Why 2:06:47? Collapse of Will! Why??
At the end of 16, I checked my time. I was 2 min behind schedule. 5 Kms 28 min. I'd have preferred 30 min and I know I'm unlikely to recover.

I do not quit on a race, even when practicing. But this was different. I prepped the entire year for this day and then to miss it by a min or 2. Again. It was a moment of exasperation, hopelessness and defeat and I stopped in my tracks. Literally. Illness, stress... There can be any number of reasons. None matter. Only the outcome. And I knew then, I had nothing to show.

I walked from 17 to 18. Actually ambled. In the mean time, something healed within and I ran again. That's why just 7 min over. Otherwise, I might not have completed the run.

I'm still struggling to come to terms with it. 3 years now. 3 runs. I'm only getting older. My knees hurt that day. After a long while they gave up on me too.

Will there be a next time? Can I keep going without an aim, just for the fun of it? Time has all the answers. I'll know.

Post#18 On to it again!

Of the list I published, some are done
In terms of enhancements to my toy
- Remember me 
- Redirecting to requested resource after log in instead of standard landing page
- Redirecting remember me user to a standard page
- Redirecting based on device (mobile vs desktop)
- Cash Txn Widget
- Adding Date to Cash Txn
- Distinction between one  time cash txn vs recurring cash txn
- Change Pwd/Forget Password
- Email notifications
- View Split Transactions
- Elegant impl of labels vs the rest
- Alerts
- Mobile interface to capture cash txn
- Mobile interface to view performance against budgets
- Mobile interface to view savings
- Enhance Help
- Redo the Navigation

Up Next: 
- View Split Txn
- Redirection based on device
- Change PWD/Forget Pwd
- Email notifications
- Profile Mgt (new one)

End of Feb

Sunday, January 20, 2013

A Broken Man

2:06:47
Some things are not to be.

Tuesday, January 15, 2013

Dell the Dinosaur

Read CNN post here. The first job I ever did was selling Dell computers. Michael Dell was my idol. For the rest of the 90s there were several case studies on Dell and how its mail order model is trumping the internet. Its internet ready they said. Because its direct to customer model, they had a huge advantage in ecommerce. Its B2C model was touted as the model of the future. You could configure your PC online and have it delivered to your home.
The biggest advantage was not having middlemen, the resellers and hence it gave Dell flexibility when it came to pricing the product. Everyone else faced resistance from their resellers if they undercut them on the direct B2C channel.

On top of it, the advantages of negative cash cycle. Dell got its monies upfront, unlike when selling through resellers was taught in the B schools.

In 1998 when Steve Jobs was brought back to Apple as an interim CEO, Michael Dell remarked on a TV show that Apple shareholders will be best served, if they simply wound up and gave the money back to the shareholders.

Well, how the times have changed since!!

The truth was Dell was never Big in B2C. Most of its business happened in the B2B. The stories and case studies were all great for PR, but when it came to the crux of it, Dells model was still selling undifferentiated product, the PC.

With the tablets coming in, the paradigm has changed. Dell which was always a one trick pony really could never diversify and hedge its risks.  As the PC dies, so does Dell.

Bye Bye Dinosaur...


Monday, January 14, 2013

The Next Mole Hill

In terms of enhancements to my toy
- Remember me
- Redirecting to requested resource after log in instead of standard landing page
- Redirecting remember me user to a standard page
- Redirecting based on device (mobile vs desktop)
- Cash Txn Widget
- Adding Date to Cash Txn
- Distinction between one  time cash txn vs recurring cash txn
- Change Pwd/Forget Password
- Email notifications
- View Split Transactions
- Elegant impl of labels vs the rest
- Alerts
- Mobile interface to capture cash txn
- Mobile interface to view performance against budgets
- Mobile interface to view savings
- Enhance Help
- Redo the Navigation

Timeline June 2013

The Impending Run

Next weekend is the run. And I've lost it already...

I hit my peak in Nov. I did a road run and another on the treadmill and I clocked good. That is less than 2 hrs.
But then the things have changed.

In Dec, I traveled to NY for about 10 days. That screwed up a couple of my weekends and my rhythm. I wonder how people adjust to jet lag when preparing for something like a Marathon.

Upon my returned,a got a week to train before we left for vacation. There I as laid up with viral for about a week. Its the second time this year I've had a bout of viral. The fever goes high 103.5 degrees and saps me completely. I recovered around the new year and have been training for the last 2 weeks.

It takes time to get your rhythm back. The first day I tried running, I got off the treadmill after just 1 km. A few days later I could barely do 6. I ramped up to 10 km on 5th Jan. I took a 3 breaks and lost count of time. Then again this weekend I upped it to 16. I was literally dragging myself over the last 3 kms.

Once again the prognosis is not good. I have just one run left before the big day. I'll probably do a 5K slow run as I need to conserve energy for the final burst.

At this time I'm looking at 2:15. Thats not where I wanted to be...

It Hurts to Fail!

Last Nov, I declared victory as soon as I could get my site set up on Amazon cloud. I know its not the most complete site but it does what its supposed to, and if I may add, it does it well.

Between then and now, I have tinkered a bit, resolved a few bugs. I've also added Savings View which shockingly tells me that I'm practically living hand to mouth for the last 6 months(post EMI payments).

Another revelation is that despite my sharing the url with friends and colleagues and arm twisting a few, I did not get a single registration.

What do I conclude? The site sucks? The concept sucks? Or people are just not interested in uploading their financial data on another site.

To conclude that it sucks, one needs to register and try using it. As no one has even registered, they can't conclude it sucks.

I can agree that the concept sucks. People think they know how they spend and don't feel the need to record / analyze their expenses.If they used the site, they would discover the truth but then there is no urgency / desire to check that out.

I can also agree that people do not want to upload their statements to any site for fear of data security / privacy. But they haven't raised it with me.

Overall a bleak prognosis.

So,  What's the next mountain to climb?