This was my 3rd visit to NFJS. Why do I go back ? There are 3 reasons why I like to go conferences like these…
The adrenaline rush: I gushed about this few years ago- when I first went to NFJS.
New technologies \ tools: Could be something that I have heard of before , but never tried or something totally new to me . Good opportunity to learn something new.
Instant gratification: Every time I have been to a conference, I bring home some changes to practices or new tools or design strategies- something which made us grow. Some are explicit changes and others have a subtle impact on how I work and think.
Without much further ado- here is a brief summary of the sessions that I attended during my latest visit to NFJS.
Scala Koans – A new and fun way to learn a Scala programming language -by Daniel Hinojosa
Learning Scala has been on my list for some time . I have half-read a book on Scala. But with Scala not being a language we are currently using – at work, there are few opportunities for me to actually code in Scala.
Enter Scala Koans. Briefly put- Koans are a set of exercises designed to teach you the language – in small steps…
In 90 minutes – I did some hands on Scala exercises. learnt few things about Scala.
Instant Gratification ? The next time I decide to pickup Scala- I am probably going to start with Scala Koans or for that matter if I decide to learn Ruby , this would be a cool way to start (There are koans for other languages too).
Elements of Modern Applications: MVC in the Browser – by Criag walls
Patterns of Modular Architecture by Kirk Knoernschild
Re-usability is one of the most exaggerated aspect of software. It is often thrust in your face during discussions and discussed to death. But few know how to pull it off. This session presented patterns on developing a modular architecture.
Key takeaway ? Your reusable unit is a module (jar) rather than classes. Your modules can have its own life-cycle independent of the applications that use it. If you really take this session to heart- you may want to explore OSGi.
Instant Gratification ? I am going to take scissors back to work and plan to cut our application into modules.
Introduction to Virtual Machines and Interpreters by Douglas Hawkins
I really enjoyed listening to Douglas. It was obvious he knows the JVM pretty well.In this particular session, he gave a behind the scene tour of how VMs work.
I have been working in Java almost ever since the first version of Java came out. My most days are spent figuring out how to effectively use the language features . Its not often that I pause to wonder\understand how the VMs work under the hoods. To me most interesting part was the optimization capabilities of the VMs – especially JIT.
Instant Gratification ? Better understanding of how the JVM works.
Modeling Resources: REST and Hypermedia by Brian Sletten
Every time I got to NFJS, I always make sure that I attend at least one session by Brian. He reminds me how powerful REST can be and how poorly it is often implemented.
I believe -organizations who use REST (or think they do use REST) fall in one of the 2 categories. (In some ways they are phases of adoption and understanding)
One: You have servlets which simply return XML. REST doesn’t mean more than this to you
Two: You have started adopting sane REST practices . You will shake your head in disbelief when you see a GET request deleting a resource. Your paths are now more REST-like and you feel good about that.REST is no longer APIs clapped with fancy URLs. When you think REST- you are thinking about modeling your resources. You are using media types effectively and correctly- maybe for versioning ?
Instant Gratification ? We are using REST right now. And this will help us put some of key learning’s into practice now.
Functional SOLID by Matt Stine
SOLID has been there for sometime and Functional programming has picked up steam in the recent times. Matt brought the two together. Somehow I didn’t get the punch I was hoping to get out of the session. It was a good refresher for SOLID principles though, but didn’t get beyond that.
Instant Gratification ? Reinforcement of the SOLID principles.
Understanding Garbage Collection by Douglas Hawkins
I like to call Java programmers as lazy programmers. We tend to shed off our responsibility when it comes to memory management. Which may be fine when you think at micro level, but when you put this all together and have an enterprise application working- things start changing. Suddenly how well you have crafted your memory organization matters. In this session -I learnt all about Eden, Survivor Tenured zones. About soft and weak references. About garbage collection options.
Instant gratification ? Will revisit memory options and garbage collection options for our applications.
Server-Side Push: Comet, Web Sockets, and Server-Sent Events come of age by Brian
Brain gave whirl tour of various options out there which can be used for applications which need to push server-side events. The session had a bit of history, comparisons of different techniques and a look towards the future. Working examples with succinct code- really helped.
Instant Gratification ?We don’t have an immediate need for server side push , but now that I know more about this- I am sure the next opportunity isn’t too far off
Testing the Untestable by Douglas Hawkins
It was a good closure to the weekend. Its not about development, but getting it to work. And how do you ensure its going to work- only when you have tested it well. There the those regular run-of the mill CRUD operations that are simplistic enough to test, but then there are those out of the ordinary mind twisters that need to be tested as well. Douglas walked us through some very specific scenarios where he had to test the untestable and how he developed his testing strategies
Instant Gratification ? While I can’t say that I brought home some very specific strategies, it did set me thinking on how I would test the hard to reach nooks and corners of applications that I work on daily basis
All in all- a good weekend busted over good stuff.
Now for the awards…
Most entertaining speaker: Brian Sam-Bodden
Most bang for the buck: Douglas Hawkins