Archive for April, 2007

Fast News (maybe not so fast)

Friday, April 27th, 2007

Sun is purchasing the intellectual property of CDC spec phone maker SavaJe. It may be very interesting phone war, we have a couple new big players such as apple and now sun. I think this year may be very interesting for mobile devices. Another point in this war is that Apple don’t support java on his Mac OS X. That means that we all have java 5 update 11 but Mac OS X has java 5 update 7. Now I must review My dreams about MacBook.

News in JDBC 4.0

A new JSR-221 specifies JDBC version 4. A list of changes is not so huge, there’s some minor changes. One of the major changes was addition XML data type support which is mapped to SQLXML java type. Another added data type is RowId interface, SQL ROWID is the fastest way to access data. Another nice enchantment is that you don’t have to call Class.forName and register driver to driver manager. Everything you must do is put JDBC driver into classpath.

There are many minor changes such as adding DatabaseMetaData, adding more methods such as createClob in Connection, free in Array and others, pleas refers to JDBC specification for details, but in my opinion the most change is introduction more implementation of ResultSet and better Exception Handling.

Continuous Integration

Wednesday, April 25th, 2007

Today we started choosing Continuous Integration server. I become a leader of this project, so we’ll see.

From brainstorming we choose for a month evaluation :

Which one wins, who knows. Personally I’m responsible for the Bamboo evaluation and what can i say today is that it’s made good impression for me. Nice interface (same as in JIRA), easy installation and configuration. Evaluation in progress….

DHTB

Sunday, April 22nd, 2007

Lastly I have found programmer personality test and made it for fun, here is my result. You can try here

Your programmer personality type is: DHTB

You’re a Doer.
You are very quick at getting tasks done. You believe the outcome is the most important part of a task and the faster you can reach that outcome the better. After all, time is money.

You like coding at a High level.
The world is made up of objects and components, you should create your programs in the same way.

You work best in a Team.
A good group is better than the sum of it’s parts. The only thing better than a genius programmer is a cohesive group of genius programmers.

You are a liBeral programmer.
Programming is a complex task and you should use white space and comments as freely as possible to help simplify the task. We’re not writing on paper anymore so we can take up as much room as we need.

Scala

Friday, April 20th, 2007

Our last seminar was abort scala language. I met with this language in December 2006 when I was prepared own seminary about java kingdom of languages. Martin Odersky makes experiment to create functional and object programming language. He chose java virtual machine as a compilation platform so scala has great library support.

One of very interesting feature from java perspective is patter matching (known from other functional languages SML, Heskell).

abstract class Tree
case class Sum(l: Tree, r: Tree) extends Tree
case class Var(n: String) extends Tree
case class Const(v: int) extends Tree

This snapshot is from scala tutorial. The case modifier makes from normal class a class with standard definition of getters for parameters, equals, hashCode, toString. Now through patter matching scala can evaluate Tree expression depends on the match to class Sum, Car, Const.

Scala has mixins, methods can have names like =, +, – etc., and true genericity , another interesting thin is xml included (maybe in jdk7) so we can define variable such as:

xml_data =

Imie

Last interesting fact is that scala allows you to use Actors to simple send and receive messages (Erlang style).

It’s very interesting language and of course we have even now web framework for it. It’s name is lift

Hibernate Shard, Serach and Validate

Tuesday, April 17th, 2007

We have three new Hibernate Projects, this projects add great possibility.

Hibernate Shards

This is a framework that is designed for horizontal partitioning. It’s key features are that Shards allows you still use Hibernate API, You can add your own shredding strategies and of course it’s open source.

Hibernate Search

This helps you achieve full text search. It’s use in background Apache Lucene. And make dirty work for us (sync, manage indexes etc.

Hibernate Validator

This allows to keep in one place our constraint about model. With annotation we can specify constraint, and hibernate will build and apply validation rules for us in many places (database schema, inserts/updates etc.)

about me

My name is Sebastian Pietrowski. I've finished Warsaw University as Master degree. I started my journey with Java 1.1 with Thread and JDBC programing in 1998 as I worked for merlin.pl. In 1999 I've passed Java Programer Certificate for Java 1.2, and was solution architect of merlin.pl infrastructure when we was moving from pl/sql to J2EE. It was great performance optimization with 10 times more req/sec than in requirements and 85 times faster as original solution.

Currently I work as Expert Software Development Java at F.Hoffmann-La Roche. The company was founded in 1896 and today, Roche employs over 80.000 people. After work I'm involved in activities related to Scala/Lift, Ruby/Rails/Merb, Python/Django. This is because I try to be pragmatic also I'm focused on application performance and tuning with success in my daily work.

My Yoda's motto: Do, or do not. There is no try.