JavaOne 2015 in Pictures (Part 2)

November 6th, 2015 No comments

Shout outs

This year at JavaOne 2015, these are the shout-outs, in no particular order:

  1. Victor Leonel Orozco
  2. Kota Fujita
  3. Pratik Patel
  4. Alexis Lopez
  5. Jorge Vargas
  6. Naoko Hamamoto
  7. Harold Ogle
  8. Heather Vancura
  9. Sooyol Yang
  10. Ivar Grimstad
  11. Shlomi Ben Haim
  12. Werner Keil
  13. Ixchel Ruiz and Andres Almiray
  14. Fred Simon
  15. Csaba Toth
  16. Jenny Heckler
  17. Mark Heckler
  18. Oscar Sierra
  19. Amelie Eiras
  20. David Blewins
  21. Joel Neely
  22. Susan Duncan
  23. Alison Murdock
  24. Cesar Hernandez
  25. Zoran Sevarac
  26. Ed Burns
  27. Mattias Karlsson
  28. Hirosh Ito
  29. Frank Greco
  30. Freddy Guime
  31. Wolf Helzle
  32. Bruno Souza
  33. Yara Senger and Vinicius Senger
  34. Kevin Nilson and Andy Nilson
  35. Gail and Paul Anderson
  36. Dianne Marsh
  37. Kirk Pepperdine
  38. James Ward
  39. Margo Davis
  40. Roberto Cortes
  41. Dalibor Topic
  42. Todd Costella
  43. Murat Yener
  44. Andy Gumbrecht
  45. Gertjan Wielanga
  46. Tori Wieldt
  47. George Saab
  48. Mohamed Taman
  49. Arun Gupta
  50. Sharat Chandler
  51. Daniel de Oliveria
  52. Gerrit Grunwald
  53. Badr El Hauori
  54. Jeff Genender
  55. Alex Theedon


This is the photo visitation of my blog around the JavaOne 2015 conference, which is the twentieth edition.


The audience is listening. When you speak at JavaOne, this will be your audience. So come strong, be prepared and primed ready to deliver your talk to these people!


Bruno! Is our Java Mascot, going to cut the cake or not? In case you are wondering, the puppet is a Brazilian finch called Juggy, named after the community of Java User Groups.


View from the Cityscape Hilton Tower level 45


The Nullpointer sisters (L) Susan and (R) Alison


Now it is my turn to cut the cake at the JCP party. I didn’t actually cut it, though.


The cake is in all of its splendour


When you are JavaOne speaker, you must make time for your attendees to ask pertinent questions about session, or you can simply swap business cards!


Null pointers performing at Duke’s cafe on the closed off Mason Street next to the Hilton hotel. Ed Burns was singing with Alison backing up. I’m took a timeout, because I didn’t know the song well enough.




We have to give the Oracle Java executives our full support: (L) George Saab and (R) Sharat Chandler. Without them we probably would not have a JavaOne conference to attend.



More Nullpointer goodness: (L) Frank Greco, (C) Freddy Guime and (R) Ed Burns


Alison sings


(L) Zoran Severnac, (C) Susan and (R) Alision and I still taking a break from this song.


Give the drummer some! Cesar is holding the rhythm sticks in style.


The whole Null Pointer band – a job well done after Thursday community keynote. From left to right: Ed, Zoran, me, Susan, Cesar, Mattias Karlson, Freddy, Hiroshi Ito and kneeling down is Frank Greco …. – Apologies to Alison


JavaOne 4 Kids of the future. Here is inspiration that you can make it in the Java ecosystem.


Community key note






What happens behind the scenes, backstage, at a massive JavaOne keynote in the Moscone Center?



Well you get to me Duke, the Java mascot, of course!


Let’s do it all again, next year, lads!


It’s time to toss or propel the JavaOne tee-shirts from the stage with James Gosling.


Cedric Champeau’s Groovy DSL in 2016 technical session


At the Tomitribe residence, who is holding court or setting up now?


My first book, Java EE 7 Developer Handbook was still selling in the conference bookstore.



Ed Burn’s 16 years of JavaOne conferences from year 2000 to 2015. Terrific!


As only Oracle can,!


San Francisco’s Golden Gate Bridge, I have to love it!


I think that I reached the limit for a photo blog post entry! Enjoy! See you next year #JavaOne2016!


+PP+ :)

JavaOne 2015 in Pictures (Part 1)

November 6th, 2015 No comments

This is the photo visitation of my blog around the JavaOne 2015 conference, which is the twentieth edition.


Java Leader’s breakfast exhibition in Sunady morning.


San Francisco, late autumn whatever your style.


Java Keynote at the Moscone Center


On User Group Sunday, Bruno Souza grabbed Java leaders, champions, including myself to be part of an impromptu panel answering questions about Java eco-system


Effective enthusiasm


The very talented Mr. Ed Burns of the Null Pointers band, JavaServer Faces specification lead, picking on the Ukelele. In the background, there is Zoran


Joe Darcy is talking about JDK 9 Modularity Tools


Linda De Michel tells the audience about Java EE 8 umbrella specification


Josh Long of Pivotal software and I. We were at the post JavaOne gathering at the TomiTribe residence.


A interview Mohammed Taman (R) by Heather Vancura (L)


A interview for the Null Pointers band members. To my right with Freddy Guime, founding band member and leaders and furthest right is Cesar Hernandez


Ignite sessions with Kevin Nilsson (centre), Stephen Chin (L) and Keith Combs (R)


Cityscape 46 in the Hilton Tower at night for the annual JCP party


Andy Gumbrecht of Tomitribe conducts his Ignite talk


Patrick Curran cuts the 20th year Birthday cake at the JCP party


Null pointers band – interview I: (L) Me, (C) Freddy Guime, and (R) Cesar


Null pointers band – interview II


A nice NAO robot in the exhibition hall, Oracle Demogrounds


The MVC 1.0 conference technical session with (R) Ivar Grimstad and (L) Santiago Pericasgeertsen


Hanging out with the Tomitribe crew. To my right is Amelia Eiras, above us is Roberto Cortes


Netbeans Dream Team member on user group Sunday


I took at selfie with Tori Wiedlt, formerly of Oracle and now with New Relic


Frank Greco, fellow Java Champion, New York Java User Group, the amazing lead guitarist of the Null Pointers. Power solo



Nullpointer’s Hirosh Ito sings Green Day’s Basket Case and plays the bass guitar


Mattias Karlson drums on the set


Ed burns on the keyboards


Help me! I think this lady is called Tamao Nakahara (?) and her Ignite presentation was called “Women inside IT: Coding with Grace”


Grace refers to the Admiral Grace Hopper, one of the first modern computer programmers who coined the term, “debugging”.


Sir Elton John, a very real and genuine rock star legend at the Oracle Appreciation Event


Same again, bartender!


Peter Lawrey, expert in very high performance Java computing, getting down at the JCP party and the Nullpointers


See part 2

PS: There was no post JavaOne California driving tour, this year. I stayed just for a week in San Francisco.



JavaOne 2015 – The Twentieth Edition Ten Takeaways

November 5th, 2015 No comments

We have just had the twentieth edition of JavaOne in San Francisco. This would be my twelfth attendance in unbroken series since 2004. What are the biggest lessons that potentially shed a light into the Java’s future.

Modularisation struggle

It has taken almost nine years from the first mention of modules at Java 2007, or rather by the time that JDK 9 is released in September 2016 as general availability. In fact, it will be 11 solid years, ever since JSR 277 the Java Module System. When we think about this effort, it will be more a decade of activity and thought (See Stanley Ho’s original announcement). Oracle’s modularisation of the JDK effort requires a biography of its own. Perhaps, Mark Reinhold, will get around to writing it one day, may be as the mythical man-month of the 21st century. It is frightening to think rewriting, effectively, Java so that it follows HIGH COHESION and LOOSE COUPLING took almost decade. Everyone else not in the JDK engineer should be extremely scared, especially if the business that you are involved in, has it own humongous mountain of TECHNICAL DEBT. Many institution cannot afford to upgrade, rewrite and reorder legacy classes, packages, let alone modules. Indeed, the cost of maintainability is about to go astronomical for those businesses that struggle under the weight and remain entrenched with Classic Java (JDK 1.0 to 7.0) For Oracle, they had no choice to pay the entire cost of development, design and architecture for the benefit of the entire Java platform and community in order to move forward to better and greater deads in the future. Oracle ought be immensely congratulated when we do reach JDK 9 GA in 2016.

Modularisation and our the future

Modularisation of applications and JDK is the new proverbial no brainer – I do believe Java and the practicing developer, designer and architect community have a LINE-IN-THE-SAND (aka DEMARCATION POINT or DISRUPTION LAYER), which we will pass through in 2016.  A modular system can change faster than the JDK platform. If Project Jigsaw is designed correctly, then you no longer have to contend with CORBA or the old fashion IBM derived java.util.Date and java.util.Calendar. In theory, you ought to be able to replace these module services and remove them if they are unnecessary. If you do not need Swing, then that module can go, same for JavaFX and AWT for server only deployment. Whilst backwards compatibility for Java platform is guaranteed, then it means opportunity for experimentation and new ideas. For recruitment sector, I predict, in 2017, JDK 9 will be CAMEL’S BROKEN BACK. I believe nobody will want to touch Java SE 7 or before (Classic Java) with a barge pole when they can move ahead quicker.  The top engineers will look at your job specification and run hundred miles if there is even an hint of classic Java there. You can offer £1000 per day for 6 months, but who seriously would go through technical debt and attempt to re-modularise ancient Java code, when the next women in the business down the road, is cracking on with the modern modular Java frameworks, gaining considerable experience, moving ahead of the pack, building the next greatest thing on JDK 9. On the other hand, Modularisation does not solve the technical debt, mountains or hill of it. If your business’s mission critical software is an unassailable ball of mud, then you will continue suffer the debt unless there is Agile change of behaviour. I think this is reason why the Oracle JDK 9  team want us to be the early-access early adopters in order to test their enterprise software as much as possible.

Enhanced push for Java into the cloud

At JavaOne 2015 there were a lot ideas and conference talks on Micro services and building Cloud enterprise applications.  The exhibition had a few cloud vendors like JElastic, Red Hat, Pivotal and CloudFoundry. Oracle released its own long-awaited cloud offering called the Oracle Java Cloud.  Ironically, their PaaS solution offers server clustered with Oracle Coherence, which used to be called Tangasol. Cameron Purdy, a very recent ex-Vice President of Oracle, created this early distributed grid and caching solution and, actually, one of his advocates, Brian Oliver, came to the JAVAWUG BOF 26 back in 2007 and gave a talk on Coherence.

Kubernetes and Docker

Arun Gupta was one of three technical speakers who discussed Kubernetes (Google’s cluster of Linux containers). There is new terminology. Pods are collocated group of Docker container that share an IP and storage volume. A Service is a single, stable name for a set of pods, also acts as load balance. A Label name value pair is assigned to a pod. Unofficially, the old application server marketing wars between LIGHTWEIGHT versus HEAVYWEIGHT, which usually took the mode of Java EE versus Spring, took a back seat at this JavaOne conference. If you happen to use Docker or Vagrant and configuration management tools such Chef or Puppet, you probably would spit on the old argument, because if you are stopping and (re-)starting a virtual machine that is configured from Soup to Nuts with a deployment profile, you could not care how light or how heavy WildFly server is? It is more important to know that WildFly 8.2 can be launched with said ACME.WAR already deployed, and the HTTP Undertow module is attached to a  secret port 4123 that is mapped externally port 80 on some virtual machine. You no longer care how large the WAR file actually is, if the WAR file is 10MB or is 1MB.

Dreaming of micro-services

Dianne Marsh’s talks about NetFlix dev ops were completely full. Many people are thinking about these ideas, I suspect that few, very few have the business support, let alone acumen, inside their organisations to actually practice these ideas. Micro services requires  operational teams that work at cross function and usually across divisions. SILO-DRIVEN ENGINEERING, which can found in many traditional USA and UK investment banks, other large commercial institutions,  retail organisations, digital design agencies are an anathema to Micro services. So keep on dreaming if you are fortunate or unfortunate to be a working part of these … The best you could hope is not Microservices at all, but you can rethink your MONOLITH and attempt to get to COMPONENTISED APPLICATION, and if you can get to this point in your enterprise architecture, then you should be able to get a MODULARISED MONOLITH, which is better than a (spaghetti built) MONOLITH.

Scala and Groovy

– there were less alternative JVM languages talks this year. I went to the Apache Spark talk with Ted Malaska, which was very interesting. I also attended Cedric Champeau’s Domain Specific Languages talk in Groovy.

JavaFX progressively mobile friendly

JavaFX was business as usual on the desktop – Surprisingly, there was no keynote innovations around JavaFX at this year’s conference, which showed off new functionality. However, JavaFX adoption is stronger than before, because Swing is on maintenance mode for several years. Gluon are investing in mobile cross-platform support for JavaFX. Gluon has taken over the effort to port JavaFX applications to iOS and Android. For the desktop, JavaFX probably needs rich text editing components. For the mobile, there is JavaFXPorts. I suspect the next huge chunk of the work for this software team is help with the JavaFX 3D and the media libraries.

JavaScript impact

There was some support for JavaScript programming on the client side with AngularJS. In my own talk Digital Java EE 7, I demoed an AngularJS case worker application and there was another competing talk on AngularBeans, mixing AngularJS with JSF. Oracle also announced there own JavaScript Extension Toolkit, which is based on Knockout.js, JQuery, JQuery UI and RequireJS. Kito Mann had a talk on Polymer web components. Of course, there was also Nashorn technical sessions for those business interested in running JavaScript on the JVM server side.

Container-less builds

People are interested in definitely into Spring Boot and may be WildFly Swarm, precisely for the same reasons that they might be sold on Microservices.   The big difference, obviously, is the technical support around Hot JVM class reloading and  dynamic resources. This should not be surprising that these extension solutions go against the investment in WAR deployment in application servers, although the exception to the rule is Play Framework with Scala (and Java). IDE such as JetBrain’s IDEA 15 and Netbeans 8.1 allow interactive and experimental development through HOT changes. dvelopers can make reasonable changes to Java code and more important change CSS, page viewS and JavaScript files without having to restart the application. With Micro services and their close brethren Containerless builds in WildFly Swarm and Spring Boot this high interactive mode (I’m channeling in Bret Victor – Inventing on Principle here) is taken away. In the case of WildFly Swarm, the biggest issue is their no such thing as an exploded-dynamically-reloadable ShrinkWrap  implementation yet, which would allow JVM reloading of classes and web resources. The only way round it is to possibly write applications in the APPLE-IDIOMATIC-SPLIT-TEAMS-SECRET methodology. The user interface design team develop a new front-end that just has a responsibility to show a list of products by title, headline, graphic and description. The server side teams writes the remote endpoint services to query the database. The front and back team agree on a REST API or web interface, but they no clue about the products themselves or descriptions. They will test with mock data. The executive will fill the product database just before the launch with the Apple iPhone Invisible Edition 5150 and all of the relevant information, headlines, titles, hero graphics, comps, descriptions and prices to go with it. This is a great solution for Apple, because it is a Kool-Aid company,  it is not so good for smaller teams, small medium enterprises and even one-man (and one- woman 😉 bands, because more often than not, you want a full stack solution that you can entirely play with it from front to back and vice versa. Containerless then are great for RESTful endpoints and server. Code Hale’s DropWizard showed us how to get us there, but there are not so good for web front-end work in Java (yet).

James writes Java

Mike Duigou’s talk James Writes Java: What I Have Learned by Reading James Gosling’s Code [CON3563] – this was a fantastic session. I’m glad I saw this live, because it reminded me of notion not to become complacent in my coding. James Gosling absolutely continues to stretch his coding with knowledge that he is gained. There is also room for improvement.



Java has another 20 years of life at least. It is possible to have a career  working entirely on the Java platform from 23 (Graduate Junior engineer) to 63 years old (Chief Architect of ACME / PEABODY and still code). I think that this is certainly achievable. It is the other industry practices outside of the Java programming language and JVM that will have profound effects on this ecosystem. Hardware is going to scale up and across. The JVM will have to cope with 1TB RAM and garbage collections. Indeed, this is the next growth area for the JVM engineering team. JDK 10 should hopefully see Value Types to help with memory allocation. On the server side, cloud is still the new frontier, because it still unsure how blue collar Java developers will decide on the value for the cloud.

On the user experience side, JavaFX has given the rich client interface an extension of life. JavaScript is great for web browsers and HTML5, CSS elements, but for heavy duty graphics animations, sound and media rendering, a rich client is a must for applications. Maybe there is a LONG-TAIL in native mobile development after all, Java and JavaFX can only sit on top of the two supposedly insurmountable WALL GARDENS of LOCKED-IN platforms. If it Java is sitting, creeping along and lurking just there, then that opportunity might come along, which it does every once in a while, and make its move. However, it will take dedicated enthusiast and small Agile innovative start-up companies to keep up the pressure and ensure that UNIVERSALITY for mobile development continues. I believe there is a chance, because mobile chip sets are going to get exponentially better over 10 years. It will be interesting to see where JavaFX and other JavaScript bridging solution move us in a few years time, let alone 20 years.

The huge opportunity is the Java MODULE system. It is the ultimate DESIGN-FOR-REPLACEMENT feature not within the Java programming, but into the Java Virtual Machine and JDK distribution. Will we, developers, designers and architect, use it for good? Will we use it in the modification of SOLID? Or will we abuse it somehow? Modularity probably lies in two opposite ends of the ruler, at different scales: the Internet of Things and Micro-services distributed application modules. The future is difficult to predict in terms of hardware and software. The only thing that we can do is get involved, get into it, and keep pushing the envelope. Let’s enjoy the ride.




Arun Gupta for Refactor your Java EE Applications with Microservices and Containers (CON1700)


Rafael Benevides (L) and Antoine Durandt (R)



Stephen Chin soldering at Raspberry Pi and the Oracle Demogrounds and JCP Hackergarten



Badge 2015


This is for Kevin Nilson, a fellow Java Champion and Googler. Kevin’s son is speaking at the Ignite session at JavaOne 2015!


JavaOne 2015 CON5211 Digital Java EE 7

November 5th, 2015 No comments

By sheer luck, the magic of UPS managed to deliver a consignment of books on the morning of the very last day of the conference exposition. Where I was of sullen disposition, I had had my hopes dashed, suddenly there was resurgence of faith, when I saw the tracking numbers at 9:37Am and the said books delivery to th Java Community Process ( JCP) in Santa Clara. All we had to do, get a staff member and pick them up from the JSP office and bring them to San Francisco. Harold of the JCP was the main man, who drove all the way.

I had a book signing on Wednesday in the Hackergarten at 2:30pm. The books went fast, so quick that they were all gone before the start of the next technical sessions at 3pm.

It was a very happy ending to final underline 18 months of work. This was crossing the finishing line in style at the top Java conference in the world.

My conference session on Thursday was reasonably well attended given the time. Here is the slide deck for CON5211 Digital Java EE 7 with JSF Conversations, Flows, and CDI Scopes.



Sadly, this was one of the conference sessions that were not recorded this year, and therefore it will not be possible view on demand. in 2014 , all  conference sessions at JavaOne were recorded and then processed with Parleys, the deal between Oracle and Parleys obviously came to an end and never extended.


I specially thank Heather Vancura for supporting the book signing since last year. I also thank Naoko Hamamota for the business liaison between Packt Pub and the JCP, and Harold.



Harold Ogle from the JCP  




Heather Vancura of the JCP Management Office



Naoko Hamamota



Beverley from the Boston Globe gets a second signed book




Categories: California, Conference, JavaOne, technology Tags:

JavaOne 2015 continues and Java will live forever (… well maybe a LONG-TAIL)

October 28th, 2015 No comments

Okay. Maybe I am being over dramatic in the title. I do believe that Java, the ecosystem, the community, the virtual machine and the mother programming language will be around for a long time to come.

  1. What can deflect from it? Postulating in my hotel room with a lot time, in between adding finesse to my talk, I think that it will be a supreme disruptive technology that is going to usurp Java. Twenty years of Java is amazing. It is amazing investment and also technical innovation mountain. Some may view it as a massive debt, other protagonists will see it is as security.
  2. What may disrupt the Java drive train? JavaScript, not really. It is going to be long time for JavaScript to become multiple thread, dynamic and gigabyte memory, garbage collection machine. Indeed, this issue of size is where Java is a little bit of vulnerable. Java will have to content with RAM sizes in a few years that happily marshall a terabyte of memory. It will also need the scale down in other direction for the Internet of Things. This is why MODULE and AGGREGATES are critical requirements and achievements for the entire Java platform. If we can get through the JIGSAW it will be like going through the looking glass and we will be within ALICE’s WONDERLAND.
  3. If anything is going to be a Java Killer, then it will be LEFT-FIELD. I don’t think it will be SWIFT even if Apple decides to open source the language and make it cross platform. Programming language is not the issue in 2016. In the year, 1995, It was programming C and forgetting to call the free() standard library call after it was assigned with malloc(). Java was the LEFT-FIELD in 1995, because no one suspected a few supremely critical ideas to be pushed together (COMPOSED in term of SOFTWARE).  Portability was achieved through byte-codes and a virtual machine, networkability was achieved through Java standard library (JDK), and security was achieved through a sandbox of Netscape Applet. Back in 1995, these were hard things to achieve. I can remember to every company that I joined, I had a copy of MyStringUtils.c, MyLinkedList.c, MyHashTable.c. Standard libraries were so flipping important back then, and now we take the Java SDK to advantage, gracious heart, and we say in unison “Meh!” Quite rightfully so.  So the next generation Java thing or killer will be something out there that we don’t expect based on the problems that we have today.
  4. I wish that you readers, who are not at JavaOne, can see the Star7 video with James Gosling.  The video is from 1992 (c) Sun Microsystems. Gosling had the full sign-off and support from Scott McNealy to develop and innovate a product. The video shows James manipulating a touch screen of about 7 inches, with an old fashion brick GSM antenna. This is a looping video of Project Green, which eventually become Oak, which became the Java platform. Oracle is showing off the video  in the 20 years of Java exhibition in Parc 55. The database giant should put that video on YouTube. End of.
  5. It was great singing with the Null Pointers band last night at Duke’s party. Susan and Alison were great. The whole band Frank, Cesar, Zoran, Ed, and Freddy were outstanding. We rocked the house!
  6. No to the security guy at the Tradition Bar, who asked me for a photo Id. Do I look like 17 years old? Really. Sort it, man!
  7. Yes to the Piano man (Frank O’Connor) at Lefty O’Doul’s Irish bar/restaurant on 333 Geary St. Props to Rob and Jeff too!
  8. Great session by Ed Malaska on the Apache Spark with Java and Scala. He made this so-called Big Data processing look fun and easy to understand. I shall be looking at your RDDS, Direct Acyclic Groups and your Mapping flows and Reducing flows.  Scala does shorten the developer programming API by quite a bit. You need to see the inferred types revealed explicitly, behind the code.
  9. JDK 9 Language and Tooling Features with Joe Darcy was also good. The early access builds are worth checking out now, because there is a high quality. In fact, you should at least try it today. Also in the next expected build post JavaOne, the RPEL will make an official debut. Yes, finally Java will have JSHELL, a READ-PROCESS-PRINT-LOOP.  Teachers in education, start rejoicing, because Java will be easy to teach. Oracle should definitely throw up a JavaFX wrapper around the JSHELL. Oh yes. May be the GLUON team can make a mobile version wrapper on a native device.
  10. I had a chance to catch with the Java EE 8 MVC specification team and caught the last part of this lunch time talk. MVC now has a Redirect Scope instead of the much discussed Flash Scope. They renamed the map collection to Redirect Scope in order to avoid confusion with the Flash scope in JSF. Moreover, the form validation seems to be on track.
  11. Bumping into fellow Java Posse Round Up people, really warmed my heart. Todd Costella, Fred Simons, Dianne Marsh, James Ward and Joel Neely.
  12. I have to run to a session…. *TBD*
  13. Somebody asked me earlier this morning about “What is this BOUNDED-CONTEXT that you speaketh?” (See below)

Star 7

Frank O’Connor


Eric Evans: What I’ve learned about DDD since the book

Please do invest in the original DDD book not the distilled texts, even though it is a bit dense. You have to read parts of it several times over, but once you understand, it is enlightening.

Have a terrific Wednesday.




(*yes I am aware of spelling mistake. You are getting this prose almost LIVE)

JavaOne 2015 Rapid accelerated thoughts so far

October 27th, 2015 No comments

I thought that I would put out some of my JavaOne 2015 journalistic blogging thoughts.

  1. The push to MODULES is in ernest. Mark Reinhold is asking for help to test the JDK 9 early releases. He want to ensure that Project Jigsaw is “done right” without breaking the guarantees of the Java platform: (developer) usability, (developer) productivity, universality, extensibility and (backwards) compatibility.  Seriously, if you are stuck with JDK 6, then what you are doing? You need to know ISOLATE and add the ANTI-CORRUPTION-LAYER to that module or set of components. Trust me! In 2016, JDK 9 module will be a game-changer. Think about this. It is far easier to replace and upgrade a module than change a platform. So if you system is not even running Java SE 8, then over time it is going become expensive to maintain the existing system. The cost of buying a Oracle’s support for JDK 6 business release will probably mount up and over time, year and year, you will face RECRUITMENT, RETENTION and INNOVATION challenges.
  2. MODULES are exciting for many engineers, designers and architects, because they will enforce LOOSE COUPLING and HIGH COHESION in the JVM not just in the Java language. MODULE will, therefore, work across alternative JVM languages, including Scala and Groovy. Future applications will know form the module system, if there is any class, package or mixed-in interface missing , it will know if there is a conflict in the module path, and module writers will be to able fearlessly change their internal implementations of their modules.
  3. I believe that MODULES will bundled together AGGREGATES that define a BOUNDED-CONTEXT. If these  AGGREGATES are aimed to the server side, then it will be naturally to compose them together into MICRO-SERVICES.
  4. Of course, for rich clients, AGGREGATES with JDK 9 modules can replace the hubbub of systems that run with Swing. Although I would upgrade to JavaFX, and think getting a dependency injection container into mix also e.g. Weld SE
  5. I went to see Arun Gupta’s micro-services talk on Java EE. Some of his talk covered the same area and the progress made by NetFlix and their OSS. I saw a lot developers who are interested in this session, but as Arun cautioned with gracious wisdom about Conway’s law. If you don’t have buy-in from the executives in the business then your efforts to move-everything-to-micro-services dream is already blown. (Read some other books like De-Marco Peopleware and also anything from Gerald Weinberg Leadership and Consulting.) My own feeling here, is to transform MONOLITH to a COMPONENTISED APPLICATION (Java SE 8) and then when you are ready to take the transformation step to MODULARISED APPLICATION.
  6. I bumped into a ACCU chum Seb Rose, who is a Scottish Agilist. Seb was talking a Cucumber JVM and Behavioural-Driven Design at JavaOne in a morning tutorial. Seb anb I found out that we were flying on the same jet plane from London. We had a good roaring laugh about Adobe CQ5 over a beer.
  7. Monday, I spent almost all of the time in Parc 55, because the Java EE session are co-located in that hotel. I only went to main Hilton hotel  for Mike Duigou’s “What I learnt by reading James Gosling’s code”. It was great talk about a Scott Nealy’s genius developer and the way James codes software. Yes he using Apache Maven. He writes his libraries. He is very concise, logic and there is some real visionary ideas like writing a Hibernate adaptor that read and wrote to the file system. What? Well he needed a database schema change, then James broke out SED and AWK and effectively changed the text files. None of this ALTER TABLE … rubbish. And I asked Mike if James curses in his code. Yes he does. We are all human.
  8. It was great to see some of the Ex-Oracle evangelists doing so amazing well. People like Mark Heckler, Tori Wieldt, etc.
  9. I received an official apology from Packt Pub about Digital Java EE 7  books. I’m cool with it. We might be able to do something, but I need to speak to Heather Vancura, first.
  10. I also went to the DeltaSpike CDI session and there are a couple modules in there and are worth re-investigation Test Controller, Exception Handler, Query Data and Controller.
  11. Last night, I performed with as part of the Null Pointers at the JCP Party event at the top of the Hilton Tower in the Cityscape restaurant. Alison, Susan and Horishi were terrific.  I had only two songs to do. Props to Freddy, Frank, Cesar, Mattias, Ed and Zoran. We rocked the JCP Party! Alright! Thanks to JCP party and JFrog for hosting the band, and to the founding band member for the invitation. Cheers!
  12. My blog is embarrassingly for a digital web site. It suffers from Cobbler’s Wains. Must do better in 2016.


Have a fantastic JavaOne Tuesday.


The Future – No more writing books for me anymore – Not fun

October 26th, 2015 No comments

In the future, you make your own or else somebody makes it for you. That’s my philosophy for things in life that you have control of.

On the other hand, there are a lot of things that not in your control. It was General Eisenhower who said something about plans are useless, but planning is everything.  I seem to write better prose when I have emotions running through my system. Maybe I have a tiny bit of Toni Morrison about me. She, of course, is an award-winning Nobel Laurette, driven by frustration, anger in her life, her intense and incredible observation of human behaviour and a keen eye on the body and soul. Morrison exercises supreme control of that anger,  she is precise, contrite, romantic and a vision of the moral tale. I am just a technical author and yet I find and respect other great writings with fictional prose with deep hidden meaning.  I really loved Nile Rodger’s fantastic autobiography. (The book’s photograph inspired my blog site:) I also need that feeling of belonging and cause. Therefore, planning to write is useless for me. I just write when I feel. I write and involved my contracting and work experience. I found my style in my second book. I learnt enough about my delicate psyche to know that I need that thing called core passion, the belief in the technology, subject matter in order to write brilliantly about it.

This day I announce that I will not write any more long form books. This Digital Java EE 7 book is my last book. This may be disappointing for some, or even surprising to many kind readers. I care about the new experienced engineers attempting to the build a career in Java community, much like I did nearly 17 years ago. However, this time, I am let down by plans that never came to fruition, not once, but twice. You know what some might say about. Once is accident, Twice is clearly deliberate, and third …  no it is not for me. I will never allow myself get tricked or fooled in this effort ever again. Sorry about that at JavaOne and all my followers and my readers.



Peter Pilgrim




Categories: Business, JavaOne, technical, Writing Tags:

My Digital Java EE 7 book is now published

October 8th, 2015 Comments off

After so long, such a long time, I’m excited to announcement the availability of my second book Digital Java EE 7 Web Application Development. It is available from Packt Publishing.


Digital Java EE 7 Web Application Development

Front cover of my book


These are the chapters and appendices:

  • Chapter 1 Java EE 7 Platform for Digital
  • Chapter 2 Java Server Faces Introduction
  • Chapter 3 Building JSF Forms
  • Chapter 4 JSF Validation & AJAX
  • Chapter 5 Conversations and Journeys
  • Chapter 6 Faces Flows with Finesse
  • Chapter 7 Progressive JavaScript, Frameworks & Modules
  • Chapter 8 AngularJS and Java RESTful Services
  • Chapter 9 Java EE MVC Framework
  • Appendix A – JSF with HTML5, Resources and Faces Flows
  • Appendix B – From Request to Response
  • Appendix C – Performance in Digital Teams
  • Appendix D – Curated References


I took a different approach to writing with this second book that I learnt from my first book Java EE 7 Developer Handbook. Because I had been contracting and working in this digital field outside of the investment banking hub of the City of London and Canary Wharf, I was suddenly exposed to the world of propert e-commerce and the digital transformation of services. Rather than stay in silo looking at massaging records, numbers and prices into and out from a persistence database, I left financial services for good.

I was working in environments that were more about build fast, fail fast and the projects were for ordinary consumers like a Japanese car manufacturer who wanted a responsive web site portal. I was amazed to find myself working with excellent, passionate and inspired creative people, designers, including front-end developers who are expert in modern JavaScript frameworks and intelligently working with HTML5, CSS and smartly debugging content with the web browser inspector. My world view was turned upside down for over two to three years ever since the London Olympics.

In short, my experiences of digital transformation had a deep effect on the way this second book was going to be written. My other ulterior motive was that I ran out of trees and pages to include essential web development stuff into the Handbook. The third reason was that I was once the founder of a London Java user group, which had the name Java Web User Group (JAVAWUG). As you can see I had every reason to have a second go at writing, especially beyond the normal run-of-mill technical writing production: here is a stripped down Java technical example of a class and this is only the part engineers should be or are interested in. In the age of digital delivery service, collaboration, lean, responding to constant change, and fast pace change that attitude for a Java engineer was never going survive for the long term.

JavaServer Faces (JSF) is still preferred web application framework by many a corporate institution and therefore knowledge about constructing page-by-page navigation is requisite, even if it is not JSF, is the nature of the professional day. I start from introduction of JSF and then gradually build up to sprinkling magic dust of AJAX with and without REST for dynamic content. Before you can add finesse to any sort of digital application, you need to learn the basics from first principle. JSF is very important for the Java EE platform as it is a component oriented framework. Ironically, I am glad the damn book took longer to write, because I just got in on time a dedicated chapter to the very next kid on the block: the up and coming Java EE 8 MVC specification.

The big bad wolf for many server side Java developers is a fear of learning and having anything to do with JavaScript the programming language. Yet, it is the preferred front-end language of your team mate, colleague or remote worker that you work with, talk to, listen to, chat over IRS or Slack, and therefore collaborate with, every single working day. Why would you think that his or her efforts are not worth any respect or care for your time? I make the case for learning basic JavaScript and it’s pseudo object oriented form. I dearly hope that I manage to persuade some of the hard-core hold-out Java engineers. There is also a quick-fire complete chapter about single page applications using AngularJS client and also implementing the services through JAX-RS.

I thought carefully about the practicality of the examples and they reflect some of my experiences in professional projects, especially in and around the GOV.UK and other e-commerce organisation. A lot of the trails will be applicable to retail clients and other specialist companies. I hope readers take the pleasure in reading the book as I have had expounding the Java EE 7 know-how. With this book, I even included exercises for students that I did not ever consider, regretfully at the time, for the first book.


Stay tuned for further announcements and please follow me on Twitter.



PS: I am presenting at JavaOne 2015 on a topic from my new book.

PS PS: Who designed the front cover graphics for this book Digital Java EE 7? Me. I did it! I designed my own front cover as well as write the text. One day, I will tell you about it.


Categories: Uncategorized Tags:

Contracting #20 – How to get good at handling enquiries and telephone calls?

July 6th, 2015 2 comments

I still see many contractors making the same mistakes over and over of not protecting their vital assets. Your social and business network is your life. You need to learn how to protect it and only provide suitable access for acquaintances, agents and brokers, when you know the other person reasonably well.

  1. Did you work for financial company X? Who was your manager? Was it John Smart Xander?

    Don’t be tempted to fall for this type of social engineering.
  2. Peter, where has your CV been sent down? Because I want to avoid the mistake of sending your CV twice, I need to know this.
    Again, the request sounds genuine and, of course, feel considerate, however this request usually of marketing and phishing for leads. The truth of the matter is, is that it is really none of their business where your CV has been sent. As a Contractor, you really have a grow some. If the person requesting becomes demanding, then forcibly end the conversation. You have got things to do, people to see, you developing code for a client. Good bye.
  3. What’s your last rate?
    This is sometimes a hard a question for contractors who have taken a job at less than their market rate. There are many reason for this. A good one is that you want exposure to a new technology that you have little experience in. Therefore you reduce your rate in order to gain knowledge in a current technology. Once you have obtained and finish the contract what happens next? So here you must be already prepared to deal with this question in your mind. If you have no idea what your rate is for your next contract is, then the agents will not help you, instead they will out box you and of course and you don’t want that to happen. In other words, when this question is asked you are already in a process of negotiation. Once you agree to the initial conditions then it becomes difficult to say you want much more money later on. Worst, it would make you look like a fool. Always have a confidence idea of contract rate based on your current circumstance before you answer that question.
  4. What’s your current rate?
    The remedy for this question is very similar the “last rate” question. You should know what your expected contracted rate is and, more importantly, understand the market rate through research. A job economy is like a finance market economy. Sometimes the market site goes up during lean times and some times they genuinely go down. A massive restructuring from a major invbestment bank One solution is to track the adverts on sites like JobServe or JobSite.
  5. You have received a job offer and the client will only pay 5% or 10% less, or the contract was meant to 6 months, but instead they are offering only 3 months

    This one is very hard to say what your decision will be, because as a contractor you might be facing extraneous circumstances. It depends on the economy and your feelings for the contract market in general. Here are some reasonable situations why you might accept a short term rate cut? You and your spouse might be expecting a new baby soon, or you might be chasing a mortgage application, or you have been out of work for a while. A job offer is a chance to work and earn money, and hence that is also an incentive why an unethical agent might be tempted to produce such a move, especially if they know about life circumstance. My advice is follow you gut Do you work to live? Or do you live to work?. If you accept the pay cut then you look like a lemon. If you have a real reputation then you tell them to kiss your black Scottish ass! Arguably, the reduction of contract length is more palatable. You know that the client just does not have the ready cash to budget for a full months, but they are willing pay for 3 months of your time. As a contractor, you already know that this temporary resource work and you are probably going move on after 3 months. So it is really not such a massive deal. (In thge permanent work world, I have had one experience of this salary expected versus eventual offer, but that was over 20 years again. You know the developer fashionista style: once bitten, twice shy. (This sucker move is the type to happens to new or recent university Graduate workers: Bait and Switch)
  6. Before I send your CV to the client, I just need two references

    Think of pyramid schemes. They general don’t work for 99.99% of the people who join them. I have already this question before in a previous blog post (I never up give upfront references). What stage are you in the job search process? Have you been made a job offer from the client? Is this a request from the client directly? Then I personally don’t have a problem providing references directly to a client. This might be the final step of dotting the i-s and crossing the t-s for the human resources department. For any other stage, I do not provide references ever. I am happy to provide testimonials.
  7. The client requires you to complete a programming challenge, test or an application

    This request is not untypical of clients, and sometimes comes from the agents, through the bizarre and hated Codility tests or the much older IKM Java tests. Although some developers genuinely enjoy the technical challenges, these tests often may requested before an actual telephone interview or a face-to-face interview with a potential client. My feeling is that they are frustrating impediment to talking to real clients, customers and business people. You cannot sell yourself to a Java test no matter how good it is. Does completing an online timed test validly test your skills in the business situation, I think these might be useful to filter out permanent vacancy and check any type of basic skill. As a contractor, you have to knock the side of head very hard with your knuckles, to try understand why are you accepting a Java test before a formal discussion with a client whom you have never met. As a device to filter out consultants it is patronising as well as humiliating. Don’t get me wrong. Testing the coding skills of potential candidates is valuable, but from the experienced contractor with supposedly better skills than the client may have on his or her hands, it is a bit strange. In fact, this situation smells more like new and recent guaduate recruitment rather hiring a contractor or consultant. May be we should subject James Gosling or Bill Pugh to a Java test? Or perhaps we can ask Joshua Bloch to write String comparison example in Java? What about Odersky against a Scala programming test? No. It would be embarrassing if a prospective client asked such a question upfront. So my advice is to resist the challenge and push back hard.

Finally spare a though for the client, the stakeholders and business decision makers, our customers, who could just as well be new to the world of frustrating recruitment. It is equally hard for them, if not harder.

PS: A lot of this advice is usable to permanent job seekers: substitute contract rate with an annual salary and longer periods of employment.

Categories: Business, Contracting, Development, Education Tags:

Contracting #29 – Sadly, your Job specification was chucked straight in the Digital Bin

June 17th, 2015 Comments off

I chucked another one in the digital waste bin in the sky.

Good Morning,

I am currently recruiting for a Lead Developer with strong Javascript for a client based in Central London, this is a permanent role and I wanted to establish if this might be of interest to yourself?

I have listed details of the role below for you. If this looks of interest then please email me over a copy of your latest CV for immediate consideration.

Senior Javascript, Front End Developer, HTML, CSS, Javascript, JQuery - £50k-£65k
The position is for a senior JavaScript Front End Developer to be working in the framework development team alongside their existing senior JavaScript Developer and 4 back-end technical developers on our core products.

Contracting …. contracting … contracting

Categories: Business, Contracting Tags: