Archive

Archive for the ‘technology’ Category

Initial Days of the JavaPosse Round-Up 2013

February 26th, 2013 Comments off

On Saturday, 23rd February 2013, South London, early in the morning, having packed my snowboard and a small Samsonite grey suite case overnight, I got up, trying my best not to disturb my partner. I was on my way to London Heathrow. The morning Sun sternly pushed its sunlight through seeming impenetrable clouds in to average Londoner grey day. A couple of snow flakes magically decided to reveal themselves every cubic metre on the fresh wintry quest for vanity. The United Airlines plane took off time to Newark at 10:15. I could sit and back and relax, so they say.

I have to immediately say that Argo, the movie that Ben Affleck won the Oscar Director for, is great, even though you know the result. I was rooted for the government workers to get out. It told the story from both sides, especially the Iranians were frustrated with their lot, their Shah of Iran, who escaped with billions of gold. In my opinion, Ben Affleck is the next Clint Eastween, if this is the standard of his first directed movie. That was the highpoint of transatlantic voyeur; and a large hint of the frustration to come to me.

I attempted to code and write content a little. I had bean researching how GlassFish Embedded application server v4.0 and WebSockets 356 played together, and following the expert group mailing list. Danny Coward now wanted to renamed the current annotations in the specification JSR 356. WebSockets endpoint were not been injected by the CDI Container present GlassFish, and this was a frustration on the plane. Luckily before I took flight I changed the gradle settings to include providedCompile 'org.glassfish.main.extras:glassfish-embedded-all:4.0-b77'. This brilliant idea that I had was fantastic, running “gradle idea” sort of worked, but I realised that I missed one other dependency providedCompile 'javax:javaee-api:7.0-b77'". There was no available Internet on the transatlantic plane. It was time to put the machine away.

Untitled

View into Montrose

Eventually, I landed at Denver International Airport after 18 hours, where they do have free-WIFI, only to be shocked at the news: The 19:30 flight from DEN to GUC (Gunnison) was canceled. I got on the internet with phone, something about Dianne Marsh and the Weather and delayed and cancelled flights. United Airlines service customer desk at gate B33 did confirm cancelation of the flight, I was stuck in Denver for the overnight. The clerk handed me a pink slip for the airport hotel. My annoyance really almost saw the milk almost boiling over on the stove: no, I just caught it in time, flicked the switch, the British Gas was extinguished and gladly no lactose was burned: this time. The smell, anyway, would have been so awful. The sense of decorum, in myself, returned, sort of. United had given be a confirmation of Monday 25th February at lunchtime as my next guaranteed flight out to Crested Butte. Two nights in a Denver hotel: you got to be bloody joking! Decorum was gone by the time, my neurons interpreted, filtered and assessed this aural data.

Matt Zimmer, the organiser of the house in Crested Butte that I am staying in, and a friend had also suffered the cancelation of the last United flight to Gunnison many hours earlier. Without Internet access, I was none the wiser. Matt decided to get his luggage and travel by road the next day with D.J Hagberg. I elected to re-route my flight to Montrose, 60km further out from Crested Butte and thanks to advice from Dianne Marsh, I was flying out the next morning on Sunday at 08:10AM. I overnighted at the DoubleTree hotel, about 25 minutes by free shuttle from Denver airport. I was exhausted and my head was minced like Baked Beans.

Untitled

 

I am standing outside the vacation rental house, 329 Maroon. This photo was taken by Matt Zimmer who organised the rental this year. I thought that let somebody else be responsible for a chance, having being the “housemeister” for 2009, 2010 and 2011.

 

Eventually, I arrived at Montrose, the next day, having survived the ordeal of wearing the same clothes for a second day. Bum hole! United had not sent my snowboard and trolley case onwards with me. I reported my missing luggage and got on the Alpine Express, so much for the best laid plan. The original intention of arriving on Saturday night, was that I would have a full Sunday to go up to the mountains and enjoy some powder and board to my heart’s content before the Round-Up on Monday. Chagrin, I love the French. They had a wonderful footballer, didn’t they, Zinedine Zidane.

I desperately wanted to be Zidane, World Cup winner 1998, on the Sunday, so skilful on the football, able to hide his true emotions and then engineer a flash of instant magic that regularly produced the killer pass to the Brazilian legendary striker, World Cup Winner 2002, Ronaldo, when they both played regularly and so sumptuously together at Real Madrid. Alas, my modus operandi were not that good, when speaking to customer representatives on Skype. I was first to arrive at the vacation rental house on Sunday, managed to get an Internet connection, got on the blower to United to see about my snowboard. The web site, United Baggage Resolution Centre, yes it is all true, Dear Lord, is a load of bollocks. Sorry! Excuse my French. The status was always Tracing Your Baggage, Please Check Back Later; and I did every four hours. I went around Crested Butte, got a bite, a Hawaiian style Teriyaki Chicken, to eat at the Last Steep, which is quite decent. I supposedly reasoned that it was good to have finally made it back here again in Crested Butte for my fourth Round-Up event. I, then, withdrew a bundle of US Dollars for spending money. It could have been a blast. It wasn’t to be. I was safe. Instead, I did some coding more on Java Web Sockets, I found out about the techniques for responsive CSS web design and yes that Gradle Dependency was the cause of the CDI injection failure. I solved it. Tyrus 1.0-build11 is the version of the reference implementation inside GlassFish 4.0 server build 77. Great though that was, a change of fresh warm clothes would have been the clincher.

Matt Zimmer arrived in the evening at the vacation rental house in Maroon. Immediately, we went off to Bruce Eckel’s house later in the evening, as D.J. Hagberg also made it to Crested Butte from Denver through the mountain passes. Being a local Coloradian, D.J said that the four hour trip on a regular day took them seven hours, the weather was turbulent high up on 11,000 feet or so. Experience obviously counts: he is a very safe driver. You’d trust him with your life.

Untitled

Crested Butte, Main street, on Sunday afternoon

The mini-progressive dinner at Bruce’s place where everyone contributed a little bit of this, a little bit that, steak; pork chops; a six pack beer, which I did along with my brother-in-spirt-man, Chris Phleps ; a couple of bottle of wine went along way to taking my mind off the baggage ordeal. It was good to meet and greet and see the Round-Up folks from 2011, when I was last here in Crested Butte. Fred Simon, Diane Marsh, Chris Marks and several other regulars were here ahead of time. Also Hans Dockter of Gradleware and Gradle was present at Bruce.

Monday morning started in a despondent fashion with a fifth call over Skype to the UBRC , the status of the website was the same Still Tracing. I learnt by now to try a different tact on this; my partner often suggested this alternative manoeuvre when communicating with customer representatives anywhere in the world, she says: Tell them, only, what you want. I asked for my snowboard and my case to be put on the next available plane to Montrose and I also asked them for the exact location of where the luggage currently was located as the website was useless at revealing this data. I should say, that all calls, go out to India. I am not surprised by outsourcing suffice to say you can figure out yourself the rest of my reaction to this situation. The fifth customer rep said they do all they could, they will send a message to emergency expedite the bags.

Untitled

Matt Zimmer (L) and James Ward (R) discussing Scala Play Framework during the Free Day on Monday. The workshop took place at the “Posse’s old” rental house.

So my Monday, started at Posse house with Matt Zimmer learning a Scala Play framework with James Ward leading us through an introduction and blocking and non-blocking actions. I thought James did a good job. Monday is a free day for the Round-Up; we could learn Big Data if we wanted to, instead we study a topic that interests us collectively. For me and a few others, an introduction to Play Framework was a good topic. We learnt about a tool call Apache Bench and found that on Mac Book Pro at least, Mac OS X, Play does scale nicely to 1000′s of web request on the same machine. James attempted to reconfigure the Execution Context, of the Play’s underlying fork join framework, which is derived from Professor Doug Lea’s incantations or close enough, as all road lead to his Rome, his knowledge of Java Threads and Concurrency is primus uno. We concluded there must be an issue with the number of collected input and output resources at an operating system level. Matt was a little unimpressed with this as he decidedly had commercial Scala and Play project on the line. Marek Radonsky thought the issue could be a configuration failure with the Netty server library, which Play Framework relies on for asynchronous input and output. Still, Play, for me represents a little bit of dichotomy in comparison with the Java EE world.

Wearing the same clothes for the third day did its best to sally my enthusiasm for the Round-Up. I was beginning to lose the will to live by the afternoon, I refused an offer to go snow shoeing around the town of Crested Butte. I hope I didn’t come off with being like a damp squib to the other Round-Up people. The prospect of extensive physical sweat in the only clothes I had on my back knocked the desire out of me, clearly. By this time, Andrew Harmel-Law arrived and I followed him on tour of the vacation rentals, the Posse House, then Bruce Eckel’s house.

I decided by late afternoon to get back into writing that WebSocket Java EE 7 example for my forthcoming book, incidentally called Chapter 7 WebSockets, at the time of writing. Chris Phelps was there at Bruce Eckel’s house and he showed off his cool JavaScript example: AngularJS and Backbone. He said, “It’s was step up from JQuery”. I was impressed so much by AngularJS and Twitter Backbone, I need to add a client example of this into my up and coming book only to show the state-of-the-art. Barry Hawkins, the long time Agile consultant who transferred to California and a gaming company, Riot Games, was also at Bruce’s house, he was learning Kernighan and Ritchie’s C Programming Language. We had a light smirk on this topic. The irony of all. For many of us C was a one of the first professional computing programming language when we read at University or began our careers. No offence to Barry was intended. Learning is a lifetime of progress, so respect is due, to all those who continue with improvement. A few others, Andrew and somebody else, decided to delve into the Groovy programming language. I think shared knowledge learning with somebody else to trade idea is great way to jump into a new technical area, especially when you know that the people that you conserving with, have quality, it was like the meeting of the England Football team international training at Bisham Abbey. Andrew will probably be amused or get slightly annoyed with that national football team comparison, because he, just like my partner, is Scottish, but you know what I mean about quality developer, designer and experienced people, many of them great Americans. The point you know when you are standing with peers of high quality; you have met these sort of professionals, then you know what the quality and the standard is for evermore.

A bunch of us headed to Secret Stash, my mood was somber, I did my best to put on a Lady Gaga appearance emotionally, but my version of Poker Face didn’t hold up so well and my tell came to life and revealed itself when the restaurant and the cooks were 15-20 minute late with my pizza whilst everyone else at the table was tucking into pork infested pizzas. I was hungry, frustrated with United Airlines, and everything else. Eventually the BBQ Chicken arrived; it was just okay. I cracked a few jokes, and war stories here and there. I fist pumped with Chris Phleps about respectively terribles ordeals in the IT industry. We both needed to get the funk out of our collective systems. We both moved on to something better, it was good to give each other that support.

Untitled

Monday night dinner at the Last Steep restaurant. From left to right: Guy, Dimitry, Chris Marks, Chris Phelp, Andrew Harmel-Law, Todd Costella, and Me.

My fight with United continued for seven time after 8pm on Monday. Finally, a breakthrough, my baggage had been located in Denver and they were sending it through to Gunnison, unfortunately the Indian UBRC representative could not tell me either when exactly and how it get to Crested Butte. I went for a short nap, read a few emails and tweets from London UK. Not much going on, Ben Affleck was now a super star actor and director and so was the actors Anne Hathaway with Daniel Day-Lewis making Oscar history. Some cheer at the achievements of others. I ruminated a little about the remaining schedule for my book. Life could be worse. I was fortunate to make it Crested Butte at all.

I dragged my flesh and bones over to the Ted talks taking at the local Matinée theathre in Crested Butte. I was half interested in the Ted talks by 10pm; too much was going in the grey cells. I was, indeed, not looking forward to a fourth day of wearing the same clothes, then, a Dame in shining armour reared her head. I got a message via Matt Zimmer after the Ted talks: Tracy Quinn the wife of Java Posse member, Carl Quinn, Netflix, said she had got my snowboard at Gunnison Airport. The Java Posse team was also a day late getting to Crested Butte, they finally flew in on the evening flight.

Thanks to them, now I have my snowboard and trolley bag for this next morning. I am eternally grateful for their support and bringing my stuff over as well as other people who also had delay baggage to Crested Butte. We can go as we mean to. I have to rush off now to the Tuesday round-up the first proper morning of the Round-Up, wish me luck.

+PP+

Devoxx 2012 Report: The State of the Expansion

November 19th, 2012 Comments off

Devoxx 2012: Bam!

IMG_1435
Stephen Chin rode into the Wednesday morning Keynote with his NightHacking.com motorbike. It was an exciting start to the conference days!

They say that change is inevitable and you cannot never ever truly predict exactly what will happen in the future. This is common knowledge. Perhaps, the only way we can be sure of the trends, initiatives and the arrow of time, is to take a sampling of the product and the mood at frequent points in time. Measure more often and frequently.

This is one for me the whole point of going to conferences. Beyond a laugh and joke with people you know; there is a serious business of finding out exactly what is interesting people, what is the latest technology and asking what else do I have to learn?

Devoxx UK

The biggest news from my point of view is that they gone and announced Devoxx UK. Yes, that is correct. After the successful launch of Devoxx France, a couple of members of the London Java Community wanted to push ahead with the London version. The main  positive for the London IT developer is that  they do not take the Eurostar or fly; and they can get to see a version of the Antwerp conference with, I presume, the high standard of technical content; and it will be on their own doorstep.

The fly on the ointment for me in the marketing so far, which I can see, is the slight political situation in Great Britain. We have at the moment, a disunited kingdom currently where Wales and Scotland are pressing for devolution of the central government and local council controls; and so in the branding of Devoxx UK the organizers should be careful.  In other words, the conference should take care of the sensibilities and sensitivities of all the British citizens. Personally, being a person of Black Afro-Carribean origin, and also being a rare example of a person who is an experienced software developer in the London information technology industry,  I will advise maximum inclusive and openness in the out-going messages.

Generally, I see great advantages in Devoxx UK for people near and around London, because I have just checked my full travel costs to California; and whilst I do not regret going to and speaking at the JavaOne conference, let us just say the San Francisco hotel costs were expensive. It is for good name of JavaOne, being the Mecca for the world-wide Java development, that I could do it.

With Devoxx UK on our doorstep, for fellow Brits, the cost is significantly reduced especially for the young and old, the unwaged, and any other soul struggling to keep a straight face with their monthly bank balance. Even for folk, who want to travel down from Scotland or make their trip from up North [Northern England; City of Liverpool, Manchester, Sheffield, Leeds, Newcastle, etc] or across the Irish Sea, the cost for people living in the UK should be cheaper and easier to travel to. I also believe Devoxx UK should be cost effective for contractors to take a couple of days of work for self-funded training. So I will keep my fingers crossed for the success Devoxx UK.

IMG_1485
Adam Bien, last session of the conference, Java EE Patterns Revisited: a great talk!

Apple iOS

The conference was also a watershed for myself to embrace Apple iOS programming, thanks to Michael Segher’s excellent university talk and hands-on-lab on the Monday. This is the bonus that taking time out at conference can do especially if you disconnect yourself completely from the constant stream of interruptions from the workplace.  Suddenly, you can be hacking in an unfamiliar domain and furthering your education.

Somebody once wrote in a book about learning to play electric guitar, which I read years ago, that you are now guitarist since you picked up the book and/or the DVD; and essentially start practising the licks on a real instrument. It is a change of mental attitude. If you want to go off on a tangent by yourself into another field; it does not matter even if it is outside technology, find a conference or a setting where an instructor is willing to lay down a bridge stone and gently show the way to get into the new subject. I cannot claim instant gratification of being a virtuoso iOS software developer, but know just like the young girl Lex Murphy, the granddaughter of the scientist, flawed investor and billionaire owner John Hammond in the movie adaption of Michael Crichton’s fantasy novel Jurassic Park; and I can now heartily exclaim, “I know iOS, I know that system”.
IMG_1460
Bill Venners gives some very practical, simple and design advices during his talk about “Simplicity in Scala!”

Hacking Gardens

Andres Almiray organised a Hackergarten for folk who wanted to get involved in projects. I liked the concept of it in theory, however, in practice, when I came down at lunchtime or between the sessions, I did not understand who was hacking on which systems. I could see the JBoss folk huddled together in one area of the exhibition hall and on the other side, where Stephen Chin was conducting Nighthacking interviews, I think there was a Groovy programming activity. The idea was good; it could be better signposted to the observers as they walked around.
IMG_1459
The JDuchess team from L to R: Linda van der Pal, Yolande Poirier and Regina ten Bruggencate

Java EE 7

Whilst I was in Antwerp, I had a task to find out more about the upcoming changes in Java EE land. I especially wanted to learn about the Context and Dependency Injection appearing in Java SE. I was disappointed to learn that this will not make into the Java EE 7. David Blevins intimated that he thought it would be a discussion point for CDI 2.0.

In fact, David Blevins had a rather interesting talk on Extensibility in Java EE 7. I really liked his more powerful and reusable custom Stereotype annotations proposal. Currently in CDI 1.0 for Java EE 6 you are allow to define custom annotations and aggregate them together, unfortunately they cannot be reused with the semantic information applied. David Blevins idea of Metatypes would be a welcome addition. https://github.com/dblevins/metatypes/

He also had another idea for standardising custom connectors with resource adaptors for message drive beans: namely written custom connectors that synchronised command over an input and queue channel to a service, such as Telnet provider or email service. For my point of view, I was not sure about this particular use case and you can read for yourself https://github.com/dblevins/mdb-improvements.  I think this is small-scale enterprise application integration, which is better served in my opinion, by a dedicated framework like Spring Integration, Apache Camel and others.

JavaFX and Embedded Devices

Seeing JavaFX running on embedded devices was a great highlight of Devoxx. I think this reaffirms the direction and intention of where Java as a client-side technology could be going.  There is a whole industry of mobile computing devices waiting to explode out. I believe that impact of the Raspberry Pi and Beagle board will only be truly known a couple of years from now, down the road.
IMG_1447
Simon Ritter wore an EEG headset to detect brain-waves using a Raspberry Pi and JavaFX / Java port to ARM Linux
Gerrit Grunwald, the current wizard of gauge interfaces in JavaFX, demonstrated his Beagle board set-up at the JavaFX University day. We learnt that we should optimising the number of nodes in a scene-graph; if we want reasonable performance on an embedded device, simply because the number of cores in a Graphical Processor Unit (GPU) on a ARM processor boards are at least two orders of magnitude different from a MacBook Pro Retina Display GPU.

Simon Ritter had an interesting presentation that demonstrated JavaFX running on an Raspberry Pi, on a beta release Java SDK, which Oracle announced a couple of weeks ago at JavaOne. The Oracle advocate had a cheap robot mechanical robot, bought from Maplins; a Lego mindstorm with a motor, which any child can plead for their parent to buy; and an Electro-Cardiogram EEG headset connected via USB, working in his presentation. I recommend you catch this talk on Parleys on some stage, because it was fun. I would also like to commend Angela Caicedo for showing off the Java embedded stuff at the JavaFX Bootstrap university.
IMG_1423
Gerrit Grunwald’s Beagle board and JavaFX application, which read the current room temperature

Just to finalise the intention of returning Java back to embedded devices; the original design concept of Java, the so-called Oak, and Project Green, was to develop a set-up top for Television; Jasper Potts shipped the JavaOne consoles, which were Panda Boards, all the way from the USA to Belgium. He updated the conference data, and four of the consoles were in operations in the Metropolis.

I think JavaFX is now the replacement for Swing, and it is getting there, surely after five years now. It needs the other technologies from current embedded devices and desktop machines, namely: Web Camera support, USB input support, Magnetometer, Accelerator, and of course most obviously Geo-location senor input. Perhaps, through the open sourcing of JavaFX by early 2013, we can as community quickly developed these APIs.  In fact, when I had a conversation with Jo Voorendeckers in the hallway, he felt that JavaScript via Phone Gap and HTML5 were still just a couple of strides ahead of JavaFX. In this regard, Jo Voorendeckers and Benjamin Dobler demonstrated how powerful JavaScript and HTML5 are right now with upcoming HTML5-based version of Parleys.

IMG_1472
Yakov Fain talks about JavaScript for Java developers, which actually very amusing and full of that New Jersey Italian Mafia goodness. I really mean this was a very good talk; just to be sure that any gangsters do not come for me in the middle of the night!

JavaScript

Yakov Fain had this final session of the day on Thurday, which was called JavaScript for Java Developers. What a comedic brain this guy has? The best variable name I was seen for a long time was this:

function Tax(income,dependents) {
var mafiaTaxDeduction = 300
// calculate the tax
}

Actually, Yakov seriously gave the audience a very good introduction into the JavaScript programming language. We should respect it as a very general and malleable programming language, and there are very important good parts as well as the script-kiddie bad parts. For instance, JavaScript has closures (lambdas with hoisting) and it can do mix-ins through something called a prototypical inheritance. If you are betting woman [or man], then learn JavaScript [again] for the education major task of 2013 just to cover your bases.

Coda

Well this is not quite the end. Devoxx 2012 was very successful, especially for technologies, which lies on the periphery.  I will certainly remember my first experiences with iOS here. The resurgence of JavaScript was rather well once again made out to be true as the emerging web platform. JavaFX needs to catch up with the sensory device input; and as for JavaEE 7 we have make sure that we, the Java EE community, deliver on our promises. [I will probably add an extra bit of piece to this entry later, as addendum sections. Stay
tuned.]
IMG_1476
This was about the JUG Leaders meeting, and Antonia Gonclaves, the Paris JUG, and Devoxx France organiser, was taking his turn to speak to everyone

Shout-Outs

Here are the traditional shout-out; there is no order implied whatsoever:-

  • Jo Voorendeckers
  • Stephan Janssen
  • Stephen Chin
  • Keith Combs
  • Michael Seghers
  • Yolanda Poirer
  • Constantin Partac
  • Galder Zamarreno
  • Thomas Bolz
  • Dr Mark Little
  • Carlo de Wolf
  • David Blevins
  • Gerrit Grunwald
  • Lucy Weaver
  • Jim Weaver
  • Alessandro Alfonso
  • Angela Caicedo
  • Fabrizo Gianneschi
  • Jose Pereda Llamas
  • Tasha Carl
  • Johan Vos
  • Linda van der Pal
  • Yakov Fain
  • Nicole Scott
  • Jamie McGivern
  • Martijn Verburg
  • Regina ten Bruggencate
  • Heather VanCura
  • Dan Allen
  • Patrick Curran
  • Simon Ritter
  • Terrence Barr
  • Sharat Chandler
  • Renato Guerra Cavalcanti
  • Kirk Pepperdine
  • Antonio Goncalves
  • Joe Darcy
  • Andres Almiray
  • Trish Gee
  • Ben Evans
  • Luc Duponcheel
  • Dick Wall
  • Carl Quinn
  • Tor Norbye
  • Sonya Barry
  • Oliver White
  • Jonathan Giles

To anyone I missed, I did not mean to do it. See you all next year 2013!

IMG_1467
The JavaPosse Live! This was recording number 400, where Chet Haase officially replaced Joe Nuxoll. Episode 400! Congratulations!

IMG_1505
It is my hand. The organisers deployed Near-Field Communications as wristbands on everybody for both parts University and Conference days. Obviously, after five days of shaking hands, showers and general distress these wristbands look worse for wear. I had to get help cutting them too after the last session!

IMG_1416
Gerrit Grunwald (L) and Jim Weaver (R) at the JavaFX Bootstrap university session this year.

IMG_1417
I caught a brief glimpse of Kirk Pepperdine and Aleksey Shipilev talk on Java SE Performance, especially on the part about generational counts and memory leaks. It was useful revision for me!

IMG_1493
Antwerp is supposed to be Belgium’s fashionable city. It is probably true; it certainly has great architecture worth seeing

DSCF4446
Here is a picture of me sitting close to the stage just before the JavaPosse Live episode 400 with Joe Voorendeckers to my left. I was sitting with the blue hooded folk, the Devoxx volunteers and support staff. Ah! Bless them for all their hard work.

 

+PP+ 2012

Silicon Valley Code Camp 2012

October 16th, 2012 Comments off

After the exertions of JavaOne 2012, I was very glad of the relative warmth, wide-range green, autumn plucky country-side feel of Los Altos Hill. On Saturday, 6th October and partially Sunday 7th I was down at Foot Hill College for another dose of the Silicon Valley Code Camp.

For people in Silicon Valley, a weekend after JavaOne, and for a free event, this is training and education that is most affordable. The companies sponsoring SVCC including Microsoft, Box, Dice.com and others make it all possible.

 

DSCF4158
This is Peter Kellner being the Master of Cerenomies and reading the raffle-ticket winners

 

DSCF4152
This photos was taken during the speaker’s dinner late Saturday evening. Van Riper [R] and Kevin Nilson [L] organisers of the Valley Java User Group

 

DSCF4161
Wider focus view to the Foot Hills Campus, which is very well equipped for IT education, I thought.

 

 

DSCF4162 Another stunning view and memory of SVCC. What you cannot see is that the whole college on undergoing reconstruction, there are building works, trucks, pile heaps all around the campus as it is revamped.

 

DSCF4151
Saturday lunchtime. For October, it was rather warm during the day, the atmosphere definitely collegiate, relax and friendly. It was rather cold during the evening, bring a jacket and layers after 6pm!

 

DSCF4176
One lucky raffle-ticket proudly takes and loft over his head the XBox Console that he just won at the SVCC 2012! Am I regretful that I stopped running the JAVAWUG? In those moment like that one was, the easy answer is yes, because to see the joy of accomplishing something just by attending is priceless. However, an SVCC event is unlikely come to the UK any time soon, because we Brits need to adopt that Californian attitude of “What’s the worse thing that could possibly happen?”

 

I was very happy with the turnout for my talk on Saturday: Leveraging Java EE7 and the Cloud with the JavaFX, Room 4305. In the end, I talked for 35 minutes, and the rest was demonstrating JavaFX 2 to the attendees. A smaller audience than JavaOne, but nevertheless they appear attentive and appreciative.

The follow day, I bumped, into Dave Nielsen, of CloudCamp fame, whilst he was given an interesting talk about cloud computing. My ideas about PaaS being standardised next year, were way off, I learnt. There is so much disruption and innovating in Cloud, in his opinion, Dave Nielsen, reckons standardisation is more like two years into the future. Dave Nielsen is one of the member organiser of the OASIS CAMP, an effort to standardise cloud services.

 

DSCF4141
Microsoft brought there own XBox black Mustang muscle car, polycarbonate trim and folds, custom modifications were fitted by the infamous West-Coast Customs, yet another “Pimp My Ride” production. This particular car had a digital LCD dashboard, two screens, it was coupled with a Nokia smartphone app with the ability to remote start (disabled), a projector was installed into the boot and also featured two separate XBox console complete with controllers. Of course, the boombox sound was out of this world.

 

DSCF4146
Code Camp #svcc2012

 

IMG_1288
I started reading Joshua D. Sureth’s Scala in Depth book, which was the only book that I bought during JavaOne 2012. I used to buy lots in previous years, too much to read in so little time. Now I restrict myself to one, if any.

 

+PP+

JavaOne 2012 Report Part 1

October 11th, 2012 Comments off

DSCF3950

 

JavaOne 2012 Conference was last week, as I travel around Southern California, it seems like it happened yesterday. I write this blog initially in Monterey Bay, and then I finish it somewhere near Paso Robles, may be Los Angeles, probably. I have to say, that this year the JavaOne conference was a blast, and not just because I presented three times. Java has moved forward, following the tagline from the 2011 conference, “Moving Java Forward”. This year’s tag line is on the tee-shirt was “Make The Future Java”, indeed.

 

DSCF3979
This is Elber, at one-time an actor, a creative artist, sculpture maker and also a technologist from Brazil. He created the illuminated fish head. I am not sure what type of fish it is by the way. Ask Elber when you see him!

 

The Gathering

Why do we all come to JavaOne? We travel hard to get here, because this is the premier league conference where people from the four corners of the Earth can meet up, discuss the latest trends, solve headaches, come with new solutions, get involved with the community, learn from one another, socialise and finally measure the exact state-of-the-art, the technology rampantly swirlingly around the Java Virtual Machine. The most important and obvious reasons are that Oracle, the stewards of the Java, host this mega conference and they are based in California, so this is their home event. If you will, it probably feels like a home match. I think many people forget about that last relative sentence.

 

DSCF3980
[L] Van Riper, Google and [R] Stephen Colebourne, OpenGamma, both Java Champions, are chatting amongst themselves before the Strategy Keynote. Sitting behind them are Andres Ix-chel Ruiz and Andres Almiray [R-to-L]

 

I went out the JavaOne in order to find out what will happen to JavaFX from personally interest point of view and also to learn about the enterprise Java side, Java EE 7. I was pleasantly surprised to see a lot of Scala talks in the online content catalogue, although I did not go to many of them. Typesafe were featured predominantly.

Bundling JavaFX JAR

Why is jfxrt.jar bundled as a JRE separate  file, and not inside rt.jar?
The answer is that the JavaFX is not official part of the Java SE 7 standard. The only way to be standard is to provide certification Java SE committee. Thus JavaFX, in the future, has to be submitted, by Oracle, to the Java Community Process as new Java Specification Request in order that other valid Java SE implementations such as IBM, OpenJDK and SAP can make their choices. Choose to include JavaFX or not.

JavaFX

The story of JavaFX continues onwards. For the desktop environments and operating systems, JavaFX is not cross platform. JavaFX 2.2 runs on Windows, Mac OS X and Linux. As far as I am concerned, Oracle kept their promise to make JavaFX viable on the desktop, they also include JavaFX now with JDK and JRE for Java 7 Update 6 and better.

Hasan Rivi, a vice president at Oracle, Enterprise Middleware Products and Java, announced in a keynote that JavaFX will be fully open sourced by the end of the year 2012. Rivi said, “On the FX front, on the client, again a lot of new capabilities in the release, we really think that it is at a point now, we continue the process on open sourcing FX .. we will finish all components of FX by the end of the year. And we dearly like to invite the community to actively participate with us in taking FX forward”. The Sunday keynote were updates around products Java SE, Java EE and Java ME, you can watch it here. You might remember a couple of years ago, Stephen Chin, originally petitioned for JavaFX being open sourced fully. Ironically, Stephen Chin, is now a JavaFX ambassador for Oracle, and his wish is coming true. The code bundles will appear shortly in OpenJDK project dedicated to JavaFX.

Other folk were expecting that JavaFX would be ported to Android or other smartphone devices, and therefore expressed disappointment that this target was not announced at the conference. Oracle did say that they had already demonstrated some of the technical possibility of running JavaFX on devices to important corporations recently, however the take-up and the follow-through had been poor. It is hoped that open sourcing of JavaFX will produce the extra impetus to push the framework and architecture to mobile and embedded devices.

Personally, I believe we are close to getting a critical turning point. We need just one viable, fun and creative JavaFX desktop application that tips the below, which has the x-factor, with amazing vision and has been put together with talent and skill, using the best user interface design patterns, which provides the compelling reason, “Why are we not porting this existing and excellent JavaFX and Java application to a tablet device?”.

The open sourcing premise of JavaFX is promising, because it should allow third parties to jump in to the source code and add features to the platform that Oracle have not yet decided on? ( support for accelerometry, magnetometry, geo-location and photo cameras. I think it would be wise to check that Oracle have not yet invented any of these wheels internally first? However, history has shown that business does not prefer to wait for anybody, especially when they think that they can make money from the idea by doing it first.)

 

DSCF4001 Jasper Potts' JavaFX Content Catalog Kiosk
The Kiosk that Jasper Potts built to demonstrate JavaFX running on an embedded device. The application is the content catalog for entire JavaOne conference.

 

DSCF4002
Jasper Pott’s embedded JavaFX console side view

 

Oracle did announce JavaFX for Linux as a developer preview, JavaFX for Linux / Embedded ARM devices, and SceneBuilder version 1.1. Oracle is focused on their effort on embedded devices, which are always-on electronic kiosk, terminal, point-of-sole and monitoring domains. In fact, Oracle organised a parallel and separate conference called JavaOne Embedded, which ran on the Wednesday and Thursday, aimed for business managers and decision makers.

As if it to prove this point, Jasper Potts and Richard Bair, created four hand-made production kiosks, in a month long skunkworks and proof-of-concept project. The kiosks were displaying the entire JavaOne Content Catalogue as a JavaFX application running on Java SE Embedded on an embedded device. The LCD screens were multi-touch allowing the conference goers to log-in and plan their schedule touch UI. The kiosk were placed at certain points in the JavaOne complex, the Hilton, Parc 55 and Nikko hotels. As usual with embedded devices, the technical capabilities of the hardware was limited by the amount of available memory, the CPU speed, the number of cores, and the number of threads that could be run simultaneously. Jasper explained that there were even limits on the number of instructions that could be sent from the CPU to the GPU in order to maintain the illusion of performance through user responsiveness. Sending image buffer frames from CPU to GPU and back could be expensive if thought and effort are naively implemented. Porting JavaFX 2.2 to Java Embedded SE over the past months of was a humbling task, therefore it revealed many bugs and refactorings that were solved, which in turn benefitted to the JavaFX desktop product. This previous fact was revealed by Richard Bair in a hallway conversation. The penny should be dropping by now as you are reading this blog.

In case, you did know it already, JavaFX 2.2 has some great features in current edition. There is Canvas support. You can program graphics like HTML5, the Canvas API looks quite familiar. With Canvas in JavaFX, you get the ability to instantiate a writable image buffer with a fixed resolution associated with a Java 2D graphics context. Suddenly, you can develop interesting pixel rendering effects in, some might say, traditional computer graphic programming mode. There is also Pixel image buffer I/O support, where utility classes PixelReader and PixelWriter provide high performance access to reading and writing pixels.

JavaFX 2.2 already has JavaScript support, namely:

// Java
class DataSource {
	public List getCustomers();
}

// JavaScript
JSObject window = (JSObject)webEngine.executeScript("window")
window.setMember("ds", new DataSource() );

JavaFX Maven Integration Niggles

Due to licensing concerns, it is not yet possible to redistribute the jfxrt.jar
in to a third-party Apache Maven repository ( http://repo.maven.apache.org/maven2 or http://uk.maven.org/maven2). Therefore in Maven, Gradle or another build tool you need to explicit link to the JavaFX SDK.

JavaFX relies on native libraries in order to tap in to the underlying operating system’s graphics and media interfaces. These are guaranteed to be different for Linux, Windows and Mac OS X, and the issue is that the JavaFX needs to load one of these libraries dynamically at runtime. Bundling static link to jfxrt.jar is not enough, because the NativeLibLoader class inside of it, must resolve and load a platform specific native library. Therefore it prevents a deployment headache as well as a dependency headache. How do organise jfxrt.jar and decide on the proper Maven Group, Artifact and Version coordinates.

JavaFX will have amazing 3D capabilities. Attendees of the strategy keynote were treated to demonstration of a shipping container terminal system application, which was using an early alpha version of JavaFX 3D API. This was a demo from Navis Corporation [Arvinder Brar]  in collaboration Canoo [Dierk Koenig]. You can also watch this presentation yourself on line CON4853 – JavaFX for Business: Monitoring a Container Terminal. It would be appear the JavaFX 3D will ship with meshes, textures and of course polyhedra. You can also see Nandini Ramini in the Strategy Keynote. Canoo also announced an open source project about their interesting collaboration project Dolphin.

JavaFX 3D will have moving cameras, because they are now going to be treated as like javafx.scene.Node types. I can image translating and rotating a camera through 3D space, but scaling and shearing it. What the does mean? Scaling a camera could be zooming in and out , shrinking and enlarging the view pyramid. Shearing a camera in mathematic 3D transformation, I believe, would be just weird. Actually, I can imagine a sci-fi effect with lots of randomly placed stars [points] in 3D space. Yes I very am excited about the 3D possibilites for the next JavaFX version. I wonder personally, if I could simulate Hyperspace with it, but perhaps it involved non-affine transformations, a non-linear concept anyway ;-) .

The next version of JavaFX jumps from 3.0 to 8.0 in order to match the upcoming Java SE 8 release. I wholeheartedly agreed about this version jump so that matching the Java numbers, and also because the JavaFX library jar is bundled with the JDK. In the future, JavaFX will be itself a module in Java 9, which is expected to implement modularisation (Project Jigsaw).

JavaFX 8.0 will have really great rich text support. Richard Bair showed slides in one his JavaFX presentations about the TextPane and TextFlow controls. Finally, we will be able write an Integrated Developer Editor (IDE) with syntax handling in a JavaFX. Moreover, the new text controls will be composable, support bi-directional languages like Arabic and Hebrew, both at the same time. The text more important will also wrap correctly and best of all, developer will be able to add generic shapes to the TextFlow component so that the rich text wraps around and aligns correctly.

To find out more, watch the JavaOne 2012 Keynote Highlights.

 

DSCF4070
Brazilian are always in attendance at JavaOne USA. If you can’t beat them [for passion] then you might as well join them.

 

Java SE

Java SE 8 will have Lambda functions (JSR 335) long overdue for five years. Brian Goetz gave a talk on lambda functions, which I could not attend, of course, because of clashes [I am sure I will catch it again in Devoxx]. Lambda brings essential functional programming to the platform. Here is a word of caution here, the proposal does not introduce higher order functions, although they can be implemented in a library. Lambda functions will simply the event handling logic in JavaFX, and code will must more functional and readable.

Mark Reinhold explained his reasons again for deferring the Jigsaw project to 2015. Although the full implementation will be delayed, he mentioned at least four profiles. Each of these profiles builds extra functions into the other platform until the full version. Mark Reinhold explained in his session, which I did attend, how hard it has been to refactor and restructure the Java Runtime Environment. His major concern was testing and building a guaranteed implementation of module system that would work from version 1.0 with little flaw.

I believe he is correct in delaying Jigsaw to Java 9. Consider the flawed Apple iOS 6 map implementation that was released as a production code earlier this year. If Java Jigsaw were released as early and as buggy as the iOS 6 Maps then we would be crying, despairing and wondering how on earth we did not test, and test early. The profiles in Java SE are a great idea, in the Java EE land, we already have two, the WEB and FULL. It is a great compromise.

People are looking forward to the new Date Time API (JSR 310) and also improved Annotations on Types (JSR 308).

Oracle also announced the Sumatra project in OpenJDK, which looks to see how the Java Virtual Machine and HotSpot can take advantage of the abundance of cores in Graphical Processor Unit (GPU) chips, which are found in hardware accelerated graphics cards.

 

DSCF3993
Sharat Chandler addresses the gathering of JUG Leader and Java Champions at the social event where he expressed his thanks to all of us.

 

Miscellany

Sharat Chandler is moving somewhere in the Oracle chain. I think it is polite to allow him announce his final destination, when he gets there. The title of Chairperson of the JavaOne Program Committee passed from Sharat Chandler to Stephen Chin on the Thursday community keynote. This was a surprise to all of us. None of the Java Champions and / or JUG Leader knew this was happing. Stephen kept his secret under wraps.

I believe Stephen taking over the organisation of JavaOne will be asset to the collective, because he is very familiar with the community of user groups around the world. He travels to the conference, does a great job presenting and always involves the audience. Stephen starts his new role with the Nighthacking Tour of Europe.

Sharat Chandler also did a great job taking over the running of JavaOne in the past two years. He did listen to the concerns of the community, and push to support the leaders, the attendees and made JavaOne at least viable. One of the things he did, was reduce the markitecture of the conference. There were two days of key notes, and the rest of the conference with given over to the technical sessions. So I want to congratulations on both Sharat and Stephen.

This is the end of part one. In part two I will cover the Java Enterprise part of the conference, in particular “Moving Java EE to Cloud” or not, as it proved to be, provide more analysis and perspectives on Java and miscellany.

See you in part two

Los Angeles, October 2012
+PP+

 

DSCF4073
[L] Sharat Chandler’s landyard compared to mine [R], spot the difference, no prizes.

 

DSCF4065
Stephen Chin, on stage, on the Community Keynote, has just become the Chairperson of Program Committee for all future JavaOne events from 2012 onwards.

 

DSCF4049
[L] James Gosling, the Father of Java, makes a welcome return to JavaOne after three year absence, promoting Liquid Robotics and Java working inside oceanographical science.

 

DSCF4030
On the way to and from from the Oracle Appreciation Event, I hung out with the Brazilian contingent at JavaOne. We were on our way back to the Hilton SF, when this photo was taken.

 

DSCF4027
[L] Simon Ritter is on demo kiosk duty explaining his Maker-make passion with JavaFX and strange and wonderful hardware to an attendee.

 

DSCF4017
This is me just moments before my first solo talk on Wednesday, on Contemporary User Interface Design Patterns in JavaFX 2.2. I was nervous as hell. Well you always need a little bit fear to give you a kick of adrenalin.

 

DSCF4015
Gerrit Grunwald is talking about writing JavaFX custom controls and all about the cool looking gauges that he has been implementing.

 

DSCF4011
[L] Bruno Souza of the Brazilian SouJava user group. He is holding the special JCP award for his user group’s involvement.

 

DSCF4006
Book authors should stick together, although at the time of writing [Oct 2012] and I am at the start of the journey of being a writer. [L] Paul Anderson and [M] Gail Anderson authors of Essential JavaFX (2009)

 

DSCF4087
[L] Stephen Chin, my partner in crime in the JavaFX Developer Guide for JavaOne 2012. This photo was taken at the annual desktop lunch that Stephen and Jonathan Giles organising for the conference.

 

DSCF4010
Centre stage, Chairperson of the Java Community Process, Patrick Curran, shares his delight at the JCP evening

 

 

+PP+

Code Anything At Will

August 25th, 2012 2 comments

In this entry, I am handing over the natural keyboard to you. Don’t be afraid. Don’t fret. There is absolutely nothing to be worried about. Just take it and code something wonderful. Code something beautiful, mega-gorgeous, substantial. How about something profound, something that inspires you? Completely tear it up whilst you are in the zone, and when you are finished, teach your programming stuff, your software to someone else. If you are game, you can open-source your ‘wares.

I have been doing this software development thing for so long, now, and I still love it. I will never stop. It is time to inspire others.

  Code X at Will, Peter Pilgrim, Promotional Poster Image

See you at JavaOne 2012 in a month or so.


  Register for JavaOne 2012 , From 30 Sept to 04 Oct

+PP+

Installation of LibreOffice 3.6

August 25th, 2012 Comments off

I recently had the pleasure of Installing Libre Office 3.6 on a recent Windows 64 bit system.

First, I found it does install. If you have a previous Libre Office instance on the machine, the installer fails with a message like
“stop the quickstarter before the installer can continue”. Can the installer not do this computing task for me instead?

Ok, I opened up Task Manager / Process Explorer to kill any processes soffice.exe,soffice.bin. There were none to kill. I tried the installer again, same error.

Next, I tried the Control Program and attempted to manually uninstall LibreOffice 3.4. The same error again.

Next, I tried opening an Adminstrator Command Shell, and from the wisdom of other users on Internet, and entered this command.

C:\Users\peter\Downloads> msiexec.exe -i LibO_3.6.0_Win_x86_install_multi.msi

Regrettably, the same error occurred again. I was about to give up, however I went back to the Control Panel and the Program and Features. This time I chose Modify for Libre Office 3.4. I was then able to Change, Repair and finally remove the offending version, fully. I went back to the Adminstrator DOS Command shell and used that msiexec command again. LibreOffice 3.6 installed.

The lesson is try, try and try again until you succeed. Really, LibreOffice should just fix their broken Win 64 installer.

QCon London 2012 Part 2

March 18th, 2012 Comments off

 

The last day of QCon, Friday, had already started with a keynote, Resilient Response in Complex System, John Allspaw. The general advice was concentrate on recovery rather than attempting to avoid failure. The talk emphasized the need to train developers and operators in failure situation, following the model of military or emergency services. The idea of a post-mortem, retrospective, learning from the forensics of situations, are needed in order to provide a resilient response. I think Allspaw’s core message was to practice, learn, analyse, and then improve.

 

QCon London 2012

Professor Philip Wadler takes the stage

 

Lambda Belief

 

Friday sessions began on the Scala and Functional language Track. I went to see Faith, Evolution and Programming Languages: From Haskell to Java with Professor Philip Wadler of Edinburgh University. What followed was short history of functional programming and mathematical logic, beginning with the Gerthard Gentzen (1935) , who devised Natural Deduction and sequential calculus.

Natural deduction was the idea that rules of logic come in pairs, with that it is possible to simplify Proofs – in order to prove A and B, then I need to prove A and also prove B, then work on A implies B or vice versa.

Next, came the achievements of a certain Alonzo Church (1932), who invented Typed Lambda Calculus. The lambda calculus permitted construction of functions and records from constituent parts. Phil Wadler introduced a constant running theme throughout his talk – that is, it always two people who appear to make a significant breakthrough in understanding computing and mathematical logic. So in the case of Alonzo Church, it was not until the year 1980 William HowardCurry Howard Isomorphism – conceived the idea of partial functions calling another partial function in order to combine together a real function. Haskell Curry had discovered an artefact in the 1950’s, called combinators and isomorphism. Howard was also influenced by Curry. The main type system used in Haskell is called Hindley-Milner type system, discovered in the mid-1970’s. Robin Milner wrote a seminal paper called Polymorphic Types. Jean-Yves Girard derived System F and John Reynolds found discovered Type Interference for the polymorphic lambda calculus.

The great ideas are so great, that you discover them twice.

QCon London 2012

[R] Professor Philip Wadler, Edinburgh University and dressed in his “Lambda-man” tee-shirt

For the second part of this talk, Prof. Phil Wadler spoke at length on the influence of Gottlob Frege (1879), who formalised mathematical quantifiers as the upside down A “for all implication – assumptions”. It talked about John Reynolds (1974) – who discovered type Polymorphism/ Reynolds was interested in data abstraction, which meant he did not care how you represent on the type entity, but has a certain behaviour. Girard showed that the lambda calculus program can be written to terminate.

From the polymorphism, he introduced his own mark in history Odersky and Wadler (1997) – Pizza Parameteric polymorphism, which told the story of modern times, Igarashi, Pierce, and Wadler – featherweight Java, Gosling, Joy, Steele, Bracha (2004) – Java 5, and Naftalin and Wadler (2006) – Java Collections

The final part of the talk was about Haskell: Type Classes. and some recent ideas, such as finding a canonical language concurrency, search for description that transform one object to another object (parametricity?). Phil Wadler saved the very best for last with two assertions.

Lambda calculus is universal programming language.
Lambda calculus is Omniversal

 

QCon London 2012

[L] Sadek Drobi and [R] Guilluame Bort of Zenexity, co-authors of the new shining star, The Play Framework

 

Let’s Play

I went to the Play Framework presentation: Non blocking, Composable Reactive web programming with Iteratees in Play2 with Guilluame Bort and Sadek Drobi. With Play Framework version 1.x they decided not to use the WAR file, any part of the Servlet API, because of the typical implementation of Java EE web application servers were one-request-per-thread which did not scale. Bort and Drobi knew in order to scale significantly as web platform: a thread did not need to be blocked when doing I/O and with the Servlet API the thread is blocked all the time. Instead, Play version 1.0 was based on reactive programming techniques and the promise to avoid the blocking of Java thread. They also went to templating scheme and followed a Ruby style convention-over-configuration philosophy.

One part of their talk that the authors discussed at length was the quick iteration feature. Developer did not have to deploy to an infrastructure. Instead, the designer and the developer, working together, could just code and watch what happens to the application at runtime, without having to stop and start an application. This idea of quick iteration of change is fundamental to allowing designers to experiment and create better designs.

Zenexity had to work around also the implementation of java.io.InputStream and the read call, which will block the thread if there is no data. These methods block until input data is available. A reactive model had these characteristics 1) inversion of control, 2) the source controls the execution and 3) holds onto the control without loosing it.

The architecture of Play Framework version 2.0 brings in the idea of composable streams and stream handlers Iteratees.  An Iteratee is a consumer. It is just something that consumes the input and it produces a value from the consumption. In combination with Iteratees, Bort and Sadek, also provided Enumerators, which are all about producing streams of a data. Enumerators also have adaptors called Enumeratees!

Overall, this could have been a seriously great talk, because all of that was missing was some tantalising demonstration of the Play Framework for beginners. I would have love to have seen that amazing user interface demo using these brand new Composable entities. New starters may well have been left confused and slightly bewildered by the lack of Scala code explanations.

 

Bazaar

 

Off the beaten track, I went to a talk in the Working Distributed track. It was given by Ola Bini and was called Anarchy, Cooperation and the Bazaar. This was a very good non-technical talk on the subject of open source software and its development. It delved into Eric S. Raymond’s classic paper about the Cathedral and the Bazaar. Ola Bini also delved into business of open source, how it is distributed, how developers work and why it has been a success. He also pointed why certain corporations and entities have failed at open source. There was a purest view of open source GNU and Richard Stallman discussed and contrasted against the pragmatists, Apache, Linux and Mozilla.

I found this talk rather a fascinating diversion and emphasised the learning I have had to do with communication between individuals and teams.

Ola Bini did cover the amazing success stories such as Linux, SourceForge, Codehaus, Github, RapidFTR, to name but a few. He concluded that it will be essential to notice the very low barrier to entry in creating a brand new open source project online with the help of Github. Such GIT developers can easily create an open source project. It is the best way to get people to look at your work, and if they really like what they can read and see, they can branch the code so easily and mash up with their own ideas, and of course they may contribute back to your source. The owness is you and your skills as a source code manager to pull in other contributions.

 

Caching, Grids, and No SQL

The final talk of QCon London 2012 was Caching, No SQL and Grid: What The Bank’s Can Teach Us? by John Davies. The talk started with the discussion of the data statistics of banks. Trading requires lots of data, lots of connectivity and lots of throughput and low latency. The latter two points are finely balanced.

John Davies declared that we need change the programming model. He stated the hardest thing to drill into a programmer is to think about programming for a distributed architecture, which to my mind was a bit sharp and harsh. These thought require techniques and much learning through coaching and mentoring. He spoke at length on the EJB model, which was a start but scalability was limited to the server or cluster of server

After the EJB model. we were offered up the topic of Virtualisation, where Davies announced that we can take any physical location and split it up in order to better share a resource. Each Virtual Machine would independent from the other – all VMs on the same physical machine relied on the same hardware. 

He compared the typical way of deployment applications in any business, including banks with Amazon EC2 (30 minutes). Unfortunately the banks did not at the moment support cloud environment, because of concern data privacy, intellectual property, trade secrecy, auditing, and mainly because of security reasons. John Davies said virtualisation and cloud environment are the way we must go, it is the future, even for investment banks.

The next topic was Local data storage versus Grid storage versus Cloud storage. Davies declared if we can distribute to a local VM [virtual machine] we’re most of the way there. He said that the big problem was provisioning these environments to the next level, from local VM to the local grid VM, especially if we move the VM to other networks. Davies compared strategies:

Local – very fast, perfect for developing and testing

  • Private Cloud / Grid
  • Very secure – perfect for banks & governments
  • Very scalable but there is a slight latency
  • Costly you have to invest in the physical boxes

Cloud

  • Pay for what you eat
  • Extremely scalable
  • Latency and security can be an issue
  • Service provider license could be difficult in a competitive market (when the tide flows it affects all boats in the sea)

Grid technologies

  • GemFire
  • Terracotta (Big Memory)
  • GigaSpaces
  • Coherence
  • Neo4J

Many other technologies overlap in area, predominately the caching side, these too are viable alternatives EHCache, Memcached, JCache.

    No SQL databases
  • MongoDB is pretty popular, HBase with Hadoop and Cassandra occasionally too. Others are rarely seen by John Davies in his context and environments.
  • GemFire – originally an OOD, now has a pure Java implementation, recently acquired by
  • Terracotta – uses Java VM replication, recently acquired by Software AG. It originally came out as a clustering solution, about 10 years ago, and Terracotta became very good at that clustering. Technologies move up.
  • GigaSpaces – originally the only viable implementation of Sun’s JavaSpaces, which was created by East-coast Sun Microsystem. JavaSpaces never really took off since EJB was favoured by the West-coast Sun Microsystem. GigaSpace has the concept of a “Space”, you can write something into a space, read it, take it, and be notified something changes. Perfect implementation of MASTER/WORKER pattern.
  • Coherence – formally “Tangasol”, now owned by Oracle, entity beans had a particularly way of writing to a database, it was originally conceived as a cache. Once people figured out that cache was distributed, you could effectively remove the dependency on the database.
  • Neo4J – The wild-card, a graph database. It is an interesting technology, it is a graph database with fluent and relationship queries, which is quite unique. For instance, “find all the friends of Sarah Plumber that are related to her Mother and over 25 years old.”

I also think that there is some type of standardisation that will come through the cloud development provider. It may be a Java EE 7 specification, if they want to tie together with Oracle and/or it could be separate organisation that does this, particular, like an OSGi for the Cloud PaaS providers. Well the future is bright. Cloud and PaaS will eventually be a requirement for enterprise developers for sure.

QCon London 2012
[L] Sadek Drobi, co-founder and CTO of Zenexity, Paris, France

End Game

 
I enjoyed my two days of work related training at QCon Conference 2012. I would like to thank my employer IB Boost for making my presence available. It was really good to see some familiar faces, and I know I missed somebody. Software development in London is changing, it is optimistic, there are interesting projects going on, despite the economic downtown. The vector of progress is still moving onwards one way or the other. When I go to a conference I intend see just where this vector is pointing, I have some ideas of what to look in the next 12 months. I see you at QCon London 2013.

Shout outs (in no particular order)

  • Robert Smallshire – Dear Fellow, thank you very much indeed
  • Barbora Nasincova – Zero Turnaround
  • Simone Barbieri – application manager at BWin
  • Oliver White – Zero Turnaround
  • Baruch Sadogursky – JFrog Developer Advocate
  • Alex Blewitt 
  • Liz Berstock – QCon
  • Yaov landman- JFrog
  • Chris Richardson – b
  • Floyd Marinescu – b
  • Professor Phil Wadler 
  • Sadek Drobi – Xenevity
  • Guilluame Bort – Xenevity
  • Kresten Krap Thorup – Trifork
  • Aino Vonge Cory – QCon
  • Steve Freeman 
  • Geeta Schmidt – QCon organiser
  • James Strachan – awesome talk
  • Michael Brunford Spall – Guardian
  • Alex Russell – I still want to get into HTML 5 ;-)
  • Adrian Cockcroft – Netflix
  • Gil Tene
  • Ola Bini 
  • Rich Hickey
  • Barry Cranfield – London Java Community
  • John Davies – Incept 5


Looking Forward to QCon London 2012

March 1st, 2012 Comments off

As I write this, today is 29th February 2012, a leap year and day. Tomorrow will be first day of March, which also the same month that QCon London 2012 takes place. I was due to give an updated JavaFX tutorial, on the Tuesday university, but it did not work out in the time. I still will be making an appearance on Thursday 8th March and Friday 9th March

If you still want to register for this conference, then go to register with QCon London with a special discount code PILG100, which it is my pleasure discounts and save you £100.
On the Thursday, I will be going to James Strachan‘s talk Riding Camel into the Cloud. I am looking forward to the functional language Friday, which features The Play 2.0 Framework, rewritten in Scala. This is a talk from the horse’s mouth yet again, by Guillaume Bort and Sadek Drobi, who created this simpler web framework, which surprisingly is not based on Java EE or Servlet. 
I will see you there, then, next week ;-)
(Here is yet another entry written under Ubuntu and Blogilo. The posterised photo is I holding my snowboard in Kaprun, Austria, 27 February 2012 )

Categories: community, Conference, qconlondon, technology Tags:

From Large to Small

January 15th, 2012 Comments off

logo_ibboost_small

[Editor: Update for 2012 -  I am no longer work for IB Boost UK. I left in the company September 2012, without a target job or contract, in order to find the next big thing , whatever that may be #javaee7, #javafx, #scala]

About seven weeks ago now [Editor: 15 January 2012], I walked into to the office of IB Boost Limited. I surprised myself at the end of my journey. It was a new challenge and I was looking forward to it. When I left Lloyds Banking Group twelve months earlier or so, I knew that was on a new path. The problems with a large banks are that you are at the mercy of so-called top grade senior managers who make the wrong decisions about technology. I knew that Lloyds really messed up a chance to become the best in British banking when they merged with HBOS. After my departure from Lloyds, I just did not know how long it would take to find the new road to glory.

I am happy to join to IB Boost Limited, which is a financial services consultancy. I accepted their offer first because they are a company still working inside investment banking in London. Second, they have a great view of modern Java technology. They work with open source components mostly and free software. Thirdly, they develop products with up-to-date Java technology, Spring Framework, Eclipse RAP, OSGi and Spring Integration. Fourth, they are completely Maven-ised and use Jenkins continuous integration and fifth, they are open to new ideas. I could go on but there are no corporate nonsense rule, you are free to Skype call, or check on a twitter account if you feel the need. The essential point is the work gets done and is of high professional quality.

Our small-giant size company, IB Boost Limited was founded by two very successful Murex consultants Nik Goodley and Philippe Rioland in 2009. They created a product called Octane Integration that interfaces between proprietary vendor platforms and internal bank systems.

I am a senior software development lead working primarily in the London office on technical aspects of particular client integration projects with IB Boost products.

[Editor note 2012: I have since read fully Bo Burlingham's book, Small Giants, Publ: Penguin, 2005. Where are the real proper Small Giants in the UK, especially in London?]

 

Devoxx 2011 Report

November 24th, 2011 14 comments

As my tardiness will allow, I have massive blog entry about Devoxx to write. I seem always write a week after the event, because there is so much happening. This year, I presented with Stephen Chin, a university session, three hours long about what a humble Java engineer needs to know about JavaFX 2.0, especially if she or he is new to the technology.

 

DSCF3209

Jo Voordeckers [L] and myself [R]

Jo Voordeckers was one of the first people to get involved with JavaFX Script, about 2-3 years ago. At JavaOne 2009 he had a presentation about JavaFX Script and Parleys and the slides are still available.

 

DSCF3198

View of Antwerp first sunset at Devoxx 2011 from the Astrid. "Blinding with the lights. Dizzy new heights. Has it come to this?". You are listening to JavaFX, lock down your aerial. (Original Pirate Material; The Streets; 2002)

 

Tenth Year

Congratulations to Stephan Janssen, a fellow Java Champion, leader of the Belgium Java Users Group (BEJUG), for organising this wonderful conference, Devoxx, in Europe. It is simply the best Java technology conference in the northern hemisphere now without question. As an event, without less marketing, more technical focus, and value for money for the inspiring developer, designer and architect.

The history of Devoxx started way before I got involved in the Java community. When it known as “Javapolis” it filled a vacuum for engineers who wanted a local European event. Sun Microsystem’s lawyers who claimed Java trademark infringement eventually caused Javapolis to be renamed, first, to “Javoxx” and then finally to Devoxx. The conference grew in popularity such that it regularly sells out 3000 participants quickly.

Travelling to JavaOne in California, especially when that event was held at San Francisco technical conference Mecca, the Moscone Center, for many was prohibitively expensive, even back in the good bountiful times during the “noughties” (pre-subprime financial collapse). Let us not forget that continental Europe has languages other English. Developers were hungry for know-how and techniques and Javapolis filled in a hole for those capable of understanding English speakers from America, Canada and elsewhere.

My first “Devoxx” was Javapolis 2005 and I have been to everyone since. I was amazed of such conference using the facilities of the Kinepolis/Metropolis to such aplomb. To see technical presentations on a cinematic backdrop with the people who behind the framework, API, and/or platform was always a delight to behold and long may it continue.

The Devoxx conference has been traditionally cheaper than many technology conference. This is because the organiser offset the cost of the venue by gather finances from the sponsors. The quality of technical sessions is better than average in the upper quartile. The people you meet at Devoxx are great and knowledgeable about of sorts of API, techniques and movements.

Such is the popularity of the Devoxx, it has spawned a franchise in France. Devoxx France is set to take place from April 18th to 20th in Paris.

 

Highlights

 

Before the conference even began, I sorely desired a Devoxx mobile client for my Galaxy Tab 10.1 tablet. Fortunately, I found that at least two were available for Android. In the end, I settled for Peter Kuterna’s application, and it really worked extremely well. When I last looked it had rave reviews on the Android Marketplace. (Devoxx has an REST CFP Schedule API open source and one can write a web application or native client.)

Many of the Oracle staff folks made it over the pond to Devoxx, such is the importance of this premier league type conference. A highlight was meeting Sharat Chander, the JavaOne committee chairperson. Also Roger Brinkley of the Java Spotlight podcast was over for the duration of the conference. Dalibor Topic made it to Antwerp for the later half of the week, as a he was also a speaker. I was able to offload on him some of my expectations, aspirations and opinions about JavaFX.

Devoxx 2011

Sharat Chander mistakenly took a picture of himself when I asked him to take photo of me using my iPhone 4S. I think turned out great!

 

Of course, a major highlight was working Stephen Chin on our joint A JavaFX Developer Guide presentation during the whole of Monday. We are at it for the morning and the evening. Stephen is a great speaker, comfortable on the floor and such easy person to interact with.  Even when we were aware of a slight audio/visual problem with the second demo computer [mine], at the start of our sensation, it felt good know we were on still on top of our game. Because we had put all the effort into it, and the results spoke for themselves.

Thank you Stephen for inviting me to help you out!

 

Devoxx 2011

[L] Stephen Chin and [R] myself in our JavaFX Developer Guide presentation at Devoxx 2011. Thanks to Kevin Nilson for this photograph!

 

Stephan Janssen Devoxx

Stephen Chin – photo courtesy of Stephan Janssen

 

Stephan Janssen Devoxx

Photo of me – photo courtesy of Stephan Janssen

 

Devoxx 2011

The JavaPosse Live event at Devoxx

The JavaPosse Live event episode 370 was exceptionally good this year. They managed to rope in Stephan Janssen, Chet Haase, James Ward, Mark Reinhold, and Brian Goetz into an unplanned, surprising and geeky fun show.

 

Devoxx 2011

The victims from L to R are Chet Haase, Mark Reinhold, Brian Goetz, James Ward and Stephen; and the guys in the hats are the JavaPosse

 

James Williams has one book called Learning HTML5 Game Programming published by Addison Wesley. Before Devoxx, I had never heard of James, or exactly anything about his work. Now, that I attended his presentation in person on HTML5, I am very intrigued. There was not a lot about game programming, however this session was still a definite highlight and brought into focus much of the web development world, especially what HTML5 is currently capable of with WebGL. The usual suspects, Microsoft and their Internet Explorer, were the one who are not supporting WebGL out-of-the-box as we all learnt. Why are we not surprised? 

Devoxx

James Williams HTML5 Game Programming and WebGL

 

Gerrit Grunwald (hansolo_ on Twitter) just had a fifthteen minute presentation on HTML 5 and Java 2D, and oh my goodness, this fellow is “The Don”! What he has developed with Canvas and HTML5, the amazing and beautiful aesthetically cool performance dial controls, which he also developed originally for Swing and Java 2D, the sheer look-and-feel, makes my own UI attempts pale into insignificance. Gerrit Grunwald’s dials are fantastic and professional. I cannot wait for his Steel Series contributions into JavaFX 2.0 at all.

Devoxx

Gerrit Grunwald on his "quickie" presentation

 

Joe Nuxoll had a great unmissable presentation on UI Design for Engineers. It was an expansion of the five minute lightning talk that I witnessed at the JavaPosse Round-Up 2011, which graciously ran into a full hour talk. Those people who attended were not at all disappointed. The room was packed to the rafters, seats were all taken and engineers were standing. I was standing too, because I got into that theatre session so late. Joe had plenty of wisdom give and many golden eggs of enchantment about user interface design. His talk had many hints on what to do and what not do with design. Design is iteration and refinement and much more than that. Overall, Joe Nuxoll was very impressive, one of the best talks at Devoxx, and gave me a set of ideas for a UI design session of my own.

Devoxx 2011

Joe Nuxoll at his UI Design for Engineers

 

Martin Odersky had a fairly interesting session about the future of Scala, namely version 2.10, and the expected features. First half his talk was the object relational ideas of Scala, and then we got into the more meatier sections. The great news for me was the improvement in the forthcoming Scala Reflection API. It was also interesting that Typesafe had formally accepted the Play framework as part of the overall product offering. I think this is also exciting news as promoted by James Ward of Heroku.

Devoxx 2011

Martin Odersky is getting set up for his one and only Devoxx Scala talk

 

Finally, I have to say that Brian LaRoux had a great introduction talk to the Nitobi / Adobe PhoneGap project. I will say that HTML5, hack solution into the native capabilities of mobile environment, and general push for open web is intriguing as an alternative Rich Internet Application solution. Especially, given the heavy crash of the door closing on Adobe Flash on mobile devices.

Devoxx 2011

Dave Chandler from Google talks about the newly announced DART programming language

 

Brian_LaRoux_DSC_3511

Brian LeRoux of Nitobi / Adobe talks about PhoneGap, its possible renaming ideas and eventual contribution to the Apache Software Foundation, and of course, its capabilities as open web mobile application solution – photo courtesy of Stephan Janssen

 

To tied it altogether, one of the best deserved presentations on HTML5, Scala and just sheer experimentation was supplied by FuseSource specialist Matt Raible. It simply fantastic and the fellow received a minutes applause afterwards for his sheer creativity, perseverance and ingenuity.

Devoxx 2011

Matt Raible delivers his fantastic talk – HTML5 with Play/Scala and JADE

 

 

Community

There were also plenty of opportunities to get involved in community activities. I volunteered for interview for Java.net development team at Devoxx. Tori Wieldt interviewed on JavaFX 2.0 for ten minutes, and the episode went out during breaks between the live cast of Devoxx 2011 sessions.

Devoxx 2011

Tori Wieldt (R) and Roger Brinkley (L); this time Tori was wearing Roger’s Brazilian hat

 

Devoxx 2011

Roger Brinkley – One third of the people behind Java Spotlight podcast. I think his Brazilian football team hat suits him better than it does me!

 

At Devoxx 2011, those of us who still had energy on Thursday night had a ball of a time at the Noxx nightclub. It was a chance to let off steam and also watch James McGivern (ex-Adaptivist) and Dan Hardiker mix MP3 tracks inside the DJ booth.

Devoxx 2011

The Devoxx 2011 team celebrates at the Noxx nightclub

 

Devoxx Noxx nightclub

[L] James McGivern and [R] Dan Hardiker are the DJs upstairs for Noxx private party

 

Devoxx Noxx nightclub

Dan Hardiker (L) observes the resident house and light DJs. Nowadays, one mixes vinyl records (MP3 tracks) with a MacBook Pro and the Traktor software application instead of two Technic SL1200 Mark II turntables!

 

There were also fabulous two dinners. The first Monday night, I hung out with Cameron Purdy, JavaPosse, Kevin Wright, etc. at the Cathedral in the old Antwerp town. The best Belgian beers were Trappist (9.8%), Rochefort (11%) and one other one, which I cannot remember correctly, might have been a variation of Kriek, a cherry flavoured beer (8.8%).

Devoxx 2011

Sorry about the red eye in this folks. From L to R are Cameron Purdy, Geertjan Wielenga, Dick Walls and Tor Norbye

 

I spent my second dinner night, Tuesday, with a group of German conference goers, including Gerrit Grunwald. We were also accompanied by a couple of MongoDB folks and Oliver White from Zero-Turnaround. We ended taking taxis to the Zuiderterase restaurant, which right on the river Scheldt. It was very cool talking about JavaFX, HTML5 and cloud computing solutions as I remember

Devoxx 2011

(R) Gerrit Grunwald and (L) Michael Huetterman, Cologne JUG Leader

 

An interesting highlight of this year’s Devoxx conference, was finally at last, JDuchess and Women in Information Technology were finally getting some overdue attention. There was a session called "Why Should We Target Women?", which thought provoking to say the least. Diversity is seen as a controversial subject for many and I was pleasantly surprised to notice how well attended this session was. There were an interesting mix of opinions, such as if you do make positive in roads to attracting women, does this also imply we should make the same provisions for black people, gender, etc. Other views were expressed, Trish Gee held the opinion, that she would not want to see positive discrimination for women. Antonio Goncalves and Martijn Verburg represented the view from men. Personally, I think gender inclusion has a long way to go, and this session helps keeping things forward. I think that it will be worth listening and watching this session on Parleys.com and form your own opinions.

Devoxx

(Near L) Regina ten Bruggencate on the mic, (far L) Martijn Verburg, (near R) Trish Gee, and (far R) Antonio Goncalves

 

My final highlight was the European Java User Group Leaders meeting. This birds-of-a-feather event was notably for recognising the growing strength of JUG community, and the overall patience that the community has shown and placed on Oracle, especially this year 2011. Martin Verberg and Ben Evans gave a talk on the Adopt-a-JSR program. Hiberto Mendonca presented a short session on his JUG membership application. Finally there were initiative to get European JUG leader together for a Oracle meeting in Belgium or Holland. I also made a video recording of this session, I will get edited and uploaded soon.

Devoxx

CEJUG leader Hildeberto Mendonca talks about the Java user group membership management project

 

Technologies To Watch

 

These are the technologies to watch out for 2012, in my humble opinion:

  • JavaFX 2.0 and domain specific languages GroovyFX and ScalaFX
  • Java SE 8 Modularity and Lambda
  • PhoneGap and the ASF
  • HTML5, CSS3 and Responsive Web Design
  • WebGL
  • Play Framework for Scala
  • MongoDB for document cloud storage without heavy transaction support

 

Odds and Ends

At this year’s conference, we had an interesting surprise for speakers and attendees. We were all given wristbands. These were sort of bands that you see at summer pop and rock music festivals. They were controversial for many, however for the organisers, Devoxx and Stephan Janssen, they made life much easier. Personally, I did not mind them after getting used to wearing it for a day or two. I was listening to Kirk Pepperdine discuss the bands with Stephan, and he opined that also still preferred to see a badge just to see who that other person was and how identify. I can see that side of his view too, being a speaker or Java Champion does distinguish you from the rest. What did you think of the wristbands?

Devoxx 2011

My now bruised and battered wristband for Devoxx 2011 towards the end of the conference ;-)

 

This conference was the most connected WIFI, I had ever experienced. I literally had a Dell laptop, an iPhone and a Galaxy Tab all hooked up. The first day was pathetic, because the Devoxx SSID was not secured with a password, it was open, so guess what Windows 7 / Vista or XP operating systems did? When these silly brain-damaged OS could not connect, they automatically created an ad-hoc network with the same name as the open SSID that you attempted to connect to. The fun started aplenty, because no else could easily connect by convenience, just like the blind leading the blind. When the WIFI was fixed, then it was amazing and what a pleasure it was to use.

 

Devoxx 2011

Here is a view of Martin Odersky over my the lip of my trusty laptop. Sitting close to the front, I am watching my Twitter feeds, whilst listening to upcoming Scala 2.10 changes.

 

Antwerp is a great city to see city, building and structural architecture from different eras. The Belgians have some great buildings and the first one that I noticed was the Central Station. If you venture in the old city centre, you will see the spectacular gothic cathedral too. I do recommend you get out in the Summer in order take advantage of the longer daylight or take an extra day or two before or after the conference to walk and sight see a bit. (I managed to walk around Antwerp during SpringOne 2007, by the way.)

Devoxx 2011

A camera shot straight up to the ceiling inside in Antwerp central station!

 

 

The Shout-Outs!

  • Stephan Janssen
  • Stephen Chin
  • Valérie Hillawaere
  • Joe Voordeckers
  • Johan Vos
  • Renato Guerra Cavalcanti
  • Dan Hardiker
  • Kristien Leyn
  • James McGivern
  • James Ward
  • Gerrit Grunwald
  • Kevin Nilson
  • Tori Wieldt
  • Roger Brinkley
  • Kirk Pepperdine
  • James Williams
  • Sharat Chander
  • Sven Reimers
  • Oliver White – Zeroturnaround and Zuiderterase restaurant
  • Geertjan Wielanga
  • Regina ten Bruggencate
  • Celina Van Aker
  • Antonio Goncalves
  • Badr Elhouardi – Morocco JUG leader!
  • Andres Almiray
  • Ben Evans
  • Martijn Verburg
  • Chet Haase
  • Cameron Purdy
  • Mark Reinhold
  • Brian Goetz
  • Nicole Scott
  • Brendan McAdams – MongoDB and Zuiderterase!
  • Kevin Wright
  • Stephen Colebourne
  • Matt Raible
  • Sonya Barry
  • Jan Harderka
  • Dick Wall
  • Joe Nuxoll
  • Tor Norbye
  • Carl Quinn
  • Maxime Nowak – Geneva JUG!
  • Yolande Poirer
  • Wilfred Springer
  • Hildeberto Mendonca

and any one else that I missed then sorry next time …

Devoxx

The Radisson Blu Hotel in Antwerp, a fascinating building architecture, out of sorts to modernity and yet magical.

 

The End.