Matthew McCullough

Open Source Architect, Ambient Ideas

Matthew McCullough is an energetic 12 year veteran of enterprise software development, open source education, and co-founder of Ambient Ideas, LLC, a Denver consultancy. Matthew currently is a member of the JCP, reviewer for technology publishers including O'Reilly, author of the DZone Maven RefCard, and President of the Denver Open Source Users Group. His experience includes successful J2EE, SOA, and Web Service implementations for real estate, financial management, and telecommunications firms, and several published open source libraries.

Matthew jumps at opportunities to evangelize and educate teams on the benefits of open source. His current interests are Cloud Computing, Maven, iPhone, Distributed Version Control, and OSS Tools.

Matthew resides in Denver with his beautiful wife and baby daughter, who all are active in nearly every outdoor activity Colorado offers.

Blog

Presenting at the Raleigh-Durham No Fluff Just Stuff Symposium

Posted Sunday, August 29, 2010

North Carolina This week, I made a four day journey to the very forested state of North Carolina. Joey knew a Coloradoan was coming and turned on the statewide AC to bring it down to a comfortable 72 degrees Fahrenheit when I landed. The food was great, more »

Rich Web Experience – Florida in December

Posted Monday, August 23, 2010

I’m excited to be presenting at the Rich Web Experience this December. It’ll be a great show, but the venue location simply adds to the magnetism. Who can resist beaches and Florida in Decembe more »

Git Bash Prompt

Posted Wednesday, August 18, 2010

I’ve recently been asked about my Bash prompt (derived from a conglomerate of similar OSS solutions) that shows off the current Git branch and the status in the prompt. Here is my version for both Mac and Unix. gist: 48058 Windows (Cygwin) Show Gi more »

Git at the Atlanta JUG

Posted Tuesday, August 17, 2010

Today, I’m excited to be presenting Git (my current favorite topic) to the Atlanta JUG (AJUG) on behalf of the No Fluff Just Stuff Symposium Series. Gunnar Hillert has been most welcoming, and Pratik Patel has been a great promoter of the talk. T more »

Encryption on the Java Virtual Machine (JVM): Necessary and Easy

Posted Saturday, August 14, 2010

The Bad News of Data Breaches The news keeps pouring in day after day and week after week of significant company-damaging data breaches. No wonder; Only 23% of companies surveyed in a recent poll indicated that data encryption was even a priority. We s more »

IBM Podcast: Andy Glover interviews Matthew McCullough about Git

Posted Thursday, August 12, 2010

Andy Glover recently interviewed me for his new series of IBM podcasts. I was able to share about 20 minutes of my experience with and passion for the Git version control system with his audience. It was an exciting opportunit more »
Read More Blog Entries »

Presentations

Git Going with Distributed Version Control

Many development shops have made the leap from RCS, Perforce, ClearCase, PVCS, CVS, BitKeeper or SourceSafe to the modern Subversion (SVN) version control system. But why not take the next massive stride in productivity and get on board with Git, a distri more »

Open Source Debugging Tools for Java

This session will survey a wide range of tools across the Java space. We'll look at utilities such as VisualVM, jstatd, jps, jhat, jmap, Eclipse Memory Analyzer, jtracert, btrace and more. Open Source is not just a suite of libraries you consume within more »

Encryption on the JVM: Boot Camp

Does your application transmit customer information? Are there fields of sensitive customer data stored in your DB? Can your application be used on insecure networks? more »

Migrating to Maven 3.0

Explore what's new on the cutting edge release of Maven, version 3.0. We'll explore the performance improvements, features that make debugging Maven issues easier, and changes to POMs that may require modifications to your build, but will result in more more »

Git Source Code Control Workshop

You've heard about Git, Mercurial, Bazaar and the Distributed Version Control System revolution. In this deeply hands on session, we'll load Git on participants laptops, build repositories and share out pieces of work. We'll explore the optimized agile more »

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 ca more »

Git Going with Distributed Version Control

close

Matthew McCullough By Matthew McCullough

Many development shops have made the leap from RCS, Perforce, ClearCase, PVCS, CVS, BitKeeper or SourceSafe to the modern Subversion (SVN) version control system. But why not take the next massive stride in productivity and get on board with Git, a distributed version control system (DVCS). Jump ahead of the masses staying on Subversion, and increase your team's productivity, debugging effectiveness, flexibility in cutting releases, and repository redundancy at $0 cost. Understand how distributed version control systems are game-changers and pick up the lingo that will become standard in the next few years.



In this talk, we discuss the team changes that liberate you from the central server, but still conform to the corporate expectation that there's a central master repository. You'll get a cheat sheet for Git, and a trail-map from someone who's actually experienced the Subversion to Git transition.

Lastly, we'll even expose how you can leverage 75% of Git's features against a Subversion repository without ever telling your bosses you are using it. Be forewarned that they may start to wonder why you are so much more effective in your checkins than other members of your team.

Prerequisite: Basic understanding of Subversion or similar version control system


Open Source Debugging Tools for Java

close

Matthew McCullough By Matthew McCullough

This session will survey a wide range of tools across the Java space. We'll look at utilities such as VisualVM, jstatd, jps, jhat, jmap, Eclipse Memory Analyzer, jtracert, btrace and more.

Open Source is not just a suite of libraries you consume within your application, but now reaches into the space of tools to help you troubleshoot and improve your applications. The price of these tools eliminates barriers to their use and their open source nature allows you to mix and match them into compositions that work well for your application's unique debugging needs.



These tools will help you peel away layers of your application to expose bugs and performance ceilings. We'll interactively analyze the heap and garbage collection cycles of both local and remote applications, take snapshots of heap, query the heap for heavy usage, leaks and augment running code without a reboot and without breaking a sweat. After attending, you'll never look at Java debugging the same way again.


Encryption on the JVM: Boot Camp

close

Matthew McCullough By Matthew McCullough

Does your application transmit customer information? Are there fields of sensitive customer data stored in your DB? Can your application be used on insecure networks? If so, you need a working knowledge of encryption and how to leverage Open Source APIs and libraries to make securing your data as easy as possible. Encryption is quickly becoming a developer's new frontier of responsibility in many data-centric applications.



In today's data-sensitive and news-sensationalizing world, don't become the next headline by an inadvertent release of private customer or company data. Secure your persisted, transmitted and in-memory data and learn the terminology you'll need to navigate the ecosystem of symmetric and public/private key encryption.


Migrating to Maven 3.0

close

Matthew McCullough By Matthew McCullough

Explore what's new on the cutting edge release of Maven, version 3.0. We'll explore the performance improvements, features that make debugging Maven issues easier, and changes to POMs that may require modifications to your build, but will result in more determinate build outputs.



Maven 3.0 has undergone major refactorings, and correspondingly, a battery of backwards compatibility tests to ensure a smooth transition from Maven 2.0. These refactorings prepare Maven for the next several years of development, including the separation of the POM file language from from the POM in-memory processor, which is already leading to Groovy, Ruby and YAML based POM file parsers.


Git Source Code Control Workshop

close

Matthew McCullough By Matthew McCullough

You've heard about Git, Mercurial, Bazaar and the Distributed Version Control System revolution. In this deeply hands on session, we'll load Git on participants laptops, build repositories and share out pieces of work. We'll explore the optimized agile workflows that Git facilitates, building branches for each story card and merging with our team mates, even when a network isn't present. We'll clone an existing Subversion repository, work on it in a Git fashion, and push just the "good changes" back to Subversion, showcasing the incredibly polished interoperability of this radical source code control tool.



This will be a hands on session and requires attendees to bring a laptop (Windows, Linux, or Mac).


Git Advanced

close

Matthew McCullough By Matthew McCullough

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.

Prerequisite: Git Going with Distributed Version Control, or similar Git working knowledge