Sunday, June 3, 2012

NFJS Spring 2012

Another year another No Fluff Just Stuff event. This spring I spent a weekend getting my brain stuffed with ideas to share with colleagues. If you haven't attended one of the events you should seriously consider it www.nofluffjuststuff.com.

Keynote: How Our Buildings Shape Us by Tim Berglund

Using the metaphor of the forms established in music, architecture, and writing he spoke about how as developers we need to be aware of the various forms are software takes and how that influences how we create it. We need to branch out if all we've done is object-oriented. As programmers we need to understand our different forms: procedural, object-oriented, functional, and the various patterns we use for each.

Sessions Attended

NoSQL Smackdown

A general overview of various non relational databases out there. The major types are BigTable, document based, and graph. My big takeaway was the need to know all of the different kinds so you can make good decisions on which one or set to use when the scale of your problem causes you to need the extra complexity of the new data model.

Cassandra

It's based around BigTable. I need to try it out and blog about it.

Neo4j

Neo4j is a graph database. I need to try this one out as well.

JavaScript Libraries You Aren't Using Yet

This session was about microlibraries trying to get the size below 10k and be more focused than something like jQuery. backbone.js and spine.js looked interesting. jquip.js is a pared down jQuery.

ClojureScript Workshop

ClojureScript allows you to write Clojure which is then compiled into JavaScript. Clojure is on my list of things to learn, so I'll need to try this out to see if it improves on the ease of writing JavaScript for me.


Designing for Mobile

Developers need to consider the limitation of mobile devices. Smaller footprints for libraries become important. The lack of screen real estate forces you to work within constraints and focus on the most important parts of your application. There was also a reminder to consider that a finger is not as precise as a mouse so develop applications with the button size and whitespace in mind.

Mobile App Smackdown: Native vs Mobile Web

We discussed the different choices between taking the time to create 3 different native interfaces (iOS, Android, and web) vs using the mobile web with html5, jQuery mobile, and PhoneGap. The big problem with mobile web currently is the uncanny valley. They look almost like native but leave people feeling like the application is off somehow. My opinion is the best bet is to write native interfaces.

Mac Productivity Tips

Try to think of your computer as a product produced by code and script the setup of your home directory and tools. Learn the keyboard commands to navigate your computer, the mouse is slow. Make aliases and ruthlessly automate everything you can.

Domain Specific Languages


Thinking in Functional Style


RESTful Imaginarium

An overview of RESTlet, NetKernel, and Spring MVC and how to design RESTful web services.

Build Your Own Technology Radar

Based around www.thoughtworks.com/radar. This is a technique to focus your learning about languages, tools, techniques, and platforms. Neal Ford suggested update a personal one annually and a company wide radar twice a year.