Archive for the ‘Development’ Category

Java Denial Of Service Attack

Wednesday, March 30th, 2011

Just read a post in the Portland Java User Group mailing list about a Denial Of Service (DOS) attack that is pretty scary.  You don’t need a swarm of computers to bring down a server.  Just pass in a certain value and the system will enter an infinite loop and come to a grinding halt.  It appears update 24 has a fix.  If you haven’t run update 24 try executing the following code on your system and watch your CPU spike.

class InfiniteLoop {
public static void main(String[] args){
 double d=Double.parseDouble("2.2250738585072012e-308");

It always makes me wonder how someone found this bug.  Thank goodness for open source.  For more details see the Common Vulnerabilities and Exposures website.

Think Quarterly – Google Quartely Publication Launched

Tuesday, March 29th, 2011

Google has quietly launched a new quarterly publication online called Think Quarterly.  Be sure to look at the PDF version and how the Table Of Contents is designed.  It uses tags and lines to link articles with related topics.  As Google states it allows you to not only read but explore the magazine.

Here’s Google’s statement about the publication:

“Like most companies, Google regularly communicates with our business customers via email newsletters, updates on our official blogs, and printed materials.

On this occasion, we’ve sent a short book about data, called Think Quarterly, to a small number of our UK partners and advertisers. You’re now on the companion website, (also available at, if you’re on the move).

We’re flattered by the positive reaction but have no plans to start selling copies! Although Think Quarterly remains firmly aimed at Google’s partners and advertisers, if you’re interested in the subject of data then please feel free to read on…”

The Git Parable – Thanks Tom Preston-Werner

Thursday, March 10th, 2011

The Git Parable a great article to read if you’re trying to understand Git.  I am working on a Social Mashup/Aggregator project that is going to use a framework called Newd by the CP+B Group.  The project was stored in github.  I needed a quick intro to Git so I could checkout the code and get started.  I found many articles on the basic Git commands but they all left me wondering how Git is different from SVN and how it really works.  I found The Git Parable to be the most helpful in explaining how Git works underneath.  It also helped me understand how GIT differs from subversion and how powerful it is.  If your new to Git or just want a greater understanding of how Git works The Git Parable is a must read.

Typical Agile Process

Friday, January 28th, 2011

The below is a list of what a typical Agile process entails.  It was taken from an article about Kanban development at  It’s a good reference and summary for anyone who just wants a basic outline of the Agile Software Development Methodology process.

  1. Project needs or requirements are expressed in user stories placed in a backlog, and ideally written by Product owners (in Scrum), or customers (in XP) in collaboration with the development team. (Sometimes they magically appear.)
  2. Developers give high-level estimates saying how long user stories will take to complete.
  3. Product owners arrange user stories into incremental releases that take typically 6 weeks to 6 months.
  4. Product owners choose the next stories, highest value first, for each development time-box. The stories chosen need to “fit” into the time-box based on how quickly the team can produce software.
  5. At the end of each development time-box the team should have incrementally built some of the product. The team (proudly) demonstrates the finished product to product owners and other stakeholders.
  6. The team adds up the development estimates for the user stories completed during the time-box. This is the velocity (from XP) that’ll be used to estimate the amount that can be completed in the next time-box.
  7. The team holds a retrospective to evaluate how well they’ve done and what changes could be made to the process to allow things to go better, then the next time-boxed development cycle is planned.
  8. Time-boxed development continues through to release — which is a short way of saying “rinse and repeat.”