Wednesday, September 05, 2007

Return from Catalina Island

I enjoyed my weekend with Kat at Catalina Island despite many of the minor annoyances we encountered. Highlights included:

1. old rickety wooden, crazy vertical explosive and backwards roller coasters at Knott's Berry Farm

2. cheering our voices raw and drinking too much beer at Medieval Times

3. fun boat ride and snorkeling in the ocean soon after getting to Toyon Bay

4. a Kat-guided tour of the CIMI camp and learning more about this significant part of her life

5. plenty of time to relax and read a silly fantasy book

6. warm nights and beautiful clear sky for star gazing, and "sleeping" on the beach

7. long and short hikes with great views

8. sea-kyaking and swimming in the ocean

9. Sea-mammal sightings

10. Bison sightings

Lowlights included:

1. screaming, rude, and annoying children and 'tweens and their oblivious parents

2. stifling hot weather during the day and the inevitable sun-burns

3. big ugly bruises from being thrown around against the restraints in the rides at Knott's Berry Farm

4. staying at the crappy Rodeway Inn Friday night

5. over-eating

6. disorganized camp staff, including crappy maps to wrong long-term parking lot

7. overpaying for parking in general

8. not getting enough sleep due to hard sand, "soothing" ocean sounds, no air-conditioning, and crappy mattresses

9. spending way too much time in LAX

10. having the feeling that I lost something on the trip but not knowing what it is

Here are some pics: http://www.flickr.com/photos/deviouspics/sets/72157601863271927/

Tuesday, August 28, 2007

How I became a SubGenius

For the uninitiated, the Church of the SubGenius is a disorganized parody religion that makes fun of serious organized religions while at the same time combines elements from them with whacko conspiracy theories, UFOs, cryptozoology, and many other popular paranoid beliefs. Their members are made up of perverts, weirdos, nerds, geeks, and all other sorts of outsiders who don't identify with the normals.

I recently paid my thirty-bucks to become an ordained minister in the Church of the SubGenius (via the Church of Universal Life). I haven't picked my SubGenius yet name and I'm asking for feedback on that so please leave a comment with suggestions for my SubGenius name. So far I've been considering Reverend Loki Eris Puck.

SubGenii believe in a primal force called Slack which is the true pursuit of life. Is it a coincidence that I call myself a professional slacker, or that one of my favorite card games is "Chez Geek" in which the goal is to obtain the most Slack? SubGenii believe we are the offspring of Yeti and early man, and that Yeti once ruled the city of Atlantis. They believe one day the UFOs will bring about the final Rupture and only card carrying SubGenii will be allowed on the escape pods piloted by sex goddesses.

Let's look at what has led me to the decision to throw my lot in with this fringe-element pseudo-cult of paranoid freaks.

Of course my family and upbringing has something to do with it. I grew up with only an older brother for a sibling, which taught me the harsh lessons of living in an authoritarian society. I love my brother, but I can't deny the impact he had on my burgeoning psyche. I also learned to rebel against authority in subtle and indirect ways since he was bigger and stronger than me it was unwise to rebel overtly. I identified with being the "anti-Chris" and did things differently than my older brother did. If I couldn't make my mark on the world by doing things first or better than my brother then I would do it differently. I rebelled against anything I felt was "normal".

My mother always encouraged my imagination and radical thinking while at the same time expressing her own brand of non-denominational spiritual thought. She fed me a steady diet of science-fiction and fantasy books and movies. For as long as I've had an imagination I've been entertained by the bizarre, the strange, the dark, the unknown, the horrifying, and the supernatural. I also learned from her that you can be a moral, spiritual, and just person without being specifically religious.

My love of horror and dark literature led me to the likes of Edgar Allen Poe and H.P. Lovecraft, essential to familiarizing myself with the original American masters of horror. Lovecraft's particularly skewed and paranoid view of the cosmos in particular has had a lasting effect on me and he has inspired countless more. He exposed the world to the mythos of Cthulhu and the fabled Necronomicon which make their appearance in so many derivative films and novels.

I love bad films, b-movies, and MST3K style entertainment. I have a soft spot in my heart for the legend of the Loch Ness monster (is it a coincidence that my friends decided to call their band Rockness Monster?), UFOs (I want to believe!), and bigfoot-yeti-abominable-snowman-sasquatch-skunk-ape-missing-link. I've always wanted to believe in the legend of Atlantis, the Greek, Celtic, Egyptian and Norse gods (is it coincidence that my mom named our first family dog Loki?), and the Illuminati super-conspiracy.

I was destined for a life of geekiness. I played Dungeons & Dragons, I played video games, I memorized Monty Python movie quotes, and eventually I chose a career in computer programming, rounding out my geek quotient (or G.Q.).

Attending college and ultimately living in Eugene has exposed me to many different view-points and beliefs: some radical, some conservative, many somewhere in the middle. I recall taking a very mind-opening psychology class called "Critical Thinking" in which I learned to never take anything at face value and always analyze the motives of the messenger.

I listened to NPR, read internet news blogs, and developed a view of the world as being run by inane megalomaniacs that rule over the clueless masses who let themselves be easily subjugated. People lie to themselves on a daily basis, believing that the governments are here to help and protect us. Once you realize that you are lying to yourself and that you are pulling the wool over your own eyes, that's the first step to becoming a SubGenius.

Recently I've begun attributing significance and meaning to the insignificant and coincidental. Of course all metaphysics and spirituality derive from the aforementioned mental gymnastics.

I just finished reading the Illuminatus trilogy (which someone coincidentally left at my house after a garage sale some years ago and I only now finally got around to reading), which manages to interweave all my favorite themes into a convincing if somewhat schizophrenic narrative whole. Suddenly I became aware of other elements in my environment which supported its subversive and skewed view of the world. My daily internet news blog, Fark.com, mentioned The Church of the SubGenius. I'd heard about it before and seen the iconic 50s style clip-art images of J.R. "Bob" Dobbs, so I decided to read up on it. I was amazed to see the same symbology and core tenants of the Discordians, a supposed semi-heroic anarchistic branch of the Illuminati. I already owned a card game called "The Illuminati" which coincidentally was largely based on these books. Recently the card game released a supplement called "INWO SubGenius". I want it now.

I've developed a habit of listening to Podcasts while at work. Some of my favorite include: Air out my shorts, EscapePod (coincidence?), PseudoPod (sister podcast of escapePod but focused on horror including many lovecraftian-style submissions), The Drabblecast, and now the SubGenius Hour of Slack radio show.

It was after listening to an hour of hilarious and insightful ramblings from Reverend Ivan Stang and pals that I decided "what-the-hell" and sent in my $30. I'd taken the hint, all the synchronicity was more than I could stand, and I surrendered to the self-hypnosis.

The paradoxical and oxymoronic irony of joining an "anarchistic group" is not lost on me. I think it's part of the charm: belonging to a religion that is decidedly anti-religious, proclaiming my "individuality" just like everyone else in the group, and claiming to be part of a secret society that is blatantly out in the open.

So, please leave your suggestions for a really cool SubGenius name or any other comments relating to my transformation into a self-hypnotized anarchistic paranoid geek-freak.

Links to stuff:
http://www.subgenius.com/
http://www.subgenius.com/ts/hos.html
http://web.mac.com/normsherman/iWeb/Site/Podcast/Podcast.html
http://pseudopod.org/
http://escapepod.org/
http://theitspot.com/
http://en.wikipedia.org/wiki/Illuminati
http://www.sjgames.com/illuminati/index.html
http://www.sjgames.com/inwo/
http://www.sjgames.com/inwo/SubGenius/
http://www.sjgames.com/chezgeek/
http://www.fark.com/

Friday, May 25, 2007

Memoirs of my time at The Company

I finally got fed up with The Company and told them to frak-off. My last day will be May 31st and I'll start my new job some time in June.

Things have been going downhill at The Company for quite some time. Actually, I don't think they were ever going uphill. When I left Lunar Logic, I thought working for a big company would be great, that they'd have everything figured out, decent processes in place, and that I'd find a bigger pool of brains to pick and find more mentors in a larger community. Turns out that I was wrong. Bigger doesn't mean better, and I was not very impressed with the quality of the people. For awhile I liked the money, but I've come to learn that making lots of money doesn't make up for all the stress I've endured or the personal time I've been missing.

My first three months at The Company were spent in crisis mode. I was shuffled from conference room to conference room and put on projects that were already behind schedule and needed help. AccountLogin was Jen's creation and involved a major rewrite of the entire front-end controller along with changes to the main path through the site which was predicted to increase order completions and revenue. We worked long hours in close quarters and then proudly rolled it out to production. Part of the project required that the Business have built in switches to control how many customers used the new path versus the old path and that they would be able to closely monitor customer behavior and make changes to the traffic split as necessary. Within a week of going live the Business determined that their predictions had been wrong since less order completions were happening on the new path. They panicked and turned off the new path completely, in effect moth-balling AccountLogin. The project was viewed as a failure despite the effort it took to get there.

Next I was put on Cashbox-BP. This was an ambitious project which was already falling apart due to lack of competent leadership. The previous dev lead had left on extended medical leave of absence three weeks into the project. The backup lead was in over his head. I came in and took over a large chunk of the complicated work that no one else wanted to deal with. I didn't know any better at the time. Basically the project involved moving customer billing and account information over to a remote system called EBE. It also added a new feature of allowing customers to auto-renew their subscriptions every year unless they opted-out. The Business expected to make millions off of that one change alone. I ended up re-coding most of the services that communicated with EBE and debugging all those issues. Working with outside consultants on this project proved to be a painful experience. Cashbox-BP finally rolled out and The Business threw us a little party because they started seeing the numbers go up as expected.

Once those projects were done I was only able to take a short breather and get barely acquainted with my office which had been sitting empty during that time before the whole development team was chased out of their offices and herded into acres of identical gray cubicles.

My next project was a follow-up to the last one, Cashbox-Maintenance. This was were we cleaned up all the things that weren't quite right the first time around, and implemented a few new features that got left off the last release. This time around we had a team that was experienced with the last round of the project, but we still had to coordinate with developers from EBE and Vindicia, which was as painful as ever. Finger pointing was rampant whenever something went wrong and usually it turned out the be Vindicia's fault, but you had to prove it to them first. Once again I was given the largest chunk of work and the most complicated tasks, the price I paid for proving myself competent. Since I made the most changes I began running code review sessions as well. As the holidays rolled around I started to act more like a lead than the actual lead since he was on vacation most of the time. By the time Cashbox-Maintenance went live I was effectively the lead on the project. My manager was grooming me for being a lead on the next project as well because he we getting positive feedback from the project managers about me. He promised me a promotion at my next review, in six months, if I kept doing the extra work.

Before we got a chance to release Cashbox-Maintenance the live site started having problems. A major bug was missed in the last release and starting to show up on production. We had two weeks of frantic emergency releases to fix the issue and push out another high priority feature. Cashbox-maintenace got delayed but eventually went live.

Almost immediately I was made lead of Short-term AccountLogin Forgot Password (STAL-FP), a follow-up project to the "failed" AccountLogin project. The idea was to fix some of the easy things that were determined to be wrong with the current storefront site which could positively effect revenue. Research showed that customers who came to the site and had forgotten their password got frustrated with our stupid process for resetting it and eventually dropped off completely. Jen designed a solution, I led the development, and India did most of the work. Everything seemed to be going smoothly, although the project scope got larger the longer the development went on and we had to include more and more unrelated maintenance tickets in our release. The business had recently decided that we needed to be able to release maintenance tickets every two weeks. That made it difficult when the development time was scheduled over six weeks to test my changes in isolation.

Halfway through the successful development of STAL-FP I was handed another high priority project to lead, PacificPlatform. Leading them both at the same time proved to be very difficult and both projects suffered from my lack of attention. When I complained about the workload I was reassured that if I kept up the good work I'd have a promotion waiting for me at my review date, which was still five months away. PacificPlatform was another ambitious project, a complete redesign and rewrite of the catalog system which would support two reseller store platforms at once (code named Atlantic & Pacific). Eventually the project got renamed to GlobalCommerce. As that project was ramping up STAL-FP was getting ready to be released. Unfortunately we had to merge with two other projects at the last minute, one of which was a complete rewrite of service metrics. We crossed our fingers and hit the deploy button.

When STAL-FP hit production suddenly servers started to crash. Everyone panicked. All other work stopped as the entire development team tried to figure out what went wrong. The decision was made to rollback, which doesn't happen very often. Hundreds of hours were spent researching the server crashes and trying to reproduce the issue in development. Eventually we found it, but not before we had royally screwed up the code base by trying to rollback merges and remove service metrics while cross-merging STAL-FP code into trunk. Basically it got all frakked up. We spent extra hours trying to untangle the mess that was made. Everyone suffered. STAL-FP was considered a failure.

Once STAL-FP was abandoned I was at least able to focus on GlobalCommerce, which had already gotten started without me. I did my best to catch up and implement weekly code reviews to keep everyone on task. Things seemed to be going well for awhile as I got a handle on everything. I wasn't too happy with the team of developers I was given, but I did my best to delegate the work in such a way that the weakest members had the least impact on the project. One of them was the lead that had just returned from his extended medical absence and there were some doubts about his ability to contribute. I gave him what I thought would be the simplest and most isolated tasks. As the work progressed it became apparent that our biggest challenges would be changes necessary to the configuration of the various environments our new code would be running on. I had to rely heavily on others to advise on the necessary changes since I'd had no experience with that portion of the application.

Code reviews went well and all developer testing results showed we were ready for QA, but QA wasn't ready since they were all busy testing the three releases going out before us. QA found no bugs in our project so we hit code freeze and entered the release-to-production pipeline where it is much more problematic to fix bugs and push out new builds. I spent a grueling week in external code review and then immediately left on a much needed week vacation with Kat to New Orleans.


Once I got back we were in RTP and QA started finding bugs. Unsurprisingly the majority of them were configuration and environmental issues, but a good number of them were code issues in the areas I had given to my weakest developers. We spent twice as long as we should have in RTP, fixing an endless sequence of errors. Then load test results were coming back as showing a sudden drop in performance. Countless hours were lost investigating the performance issues and rerunning load tests late at night. It turned out to be an issue with EBE (big surprise), which I had suggested at the very beginning, but my theory had been discounted since EBE said they hadn't made any changes on their side. By this point almost everyone involved in this project was not happy about it, especially me.

Oddly enough, during the worst part of the GlobalCommerce project two new job opportunities opened up to me. Language Learning Solutions had courted me a year ago when I was planning to leave Lunar Logic. They contacted me just before I left for New Orleans and we set up a meeting for when I got back. At the same time some guys from Lunar Logic had started a new business, Emberex, and really wanted to bring me on. I had lunch with them as well and we talked about the possibilities. I was dubious at first because it seemed like a risk, but I knew I wanted to work with my friends again and escape the insanity that was going on at The Company. As I became more exhausted with work, the idea of changing jobs got more appealing. I started to update my LinkedIn profile and solicited recommendations from current and former co-workers. To my pleasant surprise I received a flood of glowing recommendations. That really bolstered my confidence at a time when I really needed it.

Around this time I learned my year review and potential promotion was going to be delayed an additional three months. The only compensation I had received for all my extra effort during the last year was an A++ award that came with a $1000 bonus, which was about a 1% bump in my pay for the year. The promises of raises and promotions were losing their power over me, and the money ceased to be the main deciding factor in my choice of jobs. LLS offered a higher salary, but wanted me to come in as an executive and build their IT department. I felt like I would be just as stressed in that position, if not more, than I already was at The Company. The guys at Emberex offered a reasonable hourly wage, which would be a welcome respite from the abuse of the salary system I was currently experiencing, and a narrowed set of roles and responsibilities. Plus they had some things to offer that LLS and The Company couldn't, a sweet downtown location, a small group of competent co-workers that I already knew and liked working with, and the opportunity of working on diverse projects and new technologies. It became clear that I wanted to join them, even if it meant losing some of the valuable benefits that I was used to at The Company.

I could see myself missing some of my co-workers that I'd grown to like and respect: Charles, Peter, Tara, Michael, Jen (of course), Steve, Imran, Martin, Ross, and David. I'd learned a lot from Charles and Steve at the foosball table. I'd miss the cheap and fast food at the cafeteria, I was getting very used to hot breakfast sandwiches and fresh Starbucks coffee every morning, but that was contributing to my increasing waist size and the general degradation of my health. I wouldn't miss much else.

I let my manager know I was considering leaving, then when he couldn't convince me to stay I called Emberex and accepted their offer. I sent my resignation letter to my manager, then I turned down the offer LLS had given me as graciously as I could. I knew I would probably be working with them at some capacity through Emberex very soon. Suddenly things seemed to be moving very quickly. Everyone was shocked to hear I was leaving in two weeks and I had people stopping by, emailing and instant messaging me wondering why I was leaving and where I was going. I tried to be as diplomatic as possible and talk about how I couldn't pass up the opportunity to join a start-up with my friends rather than focus on how frustrated I was with the work and culture at The Company. I assured everyone on the GlobalCommerce project that I was going to make sure we finished the project in a good way before leaving and that my leaving was nothing personal, which wasn't entirely true since some of the people on the project contributed greatly to my desire to leave.

Immediately after putting in my notice I started to feel better. My anxiety about making a decision about my career melted away. My stress level over work related issues lessened since I knew I wouldn't have to deal with it for much longer. I stopped taking my laptop home and stopped caring about emails sent after-hours or missing lately scheduled meetings. It's amazing what not caring can accomplish.

So now I've only got 3 days of work left and I'm feeling really good about the future. I get to take about two weeks off from work between jobs. Hopefully I can get some things done around the house that I've been meaning to, like painting. That was my plan the last time I changed jobs at least. I've got a nice long 3 day weekend and I might get a chance to play my Game of Thrones Kat got me for my birthday. Maybe I'll even do some yard work. Whatever I do I'll be happier than I've been in the last six months because I made decision that has my health and well being my priority.

Sunday, January 14, 2007

Leave my groin alone!

I hadn't played soccer in nigh on ten years, since being a sophomore in college, until yesterday morning. I signed up for the Winter coed hat-draw soccer season put on by the parks & rec crew. Michael, a guy I work with, told me about it and I got on his team. Kelly, someone Kat works with, and her husband are also on my team, the Morning Fog. The game was early Saturday morning at South Eugene Highschool on their outdoor artificial turf field. When I got there another game was finishing up, but the field was still littered with ice chunks. The ball was skipping and bouncing irregularly across the surface. It was very cold. I started stretching out and jogging a bit to get warmed up and was joking with Michael about I'd probably pull something and be out of the game right away...

Once the first game was over we took to the field and figured out our positions. I'd opted to play the first half in the field and spend the second half in goal. I was surprised to learn that we'd be playing a full two 45 minute halves. I figured we'd be playing short sides and shortened game but we fielded two full teams with one on-the-fly sub standing ready. I was in for a long and tiring game. I thought I was prepared though, since I'd been going to the gym more frequently, running on the treadmill, and I spent the previous Saturday in the park with Elliot kicking a ball around and going for a long jog. I took my place on the mid-line for kick-off. The whistle blew and the game was on. I took off down the left side of the pitch trying to break open for a pass. Someone spotted me and send a low fast one my way. It took off on the ice an skidded ahead of me. I broke into my best version of a sprint and stretched for the ball to send it back into play and that's when I felt a tearing in my groin.

My premonition was dead-on. Less than five minutes into the game and I was hobbling in pain from a pulled groin muscle. Every step was agonizing and I was embarrassed to be so out of shape and obviously no longer spry and limber. I briefly considered sitting out the rest of the game, the pain was excruciating, but the shame of not toughing it out outweighed my physical well-being. I played the next 40 minutes on the field, awkwardly jogging after the ball when it came my way. I got my foot on it a few times, but every time I started to forget about my groin I'd invariably make some graceless move to trap or kick a ball and pain would shoot through my crotch and down my leg once again.

I was thankful when the halftime whistle blew. We had a short break and I got to say hi to Kat who was watching from the stands bundled up with her furry purple cat hat and holding a colorful sign that said "Go Jefe". I donned my goalie gear and took my place in the box. Standing was only marginally less painful than running, but as I stood there surveying the field, memories of highschool games started coming back and with it all the stress of being the last line of defense. We'd given up three goals in the first half, one of them an own-goal, and only scored one. If we were going to win this I needed to shut the other team down. I didn't know if I'd be able to do that in my current condition, injured, out of practice, and with the weather being as it was the goal box was littered with ice cubes. A goalie dive in this environment was liable to be extra specially painful.

The second half started off in our favor. Our best players gravitated towards the front line, and positions being informal as they were, the team adapted. Most of the second half was played in our opponents side of the field. We scored two more goals and tied it up, but there was plenty of time left for retaliation. I'd only seen a little action, deflected a few weak shots, scooped up a couple loose balls, and booted them back into the other side. One of my punts ended up getting converted to a goal, which I counted as an assist, even if there were a couple passes between me and the final shot. My knees were bloody from scraping against the layer of ice left on the field and my hands were numb from the cold sting of the ball when it struck my hands.

When the retaliation came it was fast and decisive. They drove deep into our side catching our defense off-guard. As our best players were focusing on scoring, our weakest team members had dropped back into defense which left us very vulnerable. Suddenly it was a break away and I knew it'd come down to a shot on goal. When it came I was in position, cutting off the angles as my old goal-tending habits came back to me, and I was coiled for a dive. The shot cut across to my right side going for the far corner of the goal and I sprang after it, redirecting it with one gloved hand. Unfortunately it now was passing in front of the open goal and I was laid out on the icy ground recovering from my dive. There were two more opponents quickly descending on the ball, with no defensive help in sight. I only had enough time to get one leg under me and propel myself along the ground to try and get in front of it, but I was too late as one of their strikers drove the ball into the back of the net. That was the final goal of the game and we ended up losing 4 to 3. Next time I'll start in goal and finish on the field, so at least I'll get my injury closer to the end of the game.

I nursed my wounds as best I could that afternoon. I had a long drive to Salem and back for Dad's retirement party. I was happy to see so many friends and family come out for him. It was really very touching. My nephew, Taylor, and a basketball game that night at Gubser elementary, where I'd gone for sixth grade. All I could think was "Why didn't I sign up for basketball this winter?". It's a lot less hard on your body and at least I'd be warm.

I was happy to get Jester back and take him home with me. When I got home Kat tried to help tend to my sore muscles and offered to put some icyhot on my leg. I'd never had icyhot before so I thought I'd give it a try. I took of my pants and we set to work slathering up my inner thigh, but I must have been careless because some of it got on the left side of my scrotum. I didn't think much of it at first, it was sort of tingly, until the heat set in. Now I think I've discovered a new form of torture. All of a sudden an intense heat was searing my left testicle. At first I was sort of laughing about the situation until the heat continued to intensify and I was left rolling on my back cupping my jewels and screaming "Oh God! My nuts are on fire! Why does it burn so?!". Kat's expression changed from mild amusement to real concern as she ran to get a wet cloth at my behest. Wiping away as much of the icyhot as I could helped to some degree, but the chemical burn sensation gradually subsided over the next ten minutes or so. The icyhot treatment definitely made me forget about the pain in my leg.

Later that night I sat on the couch in my boxers recovering with Kat's herb bag fresh from the freezer laying across my lap. Gryphon decided to climb over and check me out. He was standing on my right thigh and I didn't think anything of it while we were watching "Hoodwinked". Just then Jester burst in through the dogdoor from outside, as is his habit. Gryphon, surprised and alarmed by the sudden activity, instinctively extended his claws into my leg scratching me and sprang down from my lap, in the process managing to use my strained groin muscle for leverage. As the cat ran down the hall, Jester noticed him and it must have looked like fun because he decided to pursue. I was cursing at the cat by this point so Jester quickly changed directions and came running up to me thinking I was in a playful mood. As is his gregarious manner he leapt bodily into my lap, adding the a nice exclamation point to an already painful evening.