At 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 »
Category: Cloud Computing, Code Snippets | No Comments »
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 »
Category: .Net, Framework | No Comments »
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 »
Category: .Net, General, News | No Comments »
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 »
Category: .Net | 5 Comments »
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 »
Category: .Net, Concepts, Programming | 2 Comments »
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 »
Category: Testing, Tools and Utilities | 2 Comments »
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 »
Category: .Net | No Comments »
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 »
Category: .Net, Code Snippets | No Comments »
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 »
Category: .Net, Java, Programming, Tools and Utilities | No Comments »
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 »
Category: .Net, Tools and Utilities | 2 Comments »
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 »
Category: .Net, Framework | 3 Comments »