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

July 6th, 2015 2 comments

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

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

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

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

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

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

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

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

Categories: Business, Contracting, Development, Education Tags:

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

June 17th, 2015 Comments off

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

Good Morning,

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

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

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

Contracting …. contracting … contracting

Categories: Business, Contracting Tags:

A Remedy for the Typesafe Activators messes up my Cygwin terminal

June 15th, 2015 Comments off

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:

myname=`basename $0`
## PrefixCmd='echo =>'
${PrefixCmd} trap "stty erase" EXIT SIGINT SIGTERM SIGHUP
${PrefixCmd} activator "$@"
${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


Categories: Development, Digital, Scala Tags:

Contracting #19 – I never give upfront references and here is why

June 15th, 2015 Comments off

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:

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 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.


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


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).



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!



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
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.



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



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



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



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



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.



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.



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



The amazing Frank Greco, who knew?



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



Nor is this one my car.



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



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!



We salute you too Steven Tyler!



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.



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



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



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



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.



The bar staff hipsters running the bar at PartyONE



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



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.



Super Frank Greco



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.



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.



Here is a shot of the Liquid Robotics sail craft.



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.






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



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!



Mobbed by the fans!



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



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.



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



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



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



The Java Desktop Lunch part 1



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



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?



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



This is Mario Torres who was also the Java Desktop lunch



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.




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.

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.


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.


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.




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