Posts

Showing posts from December, 2014

Quirky, Aphonetic Words that don't have Spelling Pronunciation

Image
The English language is notoriously tricky with its use of more than 19 sounds represented by 5 vowels (and sometimes “y”). Quirky words with silent letters and extra letters seem to  trip a lot of us . Aphonetic is a term a member of the English Stack Exchange forum uses to describe words whose pronunciation bears no relationship to their spelling .  These strangely pronounced aphonetic words can be troublesome as those unfamiliar with these words would be unable to guess how to pronounce them just by looking at the spelling. For example, "colonel" is pronounced as ker-nil while "gaol" is pronounced  as  jeyl . Using the trick of having  Google Spreadsheet act as a read-only database , I maintain the word list in Google Sheets & use Google Sheets API to display it through JavaScript & a web front-end.  Check it out !  Update [26-Aug-2021] : The original code relied on Google Sheet API v3 which has been retired in August 2021 and therefore had to be rep

Tools to search within HTML source of web pages

While trying to test a bookmarklet that unblocks a password textbox from having anything pasted into it , I was looking for sites that impose this restriction. For this I wanted to know web pages which have the  type="password" onpaste="return false" within the HTML source code. I found out the following tools can help developers search for keywords within the HTML, CSS and JavaScript of web pages hosted on thousands of domains: *  NerdyData *  meanpath *  Globalogiq Only  NerdyData  is free service while  meanpath  & Globalogiq  are commercial products that let you evaluate their service. I found  meanpath  most helpful. I learnt that there are 10,012 instances of my search keywords type="password" onpaste="return false" in its November 2014 index of 141,670,458 live domains. The searchcode search engine lets you search for source code hosted within projects on Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Projec

This Week I Learned - Week #90

Image
This Week I Learned: - SQL Express LocalDB can be used in production. LocalDB makes a pretty good embedded database - When you click on the Forgot password link some sites don't send you your old password but rather ask you to choose a new one. It's because they don't know what your password is either . -  google.com is the most widely referenced third-party hostname: used by ~125K pages and accounts for ~700K requests . - Dean Hachamovitch, longtime Internet Explorer leader & most recently Microsoft’s chief data scientist is leaving Microsoft after 24 years with the company . -  The US has less than 5% of the world's population. -  Major General Shabeg Singh AVSM and PVSM (1925–1984), was an Indian Army officer noted for his service in training of Mukti Bahini volunteers during the Bangladesh Liberation War, and later for his role in training Sikh militants in their occupation of the Harmandir Sahib (Golden Temple) in Amritsar -  Vehicle names prod

Websites supporting Google-like search operators

Without the ability to search and filter results, the knowledge contained in large sites could as well be hidden. I frequently use Google search operators like site: and filetype: and they save me a lot of time. I heavily use the Stack Overflow forum and bookmark all the interesting questions & answers. Till I figured that there was a search operator called  infavorites:mine (or any user id) which returns search keyword matches for only questions that I have favorited, I used to manually look through my list of favorites. I realized I should compile all the sites I find that provide time-saving search operators along with some documentation for future reference, so here goes the list: *  Google Search *  Bing *  Stack Overflow & Stack Exchange family of sites *  Outlook.com *  Gmail *  Google Drive  (lets you search for text in PDF and image files & by describing or naming what's in them!) work in progress...

This Week I Learned - Week #89

This Week I Learned - - Azure has more than 18 billion authentications per week - Azure November 2014 Newsletter -  They have about 5000 unit tests for WinJS  (in July '14) - All popular browsers now support the async attribute for external scripts   -  Google Safe Browsing utility warns users of Chrome, Firefox & Safari when they visit malicious sites -  Libscore  is a tool that explores the popularity of third-party JavaScript libraries YouTube takes as much as 49 percent of the ad revenue generated by independent content creators. Susan Wojcicki, the chief executive of YouTube was employee No. 16 at Google. She settled on technology after a stint as a photographer at an English-language newspaper in India. She helped recruit and train Sheryl Sandberg, who is now the chief operating officer of Facebook. In 2005, she was a leader of Google’s first foray into video, a short-lived product that came to be known as Google Video...Google Video was getting crushed by a

Infographic: 3G vs 4G

Image
click to view enlarged image This infographic from Microsoft provides a quick visual summary of the difference 3G and  4G will make to mobile internet browsing. Microsoft Lumia 628 is one of the cheapest 4G handsets currently available in India  at Rs 8,299 Reliance Jio Infocomm is set to roll out its 4G LTE services in 800 Indian cities between April and June next year. Bharti Airtel, the only company offering 4G services at present, does so in around 15 cities, including Bengaluru, Pune and Mohali. The company, present in 5,121 census cities and towns and over 462,000 non-census towns and villages across India with services like 2G and 3G, covers about 86 per cent of the country's total population. Related:  Book Review: High Performance Browser Networking by Ilya Grigorik; O'Reilly

2 ways to copy tooltip text from a web page

Image
There are times when I've wanted the tool-tip text that appears on hovering over a link or an icon within a web page. The cumbersome way is to select the object that has the tooltip and then use Inspect element option in Chrome (as shown in the animated GIF below) or open Developer Tools (F12 keyboard shortcut in popular browsers) select the element containing the tooltip and grab the desired text from HTML code. Inspect Element option in Chrome I found a simpler option that works with tool-tips on some websites (not all) Select the word before and after the image containing the tooltip and when the tool tip appears, copy the selected text. Copy it from the clipboard and remove the extra words after you paste Select tooltip & its surrounding words, copy & paste I've tested this crude trick in IE 11, Firefox 34 and Chrome 39 (all on Windows) (The animated GIFs were generated using the ScreenToGif open-source tool)

Book Review: Eloquent JavaScript

Image
Eloquent JavaScript by Marijn Haverbeke is a great book for both beginner and intermediate developers to learn and improve their existing JavaScript skills. The second and most recent edition covers ECMAScript 5. The ebook can be read online and is free to download in ePub & PDF formats ( you can have Amazon convert it into Kindle format ). There is a also a paper edition available for purchase. The explanations are simple and straight-forward with plenty of code snippets and practical samples in  VanillaJS  that you can re-use in your own projects. It made me think and answered a lot of "whys". The chapter summaries are also well-written. The style of the book & the terse code samples reminded of my favorite C# book  C# in a Nutshell . I have heavily highlighted points in both the books for future reference and to me they exemplify how technical books should be written . The only nit I can pick is not with the content but with the formatting of the code in the

This Week I Learned - Week #88

This Week I Learned - -  TodoMVC project has examples of the same application, implemented with a wide range of popular JavaScript MVC frameworks. Among Angular, Backbone & Ember (used for the  TodoMVC  application),  Backbone had the fastest render time  in an perf test. - Stackexchange serves 560 million page views per month - Are Websites on Azure  charged while in stopped state? Yes. Rates listed apply to Website instances in stopped state. Please delete Website instances not in use or update tier to Free to avoid charges . -  Google's cloud serves 6 billion hours of YouTube video per month and provides storage for 425 million Gmail users . - Plagtracker plagiarism checking service - All the analytics for a GitHub repository is available at https://github.com/<username>/<reponame>/graphs/traffic -  There are three different types of checkmarks on WhatsApp : ~ One grey checkmark: The message has been sent but not delivered to the receiver's

Microsoft Azure Services at a glance

Image
The following tables from the  Azure Pricing &  Azure Regions pages provide a visual summary of the currently available Microsoft Azure Services. click images to enlarge Azure operates out of 17 regions around the world currently.

This Week I Learned - Week #87

Image
This Week I Learned - -  Azure Websites, now lets you create a new temporary web app (expires in 55mins) for free . No credit card is required. - By default, SQL will use as much RAM as it possibly can to maximize its performance. This behavior can be overridden . -  Mobile deep linking is a methodology that allows mobile apps to communicate with the mobile web or with other mobile apps via clickable links directing users to a specific landing page or screen inside the app instead of sending them back to a mobile site or store . Enabling mobile deeplinks requires a straightforward, one-time codebase addition to an app, which involves registering a scheme to open the app and mapping routes to in-app pages or actions . - Flipkart Affiliate Program is the first Indian affiliate program to make affiliate tracking live on Mobile Apps since October through deep linking. -  Deep links to your app can be made to appear in Google Search results on Android so users can get to your na

An overview of OData

- The Open Data Protocol ﴾OData﴿ is a data access protocol for the web built on core protocols like HTTP and commonly accepted methodologies like REST for the web. -  OData provides a uniform way to query and manipulate data sets through CRUD operations ﴾create, read, update, and delete﴿ . -  Methods for serving OData :  ~ Manually  ~ WCF  ~ WCF Data Services  ~ MVC  ~ Web API (the most convenient) -  ASP.NET Web API supports both versions 3 & 4  of the protocol. - A v4 endpoint can run side-by-side with a v3 endpoint. - The new OData V4 libraries are in the assembly: System.Web.OData. System.Web.Http.OData are the V3 libraries - Web API OData does not require Entity Framework. Use any data-access layer that can translate database entities into models. - It includes features that make it much more ready for the enterprise environment, supporting: a service definition language  ~ error message formatting – missing from the documentation at the moment  ~ datase

Microsoft Virtual Academy now features learning resource for open source tech

Compared to last year, Microsoft Virtual Academy is now buzzing with great new content especially on open source technologies. Here's a list of courses offered on open source tech: -  Introduction to Programming with Python -  Building Responsive UI with Bootstrap -  Building Apps with Node.js Jump Start -  Introduction to jQuery -  Single Page Applications with jQuery and AngularJS -  JavaScript Fundamentals for Absolute Beginners -  Open Source Questions Answered -  Mobile Web Application Development -  The Modern Web Platform Jump Start -  HTML5 & CSS3 Fundamentals: Development for Absolute Beginners I like that they now show the date on which a course was published. Due to the evolving nature of the products, the courses can go stale due to dramatic changes in newer versions and watching out for the date of publication helps in deciding if a particular course is right for you.  I wish the page layout was better accessible. It is not possible to link to

JavaScript Questions & Answers - 2

These questions & answers are based on the material from the book Eloquent JavaScript by Marijn Haverbeke, which covers ECMAScript 5 and from the most voted up questions on Stack Overflow . Q. Why do Google & some other popular websites prepend while(1); to their JSON responses? A. It prevents JSON hijacking.   Long answer Facebook prepends  for (;;); before JSON content.  for (;;); is a way to   intentionally create a loop that doesn't terminate on its own. Q.  What does “use strict” do in JavaScript? A.  ECMAScript 5 Strict mode helps out in a couple ways: ~ It catches some common coding bloopers, throwing exceptions. ~ It prevents, or throws errors, when relatively "unsafe" actions are taken (such as gaining access to the global object). ~ It disables features that are confusing or poorly thought out. Normally, when you forget to put var in front of your variable, as with counter in the example, JavaScript quietly creates a global variable and uses

JavaScript Questions & Answers - 1

These questions & answers are based on the material from the book Eloquent JavaScript by Marijn Haverbeke, which covers ECMAScript 5. Q. Operators are generally symbols. Name an operator that is written as a word A. typeof - a unary operator Q. What will the following statement return?   console.log ( NaN == NaN ); A. false Q. What will the following statement return?   console.log ( null == undefined ) ; A. true Q. What is the difference between == and === ? A. When an operator is applied to the “wrong” type of value, JavaScript will quietly convert that value to the type it wants, using a set of rules that often aren’t what you want or expect. This is called type coercion. Example - console.log( false == 0) // true The rules for converting strings and numbers to Boolean values state that 0, NaN, and the empty string ("") count as false, while all the other values count as true. Because of this, expressions like 0 == false and "" == false are