In the Digital Bin #29

June 17th, 2015 No comments

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

Good Morning,

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

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

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

Contracting …. contracting … contracting

Categories: Business, Contracting Tags:

A Remedy for the Typesafe Activators messes up my Cygwin terminal

June 15th, 2015 No comments

Using the Type Activator activator command causes the terminal to become invisible.
This bug actually existed in Play Framework 2 and even earlier. It is still around today and it is really annoying
when using Cygwin Terminal!

My solution is to write a custom BASH script called myactivator:

#!/bin/bash
myname=`basename $0`
## PrefixCmd='echo =>'
${PrefixCmd} trap "stty erase" EXIT SIGINT SIGTERM SIGHUP
${PrefixCmd} activator "$@"
status=$?
${PrefixCmd} stty sane
echo "Exit Status: $status"
exit $status

My script wraps the Typesafe activator shell script and when it terminates, it resets the UNIX terminal to a sane state again.
Place this in your ~/bin folder and add the folder to your PATH environment variable.
You also need to make sure it is runnable with chmod 755 ~/bin/myactivator.

Now you can type myactivator clean and myactivator test, etc

+PP+

Categories: Development, Digital, Scala Tags:

I Never Give Upfront References and Here is Why

June 15th, 2015 No comments

I never give two references up front in an interview process. It seems to me that some people [recruiters, talent acquisition hunters and researchers] are just chancing their arm to get into my business social network or pump me for information. If you know Kevin Mitnick then you probably know about Social Engineering too. This is a relative new term for a uncool business practice that is over one hundred years plus years old (P. T. Barum).

It is you are part of the elite (like I am a Java Champion, one of  125 worldwide on this planet Earth) then you really should not be relying on referees at the first stage of potential contract interview process! (Err that is really just dumb.) Even if you aren’t part of this elite group, such requests is just plain wrong. This is where I feel that designers [the web,  physical architects, creatives, artists, musicians, singers, sculptors and painters] are luckier than software developers, because there is a tangible product at the end of their work. These artistic workers have portfolios, and well stocked and recent portfolios tend to drive their freelance business model. In the software industry, much of what we as engineers do for business, lurks behind the close doors of the web front-end or some suped-up rich client. Our back-end development work is just plainly not immediately noticeable, but it is there nonetheless. We, therefore, should not devalue ourselves as digital engineers that work behind the scenes. Have you taken notice of thousand line name credits at the end of the latest Hollywood CGI movie? Movie work is paid for professional work, not free.

 

Asking for credit barber shop could result in a punch in the head!

A Poster found at a barber shop!

 

So let me repeat again, I do not provide up front references or referees of any sort, because I find it patronising. Don’t scandalise mine. If I and the potential client, during negotiations, both get to the contract job offer stage then I am more than happy to provide them directly to him or her. Then again the types of clients that I tend to work for, already have researched my skills online and/or, at least, spoken to other people about what I can do for them.  All that said, I am always happy to provide testimonials.

[Reference Contractor UK Forum – I just need two references – sticky]

 

– update – 2015/06/15 6:48pm

Clarification of the people statement at the beginning; revised generalisation as there as some great talent resource folk that help contractors and obviously client.

Categories: Uncategorized Tags:

Why Was Your Job Specification Dumped In The Rubbish Bin? #17

June 15th, 2015 No comments

Inside my so-called one page general marketing CV, I have written expressly these sentences:

Daily, I commute from Milton Keynes and Central London (Zone 1). Maximum commute time door to door is 100 minutes.

  • No Permanent Roles (i.e. I don’t really care them)
  • No International Roles (e.g. No interest in Zurich/Australia)
  • No Testing Roles (i.e. I’m an developer, I don’t do testing)
  • No System Integration Roles (see above)

This, however, does not seem to deflect recruiters attempting to send me e-mail. It is as if they cannot read or understand English. Here is an email that recently received:

Principal Scala/Python/Java Cloud Software Engineer - XANADU

Hi Peter,

Having read your cv I appreciate you don’t consider permanent roles 
but I wanted to send you a little bit of information about a unique 
opportunity I currently have in Bristol. I am getting in touch to 
introduce an opportunity to join [XANADU], one of the world’s biggest 
and best-known software companies, as Principal Software Engineer.  
I’m getting in touch after finding your CV online.


 

Shawn Perez Follow Asbury Park Tattoo Arts Festival 2013

Shawn Perez Follow
Asbury Park Tattoo Arts Festival 2013

    They are significantly expanding their development team in Bristol, and will be hiring the brightest UK software engineering talent over the next couple years. They are also central to a major plan to reinforce Bristol’s status as the UK’s leading tech hub outside of London. Bristol is known in the UK as a great place to live - http://www.independent.co.uk/news/uk/home-news/bristol-named-britains-best-city-to-live-in-9210931.html - and is significantly cheaper than London.

This job specification email and attachment was consigned straight the digital
/dev/null

, my rubbish bin, today. (No offence to Bristol, Australia, or Zurich was intended at all).

 

Update: I changed the name of the XANADU business to protect their innocence.

+PP+

Categories: Contracting, Java, Scala Tags:

Coda Hale, Dropwizard and Scala

December 4th, 2014 Comments off

I enjoyed working with Scala at my last client. One of the frameworks that we used there was Coda Hale‘s Dropwizard framework. The Dropwizard project, itself, is written against Java, and provided a nice bunch of friendly open source frameworks and applications already integrated together in read-to-run server. The developer just writes configuration, resources and if necessary templates to plugin in the application framework. The great idea is that you can dropped in some code into the setup and you are generally on track with a monitoring, logging and healthy beating infrastructure.

  • Jetty for a lightweight Java EE 6 style Web Servlet container
  • Jersey JAX-RS for REST
  • Jackson for JSON serialization
  • The incredible Metrics library for handling all sorts of Developer/Operation metrics
  • Logback and SLF4J for performance logging including integration to UNIX style SysLogs through a network port
  • Hibernate Validator 1.0 for bean validation
  • Database help with JDBI and Liquibase
  • Guava is useful for writing functional programming Java before Lambdas (Java SE 8)

Coda Hale presented an interesting talk on the importance of measuring critical systems in an disparate and diverse architecture. He posited the idea that you need to know the numbers in order to make key decisions of your system. His talk is available on YouTube You Tube Metric, Metrics are Everywhere (opens separate window) and the slides are here.

I did say that Scala is being used in this blog entry. Dropwizard has a Scala module, which I saw definitely being used in the Registered Traveller project at GOV.UK. It made sense to really on pre-existing open source framework (NIH, DRY) based on sound ideas like health checks, pings and pongs and logging. You can build reasonable scalable, maintainable and robust Micro Services in Java and Scala with this integration of configuration and resources.

The issues with Dropwizard are that some of the modules are dated. In particular, the Jersey framework integrated is only 1.18, where as a recent check of MvnRepository.com already shows the latest Jersey version 2.13 or better. The latest version of Jersey provides Java EE 7 style API with the standardised JAX RS 2.0 API and the Client side API. If you want to use Java EE 7 then DropWizard is not yet capable of running against Jetty 9.

I mentioned that there is a Scala module for Dropwizard, which is a fork on the original unmaintained project. Brett Hoerner maintains this Github project. The module does work with Scala 2.11 even though the original fork dates back to Scala 2.9. There are some clunky expositions of Guava and Java that seep through to the Scala side. Ok the Java framework is not written in Scala, but Drop Wizard solves a pressing issue with bundling working application/infrastructure that almost ready to go for the enterprise. There could be more Scala style library API, but most of all it would great of the Java framework was upgraded to latest Java EE 7 features and frameworks.

I believe that sometimes people forget that Scala is hybrid of object-oriented programming and functional programming. That is exactly what the inventor of Scala wanted to achieve on the JVM. Therefore there will be people will prefer a one of these directions and just because that someone choses one these orthogonal does equate with ineptness or inferiority. To penalise somebody because, to date, they have had less experience of FP and more experience OOP or the other way around, in my mind at least, demonstrates elitism, contriteness and damn right stupidity. It more important to continuously improve on both axes as much as possible and we all have something to learn from each other.

+PP+

A Scala development task for ACME

November 26th, 2014 Comments off

I recently took part in a Scala development task for ACME. I spent about a few hours over a weekend in mid November on it. I completed the task in Scala 2.11 and against the popular Drop Wizard IO project. It you are interested you can go and review the ACME Server project on Github and let me know what you think.

Bonus question: How does one create an efficient ZIP task in SBT e.g. (build.sbt)?

+PP+

IntelliJ IDEA 14 RC 2 Looking Good

November 16th, 2014 Comments off

JetBrains announced another pre-release of the fabulous IntelliJ IDEA 14 RC2, which I installed yesterday. For me, it is already working fine and they appeared to have a fixed troublesome core dump editor bug. The current IDE 13.1.5 crashes on Mac OS X and Windows, because a project compiled against Java 7 cannot be deployed to the latest GlassFish 4.1-SNAPSHOT. Because IDEA 13 must run against JDK 6 it fails to deploy to GlassFish 4.1, which is compiled against Java SE 7, so one has to force IDEA to run against Java 7, but then you get the crash with creating new Runtime Configuration [ Run -> Add -> GlassFish -> Local ]. (JDK 6 is available from the Apple for Mac OS X Yosemite and Oracle still provides an archive of releases for historical purposes.) I tested the new release on Windows of course with code from my up and coming book Digital Java EE 7 Web (working title).

Captured

+PP+

Categories: Digital, discourse, future, Glassfish, javaee7 Tags:

JavaOne 2014: Developing Java EE 7 Applications with Scala (CON2644)

October 20th, 2014 Comments off

Here is the slide deck to my JavaOne 2014, San Franciso, talk Developing Java EE 7 Applications with Scala (CON2644) as a PDF. It seems that Slideshare still messes up the heavy graphical content design of my slides. You can find the entire code to the presentation on GitHub and yes the examples do all work. Have fun programming!

+PP+

 

PS: If you desperately to try out Slideshare, then it is also available there:

 

 

 

JavaOne 2014 Impressum

October 8th, 2014 Comments off

 

Photo License

My photos are licensed under Creative Commons License 2.5.
You must include the license. You must attribute the source. You cannot use my work, the source for commercial activities. You cannot edit or derive the source. For more information read the license or for enquiries contact me.

I have reserved this technical blog session for random tidbits around the JavaOne 2014.

 

 

Whilst there was trouble brewing a head at home and disappointments with contracting, at least I could saviour this selfie with the Father of Java, James Gosling, himself
Untitled
In fact, I am sure that I have a photo on hard disk drive, an external USB drive, from the then JavaPolis 2005 conference in Belgium with James Gosling.

 

 

This is the one and only Gerrit Grunwald in the exhibition space, demo grounds.
IMG_2282

 

 

Amelia Eiras and David Blevins from TomiTribe. Thanks guys for a great JavaOne experience.
IMG_2262

 

 

Annual developer tee-shirt toss with a giant elastic slingshot was back in effect for the keynote
IMG_2136

 

 

This is not my car, although I thought this Lamborghini cladded in copper metal plate outside of my JavaOne hotel was van glorious.
IMG_2573

 

 

The Internet of Thing’s Winners with their prizes at the Oracle Technology Network podium in the exhibition area. (L) Jose Pereda and Barcelona’s own David Peñuela and Jose Antonio Lorenzo from Lhings Connected Table
IMG_2165

 

 

Cameron Purdy’s gives the Java EE speech at the keynote with Duke’s Choice award winner, Mohamed Taman (r) and Red Hat’s Mark Little.
IMG_2126

 

 

One of the best thing at JavaOne was the Null Pointers band, which had musical instruments and equipment sponsored by JFrog.
Every year at the conference, the Java Community Process, who managed hundreds of standards proposals and specification for Java, throw a lavish party. For several years, it has taken place at the top floor restaurant of the Hilton hotel. This year they hosted the Null Pointers band.
IMG_2181

 

 

Here is a photo taking during the performance of the band at JCP Party on Monday night:
(L) Geert Bevin singing duties and Jim Weaver (Lead guiter), the drummer is Mattias Karlson
IMG_2192

 

 

The amazing Frank Greco, who knew?
IMG_2194

 

 

This is Nicole Scott from Oracle’s Outreach program for JUG Leader and Java Champions at the JCP Party.
IMG_2218

 

 

Nor is this one my car.
IMG_2575

 

 

The Oracle Appreciation Event really outdid themselves this year with the amazing Aerosmith.
IMG_2346

 

 

If these rockstar pensioners can keep going in their mid-60s that surely this is inspiration for us oldie rockstar programmers, developers and designers. We just have to keep rocking those programs no matter the business. We can keep on deliveries, and some of us will have no choice to do so now in order to pay off the flipping mortgage!
IMG_2335

 

 

We salute you too Steven Tyler!
IMG_2328

 

 

I crept up the stairs to perview the PartyONE party! This was an night time event on Tuesday organised by four companies: Atlassian, Tomitribe, Zero Turnaround and HazelCast. It was also a winning combination in second place to the JCP Party.
IMG_2252

 

 

This photo has the wrong camera setting, but you make out the British contingents in the house. (L) Richard Warbarton and (R) David Bryant
IMG_2214

 

 

Michael Hendriks (L) is chatting with Ixchel Ruiz (R)
IMG_2277

 

 

Mark Hazel (L), who organised for the first time this year Devoxx UK, is sitting and relaxing at PartyONE.
IMG_2260

 

 

It was James Gosling again at the JFrog stand during the conference. Fred Simon, a regular attendee to the Java Posse Roundup, is in the middle.
IMG_2286

 

 

The bar staff hipsters running the bar at PartyONE
IMG_2265

 

 

Arun Gupta (L) and Adam Bien (R), taking a picture of them seating together of me taking a laying down photo of them at the Thursday keynote. Simon Ritter left of Arun is always trying to be so cool, because he is.

 

 

Here is another shot, but Mark Reinhold was tied up to business matters
IMG_2431

 

 

Another shot of the other members of the Null Pointers, here is Ed Burns as the band’s keyboardist. JFrog said that the instruments have stored for safe keeping for next year’s stint.
IMG_2299

 

 

Super Frank Greco
IMG_2311

 

 

Here is an example of JavaFX foreign exchange service written by Celertech. Oh! The opportunity that was missed in the time frame of 2010. If it is good idea then somebody else will implement regardlessly and so well done Celer technologies.
IMG_2447

 

 

Paul Perrone of the Perrone robotics, who one authored a huge tome of book, 1000 pages or more, of J2EE 1.4 on the benefit of Prentice Hall publishers, presents on cqr automation, robot car contraptions adaptors and hazard detection technologies. He also dumped a video down about the research being conducting into driverless cars and embedded systems programming written in Java.
IMG_2502

 

 

Here is a shot of the Liquid Robotics sail craft.
IMG_2284

 

 

Johans Vos and RoboVM has just announced, in this picture, a joint venture to bring a JavaFX port of the harder parts of the SDK to iOS and Android.
IMG_2461

 

 

IMG_2277

 

 

Java Champions in arms: Ladies and gentleman, I give you Mr. Griffon, Andres Almiray!
IMG_2550

 

 

Finally, I get to have a photo with the Chief Architect of the Java Platform, Mark Reinhold, who is the man with the biggest job, modularisation of the Java Development Kit and Runtime Environment. Cool!
IMG_2553

 

 

Mobbed by the fans!
IMG_2546

 

 

Mark Reinhold on the first keynote on Sunday, which was the one that was horribly cut short, because the presentation ran out of time!
IMG_2149

 

 

Brian Goetz is talking about JDK 8 and the Lambda expressions with parallel Streams, which declaratively increase the concurrency of algorithms, providing you have programmed the function blocks correctly. In other words, parallel streams, are still not the magic bullet, they can help with readability.
IMG_2153

 

 

Adam Bien contemplates some pressing issue or two during the Thursday keynote in the Marriot Marquis.
IMG_2408

 

 

Andra Keay manages the Silicon Valley Robotics takes the stage at the keynote.
IMG_2425

 

 

Tori Wieldt and Yolande Poirer lead out the Duke’s Choice awards winner for 2014
IMG_2489

 

 

The Java Desktop Lunch part 1
IMG_2563

 

 

The Java Desktop Lunch part 2 – holding court was Jonathan Giles, who currently handles the invitations and the organisation of this unique JavaOne event.
IMG_2567

 

 

The Java Desktop Lunch part 3 – who do recognise in the photograph and in the background. Some clues, Carl Dea (L), Stephen Chin (far L), who else?
IMG_2560

 

 

This is Doctor Deprecator a.k.a Stuart Marks (L) checking up on Ed Burns (R) for Java Specification responsiveness
IMG_2588

 

 

This is Mario Torres who was also the Java Desktop lunch
Untitled

 

 

Shout outs

In no particular order

  • Cesar Hernandez
  • Carl Dea
  • Roberto Cortez
  • Heather Vancura
  • Yoshio Terado
  • Sean Phillips
  • Nicole Scott
  • Beverley Pereira
  • Aslak Knutsen
  • Johan Vos
  • Mark Heckler
  • Mark Little
  • Stuart Marks
  • Amelia Eiras
  • Mario Tores
  • David Blevins
  • Gerrit Grunwald
  • Chris Richardson
  • Daniel Byrant
  • Ed Burns
  • Josh Juneau
  • Oliver Gierke
  • Mark Reinhold
  • Mario Torre
  • José Pereda
  • David Heffelfinger
  • Bruno Borges
  • Jim Weaver
  • SooYeol Yang, CTO, Java Champion
  • Fred Simon
  • Brian Goetz
  • Lucy Carey
  • Adam Bien
  • Tim Boudreau
  • Kazuyoshi Kamitsukasa
  • Masahiro Yoshioka
  • Tonya Rae Moore
  • Kito Mann
  • Arun Gupta
  • Stephen Chin
  • Kirk Pepperdine
  • Alex Heusingfeld
  • Jim Laskey
  • Fabrizio Gianneschi
  • Mark Hazell
  • Sven Reimer
  • Dierk Koenig
  • George Saab
  • Brian Goetz
  • Todd Costella
  • Otavio Santana
  • Yara Senger
  • Ixchel Ruiz
  • Vinicius Senger
  • Andres Almiray
  • Ben Evans
  • Alexis Lopez
  • Dick Wall (Typesafe Party)
  • James Gosling
  •  

     

    If I missed somebody real, I am so sorry.

     

     

    +PP+

JavaOne 2014: Conferences conflict with contractual interests

October 8th, 2014 Comments off

 
The Duke’s Street Cafe where engineers can have a hallway conversation on the street.
IMG_2176

Incompatible with contracting

 

Photo License

My photos are licensed under Creative Commons License 2.5.
You must include the license. You must attribute the source. You cannot use my work, the source for commercial activities. You cannot edit or derive the source. For more information read the license or for enquiries contact me.

My eleventh JavaOne conference (11 = 10 + 1, 2004 to 2014) was splendid. It was worth attending this event and meeting all the people involved in the community. Now here comes the gentleman’s but. My attendance came at some cost beyond the financial obvious, hotel and plane ticket. It appears going to conferences are seriously incompatible with the motivations around business of contracts. One cannot have freedom and escape obligation to professional work. Despite, all of the knowledge that we have learned as professional developers, designers and architects, if your client requires you to be on site and you are not around, it can be taken that attending conferences like JavaOne 2014 in certain minds is taken as an illustrious and salubrious adventure for your own benefit. On the hand this is fair assessment, a client pays a contractor to be available, around for a burning need, and it is balanced with team work, morale; and deadline and commitments. At the back of mind, there are two schools of thought. One way is not to care too much about clients, but then a contractor will find they have a devalued reputation and lack of repeat business. The other way is never to take time off or away from project work for a client and then rely on contracts ending or finishing exactly before or after a major conference like JavaOne.

So what to do in 2015? How can I resolve contracting and conferences? I believe the answer,  obviously, to reduce the conferences that I actually attend to the minimum that I can unfortunately. It means that I will consider whether JavaOne 2015 is going to be viable or not.

 

 

The keynote question and answer session with a Twitter hashtag, #j1qa, which obviously has long expired, featuring John Rose(far left), James Gosling (inner left), Brian Goetz (middle), Brian Oliver (inner left) and Charles Nutter (far right). The chair was Mark Reinhold.
IMG_2399

 

Ten years ago, when I worked investment banking in the good times. I could pretty much rely on 6 months J2EE contracts lasting as long as that term. At Credit Suisse bank, I managed six month contract renewals at a breeze as long as I perform and finished project work on time. In 2014, the climate is more restrictive, the pressure on high profile projects and the uncertainty of business means that contracts lengths are typically 3 months to start with and that cannot guarantee renewals, and if you think that permanent employment solves the dilemma then you are incorrect.

A contract is a temporary and by definition that implies a contractor is treated as a temporary resource, but a permanent person can also be removed at short notice in the United Kingdom, if you have less than two years with the employer. When you think that the typical IT employment last about two to three years before somebody changes job, then you can see even permanent people have to be extremely careful with their holiday planning and entitlement. Yes you are entitled 25 days or more, but if you fail to give forewarning and mess around with the program delivery managers project plan too much, don’t be surprise if a ton of bricks eventually comes tumbling down.

 

 

A picture with the Java Mascot to complete the collection. I wonder if Duke has a sixth sense and if she/he/it can sense the trouble ahead lurking in my subconscious.
IMG_2273

 

Frustrating as it is, and still more than year from the next JavaOne conference, the next one is late October 2015, from Sunday 25th to Thursday 29th, I can’t say with real confidence that I will be there. I will, of course, submit some Calls For Papers, when the time approaches, but it will be dependent on client requirements if I can attend or not. If I do attend, then I probably cannot stick around California and see friends. Even for the UK and European conferences, I can only see trouble ahead with more conflicts. I already decided that I will not be at Devoxx in Belgium. There are also issues when the conference planning is late, the confirmations are validated less than three months before the event, project managers are already looking at their schedules for resourcing and if a contractor is going to disappear, then they are more easily replaced with somebody who will be around to fix their present pain, which is what work is more often than not about. I have found that client’s typical do not have the attitude of kindness, it is about the budget and time. That’s is the way the business world is running now, and the only conference speakers who can give up the time as the developer advocates, the people who paid to speak or promote at conferences. Independents are finding it harder and there will be no improvement in this situation. I just can’t find seem to find that benevolent, technology loving and business client, who understand me for what I am :(

 

 

These guys and gals at Alderbaran electronics with their NAO robots are inspirational. This is photo from the JavaOne demo grounds and exhibition.
IMG_2295

 

 

+PP+

Addendum: Earlier this year, I attempted a campaign: ITMustChange2014, I think it definitely failed in this regard.