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.