Posts

Showing posts from October, 2014

The graphical biography of JRD Tata

Image
I'm a fan of Bharta Ratna (Jewel of India) JRD Tata. I enjoyed reading his roughly 400-paged biography  Beyond the Last Blue Mountain . If you want a much shorter biography of this great man, I highly recommend the Amar Chitra Katha comic book on JRD Tata of 32 pages. Despite the brevity, all the details & humorous incidents are well covered. In fact, there were some details that I don't remember reading in his biography. For instance, I did not know that he had a providential escape from fatal incidents multiple times. The Japanese ship JRD traveled on was destroyed after he got off After JRD finished his stint in the French Army and left his regiment, his colleagues were slaughtered The story-telling is excellent - the writing is tight and the pacing of the story is good. As in the biography, there is a mention of JRD's wife's precocious cousin Bobby JRD became the Head of the House of Tata at the age of 34 Amar Chitra Katha, which h...

This Week I Learned - Week #81

Image
This Week I Learned - - Google Design has open-sourced 750 glyphs as part of the  Material Design system icons pack . The system icons contain icons commonly used across different apps, such as icons used for media playback, communication, content editing, connectivity, and so on. They're equally useful when building for the web, Android or iOS. -  The Semantic Versioning specification  is authored by Tom Preston-Werner, inventor of Gravatars and cofounder of GitHub. It proposes the following versioning strategy - given a version number MAJOR.MINOR.PATCH, increment the: MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes. - SRI International is the research and development company where Siri began before Apple bought the technology. -  NYTimes - 40% of Azure revenue today, comes from startups and ISV’s . - The G...

How my old technical books are helping me now

Image
I work (and surf the internet) standing up these days at home as there is a health benefit. I've found a good use for my old hard bound MS Press books for Microsoft Certification exams Also see:  JavaScript: The Good Parts - photo gag

Debugging Windows 8.1 Apps

Image
Visual Studio 2013 has the ability to quickly debug a Windows 8.1 app even if it’s not your app. Fiddler is a free tool for HTTP debugging of Windows 8.1 Apps Notification after installing Fiddler on Windows 8.1 To enable traffic capture of even third party apps, the Win8 Config button has to be clicked.

Notes from the MVA course Single Page Applications with jQuery or AngularJS

Dave Voyles and Stacey Mulcahy have delivered a 7-part roughly 5-hour video course on Single Page Applications with jQuery or AngularJS . Key points from that course: - A single page application or SPA is a web application that fits on one page - A SPA can redraw any part of the UI without refreshing the page - They provide native-application like experience in the browser - Data is seperated from the presentation - Often includes templating, AJAX, routing - Loads data & views on demand - Examples - Twitter, email clients in the browser, Azure portal - Challenges:   ^ SEO considerations   ^ Browser history   ^ Requires JavaScript to be enabled   ^ Potential memory leaks - must deal carefully with JavaScript - Library vs Framework - A library has specific operations and it is usually organized into a class with specific functions (like image manipulation) while a framework defines the structural s...

JSONP Viewer

Image
Firebug, the Firefox add-on offers the best view among commonly used browser developer tools to visualize the JSON feed provided by an API. reviewing JSON in Firebug However, all native browser Developer Tools show JSONP data as a blob of plain text that is hard to make sense of.  JSON with Padding or JSONP's purpose is to circumvent the same-source policy limitations of XMLHttpRequest . JSON Viewer is a free tool that can present JSONP data in a tree view thereby enabling easy analysis. There is a small additional step though before you can view. JSON Viewer - Text tab After you paste JSONP into the textarea in the Text tab, click on the Strip to {} option in the toolbar Now when you click on the Viewer tab, the JSONP will be better readable JSON Viewer - Viewer tab

HOW TO take a full page screenshot of a web page directly with Firefox

Image
In Firefox (version 33), use the shortcut Shift-F2 or open Tools > Web Developer > Developer Toolbar. At the command line that appears, type the command : screenshot filename .png --fullpage Unlike the full page screenshot option with the Responsive Design View that generates screenshots at different screen resolutions and with a predefined filename, the above Developer Toolbar Command line option lets you name the file as you like. The screenshot command accepts multiple  arguments to customize the screenshot images - screenshot [filename] [--clipboard] [--chrome] [--delay ...] [--fullpage] [--selector ...] Save a PNG image of the entire visible window (optionally after a delay) Options:     [filename] (string, helpManOptional)     The name of the file (should have a '.png' extension) to which we write the screenshot.     [--clipboard] (boolean, required)     True if you want to copy the screenshot instead of saving i...

HOW TO disable JavaScript in a browser after the page loads

Image
In this age of the Cloud and automatic browser updates, everything is dynamic. You never know when & how a web page you bookmarked might change or where the browser feature you liked has disappeared. The following information was tested in Firefox 33, Chrome 38, Opera 16: Firefox: To disable JavaScript in a browser after the page loads, go to Tools > Web Developer > Inspector  In the panel that opens up, click on the  Settings  gear icon at the top right hand corner. Under Advanced Settings , check the option Disable JavaScript click on  image  to enlarge  Chrome: After a page has loaded in Chrome, hit F12 or use Ctrl+Shift+I keyboard shortcut to invoke Developer Tools . In the panel that opens up, click on the Settings gear icon at the top right hand corner. click on  image  to enlarge Check the option  Disable JavaScript [Update 25-Nov-17]:  There's now a command menu built into DevTools that makes it ...

Why I like StatCounter more than Google Analytics

As a casual user of web analytics, I like StatCounter more than Google Analytics for the following reasons: - When there is a lot of information, it is a challenge to present it in an accessible way. StatCounter does a way better job. It makes tracking analytics fun! I like their feature that lets me study the visitor's path through a site and the "Exit Link Activity" which helps me understand how visitors interact with my websites. - StatCounter's infrastructure is pretty good & I've rarely seen the service being down in a decade of my use. The pages render quickly. The presentation of the logs and charts is impressive. - StatCounter provides a easy to implement visitor counter that you stick on your site. I wonder why Google Analytics cannot directly provide one even now. - StatCounter helps the developer community by sharing aggregated statistics  consolidated from the analytics of its subscriber base. - StatCounter has been around before ...

This Week I Learned - Week #80

This Week I Learned - The size of ISO files for VS Express 2013 for Web & VS Express 2013 for Windows are a whooping 4.4GB & 4.3GB respectively! The Visual Studio 2012 Ultimate ISO was 1.5GB Google's Web Starter Kit  claims that it doesn't compete with CSS libraries like Bootstrap, Foundation and Pure but instead focuses on customising the look and feel for the lifetime of a site.  If you're logged into YouTube, it has your video watch history A misuse case describes something that the process stakeholders don't want to happen or have the process used for. If a use case was an angel on your shoulder, the misuse case would be the devil on your other shoulder. Misuse cases make system engineers and process designers put on their bad guy hats and think things like "if I wanted to steal from the company, how would I abuse the system to make this happen" and "what checks and balances does this process have in place to ensure that a theft doesn...

Getting started with WinJS Universal App development

Image
I'm excited to know that Windows Phone 8.1 apps can now not only be written with JavaScript but with little effort a Windows Store app can also be built simultaneously by using a WinJS Universal App project template. Two years ago, I built my first Windows Store app, GeoBuzz, and I'm thrilled to learn about all the new developments that have taken place to simplify development of apps for Windows mobile devices. I was happy to find a blog post that had a step by step explanation to build a Universal app with WinJS . I just followed the instructions and got it to work but understanding the internals will probably take some time. However, I would like to believe that well begun is half done. After all the time I spent installing Windows 8, upgrading it to Windows 8.1 and installing Visual Studio 2013 Express for Windows with Update 3 (4.3GB ISO!), it was a joy to have VS 2013 Express  for Windows  build apps for both Windows and Windows Phone at the...

Notes from the course "Nutrition, Health, and Lifestyle: Issues and Insights" on Coursera

Image
I live to eat and also like knowing more about the food I eat - I'm fascinated about food. Ever since the course Nutrition, Health, and Lifestyle: Issues and Insights  appeared on Coursera, I've been meaning to complete it but I've managed to reach completion with the third offering (a year and half later) of the course. The excellent course is delivered by Jamie Pope of Vanderbilt University. The course has been very insightful. There are numerous takeaways and I've jotted down the points that I found most useful from the 7-week course along with my own notes, for future reference: - What drives food and beverage choices – taste, price, healthfulness, convenience - Balance calories with physical activity to manage weight - Energy dense foods tend to be nutrient poor - Reduce intake of sodium to less than 2300 mg per day - Replace saturated fatty acids with poly and monounsaturated fatty acids - It is advisable to moderate sugar intake to less than 40 grams or ...

Real-life object names used in web development

Image
Having a good visual name makes it easy to describe things among a group rather than providing a long explanation. Several real-life object names & new expressive words have made it to the web development lingo - Hamburger Menu refers to the three-lined symbol icon on most mobile sites which readers can click to see more content. Jumbotron is a large-screen television. For web developers using Bootstrap (a popular framework for developing responsive, mobile-first websites), it is the visual component to showcase key content on a site in the upper fold. A Chevron menu is used in wizard-style applications Breadcrumbs help users to keep track of their locations within programs or documents. Taking a leaf from the popular fairytale where Hansel and Gretel leave a trail of breadcrumbs, web designers use breadcrumbs or breadcrumb trail as a navigation aid for users. Throbber   is the name for the animated image that you see in most AJAX based websi...

Practical IndexedDB applications with code & explanations

Practical real-world applications with both code and explanations are hard to find. My compilation of the ones I've gone through (funny that the first three I've found so are are TODO apps) and liked: Paul Kinlan's article in HTML5 Rocks (a Google project) "A Simple TODO list using HTML5 IndexedDB" was first published in 2010 and then updated in 2013. TODO app - Chapter 5 of the excellent book HTML5 in Action , Mobile applications: client storage and offline execution, has a 30-page step by step explanation of a  TODO list web application . This chapter is available as a free download in PDF format . The source code of the all the apps explaining various HTML5 features, is available on Github . Building A Simple Cross-Browser Offline To-Do List With IndexedDB And WebSQL  - a Smashing magazine article by Matthew Andrews shows how to make a simple offline-first to-do application to be continued...

Amazon.in Lightning Deal over before it even strikes

Image
In the biggest ever war between the Indian e-commerce giants during the Dussehra-Diwali festivals, Flipkart, Amazon and Snapdeal, for the Indian consumer's eyeballs and money, the hard-earned trust has been taken for granted. Amazon.in is running Lightning Deals as part of its Diwali Dhamaka Week promotion. I spotted a mouse that I wanted to purchase. I clicked on the deal right when it started but it showed that it was already over. In fact, no one claimed it. Evidently there is a technical glitch. 0% claimed. Deal Over What is the point of full page advertisements when promised goods cannot be delivered? Economic Times reports that of the 1 billion who visited Flipkart, 998.5 million came back empty-handed.  Having purchased on Flipkart during its Big Billion sale and on Amazon recently, I found several things lacking in my usual online shopping experience. Items vanishing from shopping carts, server errors and incorrect details seriously question the reliability of th...

My experience with Windows 8.1

Image
Windows 8.1 blends the best of Windows 8 and Windows 7. Having worked a good deal on Windows 8, I would say that if you've never tried Windows 8, it may be best to jump directly to Windows 8.1 Here are my findings and observations while working with Windows 8.1 after moving from Windows 8 - The Power button and Search had to be accessed from the Charms bar or through keyboard shortcuts. It can now also be quickly accessed from the top right corner instead of using the . Windows 8 apps were full-screen and didn't have any toolbar. To close an app in Windows 8.1, move mouse pointer towards top of the screen. A toolbar with a minimize and close options, appears. PDFs can be opened with the Reader app; an external application is not required. Links within the Reader in PDF open by default in the IE app and the not the IE desktop version. This can be changed by changing an option in the desktop IE. From the IE menu, choose Tools > Options . Jump to the Prog...

This Week I Learned - Week #79

This Week I Learned: This Ctrlq app  can take the URL of a PDF or any doc & save it to a online cloud storage service like Dropbox, Google Drive, Box or OneDrive, without downloading it to the local computer. It uses  Filepicker.io 's service. Shift-Delete keyboard shortcut can be used to remove past searches from Google Chrome's omnibar On the BigBillionDay, Flipkart deployed 5000 servers and prepared for 20 times the traffic growth Bootstrap Playground  is a visual online editor that makes it easy to build web pages using Bootstrap The world has 7.22 billion mobile devices while the world population is around 7.2 billion. Mobile technology is the fastest growing manmade phenonmenon ever - from zero to 7.2 billion in 30 years. Shuji Nakamura, one of the three winners of the 2014 Nobel Prize for Physics, is among the rare Nobel winners to have got the prize before completing a PhD. As about one fourth of world electricity consumption is used for lighting p...

My experience with migrating a desktop PC from Windows Vista to Windows 8.1

Image
I was getting along fine with Windows XP on my assembled desktop PC till 2007 when my friends raved about Windows Vista. Wanting to be with the crowd, I installed Vista on that PC. In retrospect, I regret it. Gradually over time, I piled up so much stuff on that PC that I found it easier to move to other machines rather than backup the useful things on it and rebuild it. I took the time today to upgrade that PC from Windows Vista to Windows 8 and subsequently to Windows 8.1 to carry out some experiments. It has bought new life to that idle PC! The PC with 2GB RAM now boots up in about 2 minutes. This is how the migration went: - After backing up the important files, I extracted the Windows 8 36-bit ISO onto the Vista file system & clicked on the setup file. - During the setup process, I was asked for the product key and if I wanted to keep anything from the previous OS. I choose the "Nothing" option. There were hardly any other questions that needed deep thought dur...

HOW TO spot a fake video upload on YouTube using its API

Some clever YouTube users take advantage of the wisdom of the crowds who graciously give a video they have watched, a thumbs up or a thumbs down. You can identify a popular video for a specific keyword  by googling with a search query like this : "like 100..200" "dislike 0..2" Moog site:youtube.com Currently, this technique doesn't seem to work effectively due to a code change involving the count of Likes & Dislikes. Finding out the count of people who dislike a video and the ratio of likes to dislikes for a particular video is simple if you use the YouTube API. The JSON feed of the  YouTube search webservice exposes values for viewCount, likeCount, ratingCount which can help in gauging if a video is really what it claims through its title. Some trolls disallow rating for the videos they upload so that viewers cannot rate it. That's another red flag to watch out for.

The Top 5 JavaScript libraries/frameworks (unscientific comparison)

If the number of StackOverflow questions for a topic is taken as a criteria for a unscientific popularity contest, jQuery tops the list. Following are the total number of tagged questions for each topic at the time of writing: jQuery - 537253 Node.js - 58212 AngularJS - 57402 jQuery UI - 29689 jQuery Mobile - 19847 Node.js and AngularJS came much after jQuery but the general point is about which community is roughly larger & hence more popular.  If you put aside the religious wars, these numbers are helpful to decide if you should pick a particular library/framework over the other. It gives a rough estimate of the size of that technical community. Of course, suitability to a specific task and a programming team's comfort with a technology is hugely more important than popularity. However, choosing the one with a large community can be beneficial especially with open source technologies for multiple reasons - 1) more people to seek help from if required 2) there is ...

MovieBuff - a fun mashup that combines TheMovieDB & YouTube APIs

Image
MovieBuff is a fun web app that I built to delve deeper into movies, know more about film personalities and check if a movie you're interested in is available on YouTube - really fast! Of course, don't expect to find the latest blockbusters or mainstream movies on YouTube. With some luck however, you may be able to find some movies uploaded by the production houses themselves for free viewing. This app can help you uncover patterns in the movies you like. In the first tab,  Artists , type the name of any film personality including a cast or crew member. An autocompletion menu will guide you in closing in on the name of the artist without typing out the entire name. You can optionally use arrow keys to navigate and select a desired name from the list presented. Upon hitting the enter key, the list of movies that the cast or crew member was involved with, will be displayed. Click on a movie link from that list and that'll show you details of that movie in the...

HOW TO archive a Facebook conversation thread as a PDF or image

Image
Here are the steps to share a Facebook conversation thread with folks who don't use FB as a PDF or to send the thread as an image via email or publish it on a website: 1. Open the mobile version of Facebook - m.facebook.com 2. Grab the direct link to the post from the FB timeline & open it within the browser 3. If you're using the desktop version of Chrome, generating a PDF is easy. The Ctrl+P shortcut will let you print the content as a PDF. To generate an image of the conversation thread, submit the direct link to the URL of the Facebook post to one of the many online screenshot generators The mobile version of Facebook provides a clutter-free view of the thread. Also see: Conserve bandwidth. Use the mobile version of websites on the desktop browser

This Week I Learned - Week #78

This Week I Learned: Angular (like jQuery) doesn't support CORS for IE9. IE10 is the first IE browser that supports CORS.   The Xiaomi default browser is a Chromium , and not an Android WebKit as it supports the pointer media query, something only Chromium browsers on Android do. (No, desktop Chromes don’t.)  Leaving a new Lithium-Ion generic battery in its sealed packaging will degrade if left unused   The head of a Pakistani company which created an app called StealthGenie allowing users to spy on other people's mobile devices was indicted on US criminal charges in the first-ever criminal case concerning the advertisement and sale of a mobile device spyware app . The  indictment alleges  that StealthGenie’s capabilities included the following: it recorded all incoming/outgoing voice calls; it intercepted calls on the phone to be monitored while they take place; it allowed the purchaser to call the phone and activate it at any time to monitor all sur...