Wednesday, March 23, 2016

Thursday, March 17, 2016

A Weird Phenomenon that explains Donald Trumps Popularity

Look at the alarming death rates amongst the white Americans compared with similar ethnic groups in other parts of the world. It explains the fact that the white American is despondent and angry at the establishment. His quality of life compared to his forefathers and his peer group across the pond has declined to a level where there is impact on his mortality despite improvements in the medical sciences. 

I think this graph succiently captures the essence of white mans anger, the hopelessness and the rise of Trash politics such as that of Trump. 

Wednesday, March 09, 2016

#36 New Mobile Features

I tried learning SWIFT, but it seems too ahead of me. Perhaps I'll try it again later sometime. Now that I am counting days for my return, I was thing what else could I do to fill time.

Since beginning, the mobile app served the purpose of recording the cash expenses and listed them down for reference. Every end of the month, I'd reconcile these against the cash withdrawals and start off again.

The user challenge was that I had to wait till the end of the month to know how I fared in terms of expenses. I was always one month behind. Though I have great data from all my banks, here in UAE and India and I have a broad understanding of how expenses stack up, I never knew how I was faring in the current month, till the month was over.

The way to fix was 2 fold.
1. I had to record all expenses and not just cash ones and compare them with the target limits I set out against all the budget groups.
2. When recording the expenses I however, had to be careful. I need to segregate the cash expenses as I still needed to reconcile these end of the month. The card expenses are actually throw away ones. They only help with the getting a handle on how I'm doing this month. End of the month the statement files would come out and they will be the single source of truth for posterity. Also, the kind to annotations I could do with these statements would be too much work to do for manual entry. Hence not worth it.

There were 2 other features I wanted.
1. Ability to view my current month expenses against all categories and also against the budget groups.
2. Ability to delete an expense on the mobile itself in case I entered it wrongly. A feature I did not have till now. Strange, coming to thing of it.

Took me 3 days. With my tech challenges sorted out back in dec, I was able to roll these out in just 3 days. Its incredible. If technology supports you, you can achieve incredible productivity.

Showed these to my wife. She likes them... Gratification received. 

#35 Getting Tech again.(Dated)

This post relates to the challenges I faced back in Dec-2015. It all seems like a blur now. It started with Android Lollipop upgrade in Jan-2015.

The app I built back in 2012, worked fine with its limited mobile capabilities for good 2 years. Then, I got my wife a Moto G and within weeks the OS upgrade to 5.0. I'm always trigger happy and I promptly upgraded the OS. Alas! it broke my Sencha app such that it stopped showing the screen. I tried searching the web for possible remedies, but there was hardly any chatter around it. No document or discussion threads. Well, it still worked on my iPhone iOS 8 and for the time being it was okay. I hobbled along with my iPhone.

Back in July I bought a cheap Android phone to host my India SIM. Around the same time the Moto G started acting strange. I think the moisture got to it and it started freezing up. M has little patience with technologies, so she promptly exchanged her Moto G with my Alcatel. Alcatel was still running Android 4.4 and the app sprang back to life. Life moved on.

Then in September, iOS came up with version 9. I promptly downloaded it and What The Heck, the App broke again. This time iOS.

After Nov incident, as I looked for ways to fill time, I decided to fix the issue. By the time Sencha had upgrade to version 2.4, I had moved on to Ubuntu and the world looked new and full of promise. But that enthusiasm didn't last long. I thought porting the application to Sencha should be a breeze as I was not using any of exotic plugins. When I tried building the application, it broke badly. I tried no end fixing it but to no avail. The application would not refresh and the older structures, Models and Stores that worked perfectly stopped working. I painstakingly almost completely rebuilt the application to find out just commenting out a few lines is all I needed.

Anyhow, I built the application for prod to first deploy the minimised version on test but it would not build. Struggle started all over again. The error messages did not help and the threads were all over the place. If I thought that was bad, when I tried deploying a new war on prod, it completely broke  down.

The AWS world had moved on since 2012. My platform with Tomcat 7 and Amazon Linux were an unsupported lot. There were no 32 bit versions available or supported. Meaning, I had to rebuild the entire infrastructure from grounds up. Once I had created a brand new infra, the application would not deploy on Tomcat 8. I then had to upgrade my development env with Tomcat 8 and fix all the libraries which was mostly 32 bit libraries. Well, I fixed the few logging jar conflicts and deployed it back. Fortunately the site came up. But the I had to upload the exploded version of the Sencha on prod. Terrible, Terrible. It took 45 seconds to load on a 12 mbps line and a minute on 3G. Atrocious.

I had to find a way to fix the build issue. And I did. It was weird. I thought the minified version kept everything including models, views and stores in app.js. Yet the app.js kept asking for store files from some location which did not exist. So, just to make it shut up, I created that folder structure and put raw store files there. And Viola, it worked. This was around week's worth of effort in Dec. Just for records...

The 10 year count down

By the time I turned 40, 3 years ago, I was  overcome with the hopelessness of my prospects. I was so beat, I found it tough to keep my head above water. Finally, I decided to carry on till I was 50 and then call it quits(work wise). I started the count down and recorded sporadically for 3 years about the journey. Well, it didn't work out too well. 

When I landed the job in Abu Dhabi, I thought of it as home run. If I could plough through another 8 years, I would not need to work another day. But it was not to be. With my layoff, that sprint was over. In the end it was not about fairness or politics. It was about survival. And in all this there was an important lesson for me. I may not want or even need to work beyond 50, but living without some form of work is equally if not more frustrating. For the last 4 months I've lived this thought every day. I've dissected it, turned it around, tumbled and rolled with it. I can't seem  to find an alternative to work. Work's part of keeping my sanity. 

And then there is my dad. At 74 with no liabilities and a pension beating a King's ransom, he does not need to work for money for even a minute. His work place is no picnic. With the age challenges and constant insinuations and daily indignities he still gets up every day, does everything from fetching water to cooking the meals and then gets dressed and shows up for work. It's one of the God's graces, that a man has work and he clocks in everyday, day after day. A Man's Dharma...

So, stop whining! Get out there and get the work done. It's one thing I do better than most. So do it and let age be just a number. Get up, get out there and keep moving forward... 

When it rains, it Pours

Having a wet week at Abu Dhabi. Its been raining incessantly for the last couple of days. I woke up at 4 am with hail pounding against my window pane. ADEC closed the schools for couple of days. Right in the middle of final exams for my daughter. The papers have been rescheduled, hope we get our logistics sorted out in time for our departure.

Friday, March 04, 2016

Diversity of Ubuntu 14.04, Win 10 and Mac OS

Last September when my VAIO Hard Drive gave up on me after 7 years of great service, I decided to replace it with an SDD. I then installed Ubuntu 14.04 on it and that aging Core 2 Duo turned into a blazing race horse. As my daughter needs a PC for her school work and Ubuntu is still a geeky platform, I got her a Lenovo i5, Win 10 laptop. Early last month when we decided to relocate to India, I gifted myself my first MacBook Pro.

So now I have a wide spectrum OS to choose from and I'm facing the challenges and conveniences of owning each. One thing I've learned is that while Ubuntu has come a long way in terms of catching up with the peers, the moment you stray from standard script, you need to roll up your sleeves and get into DIY mode.

The first challenge I faced was setting up my Canon Printer MX4240 on Ubuntu. Though drivers are there, the set up is far from straight forward. It took me a couple of days to get it hooked up to the printer with a lot of trial and error. Even after I was able to set it up, the print speeds were terrible.

The good part was I could install Skype, Chrome and Drop Box without any issues. The email client Thunderbird worked quite well. I occasionally miss MS word and Excel but mostly, I'm able to get by with Libre Office. I set up Eclipse and Filezilla and MySQL bench and I was mostly whole again  untill last week when I decided to configure MS OneDrive. Unlike DropBox, it does not have a release for Ubuntu for obvious reasons. So I again had to scout for external solutions. I downloaded a project called OneDrive-d from Github, built it and installed it only to figure out the  challenges. As this is an amateur offering, the sync is 2 way. Working with 120GB SDD I do not want a two way sync at all. I want to upload whatever is in my sync folder on Ubuntu to OneDrive and view all the uploaded files on Onedrive. But I do not want to download them, unless I need them. Such fine grained use cases are not available on OneDrive-d. Also, the sync program  fails too often. Finally I shut the door on it.

Couple of days back I got myself a Time Capsule. I tried setting it up on my Mac and it was such as breeze, I was surprised. It just worked.

But I wanted my Windows Laptop and Ubuntu to work as well. It seems Airport Utility for Windows is all but abandoned. I downloaded 5.6 version and used it to set up sync for my MS profile. But that needed restart of the Time Capsule. That wasn't so great. But still okay. Now that I want to set up Access for my wife and daughter, I will need to reboot the TC a couple of more times. On the other hand One Drive utility on Mac works just fine...

Configuring Ubuntu was a battle of completely different magnitude. The couple of options available on the net are helpful but incomplete. Mounting a drive using mount-cifs was a learning. The /etc/fstab file configuration and the challenges of using the right options made this a long and arduous journey. Finally when I could finally mount it, it would not let me write. It took me a lot of tinkering to finally get the combination right.

// /media/timecapsule  cifs    password=xxxx,sec=ntlm,user,rw,noperm,forceuid    0 0 

Later when I tried copying some of the photographs from Ubuntu to TC, I was shocked at the poor transfer rates of hardly 500kbps. Any how it was done and I heaved a sigh of relief.

I get it. I love the Vaio. Can't let go of it. Whatever it takes to keep it within the family. If it means I have to endure the lack of Ubuntu Ecosystem, so be it!