Workshop Requirements
In order to make the most of your time at ÜberConf workshops, it is necessary to come to the sessions prepared and ready to start.You must bring your own laptop!
For some workshops, you will need to install software BEFORE YOU ARRIVE. It is best to install required software before you arrive at the hotel. Please review the requirements for workshops that you are interested in:
Full-Day Workshops
Full-Day workshops are only open to those who registered for the workshop option.
- Android Workshop - James Harmon
- Git Bootcamp - An All-Day Workshop - Matthew McCullough
- iOS Workshop - Christopher Judd
Half-Day Workshops
- A Thorough Introduction To Grails - Jeff Scott Brown
- Building Next Generation Apps Workshop - Craig Walls
- Clojure Workshop - Neal Ford
- Creating DSLs in Groovy - Venkat Subramaniam
- Domain Modeling Using Domain-Driven Design (DDD) - Paul Rayner
- Effective Spring Workshop - Craig Walls
- Enterprise Integration Patterns with Spring Integration - Oleg Zhurakousky
- Git Workshop (Bring A Laptop) - Matthew McCullough
- Gradle Workshop (Bring a Laptop) - Tim Berglund and Matthew McCullough
- Groovy Workshop - Kenneth Kousen
- jRuby Workshop - Raju Gandhi
- Mockito Workshop - Szczepan Faber
- Scala Koans - A new and fun way to learn a Scala programming language (Bring a Laptop) - Nilanjan Raychaudhuri
- Solr Recipes - Erik Hatcher
- Sonar Code Metrics Workshop (Bring a Laptop) - Matthew McCullough
- Spring Data Workshop - Craig Walls
Full-Day Workshops
Android Workshop
by James Harmon
Tuesday 9:00 AM
Java (if you don't have it) http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
Eclipse http://eclipse.org/downloads/ download Eclipse IDE for Java EE
Android Tool Kit - http://developer.android.com/sdk/index.html - http://developer.android.com/sdk/installing.html
Android Plugin - http://developer.android.com/sdk/eclipse-adt.html - instructions
Exercise Setup Code - http://kvisit.com/Sns_8AQ - Lab Instructions - http://kvisit.com/SqM_8AQ - slides - http://kvisit.com/S8M_8AQ - lab setup
A Google Account - this will be needed to display Google maps in the Android app we'll be creating during the workshop.
Please feel free to contact me with any setup questions: - jamesharmon@gmail.com
Git Bootcamp - An All-Day Workshop
by Matthew McCullough
Tuesday 9:00 AM
- Please bring a Windows, Mac or Linux laptop
- Please have administrative privileges on the laptop for installing software
- Please install Git 1.7.10 or higher and ensure
gitis on yourPATH(in the environment variable list of paths) - Please set up Git according to http://teach.github.com/articles/github-class-prerequisites
iOS Workshop
by Christopher Judd
Tuesday 9:00 AM
Minimum:
- Mac
- Snow Leopard or greater
- Xcode 4.2
- iOS 5.0 or greater
- Free Apple developer account
Preferred:
- Lion
- Xcode 4.3.2
- iOS 5.1
- Device (iPhone, iPod Touch or iPad)
Please come prepared with the software downloaded and install as they are very large downloads.
Half-Day Workshops
A Thorough Introduction To Grails
by Jeff Scott Brown
Thursday 11:00 AM
Please arrive with a laptop configured with a recent version of SpringSource Tool Suite (STS) and Grails 2.0.4. The first few minutes of the video at http://www.youtube.com/watch?v=cIjInOkUDy8 demonstrates configuring Grails in STS.
It is not strictly necessary that you use STS during the workshop. If there is some other environment that you are familiar with for doing Grails development you may use that but be aware that the workshop will be lead with STS and no time will be spent setting up or supporting any other environment.
Building Next Generation Apps Workshop
by Craig Walls
Wednesday 3:15 PM
Pre-Workshop Instructions
IMPORTANT!!! Please perform these steps prior to attending the workshop on the same computer that you'll be using during the workshop.
- Install node and npm: http://nodejs.org/
- Verify node installation, by typing "node -v" at the command line
- Should reflect v0.8.14 or whatever version you installed
- Verify npm installation by "npm -v" at the command line
- Should reflect v1.1.65 or whatever version you installed
- Install Spine.js (and hem) by typing "npm install -g spine spine.app hem" at the command line
- Verify Spine.js installation by typing "spine" at the command line
- Should display usage information
- You should have Java 1.6 or higher installed.
- You should have Apache Maven (http://maven.apache.org/) 3.0.4 or higher installed.
- Verify Maven installation by typing "mvn -v" at the command line
- Should display Maven and Java version details
- You should have Git (http://git-scm.com/) installed
- Clone the NGWorkshop starter project from https://github.com/habuma/NGWorkshop
- At the command line: git clone git://github.com/habuma/NGWorkshop.git
- Build and verify the starter project by cd'ing into the project and typing
"mvn tomcat:run" at the command line.
- Wait for build to pause and display "INFO: Starting Coyote HTTP/1.1 on http-8080".
- Point your web browser at http://localhost:8080/ngws
- You should see "Hello world!" and the server time displayed in the browser
- (optional, but recommended) Install Spring Tool Suite (http://www.springsource.org/sts)
- Install the NGWorkshop project into STS as an "Existing Maven Project"
- File -> Import... -> Maven/Existing Maven Projects
You are now ready to attend the workshop!
One final note: Just in case I need to make changes to the starter project prior to the workshop, you might want to do "git pull" in the project folder just before arriving at the workshop to be sure that you have the latest stuff.
Clojure Workshop
by Neal Ford
Thursday 9:00 AM
- Laptop
- Install Clojure
- Install Leiningen (build tool for Clojure)
- Download Clojure Koans
- If you want Eclipse integration, install counterclockwise
- If you want to use Emacs, you can use this Getting Started with Emacs tutorial
Creating DSLs in Groovy
by Venkat Subramaniam
Friday 10:45 AM
Attendees are expected to pair up and work on the labs. Software requirements: - Latest version of Groovy (beta version is fine). - Your favorite IDE or editor for writing and running Groovy code.
Domain Modeling Using Domain-Driven Design (DDD)
by Paul Rayner
Friday 9:00 AM
This workshop consists of lecture and participation exercises.
Note that there is no hands-on coding for this workshop so laptops will not be required. Bring materials for taking notes.
Effective Spring Workshop
by Craig Walls
Wednesday 8:30 AM
Laptop with the following installed: - Java 1.6 or higher - SpringSource Tool Suite
Enterprise Integration Patterns with Spring Integration
by Oleg Zhurakousky
Friday 10:45 AM
Although this workshop does not presume prior knowledge of EIP and Spring Integration and will cover both in great level of details it will be very helpful for anyone attending to:
Get familiar with this website http://www.eaipatterns.com/ (get a book if you can)
Sit through the recording of this introductory Webinar by Mark Fisher http://www.springsource.com/webinar/message-driven-architecture-spring
Laptop with the following:
IDE (STS - http://www.springsource.com/developer/sts or Intellij - http://www.jetbrains.com/idea/)
Git
Get familiar with Spring Integration Github page https://github.com/SpringSource/spring-integration
Get Familiar with Spring Integration Github samples page https://github.com/SpringSource/spring-integration-samples
Git Workshop (Bring A Laptop)
by Matthew McCullough
Thursday 1:30 PM
- Please bring a Windows, Mac or Linux laptop
- Please have administrative privileges on the laptop for installing software
- Please install Git 1.7.10 or higher and ensure
gitis on yourPATH(in the environment variable list of paths) - Please set up Git according to http://teach.github.com/articles/github-class-prerequisites
Gradle Workshop (Bring a Laptop)
by Tim Berglund and Matthew McCullough
Wednesday 3:15 PM
- Please bring a Windows, Mac or Linux laptop
- Please have administrative privileges on the laptop for installing software
- Please have a 1.6 JDK loaded. Confirm this with
java -versionandjavac -versionreporting back a 1.6.x series version number in both cases. - Please have the
JAVA_HOMEenvironment variable set to point to the JDK (not a JRE)
Groovy Workshop
by Kenneth Kousen
Wednesday 3:15 PM
- JDK 1.5+
- Groovy 1.8+
- Eclipse with Groovy plugin (optional)
jRuby Workshop
by Raju Gandhi
Thursday 3:15 PM
JRuby Workshop Setup
Java
- Have Java 1.6+ installed
To check this simply fire up a command line prompt and run
java -version. This is what shows up on my computer$ java -version java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-11M3635) Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-415, mixed mode)If you don't have Java installed (or pre 1.6) you can download it here
- Make sure to run
java -versionon the command line after installation to make sure that youPATHis set up correctly
JRuby
- You can download JRuby here
- NOTE - JRuby 1.7 can leverage some of the newer JVM instructions such as
invokeDynamicso it works best with Java 1.7. For this workshop JRuby 1.6.7.2 will also work. After installation, fire up a command prompt and run
jruby -vto make sure that yourPATHis set up correctly. This is what shows up on my computer$ jruby -v
Listening for transport dt_socket at address: 5005
jruby 1.6.5.1 (ruby-1.9.2-p136) (2011-12-27 1bf37c2) (Java HotSpot(TM) 64-Bit Server VM 1.6.031) [darwin-x8664-java]Note that it says
ruby-1.9.2as the Ruby version it is using.- If it does not say
ruby-1.9.2tryexport JRUBY_OPTS="--1.9"on your command line and then tryjruby -vagain. This will force JRuby to be Ruby 1.9 compatible.
RVM or rbenv Users (Mac OSX only)
- You can follow the instructions here to install JRuby alongside any other Rubies you might have installed.
- Once again, if running
jruby -vdoes not show it as using Ruby 1.9 then tryexport JRUBY_OPTS="--1.9"and runjruby -vagain.
Editor
- Have any editor installed that you like, and that preferably understands Ruby syntax. Here are a few options (I am personally inclined to - SublimeText and emacs - Both work across all operating systems)
- Sublime Text [Highly recommended]
- Emacs (For all OSes), AquaEmacs (Mac OSX only) - Here is another download site for emacs on Mac OSX
- Notepad++ (for Windows)
Directory setup
- Create a directory called
jRubyWorkshop(or something like that) somewhere on your computer. Avoid white space in your directory path if you can.C:\jRubyWorkshopis preferable to sayC:\Documents and Settings\jRubyWorkshop. For Mac and Linux users anything under yourhomedirectory will work. cdto the newly created directory, and create a new file calledtest_jruby_install.rb. Open it in your favorite text editor and type in the following lineputs "You have JRuby working with #{RUBY_VERSION}. Woohoo!!"
Save the file, go back to the command line, make sure you are in the right directory, and run
jruby test_jruby_install.rb. You should see
You have JRuby working with 1.9.2. Woohoo!!
- You can delete this file if you wish.
- Now, within the
jRubyWorkshopdirectory, create alibdirectory, and asrcdirectory. This is what your
treeshould look like.
- jRubyWorkshop/
- lib/
- src/
- lib/
- jRubyWorkshop/
iText
- Awesome. We are almost done. Download iText jar from here, unzip it and put the
itextpdf-5.2.1.jarfile in your newly createdlibdirectory under thejRubyWorkshopdirectory.
Feeling ambitious?
- If you feel like playing around with Ruby prior to coming to the workshop, head over to tryruby.org - It only takes 15 mins :)
Done! Now you are all set for our workshop. Hope to see you guys soon!
Mockito Workshop
by Szczepan Faber
Thursday 3:15 PM
-laptop -Git -Java -Eclipse/Idea configured to work with a java project
Scala Koans - A new and fun way to learn a Scala programming language (Bring a Laptop)
by Nilanjan Raychaudhuri
Wednesday 10:30 AM
Namaste,
For those planning to attend the Scala Koans...
Welcome to Scala Koans!
Scala Koans is an interactive session that puts the programming and learning in your hands. Therefore, a laptop is required by all participants. If you do not have a laptop, then perhaps you have a friend with a laptop, is so, well, that would work too. In order to participate in the Scala Koan endeavour, a few things are required:
- A laptop
- A modern JDK installation. JDK 1.6 or JDK 1.7 will suffice. Remember that it should be a JDK and not a JRE!
- Your JDK should be mapped properly to JAVA_HOME and your PATH variables.
- An installation of your favorite IDE or editor.
- An inquisitive mind.
The Scala Koans project will be distributed with your memory stick that you will receieve at the conference. What you will do is take the project and copy it to your laptop. You can also run the koans from the stick, although I prefer the hard drive route, since hard drives can't detach that easily.
The process of actually running the koans will be covered during the session.
At this time though before attending the koans session, you may want to take the opportunity to load some Scala Plugins onto your favorite IDE and Editor. Below is a list of resources that you can use to enhance your environment so that you can enjoy Scala syntax highlighting and other helpful tools like refactoring, debugging and analysis.
Eclipse - The Eclipse has an IDE plugin for Scala called aptly scala-ide. All the information about the plugin can be found at http://scala-ide.org including an easy to follow along video. Currently, Eclipse Helios and Indigo is only supported. Scala-IDE is still developing their plugin for Juno, although you can try the milestone versions if you are planning to use Juno.
IntelliJ - IntelliJ has a Scala plugin that can be found by going to Settings -> Plugins, clicking on 'Browse Repositories' button and searching for the 'Scala' plugin on the left. Right click on the 'Scala' and choose 'Install'. IntelliJ will prompt you to restart the IDE, do so, and enjoy.
NetBeans - Currently, Github user 'dcaoyuan' hosts a NetBeans Scala plugin at the address: https://github.com/dcaoyuan/nbscala. I have not tried this out since the number of NetBeans users has shrunk in recent years. If you are an avid NetBeans user, and wish to try it, you can let me know the results during the session.
Emacs - Github user 'aemoncannon' has created 'ENSIME' (ENhanced Scala Interaction Mode for Emacs) at the address and has a great following. https://github.com/aemoncannon/ensime. I also am not familiar with the experience with this, if you are using ENSIME, be sure to let me know your experience.
VIM - For VIM users I found the blog resource to be the goto in order to get syntax highlighting working well in VIM. http://lorenzod8n.wordpress.com/2008/01/11/getting-scala-syntax-hightlighting-to-work-in-vim/ It is simple and works and have been enjoying the syntax hightlighting for a while.
Solr Recipes
by Erik Hatcher
Friday 10:45 AM
- Ant 1.8.2+
- Java Development Kit (JDK) 1.6+
- IDE (Eclipse or IntelliJ recommended)
Sonar Code Metrics Workshop (Bring a Laptop)
by Matthew McCullough
Wednesday 10:30 AM
Jenkins
- Please bring a Windows, Mac or Linux laptop
- Please have administrative privileges on the laptop for installing software
- Please have a 1.6 JDK loaded. Confirm this with
java -versionandjavac -versionreporting back a 1.6.x series version number in both cases. - Please have the
JAVA_HOMEenvironment variable set to point to the JDK (not a JRE) - Optional, but great: Please install Ant 1.8.4 or higher
- Optional, but helpful: Please install Maven 3.0.4 or higher
- Optional, but helpful: Please install Gradle 1.0-rc-3 or higher
- Optional, but helpful: Please install Git 1.7.10 or higher and ensure
gitis on yourPATH(in the environment variable list of paths)
Spring Data Workshop
by Craig Walls
Thursday 9:00 AM
Laptop with the following installed: - SpringSource Toolsuite - MongoDB (need to be able to run mongod) - Neo4j (need to be able to run neo4j-shell)






