I began speaking at developers conferences in 1996 after attending a few. Since then, I've spoken at several a year every year, expanding to other countries. I enjoy speaking at these conferences, and the (generally) interesting travel opportunities they afford me.
| Year |
Conference
|
Location
|
Type
|
Paper
|
Talk #
|
|
1997
|
Borland | Nashville | Session | Alternative Architectures for C++Builder Applications |
1
|
|
|
Session | Creating C++Builder Components |
2
|
||
|
1998
|
Borland | Denver | Session | Multi-Tier Application Development in JBuilder |
3
|
|
|
Session | Multi-tier C++Builder Development for the Internet |
4
|
||
|
|
Session | Multi-Tier Architecture in C++Builder |
5
|
||
|
|
Session | Multi-Threaded Queries in C++Builder |
6
|
||
|
|
Pre-conference Tutorial | Intro to Java |
7
|
||
|
1999
|
Borland | Philadelphia | Session | Multi-Threaded Queries in VCL |
8
|
|
|
Pre-conference Tutorial | Intro to Java |
9
|
||
|
|
Pre-conference Tutorial | Advanced Database Development in JBuilder |
10
|
||
| Entwickler | Frankfurt, Germany | Session | Multi-Threaded Queries in the VCL |
11
|
|
| Session | Advanced Database Development in JBuilder |
12
|
|||
| Session | Introduction to Java Programming |
13
|
|||
|
2000
|
Borland | San Diego | Pre-conference Tutorial | Intro to Java |
14
|
|
|
Pre-conference Tutorial | Advanced Database Development in JBuilder |
15
|
||
|
|
Session | Advanced JBuilder Deployment Techniques |
16
|
||
|
|
Entwickler | Frankfurt, Germany | Session | Intro to Java |
17
|
|
|
Session | JBuilder for VCL developers |
18
|
||
|
|
Session | Advanced Database Development in JBuilder |
19
|
||
|
|
Session | Advanced JBuilder Deployment Techniques |
20
|
||
|
|
Session | Working with XML in Java |
21
|
||
|
|
BorCon UK | London | Session | Advanced Database Development in JBuilder |
22
|
|
|
Session | JBuilder for VCL developers |
23
|
||
|
|
Session | Working with XML in Java |
24
|
||
|
|
BorCon Australia | Sydney, NSW | Pre-conference Tutorial | Intro to Java |
25
|
|
|
Session | Working with XML in Java |
26
|
||
|
|
Session | JBuilder for VCL developers |
27
|
||
|
|
Session | Advanced Database Development in JBuilder |
28
|
||
|
2001
|
JAX (Java, Apache, XML) |
Frankfurt, Germany | Session | Working with XML in Java |
29
|
|
|
Session | Working with Apache's Ant |
30
|
||
|
|
Session | Working with Struts |
31
|
||
|
|
Session | Advanced Java and XML for Web Development |
32
|
||
|
|
Session | Design Patterns for Web Development |
33
|
||
|
|
JavaOne | San Francisco, CA | Session | Performance Tuning in Java |
34
|
|
|
Borland | Long Beach, CA | Pre-conference Tutorial | Intro to Java |
35
|
|
|
Session | Performance Tuning in Java |
36
|
||
|
|
Session | Advanced JBuilder Deployment Techniques |
37
|
||
|
|
Session | Automating Enterprise Development in Java |
38
|
||
| BorCon Europe | London | Session | Building Custom Providers and Resolvers |
39
|
|
| Session | Working with XML in Java |
40
|
|||
| Session | Using XSLT to Extend the Functionality of Wireless Devices |
41
|
|||
|
|
Amsterdam | Session | Building Custom Providers and Resolvers |
42
|
|
|
|
Session | Working with XML in Java |
43
|
||
|
|
Session | Using XSLT to Extend the Functionality of Wireless Devices |
44
|
||
|
|
Entwickler | Frankfurt, Germany | Pre-conference Tutorial | Web Development in Java |
45
|
|
|
Pre-conference Tutorial | Survey of Enterprise Java |
46
|
||
|
|
Session | JBuilder for VCL developers |
47
|
||
|
|
Session | Advanced JBuilder Deployment Techniques |
48
|
||
|
|
Session | Automating Enterprise Development in Java |
49
|
||
|
|
Session | Design Patterns for Web Development |
50
|
||
|
|
Session | Building Custom Providers and Resolvers |
51
|
||
|
|
Session | Working with XML in Java |
52
|
||
|
|
BorCon Australia | Melbourne, VIC | Pre-conference Tutorial | Intro to Java |
53
|
|
|
Session | Advanced JBuilder Deployment Techniques |
54
|
||
|
|
Session | Automating Enterprise Development in Java |
55
|
||
|
|
Session | JBuilder for VCL developers |
56
|
||
|
|
Session | Performance Tuning in Java |
57
|
||
|
|
Session | Working with XML in Java |
58
|
||
|
2002
|
JAX | Frankfurt, Germany | Workshop | Web Development in Java |
59
|
|
|
Session | Working with Ant |
60
|
||
|
|
Session | Working with XML in Java |
61
|
||
|
|
Session | Using XSLT to Extend the Functionality of Wireless Devices |
62
|
||
|
|
Session | Working with the Struts Framework |
63
|
||
|
|
Session | Design Patterns for Web Development |
64
|
||
|
|
Borland | Anaheim, CA | Pre-conference Tutorial | Intro to Java |
65
|
|
|
Session | Building Custom Providers and Resolvers |
66
|
||
|
|
Session | Configuration Management for Complex Applications |
67
|
||
|
|
Session | J2EE Best Practices |
68
|
||
|
|
BorCon Australia | Sydney, NSW | Pre-conference Tutorial | Web Development in Java |
69
|
|
|
Session | J2EE Best Practices |
70
|
||
|
|
Session | Design Patterns for Web Development |
71
|
||
|
|
Comdex Atlanta | Atlanta | Session | Building Web Services with Java |
72
|
|
|
Entwickler | Frankfurt, Germany | Workshop | Web Development in Java |
73
|
|
|
Session | Building Custom Providers and Resolvers |
74
|
||
|
|
Session | Working with Struts in JBuilder |
75
|
||
|
|
BorCon Europe | London, UK | Session | J2EE Best Practices |
76
|
|
|
Session | Using XSLT to Extend the Functionality of Wireless Devices |
77
|
||
|
|
Session | Working with Struts in JBuilder |
78
|
||
|
|
Comdex Fall | Las Vegas, NV | Session | Building Web Services with Java |
79
|
|
|
Session | Programming Web Services beyond Connectivity and Moving to Information Exchange |
80
|
||
|
2003
|
BorCon Europe | Amsterdam | Pre-conference Tutorial | Art of Java Web Devleopment |
81
|
|
|
Session |
Working with Struts in JBuilder Part 1 |
82
|
||
|
|
Session | Working with Struts in JBuilder Part 1 |
83
|
||
|
|
Session | Working with XML in Java |
84
|
||
|
|
Entwickler 7 | Frankfurt | Session | Working with Struts in JBuilder Part 1 |
85
|
|
|
Session | Working with Struts in JBuilder Part 1 |
86
|
||
|
|
Session | Working with XML in Java |
87
|
||
|
|
BorCon US | San Jose, CA | Pre-conference Tutorial | Intro to Java |
88
|
|
|
Session | J2EE Design Strategies |
89
|
||
|
|
Comdex Fall | Las Vegas, NV | Panel | Web Services Today: Core Technologies and Issues |
90
|
|
|
Panel | Creating a Web Service |
91
|
||
|
|
Panel | Choosing a Web Service Platform |
92
|
||
|
2004
|
AJUG DevCon | Atlanta, GA | Session | MVC Web Framework Shootout |
93
|
|
|
NetSec 2004 |
San Francisco, CA |
Session |
Implementing Cryptographic Algorithms |
94
|
|
|
NFJS - Lone Star Software Symposium |
Austin, TX |
Session | Power Regular Expressions in Java |
95
|
|
|
Session |
Comparison of Java Web Frameworks |
96
|
||
|
|
Session |
J2EE Design Strategies |
97
|
||
|
|
Session |
Clean Up Your Code: 10 Java Coding Tricks and Techniques |
98
|
||
|
|
NFJS - Central Ohio Software Symposium |
Columbus, OH |
Session |
Power Regular Expressions in Java |
99
|
|
|
Session |
Clean Up Your Code: 10 Java Coding Tricks and Techniques |
100
|
||
|
|
Session |
Top 10 Security Vulnerabilities Building Web Applications |
101
|
||
|
|
BorCon US |
San Jose, CA | Session | Hard-core Multi-threading in Java |
102
|
|
|
Session |
Java Coding Idioms and Techniques |
103
|
||
| Entwickler 8/European Borcon 2004 | Frankfurt/Main, Germany | Pre-conference Tutorial | Art of Java Web Development | 104 | |
| Session | Begining Struts | 105 | |||
| Session | Advanced Struts | 106 | |||
| Session | Agile Programming in .NET | 107 | |||
| Session | Design Patterns in .NET | 108 | |||
| Session | Clean Up Your Code: 10 Java Coding Tricks and Techniques | 109 | |||
| NFJS - Atlanta Software Symposium | Atlanta, GA | Session | Power Regular Expressions in Java | 110 | |
| Session | Clean Up Your Code: 10 Java Coding Tricks and Techniques | 111 | |||
| Session | Top 10 Security Vulnerabilities Building Web Applications | 112 | |||
| Session | Hard-core Multi-threading in Java | 113 | |||
| NFJS - Northern Virginia Software Symposium | Reston, VA | Session | Power Regular Expressions in Java | 114 | |
| Session | Clean Up Your Code: 10 Java Coding Tricks and Techniques | 115 | |||
| Session | Top 10 Security Vulnerabilities Building Web Applications | 116 | |||
| Session | Comparison of Java Web Frameworks | 117 | |||
| Session | Hard-core Multi-threading in Java | 118 | |||
| 2005 | NFJS - Atlantic Northeast Software Symposium | Philadelphia, PA | Session | Clean Up Your Code: 10 Java Coding Tricks, Techniques, and Philosophies | 119 |
| Session | Regular Expressions | 120 | |||
| Session | Clean Up Your .NET Code | 121 | |||
| Session | Power Regular Expressions in .NET | 122 | |||
| Session | Building Domain Languages atop Java | 123 | |||
| Session | Advanced Enterprise Debugging Techniques | 124 | |||
| Session | Advanced Updating Scenarios for ADO.NET | 125 | |||
| Session | Functional Languages and .NET | 126 | |||
| NFJS - New England Software Symposium | Boston, MA | Session | Clean Up Your Code: 10 Java Coding Tricks, Techniques, and Philosophies | 127 | |
| Session | Clean Up Your .NET Code | 128 | |||
| Session | Power Regular Expressions in .NET | 129 | |||
| Session | Advanced Enterprise Debugging Techniques | 130 | |||
| Session | Advanced Updating Scenarios for ADO.NET | 131 | |||
| Session | Functional Languages and .NET | 132 | |||
| SDA.NET Conference | Singapore, Singapore | Session | Updated Design Patterns for .NET | 133 | |
| Session | Advanced Updating Scenarios for ADO.NET | 134 | |||
| Session | Clean Up Your .NET Code | 135 | |||
| NFJS - Central Ohio Software Symposium | Columbus, OH | Session | Introduction to JavaServer Faces | 136 | |
| Session | Comparison of Java Web Frameworks | 137 | |||
| Session | Advanced Enterprise Debugging Techniques | 138 | |||
| Session | Building Domain Languages atop Java | 139 | |||
| NFJS - Research Triangle Software Symposium | Raleigh, NC | Session | Introduction to JavaServer Faces | 140 | |
| Session | Comparison of Java Web Frameworks | 141 | |||
| Session | Advanced Enterprise Debugging Techniques | 142 | |||
| NFJS Central Florida Software Symposium | Orlando, FL | Session | Introduction to JavaServer Faces | 143 | |
| Session | Comparison of Java Web Frameworks | 144 | |||
| Session | Advanced Enterprise Debugging Techniques | 145 | |||
| Session | Power Regular Expressions | 146 | |||
| Session | The Fallacies of Enterprise Systems (Architecture) | 147 | |||
| NFJS New York Software Symposium | Newark, NJ | Session | Introduction to Java Server Faces | 148 | |
| Session | Comparison of Java Web Frameworks | 149 | |||
| Session | Advanced Enterprise Debugging Techniques | 150 | |||
| Session | Power Regular Expressions | 151 | |||
| Session | Web Application Security Vulnerabilities | 152 | |||
| Session | Language Oriented Programming and Language Workbenches | 153 | |||
| NFJS Central Iowa Software Symposium | Des Moines, IA | Session | Introduction to Java Server Faces | 154 | |
| Session | Comparison of Java Web Frameworks | 155 | |||
| Session | Advanced Enterprise Debugging Techniques | 156 | |||
| Session | Power Regular Expressions | 157 | |||
| Session | Language Oriented Programming and Language Workbenches | 158 | |||
| Ark Group: Planning & Implementing Service Oriented Architecture | Singapore, Singapore | Session | Defining SOA | 159 | |
| Session | Deploying a Reliable and Managed SOA | 160 | |||
| Workshop | SOA & Agile Programming | 161 | |||
| Workshop | Enterprise Service Buses | 162 | |||
| NFJS Salt Lake Software Symposium | Salt Lake City, UT | Session | Advanced Enterprise Debugging Techniques | 163 | |
| Session | Power Regular Expressions | 164 | |||
| Session | Pragmatic Extreme Programming | 165 | |||
| Session | Web Application Security Vulnerabilities | 166 | |||
| Session | Language Oriented Programming and Language Workbenches | 167 | |||
| NFJS Southern Ohio Software Symposium | Cincinnati, OH | Session | Advanced Enterprise Debugging Techniques | 168 | |
| Session | Power Regular Expressions | 169 | |||
| Session | Web Application Security Vulnerabilities | 170 | |||
| Session | SOA & ESB | 171 | |||
| Session | Clean Up Your Code | 172 | |||
| Session | Language Oriented Programming and Language Workbenches | 173 | |||
| NFJS Great Lakes Software Symposium | Chicago, IL | Session | Intro to Spring | 174 | |
| Session | Advanced Enterprise Debugging Techniques | 175 | |||
| Session | Power Regular Expressions | 176 | |||
| Session | SOA & ESB | 177 | |||
| Session | Pragmatic Extreme Programming | 178 | |||
| Session | Language Oriented Programming Part 1 | 179 | |||
| Session | Language Oriented Programming Part 2 | 180 | |||
| Entwickler 9 | Frankfurt, Germany | Session | Clean up Your Java Code | 181 | |
| Session | Clean Up Your .NET Code | 182 | |||
| Session | Advanced Updating Scenarios in ADO.NET | 183 | |||
| Session | Updated Design Patterns for .NET | 184 | |||
| NFJS Pacific Northwest Software Symposium | Seattle, WA | Session | Advanced Enterprise Debugging Techniques | 185 | |
| Session | Power Regular Expressions | 186 | |||
| Session | Clean up Your Java Code | 187 | |||
| Session | Pragmatic Extreme Programming | 188 | |||
| Session | Language Oriented Programming and Language Workbenches | 189 | |||
| NFJS Greater Atlanta Software Symposium | Atlanta, GA | Keynote | Language Oriented Programming: The Next Revolution? | 190 | |
| Session | Regular Expressions in Java | 191 | |||
| Session | SOA & ESB | 192 | |||
| Session | Language Oriented Programming Part 1: Theory | 193 | |||
| Session | Language Oriented Programming Part 2:Practice | 194 | |||
| Session | Pragmatic Extreme Programming | 195 | |||
| Session | Web Application Security Vulnerabilities | 196 | |||
| NFJS Lone Star Software Symposium | Dallas, TX | Session | Enterprise Debugging Techniques | 197 | |
| Session | Regular Expressions in Java | 198 | |||
| Session | SOA & ESB | 199 | |||
| Session | Language Oriented Programming and Language Workbenches | 200 | |||
| Session | Pragmatic Extreme Programming | 201 | |||
| Session | Clean Up Your Code | 202 | |||
| Session | Web Application Security Vulnerabilities | 203 | |||
| Borland Developers Conference 2005 | San Francisco, CA | Pre-conference Tutorial | Pragmatic Agile & Extreme Programming | 204 | |
| Session | Clean Up Your Code (Java) | 205 | |||
| Session | Web Application Security Vulnerabilities | 206 | |||
| Session | Advanced Enterprise Debugging Techniques | 207 | |||
| Birds of a Feather | Building Domain Languages atop Java | 208 | |||
| NFJS Rocky Mountain Software Symposium | Broomfield, CO | Session | Enterprise Debugging Techniques | 209 | |
| Session | Regular Expressions in Java | 210 | |||
| Session | SOA & ESB | 211 | |||
| Session | Language Oriented Programming and Language Workbenches | 212 | |||
| ApacheCon US | San Diego, CA | Session | Power Regular Expressions | 213 | |
| Session | Ruby for Java Developers | 214 | |||
| 2006 | Hindsgavl Conference | Copenhagen, Denmark | Session | Domain Specific Languages in Today's World | 215 |
| Session | Language Oriented Programming and Language Workbenches | 216 | |||
| NFJS Gateway Software Symposium | St. Louis, MO | Session | Clean Up Your Code | 217 | |
| Session | Advanced Enterprise Debugging | 218 | |||
| Session | SOA & ESB | 219 | |||
| Session | Pragmatic XP | 220 | |||
| Session | Testing with Selenium | 221 | |||
| Session | The Productive Programmer | 222 | |||
| Session | Language Oriented Programming and Language Workbenches | 223 | |||
| NFJS Twin Cities Software Symposium | Minneapolis, MN | Keynote | Language Oriented Programming | 224 | |
| Session | Introduction to Tapestry | 225 | |||
| Session | Advanced Enterprise Debugging | 226 | |||
| Session | SOA & ESB | 227 | |||
| Session | Pragmatic XP | 228 | |||
| Session | The Productive Programmer | 229 | |||
| Session | Regular Expressions in Java | 230 | |||
| NFJS Greater Nebraska Software Symposium | Omaha, NE | Session | SOA & ESB | 231 | |
| Session | Advanced Enterprise Debugging | 232 | |||
| Session | Clean Up Your Code | 233 | |||
| Session | Language Oriented Programming | 234 | |||
| NFJS Northern Virginia Software Symposium | Reston, VA | Session | SOA & ESB | 235 | |
| Session | Advanced Enterprise Debugging | 236 | |||
| Session | Regular Expressions in Java | 237 | |||
| Session | Testing with Selenium | 238 | |||
| Session | Real World Agile | 239 | |||
| Session | Language Oriented Programming | 240 | |||
| NFJS Rocky Mountain Software Symposium | Broomfield, CO | Session | SOA & ESB | 241 | |
| Session | Real World Agile | 242 | |||
| Session | Pragmatic XP | 243 | |||
| Session | The Productive Programmer | 244 | |||
| The Ajax Experience | San Francisco, CA | Session | Testing with Selenium | 245 | |
| NFJS Central Ohio Software Symposium | Columbus, OH | Keynote | Language Oriented Programming | 246 | |
| Session | Real World Agile | 247 | |||
| Session | Testing with Selenium | 248 | |||
| Session | The Productive Programmer | 249 | |||
| Session | Pragmatic XP Part 1 | 250 | |||
| Session | Pragmatic XP Part 2 | 251 | |||
| Session | Introduction to Tapestry | 252 | |||
| Session | Web Application Security Vulnerabilities | 253 | |||
| NFJS Central Florida Software Symposium | Orlando, FL | Session | Real World Agile | 254 | |
| Session | Testing with Selenium | 255 | |||
| Session | The Productive Programmer | 256 | |||
| Session | Introduction to Tapestry | 257 | |||
| Session | Web Application Security Vulnerabilities | 258 | |||
| Session | SOA | 259 | |||
| Session | Advanced Enterprise Debugging | 260 | |||
| NFJS Research Triangle Software Symposium | Raleigh, NC | Session | The Productive Programmer | 261 | |
| Session | Testing with Selenium | 262 | |||
| NFJS Salt Lake Software Symposium | Salt Lake City, UT | Session | Testing with Selenium | 263 | |
| Session | The Productive Programmer | 264 | |||
| Session | SOA | 265 | |||
| Session | Real World Agile | 266 | |||
| Session | Language Oriented Programming | 267 | |||
| Session | Clean Up Your Code | 268 | |||
| NFJS Lone Star Software Symposium | Austin, TX | Session | Real World Agile | 269 | |
| Session | Testing with Selenium | 270 | |||
| Session | The Productive Programmer | 271 | |||
| Session | Clean Up Your Code | 272 | |||
| Session | SOA | 273 | |||
| Central Iowa Software Symposium | Des Moines, IA | Session | Real World Agile | 274 | |
| Session | Testing with Selenium | 275 | |||
| Session | The Productive Programmer | 276 | |||
| Session | Clean Up Your Code | 277 | |||
| Session | SOA | 278 | |||
| Session | Advanced Enterprise Debugging | 279 | |||
| Session | Regular Expressions | 280 | |||
| O'Reilly Open Source Conference | Portland, OR | Session | Building Domain Specific Langauges with Ruby | 281 | |
| Desert Southwest Software Symposium | Phoenix, AZ | Keynote | Language Oriented Programming: Shifting Paradigms | 282 | |
| Session | Real World Agile | 283 | |||
| Session | Testing with Selenium | 284 | |||
| Session | The Productive Programmer | 285 | |||
| Session | SOA | 286 | |||
| Session | Advanced Enterprise Debugging | 287 | |||
| Central Ohio Software Symposium | Cincinnait, OH | Session | Ruby for Java Developers | 288 | |
| Session | Real World Agile | 289 | |||
| Session | Testing with Selenium | 290 | |||
| Session | The Productive Programmer | 291 | |||
| Session | Clean Up Your Code | 292 | |||
| Session | SOA | 293 | |||
| New York Software Symposium | Newark, NJ | Keynote | Language Oriented Programming: Shifting Paradigms | 294 | |
| Session | Real World Agile | 295 | |||
| Session | Testing with Selenium | 296 | |||
| Session | The Productive Programmer | 297 | |||
| Session | SOA | 298 | |||
| Session | Web Application Security Vulnerabilities | 299 | |||
| Pacific Northwest Software Symposium | Seattle, WA | Keynote | Language Oriented Programming: Shifting Paradigms | 300 | |
| Session | Real World Agile | 301 | |||
| Session | The Productive Programmer | 302 | |||
| Session | SOA | 303 | |||
| Session | Web Application Security Vulnerabilities | 304 | |||
| Session | Advanced Enterprise Debugging | 305 | |||
| Session | Pragmatic XP part 1 | 306 | |||
| Session | Pragmatic XP part 1 | 307 | |||
| Entwickler X/EuroDevCon 2006 | Frankfurt au Main, Germany | Session | Agile Development with .NET | 308 | |
| Session | SOA | 309 | |||
| Session | The Productive Programmer | 310 | |||
| Ajax in Action | Frankfurt au Main, Germany | Session | Testing with Selenium | 311 | |
| Greater Atlanta Software Symposium | Atlanta, GA | Session | Testing with Selenium | 312 | |
| Session | Clean Up Your Code | 313 | |||
| Session | The Productive Programmer | 314 | |||
| Session | Ruby for Java Developers | 315 | |||
| Session | Introduction to Tapestry | 316 | |||
| Session | Web Application Security Vulnerabilities | 317 | |||
| Session | Pragmatic XP Part 1 | 318 | |||
| Session | Pragmatic XP Part 2 | 319 | |||
| Bay Area Software Symposium | San Jose, CA | Session | Testing with Selenium | 320 | |
| Session | Clean Up Your Code | 321 | |||
| Session | SOA | 322 | |||
| Session | Regular Expressions | 323 | |||
| The Ajax Experience | Boston, MA | Session | Testing with Selenium | 324 | |
| Northern Virginia Software Symposium | Reston, VA | Session | Testing with Selenium | 325 | |
| Session | Clean Up Your Code | 326 | |||
| Session | Pragmatic XP Part 1 | 327 | |||
| Session | Pragmatic XP Part 2 | 328 | |||
| Rocky Mountain Software Symposium | Denver, CO | Session | Testing with Selenium | 329 | |
| Session | The Productive Programmer | 330 | |||
| Session | Power Regular Expressions | 331 | |||
| Session | Web Application Security Vulnerabilities | 332 | |||
| Session | Ruby for Java Developers | 333 | |||
| Session | Advanced Enterprise Debugging | 334 | |||
| Great Lakes Software Symposium | Chicago, IL | Session | Testing with Selenium | 335 | |
| Session | The Productive Programmer | 336 | |||
| Session | Power Regular Expressions | 337 | |||
| Session | Web Application Security Vulnerabilities | 338 | |||
| Session | Clean Up Your Code | 339 | |||
| Session | Advanced Enterprise Debugging | 340 | |||
| Session | SOA | 341 | |||
| JAX-Asia | Singapore | Session | SOA | 342 | |
| Session | Web Application Security Vulnerabilities | 343 | |||
| Session | Advanced Enterprise Debugging | 344 | |||
| Jakarta, Indonesia | Session | Advanced Enterprise Debugging | 345 | ||
| 2007 | CodeMash | Sandusky, OH | Keynote | Language Oriented Programming | 346 |
| Session | SOA | 347 | |||
| Session | The Productive Programming | 348 | |||
| Greater Wisconsin Software Symposium | Milwaukee, WI | Session | Debugging and Testing the Web Tier | 349 | |
| Session | Advanced Selenium | 350 | |||
| Session | Implementing SOA | 351 | |||
| Session | 10 Ways to Improve Your Code | 352 | |||
| New England Software Symposium | Boston, MA | Keynote | Polyglot Programming | 353 | |
| Session | Debugging and Testing the Web Tier | 354 | |||
| Session | Advanced Selenium | 355 | |||
| Session | Implementing SOA | 356 | |||
| Session | Regular Expressions in Java | 357 | |||
| Session | 10 Ways to Improve Your Code | 358 | |||
| NFJS Gateway Software Symposium | St. Louis, MO | Session | Debugging & Testing the Web Tier | 359 | |
| Session | Advanced Selenium | 360 | |||
| Session | Implementing SOA | 361 | |||
| Session | 10 Ways to Improve Your Code | 362 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 363 | |||
| Session | Productive Programmer: Automation & Canonicality | 364 | |||
| The Serverside Symposium | Las Vegas, NV | Session | Testing with Selenium | 365 | |
| Session | Metrics-driven Agile Development | 366 | |||
| NFJS Greater Nebraska Software Symposium | Omaha, NB | Session | Debugging & Testing the Web Tier | 367 | |
| Session | Advanced Selenium | 368 | |||
| Session | Implementing SOA | 369 | |||
| Session | Regular Expressions in Java | 370 | |||
| Session | 10 Ways to Improve Your Code | 371 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 372 | |||
| Session | Productive Programmer: Automation & Canonicality | 373 | |||
| NFJS Twin Cities Software Symposium | Minneapolis, MN | Session | Debugging & Testing the Web Tier | 374 | |
| Session | Advanced Selenium | 375 | |||
| Session | Implementing SOA | 376 | |||
| Session | Building DSLs in Static & Dynamic Languages | 377 | |||
| Session | 10 Ways to Improve Your Code | 378 | |||
| Session | Productive Programmer: Automation & Canonicality | 379 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 380 | |||
| SOA Masterclass | Kuala Lumpur, Malasia | Class | Building Service-oriented Architecture | 381 | |
| Webinale | Singapore, Singapore | Session | Polyglot Programming | 382 | |
| Session | Why is Everyone so Interested in Ruby on Rails? | 383 | |||
| Session | Testing with Selenium | 384 | |||
| JAX 07 | Wiesbaden, Germany | Session | Polyglot Programming | 385 | |
| Session | Why is Everyone so Interested in Ruby on Rails? | 386 | |||
| Session | Testing with Selenium | 387 | |||
| NFJS Northern Virginia Software Symposium | Reston, VA | Session | Introduction to JRuby | 388 | |
| Session | JRuby on Rails | 389 | |||
| Session | Implementing SOA | 390 | |||
| Session | Regular Expressions in Java | 391 | |||
| Session | 10 Ways to Improve Your Code | 392 | |||
| Session | Building DSLs in Static & Dynamic Languages | 393 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 394 | |||
| Session | Productive Programmer: Automation & Canonicality | 395 | |||
| NFJS Rocky Mountain Software Symposium | Denver, CO | Keynote | Polyglot Programming | 396 | |
| Session | Introduction to JRuby | 397 | |||
| Session | JRuby on Rails | 398 | |||
| Session | Implementing SOA | 399 | |||
| Session | Regular Expressions in Java | 400 | |||
| Session | Debugging & Testing the Web Tier | 401 | |||
| Session | Advanced Selenium | 402 | |||
| Session | 10 Ways to Improve Your Code | 403 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 404 | |||
| Session | Productive Programmer: Automation & Canonicality | 405 | |||
| JavaOne | San Francisco, CA | Session | Building DSLs in Static & Dynamic Languages | 406 | |
| Session | Advanced Enterprise Debugging Techniques | 407 | |||
| NFJS South Florida Software Symposium | Miami, FL | Keynote | Polyglot Programming | 408 | |
| Session | Introduction to JRuby | 409 | |||
| Session | JRuby on Rails | 410 | |||
| Session | Implementing SOA | 411 | |||
| Session | Regular Expressions in Java | 412 | |||
| Session | Debugging & Testing the Web Tier | 413 | |||
| Session | Advanced Selenium | 414 | |||
| Session | 10 Ways to Improve Your Code | 415 | |||
| Session | Productive Programmer: Automation & Canonicality | 416 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 417 | |||
| Session | Metrics Driven Agile Development | 418 | |||
| JAX India | Bangalore, India | Session | Polyglot Programming | 419 | |
| Session | Why is Everyone So Interested in Ruby on Rails | 420 | |||
| Session | 10 Ways to Improve Your Code | 421 | |||
| Session | Implementing SOA | 422 | |||
| NFJS Central Ohio Software Symposium | Columbus, OH | Session | Introduction to JRuby | 423 | |
| Session | JRuby on Rails | 424 | |||
| Session | Regular Expressions in Java | 425 | |||
| Session | Debugging & Testing the Web Tier | 426 | |||
| Session | Advanced Selenium | 427 | |||
| Session | 10 Ways to Improve Your Code | 428 | |||
| Session | Building DSLs in Static & Dynamic Languages | 429 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 430 | |||
| Session | Productive Programmer: Automation & Canonicality | 431 | |||
| Session | Metrics Driven Agile Development | 432 | |||
| Software Architecture | London, England | Session | Implementing SOA | 433 | |
| Session | SOA: The Future of Distributed Computing or the Return of the Son of CORBA? | 434 | |||
| Session | Metrics Driven Agile Development | 435 | |||
| NFJS Salt Lake Software Symposium | Salt Lake City, UT | Keynote | Polyglot Programming | 436 | |
| Session | Introduction to JRuby | 437 | |||
| Session | JRuby on Rails | 438 | |||
| Session | Implementing SOA | 439 | |||
| Session | Regular Expressions in Java | 440 | |||
| Session | 10 Ways to Improve Your Code | 441 | |||
| Session | Building DSLs in Static & Dynamic Languages | 442 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 443 | |||
| Session | Productive Programmer: Automation & Canonicality | 444 | |||
| Session | Pragmatic XP | 445 | |||
| Session | Metrics Driven Agile Development | 446 | |||
| The Serverside Symposium | Barcelona, Spain | Keynote (with Martin Fowler) | Language-oriented Programming | 447 | |
| Session | Testing with Selenium | 448 | |||
| NFJS Lone Star Software Symposium | Austin, TX | Session | Implementing SOA | 449 | |
| Session | Regular Expressions in Java | 450 | |||
| Session | Debugging & Testing the Web Tier | 451 | |||
| Session | Advanced Selenium | 452 | |||
| Session | 10 Ways to Improve Your Code | 453 | |||
| Session | Building DSLs in Static & Dynamic Languages | 454 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 455 | |||
| Session | Productive Programmer: Automation & Canonicality | 456 | |||
| Session | Metrics Driven Agile Development | 457 | |||
| Session | Pragmatic XP | 458 | |||
| erubycon | Columbus, OH | Keynote | Polyglot Programming | 459 | |
| Session | Mingle | 460 | |||
| NFJS Research Triangle Software Symposium | Raleigh, NC | Session | Implementing SOA | 461 | |
| Session | Regular Expressions in Java | 462 | |||
| Session | 10 Ways to Improve Your Code | 463 | |||
| Session | JRuby on Rails | 464 | |||
| Session | Building DSLs in Static & Dynamic Languages | 465 | |||
| Session | Metrics Driven Agile Development | 466 | |||
| Dr. Dobb's Architecture & Design | Chicago, IL | Session | Ruby on Rails for Java & .NET Developers | 467 | |
| Session | Building DSLs in Static & Dynamic Languages | 468 | |||
| Session | 10 Ways to Improve Your Code | 469 | |||
| Session | Metrics Driven Agile Development | 470 | |||
| NFJS Desert Southwest Software Symposium | Phoenix, AZ | Session | Metrics Driven Agile Development | 471 | |
| Session | Building DSLs in Static & Dynamic Languages | 472 | |||
| Session | 10 Ways to Improve Your Code | 473 | |||
| Session | Implementing SOA | 474 | |||
| Session | Debugging & Testing the Web Tier | 475 | |||
| Session | Advanced Selenium | 476 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 477 | |||
| Session | Productive Programmer: Automation & Canonicality | 478 | |||
| NFJS Northern Wisconsin Software Symposium | Green Bay, WI | Keynote | Software "Engineering" & Polyglot Programming | 479 | |
| Session | Building DSLs in Static & Dynamic Languages | 480 | |||
| Session | 10 Ways to Improve Your Code | 481 | |||
| Session | Implementing SOA | 482 | |||
| Session | JRuby on Rails | 483 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 484 | |||
| Session | Productive Programmer: Automation & Canonicality | 485 | |||
| Session | Introduction to JRuby | 486 | |||
| Session | Regular Expressions in Java | 487 | |||
| Session | Agile Project Management (featuring Mingle) | 488 | |||
| NFJS Atlanta Northeast Software Symposium | Atlantic City, NJ | Session | Building DSLs in Static & Dynamic Languages | 489 | |
| Session | Introduction to JRuby | 490 | |||
| Session | Regular Expressions in Java | 491 | |||
| Session | Implementing SOA | 492 | |||
| Session | 10 Ways to Improve Your Code | 493 | |||
| Session | Metrics Driven Agile Development | 494 | |||
| Session | Agile Project Management (featuring Mingle) | 495 | |||
| NFJS Southern Ohio Software Symposium | Cincinnati, OH | Keynote | Software "Engineering" & Polyglot Programming | 496 | |
| Session | 10 Ways to Improve Your Code | 497 | |||
| Session | Implementing SOA | 498 | |||
| Session | Regular Expressions in Java | 499 | |||
| Session | Metrics Driven Agile Development | 500 | |||
| Session | Building DSLs in Static & Dynamic Languages | 501 | |||
| Session | Introduction to JRuby | 502 | |||
| Session | JRuby on Rails | 503 | |||
| Session | Debugging & Testing the Web Tier | 504 | |||
| Session | Advanced Selenium | 505 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 506 | |||
| Session | Productive Programmer: Automation & Canonicality | 507 | |||
| NFJS Central Florida Software Symposium | Orlando, FL | Session | 10 Ways to Improve Your Code | 508 | |
| Session | Implementing SOA | 509 | |||
| Session | Agile Project Management (featuring Mingle) | 510 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 511 | |||
| Session | Productive Programmer: Automation & Canonicality | 512 | |||
| Session | Debugging & Testing the Web Tier | 513 | |||
| Session | Advanced Selenium | 514 | |||
| Session | Building DSLs in Static & Dynamic Languages | 515 | |||
| Affiliates Convention | Montreal, Canda | Session | Introduction to Ruby on Rails: Using Rails to Build Affiliate Sites | 516 | |
| NFJS eXchange 2007 | London, England | Keynote | Software "Engineering" & Polyglot Programming | 517 | |
| Session | 10 Ways to Improve Your Code | 518 | |||
| Session | Implementing SOA | 519 | |||
| Session | Agile Project Management (featuring Mingle) | 520 | |||
| Session | Regular Expressions in Java | 521 | |||
| Session | Metrics Driven Agile Development | 522 | |||
| Session | Building DSLs in Static & Dynamic Languages | 523 | |||
| Session | Introduction to JRuby | 524 | |||
| Session | JRuby on Rails | 525 | |||
| The Rich Web Experience | San Jose, CA | Session | Debugging & Testing the Web Tier | 526 | |
| Session | Advanced Selenium | 527 | |||
| Workshop | Testing the Web Tier | 528 | |||
| IASA Regional Conference | Atlanta, GA | Session | Software "Engineering" & Polyglot Programming | 529 | |
| Session | 10 Ways to Improve Your Code | 530 | |||
| NFJS New England Software Symposium | Boston, MA | Session | Agile Project Management (featuring Mingle) | 531 | |
| Session | Metrics Driven Agile Development | 532 | |||
| Session | 10 Ways to Improve Your Code | 533 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 534 | |||
| Session | Productive Programmer: Automation & Canonicality | 535 | |||
| Session | Introduction to JRuby | 536 | |||
| Session | JRuby on Rails | 537 | |||
| RailsConf Europe | Berlin, Germany | Session | Debugging & Testing the Web Tier | 538 | |
| Callista Enterprise | Gothenburg, Sweden | Session | Introduction to JRuby | 539 | |
| Session | JRuby on Rails | 540 | |||
| JAOO | Aarhaus, Denmark | Session | Mingle: Building a Product in Rails | 541 | |
| Entwickler Conference | Frankfurt, Germany | Keynote | Software "Engineering" & Polyglot Programming | 542 | |
| Session | Building DSLs in Static & Dynamic Languages | 543 | |||
| Workshop | Ruby on Rails Workshop | 544 | |||
| NFJS Greater Atlanta Software Symposium | Atlanta, GA | Session | Implementing SOA | 545 | |
| Session | 10 Ways to Improve Your Code | 546 | |||
| Session | Regular Expressions in Java | 547 | |||
| Session | Building DSLs in Static & Dynamic Languages | 548 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 549 | |||
| Session | Productive Programmer: Automation & Canonicality | 550 | |||
| Session | Introduction to JRuby | 551 | |||
| Session | JRuby on Rails | 552 | |||
| NFJS Twin Cities Software Symposium | Minneapolis, MN | Session | Building DSLs in Static & Dynamic Languages | 553 | |
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 554 | |||
| Session | Productive Programmer: Automation & Canonicality | 555 | |||
| Session | Implementing SOA | 556 | |||
| Session | 10 Ways to Improve Your Code | 557 | |||
| Session | Metrics Driven Agile Development | 558 | |||
| Session | Regular Expressions in Java | 559 | |||
| October Conference 2007 Malaga | Malaga, Spain | Keynote | Software "Engineering" & Polyglot Programming | 560 | |
| Session | Rails and .NET | 561 | |||
| Cougar Computer Science Club | Houston, TX | Keynote | Software "Engineering" & Polyglot Programming | 562 | |
| NFJS Greater Toronto Software Symposium | Toronto, Canada | Session | 10 Ways to Improve Your Code | 563 | |
| Session | Implementing SOA | 564 | |||
| Session | Productive Programmer: Acceleration, Focus, & Indirection | 565 | |||
| Session | Productive Programmer: Automation & Canonicality | 566 | |||
| Session | Agile Project Management (featuring Mingle) | 567 | |||
| Session | Metrics Driven Agile Development | 568 | |||
| Session | Introduction to JRuby | 569 | |||
| Session | JRuby on Rails | 570 | |||
| NFJS Northern Virginia Software Symposium | Reston, VA | Session | Code Analysis & Metrics for Agile Projects | 571 | |
| Session | Agile Project Management with Mingle | 572 | |||
| Session | Implementing SOA | 573 | |||
| Session | Productive Programmer: Acceleration, Indirection, & Focus | 574 | |||
| Session | Productive Programmer: Automation & Canonicality | 575 | |||
| Session | Intro to JRuby | 576 | |||
| Session | JRuby on Rails | 577 | |||
| Session | 10 Ways to Improve Your Code | 578 | |||
| Session | Testing & Debugging the Web Tier | 579 | |||
| Session | Advanced Selenium | 580 | |||
| QCon | San Francisco | Tutorial w/ Martin Fowler | Domain Specific Languages | 581 | |
| Session | Building DSLs in Static & Dynamic Languages | 582 | |||
| NFJS Rock Mountain Software Symposium | Denver, CO | Session | Metrics Driven Agile Development | 583 | |
| Session | Agile Project Management | 584 | |||
| Session | Pragmatic XP | 585 | |||
| Session | Productive Productive: Acceleration, Focus, & Acceleration | 586 | |||
| Session | Productive Programmer: Automation & Canonicality | 587 | |||
| Session | Implementing SOA | 588 | |||
| NFJS Great Lakes Software Symposium | Chicago, IL | Session | 10 Ways to Improve Your Code | 589 | |
| Session | Implementing SOA | 590 | |||
| Session | Building DSLs in Static & Dynamic Languages | 591 | |||
| Session | Introduction to JRuby | 592 | |||
| Session | JRuby on Rails | 593 | |||
| Session | Metrics Driven Agile Development | 594 | |||
| Session | Productive Productive: Acceleration, Focus, & Acceleration | 595 | |||
| Session | Productive Programmer: Automation & Canonicality | 596 | |||
| JAX-Asia | Singapore | Session | 10 Ways to Improve Your Code | 597 | |
| Session | JRuby on Rails | 598 | |||
| Session | Introduction to JRuby | 599 | |||
| JAX-Asia | Jakarta, Indonesia | Session | 10 Ways to Improve Your Code | 600 | |
| Session | JRuby on Rails | 601 | |||
| Session | Introduction to JRuby | 602 | |||
| 2008 | CodeMash | Sandusky, OH | Keynote | Software "Engineering" & Polyglot Programming | 603 |
| Session | Building DSLs in Static and Dynamic Languages |