Posts

Showing posts from April, 2010

Book Review - CSharp for Sharp Kids

Image
Using real-world analogies, Martin Dreyer does a great job of explaining the introductory concepts of C# & OOP to absolute beginners in the free E-Book C# for Sharp Kids. The 2.9 MB MSI file , containing the E-Book in MS Word format & code samples, can be downloaded from the Kid's Corner of MSDN's Beginner Developer Learning Center . The code samples are expected to run with Visual C# 2005 Express Edition but you can get it to work on a newer version of the Express Edition as well. Although this text is targeted at young developers (aged between 12-16), it is equally good for folks of any age wanting to learn about programming with C#. Spread across 5 parts & about 165 pages, it is light-hearted & filled with meaningful cartoons. Here are a couple of samples - Once readers finish the book, they will be able to build simple Console & Windows applications. It will also whet their appetite to know more about C#. I highly recommend this book to those

Channel 9 "But Why?" Series

Image
Did you know the alternative names that were initially thought out for Windows were "Interface Manager" & "Microsoft Desktop"? What's in a name? A lot, in retrospect. If you are interested in oddities and little known answers to mysterious questions about Microsoft products, check out the Channel 9 "But Why?" Series from the folks who brought you "The History of Microsoft" 45

Image meta-search with SearchLite

Image
Back in 2002, I wrote a small JavaScript program that searches multiple sites at once . A friend of mine keeps searching on the Web for reusable images & photos for personal use. I adapted my old script for him so that he can search multiple sites at once. The script takes advantage of the fact that the term to search on can be appended as a querystring value to the search pages supplied by websites providing freely reusable images. Also see: Free Photos & Images 180

Internet Banking risks - Phishing, Vishing & now SIM-swap frauds

Image
ICICI Bank has been running a Customer Education Series in Indian newspapers & they are one of the few Indian banks that bother to educate the public about banking facts that are not generally known. The columns in the series are available on the Web only as PDFs (AFAIK) & they do not seem to be easily reachable. I've heard of Phishing & Vishing , but SIM-swap fraud was news to me. Excerpt from a today's column on SIM-swap fraud - Your mobile phone is now also a convenient banking channel; but it can make you vulnerable to SIM-swap fraudsters if you do not take some simple precautions. How do SIM-swap frauds occur? • The fraudster obtains your mobile phone number and bank account details through a phishing e-mail. • He asks your mobile-phone-service provider for a replacement SIM card under some pretext, like changeover to a new handset or loss of SIM/handset. • The service provider deactivates your SIM card and gives him a replacement SIM. • The fraudst

"Export to Excel" without using components in a WinForms app

Way back in 2004, I wrote a program to generate a Word file dynamically without using any components in a Web application . The technique I used makes use of the fact that documents can be converted from Word/Excel to HTML (File->Save As) and vice versa.  When you manually save an Office document as a Web page, you can see from its source that it renders some interesting HTML, CSS & Office XML. By understanding and emulating this conversion technique programmatically, we can generate Word or Excel documents through web pages. This snippet shows how you can generate a report in Excel format in a web application after fetching data from a data source using the Office XML technique - System.Data.DataTable workTable = new System.Data.DataTable(); //The tablename specified here will be set as the worksheet name of the generated Excel file. workTable.TableName = "Customers"; workTable.Columns.Add("Id"); workTable.Columns.Add("Name"); System.Data

Google Script Converter transliterates between Indian languages

Image
If you can speak & understand one of 11 Indian languages (Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Punjabi, Sanskrit, Tamil, Telugu and Urdu) but cannot read in that language, Google Script Converter can help you out by transliterating it into a language among them that you can read or to English. So let's say you are a Hindi speaker living in Hyderabad who can understand Telugu but cannot read local news in an online Telugu newspaper like Eenadu . To start reading Telugu in Hindi, English or whichever of the other  Indian languages supported by the tool, you have to copy a site's content & paste it within the text-area in Script Converter. Telugu text in Hindi (click on the image to see a larger one) This is a great tool for those trying to learn new Indian languages. To take this a step further, I wish there is a text to speech tool that can work well for Indian languages. I found that regular text to speech tools can speak out English words properly b

"Open With Google Docs Viewer" IE8 Accelerator

Image
Accelerators in IE8 work on text within a web page & let you access popular web services from the context menu. For instance, to translate a word you can highlight text from any webpage, and then click on the blue Accelerator icon that appears above your selection & choose the Translate with Live Search Accelerator. I recently built a "Open With Google Docs Viewer" IE8 Accelerator that lets you view a PDF, Powerpoint or TIFF document on the Web without downloading it to your local computer. Once installed (click on the button on this page), you can use this Accelerator to view any files of those formats within the browser with Google Docs Viewer. It is also helpful when you don't have the supporting application to open the file with. Once the file is opened within Google Docs Viewer, you can choose to download or print or edit it online in case it is a .PDF or .PPT file. It's easy to build Accelerators and you can find plenty of independently developed I

Screen scrape with jQuery, AJAX, JSONP & YQL

Image
Since reading this excellent article about scraping content from a Wikipedia page using Yahoo! Query Language (YQL) as a proxy for cross-domain Ajax , I'm hooked to YQL . YQL helps in circumventing the same-origin policy that prevents a script loaded from one domain from getting or manipulating properties of a document from another domain.  YQL has been around for about 2 years now & last year Yahoo introduced the capability to execute the tables of data built through YQL using JavaScript. Ajax, jQuery, JSONP (JSON with Padding) & YQL make a heady combination - check Christian Heilmann's code samples . Some facts about YQL from around the Web (work in progress) - * YQL is a hosted web service that can scrape HTML for you. It also runs the HTML through HTML Tidy and caches it for you. * It only returns the body content of the HTML - so no styling (other than inline styles) will get through. * .. .it treats the info on the web as a virtual table that developers c

Deleting cookies doesn't clear Hotmail's "Remember me" in IE8

Image
An anxious Hotmail/Passport user was bothered that in IE 8 his Accounts showed up even after deleting cookies. He posted this concern on the MSDN IE Web Development Forum . I verified this in IE 8 (on Windows XP SP2 & Vista) by clicking the Delete button in the Browsing History section in the General Tab of Internet Options. I believed this "Remember me" feature depended on cookies & should go away on deleting cookies. I even closed the browser & re-opened the browser after 10 minutes to see the user name still there. On deleting cookies in Chrome though, the user name does go away. I found that in the Hotmail/Windows Live Sign In page, only on clicking the X mark that you get on hovering near the user name (which represents "Don't remember this Windows Live Id") can you make the credentials go away. I checked with my Indian MVP colleagues what the reason could be for this intriguing behavior in IE 8. I got to know from Windows Client MVP Rames

View Selection Source in IE

Image
One of the features I like in Firefox as a developer is the "View Selection Source" option that you can choose  from the context menu to view dynamically rendered source of a desired portion of the web page. This feature helps you focus on a specific portion of a web page that you want to investigate instead of getting the entire HTML source. IE 8's Developer Tools lets you view the HTML source for selected content as well but using it is cumbersome. After invoking Developer Tools (Tools > Developer Tools or F12 key) with the HTML tab open, you have to select an element in the DOM Explorer & then choose View > Source > Element Source with Style. That's about 5 steps compared to just a single step in Firefox. Patrick Clancey has shared a bookmarklet that will let you view the HTML source of a selected portion of a web page within an alert window, in just a single step. Follow these steps to install the bookmarklet in IE 8: Scroll down to the bottom o

HOW TO get files cached by Safari & Firefox

Image
Unlike in IE 8 where you can view temporary files easily (Tools > Internet Options | General | Browsing History | Settings | View files), fetching temporary files that are cached is not straight-forward in Safari on Windows & Firefox. I learnt from this WebmasterWorld forum posting that on Windows XP, the file-path for the Safari cache is something like this: C:\Document and Settings\[username]\Local Settings\Application Data\Apple Computer\Safari The cache file is named Cache.db - it's a .db file in the SQLite format. In Windows Vista, the path of the Cache.db is C:\Users\ \AppData\Local\Apple Computer\Safari (assuming you have installed the OS on the C Drive) As explained in that thread, files like images are stored in Blob format within Cache.db file. These can be viewed with a tool like SQLite Maestro which includes a BLOB Viewer. To retrieve files from the cache in Firefox type about:cache in the Firefox address bar. In the page that opens up, click on t

Sharepoint Case Studies

A good way to understand how to leverage Sharepoint is by reading about interesting solutions, scenarios & successful case studies. Here's a meta-list (work in progress): Top 17 case studies from the MS Customer Evidence team Microsoft Case Studies Public Web Sites hosted on Microsoft Office SharePoint Server 2007 Also see: Free Sharepoint 2007 goodies on Microsoft e-Learning

Read this if you are installing VS 2010 Web Developer Express on Windows XP

Image
Be aware that the installation of Visual Web Developer 2010 Express on Windows XP will work only if it has SP3. I guess this holds true for other Express products as well. I didn't find an explicit page describing the minimum system requirements and I learnt about this by trial & error or rather after reading this thread on the IIS.NET Forums after encountering the error. The post also provides a link to an ISO image of Windows SP3 (544.9 MB) in case you need it. You can use an open source tool like 7-Zip (that also does compression) to extract files from the ISO file. The setup for Visual Web Developer 2010 Express requires Web Platform Installer (WebPI) to be installed. In my case, after I executed the Installer, I expected it to drive me through the steps but it suddenly fell quiet. I had to go to Windows Start > Programs to see Web Platform Installer there, activate it & proceed further. If you run into any other issues with the Web Platform Installer,  the W

Free Photos & Images

Image
Images & illustrations make content lively & sticky. Commercial websites can affoard to pay for slick images but thankfully for the rest of us, there are a good many sites that offer free photos & images. I spotted a list of over a dozen such sites with liberal licensing policies on the morgueFile website (at the bottom of the home page) . morgueFile allows usage without attribution. Smashing Magazine also has a nice compilation of free stock photography sites. Here are a few more obvious & popular ones that both the lists missed (sites are linked to their pages on licensing terms): Wikimedia Commons Flickr Flickr "The Commons" Photo from Nationaal Archief's collection on Flickr "The Commons"

TechEd India 2010 starts with a Bang

Image
The 3-day TechEd India event started in Bangalore with a keynote by Somasegar, Senior Vice President, Developer Division, Microsoft. He announced the availability of the much awaited Visual Studio 2010 & and .NET Framework 4. (Photo by @msigeek ) If you are missing the event (like me), catch the action on the slick TechEd India website . While you are at that site, there's a neat Silverlight-based Win-a-Min Quiz contest that you should try out. The contest is going to run between 9:30AM to 7:00PM during the event days & its open to everyone in India. They are giving away movie tickets every couple of minutes during that time. Many Indian MVPs are tweeting about the event & you can tune in to that as well for live updates. Also see: Developer Contests

My favorite jQuery plugins

Image
jQuery, John Resig 's brain-child, has an irresistible charm that attracts legions of followers. Many of these followers selflessly share plugins they create for free. So if you have seen a clever, dazzling, intriguing, laborsaving, mind-blowing, {add your favorite adjectives} client-side feature on some site, the odds are high that there is already a jQuery plugin for it. For long I have smirked at folks who post their compilation of favorite jQuery plugins with attention grabbing titles like  "37 More Shocking jQuery Plugins", "37 Phenomenal jQuery Plugins..", "75+ Top jQuery Plugins.." but now I know how hard it is know to about some amazing plugin & keep it to yourself. I wouldn't want to forget the beautiful ones that I've benefited from, so here goes my list of favorites (work in progress) - JCrop - to crop images programmatically SearchHighlight - Highlights matched words on a search results page jQuery-gestures - adds mouse

Comparison of free Web Analytics tools

Image
click to enlarge image There are a bunch of free Web Analytics tools - Google Analytics  StatCounter  Piwik  Woopra  Clicky SiteMeter Each of them has something unique. The Clicky website compares all the above across some 40 odd parameters.  (updated broken link on 1/Oct/2013) Except for Google Analytics & Piwik, the rest have limitations on features with their free editions. They restrict the data retention size & period. Piwik is a downloadable, open source (GPL licensed) real time web analytics software program that uses PHP & MySQL. It needs to be installed on your server, so you own your data. The number of hits captured by each of the tools for the same site could vary. This could be because some tools like Google Analytics use JavaScript & a user may disable it in their browser. Some of these may not count bots and some register hits based on user's visit length. Also see: HOW TO generate a Heat Map with Google Chart API

Book Review: Head First PMP

I purchased Head First PMP after a PM friend recommended me that book as a good starter guide to prepare for the PMP certification. As he mentioned & others have vouched, no one book including this one can help you pass the exam. What this book does is that it makes learning Project Management concepts enjoyable. This was my first book in the Head First series. I liked the book's unusual, non-linear style (with things like notes in the margins) of presentation although the excessive use of goofy pictures put me off a bit. The tone throughout is very informal, friendly & conversational which makes the guide engaging. The 42 processes which form the core of the PMBOK (Project Management Body of Knowledge) Guide, 4th Edition and cross-cut 9 Knowledge Areas & 6 Process Groups are explained well. Processes grouped by Knowledge Area make up a chapter. Besides the 9 chapters focusing on the Knowledge Areas, there are 6 more which cover the preliminaries & practice tes

Tried these Hotmail, GMail features?

Image
Email service providers have now gone way beyond just fetching & sending emails. Did you know, Hotmail has a SMS alerts feature that notifies you whenever an important e-mail (you can define what's important) arrives in your Hotmail inbox? (Ofcourse, if you are always connected to the Internet from your mobile, this may not sound like a novelty) I was impressed with GMail's Auto-unsubscribe feature after noticing it today. Let's say you spotted in your GMail inbox, a newsletter that you are no longer interested in or a message from a list group that you don't remember subscribing to. When you mark such a message as spam by clicking on the "Report Spam" button, you may see a dialog box that asks if you want to report spam as well as Unsubscribe from that list. Once you click on it, GMail will send a request to the sender on your behalf that your email address be removed from the list. The Unsubscribe option is not available though for all mailing lis