Posts

Showing posts from December, 2013

Technical Books I have peer-reviewed

Back when I was a Microsoft MVP, Manning gave me a chance to be a honorary peer-reviewer / beta reader . Over the years, I have reviewed the following manuscripts (and some that never made it to print) prior to publication  - Windows PowerShell in Action, First Edition Windows Presentation Foundation in Action ASP.NET AJAX in Action C# In Depth, First Edition Silverlight 2 in Action Website Owner's Manual jQuery in Action, Second Edition Continuous Integration in .NET The Cloud at Your Service ASP.NET 4.0 in Practice SharePoint 2010 Site Owner's Manual Windows Phone 7 in Action Silverlight 5 in Action Hello! HTML5 & CSS3 HTML5 in Action Azure Infrastructure as Code   Tiny CSS Projects Python How-To Learn AI-Assisted Python Programming Django in Action Build a Website with ChatGPT Generative AI for the IT Pro AI-Powered WordPress   Grokking Relational Database Design Data Storytelling with Generative AI I got to read the beta versions and offer suggestions

TWIL - Week #38

Image
This Week I Learned: Browsers Disconnect2 , is an open source web browser plugin built by ex-Googler Brian Kennish who once worked for DoubleClick. It blocks over 2,500 cookies and tracking scripts, making users practically invisible to advertisers and  third-party traffic monitoring tools such as Google Analytics. What it doesn’t do is block first-party services. So, if you’re on Amazon.com, you’ll still see what Amazon recommends based on your behavior. Disconnect is a Benefit Corporation , a breed of company that puts social or environmental concerns ahead of maximizing shareholder value. Source - Wired To access blocked websites in a restricted network, you can use Google Mobilizer , the “cache” operator to access a cached version of a web page or append URL of blocked site to this address - http://www.gmodules.com/ig/proxy?url={URL of blocked site} India India has about 44 mutual fund houses. HDFC Mutual Fund (MF), with assets of Rs 1.03 lakh crore is the largest. Life I

HOW TO send an email via SMS (works in India)

Like  IFTTT Recipes , the  txtWeb platform  owned by Intuit, lets anyone build free (at least for now) SMS-based apps for India. There are apps not only to  check a rail ticket's PNR status ,  spot current location of a train ,  know weather forecast for a specified city  but also to send an email via text message . According to txtWeb's privacy policy , the company "may share your information with third parties that help us in our business processes"..though not "for their own purposes". If you are concerned about the privacy of your mobile number and your email address, it may be better not to use your official ones. According to the txtWeb forum, the mobile number to send the SMS to,  9243342 000,  is a Bangalore number. A poster on that thread has provided alternate mobile numbers for various States so that the text messages may be treated as a local SMS and have a lower charge. I don't know if they do work. Update (11/Aug/2014): txtWeb will n

Indian BFSI company's RFP for a new website

Indian  Banking , Financial services and Insurance (BFSI) websites for customers to carry out online transactions are typically slow and don't bother about best practices, accessibility and user experience. If you have made an online premium payment via the website of Life Insurance Corporation of India , the country's largest insurance company, you will understand what I mean. I chanced upon a recent RFP (request for proposal) [ PDF ] issued by LIC Housing Finance, India's largest Housing Finance Company, for a new website. While the features they wish to implement are ambitious, their first eligibility criteria - "The  bidder should have at least designed 1 website/portal for an Indian BFSI company with similar features/capabilities" - is funny and regressive as the current crop of websites in that category aren't best-known for user-friendliness. Also see:  Indian e-commerce sites that levy "convenience" fees or transaction charges on card pay

HOW TO make a program always "Run as Administrator"

Some programs need elevated privileges to perform specific tasks and this can be enabled by making that program "Run as Administrator". I liked this answer which explains why you need to run commands as an administrator even if your account is a member of the Administrator group. To mark an application to always run as an administrator, do the following : 1. On the Start menu, locate the program that you want to always run as an administrator.  2. Right-click the application’s shortcut, and then click Properties.  3. In the Properties dialog box, click the Compatibility tab.  4. Do one of the following:  To apply the setting to the currently logged-on user, select the Run This Program As An Administrator check box, and then click OK. To apply the setting to all users on the computer and regardless of which shortcut is used to start the application, click Change Setting For All Users to display the Properties dialog box for the application’s .exe file, select the Run

TWIL - Week #37

This Week I Learned: Browsers If you don't like Flash ads or Flash content that auto-starts within Chrome, type chrome://settings/content in your address bar and then press enter. In the scrollable "Content Settings" panel that opens, scroll down to "Plug-ins" and click on "Click to play". From then on, Flash content will wait for you to click them before they run. Web Dev Images typically represent 60% of the download size of the average webpage .  Scott Hanselmans 2014 Ultimate Developer And Power Users Tool List For Windows is out  has a lot of resources for web developers. The Web Developer Checklist  has a list of pointers you should watch out for before your website goes live. XRAY is a free bookmarklet that lets you see the box model in action for any element, letting you see beneath the skin of any web page. It is to CSS what Visual Events is to JavaScript events. Headroom.js is a lightweight, high-performance JS widget (with no

My feedback/rant on Windows Azure Documentation is heard

Image
My # 1 grouse with MSDN is that articles there do not have a date of publication/update. This applies to Windows Azure Documentation as well. There are times when the information there gets stale due to changes that happen subsequently. I understand it is a challenge to update these articles every time there is a dependent change but it is frustrating for a reader to walk through a code sample and while trying it out, find that some piece used to work earlier but won't work now due to a breaking change. If there is a date of publication or modification, readers can at least guess that it could be a breaking change and they are not doing something wrong at their end. I posted my suggestion to review articles in the Documentation section occasionally & *have a date of publication or modification on it* to indicate info is up-to-date  on feedback.windowsazure.com . I'm glad to hear that the Documentation team agrees with my feedback and plans to implement this idea :

Publish Blog Posts by Email feature provides extensibility

Image
WordPress , Tumblr , Blogger allow you to publish blog posts by email. This extensible feature makes it possible to post even programmatically. Considering you can send emails programmatically , content can be posted through custom web interfaces or scripts without writing complicated code. I tweaked my  World Citizen News app to curate pictures on Flickr related to India & publish them to the my Bharat Darshan Tumblr blog I changed the layout of the default Tumblr template in the Settings to Grid to get the Pinterest style look. [Update - 21/Oct/2015]: Tumblr now lets you prefix a tag word with a pound-sign (“#”) in your message, and it will be removed from the text and set as a tag for the post . Sometimes email programs append text to the bottom of each sent message; to make sure this cruft doesn't get posted to your blog, put #end at the end of your Blogger post This interesting article on Digital Inspiration lists services which accept submissions via email

Banking app can be a "phishing" scam

Image
India's largest bank, State Bank of India, has a queer link on its Internet Banking website  - "Genuine Applications !" The need to put that odd anchor text  "Genuine Applications !" right on their home page creates an impression that there are unofficial or  fraudulent apps out there. The threat has been attempted and is real . This Wall Street Journal article recommends downloading "your bank's application through its own Web site. A legitimate application will require you to go through an authentication process to register your phone and create a user name and password. Alternatively, you could use your phone's browser to link directly to your bank's Web site, instead of downloading an application" SBI's apps for some platforms are available in their respective App Store but some need to be downloaded from their website. Where critical information is involved, just trusting that the mobile platform's Store has vett

HOW TO install an older version of a Windows Azure Storage via NuGet

I learnt about how to install an older version of a Windows Azure Storage library using a NuGet Package from Troy Hunt's article on how he queried 154 million records in Windows Azure Table Storage to return a result in just 4 seconds & inserted 22500 records per second . You can install it using Version argument of the Install-Package PowerShell command within the Package Manager Console: Install-Package WindowsAzure.Storage -Version 2.1.0.4 Why would you have to use an older version? Updates to Windows Azure SDK for .NET happen at irregular intervals ( typically once every 1-5 months ). If there are breaking changes in a newer version that you pick, it can break your existing code. There are 2 more interesting Azure tidbits in the article: + If you need 100GB of storage and expect to hit it 10 million times, it’ll cost you $8 a month. If you try the same thing with Windows Azure SQL Database, it will cost you $176 a month - its 22 times more expensive. + Azure Ta

HOW TO write to and read from Windows Azure Tables via Azure Web Site

Image
Windows Azure Web Site can be used not just for hosting a website but there are a host of other things you can do like hosting a WCF Service , leveraging the other services that Azure provides. Though most online samples show how to access Azure Tables from Windows Azure Cloud Service,  Azure Table Storage can be accessed from an Azure Web Site  too. I found the article  How to write to and read from Windows Azure tables within Web Applications by BrunoTerkaly , very well-written. It is short ( unlike this one ), provides adequate context, covers a practical scenario and has plenty of screenshots. I adapted the steps in the article to access Windows Azure Tables from an Azure Web Site. If you want to try out the steps for an Azure Web Site, read that article & keep it open while you follow the steps below which are specific to Azure Web Site. You will need a Windows Azure account. Bruno's article uses VS 2013 while I've got VS 2012. There are hardly any differences wi

TWIL - Week #36

This Week I Learned: Azure + If you’re the Account Administrator for a Windows Azure subscription, you can set up email alerts when a subscription reaches a spending threshold you choose. Alerts are currently not available for subscriptions associated with a commitment plan. HTML5 +  Without having to resort to JavaScript, you can create a "zebra table" using the  :nth-child CSS pseudo class : table {width: 100%;} tr:nth-child(even) {     background: peachpuff; } Everything else +  Google's Safe Browsing Lookup API is an experimental API that enables applications to simply look up URLs from our Safe Browsing service and get the state of URLs (e.g. phishing, malware) directly. + If you thought the world doesn't know about your phone number & Twitter alias,  you may be mistaken . TrueCaller is a mobile app that will show you the name of a caller that's not already on your mobile contact list. Due to Truecaller's partnership with Twitter,

While you browse, modern browsers track your behavior

Browsers like Internet Explorer 11 & Chrome go to great lengths to fetch web pages faster & improve the user experience. Besides tracking user browser habits, IE 11 depends on Bing  to improve the user experience ... Page Prediction, preload (also called prerender), and prefetch in IE11 give the browser a head start in downloading and rendering the next page or downloading resources for the next page The predictions are done using our understanding of browsing patterns, user browsing habits, and common cues in Web pages, like “next” links and pagination. Bing’s extensive knowledge of the Web and data mining help make these predictions laser sharp. while Chrome relies on the Google search engine  to do such things as monitor what files you're trying to download: On the security front, Chrome now does even more to help protect you from malicious downloads. In addition to checking a list of known bad files, Chrome also does checks on executable files (like "

Quickest way to get comprehensive information about your PC

Whether you want to know how much RAM you have on a machine or if some software or service is present on a PC, the msinfo32 command gets it to you fast. The Windows key + Pause/Break key is good too but provides only basic info. To try  msinfo32 ,   go to Start > Run, type msinfo32, and then press Enter. That’ll give you in-depth info about the Hardware Resources, Components and Software Environment. Belarc Advisor is a free tool that can audit a PC & find all installed software and hardware, including Microsoft Hotfixes Related: Quick way to access Windows system apps

Top Social Messaging apps

Image
The popularity of social messaging apps varies according to country as this infographic from TechCrunch shows - However, here is the list of apps that are generally popular: Whatsapp Facebook Messenger Twitter Skype BBM Line WeChat Sina Weibo Related:  There is an app for that?

TWIL - Week #35

This Week I Learned: Azure Windows Azure runs web sites in a sandboxed environment that allows multiple sites to safely co-exist on the same machine. The GDI API doesn't work due to sandbox limitations . JavaScript It takes 278 KB of HTML and 820 KB of JavaScript to run Google Image Search .  The lighter mobile version, clocks in at 30K HTML and 337K JS – more than 10 times more script than markup! People Nelson Mandela is the second non-Indian to be honoured with the highest civilian award of India, Bharat Ratna (Jewel of India). Randall Munroe , the creator of the webcomic xkcd and author of the science blog What If left NASA in 2006 to draw comics for a living. Two of the internet's top ten websites have been created by Evan Williams 's companies: Blogger; weblog-authoring software of Pyra Labs; Twitter, where he was previously CEO; and Medium. Williams invented the term "blogger" and was instrumental in the popularization of the term "blo

Key behaviors of Google Managers

Some of the key behaviors of Google Managers that are rated by their team members (paraphrased from a HBR blog article ): delivers difficult feedback constructively gives actionable feedback that helps subordinate improve performance does not micromanage regularly shares relevant information from his/her manager and senior leadership helps reportee understand how his/her work impacts the organization has regular 1:1s has the technical expertise required to effectively manage reportee talks about all aspects of career development - not just promotions has a meaningful discussion with subordinate about his/her career development in the past six months. Following the rating , each manager gets detailed pointers on applying the semiannual feedback and developing essential skills -practical guidance that traditional 360s generally lack. Google which has more than 37,000 employees, has just 5,000 managers, 1,000 directors, and 100 vice presidents

NASA finds water in atmosphere of five distant planets. Big Deal!

Image
NASA finds water in atmosphere of five distant planets

HOW TO serve static content from a cookieless domain

Serving static content from a cookieless domain is a performance best practice.  Static content, such as images, JS and CSS files, don't need to be accompanied by cookies, as there is no user interaction with these resources. To reserve a cookieless domain for serving static content, register a new domain name and configure your DNS database with a CNAME record that points the new domain to your existing domain A record. Configure your web server to serve static resources from the new domain, and do not allow any cookies to be set anywhere on this domain. In your web pages, reference the domain name in the URLs for the static resources.  Though it may be better idea to host static content on totally separate domain name, you can use a sub-domain for static files if you are certain that you will never have a cookie set for *.domain.com .  You'll need to ensure applications like Google Analytics and WordPress (or any other third-party service providers) don't set cookie

Indian e-commerce sites that levy "convenience" fees or transaction charges on card payments

Image
Unlike popular shopping sites, there are some Indian e-commerce sites that levy "convenience" fees and/or transaction charges (when a credit or debit card is involved) without clearly specifying it upfront. It is especially mis-leading when online travel booking websites announce discounts but later charge a convenience fees that negates that benefit. Most Indians who have transacted on the LIC and IRCTC websites - two of the most user unfriendly sites of organizations with Government backing, with debit or credit cards may have got a taste of the additional fees.  Deepak Shenoy of Capital Mind makes a valid argument that LIC should absorb the cost of a card transaction as other forms of bill payment would cost them more money to process . Another blogger finds it " ironical that although electronic payments work out to be cheaper for banks than cash and cheque, they are inclined to charging merchants and customers for transaction charges on credit cards and debit car