Installing Jetty 9 on Linux systems

by Usman Ismail on 26 Jan 2014

Jetty is a light weight, flexible and feature rich Java server alternative to apache tomcat. Jetty 6 is available for install through apt-get on debian systems however Jetty 6 is getting a bit long in the tooth. Several key features such as native support for continuations, support for the SPDY protocol and servlet 3 are missing in Jetty 6. This article covers the installation of Jetty 9 on Linux. Install JDK Jetty is implemented in Java and Jetty 9 requires the 1.7 JDK. You can install the JDK using yum or apt-get depending on whether you are on a Redhat/CentOS... more

Setting up Rearview on EC2 with Amazon RDS

by Bilal Sheikh on 04 Dec 2013

My team at EA loves Graphite, and as a rule, all services we write must be instrumented to report metrics to Graphite. We rely on the excellent Codahale metrics library for all Java projects. Reporting metrics to Graphite is only the first step. To enable round-the-clock monitoring and incident detection, monitors are set up which are triggered when certain criteria are met. For example, when the 95th percetile response time exceeds a pre-defined threshold. For such incidents, an email is sent and an incident is created with PagerDuty. So far we have been using Seyren for alerting. The good thing... more

No more interfaces please

by Usman Ismail on 27 Nov 2013

Interfaces in Java can be very useful at times. When you have multiple implementations of a service and want to enforce a contract on all of those implementation by all means use an interface. However, a lot of Java programmers are abusing interfaces and inserting them where they have no business being. This article is my rant on some of the most heinous uses of interfaces. One of the best examples of this is interfaces used for unnecessary future-proofing. For example, a project I am currently working on is rife with FooInterface and DefaultFooImplementation. If you cannot come up with... more

Setting up a Web Service in GAE

by Usman Ismail on 21 Jul 2013

This is a tutorial for Java developers with some background in web technologies who want to learn how to bring up a web server in GAE. At the end of this tutorial you should not only have a functioning web service in GAE but also a base for building a maintainable GAE based service. To this end of building a maintainable system we will be using Maven as our underlying build system. If you are not familiar with maven, you owe it to yourself to get familiar with it as it will make your life much easier, and we will... more

How to build great downloadable content pipelines

by Usman Ismail on 16 May 2013

The gaming industry has entered a brave new world where the first launch is just the start. Games are now services that need to be maintained for years. During this time you will need to make frequent content updates to keep users engaged. This is where a good Downloadable Content (DLC) pipeline is invaluable and bad one can kill the best of games. I have built, worked on and worked with a number of such pipelines including ones for Pogo, World Series of Poker, The Simpsons Tapped Out. This article discusses the lessons learnt and best practices that have worked... more