Notes from NetBeans Day at JavaOne 2017

Here are our notes and pictures from NetBeans day at JavaOne 2017. You can find our notes from sunday (Community/NetBeans Day), monday,  tuesday, wednesday and thursday.

The day was very popular with queues and full rooms. Here are my notes and some pictures….

queues at JavaOne

10am Meet Apache NetBeans [CON6160]

Geertjan kicked off the day with a brief history and where NetBeans migration to Apache is. You can now download the 4 million lines of code in NetBeans from GitHub. Quick demo on Java9 features in NetBeans from Sven Reimers.

Lots of speakers on NetBeans days and Sean Phillips showed some of his NASA work  on James Webb deep space telescope (operator software built on NetBeans platform).

Well done to Georgia Ingham on her debut as a NetBeans day speaker, telling us all about NetBeans UK days.

11am Breaking up the Monolith with Jigsaw: An Architect’s View [CON4400]

Detailed overview on how the module file works in Java9 and an interactive demo on how it can provide reliable configuration and strong encapsulation. It works at package (not individual class) level.

1pm Java Performance Tuning with Free Tools [CON6163]

Showed free system and Java tools.

Showed how thread pool size could impact on performance (54sec to 17 sec in demo app once fixed). Showed again in VisualVM.

Offheap storage can also suffer memory leaks (ie do zip incorrectly, class loader leak, memory mapped file) which do not count towards heap size.

2pm Rapid Development Tools for Java EE 8 [CON3883]

David covered new JavaEE features like sever-sent events (using Concurrency utilities), reactive client (with a nice example to get GitHubProfile), Bean validation on collection of objects and Maps, Java 8 Date/Time API support, new contraints, JSON-B in the standard.

Ivar covered CDI2.0, Java EE security API (1.0) and JPA 2.2. My key takeaways – CDI now supports Java SE, Observer ordering. Security API is new and now offers authentication mechanisms. Identity stories can define authentication. Security context is now standardised with callers replacing users. JPA 2.2 is a maintenance release with @Repeatable to make code cleaner and more readable. Coolest new feature is stream support.

Gaurav showed jeddict in action, generating the full stack after design in Jeddict. The graphical GUI lets you design inside NetBeans, including relationships and 1 to many. The JSON view allows you to map all the entities. Jeddict can also read tables from existing databases.

3pm Rapid Node.js Development with NetBeans [CON5238]

NetBeans is an under-rated tool for NodeJs development. Ryan covered some misconceptions on NetBeans as a JS tool, showed its features (templates, code completion, code analysis, CSS3 editing, JavaScript debugging in Chrome, Gulp integration, Angular and TypeScript support) and built several example applications to show offf NodeJS, Express, Angular and Gulp support. NetBeans can also create, debug and run JavaScript tests. Demo of AWS lambda testing.

4pm Powerful Lessons from Top Java EE Experts [CON7624]

This session was literally full. The experts talked about their expectations for JavaEE including faster integration and better Community activity. Good Solid release. More consistency and modularity. Spec now complete, lots of implementation to do. Good code now on GitHub. More rapid releases. Hopefully more implementations. Community needs to take a greater role in documentation. Oracle still needs to sort out issues like branding. Eclipse was chosen in preference in choice to Apache (and Linux) as Eclipse made the best presentation. EE4J name discussed. JSF still a very valid solution.

5pm The Art of Feedback [CON3143]

We need feedback to improve. Code reviews basis in software. At HazelCast every code request pull must be reviewed by 2 people. Problem with immediate reaction as negative attack (emotional intelligence). Cognitive dissonance (people strive for internal consistency). Programs become extensions of programmers. We need to make it objective, not subjective and personal. Other effect cognitive bias (illusory superiority).

Who do we deal with these? We need egoless programming. To get there:-
1. Accept you WILL make mistakes.
2. You are NOT your code.
3. Accept no matter much you know, there is always someone who knows more.
4. Don’t rewrite code without consultation.
5. Treat people who know less than you with respect, deference and patience.
6. The only constant in the world is change.
7. The only true authority stems from knowledge not position.
8. Fight for what you believe but gracefully accept defeat.
9. Don’t be “The guy in the room”.
10. Criticise the code, not the people.

Reasons we are still so bad are:-
1. We can’t listen (listen to understand not to reply). Aim for attentive listening or observation listening.
2. Defensiveness. Taking it as critical.
3. Dualistic position Right v. Wrong. Life is not binary.

How to give feedback
1. Understand the context.
2. Choose a good time and place.
3. Never when feeling strong emotions.
4. Don’t get personal.
5. Be humble and respectful.
6. Expect defensiveness anyway.
7. Ask, don’t tell.
8. Be specific
9. Be constructive.
10. Don’t always/never.
11. Positive, negative, positive.

How to receive feedback:-
1. Be open-minded.
2. Prepare for the “Opponent” – The preacher, the cleaner (breaking small rules), cowboy coder (I don’t care), framework hero (use XYZ), the veteran (how it has always be done).
3. Don’t take it personally.
4. Ask questions.
5. Reflect.
6. Then respond (triage – react, reflect, respond)

If you’re a first-time reader, or simply want to be notified when we post new articles and updates, you can keep up to date by social media (TwitterFacebook and Google+) or the  Blog RSS.

Related Posts:

The following two tabs change content below.

Mark Stephens

System Architect and Lead Developer at IDRSolutions
Mark Stephens has been working with Java and PDF since 1999 and has diversified into HTML5, SVG and JavaFX. He also enjoys speaking at conferences and has been a Speaker at user groups, Business of Software, Seybold and JavaOne conferences. He has a very dry sense of humor and an MA in Medieval History for which he has not yet found a practical use.
Markee174

About Mark Stephens

Mark Stephens has been working with Java and PDF since 1999 and has diversified into HTML5, SVG and JavaFX. He also enjoys speaking at conferences and has been a Speaker at user groups, Business of Software, Seybold and JavaOne conferences. He has a very dry sense of humor and an MA in Medieval History for which he has not yet found a practical use.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>