2014 Conferences

I know it is a bit early to sum up the year in November, but since I have not planned any more conference talks this year I think I will do it anyway. As the picture shows I have been pretty active this year.

 

2014-11-08 12.15.31

I have been presenting at conferences in Norway (Software 2014), Sweden (Javaforum, Øredev), Germany (Javaland), Poland (JDD), Ukraine (JEEConf, JavaDayKiev) and Morocco (JMaghreb). In addition to my speaker appearances, I was also able to attend JavaOne in San Francisco where I got to meet a lot of people in the JCP and ended up being selected to the Expert Group for JSR 371 – MVC 1.0.

I hope to continue speaking at a lot of conferences next year as well. Talks have already been accepted by jDays and Javaland, so it looks promising.

A Little Status Update

My schedule for the upcoming months are beginning to fill up as a result of submitting talks to a lot of CFPs during summer. The scheduled talks so far are:

There are still some room, so if you are organizing a conference and need talks to fill up, feel free to contact me. My profile on Lanyrd is kept updated at all time.

But first of all I am going to JavaOne! This year as an attendee, so it is all about networking, community building and interesting technical sessions and keynotes.

nbjavaone_icon_125_2014

Upcoming Talks

I think time is due for a small update post. Right now I am preparing code samples and slides for the upcoming talks this winter:

  • Javaforum, Gothenburg – Spring 4, Java EE 7 or Both?
  • Software 2014, Oslo – Organizing for Continuous Delivery
  • JavaLand 2014, Brühl – Spring 4, Java EE 7 or Both? and Implementing Batch Processing in Java EE 7

My profile at Lanyrd is also kept up-to-date.

Views From a Speaker at JDD 2013

JDD 2013

I have just come home after spending three amazing days in Krakow as one of the speakers at the Java Developer Days Conference there. The organizers of this conference takes well care of their speakers and you feel welcome all the time. And I am sure the attendees feel the same.

Apart from my talk, my greatest achievement at the conference was to win a a signed copy of Practical API Design by implementing a simple application using bck2brwser. My contribution: Duke2Brwser. Hope this may inspire you to try it out. Just activate the HTML/Java Project Support plugin in NetBeans and go ahead!

JavaOne 2013 – It’s a Wrap

I have to admint that my last post about JavaOne was just a trick to get a free t-shirt from the OTN booth.

This was the first time I attended since Oracle took over the show from Sun and they are doing a great job at it. The quality of the sessions were excellent and the organizers did a great job in making everything go smoothly.

This year’s JavaOne was special to me since I was attending the conference as a speaker. Some pictures and stats of my session below.

20130921_15231920130926_132137IMG_1322

Some statistics
Pre-registered Attendees (249 people)
Session Attendence (170 people)
Survey Results (11 surveys)
– 73% felt that the session increased their knowledge of the subject
– Overall technical value of session 4.0 (max 5.0)

NetBeans and Android Tip

Developing Android applications using NetBeans is usually as easy as stealing candy from a baby. But the last couple of days I have been struggling with an application that uses a couple of external libraries. The other developers (using Eclipse) have a couple of scripts that they run to get the .so files included in the .apk file. When I tried running the same scrips on the .apk generated from NetBeans, the application failed to start in the emulator. I nearly switched to Eclipse (god forbid), but then I saw the light again. As it turns out, NetBeans does not include the java api jar-files in the external libs in the dex-file by default which resulted in a ClassNotFoundException.

The solution is as simple as you would expect when you have used NetBeans for a while. Add the following to the build.xml file in the project root (replace the dummy values for the signjar target):

<target name="-pre-jar">
   <copy todir="${build.classes.dir}">
      <fileset dir="${external.libs.dir}">
         <include name="*.jar"/>
      </fileset>
   </copy>
</target>
<target name="-post-jar">
   <zip update="true" destfile="${dist.apk}">
      <zipfileset dir="${external.libs.dir}" includes="*.so" prefix="lib/armeabi"/>
   </zip>
   <zip destfile="tmp.apk">
      <zipfileset src="${dist.apk}">
         <exclude name="META-INF/*.*" />
      </zipfileset>
   </zip>
   <move file="tmp.apk" tofile="${dist.apk}" />
   <signjar jar="${dist.apk}" alias="alias" storepass="secret" keypass="secret2" keystore="my_keystore"/>
</target>

You also need to add external.libs.dir=<your lib folder> to you <project root>/nbproject/project.properties file.

Now you can install the resulting .apk file using adb install or by running/debugging directly from NetBeans. Remember to follow the tip for asset-files in a previous post if you have that kind of resources.

Android Emulator and NetBeans

Whenever you ask or search for help regarding Android development, you end up with some fix related to the Eclipse ADT plugin or the Android SDK tools. My intention is to fix that by repeating parts of a great tip I found at Tim Perry’s blog. It is about how to get hold of the resources placed under the /assets folder in you Android project while running your applictaion in the Emulator from NetBeans. If your application tries to access resources from the AssetManager you will get a FileNotFoundException. The reason for this is that the assets are not packaged with the .apk like it is if you package and deploy it using the SDK tools.

The solution is:

  1. Go into nbproject/project.properties and add ‘assets.available=true

Voila! You will now be able to run, debug and step through your code as you would expect.