Categories
Etc

Tuesday the 5th

I got what I was looking for.

  • Our fellows at Ask launched a great new ad last night. Check it out.
  • Met with the OB/GYN and attended a class on child care last night. Remember: don’t palm the baby’s face.
  • Paul wrote a new module called mod_never_expire that we’re using for immutable JS and CSS files. We include a revision in the URL for our JS and CSS, so when we push out new JS and CSS, the URL changes. This allows us to tell browsers and proxies to cache our JS and CSS for quite a while, reducing the number of HTTP requests returning clients have to make.
  • Discovered Charles last night, which is freaking awesome. I just wish it wasn’t $50 a seat. Anyone know of a fiddler-alike for OSX?
Categories
Etc

Monday the 4th

Time flies when you’re about to have a baby.

  • Code complete is coming up for beta on Friday. I’m working furiously to get DnD manipulation of the tree back in before then. Just about done, just have to get the drop working and reporting back to the server.
  • Checked in a mod to the build system to include the svn revision in a config file that gets pulled in by Clearsilver to build the URL to our JavaScript and CSS files. This lets us set the Expires headers to far far in the fugure, which helps reduce the amount of stuff returning clients have to download. It was my first big foray into mucking with the SCons build system, and it took a while to figure out was going on. I never did find a good way to to debug things past using lots of print statements.
  • Wrote a handy little wrapper that provides onMouseEnter / onMouseLeave semantics for non-IE browsers.
    function connectMouseLeave(node, obj, func) {
      // summary: Hook up an event handler that fires
      //          when the mouse leaves the node.
      //          Ignores out events for children of the node
      if(dojo.isFunction(obj)) {
        func = obj;
        obj = null;
      }
      if(dojo.isIE) {
        // IE provides this natively
        return dojo.connect(node, "onmouseleave", obj, func);
      }
      var listener = dojo.hitch(obj, func);
      var f = makeOverOutHandler(listener);
      return dojo.connect(node, "onmouseout", f);
    }
    
    function connectMouseEnter(node, obj, func) {
      // summary: Hook up an event handler that fires
      //          when the mouse enters the node.
      //          Ignores over events for children of the node
      if(dojo.isFunction(obj)) {
        func = obj;
        obj = null;
      }
      if(dojo.isIE) {
        // IE provides this natively
        return dojo.connect(node, "onmouseenter", obj, func);
      }
      var listener = dojo.hitch(obj, func);
      var f = makeOverOutHandler(listener);
      return dojo.connect(node, "onmouseover", f);
    }
    
    function makeOverOutHandler(f) {
      // we're making the function here to avoid building
      // a closure that includes the dom node passed into
      // the connect functions
      return function(evt) {
        var n = evt.relatedTarget;
        var c = evt.currentTarget;
        // walk up the relatedTarget and see if it has 
        // the currentTarget as a parent
        // this relies on the fact that dojo normalizes the
        // event object to include the proper currentTarget
        // and relatedTarget for mouseover/out events
        while(n && n !== c) {
          n = n.parentNode;
        }
        // if the relatedTarget doesn't have the currentTarget
        // as a parent, we've stepped into or out of the
        // currentTarget, so call the event handler
        if(!n) f(evt);
      };
    }
  • Mandy had an ultrasound today and we found out the little guy has feet 9cm long! He’s still measuring a bit large… Big meeting with the doc tomorrow to figure out what we’re doing.
Categories
Etc

Tuesday the 29th

So simple, yet so profound.

  • Three day weekends are really nice. Spent most of it cleaning up the apartment in preparation of the little guy and lying in bed reading David Eddings’ Belgariad and Malloreon series. Read The Belgariad Vol. 1 and Vol. 2. Now I’m working my way through The Malloreon Vol. 1 and Vol. 2. I never got around to reading The Malloreon before, so it’s been a fun read. I can usually get through one of the novels in about six hours or so. The novels employ a few heavily repeated catch phrases for each character and situation.
  • I’ve started logging my listening habits to last.fm.
  • Finally got around to purchasing some Johnny Cash after saying I needed to do it about 1000 times. Picked up The Essential Johnny Cash and At Folsom Prison.
  • Kept up to date with Dojo for our trunk and pulled dijit core into our build.
  • Still working on DnD for the tree.
    • Added a drag threshold, so a drag only starts when you’ve moved the pointer 5px or more.
    • Actually have drag events starting now, just need to start working on calculating drop targets, update the avatar, and actually do the drop.
  • Michael Reichmann released the California segment of the latest Luminous Landscape Video Journal. I was very happy to see him move to digital distribution of the LLVJ, and to see the corresponding price drop. The series is definitely worth a look if you like photography. The California segment just reminded me how much I loved the redwood forests and the Big Sur / Mendocino area… Got to get back there soon.
  • An underage girl who has an account on flickr just found out that a self-portrait she took back when she was 14 is now being used on the cover of a porn DVD. Raising kids in the time of the intertubes is going to be interesting.
  • I’d always wondered what would happen if you tried to buy a ton of Sudafed now that they’re all paranoid about it. Apparently someone decided to find out.
Categories
Etc

Monday the 21st

My favorite thing to do is giggle so much my horn lights up.

  • Today’s quote taken from Paul’s future birthday present.
  • Figured out today that the DnD framework wants to own rendering nodes and selection for my widget. Time to refactor. I really need to figure out what it is I’m expecting DnD to provide and get it to provide that. Ideas:
    • Detect that a drag is starting.
    • Make, move and destroy the avatar
    • Detect what node the drag is currently over
    • Detect if the current spot is a valid drop place
    • Signal a drop and let me handle it
  • I really want to start fixing our content display. It’s currently atrocious. Also want to start working on some alternate skins.
Categories
Etc

Friday the 19th

Fridaymus Prime!

  •  Cat and Girl sums it up nicely.
  • DnD is killing me softly. Working with Eugene to iron out some kinks in the Dojo DnD bits.
  • ICANHASCHEEZBURGER is also killing, but in a very different way.