Humanity 2.0 @ Lambda Lounge in Dec

In December I’ll be giving the first Lambda Lounge talk about a non-technical topic called Humanity 2.0: how you are enabling the redefinition of “life as we know it”. There will be no code, no programming, and no algorithms — although the topic of my talk revolves heavily around technology.

Even if your grandparents had been science fiction writers, it would have been hard for them to predict how the evolution of technology played out to affect your life. You may have heard something like “Back when I was a kid, we didn’t have television”, from a sagely octogenarian when you were young. Now think about what we might be telling our great-grandchildren along the same vein.

“In my day, we didn’t have nanotechnology that allowed people to buy furniture plans out of thin air and transform their coffee tables into ottomans!”

Of course, that is just a guess. Judging from how wrong the sci-fi writers of the past predicted our future (where are my flying cars!), my statement is most likely way off. But you get the picture.

So what’s my point?

Technological evolution is a natural extension of biological evolution, and the rate of evolution in general is increasing exponentially. As in all exponential curves, there is a limit that the curve approaches, but never reaches. So what happens as the rate of evolution approaches infinity?

I’m going to talk about this idea and quite a bit about the nature of humanity and the universe in general in an attempt to put our human experience into context. I hope to emphasize the roles we are all playing as technologists in this grand scheme of things on a cosmic scale.

Hope to see you there!

Posted in presentation | Tagged , , | 4 Comments

Post Strange Loop 2009: Slides and Source Code

I really wish I could have attended both days of the Strange Loop conference. Judging from the time I was there, I’m sure things were very fun on the first day, especially the party and Strange Passions session at Blueberry Hill afterward.

Here are the slides from my presentation:

I got a lot of very nice comments on the presentation, including 3 people who told me that I convinced them to use jQuery on their next projects! Thank you for all your encouragement, and I hope jQuery fits your UI needs. You can see the live examples I was showing here, or check them out from github here.

The best thing about Strange Loop is that DZone was there, and they taped most of the presentations! So soon (not sure when) I’ll post up the video of my talk.

Posted in javascript, presentation | Tagged , , | 2 Comments

Post SpringOne / 2GX 2009: Slides and Source Code

I got a good response from the GrailsUI presentation, and hopefully we may get a few more developers interested in joining up to help with GrailsUI development. I tried to convince people to learn JavaScript as usual. All my code examples are available on github here.

This presentation also went very well. Code samples are here.

The conference itself was excellent. I met a lot of smart, interesting, and fun people I’ve been working with over the net for years. Thank you to everyone who took the time out to say hello and chat. What a great bunch of developers.I got to sit and have drinks with Jeff Brown and Graeme Rocher and talk about the future of Grails. And I also had etoufee with Guillaume LaForge, Dave Klein, and Paul King. Not to mention the oysters with Daniel Honig, Nathan Neff, Colin Harrington, and Hamlet D’Arcy. I also sat at the conference at the same tables as Rod Johnson, Scott Vlaminck, Scott Davis, and Hans Dockter.

Did I miss anyone?

Posted in grails, grails plugins, presentation | Tagged , , | Leave a comment

jQuery: JavaScript Library of the Future

At the Strange Loop Conference this year in St. Louis, I will be taking center stage on Oct 23 to give a presentation on the jQuery JavaScript Framework. Here is an introduction to the talk I’ll be giving there.


jquery

You website will suck without a fluid, usable UI. Your UI will suck without a rich, maintainable interface. Your programmers will suck if you don’t give them the tools they need to build the UI you need.

JavaScript has gotten a bad rap. The browser has become a first class application environment, and JavaScript is the leading platform within the browser for rich applications. Sprinkled throughout the web, there is a ton of unmaintainable, unreadable, buggy legacy JavaScript code, acting as very bad examples of client side programming. Many times, a software engineer’s first introduction to JavaScript involves this ugly code. As JavaScript guru Douglas Crockford says, “Most of the people writing in JavaScript are not programmers”, and this misrepresents the JavaScript language. So, sometimes backend programmers disregard JavaScript because of its inaccurate portrayal by script kiddies. Then the UI languishes, or is written by programmers that just want to find a quick way to make a library do what they want and move on.

Client programming deserves just as much attention as backend programming.

jQuery is a tool created by good software engineers that applies modern and correct software paradigms to the DOM-JavaScript relationship. It can help you produce an elegant, functional, maintainable UI — and most importantly give your users an excellent experience with much less effort than other JavaScript libraries.

In this presentation, we will explore the web and the role that JavaScript has played it in. We’ll talk about how JavaScript was used in the early days of the internet, and how it is being used now. Web 2.0 applications with rich user interfaces must think of their Client Tier (the browser) as a first-class application environment itself in order to give UI developers the resources they need to rock their UIs and keep their users involved and active within the communities they want to create.

Today’s AJAX environment is a new playing field for JavaScript, and jQuery is playing a major role on the field. It provides a JavaScript toolbox that is unobtrusive, functional, and pragmatic above all else. jQuery just gets things done in a way no other library today can do.

After an introduction to the environment for jQuery, I will be talking about the features of the library and giving code examples of jQuery tools being used at some of the best-designed sites and frameworks on the web today: Netflix, Google, Digg, Dell, Wordpress, Drupal, CBS, NBC, Technorati, etc.

I hope to see you at the conference, but you had better register soon. I hear it is going to sell out.

Posted in javascript, presentation | Tagged , , | 4 Comments

My Grails Presentations at SpringOne / 2GX

I am greatly looking forward to SpringOne / 2GX on October 19-22 in New Orleans! The last Groovy/Grails Experience happened just before I joined G2One, and I didn’t have the opportunity to attend. I have worked with a lot of outstanding people within the GG community without meeting the majority of them, so it is exciting to be able to finally meet them face to face. It is also a chance to interact more with the community. I know many of you online only, and most of you know me only through GrailsUI, my blog, or screencasts.

I will be giving two presentations on Grails at 2GX. I’ve been working hard on both of them to have them done in time to get the slides to Jay before the deadline. Here is a preview of them.

GrailsUI Primer

Although called a primer, this presentation is more than just a quick introduction to GrailsUI. I will talk about the motivations behind the plugin, the reason it was created, and why many of the decisions behind it were made. I hope to make attendees understand how to fully utilize the framework, not just how to employ certain tags in the library. So we’ll learn not only how to create YUI components through GrailsUI, but how to harness all GrailsUI features in order to interact with those components fully.

Also, I’m not going to pull any punches when I tell you to learn JavaScript. GrailsUI can only do so much for you by setting up components with sensible defaults. But for further customization and event handling, users of GrailsUI must take advantage of the JavaScript language in order to hook into the behavior of the YUI widgets it creates. We’ll create widgets using core GrailsUI taglibs, then interface directly with those components to add custom behaviors through JavaScript event handlers.

This presentation will not be:

  1. How to use the gui:dialog
  2. How to use the gui:autoComplete
  3. How to use the gui:dataTable

It will be a lesson on how GrailsUI internals work, and afterward you should be able to easily take advantage of all the GrailsUI functionality to the fullest. I really hope not only to teach you how to create components on your page with ease, but how to fully utilize them through JavaScript.

Grails in the Wild (GitW)

This presentation will be very different from the GrailsUI Primer. I wouldn’t call it a beginner’s lesson, because there will definitely be some advanced elements to it. But there I’m also including some very simple Grails tips and tricks that I hope will apply to users of all skill levels. Essentially, this presentation is all the things I’ve learned building Grails applications professionally for the time I worked for G2One and SpringSource. It is structured in the following way that defines a problem I was facing, then provides a solution to the problem, all under a certain topic within Grails.

The topics are things like: “External Config Files”, “Setting Default Config Values from Plugins”, “Rendering AJAX Data from Controllers”, “Custom Data Validations and Errors”, and “Metaprogramming with Plugins”. Within each topic, I’ll present a problem to be solved that applies to the topic, and my solution. Hopefully, I’ve come up with something useful for your Grails application.

In closing… I hope to see you at the conference! I’d very much like to talk to some of you that use Grails and GrailsUI at the conference, so please feel free to start up a conversation if you see me.

Posted in grails, javascript, presentation | Tagged , , , | 3 Comments

Check out the latest GroovyMag to see an interview with me about the 1.1 release of GrailsUI: