Welcome

Aspect Programming is an advocacy site for Aspect-Oriented Software Development, sometimes just called Aspect-Oriented Programming. We explore the role that AOSD plays in many facets of software development, especially design and implementation. We also explore the practical challenges of using existing AOSD tools and techniques. Lately, we have been developing Aquarium, an AOP toolkit for the Ruby language.

News:

June 11, 2009: Improved The Seductions of Scala (PDF) after presenting it today to a developer team. Added a little more content, clarified some slides, and made sure the "presenter notes" (which are included) actually match the content!

June 2, 2009: Here's the final version of my JavaOne talk Don't Do This! How Not to Write Java Software (PDF). I discuss 10 mistakes I see Java teams make, why they are bad, and what to do instead.

May 30, 2009: Posted my talks at today's Chicago Code Camp. They are updates to previous talks.

March 12, 2009: Another update to my Better Ruby Through Functional Programming (PDF) presentation, given at SDWest 2009. I introduce the principles of Functional Programming and why applying these principles can improve the quality of Ruby applications, especially when concurrency is required. I also posted the code examples. Confreaks recorded the RubyConf version of the talk.

February 19, 2009: Tonight was the first meeting of the Chicago Area Scala Enthusiasts (CASE - a bit ironic, isn't it ;). I presented an abbreviated version of my introduction to Scala, The Seductions of Scala (PDF).

January 12, 2009: An update to my Better Ruby Through Functional Programming (PDF) talk that I gave tonight at CHIRB. This is an expanded version of the talk I gave at RubyConf 2008 where I introduce the principles of Functional Programming and why applying these principles can improve the quality of Ruby applications, especially when concurrency is required. I also posted the code examples

December 16, 2008: I posted an update to my introduction to Scala, The Seductions of Scala (Zip), which I'm presenting tonight at the Chicago Java User's Group. To view the presentation, open html/all.html in a browser. The code used in the slides is in the code directory.

November 24, 2008: I posted my Better Ruby Through Functional Programming (PDF) notes. This is the talk I gave at RubyConf 2008 where I introduce the principles of Functional Programming and why applying these principles can improve the quality of Ruby applications, especially when concurrency is required.

November 20, 2008: I posted an extended version of the slides from my QCon San Francisco talk, Radical Simplification Through Polyglot and Poly-Paradigm Programming (PDF). InfoQ.com may offer a video of this talk. Stay tuned.

November 13, 2008: I posted my introduction to Scala, The Seductions of Scala (Zip). I hacked-up a presentation tool that Dave Thomas created, which is based on S5. To view the presentation, open html/all.html in a browser. The code used in the slides is in the code directory.

August 6, 2008: I posted the latest version of my Agile2008 talk on Clean Systems: Clean Code at the Architecture Level. This talk is based on the "Clean Systems" chapter I wrote for Bob Martin's new Clean Code book.

August 4, 2008: The Clean Code book is out! I wrote the "Clean Systems" chapter on what "clean code" means for architectures.

July 24, 2008: I posted an updated version of the talk I gave today at Dr. Dobb's Architecture and Design World, Principles of Ruby Application Design (PDF). It discusses object-oriented and functional design principles that promote smaller, higher quality Ruby code.

June 28, 2008: Ivan A Krizsan graciously donated Getting Started with Contract4J (PDF). It discusses how to build Contract4J from scratch, using Eclipse, and it provides an example of using Contract4J. Thanks Ivan!!

May 22, 2008: I posted a presentation called Polyglot and Poly-paradigm Programming (PDF). It discusses the merits of using multiple languages and modularity paradigms to improve productivity and quality.

April 16, 2008: I Updated my longer introduction to Aquarium, called Aquarium: Aspect-Oriented Programming for Ruby (PDF), to reflect API changes since the original version was made.

April 3, 2008: I Added a short presentation to the papers section on Aquarium, called Aquarium: AOP for Ruby (PDF) that I gave at the AOSD 2008 Conference today.

February 25, 2008: Announcing the V0.4.0 release of Aquarium, an Aspect-Oriented Programming Toolkit for Ruby:

  1. Aquarium website.
  2. Blog about Aquarium's goals.
  3. White papers about Aquarium.


Ruby on Rails Speaking at QCon San Francisco Speaking at Agile 2009