Archive

Archive for the ‘SoftwareDev’ Category

The sleepy software bug.

First thing this morning I got an email with ‘high’ priority. The subject was ‘The Learning Center seems to be down’. We’ve been having a lot of problems with the product that underlies our ‘Learning Center’ application lately (we’re currently making a major switch) so I thought it was one of the run-of-the-mill problems we knew exactly how to fix. How wrong I was. Before I explain the story, I should give you some background info…

Cue dreamy effect and go back in time…

Read more…

Small Code Differences

I enjoyed this post about a scenario where code goes through an evolution based on different types of developers discovering it in succession and applying their own ‘style and wisdom’ to it. The post itself was creative and interesting, but the coolest thing about it are the comments, in my opinion. People are getting downright crazy about it. It just shows how literal, logical, and nutty we software developers really are. To each his/her own!

Unit Testing: The proving grounds for the team

May 8, 2008 1 comment

After weeks of development a change in a fundamental aspect of the domain has surfaced. To outsiders (read: the business) this change may seem insignificant, but to people who write lines of code, it is understandably a relatively big issue.

Read more…

Categories: Agile, code, java, SoftwareDev

Value Objects vs Tool/Framework Bean Req’s

A recurring scenario is annoying me. The scenario is this: Create a value object, in the Domain-Driven Design sense, and use it in a Hibernate persisted domain model. Following the DDD style, a value object shouldn’t have a default constructor, because its state should be present upon it’s creation as arguments to its constructor. It should be immutable and have no setters for its state. This won’t work if you’re using any tools/frameworks that require default constructors on the objects in your domain model. Read more…

Categories: Agile, code, java, SoftwareDev

Value Objects vs Tool/Framework Bean Req's

A recurring scenario is annoying me. The scenario is this: Create a value object, in the Domain-Driven Design sense, and use it in a Hibernate persisted domain model. Following the DDD style, a value object shouldn’t have a default constructor, because its state should be present upon it’s creation as arguments to its constructor. It should be immutable and have no setters for its state. This won’t work if you’re using any tools/frameworks that require default constructors on the objects in your domain model. Read more…

Categories: Agile, code, java, SoftwareDev

Project Breakdown in [Eclipse] Workspaces

March 19, 2008 Leave a comment

Yesterday, I was doing some refactoring on some code in Rational Application Developer (a derivative of eclipse) and I ended up creating a couple of new projects to house some of it.  When I told my colleague he’d need to synchronize with CVS and pull down the new projects he expressed some concern about why I had created the new projects.  It made me revisit why I actually did it.
Read more…

Categories: java, SoftwareDev

Database: Intelligent (Natural) keys versus Surrogate (Blind) Keys

March 8, 2008 3 comments

I’m not a data architect or DBA, but in my current and past positions I, like most software developers, have been responsible for designing schemas for both simple and complex databases.  One thing I always waffle about is whether to compose keys from meaningful data or generate surrogate keys for my tables.

I have always been a proponent of using surrogate, or blind, keys.  The reason is that I have faced scenarios where what is said to be an iron-clad rule about the business meaning associated with a primary key suddenly changes requiring the need to change that primary key – most DBs don’t handle this well.  It’s also cumbersome constructing joins on natural keys when they are composed of several columns.   With that said, I do see advantages to having real meaning attached to the fields used as a composite key.

What do you think?  Is this a matter of preference of the database designer or is there some rule or advantage that I don’t know of that would be a definite answer one way or another?

Here are a couple of articles to refer to for arguments.

http://www.bcarter.com/intsurr1.htm

http://searchsqlserver.techtarget.com/general/

Categories: SoftwareDev, Uncategorized

Hibernating with WebSphere and a non-journaling DB2/400 system

December 4, 2007 6 comments

A few years ago, I worked as a consultant at a company that used DB2/400 as its main database platform.  The company did not have journaling ‘turned on’ so their database platform did not support transactions/commit control.  This did seem odd to me, but what I’ve found is that its pretty common that DB2/400 shops don’t use this feature. While this seemed like a mere oddity and an inconvenience for commit control, it actually caused a more measurable issue which was that we couldn’t use Hibernate, one of, if not the most common ORM framework. Hibernate requires transactions. This is a problem for anyone wanting to use a non-journaled DB2/400 instance… in particular me. Read more…

Open source application servers. A tough decision ahead for us.

October 21, 2007 4 comments

One of the cool things about the new job I will _officially_ be starting in November is that we are going to look to use open source tools first.  The biggest choice we have to make on that front is which open source application server to use.  We have the go ahead to get an environment setup and in-use for some pilot applications that are less mission-critical than most of the apps we have on our primary WebSphere servers.  Now comes the time we need to decide which open source application server(s) we will use.  Read more…

I got a new job!

October 12, 2007 1 comment

I have accepted a position at a company in Dayton.  The position is with a company that I have been working for as a consultant off and on (mostly on) for the last three years.  I will be a ‘Technical Architect’ in the ‘Enterprise Solutions’ group at WinWholesale. I am very excited about this new opportunity. In my new position I will be the technical leader of the group that is dealing with newer technologies. We will be making use of open source technologies where they make sense and employing an agile software development methodology. One of the most important things to me is Read more…

Follow

Get every new post delivered to your Inbox.