Post bewerten
Sonntag, November 21, 2004
Sonntag, November 14, 2004
Distributed Computation@home
SETI @ home was the first software for distributed computing at home: CPU time not used by the user is used for a really large distributed computation project. The experiences with SETI @ home were used to create a content independent platform for distributed computing: BOINC.
There are additional public projects for distributed computation using BOINC available at the BOINC link given above.
There are additional public projects for distributed computation using BOINC available at the BOINC link given above.
Post bewerten
Freitag, November 05, 2004
Rich Client Patterns
Martin Fowlers book "Pattern of Enterprise Application Architecture" lacks patterns for rich client applications. On his website Martin Fowler has collected first patterns for rich client applications.
Post bewerten
Samstag, Oktober 30, 2004
Multiple Customers in XP
Ron Jeffries has written a short but interesting article about how to deal with multiple customers: Petition the King. He uses the metapher of villagers coming to the king regularly (one a month or one every two weeks) to explain their requests. The king has limited resources and decides about the usage of the resources.
In XP the king is not a developer since decisions about distributing resources is a bussiness decision not a technical desicion. Therefore king is a kind of super customer, head of marketing for a product company or something similar.
In XP the king is not a developer since decisions about distributing resources is a bussiness decision not a technical desicion. Therefore king is a kind of super customer, head of marketing for a product company or something similar.
Post bewerten
Freitag, Oktober 22, 2004
Design in Agile Methods
One of the most controverse aspects of agile methods is the role of design. In eXtreme Programming the practice is stated explicitly: Simple Design.
Buzz words describing simple design are:
Buzz words describing simple design are:
- You ain't gonna need it (the YAGNI principle).
- Keep it simple, stupid (the KISS principle).
- Design for Today.
- No Big Design Upfront (BDUF).
Two articles (available online) about the topic give further insights:
- Martin Fowler: Is Design Dead?
- Jim Shore: Continuous Design.
Post bewerten
Sonntag, September 19, 2004
Donnerstag, September 16, 2004
Managing ANT scripts
In larger Java projects the ANT scripts tend to become complicated and hard to handle. Too often the ANT scripts produce incomplete results or need too much runtime. Eric M. Burke wrote down useful best practices for ANT scripts.
And he wrote a little tool that visualizes the dependencies of ANT targets: AntGraph.
And he wrote a little tool that visualizes the dependencies of ANT targets: AntGraph.
Post bewerten
Dienstag, August 31, 2004
Visibility of Automatic Build
There is a cool kit for making the results of automatic builds (e.g. with Cruise-Control) visible: Bubble, Bubble, Build's In Trouble. And it costs less than 100 USD.
Post bewerten
Donnerstag, August 26, 2004
XRadar: Structural Analysis for Java projects
We startet to use XRadar in a larger project for structural analysis, e.g. dependency checks between subsystems and packages.
XRadar is open source and combines a lot of useful small tools like JDepend and PMD to form a complete analysis suite. We integrated XRadar into our Cruise-Control build process and got helpful results about the structure of our system.
XRadar is open source and combines a lot of useful small tools like JDepend and PMD to form a complete analysis suite. We integrated XRadar into our Cruise-Control build process and got helpful results about the structure of our system.
Post bewerten
Dienstag, August 17, 2004
Time Travel Pattern Language
I just discovered a paper describing the Time Travel pattern language for objects that change. The patterns address objects that have a browsable history of modifications where the modifications can have effects in the past and the future. These problems often arise with contracts where the time of making the modification can differ from the time where the modification takes effect.
Example: One week ago I buyed a new car. Now I send a notice to my insurance company. While the contract is modified tomorrow when my notice reaches the insurance company, the modification has to take effect one week ago in the past.
Once I was in a project at an insurance company and we had exactly the same problems. At the end we came to very similar solutions. Had we known the Time Travel pattern language we could have saved a lot of time, not only to find the solutions but more important to communicate the problems and the solutions.
Example: One week ago I buyed a new car. Now I send a notice to my insurance company. While the contract is modified tomorrow when my notice reaches the insurance company, the modification has to take effect one week ago in the past.
Once I was in a project at an insurance company and we had exactly the same problems. At the end we came to very similar solutions. Had we known the Time Travel pattern language we could have saved a lot of time, not only to find the solutions but more important to communicate the problems and the solutions.
Post bewerten
Montag, August 16, 2004
Unit Test Smells
The term smell was taken from the refactoring discussion. There a code smell comes from an ugly piece of source code that should be restructured (refactored) as soon as possible. Typical code smells are duplication of code, unneccessary indirections etc.
The term smell can be transferred to a lot of other “domains”, e.g. to the wide area of testing. This article is a first attempt to collect smells for the area of unit tests.
The term smell can be transferred to a lot of other “domains”, e.g. to the wide area of testing. This article is a first attempt to collect smells for the area of unit tests.
Post bewerten
Freitag, August 06, 2004
C-JDBC: open-source inexpensive DB clustering
When searching for techniques to create Java enterprise applications without buying and using heavyweight products one should take a look at C-JDBC. C-JDBC is an open-source product that supports the RAIDb concept (Redundant Array of Inexpensive Databases): C-JDBC encapsulates several database instances behind a regular JDBC api. To introduce C-JDBC into a project existing code needn't be modified as long as all database access is handled via JDBC.
Post bewerten
Donnerstag, August 05, 2004
Modular Software with PicoContainer
Most OO systems claim to be modular but very few really are. Normally OO systems have cycles between they modules. Even if there are no cycles the dependencies between the so called modules are chaotic and inflexible. A typical result is that developers can't instantiate a small set of classes for unit testing without having the rest of the system.
PicoContainer is an open-source project that provides a IoC-Container (IoC = Inversion of Control) that is very useful for defining and managing the dependencies between modules.
I collegue asked me once when I would PicoContainer into a project:
Adding PicoContainer later to a project results in refactoring and will therefore often not done.
PicoContainer is an open-source project that provides a IoC-Container (IoC = Inversion of Control) that is very useful for defining and managing the dependencies between modules.
I collegue asked me once when I would PicoContainer into a project:
- Right from the beginning?
- Even for prototyping?
- When the system exceeds a certain size?
Adding PicoContainer later to a project results in refactoring and will therefore often not done.
Post bewerten
Sonntag, August 01, 2004
Do You like to Eat an Elephant?
There is an funny and interesting article about EJB out there, called "Don't Make me Eat the Elephant Again". The autor argues that for most project EJB ist just too big and suggests some lightweight approaches to building Java Enterprise Applications.
I like the article very much since I know the suffer the author describes from my programming and consulting experience. It is the time for a change!
There is a very interesting book about the topic: Bruce Tate, Justin Gehtland: "Better, Faster, Lighter Java".
I like the article very much since I know the suffer the author describes from my programming and consulting experience. It is the time for a change!
There is a very interesting book about the topic: Bruce Tate, Justin Gehtland: "Better, Faster, Lighter Java".
Post bewerten
Samstag, Juli 31, 2004
SCRUM Master
I participated the SCRUM Master training in Karlsruhe held by Joseph Pelrine. That was fun and now I'm a certified SCRUM Master.
BTW: A collegue of mine said that "SCRUM Master" sounds like something evil. I try to be not too evil :-)
BTW: A collegue of mine said that "SCRUM Master" sounds like something evil. I try to be not too evil :-)
Post bewerten
Funny GridBagLayout
Its always a highlight when profession meets fun. A very funny and striking description of Java's GridBagLayout is available as an interactive weblog.
Post bewerten
Donnerstag, Juli 15, 2004
JMigrator 0.4.0 released
I released the first version of JMigrator at Source-Forge as an Eclipse 3 plugin.
If anybody is interested in participating at the further development, please contact me.
If anybody is interested in participating at the further development, please contact me.
Post bewerten
Montag, Juli 05, 2004
Trashcan Frameworks
Application specific frameworks often degenerate and become Trascan Frameworks. I have written my thoughts in a short article "Trashcan Frameworks".
Post bewerten
Sonntag, Juli 04, 2004
Large Refactorings and Fitnesse at Java Forum Stuttgart
Martin Lippert and I held a lalk about Refactorings in large Projects at the Java Forum Stuttgart. The slides are here (german). I submitted a presentation about aceptance testing with Fitnesse. This was accepted as a failover presentation. Since no other presentation was cancelled, the presentation wasn't held. But the slides are here for download although (german).
Post bewerten
Abonnieren
Posts (Atom)


