Sending emails from your application using Amazon Simple Email Service`
By Vaibhav Gadodia (11) on May 9th, 2011

Amazon Web ServicesAt Nagarro, we are big fans of Amazon (even with all it’s fallibilities), and when Amazon launched SES, we couldn’t be happier. SES stands for Simple Email Service. It is a scalable and reliable mechanism for sending mass email at very low prices. We often have the need to send email through applications that we develop (for notifications mainly), and we normally end up using a client supplied email ID which may be running through their mail server, or is provided by their email service provider. However, this has its own set of limitations – reliability is one, and cost is another (with higher reliability options costing a whole lot more).

So, with Amazon’s launching of SES, we now have another option that we can suggest to our customers whose needs include sending large number of emails from their application in a scalable and reliable manner. Here are couple of highlights about the service:

  • Pricing: $0.10 per 1000 email messages sent. Data transfer rates are $0.10 per GB incoming, and $0.15 and lower per GB for outgoing.
  • Email sending statistics are automatically collected (how many bounces, complaints, rejects, etc.)

First time users get 2000 mails per month free along with some free data transfer per month. This makes it perfect for a service that you can try out up front, and as your needs grow, you pay as per your usage. We couldn’t wait to try it out, so we incorporated it in an internal application. Below is the basic code that we used to send emails using Amazon SES from our .Net application.

Continued »

A little bit about the .Net Micro Framework
By Vaibhav Gadodia (11) on April 28th, 2011

image Traditionally, software development for devices that are constrained on resources has been limited to using C/C++ languages which allow for generation of highly optimized code for the device. Higher level languages and frameworks such as C#/.Net provide a lot of productivity gains that have not been translated to an embedded systems programming environment. However, in recent times a number of frameworks have been developed which let you program these devices using Java or .Net.

Continued »

Nagarro Empowers HKMP Technologies to Secure Strategic Sales Win
By Vishal Gauri (15) on June 23rd, 2010

At Nagarro we pride ourselves on taking a personal interest not just in the success of each project, but also in the success of each customer. So when one of our custom software products directly benefits a customer’s bottom line, that’s about as good as it gets for us. As you can see from Nagarro’s press release today- Nagarro Empowers HKMP Technologies to Secure Strategic Sales Win, today is a good day here at Nagarro. Continued »

Case study: load balancing high transaction volume databases
By Girish Chhabra (1) on June 2nd, 2010

Recently, while working on a SQL server optimization project, we had the opportunity to look into one interesting problem. We had a huge database (to the tune of 800GB) which was being hammered with approximately 30000 transactions per second. Database load was expected to grow by a factor of 100 in coming days and the idea was to devise a solution which could handle that load. This was a SQL server 2005 enterprise edition database hosted on an 8 processor fifth Generation server. We wouldn’t say this server was on its knees with this load but yes there were wait times longer than expected and to add to that there were times when data traffic suddenly went up significantly and in those times DB was not able to keep up.

Continued »

.NET Reflection: The untouchable? No, not at all.
By Vikas Burman (1) on October 18th, 2009

I am a big fan of .NET reflection. However most often you will hear more of critics than praise. The biggest of all “It’s slow.” Web is full of cautions and warnings telling you not to use it. Some will go as far as saying that if you care for performance, do not even think about using reflection. If you go on and read beyond the highlight points, you will realize that a large percentage of these warnings and cautions are discussing a particular scenario where some developer failed to get what s/he was trying to achieve. And while being judgmental with the experiment a generalized statement like this comes up as an end result. Continued »

A better way to test email sending functionality is to use your own SMTP Server
By Vaibhav Gadodia (11) on June 28th, 2009

A large number of applications today have some kind of a notification mechanism built-in. More often than not, an email is used to send these notifications. Typically, while developing these applications, developers use their own inbox to send notifications to. Or they setup some dummy account to send test emails to; or sometimes they might send test mails to real users (it’s been known to happen). Continued »

The Ado.Net Entity Framework v2, are we there yet?
By Vaibhav Gadodia (11) on June 8th, 2009

At Nagarro, we are always looking to stay tuned into upcoming technology (of all types – gadgets to frameworks); and the current flavor is of course Visual Studio 2010 and .Net Framework 4. We have been trying out the beta and the earlier preview versions of VS2010, however, that is not the topic of this post.

Recently, we had the opportunity to give our opinion on the latest avatar of the Ado.Net Entity Framework to Jeffrey Schwartz from Application Development Trends magazine. Jeff was kind enough to publish our opinions in an article on the Visual Studio Magazine (thank you Jeff). The article is titled “Will Entity Framework 2 appease early adopters of LINQ to SQL?“. We, as can be deduced, were early adopters of LINQ (to SQL and others).

If you would like to see that question answered, I urge you to go and read that article. In this article, I wanted to discuss a little bit more about how we look at Entity Framework v2.

Continued »

Use the features of the .Net framework to implement good coding patterns
By Ramesh Soni (1) on April 29th, 2009

In our haste to finish the coding of a given application, we often overlook great little techniques which can be deployed to ensure best practices in code. And since one of the best ways to learn is by example, we will walk through a very common block of code that is found in almost all Windows based applications – the block which shows and hides a wait cursor when a time consuming task is being executed by the application. Continued »

Application programming in the era of multicore processors
By Abhijat Vatsyayan (6) on April 15th, 2009

Computer chip manufacturers cannot keep on increasing the clock speed indefinitely to make their processors faster. They seem to have already reached the limit (on clock speed) and have started putting multiple Continued »

A readymade caching solution for scalable .Net applications
By Vikas Gandhi (3) on April 15th, 2009

One of the challenges of scaling out applications through server farms is the need to share memory artifacts (session and cache). There are of course many techniques which can be employed. As always, looking around the Internet Continued »

Log your exceptions to the cloud
By Vaibhav Gadodia (11) on March 19th, 2009

Exception Logging is always an interesting problem to solve. Depending on your needs you may have a simple log statement which writes to a text file, or you may need to have a full-fledged exception management module which Continued »