Saturday, May 2, 2015

Vermont Cabin upkeep

So this was made using Prezi, a really cool web based presentation tool. Our family has a small summer cabin in southern VT. I'm fond of pointing out that it is so remote that the US postal service won't deliver to us, yet we can now get high speed. Using Prezi, I made a presentation showing some of the work we've had done on the almost 100 year old cabin.


Hit the right arrow button to go thru the presentation. You can also hit "autoplay" after hitting "more" to have it automagically step thru. Here's where the Autoplay is located:


And here's the actual presentation:




Megan's site

Monday, May 6, 2013

Big Bend and Carlsbad

I recently escaped for a week and we went hiking in Big Bend National Park in west Texas. We had an awesome time, Big Bend was in full springtime bloom, and we did some amazing hikes.  I've probably been to Big Bend 9 or 10 times over the last twenty years, and I never get tired of it.

If you want to do more pictures, I have about 45-50 of my shots here: Picasa Web Album: BB&Carlsbad

We hiked the Window the first day. We started at the Chisos basin lodge, and actually hiked out of the basin (there is a side trail close to the end of the hike that lets you sneak out on the outside of the basin along a ledge):


The next day we did the Chimney trail..., the cactus blooms were amazing:


And the Ocotillo was also ablaze:

We also did Lost Mines trail. Such a nice hike, not too hard, but amazing views:

The next day we did a new hike, Red Rock Canyon. It is at the bottom of the Blue Creek trail by the Homer Wilson Ranch, which we were also able to check out. The hiking was a bit sloggy, hiking through gravel beds is slow... but the rock landscape was really interesting and unique:


After fueling up on Terlingua chili the night before at Starlight Theater, we tackled the big hike.... South Rim. 13 miles, and 2000 foot elevation change. Challenging hike that takes you up to a 2500 foot cliff overlooking the desert into Mexico.  Exhilarating. My only complaint was not having a polarizing filter for my camera. Guess that means we'll just need to go back and do it again. :) 


 We also stopped in Carlsbad. Wow, that was fun, it was like being dropped on another planet and wandering around a bizarre landscape:

An extremely good trip, and reminded both Sarah and I of just how much we loooove Big Bend.


Saturday, December 1, 2012

Root Cause Analysis: cheap plastic bit

We recently started having trouble with our 10 yr old fridge, it wasn't keeping the fridge side at the right temp. The repair man said $300+ to repair it. That led us to toying with getting a nice shiny new fridge. We looked and looked and looked, and couldn't quite line up the exact features we wanted.

So.... Suzy ordered a replacement part from Amazon ($50), and spent a chunk of this morning replacing the busted air diffuser.

Afterwards, the engineer in me had to dissect the broken part, and it looks like a tiny cheap flimsy scrap of plastic .




That cheap scrap of plastic in the middle of the photo was almost my justification for spending $2k on a nice new shiny fridge.



Monday, February 13, 2012

Etiquette for Social Media

Later this week I'm participating in a panel discussion at IBM on social media, and using it for business. Since I might not (read: might forget) to bring it up, I wanted to make a list of some of the guidelines I try to follow. Note that I said guidelines, and not rules.


  1. I try to avoid spamming people with tweets or facebook updates.  I try to recognize that what color shirt I decided to wear today probably isn't something my friends and followers are all that interested in. hint to parents: play-by-play at your kids softball game falls into this category.
  2. I don't tweet anything I wouldn't want my mother to see.  
  3. When tempted to post something rude or crass, I try to imagine what a prospective employer might think of it. I've heard of interviewers actually putting interviewee's on the spot with "log into FB, and show me your profile page".  
  4. I do not share that I am on flight 123 leaving Austin. I do not checkin or typically share the geolocation of my tweets or blog entries..  Please see http://pleaserobme.com/why for more details.  
  5.  When I do need to bend the no-geo rule, I use facebook.  It's less open ended than having anyone be able to see your tweets.  For instance, last summer when we were caught in the middle of hurricane Irene in Vermont, I used FB to let folks know I was ok.
  6. Check FB privacy rules regularly. Zuckerboy is tricky
  7. I try to tweet once a day. It ends up being a lot less than that. 
  8. I try to blog once a month (also ends up being less).  Of course blogs follow the don't blog what you wouldn't want Mom to see rule.
  9. Every so often, I try to do tweets/status updates that my non geek friends will comprehend.  I've actually had multiple friends in facebook complain about how geeky my updates are. 

A friend linked to this in facebook recently, I especially like G+.


Tuesday, January 10, 2012

IBM_DB2 PHP extension on Mac with MAMP


I recently worked through all the pain and suffering to get the ibm_db2 php extension working on MAMP on my Mac running Snow Leopard. It wasn't easy, and if you are struggling through the same thing, I wrote this post for you. My next step now that I have the php extension working is to see if it will work with Symfony2, since IBM DB2 support was added to the base of Doctrine2.

The only DB2 for Mac is the beta for 9.5. I didn't want the full blown db2 installed on my OSX machine, I only wanted the headers and libraries required to build the php extension. There was a separate 'Remote Tools' download that contained client type db2 stuff, including headers and libs. It's on the same download page as the full package after you log in with your free IBM id.

After installing (as non root user) in a path without spaces, I tried the straightforward pecl install. Note the path info, otherwise it will try to build the extension for the php that ships with OSX (/usr/bin/php) instead of the one in the MAMP install directory:



The next issue was caused by a crufty pear.conf:


So removing pear.conf fixed it.


The next issue was that the MAMP default install no longer includes the php source, so it complained about not finding php.h when I did the pecl install. I resolved this by downloading the MAMP source code and grabbing the php 5.3.6 source bundle. Since it was complaining about not finding /Applications/MAMP/bin/php/php5.3.6/include/php/main/php.h , I made an include directory under php5.3.6, and untared the php source there, and renamed the directory to match what pecl was seeking.

The extension then built, and was in the right spot, and I added  "extension=ibm_db2.so" to the MAMP php.ini (make sure you find the right php.ini).

I then coded up a test php file to try the db2_connect command. No love yet, the ibm_db2 extension wasn't even loading properly. This error popped up in my MAMP php error log:


That last line and a fair amount of googling indicated that it was probably a 32 vs 64 bit thing. I confirmed it by using 'file' on both php executable, and on the ibm_db2 library i had just built:



So I needed to rebuild the ibm_db2 extension for 32 bit by hand, since pecl was doing 64 bit. In retrospec, maybe the fact that my sqllib/lib is actually a symbolic link to lib64 is why this happened, and maybe there was some way to make pecl do it's thing 32 bit. But I didn't realize this til later, so I rebuilt by hand.

I created a new directory for the pecl extension (location of dir not important), and downloaded the pecl extension, set some compiler flags, and did the build. Note the specification of the --with-IBM_DB2 pointing to my DB2 client directory install:


At this point the ibm_db2 extension loaded (yay!). I now wanted to try my simple test of connecting again. When I tried, the browser gave me a 404. Nothing in the http log or php error log. But I found this in /var/syslog/system.log:


Opening that showed that it could not resolve  _SQLAllocHandle. At this point I realized that  my sqllib/lib is actually a symbolic link to lib64. I noticed that even with all my fancy stuff in the compile flag step above, the Makefile still was pointing to sqllib/lib64 (verified the so was mucked up by doing: otool -L ibm_db2.so ). At this point I coulld have changed the symbolic link, but instead I changed one line in the Makefile, and repeated the make steps.
In Makefile, I changed this line to be lib32 in both spots:


One other change I made, that I wasn't sure was needed was putting this in my php.ini. Since MAMP wasn't sourcing the db2profile in /Users/suzyq/sqllib, I added this:


That got me to a ibm_db2 php extension that loaded, and eventually I got the right incantation of db2_connect(), and connected. Whew!


The simple connect.php test....




Tuesday, December 6, 2011

Waiting is good for you

Dear future self,  Please don't melt down if your Nexus S phone freaks out with a dead battery and refuses to charge. If this happens, please remove the battery, wait 5 minutes, and put the battery back in.  It will then decide all on its own to recharge just like to uber cool phone that you've enjoyed so much. kthxbai, me. 

I recently went a while without charging my Nexus S (a week as a juror on a really disturbing jury case, but i'll save that for another time). My phone's battery was very low. When I turned it on, it let me unlock it, then it threw all of its toys out of the pram, and pitched a fit. The screen went completely black, and no combination of plugging it in to the USB port or to its wall charger would convince it to charge. I even popped the battery out and put it back in. Nuthin. Finally in an act of desperation, I removed the battery, and let it sit, sans battery, for 5 minutes. I put the battery back in, and Shazam! It happily started charging.

So sometimes waiting does help. Now if I could just spin that into procrastinating being good, i'd be set!

UPDATE: Another phone that I have started refusing to charge, so I plugged it into the wall charger, and also read that you have to wait for it to reach 10% charge b4 it will boot. See? Another indication that waiting is good.

Thursday, October 13, 2011

WebGL hits prime time

Congrats to the Google Maps team on deploying your WebGL enabled version of desktop Google Maps. This is a pretty cool use of WebGL. WebGL lets you have hardware accelerated 3D in your browser without requiring installation of an additional browser plugin. Pretty cool, huh?  WebGL is basically a javascript interface to OpenGL ES, which lets your javascript have direct access to your graphics hardware.  It's still javascript, so you have the expected performance hit of running javascript, but it can work well for some applications (like Google Maps!).

If you aren't familiar with OpenGL ES, it's the open 3D standard done by the Khronos Standards group, and it's also the 3D api of choice for iOS and Android. Sweetness.

This is also a great milestone for the WebGL community to see their standard being used by Google Maps.

I played with it in Chrome, and it functions fairly well. I like being able to rotate around things, and zooming down to street level. Given the power of WebGL, the Google Maps team has a fun time ahead of them as they code in new features.

I'm keeping an eye on the WebGL middleware communities. Javascript programmers aren't going to want to code directly in WebGL, so there are lots of middleware sprouting up everywhere.

Fun!

Sunday, August 14, 2011

Yearly religious experience

Today was my yearly religious experience: Beethoven's Choral Fantasy at the Marlboro Music Festival. For the last performance every year, the school does the same piece. It's really nice because it is done in such a small venue (most performances are a few musicians ), and the performance hall at Marlboro college is really built for music, just about every interior surface is done in nice thick wood. This makes for a really great setting. Because the piece requires such a large number of people, some of the local musicians participate alongside the students, and the chorus is mostly local amateurs. Since the piece also requires a solo pianist, they have to wedge a grand piano in the middle of the stage. It gets pretty crowded up there.

I think one of the other things I like at Marlboro is the casual atmosphere. The students are focused on their music, and plenty of folks in the audience are wearing jeans. Great classical live music that I don't have to get dressed up for is a total win...



Monday, June 13, 2011

Google Maps 5.0 when traveling off the grid

So we recently completed an amazing trip to Greece and Turkey. Hopefully I'll find the time to blog on that sometime.

One thing that made things less stressful on this trip was the use of the new caching feature of Google Maps 5.0. As I reported earlier, it isn't perfect yet. The biggest issue is it doesn't cache points of interest like expected.


But it was surprising useful even in it's current state of only caching map tiles. Seeing your location as a dot on a nicely annotated google map when in a foreign country while trying to use public transportation was really really nice. We'd be on a bus, and I could whip it out and it would help us figure out which stop to jump off on.

Holding a mobile device up is also much less conspicuous than flapping around with a guide book always out, or god forbid, a big paper map.

And I was able to do it all without having a working 3G connection. Nice.



Wednesday, June 8, 2011

Shrinkage

Yesterday I got a new USB external hard drive from newegg. I was struck by how much this technology has improved in the last few years. I dug out my very first external drive that I think I got in 2006. It had a noisy cooling fan and required a big external power supply.

So I put them side by side.



They cost roughly the same, the new one holds 1T and if I recall the old one is around 100GB. The old one is the size of a large book, the new one is the size of my passport, except it's thicker.