De vierdaagse zit er weer op. Dit jaar is het ons allemaal weer gelukt om de Via Gladiola te halen. Voor Annemiek was het haar eerste keer. En dan ook nog meteen de 50km!! Het was niet makkelijk, maar het is haar toch gelukt. Ik ben trots op jou schat! De foto’s van dit jaar volgen nog
In verband met de later op de dag te verwachten hitte (33°C) worden de starttijden voor deelnemers (50 en 40 km) aan de 94ste Vierdaagse morgen een uur vervroegd. De deelnemers aan de 30 kilometerafstand gaan zelfs anderhalf uur eerder van start. Alle deelnemers moeten morgen ook een uur eerder (om 16.00 uur) binnen zijn.
Met nadruk adviseert de marsleiding de wandelaars ook goed gebruik te maken van de koelere ochtenduren. Voor de laatste twaalf kilometer worden drie extra waterpunten ingericht, zodat er op het laatste deel van de eerste wandeldag vier waterverversingspunten beschikbaar zijn voor de wandelaars. Daarnaast wordt ook nog een beroep gedaan op de aanwonenden van de parcoursen om de wandelaars van (drink)water te voorzien.
Graadje warmer
Het besluit de start te vervroegen, extra waterpunten in te richten en de wandelaars nog nadrukkelijker voor te lichten over maatregelen die zij zelf kunnen nemen om hun vocht- en temperatuurhuishouding van hun lichaam op peil te houden, werd door het bestuur genomen nadat het Weer Advies Team van de Vierdaagse zijn advies van zondag had bijgesteld. “Veiligheid van wandelaars staat voorop. Toen duidelijk werd dat het morgen nog een graadje warmer wordt dan gedacht, is besloten het starten nog meer te vervroegen. Het gaat er vooral om dat de wandelaars het warmste moment van de dag, zo tussen twee en vier uur morgen voor blijven. Zo tussen twee en vier uur morgen “, aldus marsleider Johan Willemstein.
Vers water
Ter hoogte van Strandpark Slijk-Ewijk zullen in samenwerking met sponsor Albron flesjes water uitgedeeld worden. Enkele kilometers verder op de Oosterhoutsestraat ter hoogte van nummer 95 treffen de wandelaars watertapinstallaties aan. Kort voor het begin van de Oosterhoutsedijk is het reguliere waterpunt van Vitens te vinden. Tenslotte wordt in Lent, pal na de spoorbrug over de Waal, en dus voor het begin van de Waalbrug nog een waterpunt ingericht door middel van het uitdelen van flesjes.
Starttijden
Deelnemers aan de 50 kilometer afstand starten morgen tussen 03.00 en en 03.45 uur, de 40 km groep 1 start tussen 04.15 en 05.00 uur, de 40 km groep 2 start tussen 05.15 en 06.00 uur. De 30 kilometer wandelaars starten tussen 06.00 en 06.30 uur.
Omdat de wandelaars op de kortste afstand tot zowel de jongste als de oudste leeftijdscategorieën behoren, is hun starttijd met anderhalf uur vervroegd.
Adviezen wandelaars
Adviezen rechtstreeks aan de wandelaars luiden:
Drink voldoende;
Zorg dat u altijd iets te drinken bij u heeft;
Bescherm hoofd en nek;
Benut de vroege uren voor het wandelen.
Zo, de laatste voorbereidingen zijn getroffen. Wij zijn er klaar voor. In verband met de verwachte hitte, starten we morgen een uur eerder dan normaal (03:00 ipv 0:400).
Last week I stumbled upon this article on JavaLobby. Below a quote from the article.
Code Katas are small, relatively simple exercises designed to give you a problem to try and solve. I like to use them as a way to get my feet wet and help write something more interesting than “Hello World” but less complicated than “The Internet’s Next Killer App”.
The Code Kata is about a robotic arm that can manipulate an assembly-line. The robotic arm should be able to process commands like: move x over y, move x onto y and pile x over y. Please read the article if you want to know more about the problem domain. This weekend I gave it a try. What started out as a small coding exercise, emerged to the exploration of several frameworks like: Swing Application Framework (JSR 296), Spring JMS and ActiveMQ.
Below you can see a screenshot of the server and client application.
Feel free to download the Maven2 project: robostack.zip
* Note: to let the client and server communicate with eachother, you should have ActiveMQ up and running on port 61616.
Having both Java EE 6 and Spring 3.0 recently released, there is a fierce discussion going on between both camps. Have look at the server side postings below.
Yesterday I passed the Sun Certified Business Component Developer exam.
I had no hand-on experience with EJB 3.0. My experience with the Spring Framework helped me a lot to understand the principles of EJB. To prepare myself for the exam, I’ve read EJB 3.0 in Action. Although it is a good book, it contains a lot of information that isn’t required to know for the exam.
I also used the mock exams from Ethuware. The questions in the question bank are faithfully to the exam. The question viewer from Ethuware is a Java application, so I had no problems using it under Xubuntu. Below are some links to other resources that you can use for preparation:
To quickly get started with JSF 2.0 I’ve created a maven archetype. To use this archetype, you must have Maven 2, Tomcat 6 and Eclipse installed on your machine. Follow the steps below to get a new project up and running:
Step 1: Go to your workspace folder
cd c:\workspaces\DevWorkspace
Step 2: Generate a new project
To generate a new project using the archetype, you must use the following command:
In this article i will explain the features of the Spring Faces Tag library. Although this library has some nice functions, the amount of documentation on the net is very scarce. To get started i have opened the spring-faces.tld inside the spring-faces.jar. The table below shows the available tags in the library. I have created this table with a little xlst magic.
In this article i will show you how to create custom labels for Java Enum types with a custom JSF converter. Click here to download the example application. To run the example application you need Maven2. Simple type mvn jetty:run to start the embedded Jetty container. After a few seconds you can point your browser to http://localhost:8080/enumsample to see the application up and running.
To convert an enum type to a more friendly label, i’ve created a custom enum type converter. As you can see in the code below, that converter translate an enum value to a label in the message bundle. Based on the locale of your browser a localized messege will be returned.
package nl.jwse.sample.enumsample.converter;
import java.util.Locale;
import java.util.ResourceBundle;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
/**
* Generic Enum Type converter. Converts an enum value to a language specific and display-friendly
* label. The label should be defined in a messagebundle with the following convention.
*
* [Full enum classname].[Enum field]=Enter displaylabel here.
*
* i.e.
*
* nl.jwse.sample.enumsample.type.Card.HEARTS=Harten
*
* @author Jeroen Wolsink
*
*/
public class EnumTypeConverter implements Converter {
@SuppressWarnings("unchecked")
public Object getAsObject(FacesContext fc, UIComponent comp,
String value) {
Class enumType = comp.getValueExpression("value").getType(fc.getELContext());
return Enum.valueOf(enumType, value);
}
public String getAsString(FacesContext fc, UIComponent component,
Object object) {
if (object == null) {
return null;
}
Enum> type = (Enum>) object;
return getEnumLabel(type, fc);
}
/**
* Creates a localized label for the enum type. The label must be
* defined in the resource bundle, or else the toString() value will
* bee returned.
* @param type EnumType
* @param fc FacesContext
* @return The label for the enumerated type
*/
private String getEnumLabel(Enum> type, FacesContext fc) {
String label = null;
String messageBundle = fc.getApplication().getMessageBundle();
Locale locale = fc.getApplication().getDefaultLocale();
ResourceBundle rb = ResourceBundle.getBundle(messageBundle, locale);
try {
String key = generateKey(type);
label = rb.getString(key);
} catch (Exception e) {
label = type.toString();
}
return label;
}
/**
* Generates a message bundle key based on an Enum Type.
* @param type EnumType
* @return Message bundle key
*/
private String generateKey(Enum> type) {
String className = type.getClass().getName();
String key = className + '.' + type.toString();
return key;
}
}
Before you can use the converter in your JSF page, the converter must be registered in the FacesContext.xml.
In the page you can add the converter to an outputText usering the converter=”enumTypeConverter” attribute. In the backingbean there is also a conversion for the Card enum type to a selectItem list. You can view the implementation in the sourcefiles of the example application
I hope this article was helpfull to you. Any comments are most welcome.