Categories
Etc

Wednesday the 16th

Long time, no bloggy.

  • Upgraded to WordPress 2.2. Mostly smooth. I wish they’d give you a way to have just Atom feeds.
  • I’m now a Dojo committer!
    • Landed a port of dojo.undo.browser (now dojo.back) on core trunk
  • Our port to 0.9 pre is done, now moving forward with DnD feed organization for the feed tree.
    • Some chats with Eugene and David on extending the classes in dojo/dnd/move.js a bit. I’d like to see some hooks on Mover / Moveable to allow you to constrain the move in different ways. Stuff’s looking good there.
  • Now using a nice pattern for layered builds and our code. We layer on top of Dojo’s Base (the new dojo.js) and have a layer for each page in the site. That page includes a JS that require’s all of the code needed for the page. That JS is also the only dependency in a layer, and the layer overwrites that JS file as part of the build. So in your HTML, you just have one script tag for Dojo and one script tag for the layer. If you’re not in a build, everything gets pulled in via require magic, and if you are in a build, you just suck in two glomm’d JS file.
  • Added support to turn on debug & switch to a non-shrinksafe’d version of the JS files using querystring args.
  • The YUI guys have some videos up that are worth a look. I really like all the talks by Douglas Crockford on JavaScript and the talk by Venkatesan on writing efficient JavaScript. I’d like to see some examples for some of the bits in the efficiency talk, but maybe I can just write those up myself and see.
  • Wore this shirt today. I’ve never seen so many people squint and sound out letters while staring at my chest before.
  • Mandy’s at 34 1/2 weeks. Everything looks great. :) Every now and then, we’re seeing a knee surface like a shark fin. Can’t wait to meet the little guy!
Categories
Etc

Wednesday the 9th

I didn’t like other peoples quotes. So a temporary reprieve while I think of something else.

  • Mark wants to turn basketball into hockey. I mostly agree. Also, Go Wings!
  • Spent most of the day cleaning up lingering bugs from the port. Mainly signature mismatches and a few true bugs that existed in the old code.
  • Hooked up the “show only subs and folders with unread items” for the tree last night. Still need to deal with the menu a bit. Ran into a doosey of a typo that cost me a good hour. Assume you have an HTML document with a node of id “foo”. What happens when you have the following JavaScript:
    dojo.connect(dojo.byId("fooo"),
                 "onclick",
                 function(evt) { dojo.stopEvent(evt); });
  • Set up the cradle my folks got us and made up a little nursery in the corner of the bedroom for our impending arrival. Also, we’re pretty settled on a name of Jackson Makay. Not sure on the spelling of the middle name yet?
Categories
Etc

Tuesday the 8th

People are difficult to govern because they have too much knowledge.
Lao-tzu, The Way of Lao-tzu
Chinese philosopher (604 BC – 531 BC)
  • Slammed 0.9 back into trunk. Let the madness begin.
    • Fixed a bunch of little bugs I’d missing during the port. Main culprits are dojo.publish needing an array for the second argument and missed transforms of dojo.html.getElementsByClass() into dojo.query().
    • Found a timing issue with application initialization and squashed it. Async application initialization is … tricky. Especially when you have things chained together using dojo.subscribe / publish. All sorts of stuff starts happening all over the application due to init, kinda like dominos. But async.
    • Saw a 50% reduction in overall code size with the port from Dojo 0.4.2 -> 0.9. So. Happy.
  • Chip got a buildbot working that automatically builds the codebase and publishes it to the test site, and we can trigger it from the IRC channel. Freaking sweet. Just need to get it running the unit / smoke tests and I’d be super geeked. This is a great start though. Automated builds (and tests) FTW!
  • I’m realizing I have a routine. I need a better routine. One that involves exercise.
  • Attended a breastfeeding class with Mandy and learned a lot of stuff. I wasn’t sure how much I was going to get out of it, but it was good to hear about what going to happen and what the pitfalls are. As one of the women in the class said, it seems like it would be so easy, but there’s really a bit of a trick to it.
  • Hopefully get to play golf a bit this weekend and better the 87 I opened with at MacGregor.
Categories
Etc

Monday the 7th

A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort.
Herm Albright
  • Port port port
    • Almost ready to land the 0.9 port back onto trunk
    • Looks like we’re going from ~300K to ~160K for a shrunk build of all our source. Gotta love a savings of 50%. No idea on execution speed just yet.
    • Latest thing to bite me: dojo.xhrGet/Post now use a Deferred instead of direct callbacks. For JSON data, the callback that you register with the Deferred only needs to take one argument, the eval’d JSON object, instead of the old type,object,transport triple from dojo.io.bind. Also, remember to return the object from your handler so that others can chain onto the Deferred if need be. A typical handler looks like:
      var def = dojo.xhrGet("/my/json");
      def.addCallback(function(obj) {
        // work with the object
        console.info("here's my data: %o", obj);
        // important to return the object for future callbacks
        return obj;
      });
  • Main Street Sweets, the local ice cream joint that had the fire a couple weeks back, is open for business again. They have a new flavor called “Holy Soot”, which appears to be chocolate ice cream with brownie and fudge swirl. My new fave.
Categories
Etc

Friday – Sunday

Long days and pleasant nights are upon us.

  • DDD/NY was a ton of fun!
    • It was great to see Alex and Chris again and meet and hang out with the rest of the Dojo crew!
    • IBM has one fancy building on Madison Ave. For such a fancy building, the internet access was spotty at best. No official guest network and some router on the network we were using was really really flaky.
    • People are building some cool shit on Dojo. Everything from really fancy one-pagers to subtle enhancements to existing apps. I’ll see if I can dig up some links.
    • Dijit (the new name for the widget project) is way better than I thought. I think we use a few of the new widgets in the redesign pretty easily…
    • Looks like we’re going to be one of the first big ports to 0.9. Fun. :)
    • Figured out a way to run layered builds and still have things work sans-a-build for devs. Need an enhancement to the build system to allow you to specify the output location of the layer file.Today, you just say name: "mylayer.js", but we really need to be able to say name: "bl.mylayer.js" and have it go in the "bl" module.
    • Went with Alex, Neil and two others (I’m so freaking bad with names) out to the Belmont Lounge for drinks. Good mojitos and great conversations…
    • I should really write something up on using Dojo and still having a fast experience. In the meantime, go read Serving JavaScript Fast. It’s a great start. The short answer is: you should make friends with the build system (so you can use it against your own code) and the HTTP cache.
    • Pictures coming…
    • Alex has a good writeup.
  • Some friends of ours threw a baby shower for Mandy on Sunday. Thanks to everyone for coming and the well wishes, advice, and support. And thanks for all the great swag. :)
  • Took a few street shots in NYC walking back and forth from Grand Central to the IBM building on Madison Ave. Only had one person ask me not to take a photo (shop owner), and got a few decent shots. Just need to find my card reader… I missed my camera.