Speakers
- Venkat Subramaniam
- Matt Stine
- Brian Sletten
- Ken Sipe
- Nathaniel Schutta
- Pratik Patel
- Matthew McCullough
- Neal Ford
- Tim Berglund
- Peter Bell
- Craig Walls
- Kris Zyp
- Nicholas C. Zakas
- Andrew Wirick
- Chris Wilson
- James Williams
- Greg Wilkins
- Mike Wilcox
- Dustin Whittle
- Estelle Weyl
- Johnny Wey
- Eric Wendelin
- Rich Waters
- David Verba
- Tom Valletta
- Johannes Ullrich
- Tenni Theurer
- Etienne Studer
- Steve Souders
- Deryk Sinotte
- Scott Shattuck
- Bill Scott
- Matt Schmidt
- Dylan Schiemann
- Christian Schalk
- Brian Sam-Bodden
- Terry Ryan
- Alex Russell
- Rob Rusher
- Rick Ross
- Tom Robinson
- Torrey Rice
- Aza Raskin
- Nandini Ramani
- Matt Raible
- Vic Patterson
- Noah Paci
- Aaron Newton
- Mark Murphy
- Rebecca Murphey
- William Morris
- Eric Miraglia
- Eric Miller
- Steffen Meschkat
- Dustin Machi
- Kevin Lynch
- Andrew Lombardi
- Howard Lewis Ship
- Brian Leroux
- Nik Krimm
- Dave Klein
- Sean Kane
- Tim Kadlec
- Bruce Johnson
- Denise Jacobs
- Bob Ippolito
- Kevin Hoyt
- Molly Holzschlag
- Josh Holmes
- Mike Heath
- Erik Hatcher
- Patrick Haney
- Clint Hall
- Kevin Hakman
- Aaron Gustafson
- Arun Gupta
- Nate Grover
- Mike Girouard
- Jesse James Garrett
- Thomas Fuchs
- Jon Ferraiolo
- Szczepan Faber
- Cal Evans
- Ben Ellingson
- Nicholas Eddy
- Scott Dietzen
- Gabriel Dayley
- Luke Daley
- Patrick Chanezon
- David Chandler
- Ludovic Champenois
- Max Carlson
- Bob Byron
- Thomas Burleson
- Ryan Breen
- David Boloker
- David Bock
- Rey Bango
- Tom Ball
- Dan Allen
- Brad Abrams
Matthew McCullough
Open Source Architect, Ambient Ideas
Matthew McCullough is an energetic 15 year veteran of enterprise software development, open source education, and co-founder of Ambient Ideas, LLC, a Denver consultancy. Matthew currently is a trainer for GitHub.com, author of the Git Master Class series for O'Reilly, speaker at over 30 national and international conferences, author of three of the top 10 DZone RefCards, and President of the Denver Open Source Users Group. His current topics of research center around project automation: build tools (Maven, Leiningen, Gradle), distributed version control (Git), Continuous Integration (Hudson) and Quality Metrics (Sonar). Matthew resides in Denver, Colorado with his beautiful wife and two young daughters, who are active in nearly every outdoor activity Colorado has to offer.
Presentations
Information Alchemy and Technical Influence
Technical influence is highly desirable. It is the vehicle by which you can take what you've learned about at NFJS and be given the chance to implement it back at your organization. One way this can be accomplished is through delivery of excellent technical talks.
Developers are looking for venues to present at these days for the education of the community and betterment of their career. The goal may be to present at a conference, user group, or just a private company. Learn the techniques of the best presenters in the industry through a dissection of what it takes to efficiently construct an engaging talk that offers solid insights and is memorable for the audience.
This talk provides tips, techniques, examples, and references: In short, a complete boot camp for building presentations that will capture the hearts and minds of an audience. This talk is largely tool-agnostic and you can use these techniques in Apple Keynote, Microsoft PowerPoint, or OpenOffice Impress. Specific points covered include stock photos, mind maps, presentation techniques, topic selection and diagramming.
Git Advanced
Now that Git has been in the wild for several years, leading edge developers and projects are considering it their primary source code control tool of choice. Distributed version control systems have so much to offer, but are you using Git and its DVCS capabilities to their fullest? This talk assumes a working basic knowledge of Git and, quicly progressing from from there, explores some of the intermediate to advanced uses of this unique version control tool. We'll examine, in a hands on fashion, some of the workflows used by the Git masters in their daily coding routines.
We'll examine setting up tracking branches with the automatic options, as well as through manual editing of the .git/config file. Next, we'll add multiple remotes and perform a trial merge and rebase of a feature contribution by a team mate. Additionally, we 'll explore the ASCII-art visualizations for branch origins and merge status, repository maintenance, running automated test suites with bisect, submodules and searching for where a constant was introduced in history with git-grep. This talk will give you prowess in many of the more powerful commands Git has to offer and leave you with a greater mastery of the Git toolset.
Git Workshop (Bring A Laptop)
Git is a version control system you may have been hearing a bit about lately. But simply hearing more about it may not be enough to convince you of its value. Getting hands on experience is what really counts. In this workshop, you'll bring your Windows, Mac or Linux laptop and walk through downloading, installing, and using Git in a collaborative fashion.
The workshop style of this class will allow you to observe and discover the value of this new version control tool first hand. You'll be cloning, creating, commiting, and pushing repositories by the conclusion of this session.
Applying Git: 10 Power Tips
Git is a powerful content tracker and has gained acceptance by many forward leaning consultants and teams over the past several years. Those developers know that it offers the usual commit, branch, merge and tag in a distributed environment, and yet, only a few developers have explored the more powerful functions of Git. These range from searching months of history for a unit-test bug to undoing literally any mistake to splitting in-progress work into multiple commits within a single file.
This talk is targeted at developers who have dabbled with the basics of Git but are aiming to explore, gain productivity secrets, and push the very limits of this life-changing version control system.
Developer Productivity Power Ups on Mac OSX
You're a talented coder and you apply many agile practices to your daily workflow. Still, you are looking for that next boost to better keep track of information, manage your open applications, make working with the terminal more productive, recall information quickly, manage files rapidly, and produce documentation in a portable and effective manner.
This presentation will show you how to apply DevonThink, Delicious bookmarks, RSS feeds, Pinboard.in, Pomodoro, Things, LaunchBar, Bash profiles, mind maps, markdown files and spotlight filters to become a more productive developer that has a world of information sorted and accessible at a moment's notice.
This presentation focuses on developers using the Mac platform (though a few tips are portable) since Matthew has significant experience in productivity research on this platform.
Git Bootcamp - An All-Day Workshop
Distributed version control is all the rage these days, but is it worth it? It has been transformative for the dozens of organizations and thousands of developers that I've mentored on the unique implementation called Git. But don't take my word for it. Discover the joy of a version control system that works for you, not against you, in a hands-on workshop. Bring a Windows, Mac, or Linux laptop and we'll install, set up, use and bend Git into workflows that weren't even possible with the version control systems of yesteryear. Be prepared to rethink how lightweight, fast, and refreshing source code control can be. After completing this workshop you'll be able to do practical work with Git for your day job or weekend OSS hobby
This full day workshop takes you from the ground up with Git. By the end of the day you'll be proficient enough to contribute to an open source project using Git or to leverage inside your corporate as the canonical version control system.
Books
by John Ferguson Smart
-
Streamline software development with Jenkins, the popular Java-based open source tool that has revolutionized the way teams think about Continuous Integration (CI). This complete guide shows you how to automate your build, integration, release, and deployment processes with Jenkins—and demonstrates how CI can save you time, money, and many headaches.
Ideal for developers, software architects, and project managers, Jenkins: The Definitive Guide is both a CI tutorial and a comprehensive Jenkins reference. Through its wealth of best practices and real-world tips, you'll discover how easy it is to set up a CI service with Jenkins.
- Learn how to install, configure, and secure your Jenkins server
- Organize and monitor general-purpose build jobs
- Integrate automated tests to verify builds, and set up code quality reporting
- Establish effective team notification strategies and techniques
- Configure build pipelines, parameterized jobs, matrix builds, and other advanced jobs
- Manage a farm of Jenkins servers to run distributed builds
- Implement automated deployment and continuous delivery
-
Streamline software development with Jenkins, the popular Java-based open source tool that has revolutionized the way teams think about Continuous Integration (CI). This complete guide shows you how to automate your build, integration, release, and deployment processes with Jenkins—and demonstrates how CI can save you time, money, and many headaches.
Ideal for developers, software architects, and project managers, Jenkins: The Definitive Guide is both a CI tutorial and a comprehensive Jenkins reference. Through its wealth of best practices and real-world tips, you'll discover how easy it is to set up a CI service with Jenkins.
- Learn how to install, configure, and secure your Jenkins server
- Organize and monitor general-purpose build jobs
- Integrate automated tests to verify builds, and set up code quality reporting
- Establish effective team notification strategies and techniques
- Configure build pipelines, parameterized jobs, matrix builds, and other advanced jobs
- Manage a farm of Jenkins servers to run distributed builds
- Implement automated deployment and continuous delivery
by Tim Berglund and Matthew McCullough
-
Build and test software written in Java and many other languages with Gradle, the open source project automation tool that’s getting a lot of attention. This concise introduction provides numerous code examples to help you explore Gradle, both as a build tool and as a complete solution for automating the compilation, test, and release process of simple and enterprise-level applications.
Discover how Gradle improves on the best ideas of Ant, Maven, and other build tools, with standards for developers who want them and lots of flexibility for those who prefer less structure.
- Use Gradle with Groovy, Clojure, Scala, and languages beyond the JVM, such as Flex and C
- Get started building a simple Java program using Gradle's command line tooling and a small build script
- Learn how to configure and construct tasks, Gradle's fundamental unit of build activity
- Take advantage of Gradle's integration with Ant
- Use Gradle to integrate with or transition from Maven, and to build software more cleanly
- Perform application unit and integration tests using JUnit, TestNG, Spock, and Geb
-
Build and test software written in Java and many other languages with Gradle, the open source project automation tool that’s getting a lot of attention. This concise introduction provides numerous code examples to help you explore Gradle, both as a build tool and as a complete solution for automating the compilation, test, and release process of simple and enterprise-level applications.
Discover how Gradle improves on the best ideas of Ant, Maven, and other build tools, with standards for developers who want them and lots of flexibility for those who prefer less structure.
- Use Gradle with Groovy, Clojure, Scala, and languages beyond the JVM, such as Flex and C
- Get started building a simple Java program using Gradle's command line tooling and a small build script
- Learn how to configure and construct tasks, Gradle's fundamental unit of build activity
- Take advantage of Gradle's integration with Ant
- Use Gradle to integrate with or transition from Maven, and to build software more cleanly
- Perform application unit and integration tests using JUnit, TestNG, Spock, and Geb
