Saturday, May 22, 2010

Eclipse Donation

Eclipse is the best IDE I have ever used. So I donated when they asked :).

Sunday, May 16, 2010

Daughter crawled behind the server

While I was sitting at my desk, my daughter crawled under the server and stood up behind it. She thought she was pretty cool because it got my attention. I didn't have my camera, so I used photobooth on my mac book pro.
Posted by Picasa

Saturday, May 8, 2010

Pushing Forward

Saturday, my development day. I set out to write more code and move the project forward at every possible chance I get. I keep finding it takes a huge amount of initiative and will power when I sit down during these sessions to write code. Today, my right arm, pointer and index finger muscles are burning from dragging on the mouse track pad all week. I am also suffering some kind of back injury from working out side a month ago and this is creating some tingling in the same arm and leg. Even though I suffer from aches, pains and tiredness, I strive to code on and try my best to move forward. Yet, second guessing and questioning occurs twice as much when the labor seems 10 times as hard and pushing though this is a challenge but not impossible. Small incremental task achievements are critical for me during theses stages to push through.

Today I did make progress despite all my pain in the arm and back. I'm making progress with GoneVertical integration into my core-engine. Someday I hope to look back and say, it was good to keep pushing on despite everything.

Wednesday, May 5, 2010

GWT + GAE + Gadget Timestamp Converter Application

I built a Google Web Toolkit application which can be quickly compiled for the Google App Engine and IGoogle. I made a source project then included it into a GAE and Gadget project so I didn't have to change compiling techniques depending on which I wanted to build it for. This actually ended up to be very easy to deploy the application this way.  - IGoogle Gadget - GAE Example  - Find the source in the DateTime Converter  - gadget examples

Made a new GWT Demo - DateTime converter

Last night I made a new GWT date timestamp converter.


This will convert an epoch javascript or unix time stamp.

Monday, May 3, 2010

Intel X-25e SSD For MySQL Database

I setup two servers a master and a slave with 3 Intel  X-25e SSD 64GB hard drives each in a Raid 0 configuration on Dell Poweredge Servers. I use them at Verizon for one of the sales metrics applications.

I use a Ubuntu, Apache Tomcat with MySQL and the Google Web Toolkit to serve up the app. With Java's concurrency I can multi-thread queries concurrently data stored on these drives very quickly. I can easily hit 3000+ concurrent SQL seeks load balanced which is around 6000+ seeks a second to both servers at the same time. The web server and 2 database servers are AMD 64bit 8 core, can't remember all the stats.

I think the only thing that I can bog down the server are range queries like SELECT UserId FROM employee WHERE UserId IN (SELECT UserId FROM employee_data WHERE value='b').  Changing the sql to a join query fixes this. Seeking an entire record set is no problem and even better is seeking a multi-milion indexed record set. Talk about a kick in the pants.

Another worthy note is how fast it takes to dump a database on these. A 10GB  takes around a minute, and maybe less than 30 minutes to load. Where as, on 15k rpms raid 5, I noticed it takes around an hour or more.

Moving files around on these bad boys is ridiculously fast.

These hard drives overall are impressive and I am not sure I have hit there limit yet to what they can do. There lot of fun to work with.
Posted by Picasa

DBCP Pool Broken Pipe

What may look like a broken pipe may actually be a SQL Statement failure. I have found in the cases where SQL statements are incorrect will cause a Broken Pipe to throw. It can cause anything trying to connect using the connection ont that pool to throw an exception too.

Add Log4J and watch your SQL Statements. First check file descriptors before you get carried away with this, although this is pretty easy to do. Add logging to your exceptions so you can easily identify your errors.

What to check:
1. check OS Max file descriptors, this is usually the case
2. if you raised the file descriptors, you may have a bad SQL statement causing the error. Seeing the stack trace isn't always clear to determine which sql statement threw the event.

Trying out the Dart Analysis Server

I wanted to see how the Dart Analysis Server was put together and worked. I started looking to see how I could wire it up and try out the co...