Archive

Archive for the ‘Business’ Category

Your Next PR Disaster is Inevitable When You Provide No Feedback

December 25th, 2012 Comments off

This is a warning to the reader; your might feel at the end of this entry that it is all Dickens’s Christmas Carol and “Bah! Humbug!”. You would be rightfully semi-accurate in your analysis, of course.

Quite simply, I hate when I go to an interview that is either face-to-face with a potential employer, or a client, and then I have to fight tooth and nail to get those statements of fact that many ordinary souls could consider to feedback from the interviewers or clients. I am amazed, more often than not, in today’s climate when I get unexpected feedback; most of the time I have specifically ask for it.

In my long career of some twenty years or so, I have attended many competency based styles of interviews, and I have learnt in all that time, you cannot effectively improve your skills without a third-party honest ethical reference telling you exactly what you were strong on and what specifically you were weak on.

When I use skills here, I am deliberately being very wide in the definition of term; it can be communication skills, behavourial skills, technical skills or even sitting-still-in-chair-with-your-hands-motionless whilst you talking skills. I will also include puzzle solving, listening to the interviewer, technical analysis and getting off my bum to do a bit of white-boarding, and rapport building, submitting a sample test programming project and panel interviews as part of this scheme.

There is a nothing worse than when you have done all that you can do to perform by giving your valuable time and effort to a round of interviews, and then hearing the cacophony sound of silence; and seeing nothing wafting in the email inbox for a few days. If you have ever attended an interview and waited more 24-48 hours for an answer, and seen and heard nothing, then you probably know placing your on heart that this is an instant fail. If you have ever attended an  interview and got the answer of “no” and the client and the recruiter had no feedback in their response then that I too would classify the end as a similar fail. If you have ever received an “no” and then asked for feedback, and then also received a blank response, then, in fact, that is plainly rude. If you have never received any feedback from the interviews whatsoever then that series of flawed communication from a so-called officer of a reputable business, from beginning to end, actually, is very revealing about the target organisation; and says that perhaps enduring the entire process was a close miss, from your point of view.

Sometimes, after receiving a “no” from an interview, then I have, to be absolutely fair, received some great feedback and pointers on things that I missed and definitely things I could improve on. I have gone over those weaknesses, then revised, educated myself and rehearsed. I improved myself. Sometimes the mostly painful feedback is the stuff you don’t want listen to. I certainly had to train to listen and not just hear.  When I have won a contract and got the job I have learned what the interviewer and recruiter also thought about my appearance, skills, white-boarding and communications; basically the whole lot. So this gripe is not for those who are good at giving prompt, fair and concise feedback whether it is in a good or bad light. They do not have to worry.

In the earlier part of my career, long before the Facebook and Twitter, it was customary to receive the rejection letters through the post. Nowadays, it is the rejection email. For university graduate developers, in these Twenty Tens, it is now even worse, if they they do not receive a response then they may as well consider themselves rejected. Is this the state of business communication in the early twentieth first century? Really. And we thought that we were a classless society; elitism had been knocked cleanly on the head. Surprise. It never actually vanished into the thin air. When we have laden the front-door to new software engineers in our industry with a flaming glass ceiling of unemotional dependency injection. This action is a contempt for an industry and the people working inside it. This, very sadly, is a disgrace.

Dependency injection may work for building the infrastructure of application software and abstracting two components from explicit referring to each other, but does it work not at all for human beings, especially the newest talent? Feelings are hurt; belief and hope with ambitions are trampled; dreams are thrown asunder. No wonder it has hard to attract new people; whether they are youngest and brightest undergraduates, or they are mature folk and utterly serious about retraining in to computer science, if this final result of lack of feedback is a spit on the face, which they have, ultimately, to look forward to.

It is just not enough to say “no”. It does not help the recruitment consultant and the prospective candidate. How can the recruiter help to get better people for the organisation? How can the candidate ever know what went wrong? We are reaping bad karma and more misery on those people who are trying to keep fighting the good fight.

The stock answer from the client that is unforgivable and long-term patched in the synaptic memory is “Sorry. I am so busy that I really cannot afford to do it. You want me to give feedback on all of the candidates who interview here. I got more important things to do in the meantime. Unfortunately, I don’t have time for that.” If you read that and do happen to agree with that sentiment, then shame on you. Here it is the crux; effective candidates require feedback. Senior developers and technical leads always want to improve. The most talented inexperienced engineer who only has a couple of A-level’s wants to improve. If you do not care to give feedback, I guarantee you this fact; they will remember you and your company. Candidates who interview with or without a recruitment agent deserve feedback. You, as a technical leader, have a duty to provide it. It is your job description, so just do it.

It will be a terrible day when one of those candidates that you interviewed and failed to provide feedback for remembers you and your company when they do just give up; and instead grow to become to the next successful generation of rock star developers: a public relations disaster of your own making.

+PP+

PS: Managers and technical leaders need to be give regular feedback direct to their team members. If they do not then they are not being effective in any organisation. If they want all people to perform then they need to coach and mentor others too in order to become better.

Categories: Business, career, discourse, diversity, it, leadership Tags:

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+

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.

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?]

 

The Fundamental Business Case for Scala Web Presentation

March 10th, 2011 Comments off

Here is screencast of a web presentation.

It is called The Fundamental Business Case for Scala. I admit this was long overdue by three weeks or so. JavaPosse RoundUp and a new Bathroom installation were in my way and therefore my time was severly crunched. 

This talk is aimed at non-technical staff in the organisation, non-programmers and business oriented people, line managers, team management, and of course the dearest stakeholders. I attempt to fly and pull up to 30000ft above the clouds, so that you ,the business decision maker, are not overloaded with technical programmer jargon. The only things you need to know, you will already know, are: Java the software platform, object-oriented programming and a dose of common sense. The talk is about getting Scala adopted into your organisation through the act of necessity. Change is inevitable and it is happening all around the Java software platform and it includes the wider community ecosystem. Change is uncertainty, what are specific factors that influencing the trend towards Beyond Java? In this presentation I attempted to answer this question.

The Fundamental Business Case for Scala from Peter Pilgrim on Vimeo.

Please do let me know if you have feedback, without it I cannot hope to improve this talk. I really do need to make this a living talk, organic, your ideas and suggestions are valuable. Send me an email or tweet please.

Thank you in advance

(Sitting in the Westminister room at the QCon London 2011, Westminister, London)