Hibernate Event – JBoss Speaker – Westin Hotel Dublin – 15th October

Lead developer from JBoss, coming to Dublin to talk about Hibernate on 15th October. What else could you be doing that evening? Full details on Developers.ie.
Hibernate Logo

What is Hibernate? Java programs are like Lego blocks – very 3D with bumps on them to connect together. Database tables to store data are like flat sheets of paper. Hibernate is a bridge between these two very different worlds. In technical terms, it’s called Object-Relational-Mapping (ORM).

Why is it important? Hibernate is the defacto standard in the Java World, and has had huge influence on the most recent version of the EJB spec. There’s a .Net version and even competitors (such as Toplink from Oracle) are moving to the Hibernate way of doing things.

Wanted : Microsoft Visual Basic .Net trainer

It may not be worth USD 135,000 per year, but a colleague asked me to post this requirement of a Microsoft Visual Basic .Net trainer. Experience in Visual Basic and VB.net required, even better if you’ve delivered training before. Location is Ireland (sorry to be deliberately vauge).
Drop me a line at Paul@Firstpartners.net and I’ll pass on your details. Even better, post me a link to your blog.
We’d do it ourselves, but we’ve the problem of being ‘nicely busy’ and everybody that I’d recommend is likewise.

Introduction to Visual Basic and the .Net Framework

Microsoft’s .NET

The .NET Framework and the Common Language Runtime

Test-Driving a Visual Basic Application

Introduction to Object Technology and the UML

Overview of the Visual Studio 2005 IDE

Menu Bar and Toolbar

Navigating the Visual Studio IDE

Using Help

Using Visual Programming to Create a Simple Program

Displaying a Line of Text

Creating Your First Console Application in Visual Basic

Displaying a Single Line of Text with Multiple Statements

Adding Integers

Memory Concepts


Decision Making: Equality and Relational Operators

Using a Message Dialog to Display a Message

*Introduction to Classes and Objects *


Classes, Objects, Methods and Instance Variables

Declaring a Class with a Method and Instantiating an Object of a Class

Declaring a Method with a Parameter

Instance Variables and Properties

Value Types and Reference Types

Initializing Objects with Constructors

Validating Data with Set Accessors in Properties

Control Statements: Part




Control Structures

If … Then Selection Statement

If … Then … Else Selection Statement

While Repetition Statement

Do While … Loop Repetition Statement

Do Until … Loop Repetition Statement

Visual Basic Programming in a Windows Application

Essentials of Counter-Controlled Repetition

For … Next Repetition Statement

Examples Using the For … Next Statement

Do … Loop While Repetition Statement

Do … Loop Until Repetition Statement

Using the Exit Statement in Repetition Statements

Using the Continue Statement in Repetition Statements

Logical Operators

Methods: A Deeper Look


Modules, Classes and Methods

Subroutines: Methods That Do Not Return a Value

Functions: Methods That Return a Value

Shared Methods and Class Math

Notes on Declaring and Using Methods

Method Call Stack and Activation Records

Implicit Argument Conversions

Option Strict and Data-Type Conversions

Value Types and Reference Types

Framework Class Library Namespaces

Passing Arguments: Pass-by-Value vs. Pass-by-Reference

Scope of Declarations





Declaring and Allocating Arrays

Examples Using Arrays

Passing an Array to a Method

For Each … Next Repetition Statement

GradeBook Case Study: Using an Array to Store Grades

Sorting an Array with Method Sort of Class Array

Searching Arrays

8. Searching an Array with Linear Search

8. Searching a Sorted Array with Method BinarySearch of Class Array

Rectangular Arrays

Variable-Length Parameter Lists

Jagged Arrays

Using the ReDim Statement to Dynamically change array size

Passing Arrays: ByVal vs. ByRef

*Classes and Objects: A Deeper Look *


Time Class Case Study

Class Scope

Default and Parameterless Constructors

Overloaded Constructors

Partial Classes


Using the Me Reference to Access the Current Object

Garbage Collection

Shared Class Members

Const and ReadOnly Members

Exception Handling


Exception Handling Overview

Code in a Try and Catch Blocks

Catching Exceptions

Uncaught Exceptions

Termination Model of Exception Handling

Flow of Control When Exceptions Occur

.NET Exception Hierarchy

ApplicationException and SystemException

Determining Which Exceptions a Method Throws

Finally Block

Exception Properties

User-Defined Exception Classes

Graphical User Interface Concepts: Part 1


Windows Forms

Event Handling

Control Properties and Layout

Labels, TextBoxes and Buttons

GroupBoxes and Panels

CheckBoxes and RadioButton s



NumericUpDown Control

Mouse-Event Handling

Keyboard-Event Handling


MonthCalendar Control

DateTimePicker Control

LinkLabel Control

ListBox Control

CheckedListBox Control

ComboBox Control

TreeView Control

ListView Control

TabControl Control

Multiple Document Interface (MDI) Windows

Visual Inheritance

User-Defined Controls



Thread States: Life Cycle of a Thread

Thread Priorities and Thread Scheduling

Creating and Executing Threads

Thread Synchronization and Class Monitor

Multithreading with GUIs

Files and Streams


Data Hierarchy

Files and Streams

My.Computer.FileSystem Object

Creating a Sequential-Access File

Reading Data from a Sequential-Access File

Random-Access Files

Creating a Random-Access File

Writing Data Randomly to a Random-Access File

Reading Data Sequentially from a Random-Access File

Creating a Sequential-Access File

Reading Data from a Sequential-Access File

Enterprise Java Presentation , Stephens Hotel , Dublin

You may remember we did the Enterprise Java presentation at DCU back in October for the wireless skillnet in Ireland. We’re doing a follow up presentation, this time in Central Dublin, on the 22nd January. The audience is mainly business people with some sort of interest or connection with technology.
Irish Dev has more details.

The topics covered include:

  • What Problem are we trying to solve?
  • Enterprise Java Architecture Overview.
  • Benefits to the Enterprise.
  • Alternatives (.Net , PHP , Oracle , Lightweight Java Frameworks , scripting)
  • Vendors (IBM, Oracle, Sun , Bea , JBoss and SAP)
  • Market Trends – Resource availability (can we get the people to do this?)
  • Enterprise Web 2.0 and Service Orientated Aritecture (SOA).
  • Integrating with other Systems ( Legacy Systems, Oracle etc)
  • Enterprise Java Beans 3 (EJB3)
  • Middleware (MOM, Rule Engines, Workflow)
  • Security – Application and Server Level including Java Access & Authorization Service (JAAS).
  • Frameworks (Struts , JSF, ADF, DWR, Spring, Hibernate)
  • .Net interoperability
  • What’s next for Enterprise Java?

Java 6 New Features

Yagiz Erkan has a good overview of the new Java 6 features over at the De Care Systems Ireland blog.

A lot of this features have been available as separate downloads for a while , but it’s good to see them becoming part of the Java mainstream. Of particular interest are:

  • Java now has a lightweight web server bundled with it – most sites will continue to use a variation of Apache Tomcat, but this will be useful for administration purpose.
  • The profiler (JHAT) for performance tuning is now considered mainstream.
  • Web services have become (much) easier to generate with the use of web services.

Yagiz  also gives a good example of using Java Web  Services with .Net

Dear Open Source Santa,

Dear Open Source Santa,

Now that you have Java in your open source toy bag, can I have Duck Typing please ? It shouldn’t be too hard to do, since the elves in Ruby-Wonder-Land have been making toys with Duck Typing for years. I’ve been a good boy all year and promise to play nicely with the .Net kids next door.

You don’t know what Duck Typing is? Sorry, I forgot that you’re more than 1000 years old. Little Jamie next door got Ruby last year and he says that ‘if it looks like a duck, and walks like a duck , then it is a duck’. He says making the computer do more work makes it a lot easier to write programs.

My Teacher says not to be greedy, and that you’re very busy making Toy Trains. She says just ask for getters and setters. You know, the boring code like ‘getSomeValue()’ and setSomeValue(). She says the Apache imps have been very good with Dynaforms but that writing a Java web application is still just too slow.

Rudolph will tell you that writing get(“someValue”) is about as cool as having a bright red nose. He would also want to put ‘someValue’ in one place only (the web page). Having to write config files and javabeans feels too much like homework.

Santa, I know there are other children that need changes to the core Java code more than I do, so maybe you know of an open source project that already has this.


P.S. :I still want to keep compile time type checking to make sure I don’t make any mistakes.

Open Java changes everything

Now that the dust is beginning to settle on Sun’s Decision to open source Java , what does it actually mean for you? That’s you as in a Business user, you as in a Java Developer , and you as a member of the wider IT Community?

  • In the short run (i.e. next 6 months), once the buzz dies down , not much. Remember that it took several years after the Netscape code was open source for Firefox to emerge and change the dynamic of the browser market.
  • In the medium term (between 6 and 24 months) expect some interesting packagings of Java to emerge, similar to the way the various Linux Distros work today. Consider these ‘green shoots’ or prototypes with interesting ideas. A ‘small footprint’ version of Java targeted at Applet developers seems to be one popular opinion of what might emerge. However, unless you are ‘bleeding edge’ or in a niche area the chances are you won’t notice them at this stage.

It is in the longer term (2 years plus) that open source java really makes it’s mark. Some predictions that you can quote back to me later:

– In the same way as JBoss and Geronimo have commoditised the app server market programming languages and runtimes will become a commodity. Expect the .Net platform to be opened (not just standardized) in some limited form.

– Java will become more like .Net with multiple languages running in the standard JVM. We have JRuby and Groovy. It wouldn’t be too hard to add C# to this list. Visual Basic in the JVM (the Sun Semplice Project) is already on it’s way.

– Oracle , IBM , SAP and others already committed to the Java market will become focussed on Java as an even bigger part of the core strategy. Just like the app server market, each will seek to differentiate themselves, perhaps by Service (IBM), by a core database (Oracle) or by leading a niche (SAP). Expect tension between the desire to differentiate (and fragment) and the GPL which seeks to ‘bind them all’.

Apache Harmony , a clean room implementation of Java will continue to gain momentum. It will get picked up by a major vendor in a similar manner to Apple using BSD code.

– Microsoft .Net will end up in a ‘death march’ with Java trying to gain a lead in a feature set. Open source is very good a mimicing existing products (as it makes an easy spec for dispersed developers to write on – just look at Open Office), so (unless software patents get thrown into the mix), it’s hard to see .Net getting a fundamental and lasting edge over the Java Ecosystem.

Update: I’m not saying that .Net is going to go away (nor should it), just that both it and Java are going to be around for a long time to come. Joe and John also have more commentary.