193 symposiums and 30,000 attendees since 2001

Ben Galbraith

Book author, Ajaxian-at-Large, and Consultant

Ben Galbraith
Ben Galbraith is a frequent technical speaker, occasional consultant, and author of several Java-related books. He is a co-founder of Ajaxian.com, an experienced CTO and Java Architect, and is presently a consultant specializing in Java Swing and Ajax development. Ben wrote his first computer program when he was six years old, started his first business at ten, and entered the IT workforce just after turning twelve. For the past few years, he’s been professionally coding in Java. Ben has delivered hundreds of technical presentations world-wide at venues including JavaOne, The Ajax Experience, JavaPolis, and the No Fluff Just Stuff Java Symposium series; he was the top-rated speaker at JavaOne 2006.

Blog

Sony HDR-UX1 Camcorder

Posted Tuesday, December 26, 2006

Just in time for the holidays, our old JVC miniDV camcorder broke. We used it just a handful of times in the years since we purchased it, but we’re convinced that now we’re finally ready to start recording all tho more »

Intel 865PE Raid and Vista

Posted Thursday, December 7, 2006

The machine on which I installed Vista has an SATA RAID 1 array managed by my Intel motherboard’s on-board SATA controller. Unfortunately, the motherboard (a D865PERL) is based on the 865PE chipset, which uses the 82801ER (ICH5R more »

The End of an Era

Posted Thursday, December 7, 2006

I recently installed Vista Enterprise RTM on a system I built a few years back. Vista failed to recognize my Linksys PCI Wireless card and my motherboard’s AC-97 audio chipset, but when I ran Windows Update it automatically do more »

RELAX NG Wins?

Posted Tuesday, December 5, 2006

When I first started speaking to audiences on the NFJS tour a few years back, I presented on RELAX NG — the world’s only comprehensive and sane XML schema language. At the time, I spoke to audiences that nearly u more »

Change Your Friends? GNames

Posted Friday, December 1, 2006

Every now and again, I find myself working from behind a firewall and fall back to using Gmail. When I do, I BCC myself on all messages I send (because my POP3 server receives all email and its archived from there more »
Read More Blog Entries »

Presentations

Making the Most of XML

For many of us, XML has become a ubiquitous presence in application development, whether parsing, validating, or manipulating it. For many of us, all that XML is coupled with pain, in the form of tedious APIs (like, say, the W3C DOM API) and confusing tec more »

Creating Polished Swing Applications

Too often, Swing applications are slow, ugly, and hard-to-maintain. It turns out that it doesn't have to be this way. Swing can be used to create highly-responsive, beautiful applications that are very maintainable. more »

Advanced Swing: Architecture and Frameworks

Are you spending more time plumbing your Swing applications than solving business problems? Has your Swing application grown out of control? This session is for you. more »

Introduction to Ajax

Ajax -- called DHTML just a few months ago -- has revolutionized (or "radically iterated", if you like) web application development in the short few months since the term was coined. What is it all about? Why are we excited about a set of capabilites tha more »

Ajaxian JavaScript Frameworks

In the "Introduction to Ajax" session, we discuss what Ajax is, how it works, and how others are using it. This session goes deeper into Ajax by reviewing the existing JavaScript frameworks that aim to make it easier. more »

Eight Tips for Swing Development

Java's Swing GUI toolkit is one of the most powerful and flexible frameworks available for creating professional, high-quality desktop applications. Along with its considerable abilities, however, comes considerable complexity. Swing does not have a reput more »

Making the Most of XML

close

Ben Galbraith By Ben Galbraith

For many of us, XML has become a ubiquitous presence in application development, whether parsing, validating, or manipulating it. For many of us, all that XML is coupled with pain, in the form of tedious APIs (like, say, the W3C DOM API) and confusing technologies (oh, I don't know, W3C XML Schema?).



In this session, I share the following tips for making the XML in our lives a little easier to deal with: - Use StAX instead of SAX - Use StAX to create XML - Use JDOM instead of W3C DOM - Use XPath to select XML - Use Jaxen to enable XPath over custom trees - Use RELAX NG instead of DTD or WXS - Use Trang when DTD/WXS output is required - Use Sun's RELAX NG Converter when WXS input is required - Consider RELAX NG's compact syntax - Use Schematron to extend schema languages - Consider XML namespaces for versioning - Ignore unknown namespaces


Creating Polished Swing Applications

close

Ben Galbraith By Ben Galbraith

Too often, Swing applications are slow, ugly, and hard-to-maintain. It turns out that it doesn't have to be this way. Swing can be used to create highly-responsive, beautiful applications that are very maintainable. If this isn't consistent with your own experience, don't feel bad; its not very obvious how to make Swing sing.



In this session, I explore three topics that lead to much better Swing applications:

  • Proper Swing threading
  • High-quality third-party Swing look-and-feels
  • Good practices for coding Swing applications

In the threading portion of the session, I explain Swing's event handling architecture and its implications for Swing applications. Understanding this topic is crucial to creating highly-responsive Swing apps. I demonstrate how to use this knowledge in the form of many live-coded examples, and I show how frameworks like SwingWorker and FoxTrot can make this easier. Java's default look-and-feel, Metal, is awful (and in my opinion, the "Ocean" theme in JDK 5.0 doesn't do enough to improve it); you should stop using it immediately. But creating good-looking applications is sadly more than slapping in a look-and-feel; you must also take care to understand the principles behind attractive layouts. I spend the second part of this session exploring how to make your Swing applications look great through a combination of third-party look-and-feels and layout techniques.


Advanced Swing: Architecture and Frameworks

close

Ben Galbraith By Ben Galbraith

Are you spending more time plumbing your Swing applications than solving business problems? Has your Swing application grown out of control? This session is for you.



In the first part of the presentation, I analyze the architectural problems that plague many Swing applications and present architectures that overcome these problems. These architectures are presented in terms of principles along with a reference implementation. You can therefore either adapt the principles to meet the needs of your existing applications, or incorporate the specific ideas of the reference implementation into your new projects. Fortunately, there are some existing frameworks that have done some of the architectural work already. I present some of these frameworks in the rest of the presentation.


Introduction to Ajax

close

Ben Galbraith By Ben Galbraith

Ajax -- called DHTML just a few months ago -- has revolutionized (or "radically iterated", if you like) web application development in the short few months since the term was coined.

What is it all about? Why are we excited about a set of capabilites that have been sitting in our browser for years? What can you do with it? And, how can you do it?



Ajax, short for Asynchronous JavaScript and XML, is a technique for communicating with servers from within a web page without causing a page refresh.

This session provides an introduction to Ajax and an orientation to the state of the ajaxian universe. The basic ajaxian techniques will be demonstrated through live coding, and more advanced examples of Ajax will be demonstrated and deconstructed.

Attendees will understand how the Google Maps UI is built (and why it isn't as hard as it looks), how Ajax can improve portals, community sites, and pretty much any other type of web application.

Furthermore, the issues surrounding how to create an Ajax application that doesn't turn into an unmaintainable pile of hacked up crap JavaScript will be discussed.

At the end of the session, an off-line capable, web services consuming Ajax RSS aggregator will also be demonstrated.

This talk will be presented by one or more of the founders of Ajaxian.com.

The session "Ajaxian JavaScript Frameworks" complements this session, and dives deeper into specifics on how to use many of the frameworks introduced in this session.


Ajaxian JavaScript Frameworks

close

Ben Galbraith By Ben Galbraith

In the "Introduction to Ajax" session, we discuss what Ajax is, how it works, and how others are using it.

This session goes deeper into Ajax by reviewing the existing JavaScript frameworks that aim to make it easier.



The scope of the frameworks is all over the made, from unit testing JavaScript to deconstructing other websites to making it easier to create your own ajaxian effects.

If you want to easily add some Ajax to your site, come to this talk, presented by one or more of the founders of Ajaxian.com.


Eight Tips for Swing Development

close

Ben Galbraith By Ben Galbraith

Java's Swing GUI toolkit is one of the most powerful and flexible frameworks available for creating professional, high-quality desktop applications. Along with its considerable abilities, however, comes considerable complexity. Swing does not have a reputation for ease of use (despite being much easier than many of its competitors--but that's another story). If you could combine the Swings power with the productivity of easier, more restrictive tools, such as Microsoft's Visual Basic - you'd have an incredible tool for application development.



This presentation talks about eight techniques you can employ to realize such an environment, such as how you can successfully integrate GUI builders and XUL frameworks into your project, making it much easier to set and retrieve values on Swing components, how to make it trivial to make JTables easy to use, and more.

Along with the presentation and slides, attendees will be able to download open source code they can use in their projects today to implement these ideas.