Reading Apache Maven 2 Effective Implementation

Reading Apache Maven 2 Effective Implementation

Thanks to Amit Sharma (of Packt Publishing), I recently got a copy of Apache Maven 2 Effective Implementation authored by Brett Porter and Maria Odea Ching.

The book has proven to be an interesting read so far (even for an advanced maven user), covering a lot of important (and sometimes little known) plugins. Its best practices chapter along with the real-life advices/tips that are found throughout the book are a must read. On the other hand, I would really have liked to see a chapter or appendix covering maven support in IDEs + I must admit don’t have much of respect for Archiva (that’s based on a few weeks interaction i had with it 3 years ago – perhaps things have improved?) which is covered in detail in the book, along with Continuum.

Anyway, expect a complete review soon.

Streaming Schedule of ApacheCon Hadoop, HTTP Server, and Lucene Track

Streaming Schedule of ApacheCon Hadoop, HTTP Server, and Lucene Track
Starting in less than 24 hours and for the next 4 days there’s ApacheCon. Don’t miss the live streaming from http://streaming.linux-magazin.de/en/program-apachecon-us-2009.htm . Here’s the schedule (times in UTC):

Wednesday, 04 November 2009: Hadoop Track
  17:00 Opening Plenary & State of the Feather
       William A. Rowe, Jr. & Jim Jagielski
 
  17:30 Apache Pioneer's Panel
       Moderated by Brian Behlendorf
 
  19:00 Introduction to Apache Hadoop
       Owen O'Malley
 
  19:30 2009 State of the Elephant
       Christophe Bisciglia
 
  21:30 Becoming a Pig Developer
       Alan Gates
 
  22:30 Apache Hadoop in the Cloud
       Tom White
 
  00:00 Practical HBase
       Michael Stack
 
  01:00 Apache Hive: SQL and Data warehousing on Apache Hadoop
       Ashish Thusoo
 
Thursday, 05 November 2009: HTTP Track

  17:00 Munging URLs with mod_rewrite
       Rich Bowen
 
  18:00 Hardening Enterprise Apache Installations Against Attacks
       Sander Temme
 
  19:30 Keynote: Standing Out in the Crowd
       Kirrily Robert
 
  22:00 Scalable Internet Architectures
       Theo Schlossnagle
 
  00:30 Recent Developments in SSL and Browsers
       Rick Andrews
 
  01:30 Lightning Talks!
 
Friday, 06 November 2009: Lucene Track

  17:00 Implementing an Information Retrieval Framework for an
       Organizational Repository, Sithu D Sudarsan
 
  18:00 Apache Mahout - Going from raw data to information
       Isabel Drost
 
  19:15 MIME Magic with Apache Tika
       Jukka Zitting
 
  20:15 Keynote: How Open Source Developers Can (Still!) Save The World
       Brian Behlendorf
 
  22:00 Building Intelligent Search Applications with the Lucene
       Ecosystem, Ted Dunning
 
  23:00 Realtime Search
       Jason Rutherglen
 

So, Apache friends, enjoy!

Maven and slow dependencies report

Maven and slow dependencies report

If the dependencies report takes too long to finish, it could be due to maven trying to determine (and generate a report of) which repository contains which artifact… and the network and/or repos being slow or unreachable.

In any case, here’s how you can short-circuit that process:

mvn -Ddependency.locations.enabled=false site

Maven Presentation

On Feb 14 (yep, that was the Valentine’s day), i did a Maven presentation for out local Java User Group, and it looks like it was very well received (which is great cause i was terribly nervous at the begining ).

Here are the contents (embedded from slideshare):

Java time @ 1234567890 via groovy console

Java time is 1234567890

Tapestry 5.0 refcard featured at dzone.com

refcardz.dzone.com just added a brand new refcard on Tapestry 5.0 written by the creator of the framework, Howard Lewis Ship
The direct link for getting to the pdf is http://refcardz.dzone.com/refcardz/apache-tapestry-50?oid=hom7691, but i’m also including (via scribd.com) the card here, so enjoy!

Refcard #40- Apache Tapestry 5.0

Publish at Scribd or explore others: Internet & Technolog How-To Guides & DIY java apache

Nigel, why did Kasparov retire from chess?

Nigel, why did Kasparov retire from chess?

He’s one of the most original chess players – someone that simply just loves the game. Here’s what Viswanathan Anand has to say about him:

He’s someone who is very intelligent … but you never know which mood he is going to be in.

Some days he will treat you like his long-lost brother. The next day he ignores you completely.

I have seen him totally drunk and singing Ukrainian poetry and then the next day I have seen him give an impressive talk.

For a while he was trying to learn Turkish. Don’t ask me why … Every day is a surprise with him.

And here’s his latest quote:

Nigel, why did Kasparov retire from chess?

Quick maven tip for downloading sources of a specific dependency

Quick maven tip for downloading sources of a specific dependency
This may come in handy. since on big projects with many dependencies it may take a while to download ALL sources. So, here is an example:

mvn dependency:sources -DincludeGroupIds=org.apache.tapestry

For more, see the dependency plugin docs

Μου ήρθε αρνητικός ΟΤΕ, τι κάνω???

Μου ήρθε αρνητικός ΟΤΕ, τι κάνω???
Απίστευτο! Τόσο απίστευτο που πρώτη φορά μπλογκάρω στα Ελληνικά!

Κι όμως, μόλις έλαβα λογαριασμό -9.50 ευρώ (ΜΕΙΟΝ ΕΝΝΕΑ ΚΑΙ ΠΕΝΗΝΤΑ)… χαχα, τέλεια. Που όμως πάω να τα εισπράξω? Γιατί το μόνο που βλέπω στη πίσω πλευρά είναι : “τι πρεπει να γνωριζεται για την εξοφληση του λογαριασμου σας” – έλα όμως που εμείς θέλουμε το αντίθετο… Να υποθέσω οτι αν δεν με εξοφλήσουν εγκαιρως, δικαιούμαι και τόκους???

Και για να εξηγήσω το αρνητικό ποσό – είναι οφειλή απο προηγούμενο λογαριασμό η οποία κανονικά αφαιρείται από το ποσό του τρέχοντος. Επειδή όμως τον ΟΤΕ τον σχολάσαμε, έχουμε το απλό 0 – 9.50 = -9.50

Quick maven tip for deploying to remote FTP repository

First, you’ll need to make sure the following jars exist in %MAVEN_HOME%/lib (i include the versions i currently have):

  • wagon-ftp (1.0-beta-2)
  • commons-net (1.4.1)
  • oro (2.0.8)

Then define a server (& its credentials) for the remote repo in your ~/.m2/settings.xml and finally issue something like:

 mvn deploy:deploy-file -Dfile=mysql-source.jar -Dclassifier=sources
     -DpomFile=mysql-connector-java.pom -Durl=ftp://my.server.com/path/to/repository -DrepositoryId=my.server.id