Saturday, November 17, 2018

My Journey through Udacity’s ABND Program


I had been in the tech industry for over 15 years now, having worked on both spectrums of it, at Fortune 500 and at startups, but my dream has been and still is to work for an Unicorn (a unique, trail blazer company that’s valued at $1 Billion).  I almost landed at Google during it’s formative years and recently at Oculus (Facebook) and that’s the closest I have come to my Unicorn dream.

During a period of five years of unemployment even though I did small contracts here and there, I went through a series of humbling experiences on onsite interviews. Just when I felt that the interview is going great, there comes a guy who asks me to write code on the whiteboard.  I rambled along, putting together a few initial “static void main()” type of code sentences with a few IF, THEN-ELSE and FOR loops sprinkled in between and trying to give the veneer that I was coding when actually I was stalling, hoping that time ran out and I would come out slightly bruised but not battered, and maybe make the excuse to myself that time ran out.  It worked at a small company desperate for a mobile tester but then as I had more interviews, my shortcomings were being exposed. It was always a case of “Yet So Near, Yet So Far” and I was tired of this mediocrity and failures, and decided to do something about it.  Enough is enough. That’s when Udemy and Udacity happened (Photo Credit: Tim Mossholder)


Initially I signed up for Udemy classes for economic reasons. Loved those $10 courses, and who wouldn’t especially when your budget is tight.  Then one day I got an email from the Google Developers Group (GDG) for a meetup on Android Applications and they were offering a 4-week course on it if we showed up for the meetup in SF.  I decided to give it a shot as I was already testing mobile applications on Blackberry OS and had attended some iOS and Android meetups too.  That’s how my journey with Udacity started when I enrolled in the free Android Applications Development course taught at Google SF weekly.

As the course progressed, I was pleasantly surprised at the lucid learning style of Udacity that made the material easy to understand. Loved the schematics and diagrams that made understanding complex material fun. Obviously, since I didn’t have a strong foundation in Java, initially it was a challenge for me as I had to go back, google concepts in Java and checkout tutorials. I also had to do the same with Android and slowly but surely, I was feeling good about my new challenge. And just when I was enjoying it and getting into my groove, the course was over.  Indiscipline or lack of consistency on my part put me back at the eight-ball, and it was showing in my next round of interviews – I couldn’t answer confidently how the AVD was setup or what needed to be done on a device to download the apps (USB Debugging) or how to take the logs from the device (logcat) and simple things that I didn’t pay attention when I was doing the course or maybe I forgot the in and outs of basic setup.  Those bombed interviews clearly dented my confidence and it was back to square one for me. But one thing was sure: I didn’t want to learn from any other sources other than Udacity.

Finally, while browsing through Udacity, I came across the Grow With Google Scholarship program for Android Basics in Nov. 2017 and decided to apply for it. I gave a passionate reason why I deserved to get the scholarship and bless my lucky stars; I was selected to receive the 3 months scholarship starting in Jan 2018.  That was when a different phase of my career started and I plunged headlong into it.  Beat the deadline and completed my final project just in time to qualify for the second phase of the GWG Scholarship.  It felt good and although it was a nerve-wracking wait, lo and behold, I was lucky to get selected for the 6 months Android Basics Nanodegree (ABND) program. 

More than the program, outside forces were conspiring to put hurdles in my path and I fell behind the soft deadlines of the projects and eventually I have been in a catch up mode ever since June – scrambling to finish the projects and also to finish the lectures and quizzes.  My personal hurdles were the major roadblocks and impeded in my progress because it was hard to concentrate on the coursework. It didn’t help either that I was unemployed and working part-time.  But, everything aside, if I were to do it all over again, I would try to complete every project by it’s due date and not fall into the “soft deadline” trap.  And last but not the least, I did quite a few interviews based on this course when I finally updated my LinkedIn profile with this Udacity course. My last job in a Healthcare startup was offered to me based on the understanding that the company wanted to build an app for Android.

I am still behind the 8-ball but feeling good and confident that I can graduate if I put in the hours.  The slack community has been outstanding and the support of fellow students, project coaches, cohorts and community managers has been tremendously helpful. And not to mention that uplifting messages and encouragement from my fellow Udacians, in my track and beyond, has been a boon and helped me chug along towards the finish line like a turtle (shoutout to the #TurtleSquad slack channel).

Finally, I am grateful for the extension Udacity gave us twice and hope to get that Nanodegree before the end of this year.  I am now applying for Jr. Android Developer jobs despite being a QA engineer all my career, and that’s what this course has done for me: give me the confidence that I can code now. Thank you to everyone at Udacity and on Slack channels for all your support, encouragement and help in my quest to redefine my career as an Android Developer.






Sunday, November 15, 2015

Beginner's Guide to Test Automation Tools and Frameworks for Mobile Platforms

It would be great if all the test automation tools and frameworks for mobile platforms are listed under one umbrella. Instead of having to google a particular tool or framework, I have tried to briefly list some of the popular automation tools and test frameworks used for Android, BlackBerry and iOS platforms. Most of these are open-source tools and are listed in alphabetical order below:
  • Appium (iOS/Android) is an open-source tool for automating native, mobile web, and hybrid applications on iOS and Android platforms. Apps written using the iOS or Android SDKs. are called native apps, Web apps accessed using a mobile browser (Appium supports Safari on iOS and Chrome or the built-in 'Browser' app on Android) are called mobile web apps, and apps that use a "webview" native wrapper that enables interaction with web content are called hybrid apps.  Appium is "cross-platform": it allows you to write tests against multiple platforms (iOS, Android), using the same API. This enables code reuse between iOS and Android testsuites.
  • Calabash (iOS/Android) is an open-source automation UI acceptance testing framework, written in Cucumber, that facilitates running tests on Android and iOS platforms. Calabash consists of two libraries - calabash android and calabash iOS - that help in writing tests in domain specific languages. Calabash works by enabling automated UI interactions within an application such as pressing buttons, text entry, validation of responses. Hence, Calabash is a test framework that allows you to write automated tests for Android and iOS devices, and it's APIs mimic inputs to these devices and reads it's outputs. 
  • Frank (iOS) is used for automated acceptance testing for native iOS apps.  Frank allows you to write structured text test/acceptance tests/requirements (using Cucumber) and execute them against your iOS application. 
  • iOS Driver (iOS)  is capable of complete integration with the Selenium grid. Thus you will have the possibility of reusing the already existing wen automation infrastructure. This also includes the helper as well as the utility cases.
  • KIF (iOS)  stands for "Keep It Functional". It is an open-source  user interface functional testing framework primarily for iOS. KIF allows you to write tests that simulate user input like touches, swipes and text input. These tests give your app an automated real world user interface workout, thus saving you time on UI testing.  KIF can also be used for iOS acceptance testing that is gaining interest in the iOS community.
  • MonkeyTalk (iOS/Android)  A great tool to automate functional interactive tests for Android and iOS, from simple smoke tests to sophisticated data-driven functional test suites. MonkeyTalk can test apps running on actual devices, and test apps running in the iOS Simulator or the Android Emulator, for native or mobile or hybrid apps.
  • QTP (Quality Test Professionals)  is an automated functional testing tool that helps testers to execute automated tests in order to identify any errors, defects or gaps in contrary to the expected results of the application under test. QTP automates the regression and functional testing of an application. It was designed by Mercury Interactive and later on acquired by HP. The new QTP version has been named as Unified Functional Testing (UFT).
  • Robotium (Android) is an Android test automation framework for user scenario testing using automated black-box UI test cases. Test case developers can write functional, system and acceptance test scenarios, spanning multiple Android activities. Robotium also integrates smoothly with Maven, Gradle or Ant to run tests as part of the Continuous Integration (CI). 
  • Selenium (Android/iOS)  is a suite of tools for automating web browsers across many platforms. It's an useful tool for automating web applications for testing purposes, and consists of two sets of tools depending on your needs:  Selenium WebDriver/Selenium RC and Selenium IDE.
  • UI Automation (iOS)  is an Automation Instrument in Xcode that is used to automate user interface tests in your iOS app through test scripts that you can write. These scripts run outside your app and simulate user interaction by calling the UI Automation API, that specifies actions to be performed in your app as it runs in a simulator or on a mobile device. 
  • UI Automator (Android) The UI Automator testing framework, provided in the Android Testing Support Library, is suitable for cross-app functional UI testing across system and installed user applications. It provides a set of APIs to build UI tests that perform interactions on system and user apps.  This test framework is well-suited for writing black-box automated tests without needing to know the implementation details of the app itself. These APIs can be used to capture and manipulate UI components across multiple apps. 

Tuesday, July 15, 2014

Troubleshooting Tip: How to revive a seemingly dead or not charging battery on your MacBook


Most of us have encountered this seemingly frustrating scenario when our MacBook doesn't power on and you see the dreaded black (blank) screen,  no light showing the battery charging and with no sign of life. 

Problem:
My MacBook4.1 13" (config below) was not powering up, no matter what I did - even unhooked the battery pack and re-installed it; pressed the power button down for a few seconds - no response to my CPR efforts to revive it. The battery light was not flickering and the MB seemed absolutely dead.


Model Name: MacBook
  Model Identifier: MacBook4,1
  Processor Name: Intel Core 2 Duo
  Processor Speed: 2.4 GHz
  Number Of Processors: 1
  Total Number Of Cores: 2
  L2 Cache: 3 MB
  Memory: 2 GB
  Bus Speed: 800 MHz
  Boot ROM Version: MB41.00C1.B00
  SMC Version (system): 1.31f1
  Serial Number (system): W8835GKA0P1
  Hardware UUID: CB8F4037-B5E2-5341-9382-F8326C082B30
  Sudden Motion Sensor:
  State: Enabled


Solution:  
Apple Support team recommends the following couple options: resetting the System Management Controller (SMC) on your Apple Portables (MacBooks with a battery that you can remove) http://support.apple.com/kb/ht3964 ; and secondly, check if your MagSafe adapter is working or not http://support.apple.com/kb/ts1713.  

I tried both these options and still my ever reliable MacBook didn't purr back to life as I have expected it to all these years. 
Finally what worked for me was this magic keys formula: Press the Left side SHIFT-CONTROL-OPTION-POWER Buttons at the same time and then release them at once.  This basically resets the SMC and solves the battery issue. Knock Wood! Lo and Behold! My MacBook came alive, with the battery icon showing it's finally charging again, and my iOS project showing the emulator as I had left it on my last test run. Kudos to the Apple Support Forums! 
Twitter: @deccandude







Monday, May 23, 2011

Google I/O 2011 ~ My Impressions

This was my second Google I/O and it lived upto it's expectations for a show that Google can only put on, although Sun Microsystems used to do that on a larger scale with JavaOne, and I attended everyone of them. Although Google I/O was much smaller than JavaOne in terms of size (Only Moscone West was used for 2 days whereas JavaOne sprawled over Moscone South and North Halls for 4 days) and sessions offerings, Google I/O topped JavaOne in terms of device giveaways and the buzz. The cutest sight around the conference floors has been the Arduino and Hansbro Bots (robots) from small to PR2 full-sized humanoids. The mini Hansbro 'droids looked cute trying to balance on 2 wheels.

Honeycomb, Ice Cream Sandwich, Chrome OS, HTML 5, Web Accessibility and Accessory Development Kit were some of the hot topics this year. Some of the goodies that the attendees got this were Samsung Galaxy Tab 10.1, Verizon 4G LTE Hotspot plus 3 month complementary 4G data plan. In some sessions, I heard on the grapevine that attendees of that particular seesion also got ADK kits, Sony Ericcson Xperia PlayStation Portable phones and LG Tablets.

Finally the variety and breadth of Android devices from phones to tablets that were displayed in huge showcases on the conference floor was impressive (I will post a link to the pictures shortly). Android is here to stay but I don't think it's a threat to Apple! They cater to different audiences and users.

Here's some highlights that caught my eye as I attended this year's conference:

1. The Robots that were happily strolling the Moscone West floors were quite a sight since they were actually being controlled by Android Accessory Development Kit (ADK), that is Google's way of putting Android on other devices other than phones. According to Gizmodo.com, the Open Accessory is a set of APIs that let third-party devices i.e., bike actually sync up with your Gingerbread 2.3 or Honeycomb 3.0 devices to send data to and fro in both directions. It will use USB for now, with option to use Bluetooth in future, with a compatible app (CardioQuest app was used for the bike), and the best part is you will be able to write your own app using the ADK.

With this ADK, the Accessory API takes Android into uncharted territory that Apple's iOS is unlikely to explore. Arduino has been selected by Google as the hardware platform for the ADK. Here's the ADK Presentation: http://www.google.com/events/io/2011/sessions/android-open-accessory-api-and-development-kit-adk.html

2. The Secrets of the Google Pac-Man presentation was very enjoyable and I loved the doodle part of the Google logo that we see on special occasions on Google home page. The audience was in rapt attention and clearly seemed to be awed by it.


3. Ice Cream Sandwich ~ a Google concept taken from Java's Write Once, Run Anywhere (WORA) philosophy that aims to put an end to fragmentation of Android on the next wave of Android device OS versions. The Android 3.1 Honeycomb is dubbed the Ice Cream Sandwich that will port Honeycomb features to smartphones to curb the Android platform fragmentation into dozens of different versions. The coolest feature of Ice Cream Sandwich is the merger of Gingerbread (Smartphones) and Honeycomb (Tablets) to run one OS on all Android phones and tablets. Hence the buzz about Ice Cream Sandwich at the Keynote 1 this year.

4. The Honeycomb Highlights presentation was very informative and helpful in uncovering the secrets of this new platform for Tablets. I loved the New Widgets design and the UI features. The eBooks reader app makes the page turning/flipping of the book seem like you are actually flipping the pages on a real (physical) book. Also loved the concave and convex gallery of pictures in a slideshow like format.

Check out this presentation at: http://www.youtube.com/watch?v=sTx-5CGDvM8

5. HTML 5 was all over the place, especially in the Google TV area, and had lots of vendors touting HTML 5 applications.


6. Javascript ~ highly touted by Google, especially at this year's conference.

7. I thoroughly enjoyed the Designing And Implementing Android UIs for Phones and Tablets presentation from the perspective of a QA/QE Engineer as the UI fascinates me and I have a fascination with creating a good user experience on different devices.


8. Java Puzzlers - wanted to attend this but clash of sessions made me miss it. Having attended one last year, I am very familiar with Joshua Bloch's style and loved it last time.

9. One of the most interesting session was How to Get Your Startup Idea Funded by Venture Capitalists. It was inspiring and enlightening to hear the panel talk about their experiences and trials and tribulations. Check it out at: http://www.google.com/events/io/2011/sessions/how-to-get-your-startup-idea-funded-by-venture-capitalists.html

Honorable Mentions (Recommendations about sessions I wanted to attend but couldn't due to conflicts):


Catch all the great sessions from Google I/O on the Google website: @deccandude

Wednesday, February 17, 2010

Recollections of a Hyderabad Public School Alumni



My heart jumped with joy when I finally saw someone write about my beloved school - HPS (Begumpet) - and I did hear stories about it's Jagirdar College days from my dad's friends and Old Boys (for folks who don't know, that's what the HPS Alumni are called). I received an invitation from the Old Boys Assn about our Alumni Day / Reunion '09 on Dec 25th, '09 in Hyderabad and I heard it was very well attended as always. The featured photo (courtesy: Hyderabad Public School, Begumpet Alumni Group) is the Administrative Block and features Principal's Office, classes, Assembly Hall and Library.

“sitaaron se aage jahaan aur bhi hain,
abhi ishq ke imtehaan aur bhi hain,
tu shaheen hai parwaaz hai kaam tera,
tere saamne aasmaan aur bhi hain”

This couplet by Allamma Iqbal is not only true about our mascot, The Eagle, but befits our school too as it's motto.

My recollections of HPS take me back from 1970 Primary school to all the way to 10th SSc (yes we had a choice then to go for SSc or ICSE and onto 11th and 12th ISC and since most of my friends were going for SSc I too followed that path, what we call peer pressure here). Let me list my recollections below in points:

1. We were Boys Only school and it became a coed a couple or so yrs after we passed out. Most of my friends' sisters used to go to Saint Ann's High School in Secunderabad.

2. We had 4 houses, named after the Seats of Learning during the Indus Civilization, and they were Nalanda (Blue), Taxila (Green), Nagarjuna (Red) and Vijaynagar (Yellow). We still have the same houses and I was in Nalanda. We had these removable flaps with each color strip on it that differentiated folks of the 4 houses and these flaps went on your khaki school Shirts.

3. 6 uniforms? No we had 4 for different parts of the day. The white T-shirt, colored shorts (for each house), white socks and white shoes for PT; Khaki Shirt and Pants (khaki shorts for Primary school), black shoes and khaki socks for school; Black Jodhpuri coat and White Pants and black shoes for evening (prep time for studies and Homework) and then dinner and after about 30 mins after dinner, it was sleep time and we would change into night suits and go to bed. Prefects would go around all rooms to see everyone was in their beds. In fact, we had a very similar schedule like Hakeem Sahab noted in his email.

4. We Boarders had to endure early morning 5am PT every weekday - lucky Day Scholars didn't have to go through that until late afternoon PT (Physical Training). our P.E./ PT Teacher, Mr. Devadattam was the most hated guy (sorry sir if u are reading this) - didn't mean it that way but we hated your disciplinary ways, punctuality - one minute late entailed extra PT and possibly frog jumps (gosh it hurt the calves later), hard nosed training and perfection and that early morning cross country ((once a week) - we simply hated waking up that early and felt happy when excused from PT due to "fake" illness but them Mr. D was too smart to notice that too - that's why we feared him out of respect.

5. Boarders used to get Pocket money every weekend - Cadbury, Chips and cookies (not cash). And also we got magazines delivered to our dorms in the East Wing and West Wing - I used to get Sportsweek every week and offcourse we paid him. Laundry, Beds made up and shows spotlessly shined by the ayahs were some of the perks of the Boarding School. Every Saturday or Sunday was movie day in the Assembly Hall and once a month, selected good movies in the theaters, and last but not least, every year, we had our annual theatrical show at Ravindra Bharathi.

6. Boarders also got to go to A.P. Riding Club every fortnight for a stint of horse riding; watch cricketing greats like Jaisimha, Abid Ali sahab and others come to our cricket games, played at the Basalath Jah Cricket grounds in the back of the school property, adjacent to the Begumpet airport. Nawab of Pataudi's nephews, Aamir Bin Jung and Saad Bin Jung, Vivek Jaisimha, Anant Vatsalya and a few others were some of the cricketing stalwarts in my time. I also had the fortune to play with Vivek and Ananth especially.

7. It was a lot of fun while standing on the cricket ground - if playing on the boundary near the airport runway and just hanging out on weekends - seeing those planes take off. It was awesome and ear-splitting fun.

8. Some more memorable events used to be the Annual Day - complete with marches in front of the Chief Guest and parents, and then athletic competitions between the four houses. It was a question of pride to win the House Competition and be voted the All round Champion House.

Finally the folks who inculcated the discipline and imparted knowledge that made us the proud alumni of our beloved school were not only our parents but also the teachers, right from kindergarten to high school. I cannot recount all they did for me but I can certainly give them shoutouts - to name as they come to mind and I may have forgotten some names too - Primary School Matron Mrs. Saleha Begum and West Wing Boardng school Resident Master, Mr. Jayanand; school teachers Mrs. D'Souza, Mrs. Seshadiri, Mr. Sai Sunder, Mr. Madani, Mr. Sadiq Naqvi, Mr. TJ Benhur (He was hard taskmaster who literally helped me in my English grammar and as did Mrs. Luther), Mrs. Luther (English), Mr. Prasad, Mr. Cherian, Mr. Solomon Jacob (his sartorial sense was legendary and his ties collection was amazing), Mr. Mathai, Mr. Sambasiva Rao, Mr. Chandrashekar, Urdu teachers Mr. Sadathullah Khan and Mr. Tajummul Hussain, our vice-principal, Mr. NRK Murthy, PT teacher Mr. Devadattam and offcourse, and our wonderful principals - Mr. Watson, Col Puri and HL Dutt. And a host of others whom I remember by faces but can't recall their names - my apologies to them.

Inspite of the privileges of studying in such an institution, we were not spoilt or lazy, and guess were brought up, with an eye to the future, to be independent and flexible in all environments Life may present in future. Hope you enjoyed my recollections.

Regards,

Mohammed Sadathullah Sayeed
HPS Alumni - Class of '78
Pleasanton, CA.


==========================================================
Written in response to the following email by Mr. Hakeem Akbar Ali Khan (U.K.)
==========================================================

J A G I R D A R' S C O L L E G E
Hyderabad Public School

Jagidar college was established in 1922/23 by Mr Masood Ross (Imad ul Mulk's son or grand son).
Imad Ul Mulk was one of the Prime ministers of Nizam the 7th's Hyderabad.

Jagirdar college was a great institution. Discipline was well maintained.

Besides highest education, physical activities were equally important.

Students had to getup very early in the morning for drill, by the time they were back, their shoes used to be polished, beds were made.

Jagirdar college had its own hospital, laundrette, barber, Bakery, Kitchen, best meals were served hygienically by waiters at dining table. Every thing used to be freshly made.

Breakfast: Porridge or Cornflakes, fried eggs, butter eggs or omelettes. Choice of hot drinks, tea, coffee or Oval-tin & hot toasts were served.

Other school/college students loved to play sports with Jagirdar's college so they can have deliciouslunch & snacks.

Even when Jagirdar's college students used to play outside the college the treat used to be the same.

Lunch/Dinner: Soup of the day, delicious hot main course, had great choice of every thing, plenty of side dishes. some times at lunch a dish was made of sliced lamb's tongue, students who had this dish still remember its taste & say they never had any thing like that else where.

Fresh seasonal fruits. Ice cream was served in kaunla (Tangerine shell) always home made soft ice cream was made with seasonal fruits.

Egg rolls, curry puffs, Samosas, cakes and biscuits for tea. Every thing use to be fresh at all time.

College use to have Friday full day school& Saturday 1/2 day off but no student wanted to go home.

Students were divided in to 5 houses (Groups), Yellow, Green, White, Blue & Red.

There were 6 uniforms worn a day. At 5am the day started with a whistle and everybody had to be alert and present on the grounds wearing white singlets, white shorts, white socks & white shoes. 5am to 5.30, 5 days a week.

After PT every body had to take a shower, then be ready for breakfast in Khaki shirt, Khaki shorts khaki stockings & Brown shoes.

Breakfast used to be from 8am to 8.30 & then separation till 9am .

School bell at 9am. 9 to 11.20 am two periods of 40 minutes each. Interval for 20 minutes.

Then 2 periods before lunch. Lunch use to be served from 1pm to 2pm, then 2 more classes, 4pm school use to finish for the day. Wash face have tea.

Then changed into game's uniform according to the games played. White for cricket each game had its uniform. Tennis, cricket, football, Hockey. Sports use to finish at 6pm then shower.

Evening out fit use to be Black Shairwani, White Kurta & Pyjama. Week ends white shairwani.

From 7pm-8pm home work (preparation) . Bell to invite for dinner at 8pm-9.30pm. Then the last bell for bed, every body in sleeping suit.

Dhobi use to come twice a week so our parents had to supply enough uniforms as per school's uniform list.

Even after such an ayesh every body was trained to adjust in every environment.

There was no religious/cast bar, everybody was very friendly.

College's jacket was Dark Blue, light blue & yellow.

Every Wednesday there was a cross country running for 3 miles. A commander use to follow. At weekends, one morning swimming & next day horse riding.

For kindergarten minimum age was 5 years. Some students were studying up to the age of 22.

Every Jagirdar had to pay 10% of his income regardless they had children or not, they sent their children to college or not.

=======================================================