Two Years Ago

Two years ago I can barely remember what I was doing. At work I was working on SecurityGateway (if I recall correctly) and we had a deadline to make. Abby was homeschooling for kindergarten and Evie was just cute and toddling… More soon (never put tomorrow)

A Couple Instrumental Tracks

I recorded a few instrumental tracks that I made for a documentary on my grandpa Peterman.  While they’re for the documentary, I thought I’d share them here:

1) Instrumental Jam.  This tune is one I’ve been playing to myself for years but never performed for anyone but family.

2) When I Survey.  This is a traditional song arranged by myself and is roughly based on the way I have played it at church for background music during communion.

A Year Ago

A year ago I had just wrapped up a major software release for the biggest client I had (and firmer employer). Abby had just turned 6 and the first grade was coming upon her, but she didn’t know it because Her mom was going to try to call me while I was busy in Las Vegas.

We had to figure out if Abby was going to go to charter school (which we had signed her up for) or stay with home schooling. It was a big decision and one we didn’t take lightly. First grade at Vanguard charter school turned out to go really well for her… More tomorrow.

Why Your JavaScript Should be Compressed with the YUI Compressor

Yesterday I listened to Scott Hanselman and Jeff Atwood discussing Website Optimization on Hanselminutes and Scott asked Jeff why external JavaScript files should be compressed for speed and performance of web sites and web applications.  One thing that Jeff didn’t answer with that I think is worth noting is that the YUI compressor that Jeff uses – and which I use – happens to have the Java-based Rhino JavaScript engine in it.  The YUI compressor basically reads in your JavaScript file, parses it with a JavaScript engine and then outputs optimized code that will allow (almost?) all JavaScript engines in different browsers to parse and execute your JavaScript code faster than it would have had you not run the code through the YUI compressor.  Here are a few tidbits explained:

  • The YUI compressor doesn’t require you to pre-validate your code with tools like JSlint, which are nice, but not very friendly for beginner or pressed-for-time developers.  The JSlint site puts it well: JSLint will hurt your feelings.  I can deal with some hurt feelings myself, but managing browser quirks like IE’s inconsistent handling of ‘==’ verses ‘===’ means JSLint isn’t as handy as it could be for large files with lots of comparison operations.  I like well written code.  No.  I love well written code.  Not all code shoppes have time for syntax evaluation – if it works they’ll ship it – and YUI Compressor works great for this situation.  You can use the ‘-v’ parameter when executing the compressor at the command prompt to have it output any hints or suggestions for better syntax or potential errors.
  • The compressor optimizes functions and classes by managing variable instantiation and reducing the number of places in the code where this sort of memory allocation has to happen so that the beginning of the function contains all variable instantiations and your code can then execute without extra overhead for inline instantiations (especially if someone made the bonehead move of instantiating a variable in a loop!).
  • The compressor creates files that have no comments in them so JavaScript parsers  can parse a file that has been parsed and then output by a parser in parser optimized form.  The output code has a whole lot less fluff and generally looks like what a parser would hope a file would look like.  To make a comparison that would be like me taking my thoughts, putting them into a brain just like yours, having that brain output the words perfectly so that you could read them and understand them without any questions and the fewest number of possible words.  Its a JavaScript communications breakthrough.
  • The YUI Compressor can also be integrated with a build script so that your build engine (such as Ant or Nant) could automate the creation of the compressed or optimized files.

I have personally found the YUI Compressor to be invaluable and it has helped improve the loading time of the web applications that I work on substantially.  Being able to tell users (and the sales channel) that the slower loading web application has been improved to load 27% less data (while adding features) almost two years ago was a major win.  Watching their faces as I demonstrated how much faster the code was was icing on the cake.

Does everyone need to use the YUI compressor for every project?  Maybe not.  But I believe that it is probably the best tool available at this time to help professional web application developers to squeeze out that extra bit of performance without hand-tweaking code that could otherwise be thousands of lines of code to evaluate.  I have more performance optimizations I will find, I’m sure, but using YUI Compressor is a no-brainer and I hope you’ll find it gives you peace of mind and mind blowing performance improvements when it comes to file download sizes and speeds.

TMI: Where’s My Filter

Jessica is in surgery right now. Or is probably in surgery. They kicked me out of the pre-op room. My brain is full of inappropriate humor right now. I know that’s an odd response to my wife being in surgery but I find that in emotionally tough situations I’m drawn to humor because as I’ve said before, “If we’re all laughing we’re all OK.”. The problem is that we’re not ok, but we are laughing.

There’s a lot of stuff that is funny in the hospital. People, situations, protocols, policies, consent forms for pretty much any person to talk to you. Consent to address your spouse (I was right there!) in case of emergency. Consent.

I have read of people having sharpie markers writing, “this leg!” on the appropriate leg for surgeries. Given the internal nature of Jessica’s surgery I’m glad no sharpie markers were present. Unless of course they should have written, “neither leg,” on her. Since her doctor doesn’t do leg surgeries I’m feeling pretty confident about the scheduled surgery not leaving her a double amputee.

There are a few good things about this surgery: I’ve gotten to spend some quiet time with my wife, I’ve made her smile, and when this is all said and done we’ll be able to move on past the miscarriage. The prayers and encouragement from folks has been a tremendous blessing. We could open a lemonade stand with the sweetness that has come along with the tough time. Yes, that’s a lame joke, but I mean the sentiment behind it 🙂

Thanks, everyone for being so supportive, you rock the casbah!

The Long Road Trip Part II: Driving Can Be Frustrating

This blog post is the second of four parts. The first part covered the preparation for the trip and the drive to Carson City, NV as well as the short stay in NV. This second part includes the drive from Carson City to Berkeley, CA, San Fransisco, Santa Rosa, Philo, and Ukiah, CA for the weekend of my cousin’s wedding and the several days after that. The third post will contain the trip from Philo, CA to Newport, OR, Seaside, OR and then to Kalama, WA. The fourth post will contain information about the stay in Kalama with my in-laws and the drive home to Aurora, CO.

One of the major reasons for this road trip was to attend my cousin’s wedding. My cousin Kim and I grew up spending more time together in the summers when I would go visit my grandparents property in Northern California. Juxtaposed next to their property was another piece of property that my dad had built a house on, but then following the incomplete house building my uncle took over the project and so my cousin Kim was also there playing, participating in Vacation Bible School, and generally being a good girl cousin. Turns out girl cousins don’t stay girl cousins and eventually turn into women. Women who get married to men.

After arriving in Carson City, Nevada and staying a day there we needed to continue heading west to make it to the wedding in Santa Rosa, California on Sunday. Instead of trying to drive upwards of 7 hours to get to Santa Rosa the day of the wedding we drove up the Saturday before by way of Berkeley and San Fransisco, California. We had two reasons to take this longer, waterier route: Sean Franzen and the Exploratorium. My friend Sean has been my friend since fourth grade when we were in a community play together. Once getting into college we went our separate ways but we’ve stayed off and on in contact and I was thrilled to get to introduce him to Evie and let Abby see him as a non-infant 🙂 It was generally good to just see him and be able to chat, give him a hug or two and spend time with a friend who has often been a great encouragement. Sean picked up Pizza at a place in Berkeley called the Cheese Board. It’s vegetarian, it’s only one flavor per day, and there’s always a line. It was delicious pizza and I hope to sample some of their other flavors/varieties in the future. After he picked up the pizza Sean directed us to meet him down the street at a park where we ate some, laughed some, walked some, and generally enjoyed some fellowship. Sean is married but his wife was unable to make it due to some prior arrangements. I’m hoping in the future we’ll be able to meet and enjoy more pizza and time together.

From Berkeley we headed to San Fransisco where we intended to go to the Exploratorium. Its a great place to go and have fun as its a large children’s museum. Not as big as Indianapolis’ children’s museum, but still fun and well funded. The problem was getting onto the bay bridge which had to have been one of the more frustrating parts of the drive (thus the title of this post). We sat in a long line of cars trying to get through a handful of booths to pay the toll. We sat for about 30 minutes. I understand that’s not a long time compared to some places or days, but for a guy who works in his basement with a 0 minute commute, it feels long. We then went to the Exploratorium where the girls had some fun, and the adults did, too.

After leaving the Exploratorium we headed across the Golden Gate Bridge and drove north to Santa Rosa to my Uncle Jim and Aunt Jane’s house. We stayed with them for two nights and got to catch up on various things. My cousin Greg, was in town from college to it was good to catch up with him. He is a football player and so his size was a bit daunting for our little girls 🙂 Evie snuggled up to my uncle Jim and warmed up to him immediately. That was super cute, but I’m missing pictures of it, sorry.

Sunday was one of the primary reasons we were in California: my cousin Kim’s wedding. She and Jorge, her husband (now) were married at a golf course in Santa Rosa and the wedding was beautiful. Great pictures were a breeze to take (thought a little bleached out in a few instances because the beating sun really can whiten that which is not white, but is reflective). It was good to catch up with various folks there, too. I have created a set on flickr.com.

Monday we headed even further north to Philo, California. My grandparents and my Uncle Eric and Aunt Wilette (and cousins Hannah and Heidi) live there. I grew up spending summers and holidays on the farm there (and for a few years I lived on the farm as a young kid). I wanted my two daughters to get to visit the place – and frankly it was there that I knew I loved Jessica and I wanted to marry her. Yeah, I’m a sap like that 🙂

We had a great evening party there and I got to grill some food for about 45 people as well as so many others contributing some brilliant Hawaiian/Asian cuisine and American food. Oh, and Booneville/Anderson Valley beer. The day was hot, but the fun was hotter. Lots of food, fun, songs, family and friends.

Tuesday was a different day, as posted before, we went to Ukiah’s Adventist Hospital Emergency Room. It was quiet and not very busy. It was the place where we found out Jessica had had a missed miscarriage. You can read about Tuesday on the miscarriage post. That night, despite having had an intense day, I tried to help Abby, Evie, Hannah and Heidi build a tree fort. Due to old wood, rusty nails and a pretty low amount of drive we didn’t really build it. We had a good time chatting with various folks into the late night, but eventually I had to go to bed because early the next morning we would head up the Pacific coast into Oregon and hit Newport late into the foggy, coastal evening.
Hard to Focus on the Road