We are a GIS platform-as-a-service company, connecting people, their location, their need at a particular time. We believe in developing rock solid, highly performing, scalable and stable platform for our customers.

Menu

Java Web Applications

use a deployment descriptor file to determine how URLs map to servletsweb.xml is the file is the deployment descriptorsome URL’s require authenticationresides in the WEB-INF folderdescribes the classes, resources and configuration of the applicationmaps the URL of the request to the code that handles the request

JSP

JSP’s are servlets also :). That define static content mixed with Java code.

Filters

A filter is a class that acts on a request like a servlet, but may allow the handling of the request to continue with other filters or servlets. A filter may perform an auxiliary task such as logging, performing specialized authentication checks, or annotating the request or response objects before calling the servlet.

Error Handlers

Sensu Setup

After a lot of research, we have realized that a good alternative to Nagios is Sensu. We did evaluate shinken, but the documentation sucks big time. Hence Sensu is a good alternative. Started off by watching some training videos on https://www.udemy.com/sensu-introduction

Once the training is thru the concepts are clear. Without the introduction the remainder of the session cannot be understood.

In my setup, I have 4 servers.

Proxy – This is my http proxy

This server will run the sensu-server, sensu-api, redis, dashboard and rabbitmq-server.

This server will test reachability to the RDS, Elastic Cache and the other servers in my setup (#2, #3 and #4)

Web Administration – This is my server that hosts the administration for my customer.

This server will serve as a sensu-client.

Web Services – This is my server that hosts the webservices for my Web Administration and Mobile applications.

This too will serve as the sensu-client.

RDS and Elastic Cache Services – This is the standard AWS services.

The Proxy server will test the reachability of RDS and Elastic Cache from time to time.

I’ll one more external server to check the reachability of the proxy from the network. Perhaps another AWS EC2 on a different setup.

Note, we also found that sensu-client takes up about 100Mb memory
to operate. And sensu-server and sensu-api takes up about 300Mb
to operate. So if you have a aws micro with apache, mysql, redis,
running Sensu full stack is a bad idea.

Now, to install sensu-client on the servers, run the following commands

So the first thing you do when you get CUDA ready is try your hands out on the sample code and NSight (the eclipse of CUDA). This goes smoothly, but as soon as you start writing cpp code for developing libraries, you can hit all kinds of issues. This post has fixes for those crazy issues that has no help on even StackOverflow.

Syntax Error : For some reason I got a “Syntax Error” on the constructor and destructor lines of my CPP code. To fix this, rename your .cpp as .cu. And rename your .h as .cuh.

My enums PROCESSOR_CONFIG, would not resolve at Timer::PROCESSOR_CONFIG::DEVICE. I had a similar issue to this. To fix this I had to compile using a C11 directive. I used this, to fix it. Refer to my answer (Siddharth).

Finally I had to add a main (I need to get rid of this expectation soon).

Interesting and challenging as I would define it. So get ready for a ride. If you are a applications developer, switch off now. This is a system programmer post, and someone who enjoys toying with the command prompt :).

To get started with CUDA, first thing you need is a 64bit OS. Without that CUDA wont work.

Once you have a 64 bit OS, goto developer.nvidia.com, and follow the instructions. DONT download the run file, download the dpkg file for the installation. The run file is stupid and useless. Takes for ever to run and gets no results. You may also end up screwing up your OS.