Zorched / One Line Fix

Musings of a software developer in Milwaukee, WI.
index

Groovy Programming Language

Welcome to the disco era...wait, wrong Groovy. Groovy the programming language is dynamic programming language that runs on the Java Virtual Machine. At a first glance it looks a lot like Ruby, but it's built from the ground up to leverage the JVM. This offers a lot of power as ...

Welcome Java 6

With great fanfare, Java 6 was released to the world. Ok, that was a joke. Sun has the ability to make a major release without any fanfare or hullabaloo. Even Spring had a countdown to their 2.0 release. Oh well. Java 5 was the really big release and added a lot ...

Hibernate Query Translators

I've recently been doing some performance testing and tuning on an application. It makes use of Hibernate for the data access and ORM and Spring to configure and wire together everything. As I was looking at all of the configuration and came upon the fact that we were using the ...

jMock For Mocking Unit Tests

Ok, so I might not exactly be on the cutting edge with this post, but I just started playing with jMock, a framework for creating Mock objects. Mock objects are used to isolate various layers of an application by providing a fake implementation that will mimic the behavior of the real ...

Hibernate HQL And Performance

The Hibernate ORM tool give you the ability to write SQL-esque queries using HQL to do custom joining, filtering, etc. to pull Objects from your database. The documentation gives you a lot of examples of the things you can do, but I haven't seen any caveats or warnings. Database Performance As far ...

Relentless Build Automation

How far is going to far when you are doing build automation? My answer to that question, is that it's basically not possible to go to far. Any task that you need to do more than three times deserves automation. Three times is my heuristic. The longer and more complex ...

Continuous Integration Revisited

I had a chance to install and play with JetBrain's new Team City beta today. Team City at its most basic is a Continuous Integration server. Continuous Integration (CI) systems are used to help manage a team's software development process. Every time a developer checks in code, the CI server ...

Tapestry and Hibernate Take 2

In a previous post I lamented about Tapestry and Hibernate fighting each other. This was very soon after I had started using Tapestry for the first time, and I wanted to talk a little bit more about it now that I've been using it for a while. So now I ...

Why Do Tapestry and Hibernate Fight So Much?

I've been away from doing much Java development recently. I've been getting paid to do .NET development and have been doing Ruby in my free time. So, I've been looking forward to get back to some Java programming (which was the first language I ever got paid to develop). ...

Remoting: Tight or Loose Coupling?

Martin Fowler once said “First Law of Distributed Object Design: Don’t distribute your objects!” This somewhat tongue-in-cheek comment captures the understanding that distributed design is more technically complex than non-distributed designs. Given two solutions that both fulfill a system’s design requirements, I strongly encourage you to pick the least complex. ...

Colophon

Geoff Lane is a software developer / architect / coder who writes about technology.

July 18th 2008
Tags: Code One Comment

Member of the orignal 416 - Pradipta’s Rolodex

The 416 is an elite group of software developers (alright, some of them weren't software developers, and some of them were fresh out of school) brought together by Pradipita's mistaken use of CC. Who would have known what would come of such an innocent message: I have a couple of Ruby ...
June 19th 2008
Tags: Automation, Ruby One Comment

Capistrano and Ferret DRB

This is a bit of a followup to my previous post on Capistrano with Git and Passenger. I decided to use Ferret via the acts_as_ferret (AAF) plugin. Ferret is a full-text search inspired by Apache's Lucene but written in Ruby. Basically Ferret and Lucene keep a full-text index outside of the ...
June 17th 2008
Tags: Ruby 2 Comments

Capistrano Deploy with Git and Passenger

One of the great things about Rails and its community is that they are very lazy. Lazy in the good way of not wanting to do boring, repetitive, error prone things manually. They metaprogram and they automate. A great example of this is Capistrano. Capistrano allows you to deploy Rails ...
June 10th 2008
Tags: Groovy 2 Comments

Package Grails DBMigrations in your WAR File

The Grails DBMigrate Plugin is a handy way to give you control over the generation of your database if you don't want Grails to auto-munge your schema. It works fine in development, but when you create a WAR for deployment on another machine the Migrations are not packaged in the ...
May 30th 2008
Tags: Erlang 2 Comments

Erlang Examples: Talk with Erlang

This is part of a series on the Erlang Exercises which is a great set of programming problems that challenge you to implement solutions to some common Erlang problems. I'm going to share some of my solutions to these problems. Implementing Talk with Distributed Erlang Make a simple Talk program that makes ...
May 29th 2008
Tags: Erlang One Comment

Erlang Examples: Talk with Sockets

This is part of a series on the Erlang Exercises which is a great set of programming problems that challenge you to implement solutions to some common Erlang problems. I'm going to share some of my solutions to these problems. Erlang using UNIX sockets Do you want to talk with a friend ...
May 29th 2008
Tags: Erlang No Comments

Erlang Example: Star Messages

This is part of a series on the Erlang Exercises which is a great set of programming problems that challenge you to implement solutions to some common Erlang problems. I'm going to share some of my solutions to these problems. Interaction between processes, Concurrency 3) Write a function which starts N processes ...

Search

The archives run deep. Feel free to search older content using topic keywords.

Add to Technorati Favorites

SliceHost VPS

The Few, The Proud, The Pradipta 416