Posts Tagged ‘OpenSource’

JavaZone 2010, Norway

September 10th, 2010

IMG_0232.JPG

I had the privilege of presenting three talks at the massive JavaZone in Norway this year. What an amazing conference; and to think it is all run by a Java Users Group (JUG) called JavaBin.

My slides are online for:

The feedback and comments from Sigmund and Morten were wonderful. I loved getting to say hello to folks I met last year, such as Erik Mogensen. It’s like extended family here.

I hope I get invited back next year. Now, I’m off to do a hike with the organizers in the mountains of Norway!

Git at the Atlanta JUG

August 17th, 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. Thank you both.

In about 75 minutes, I’ll explain why the Git Version Control System deserves your attention as your next version control system. I’ll show you its blazing speed adding 5000 files to a repo, creating a repository at GitHub, initiating a local branch, merging with a colleague’s repository, and finding which commit broke the integration tests.

I’ve also set up a few resources for attendees to peruse after the talk, including:

In short, if you have the least bit of dissatisfaction with your existing version control system, this talk should tip you squarely in favor of the new world of Distributed Version Control Systems (DVCS), and specifically, my favorite implementation, Git.

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

August 14th, 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 should not be having, reading about and reacting to most of these. Such events are typically quite preventable. The JVM platform has some of the strongest and simplest support for encryption of any programming language. An easy to use Java API for encryption, as well as several high level open source libraries, are at developers’ beck and call. I’ve embarked on a mission this year to educate as many developers as possible about the basic vocabulary of encryption, the history of how these algorithms and techniques came about, and how to effectively implement the right use of encryption for business applications.

The Solution in the form of Education

I first brought this topic of Encryption on the JVM to user groups in my home town of Denver, Colorado, USA. It received a more than warm welcome and deep after-talk discussions. Next, I took this topic on the road with the No Fluff Just Stuff symposium series in the USA. Next, I’m excited to get to share these same concepts with audiences in Sweden at the always-cutting-edge Øredev conference, shortly followed by the equally esteemed Devoxx in Belgium.

Acting on the Need for Encryption

Discard the notion that encryption is too hard to learn. Embrace that encryption is quickly becoming a necessary skill of sought-after developers, the world over. This talk will get you up to speed and send you on your way to making your applications more secure, leverage encryption properly, and protect your valuable customer data from prying eyes. No longer just a notable stretch goal, this is the new responsible level of application engineering. I hope to see you at one of these exciting events!

IBM Podcast: Andy Glover interviews Matthew McCullough about Git

August 12th, 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 opportunity. Thanks Andy!

Give it a listen and tell me what you think. But more importantly, give Git a try! I think you’ll be pleasantly surprised.

iBeans Screencast Launched

May 14th, 2010

In concert with my NFJS Tour talks on MuleSoft iBeans, I’ve just released a corresponding 15 minute video on writing an iBean with a quick explanation of the motivations and syntax contributing to this unique lighter-than-ESB platform.

Updated Apache Tomcat Web Application Maven Archetypes via MuleSoft

April 29th, 2010

MuleSoft Tomcat Web App Maven Archetypes

I’m pleased to announce that MuleSoft and I have collaborated to freshen the world’s two most commonly used Maven Web Application Archetypes, the maven-archetype-webapp and the wicket-archetype-quickstart.

The Motivations

These two archetypes had fallen out of date, both in terms of using the new Archetype 2.0 style metadata, as well as in the dependencies on the third-party libraries such as JUnit. Due to limited volunteer developer time, when the Maven Archetype developers moved from the 1.0 to the 2.0 branch many of the existing archetypes did not successfully make the transition. Thus, the public was having to make do by using old versions of these archetypes.

The Update

Given MuleSoft’s and my keen interest in the Apache Tomcat ecosystem, including the enterprise-strength Tcat product, we set out to bring these two aging archetypes up to date. We found that easiest to do under the very open MuleForge repository & GitHub source code hosting for the near term, but we will be submitting a patch to get these improvements back into the core archetypes at Apache too.

Contributing back to community

A week into the effort, the “update” turned into a complete “rewrite” of the archetypes to reap all the benefits of the Maven Archetype Plugin’s version 2.0 features.

The metadata has dramatically changed between the Maven Archetype 1.0 and 2.0 versions of the plugin. Previously, the file named archetype.xml lived in the src/main/resources/META-INF/ directory, then it was relocated to src/main/resources/META-INF/maven, and finally, in full modern 2.0 form, has been additionally renamed to src/main/resources/META-INF/maven/archetype-metadata.xml.

Similarly, variables inside source files were updated to use the ${} notation, with legacy elements like $package updated to ${package}.

The poms for the archetypes were updated from the old archetype plugin type to use the new 2.0 lifecycle extensions

The resultant archetype code is hosted at GitHub for easy viewing, consumption, technical review and forking. We’d love to get your input and improvements!

These two archetypes now represent the most pristine use of the Maven Archetype Plugin v2.0 format.

Integration Tests

We didn’t want to stop at just updating the archetypes though. We wanted to make them better. So one of the most obvious ways to do that was through adding integration tests. I can’t tell you how often I get asked for a good example of leveraging the Maven pre-integration-test and post-integration-test lifecycle events. Up until now, I’ve been relatively empty handed to respond to this request, but finally we have some reference examples.

These lifecycles are now bound to the redeployment and undeployment of the web application artifact (WAR) and the execution of a JWebUnit integration test that exercises and validates the home page on each of the JSP and Wicket flavors of web application.

Instructions for Use

We’ve built a wiki page showcasing the usage of this archetype which we also invite you to review and improve. In short, you can inform Maven of the new archetype catalog via a quick execution of:

mvn archetype:generate -DarchetypeCatalog=http://dist.muleforge.org/maven2/

Lastly, for those of you that prefer a video walkthrough of the usage of these two archetypes, check out our screencast demo that takes you from start to finish of working with these valuable new tools in the Maven, Tomcat, Tcat, and web application development ecosystems.

Future Goals

Like all good developers, we are always looking towards the next iteration, just as the current ones are drawing to successful close. In the next release of these archetypes, or perhaps in supplemental sibling instances, we’re exploring:

  1. A zero-footprint, embedded Tcat installation that can be retrieved from a Maven repository.
  2. Profiles to allow for the integration tests to be selectively executed in a local or embedded Tomcat or Tcat installation, possibly auto-detected to activate the proper profile.
  3. Support for Maven provisioning of completed artifacts into Tcat server groups.

OSS Thanks

In closing, we want to thank the Tomcat community for founding such a great product and the Maven community for planting the seeds of these new archetypes. Java web application development is at its current fevered pitch, thanks, in large part, to these excellent tools and their communities.

A Set of Exciting Conferences

April 4th, 2010

I’m enjoying the privilege of being invited to several large conferences across the globe in 2010. Let me give you a brief overview of these exciting just-attended and upcoming venues…

Scandinavian Developer Conference
Scandinavian Developer Conference

I just wrapped up giving my well heeled Open Source Debugging for Java talk to the wonderful folks at the 2010 Scandinavian Developer Conference in Göteborg, Sweden. Tomas and Lennart were the most wonderful conference hosts and the speaker dinner was world class. The conference was around 700 strong this year, which broke through expectations of growth from 2009. That showcases what a polished event Iptor hosts.

Many stateside colleagues joined me on this trip, including Tim Berglund, Paul Rayner, and Nate Scutta.


Matthew McCullough at GIDS

Great Indian Developer Summit

Next, I’m looking forward to the Great Indian Developer’s Summit in just a few short days from now. I’ll be speaking on a range of topics from iPhone Development for Java Programmers all the way to Dividing and Conquering large datasets with Hadoop. I’ve already been impressed by the helpfulness of the Saltmarch hosts, Usha Karen and Dilip Thomas.


Epicenter, The Irish Software Show

Epicenter

In June, I’ve been invited to the green landscape of Dublin, Ireland to present at Epicenter. I’ll be speaking on iPhone development for Java Programmers once again (a topic I’m passionate and knowledgeable about) in addition to Encryption on the JVM.


UberConf

UberConf

Just one day after returning from Epicenter, I’ll be speaking for four days in my hometown of Denver, Colorado at the newly minted UberConf. It will be a weekday show with a very unique pre-conference workshop (boot camp) on iPad Development for Java Developers. Ben Ellingson will be co-teaching this class with me.

There will be over 100 sessions at this unique conference, which is scale-tipping for an NFJS branded event. There are even registration levels that are all-inclusive, which works great for some corporately sponsored attendees. These unique (and quite successful) packages bundle travel, hotel, meals, registration, and an iPad. You’ll know your exact costs before you even take one step towards an airport.


No Fluff Just Stuff Series

No Fluff Just Stuff Series

And lastly, I’ll continue to present at my favorite recurring conference series, the No Fluff Just Stuff tour. There are at least 15 more stops on the tour this year and I hope to hit most of them. I’m looking forward to meeting up with a lot of the audience members that I had delicious breakfasts, lunches and dinners with in 2009 in the cities where the tour visits.

JavaZone 2009 Open Source Debugging Talk

January 27th, 2010

Open Source Debugging in Norway

My Open Source Debugging talk that I gave at JavaZone, Oslo, Norway last September is online and can be watched in Flash format or downloaded as an M4V file. If you were not able to catch this talk at either this venue, or any of the many NoFluffJustStuff.com stops that I gave this talk at last year, give it a try and let me know what you think of it.

AppleScript to Re-Apply Finder Comments

January 25th, 2010

Finder Comments Lost

When restoring from a backup, depending on the Mac-specific intelligence of your backup solution, or when copying files written by a 10.4 Mac, your Spotlight (Finder) Comments stored in the .DS_Store files might not survive the round trip. You’ll first notice this by the fact that your comments field or column is completely empty for files you know you previously tagged or made comments on.

Leopard, Snow Leopard Comment Storage

Tiger and previous editions of Mac OSX store Spotlight comments in the .DS_Store file exclusively. Leopard and Snow Leopard on the other hand, claim to maintain backwards compatibility by storing the Spotlight Comments in both the .DS_Store and the new Extended File Attributes. I question this thinking though, because Mac OSX developer Steve Gehrman of the awesome PathFinder team says that Finder, while it writes both formats, still only reads back the .DS_Store ones. It seems to me that Apple would have changed Finder to read from the newer Extended Attributes as soon as they started writing to those in duplicate.

“On Mac OS X 10.4 Tiger, for example, .DS_Store files also contain the Spotlight comments of all the folder’s files, whereas Mac OS X 10.5 “Leopard” stores this information in Extended file attributes.”

Script Research

Giving a tip of the hat to the similar-but-not-quite-what-I-wanted script that helped me get enough of the syntax working (using type alias instead of type file was tricky) get my own authored, I give you:

A MacOSXHints article, and the corresponding code

The Solution

To solve this extended attributes vs. .DS_Store discrepancy, we only need to read (from the extended attributes) and reapply (thereby recreating the .DS_Store) the same comment. The solution is this AppleScript. Just highlight the files needing the treatment in Finder, then execute this script from the AppleScript Editor.

The result is that Finder (which reads only the .DS_Store files) and PathFinder (which only reads the extended attributes) can both now see the Spotlight Comments.

Extras

If you would like your Mac to automatically clean up the .DS_Store files it writes out to flash sticks and network drives, check out BlueHarvest, an interesting little utility app that fills this need.

Presenting at the Great Indian Developers Summit

December 9th, 2009

I’m very excited to announce I’ve been selected to present at the Great Indian Developers Summit in Bangalore, India in April. I just found out that my NFJS colleagues, Scott Davis and Venkat Subramaniam will be joining me there as well. It will be great to have familiar faces at this venue and to present to such a distinguished audience.

200912091207.jpg