Thomas Fuchs
Hi, I'm Thomas Fuchs. I'm the author of Zepto.js, of script.aculo.us, and I'm a Ruby on Rails core alumnus. With Amy Hoy I'm building cheerful software, like Freckle Time Tracking and Every Time Zone and write books like Retinafy.me.
   Want me to speak at your conference? Contact me!

Is JavaScript overrated?

May 17th, 2007

Here is the example code:

examples.zip

And here are the slides (this version replaces the previous PDFs and have individual animation frames as seperate slides to clear some things up):

slides_v2.zip

License

The book on Prototype and script.aculo.us

May 7th, 2007

Prototype and script.aculo.us Book coverNow in PDF as a Beta Book from Pragmatic Programmers with a dead tree version coming later this year: Prototype and script.aculo.us by Prototype core team member, script.aculo.us contributor and Google Group help wizard Christophe Porteneuve.

Christophe shows you all the little helpers and niceties of Prototype, and explains how they’re supposed to be used. Whether it’s Element manipulation, DOM traversal, Ajax or the JavaScript extensions like Enumerables, Christophe’s book will give authorative, complete and oftentimes fun answers, paired with some great insights on why things are done as they are in Prototype.

Basically, with this book in your arsenal, you’ll quickly make the transition from just using Prototype to being the resident code ninja.

Needless to say, the book is completely up-to-date (and also covers features from the yet-to-be-released version 1.5.2 of Prototype!), to help you stay on top of things.

Of course, not only does Christophe show you how to really leverage Prototype, but there’s a second beta on the way, providing the same coverage for script.aculo.us, which I really look forward too!

Go grab your beta copy!

script.aculo.us 1.7.1 beta 2 for your download pleasure

April 28th, 2007

There’s a brand new 1.7.1 beta 2 release of script.aculo.us.

In script.aculo.us itself there have been only two small bug fixes for the autocompleting code since beta 1, but the main reason to get this release out is the included Release candidate 4 of Prototype 1.5.1, which has lots and lots of overall improvements, performance tweaks and some cool new features.

So, go ahead and download script.aculo.us 1.7.1 beta 2.

More stuff is up ahead, and I hope some of it will make it in before my RailsConf tutorial—let’s see!

Beta warning: Things might not work as you might expect, though they really should—if you hit any problems, please use the bug tracker and give reports. The same that applies to Prototype applies for script.aculo.us too, so read the how to contribute page to see how you can help out here!

Prototype 1.5.1: Release candidate 3

April 24th, 2007

Prototype 1.5.1 is making steady progress and this should be the last release candidate before the final version—and we’ve already lots of stuff up our sleeves for 1.6.0!

Next to some bugfixes, the third release candidate also brings some cool new enhancements:

  • Faster $$() utility and Element.getElemementsBySelector method.
  • Optimized Element.next, Element.down, Element.up and Element.previous DOM methods.
  • Speed improvements of String#escapeHTML and String#unescapeHTML in IE and Safari.
  • Ajax.Requests now supports per-request onCreate callbacks.
  • JSON strings are automatically stripped of their security delimiters (if present) before eval.
  • All toJSON methods now generate YAML-loadable JSON.
  • Event.element now returns an extended element.
  • Linefeed normalisation is now prevented in IE on String#escapeHTML and String#unescapeHTML for consistency with other browsers.
  • Added a new Element.childElements method (shorter alias of Element.immediateDescendants).
  • Added a new Element.firstDescendant method (same as using Element.down with no arguments).

Read more and download over at the Prototype site

Prototype & Scriptaculous in Action hits the shelves

March 27th, 2007

Book cover Weighting in at 544 pages on sweet, sweet Prototype and script.aculo.us, Dave Crane and Bear Bibeault’s new book Prototype and Scriptaculous in Action just hit the shelves. And it’s packed with stuff for beginners and pro’s alike.

As it happens, I wrote the foreword for the book, which you can read online. ;)

Next to a crash-course on getting started with the fun, you’ll get a comprehensive introduction to the concepts around the libraries, plus it features great references tables for all the various options available here and there. It also has sample code to show how to use various server-side development environments, to help get you on track wheter you’re using Rails, Java or PHP.

What’s more, there are more books coming soonish, so stay tuned!

script.aculo.us 1.7.1 beta!

March 12th, 2007

On the heels of the recent Prototype 1.5.1 release candidate, here’s the latest and greatest version of script.aculo.us: 1.7.1 beta 1.

Beta warning: Things might not work as you might expect, though they really should—if you hit any problems, please use the bug tracker and give reports. The same that applies to Prototype applies for script.aculo.us too, so read the how to contribute page to see how you can help out here!

So, what’s new?

The most important change is the update to Prototype 1.5.1 which yields major performance improvements, slick new JSON support and various fixes all around. Note that the version of Prototype that comes with script.aculo.us 1.7.1 beta 1 is actually a few steps ahead of the 1.5.1_rc1 release and already incorporates a few additional fixes, so please use the version that comes with the script.aculo.us download.

The other important feature is experimental sound support for those little .mp3-based sound effects, which works natively in IE, and relies on whatever mp3 plugins are available on other browsers (for Macs, this means quicktime). It’s thought as an alternative to flash-based mp3 playback for sounds effects (not music!). Kudos to Jules Gravinese for coming up with the initial implementation of this! Here’s a little example of how to use this (be sure to include sounds.js or use the script.aculo.us loader, scriptaculous.js):


Sound.play('blah.mp3');

Of course, there’s some heated discussion about this—we’ll see where this will take us.

The effects engine has seen some performance overhaul, and together with the new Prototype performance goodnees is screaming fast. Also, a memory leak in the morph code was found and fixed on Firefox.

More changes and features added include a new “failure” option to Draggables, and onDropped callback, more customization for in-place editing, and nesting single nodes in the DOM builder.

As always, I heavily encourage you to study the CHANGELOG to get the full details on all of this.

So, what are you waiting for? Download here!
(other archive types available too).

Lastly, thanks to all the contributors and the community! :)

P.S. I’ll be in London this week for Qcon, so if you want to discuss this or other stuff and you’re in the area, you should be able to find me around.

Prototype heads CSS3 and adds JSON goodness

March 10th, 2007

The core team has been pretty busy at making Prototype even better since the release of 1.5.0 back in January, and the result is the first release candidate of Prototype 1.5.1.

You can read the complete scoop here, just to get you warmed up, here’s some of the newly added goodness:

The API documentation has been updated to reflect this, so there’s no excuse not to make the jump to Prototype 1.5.1—if you do find any issue, please report it.

Read the announcement and download on the Prototype blog.

Update: If you want to use Prototype 1.5.1_rc0 with script.aculo.us, be aware the the current 1.7.0 version requires Prototype 1.5.0, so be sure to grab the latest and greatest SVN trunk version of script.aculo.us which works fine with Prototype 1.5.1, and takes advantage of the updates. A script.aculo.us 1.7.1 release candidate should be coming soon…

TextMate book!

March 1st, 2007

If you want to get serious with TextMate, the new TextMate book from Pragmatic Programmers is a fine read.

If you’re reading this, you’re most probably a developer and/or designer and spending lots of time editing text, so be sure to know all about the various shortcuts and powerful functions that are at your fingertips. The book really makes it easy to dig deeper into TextMate.

The TextMate blog has more.

P.S. While at it, be sure to not forget about the Prototype & script.aculo.us TextMate bundle, which is available from the official bundle repository.

Now for something completely different

February 9th, 2007

Here’s something for the weekend. Programmers tend to have strange geeky hobbies, and so have I.

The music is a punk cover version of Monty Python’s “Sir Robin”, performed by members of our live action roleplaying club.

Want to know more? (german)

On the JavaScript side of things, I’ve played around with something very handy for developing JavaScript—I’ll probably post about that this weekend.

Enjoy!

Is JavaScript overrated? (Hurry if you want to know!)

February 5th, 2007

I’ve you want to catch my tutorial on leaving the basics behind and grok some serious JavaScript, you better hurry as RailsConf is more than half sold out and the fastest selling O’Reilly conference.

RailsConf is from May 17 to May 20, 2007 in Open-Source-Mecca Portland, Oregon.

See you! :)