Confirmed Code Camp presentations are listed below. More will be announced as we confirm them. If you are interested in presenting please contact us at [email protected] for more information.
Key Note: Those Who Know History are Doomed to Watch Others Repeat It
Presented by Guy Royse [SpeakerRate]
Mark Twain said that history doesn't repeat but that it often rhymes. This is true not only of the history of civilization but also of software development. The history of computing, like anything, has recurring patterns, cycles, and trends. Some of them are quite large, others are tiny. Some are significant and others merely amusing. In this session we will look at some of these from the early days of ENIAC all the way to modern mobile phones. We will plot them out over the decades, observe their cycles, and come to understand them. Then, grounded in that history, we will explore some possible outcomes for the next few years and wax poetic about what the more distant future might bring.
An introduction to Android Development
Presented by Shawn Price [SpeakerRate]
All the basics you need to know. We'll walk through the basic concepts of Android development. We'll also walk through building a basic application that calls a web service and displays the response to the user.
Automating the surf
Presented by Matthew Bussa [SpeakerRate]
In the age of developing websites for multiple platforms (desktop, mobile, tablet, etc), how do you test on all of these platforms without having a separate tool and separate code base for each platform? How do you ensure that the website looks as expected on each platform? You know the element exists but is it placed where you expect it to be for each platform or has it flown off the rails? In this session, I'll talk about orchestrating different technologies including Cucumber, Watir Web Driver, and Appium to show how to create one Cucumber test suite that can capture functional testing and visual testing using screenshots. Let's automate the surf using one surfboard across different waters.
Builing Rome in a day: The art of rapidly prototyping a web app
Presented by Mark Greenway [SpeakerRate]
This is a 3 slide presentation. I will show how to develop a working proof of concept web application within an hour. Sick of seeing twitter clones, northwind-db, to-do list demos? We will design and develop a working application within an hour. Starting with suggestions from the audience as to what kind of application to make (don't worry I have a good idea in the pocket if people are feeling uninspired). Moving rapidly from File->New Project with an ASP.NET MVC Site. We will use nuget, azure and all the resources to hand to fresh bake an app from scratch. Use the techniques from this to show your boss an idea of something you want to implement, as a development spike for your business, or to gauge interest in your very own start-up. Takeaways from this will also include things to speed up your normal development speed, and make your customers (and boss) happy by spitting out features faster.
Clojure for the rest of us
Presented by Rob Stevenson [SpeakerRate]
I have been fascinated by the Clojure language ever since it came out into the public in 2007. Clojure has a shininess to it that I just can't shake. Unfortunately, I've been scared and intimidated away from the language due to words I barely understand (monad?, homoiconicity?, seq?, conj?) and the seemingly impossible learning curve due to its functional programming heritage. I would like to invite others to listen in on my story and what I did to truly get this amazing language. My story might sound very familiar to some people or it will help those new to Clojure to jump over the potholes of confusion that I had to deal with. I want everyone listening to my presentation to come away with a new (or renewed) appreciation and fascination for this language called The Last Programming Language by Uncle Bob. I will also quickly introduce everyone to Clojure's twin, ClojureScript. ClojureScript won't take long to go over since it's basically just Clojure that we will have just talked about. Depending on the time limit, I would also plan on (quickly) introducing Datatomic (Time-based database created by Rich Hickey, creator of Clojure) and Pedestal, the new web programming framework (The creators don't like calling it that but instead like to refer to it as a collection of libraries). I'll also leave the attendees with numerous starting points (editors, tutorials, books, videos) to again help them avoid those potholes that I seemed to find so easily in my early days with Clojure. I'm really excited about Clojure itself and about presenting it to a packed room of attendees. P.S. I am going to promise the audience that I won't use or praise Emacs in any way during my talk.
Containers are the new virtual
Presented by Matt Williams [SpeakerRate]
This talk is an examination of Linux Containers and their use as a lightweight alternative to other virtual implementations such as vmware. The talk will focus on Docker.io - an up and coming implementation which is receiving a lot of attention as well as nimblestrat.us a cloud framework which uses Docker.
Designing Evolutionary APIs
Presented by Dave Caraway [SpeakerRate]
Many of today's web APIs are difficult to modify. Minor changes in a URL can break an unknown number of clients, so API designers spend a lot of time getting it just right. Utilizing the conventions of REST, we'll explore ways to build web services that are easier to refactor, more intuitive and less likely to break your client applications. We fully cover REST from basics to advanced. Examples are in JSON using Apiary.io. No programming languages required.
Ember.js MVC Beginner's Workshop
Presented by Greg Malcolm
Bring your laptops and learn the basics of getting started with Ember.JS at this interactive workshop. For students who want to arrive prepared, installing Chrome and Git beforehand will save you some time.
Gamification done right
Presented by Raymond Chandler III
What really is gamification? Why do we do it? What can it achieve? And what is the right approach we should take when thinking about how to design a gamified system? Do you really need it? In this talk we will visit fundamental board game design principals, analyze game systems and mechanics, think about how those mechanics can be applied to the web. We will also briefly focus on the psychology of reward systems and how that affects human behavior.
Getting Started with TDD
Presented by James Bender [SpeakerRate]
Test Driven Development (TDD) has been one of the biggest and most compelling paradigm changes to software development of the past few years. The ability to bake quality into your application as you develop it can change the way you think about software; it effects the way we approach, design and write applications. Test Driven Development is powerful. Yet many developers allow themselves to be intimidated by what they perceive as added complexity. Managers worry that the practice of "test first" will delay development. This presentation will explain the concepts behind TDD, outline the benefits, give you some concrete examples of how to do TDD using the C# language and some advice on how to sell it to your managers.
Git all the things!
Presented by Leon Gersing [SpeakerRate]
We'll be looking at the distributed version control system Git and the collaborative tool GitHub. We'll learn some tips, tricks and helpful fun hints to take your git skills to the next level and have some fun while doing it. Come learn something new or just review some of the cooler feature of this powerhouse combination of Git and GitHub and how you can use it to collaborate with your peers anywhere in the world to ship great software together.
Groovy in the Java Enterprise
Presented by Don Abney
Since JSR 241 was voted into existence and the Groovy Programming Language became a legitimate part of the Java Language Specification it has largely been ignored by enterprises, considered as fringe open source or perhaps mistaken as a Java replacement. This session will delve into the why and how we should all be integrating Groovy into our existing Java projects. This session highlights the most recent improvements in Groovy that address many of the performance and packaging concerns voiced by enterprise users over the last few years.
Presented by Md Kahn [SpeakerRate]
Hitchhiker's Guide to the NetDuino Galaxy
Presented by Carey Payette
You know how to program, but what about all this fancy electronics mumbo jumbo? You want to do something really cool, but you just don't know where to start. This session will introduce you to programming NetDuino microcontrollers with the .Net Micro Framework. You'll also get a primer in basic electronics, breadboarding and interfacing with various sensors. Valuable learning resources and helpful tools will also be covered.
How to make web three times faster and ask for a raise
Presented by Md Kahn [SpeakerRate]
Presented by Mark Lassoff [SpeakerRate]
Introduction to iOS Mapkit
Presented by Frank McAuley [SpeakerRate]
This will be a talk to introduce MKMapkit for iOS 7. The talk will broken down into three sections. First will be the introduction to MKMapkit and its key components. Next will be a demonstrations of how those components are used to present data on the map. Finally tips and technics for customizing the objects on the map. The last two sections will have code examples to demonstrate how MKMapkit works. The talk will also include examples of MKMapkit from apps already in the Apple App store.
Introduction to vert.x
Presented by Yiguang Hu [SpeakerRate]
In application development, there are choices of language, complexity, threading, concurrency etc. vert.x is simply a framework that makes things simple. It is polyglot, simple, scalable and has a concurrency model. This talk will introduce the features of vert.x while developing a real application.
Presented by Guy Royse [SpeakerRate]
Presented by Jose Guay [SpeakerRate]
Web developers have had a mindset that in order to build web applications with ASP.NET they had to choose between either Webforms, MVC or Web Pages. To make things worse, Visual Studio (err Microsoft) has done a pretty good job at enforcing this believe. The truth is ASP.NET is actually just One and developers don't have to choose between one technology or another, but they could use all of them in a single application. With Visual Studio 2013, developers can finally see this as a reality. With updated project creation dialogs, modern front-end frameworks out-of-the-box and embracing some of the most important open source projects, developers can become more productive by using all the tools they need right from the start. In this talk we are going to explore the new capabilities in Visual Studio 2013 for One ASP.NET. We'll dive into what we can do in Visual Studio, using the built-in technologies such as Bootstrap, jQuery, CSS3 and so forth. We'll build a hybrid application using different web technologies. Finally we will see how to use third party tools to further improve the application.
PLC Ladder Logic Basics
Presented by Dominic Barreca
Indroduction to the basics of ladder logic programming based on IEC 61131-3 which is the International Electrotechnical Commission standard for Programmable Logic Controllers, an open international standard. Will cover what a PLC is, how inputs and outputs to the physical world function, the basic elements of ladder logic, how ladder logic functions, how to interface ladder logic with graphics on a touch screen.
Real world mobile app development using PhoneGap
Presented by Keith Wedinger [SpeakerRate]
You have worked through the getting started guides and the tutorials and now you're ready to take the next step. This session will cover the essential frameworks and the tips and tricks that I used to develop a PhoneGap based mobile app for a large client. This information will help you develop and deliver a real world mobile app for iOS and Android using PhoneGap. The following topics will be discussed and demonstrated: Data management with JSON, HTML5 local storage and SQLite; effective binding between your HTML and your data using Knockout; managing arrays, collections, functions, and AJAX requests using Underscore.js; HTML rendering templates using EJS; globalization using jquery / globalize and i18n; developing web, iOS, and Android apps using the same project and code base; must have jQuery and jQuery mobile add-ons; debugging, performance, lessons learned, and gotchas.
Reducing Code in ASP.NET MVC
Presented by Mark Greenway [SpeakerRate]
Rich Web Apps with Angular
Presented by Raju Gandhi [SpeakerRate]
Testing Web Services
Presented by Stan Jonsson [SpeakerRate]
This presentation will cover various tools and frameworks for testing Web Services. We will take SoapUI, JMeter and REST-assured for a spin, and discuss how they may suit for smoke testing, load testing, performance testing, acceptance testing, probing and mocking Web Services. Examples will include SOAP and RESTful Web Services using XML and JSON. Some general tips will be provided on Web Service development. There will be code examples in Java, but the talk should benefit anyone struggling with Web Service testing.
Virtualize your stack with Vagrant and Puppet
Presented by Jacob Mather [SpeakerRate]
Want to make it easy to transition your development stack from your laptop to the cloud? Interested in automating your development environment? We will cover everything you need know, and make sure you hit the ground running. We will walk through configuring a single server in a reliable way, and then scaling that out to your own personal cloud.
Writing Better C and C++ for Embedded Systems
Presented by Dan Saks
The C programming language offers a great deal of control over target hardware. Unfortunately, it also invites you to write code that's unreadable, buggy and brittle. This session presents a general approach to programming along with specific programming guidelines to help you write C code that's more reliable, maintainable and portable than it would otherwise be, without sacrificing efficiency. It also suggests programming styles for C that simplify a possible migration to C++. Nearly all of the advice applies equally well to C++.
Writing More Efficient C++ Programs
Presented by Dan Saks