Say goodbye to Google Translate, Transliterate & ten other APIs

Say goodbye to Google Translate, Transliterate & ten other APIs

About a fortnight ago, Google highlighted on its official blog how "two clever Translate trends caught our eye—perhaps one of them will inspire you to come up with a fun Translate trick of your own.". Folks around the world were making fun remixes

First, some creative folks translated strings of consonants into German to create a new beatboxing tool. The phrase “pv zk bschk” didn’t initially make much sense to us, but a quick listen got us nodding our heads along to the beat.
Now it seems there’s a similar trend in Taiwan: using the spoken output of Google Translate as the vocals for self-composed songs or video spoofs.

A few days ago there was an announcement on the Google Code blog that the Google Translate, Transliterate & ten other APIs will be deprecated. The Google Translate API will be shut off completely on December 1, 2011 and the reason is "substantial economic burden caused by extensive abuse".  So what constitutes "fun Translate tricks" and abuse? Why not just debar developers abusing the API?

An aggrieved developer ranted thus in the comments section of that announcement -
you are supposed to be the smartest guys on the planet and the only solution you can come up is to shut it down? thats a joke, but the joke is on us, the developers.
with this move you just showed us what you really: a company that does not care about developers, you just want to become more like facebook and apple. oh what a great world we live in. more walled gardens. 


Also see - HOW TO monitor performance and availability status of public APIs & websites

Read More
Tatkal Train Ticket Reservation Tips

Tatkal Train Ticket Reservation Tips


Tatkal train ticket reservation is a ray of hope for millions of Indians who prefer to commute by trains over other forms of travel even if they have to pay extra because the original reserved ticket quota has run out. The IRCTC website is possibly the best known site in India as it helps travellers avoid the long queues at the train reservation centers. It is also probably the most hated site as getting the more premium Tatkal ticket is a harrowing experience.

Some of these tips to book a Tatkal train ticket online maybe too obvious for experienced folks so don't write to tell me. If you like them, tell your friends. None of these tips guarantee confirmed availability as they are numerous factors involved that matter (like season, day of the week, route etc), these may just improve your chances. Here are the tips that I usually offer to my relatives who are not Internet power-users -

  • Many cities have multiple stations and IRCTC will get you results for all stations for that city. If the original station codes don't match, you will have to subsequently fill another form to specify the exact FROM & TO stations which is a waste of precious seconds during the first half-hour of Tatkal booking.
  • Keep alternative station codes ready. Don't wait for the autocompletion feature to fill-in the FROM & TO fields. 
  • There MAY be a greater probability of getting Tatkal tickets on long distance trains as they will cost more than those which run between major cities and they are less known as they don't run on all days of the week. 
  • Keep long words like your name and bank details saved in Notepad/text editor so that you can quickly copy-paste. Youngsters are generally quick with the keyboard (due to the long hours they spend on the computer) so you could get a power user to assist you in case typing isn't your strongest skill. It may help to have multiple people around while booking in order to take quick decisions & also to sanity check the data that is being entered. For instance, mis-typing the gender in the hurry could lead you to do some explaining to the TTE or a visit to the reservation office to get it corrected.
  • Use a modern browser (not IE6 or older versions of other popular browsers) as they load pages relatively faster.
  • Your IRCTC "session" may time out if you leave the site unused for a long time. If you anticipate the reservation exercise to take a lot of time, use Opera browser's native auto-refresh feature or use this bookmarklet in IE, Firefox, Safari & Chrome to automatically refresh a webpage at specified intervals.
  • Get the fastest Internet service possible (3G USB) & browse from a decent laptop. That way you can avoid any disruption due to an unfortunate powercut or a landline Internet service issue. If you perform a dry-run before the actual exercise, some elements of the IRCTC site like images maybe cached and may improve speed slightly.
  • Rather than take a single direct train, you can use 90di.com to look for multiple trains in the same route. You have to compromise on comfort & cost but at least you may be able to get confirmed tickets.
  • Every second counts, so keep yourself distraction free & busy till you have finished all options.
  • Each user is currently permitted to book only 10 tickets in a month. So if you book a lot of tickets, make sure you are not crossing the monthly limit before you start the Tatkal ticket booking adventure. In such a case, you can be prepared with credentials of another userid.
A scenario that I foresee for the future in case IRCTC doesn't tackle the "Service Unavailable" issue (which typically comes up between 8-8:20 AM) is that desperate train ticket seekers will stand in queues with their smartphones at ticket reservation counters to try their luck both online & offline.

If you end up without confirmed Tatkal tickets at the end of the fateful first hour of booking, take consolation in the fact that you are one among thousands that had the same luck. Instead of despairing, consider this as a learning experience & a practice session for a future encounter with IRCTC.

If you have any practical tips, feel free to share them through the comments section below.

Also see:
IRCTC Alternatives
Make the most of IRCTC
Travel Planning & Reservation Tips using Online Tools
Indian Railways RAC and Waitlists concepts explained
Read More

Notes from Pluralsight course "Introduction to Visual Studio 2010 - Part 2"


Introduction to Visual Studio 2010 - Part 2  importantly covers IntelliTrace & Extensions. Some interesting facts about VS from the video course -
  • You can debug a release build. Release folder can contain .pdb. PDB – Program Debug Database
  • Deploy Release version of build. Depending on the third party libraries you are using, their licensing terms  may not allow you to deploy the Debug version.
  • Build > Clean Solution throws away all the products of a prior Build. This will mean that the next build will be full build.
  • Rather than doing a Clean Solution & then Build Solution, you can directly do a Rebuild Solution
  • Look at Locals window after a breakpoint is hit for variable values. Use Watch window for specific variables
  • DataTip dimensions can be modified  
  • Ctrl + Datatip – for a transparent background, useful when you want to see code behind a datatip
  • Pin a DataTip to see variable value change dynamically inside it.It can be dragged, unpinned or closed.
  • Trivia: Codename of IntelliTrace was Historical Debugging
  • IntelliTrace is available in VS Ultimate only  
  • Saves a trace file of execution path & values of member variables
  • By default has very little performance impact
  • IntelliTrace can provide time travel & space travel (you can test a iTrace file on computers other than originating one to analyze "works on my machine" scenarios)
  • When you close VS, itrace files are gone so save it elsewhere. You can get the iTrace file's location from Tools > Options | IntelliTrace > Advanced 
  • You can open a itrace file within VS. Double click main thread in thread window to replicate scenario & start debugging on a different computer.
  • Using traces from other machines lets you share bugs with other developers or avoid "works on my machine"
  • Visual Studio Extensions can boost productivity. There are over 2400 extensions for different versions of VS on VisualStudioGallery.com
  • Use Tools > Extension Manager to enable/disable/uninstall update
  • Productivity Power Tools by Microsoft is a bundle of popular extensions that includes features that go on to become standard features in future VS versions. Some features in Pro Power Tools include -
- Highlight current line
- Auto brace completion
- Ctrl-Click Go To Definition
- Column guides (to check length of each code statement does not go beyond a specific column number)
- Quick Access (Windows Vista/7 like universal Find)

Read More

MVP Open Day 2011 was an insightful experience #opendayin

Like last year, MVPs from all over India & a few from Sri Lanka & Australia converged in Hyderabad for the MVP Open Day event. I had a great time meeting & talking with some extremely smart & passionate MVPs & listening to presentations from visionaries & Product Team leaders at MS IDC.
(click to view enlarged image)





Read More
Free SQL Server Goodies

Free SQL Server Goodies


Michael K. Campbell has shared some useful SQL Server goodies that are available online, in his article in DevProConnections. I picked the ones I liked -

* Scripts - TechNet's Script Repository has a vast repository of scripts provided by Microsoft and by its users/customers that you can adapt for your own requirements.

* Books - Red Gate Software which sells some great developer tools also publishes books. Some of them are available for free download in PDF format -
  • SQL Server Stumpers Vol.5 

  • Inside the SQL Server Query Optimizer 

  • SQL Server Execution Plans 

  • Mastering SQL Server Profiler

  • SQL Server Statistics 

  • The Red Gate Guide to SQL Server Team-based Development 

  • Defensive Database Programming

  • Confessions of an IT Manager

  • SQL Server Tacklebox 

  • How to Become an Exceptional DBA

  • The Art of XSD 

  • SQL Server Hardware

  • The SysAdmin Handbook - The Best of Simple Talk 

  • Brad's Sure Guide to SQL Server Maintenance Plans 

  • Exchange 2010 - A Practical Approach 

  • Don't Just Roll the Dice

  • Protecting SQL Server Data

  • Book of Red Gate (about Red Gate, not SQL Server) 

* Videos
Related:
Free SQL Server Videos
HOW TO try Windows Azure & SQL Azure for free (without any credit card)
Read More
Notes from Pluralsight SQL Azure course

Notes from Pluralsight SQL Azure course


Here is a summary of the 2h 38min duration Pluralsight SQL Azure course  -

* Advantages of SQL Azure -

  • Highly available
  • Manageable
  • Scalable
  • Familiar – similar to SQL Server 2005 & 2008, but differences/limitations exist
  • Maintained by MS IT

* Some differences from standard SQL Server  -

  • Data migration – SSIS, BCP, Scripts, SQL Azure Migration Wizard, System.Data.SqlClient.SqlBulkCopy; Restore not supported
  • Transactions – possible in same DB instance only
  • Collation applies only to Column & Expression level; Server, Database excluded
  • Tables must have clustered index
  • Supports most but not all of TSQL 

* Candidate apps that can leverage SQL Azure -

  • Require relational data model. Consider Windows Azure Table for other needs
  • Easily partitioned data sets, 5 – 50 GB database
  • All queries use one database. (Most Enterprise apps may need to access multiple DBs)
  • Require high availability

* Besides Memory, Time, Disk costs, Devs must also understand SQL Azure pricing
* SQL Azure pricing based on usage units: Web (upto 149 databases of 1—5GB each possible) or Business (upto 15 databases of 10—50GB each possible)
* No cost for data transfer if SQL & Azure are on the same availability zone
* Bill accessible through Windows Azure Portal
* SQL Azure usage scenarios -

  • Cloud Hub Data Collaboration
  • Scale-out Enterprise Applications
  • Departmental Applications
  • SaaS
  • BI

* MS Tools to access SQL Azure – SSMS, Visual Studio, SQL Azure Portal
* Understand Connection termination failure codes to manage recovery -

  • System is busy, reconnect after 10s: 40501
  • Database hit maximum size: 40544
  • Transaction Termination: 40549
  • Lock Consumption: 40550
  • TempDB uses 5GB: 40551
  • Log File issues:  40552
  • Excessive Memory Usage: 40553

* Ideal candidates for migration to SQL Azure –

  • Tables with indices
  • Transations stay in a single db
  • DB under 50GB

* Tasks in migration -

  • Migrate users & login IDs
  • Map data types
  • Map db objects: tables, triggers, views, SPs
  • Update incompatible objects to work with SQL Azure
  • Update apps to work with SQL Azure
  • Migrate data to SQL Azure

* It is possible to expose SQL Azure database over OData especially to non-SQL consumers
* OData makes your data consumable everywhere
* OData is a web protocol for querying & updating data
* OData builds on HTTP, Atom Publishing Protocol, JSON
* Feeds may supply more than one collection
* SQL Azure can feed needs of data analysis (through Excel, SSRS etc)

Also see:
Read More