Archive

Archive for October, 2009

Windows 7

October 29th, 2009
I've been a "PC" user since I was in grade school. Well, technically, the first computer I owned was a hand-me-down Atari ST that had a broken printer and a flight simulator. That almost makes me a "Mac" user since it was based on the same hardware (Motorola 68K cpu). All of my (3) friends had computers, all PC's running DOS, and their primary motivation was to play all of the cool adventure games from Sierra Entertainment. So, when I had a very unsuccessful time getting Conquests of Camelot to run on my Atari ST I was pretty motivated to join my geeky buddies. Oh the months of begging and pleading that followed, fun times indeed. Nostalgia aside, I've been using a computer primarily for games (only around 98 did I start running other OS's) for a large portion of my life. I started with MS-DOS 5.0 on a Packard Bell 386SX 20Mhz with 1MB shared memory:
The one I got was the floor model, and it didn't even POST...

The one I got was the floor model, and it didn't even POST...

All the while, I've never actually paid for an operating system. I bought a copy of SuSE Linux once, and a copy of FreeBSD at CompUSA years ago. Those were only $10 - $20 at most. Commercial OS's have always been pretty pricey from my point of view, and they have only gotten more expensive over the years. What typically happens is I find a way to get the OS for free:
  • Vista - Free, I took a survey and ran some monitoring software for 3 months
  • XP - Free, I got an academic license from DVC
  • Windows 2000 Pro - Free, I got a copy when I worked at Great Entertaining.com. So I could "work from home"...
  • Windows 98SE - "Free"... a friend of a friend brought a few copies back from Taiwan.
Every OS before that was either OEM (like from a Packard Bell), or a friend let me copy it... there, I admit it. I used my friends copy of MS-DOS 6.20, Windows 3.11 as well. To be fair, it was so un-usable on my 486 that I had to remove it. It also took up a large portion of my 100MB Dae Woo hard drive. So what has changed? Why did I actually BUY a copy??? It is not because of features or my love for Microsoft. It is for three reasons:
  • I have a copy of Vista Ultimate (64bit) that I got for FREE by taking a survey and running software for 3 months.
  • I have a Directx10 GFX card and a decent catalog of DX10 games now.
  • Getting a free and legitimate copy has become very difficult now.
With that, I was able to purchase the Upgrade edition which revoked my Vista product ID. I never used Vista because I disliked it, and it wouldn't boot after its first round of updates. The install of Windows 7 was much nicer, and a lot quicker. I do enjoy its substantially faster boot times, even compared to XP, and it is really nice not to have to fetch drivers for all my hardware. Even the all-in-one canon printer we just got, it worked right off the bat which is normally unheard of in the Windows world. There are a few things I wish Windows would do; mostly things that I enjoy from other coolers OS's like FreeBSD and Linux:
  • Virtual CD/DVD devices - I still have to use a 3rd party tool to mount ISO's
  • Mount Points - I HATE referring to device handles like 'C:' and 'D:', it reminds me of VMS
  • Support for the mouse wheel in everything. The Gnome environment excels at this. It is such a simple concept that I'm really amazed other OS's don't do it
  • Built-in SSH client - This is knit-picking, but it would be awesome to have
  • Cool GNU tools like md5sum, gunzip, tar, lynx, etc...
I can still accomplish all of the above with toolsets like gnuwin32, putty, etc.. it would have been nice not to rely on that. Nice trip down memory lane, and how about that timeline huh? That took me a while to figure out, it is called SIMILE Timeline, and they had a nice example in their documentation. It's fun to find new ways to represent information. [inline] [/inline]

mike Geekyness , ,

Random Pictures

October 11th, 2009
I saw one of my Wushu Buddies picture on facebook (James). The picture is him as an angst filled teenager, with a closely shaved head and a goatee, playing an electric guitar. I sported a similar look, and I play as well, so that prompted me to dig through some old photos. I only have one picture of me during that time (I never owned a camera until 2000):
Glenn, John and Me

Glenn, John and Me

Then I realized, its not just James and I that look alike, we ALL looked alike. What a bunch of white boys :) In that photo box I found a bunch of other pictures I have. I'm not sure why I have a lot of them, they seem like the kind of pictures my Parents should have. Not that I'm going to give them up, I will do one better though and put them online for everyone to enjoy. The originals will be on my main website's photo gallery.

Me, Raz and Melissa on Stamm Drive

Me, Raz and Melissa on Stamm Drive

My Dad and Max

My Dad and Max

Big Mike and Raz-mataz

Big Mike and Raz-mataz

My Dad and Me

My Dad and Me

Grandpa Hap and Me

Grandpa Hap and Me

You know where to find the rest, hope everyone enjoys these!

mike Family

Sauna

October 7th, 2009
sauna_kv_poster_eng_web I like to watch horror movies from other countries, and not just Asia (the entire J-Horror category is getting absurd). They tend to have different dogma's in them, or cultural references that I've never heard of. This is a Swedish movie (Yay subtitles!!), and it takes place after The Great Norther War (1780?). Sweden and Russia are drawing new territory lines post-war, and a group from each respective country has to survey the land and get any town or village on the border to sign an agreement about the new lines. This is an abstract horror movie, and I thought it was really awesome. It was pretty creepy, almost no gore of jumpy scary stuff. It had a lot of atmosphere, good dialog (from what I could tell, the subtitles were a little too literal), and very good pacing. There were a lot of allusions and symbols, it is the kind of movie that if you watch a couple of times you'll continue to get more out of it. If you like horror, and not gore or slasher horror, this is well worth watching.

mike Movies

I Sell The Dead

October 6th, 2009
i-sell-the-dead-poster It's October, and that means I naturally start to gravitate towards horror movies. Ahh, it feels so good :) The smell of a smoldering chimney is in the air, or someone is burning evidence... I Sell The Dead is about two grave robbers, one of the two is eventually arrested and tried for murder. He tells his story to a priest, hours before his planned execution. Oh, its not as serious as it sounds, its pretty funny. The movie is really low budget, but it has a great cast who must have either worked for free, or well, were the result of the rest of the films cheap look. It even has Angus Scrimm, or "The Tall Man" from the Phantasm series. Has that guy ever NOT looked creepy? I'm going to have to get a copy for my Mom, this is right up her alley.

mike Movies

X-Men Origins: Wolverine

October 5th, 2009

x_men_origins_wolverine I was conflicted about posting a little blurb about this movie. I wanted to actually post some other movies, good ones, and I felt it was only fair to also post a little something about this one. If I don't like a movie, I usually just don't bother with a post. I think this is the first movie in which I was so disappointed with, I had to at least get that out there before I posted anything else. So yeah, this movie was TERRIBLE. Hugh Jackman is a good actor, and I liked the first two X-Men movies. Also, when I was into comic books, I had a decent wolverine collection. So, as a kid, I had read a bit on the various back stories of Wolverine. They were all really cool (okay, I was about 10, so cool for a 10 year old), and it was just lame how it ended up on the screen. What was really terrible is the lack of any character development, so all the decisions made in the movie either lack any motivation at all, or have so lack-luster logic behind its laughable. The movie starts off with a couple really awful plot devices. First, Wolverine kills his father, runs off with his brother, Sabertooth, and minutes after they escape they decide "Hey, its cool, he lied to us... now, lets go fight in some wars and kill a crapton of people!". So, they fight in every major war until Vietnam when lo and behold, Wolverine decides he's killed enough... Really? You slaughter how many people and then when a ranking officer threatens the life of something else you decide then it was all wrong and become a lumberjack... I couldn't suspend my disbelieve, and I watch Zombie movies. Maybe I have been spoiled from the last decade of really good superhero movies, so it is just natural that eventually, this genera returns to its roots as a cheesy B movie. Seriously, don't bother with this movie, you will feel your brain dying.

mike Movies

PuppetCamp09

October 4th, 2009
This was a very cool conference. I picked up a lot of useful information on both the open source tool, Puppet, and some ideas on infrastructure. What also made this conference unique, is how honest the Puppet team and community were about the projects strength and weaknesses. Those that have deployed Puppet on a larger scale (MessageOne and Google) seemed to go through the same iterations in attempting to scale out their Puppetmaster's. From WEBrick (which is what I'm currently running Puppet with :) ), which is hated by all since its a single process/thread web server that can only handle one request at a time. To Mongrel, which you have to manage a mongrel cluster script, feed it lots of memory, and then throw an apache proxy server in front of them. Now, people are starting to settle on using Passenger/mod_rack, which is what I spent most of yesterday looking into and setting up. This allows apache to mount a rails instance, and then you don't actually have to run puppetmasterd. This still requires some decent hardware, and I'm currently running my puppetmaster on a VM with 2GB or memory, so I'll have to watch out for that. Chris, the one who introduced me to Puppet, said he still uses WEBrick for all of his DB, Tomcat, and Apache servers (I think he said something like 200 systems) and it has been working out nicely. He, like the guys at Google, also doesn't run puppet as a daemon. Anyway, the point is, we learned a lot about the project, way more than if a sales person had come to us and just told us the things puppet does well, or how it operates on paper (*cough* LANDesk *cough*). It was really awesome to talk with Andrew Pollock and Nigel Kersten from Google. See, I was a little unsure about Puppet in our environment, where we have multi-purpose servers, computer servers, and desktops that we have to manage. It seemed, at a first glance, that most of the Puppet users out there have a homogeneous environment, and Andrew (Shafer) had stressed the concept of single role servers. After talking with them, I felt a lot more comfortable pursuing Puppet across our servers and desktops. Did I mention they were super cool and friendly? We also learned a lot about the Puppet developers, which had its own interesting advantage. I have a lot of respect for what Luke Kanies has been able to do, and by the end of the conference, he showed significant mastery in what he has done, as well as some humility and admitting what he has not been able to do and why. I was a little put off the first day though, when both him and Andrew came off a little arrogant and crass. It did make me step back and think, "Is this project going to be well managed in the future with personalities like this in charge? Is their answer of 'don't do that!' tongue in cheek, or are they not supportive of a diverse environment?". In the end, I have more respect for the project than ever, and with it still being a young project, I hope they listened to some of the feedback, and I also can't wait to see where it ends up in the next year. Andrew, the Puppet Andrew, came up to us a lot during the conference, and he was fun to talk too, and he's very academic and he had a lot of abstract concepts to talk about. Also, he said this was the first conference he has arranged, and I think he did a fantastic job. Jenny had commented that this was the first conference she had lasted the entire duration, so that says a lot about the pacing and content of PuppetCamp. I felt the same way, every session was incredibly engaging, and how Andrew had setup the democratic and chaotic Open Sessions was very impressive. Lets put it this way, I even got up there and pitched a topic, which is something I would have never done. Hurray for me stepping outside of my comfort zone!

Warning: side topic!

Now that I've had the weekend to google all the cool technologies I was exposed too, I'm also reminded why I really like having a FreeBSD server at my disposal. They had talked about CouchDB, so on a whim I did a ~> cd /usr/ports /usr/ports> make search name=couchdb Port: couchdb-0.9.0_1,1 Path: /usr/ports/databases/couchdb Info: A document database server, accessible via a RESTful JSON API Maint: till@php.net B-deps: ca_root_nss-3.11.9_2 curl-7.19.6_1 erlang-lite-r13b01_6,1 gettext-0.17_1 gmake-3.81_3 icu-3.8.1_2 libiconv-1.13.1 libtool-2.2.6a nspr-4.8 perl-5.8.9_3 spidermonkey-1.7.0 R-deps: ca_root_nss-3.11.9_2 curl-7.19.6_1 erlang-lite-r13b01_6,1 gettext-0.17_1 gmake-3.81_3 icu-3.8.1_2 libiconv-1.13.1 libtool-2.2.6a nspr-4.8 perl-5.8.9_3 spidermonkey-1.7.0 WWW: http://couchdb.org/ Port: py26-simplecouchdb-0.9.26 Path: /usr/ports/databases/py-simplecouchdb Info: Simple Librairy to Allow Python Applicationto Use CouchDB Maint: wenheping@gmail.com B-deps: py26-httplib2-0.5.0 py26-py-restclient-1.3.2 py26-setuptools-0.6c9 python26-2.6.2_3 R-deps: py26-httplib2-0.5.0 py26-py-restclient-1.3.2 py26-setuptools-0.6c9 python26-2.6.2_3 WWW: http://code.google.com/p/py-simplecouchdb/ I did a 'make install', and I had a cool little couchdb up and running. What is also cool is FreeBSD likes to give you very helpful information when you install something. For example, this is what is printed out when you install the CouchDB port: ===> COMPATIBILITY NOTE: CouchDB is still pre-stable; between 0.8 and 0.9 the database format changed which breaks BC. In current trunk, the format changed again, so please double-check in case you are updating an existing installation. More info: * http://wiki.apache.org/couchdb/Breaking_changes?action=show&redirect=BreakingChanges * http://wiki.apache.org/couchdb/BreakingChangesUpdateTrunkTo0Dot9 See, isn't that helpful? Best of all, I didn't have to enable additional repositories, or fetch the src manually, and its dependencies and then figure out how to run the right configure script flags... FreeBSD makes it easy, and since it automatically uses what you already have with what is required, its an incredibly stable build. Removing it is pretty simple as well, just: > pkg_deinstall -R couchdb ---> Deinstalling 'couchdb-0.9.0_1,1' ---> Deinstalling 'erlang-lite-r13b02,1' [Updating the pkgdb in /var/db/pkg ... - 118 packages found (-1 +0) (...) done] ---> Deinstalling 'curl-7.19.6_1' [Updating the pkgdb in /var/db/pkg ... - 117 packages found (-1 +0) (...) done] ---> Deinstalling 'ca_root_nss-3.11.9_2' ---> Deinstalling 'spidermonkey-1.7.0' ---> Deinstalling 'nspr-4.8' [Updating the pkgdb in /var/db/pkg ... - 116 packages found (-1 +0) (...) done] ---> Deinstalling 'gmake-3.81_3' [Updating the pkgdb in /var/db/pkg ... - 115 packages found (-1 +0) (...) done] ---> Deinstalling 'perl-threaded-5.8.9_3' [Updating the pkgdb in /var/db/pkg ... - 114 packages found (-1 +0) (...) done] ---> Deinstalling 'gettext-0.17_1' ---> Deinstalling 'libiconv-1.13.1' ---> Deinstalling 'icu-3.8.1_2' ---> Deinstalling 'libtool-2.2.6a' ** Listing the failed packages (-:ignored / *:skipped / !:failed) ! curl-7.19.6_1 (pkg_delete failed) ! ca_root_nss-3.11.9_2 (pkg_delete failed) ! perl-threaded-5.8.9_3 (pkg_delete failed) ! gettext-0.17_1 (pkg_delete failed) ! libiconv-1.13.1 (pkg_delete failed) This does a upwards recursive dependency removal. Also, if one dependency is relied on by another, it wont get removed. Like, if Perl58 was a dependency of a package, it wouldn't be removed if perl58 is used by many other packages. This is smart. So, above, the packages that failed to deinstall where ones that are required dependencies of other installed packages. Speaking of package management; have you ever installed something that ended up having a few dozen dependencies, then you want to uninstall that package with a "rpm -e cba8", or something equivalent, but what about all the other cruft that came along with it? You would have to keep track of each dependency, and specify all of them and hope you don't break another program. FreeBSD has a few tools to do this, one in particular, portmaster can remove all ports that were once a dependency but no longer used: > portmaster -s Information for neon28-0.28.4: Comment: An HTTP and WebDAV client library for Unix systems ===>>> neon28-0.28.4 is no longer depended on, delete? [n] y ===>>> Delete old and new distfiles for www/neon28 without prompting? [n] y ===>>> Running pkg_delete -f neon28-0.28.4 Information for rubygem-actionwebservice-1.2.6: ... I ended up removing 4 packages that were no longer used. CentOS and RHEL are the larger Puppet consumers, I'm still a big proponent for FreeBSD, and at work, it has allowed me to quickly build an Apache + Puppet + RubyPassenger/mod_rack stack with the minimal dependencies installed. So, the puppet server is still pretty lean, which means updates are smaller and faster. It still surprises me that its relatively unknown, even though Netcraft always has it listed in the top domains with the best uptime and consistently growing over the years. Why do I feel like an AmigaOS fan sometimes? Hmm, it is sort of weird that this turned into a FreeBSD ports management entry :) Okay, final word: PuppetCamp09 was Freaking awesome. There were a lot of smart developers and sysadmins there. We even got a very cool git howto, which I found useful. It was very diverse, which is strange for a conference based on one project in particular.

mike Geekyness , , , , ,

Rose Peak Hike – Or How I Was Destroyed

October 3rd, 2009
The trail from Del Valle park to Rose Peak, the one we took, is about 21 miles round trip. 10 mikes up, 10 back, easy peasy right? I went with Jenny (and Velimir) and the hiking group she goes with, the Society of Outdoor Cardinals, lead by "V". I went with Jenny and "V" in January on a 14 mile hike up Mount Diablo. That trip was a good deal of fun, and I didn't die so I naturally assumed that a 21 mile hike would be difficult, but not impossible... The weather could have been better, it was supposed to be around 102, so I brought plenty of water (6L) and the first half of the trip was good. I was powering up the steep incline without a problem, and it wasn't until right before lunch that I started to feel the convulsion of my leg muscles. I've had cramps here and there, usually after a strenuous class at Wushu West, but I can deal with it. However, while we sat down for lunch, I noticed (and even joked about it) my calf muscles were twitching. It was like they were dancing to some unknown rhythm. "V" said it was because I was low on salt ( and then he told me that every muscle contraction required both Potassium and Salt), and the simple evidence of my salt encrusted backpack was proof enough that I needed to do something. So, I had what I felt to be a salty lunch, and then got back on the trail for the last 3 miles to Rose Peak. That last stretch of the trail was very intense for me, and soon lead up to a series of the most painful moments in my life. Jenny, Velimir and I were sticking together, and maybe a mile in I wasn't feeling so hot. I had to rest on a log because my right foot was twisted outwards to the far right, because my shin muscle was completely contracted from a cramp. This was uncomfortable, but still tolerable. I really hated holding them up, so I did my best to flex it out and get back on my feet. I always feel like I can tolerate my own pain pretty well, and I'd rather do that than feel like I'm being a nuisance to everyone else by resting so much. Resting is for sissies! I don't know how much further I had lasted, maybe another mile or so. My shins, calves, quads, and ham strings decided they would all get in on the cramping game, and they seized up all at once. I think I pointed out to Jenny that my quads were hard as a rock. I said this between my teeth though, as the pain was like nothing I have every felt before, and as much as I try to keep my cool, I did make some awful hissing and breathing sounds. I felt that standing was easier, for all but a second, and then I sort of plopped down, hopped up again because that didn't feel any better, then sat down again. The thing was, when I had my legs straight, my quads would cramp up. If I bent my knees at all, my calves would join in, if I tried really anything, both legs would take turns locking up. While I rested yet again, Jenny and Velimir offered my food, water, and it was unfortunate that I could hardly think or talk clearly due to the pain. What was cool, is two horses and three cows came around the corner and came right up to us. I've grown up around horses, so while they are not new to me, its very unnerving to have them roaming free without an owner.I also though, if anything happened, like they got spooked, I was in no shape to get out of the way. I tried to envision what it would be like to get trampled to death in my current state, and I actually thought that would be better :) After some more time had passed, and I ate some salty jerky, I decided it was time to make rose peak my bitch and get back on my feet. I had come this far, and I did NOT want to give up for anything. So, Jenny and I hiked a bit further, and we came across Magda. She said we were almost there, about 15 more minutes... shortly after that, I had another cramp attack, and this was way more intense than the previous ones. After this, I started to get the suspicion that this was it, my hike was done for. Jenny ran off to the peak to see if anyone else was there (check that out, I'm freaking dying, and shes JOGGING up the trail and back :) ). When she got back, she helped me get comfortable, filled me up with more salty food, a banana, and handed me water. Jenny has terrific bedside manners, and I felt terrible for putting her through the trauma of my pain. Once I was laid out on the trail, and Jenny was off to get someone else, I let out a nice howl, and dare I say a F-Bomb. I also managed to shove some water bottles under my knees. This help my legs stay in a neutral state, where my quads or calves were not working at all (even in this position, they were still 100% camped up). "V" came around, and then at that point I know it would have been REALLY stupid to tell "V" and Jenny that I still wanted to reach the peak. I knew that would have been pretty insulting, especially since my injury forced him to say behind with us. He was very nice, and both him and Jenny waited with my while my legs at least stopped locking up. Seriously, I felt completely betrayed by my own body, it was incredible what was going on. This is what I get for pushing my legs around all these years, making them run, kick and jump all the time :) The only problem with that hike is I was only 1/2 way done. I had another 9 or so miles to go, and it was all up and down terrain. "V" had told me that once my cramping had subsided, and I got the right nutrients in me, I would be sore, but I would eventually get the blood flowing again and be okay. Unfortunately, that was not the case at all. I've got some freaky body chemistry or sumthin' cause there was no recovering from this. I was only slightly uncomfortable if we were on flat even ground, anything outside of that was either exerting force on my quads and shins (which would cramp up), or my calves and hamstrings (which would cramp up). So for the next few miles it was a slow process of hiking for a bit, then stopping to either nurse a new series of cramps away or try and prevent another wave. It was also getting late, and thankfully both "V" and Jenny brought head lamps, so our nice day hike turned into a nice night hike :) "V" lead the four of us with his lamp, Magda and Velimir trailed him while I used Jenny's headlamp and Jenny trailed behind me. We did catch a cool view of the sun going down, and there was some relief to hiking back in a cooler climate. I was also now using "V"s hiking poles and training myself to use my arms and the poles as much as my legs to move along. I was getting a pretty good workout, now I had to use my entire body to move myself forward as well as fighting my own muscles from cramping. Let me relate this to the Wushu folks; You know when your doing a form and you are tense? I've heard it a lot, Mark or Patti will say "relax! your shoulders are too tight, loosen up.", because it saps all your energy to try and move around with those muscles activated. That is was this was like, every step required twice the amount of effort. The rest of the trip was pretty monotonous, I still had to take a break from time to time. There was one part where I had to take a large step UP, and it really sucked because by this time I had a very good idea as to what actions would incur the wrath of my legs. Basically, anytime I had to flex my muscles in a quick and major way, I would completely cramp up. So, I looked at the large step up, took a deep breath and did it, hobbled out of harms way (like, away from the ledge so I wouldn't fall back) and stop immediately to rest and wait for it to pass. Around 9:15pm, a pair of park rangers found us and asked if we were the droids they were looking for :) Velimir, who has a strange sense of humor said "Hey, we should hide from them !!" and then laughed. By this time, I was completely out of it, my body was shot, my brain was fried, and I was still dehydrated. Seeing these rangers was the best thing that could have happened. Sure, I felt a little robbed that I didn't get to make it to the peak, OR finish off the last 2 miles of the hike, but really, it was for the best. We had also exceeded the park hours, so there wasn't a choice, we were escorted out :) We said out goodbyes, Jenny Drove those two back to Stanford, and I made my way home. I stopped by the gas station to pick up a few necessities:
  • Gatorade, to continue and replenish my ph balance
  • more water, as I had ran out
  • New Castle... hey, "V" said it would help :)
The commute home was an adventure in itself, because Vasco Road is reduced to one lane in the evenings now. Cal Trans has decided the two year old asphalt needs replacing, and since that entire organization hates me, they feel the need to close down almost all of Vasco to one lane while they perform the same work they did two years ago. Normally this just results in a lot of my time waisted, sitting there in traffic. Tonight though, that was extra special. Driving in stop and go traffic with both legs cramping up is an interesting situation to be in. I spent most of my commute in tears. When I finally go home, I had two more steps to face, those leading to my front door. That kicked off one of the last cramping sessions of the day, and it was quit the grand finally. I recounted the entire day to Michele as I winced in pain, and maybe 30 minutes later I got up and took a hot shower. That felt GREAT, I was already on the road to a good recovery after that. The only thing left was to have a salty dinner, a beer, and ice my legs down.  I ended going to bed around 1:30am, and as exhausted as I was, I hardly slept a wink. The pain was still bad enough to keep me awake all night, but at least I didn't cramp up any more. The next day was pretty rough as well, I felt woozy and sick all day, be resting has become easier since then. So, that was my hike. It is now Tuesday, and my legs are still very very sore. I still did weights Monday though :) Ha, I'm back bitches!

mike General , , ,