Archive for the ‘Home’ Category

*Crickets* …

June 6th, 2012 by sjan

Ok, six months, no posts. It isn’t that I have been busy, just that I have been busy.

I am currently working on a project that will require using memcached (to store sessions and model data) for a Symfony2 with Propel 1.6 project. When I get it all worked out I will let you know how to do the same.

Propel has an “instancePool” that acts like a model cache, except that it is stored in a static property on the model peer class. This works great for a single server setup with APC, but not so well for sharing the pool between multiple servers by sharing a memcache server between them. I am thinking that I will probably need to use a Propel Behavior to modify the peer classes at generation time. But I am just getting started down that road, and this is not a tech post, more of a “reports of my death are greatly exaggerated” post.

72 Hours

January 23rd, 2012 by sjan

Saturday, 9:00 am, Jan 21
I am writing this the old-fashioned way, pencil on paper by daylight. I will, of course, transcribe this later to a digital medium, add some of the photos I took, and post it online. But for now it is just me, a notebook, and a pencil in front of the wood stove. It is currently Saturday, at 9:00 am, approximately 37 hours after the power went out. Of course, that wasn’t really the start of the story, just a point along the way.

The story really started on Monday, Martin Luther King, Jr Day, and a federal holiday. Not a holiday for me, though, as I jumped on line for a normal telecommute day. During the day the weather turned ugly and rain turned to snow as the temperature dropped. With the forecast for even more snow overnight I knew that trying to make the trek to Seattle would be dangerous (snow on ice with lots of inexperienced snow commuters.) The forecast called for warming and rain on Wednesday, though. “Great!” I thought. “I’ll go in to Seattle on Thursday and Friday this week rather than Tuesday and Thursday.” I notified my boss, problem solved.

Tuesday came around and the roads were even worse than I had expected. The garbage and recycling never came, and neither did the mail. (So much for “Neither snow nor rain nor …“) That’s okay, by Tuesday afternoon the forecast was still for warming and rain on Wednesday.


Unfortunately that wasn’t the way it happened. The warm wet front came over us, all right, but it slid over the top of the cold arctic front that was already here. And what happens when rain falls through a cold air pack like that? Correct! More snow. We ended up tying the 100 year record for 12 hour snowfall and in the top 5 100 year totals for 24 hour snowfall. We got 14 inches of snow in what seemed like no time flat. This was the point where my boss was kind enough (and smart enough) to tell me not to make the trip in to Seattle this week. It didn’t make me feel any less guilty, though, and I poured on the hours as a result. (I really need to work on these guilt issues.)

Had it just stopped there, or had the temperature risen five or six degrees, we would have been fine. The weather had other plans for us, however. It seems the convergent fronts formed an alliance with the goal of wiping out all the trees. Really, I don’t know what the trees did to deserve it, but I would have to guess that the politics of trees and clouds are not entirely un-messy. After dumping 14 inches of snow on the trees the Weather Alliance unleashed its secret weapon against the Tree Union: freezing rain (also known as an “ice storm.”) This does two things to the snow already on the trees. First, it loads it with moisture, increasing its weight immensely. Second, it causes the moisture-laden snow to freeze to the growing sheath of ice around the branches, holding them in an icy grip.


As the ice grew Wednesday night and on into Thursday the trees began to take heavy casualties. There was a steady beat of “CRACK! THUD!” every few seconds as another branch was torn from its tree and crashed to earth with its heavy load of ice and snow. By midday Thursday one of these beats of destruction was happening every 10 to 15 seconds. And as the day wore on the branches crashing down were larger and larger. The weaker, smaller branches came down first, while heavier branches, and even the tops of some of the trees held on as long as they could, before they, too, were doomed. One particularly loud (and close) crash was the sound of our 65 foot tall cedrus losing a 30 foot long lower main branch.


By Thursday evening the sounds of crashing limbs became somewhat “normal,” the huge branch that crashed down on the neighbor’s roof notwithstanding. I had finished work for the day, did a little studying and was unwinding by playing a little Spore. (Ok, I like the game, so sue me.) It was then that the Weather Alliance’s attack on the Tree Union caused collateral damage. The power went out. I had the modem and router on a UPS, and by shutting down the server quickly was able to maintain an internet connection for another four hours or so. I was pretty well convinced that the power would be back on by morning, we had a fire going in the wood stove already and we dug out the camping lanterns. I set the alarm on my phone and went to sleep.


When my phone woke me in the morning I knew immediately that the power was still out. My small bedside lamp had been on when the power went out and I hadn’t turned it off, yet it was still pitch dark.



I checked the weather on my phone at 6:08 am. (The reason I know the time so precisely will be become clear later.) I brushed my teeth, got dressed and then checked on the fire. Once I was sure the fire was going well I composed an email to work, hit send, and shut down the screen (like always.) While I dug the camp stove out of the garage (one must have coffee, after all) I kept having this feeling that something was missing. I mad a pot of coffee (with the last ground coffee we had on hand) and watched the fire.


Now I was looking at the first real challenge of the day – branches were still coming down and we had no more firewood by the house. We had plenty in the wood pile, but getting there would require traversing directly under several heavily-laden branches which could come down at any moment. Getting hit by one of those would be painful at best, and possibly even fatal. (There was one tree-top already impaled in the ground just 20 feet from the deck.)


While waiting for the weather to warm up some (and hopefully relieve the trees of their burden) I took a short diversion – a trip to the store to look for D-cell batteries for our lantern and to pick up some food that didn’t require cooking, and (perhaps most importantly) some ground coffee. (Note: I really need to get a hand-powered coffee grinder.) While the roads in our neighborhood were in horrendous shape, the main roads were plowed and mostly just wet with a few patches of ice and slush left by this time (around 1:00 pm). It seemed that no one in the area had any D-cell batteries left though. Even the big-box hardware store was sold out of them. I had to be satisfied with some ground coffee, some food items and some C-cell batteries. (Ask me some other time about how to rig a C-cell battery to run a D-cell device.)

I continued to check the weather to see if any relief was in sight. Oddly, despite the fact that if felt warmer outside, the weather report on my phone didn’t change. Somewhere around the tenth time I checked it I noticed the “last updated” notice: Friday, 20 January, 6:08AM.” That’s why it hadn’t changed. I wasn’t getting data at all. In fact, no email all day? How likely is that? Now I realized what had been missing in the morning, no “mail sent” sound. I tried again to email work but it wasn’t getting through. I couldn’t even load the Google main page, it just kept saying “The server quit responding.” I tried sending a text message to one of my coworkers. It looked like it went through, but I got no response, so had no way of telling. And in my home, where I usually get four or five bars of reception I was only getting one. I managed to talk to my in-laws briefly, but there was a great deal of static and the call would drop if wasn’t careful about how and where I moved.


By late Friday afternoon the arctic front had apparently decided it was done with the offensive against the Tree Union and pulled out of the Weather Alliance. The warming air combined with the rain had melted a good portion of the snow and ice off the trees and large chunks of were falling out of the trees without taking the limbs with them. I braved the falling ice around 3:00 pm and brought some more wood up to the house. Now, except for a battery shortage we were set for another night.

Saturday 2:45 pm
I started the morning with a fresh pot of coffee (of course), reset the fire, brought more wood up to the house, and dragged the limbs that had fallen out of our trees into the street out of the street. The huge cedrus branch is too large to move, so I cut the ends off to at least get it out of the street. I was planning on going to Costco, still in search of D-cell batteries, but needed something to do keep myself occupied.


I decided that I needed to do something about wanting to tell the story of the ice storm around here. Something other than just posting a bunch of pictures. So I began writing this morning. At around 10:00 am this morning I took a break from writing and went to Costco in search of D-cell batteries. Score! I found some. When I got back home my wife suggested we go out for a hot meal. We went to the Martin Way Diner (perhaps the best fries in Olympia) where I was finally able to get some data on my phone. The continued weather forecast looks promising (not that that means anything) and PSE says they currently have 900 people working on getting the power back on. The number of homes and businesses without power at that time was still at around 130,000, down from the initial 300,000+. Their map of our area showed green diamonds (repairs done) all around our neighborhood with only 2 red squares (still being assessed) in the area. As we drove home we were noticing lots of porch lights on in areas that had been without power when we left. Pulling in to our neighborhood, though, we saw that we were still without power.

Sunday, 8:30 am
Yesterday evening I made a quick trip to the grocery store for ice. While our chest freezer is still quite cold (still well below freezing) our refrigerator is not. While I was picking up ice my wife removed all the spoiled food from the refrigerator and packed the rest into our two coolers. When I returned with the ice we packed that in there as well.

I made a of jug of iced tea last night as well. Cooling it off once it was brewed was not a problem. I set it in the snow on the deck and then packed more snow around it. And there it will stay, nice and cold, until the power comes back or the snow melts. I am hoping for the former to come first. In fact, any minute now would be good. It has currently been more than 60 hours since the power went out. I would like to get a start on cleaning up the branches, but with no power (not to mention the wet conditions) my hands are tied. I am beginning to think that getting an electric chainsaw may not have been the best choice. Well, not really. Since our electric here comes from hydro (when it comes, that is) using electric tools (like the chainsaw and the electric mower) is just more environmentally sound.

If we still have no power this evening we may be staying with my in-laws (they have a generator) and tomorrow I will make the trek in to Seattle to work in the office. I really hope it doesn’t come to that, as I don’t like the idea of leaving my wife at home with no communications.

Sunday, 10:15 am
It turns out that one of our coolers is utterly worthless. The ice has almost completely melted and it leaked all over the floor. While it is fine for road trips it is certainly not up to the storage task. I managed to get the latest info from PSE on when the power in this area might be back on. It looks like late Wednesday night now. That sucks the big one. So, the plan for today:

  • Bring more wood up to the house
  • Go get a phone that doesn’t require external power
  • Get more ice
  • Look for a better cooler (another “extreme” cooler like the one that is working well would be good)
  • Find an open laundromat so I have some clean clothes
  • Head to the in-laws to at least shower, if not to spend the night

I am not sure what I will do Monday and Tuesday night, since we can’t really leave the house alone for too long. The cats need to stay warm too and they haven’t figured out how to use the wood stove yet. (That will probably come right after they evolve thumbs.)

Sunday, 8:16 pm
While at the store picking up a new cooler and ice (and striking out on a non-powered phone) I got a call from my in-laws. It seems that their power came back on last night. I made the arrangements to head over there for the day to do laundry and use their shower and went home. Once home I packed up the laundry, we grabbed the laptops, my phone and my wife’s Kindle and we headed over to the in-laws. After being stuffed on delicious soup and sandwiches, charging our devices, washing our laundry, and getting a nice hot shower we headed back home to tend the fire and the cats, and so I could get everything I needed to take to work together.

After getting things situated around the house (putting away laundry by flashlight is, shall we say, a little more challenging than usual) my wife realized she didn’t download the books she wanted while we were at the in-laws house. She suggested we take a short trip to the store to look for a new laptop bag (hers is a hair too small for her laptop) and then we could head out to somewhere with wireless for a cup of coffee or dinner or something so she could connect and download the next books in the series she is reading. We didn’t find a large enough laptop bag she liked, so we headed back to the Martin Way Diner, where I know they have free wireless.

While there we had a light dinner and  failed to connect her Kindle to the wireless, although my phone connected just fine. We finally gave up and headed home. Once home we re-stoked the fire and were just getting ready to settle in to “no electricity tonight” mode when the lights came back on at a couple minutes before 8:00 pm – 72 hours after they had gone out. We were ecstatic, of course, and the first thing I did was to get the modem and router turned on and the server booted up. Once that was all well I began transcribing this, while letting my photos upload to my flickr account.

Blogaversary? 5 years …

January 12th, 2011 by sjan

I know there are several people who like to keep track of these kinds of things, their annual blog anniversary (“blogaversary”) and such, and I hadn’t given it much thought. At least until I realized that this January marks 5 years I have been blogging, some years more than others. As I am currently not only working full-time+ (45 – 60 hours/week) but am also enrolled in school full time (better late than never?) things have been slow around here.

Development on SPDO languishes due to the same concerns and even my knitting has been put on hold for several months now. Such is life. Anyway, five years now. Maybe I’ll bring it up again in another five years time. Maybe not. There is one thing that has been bothering me, though. The state of the blog itself. It could use a face-lift. Meh, it’ll hold for a while longer. Maybe next year …

International ME/CFS Awareness Day

May 12th, 2010 by sjan

Today is (was?) International ME/CFS Awareness Day, and the Sock It 2 ME/CFS project is officially launched. Hoping to do for ME/CFS sufferers, research budgets and families what the AIDS quilt did for HIV, the “sock project” has the potential to open a lot of eyes.

Some quick info from the site:

What is Myalgic Encephalomyelitis/Chronic Fatigue Syndrome?

Myalgic Encephalomyelitis, or Chronic Fatigue Syndrome, as it’s known in the US, is a debilitating disease which has been classified by the World Health Organization (WHO) as an organic, infectious neuro-immune disorder since 1969. It can occur in both epidemic and sporadic forms; over 60 outbreaks of ME/CFS have been recorded worldwide since 1934.


  • causes more functional impairment than diabetes, heart failure or kidney disease.
  • creates a level of disability comparable to MS, chemotherapy or the final stages of AIDS.
  • strikes an estimated 17 to 20 million worldwide, impairing function and shortening lives.
  • like AIDS in the early days, gets inadequate funding due to widespread misunderstanding.
  • has only recently gained notice in blood banks internationally as an infectious disease concern.
  • I need a break …

    April 19th, 2010 by sjan

    I don’t usually talk much about my day-to-day life here, but that doesn’t mean I never do. This is one of those times. If you just want more tech talk check out the end of this post. The rest is all me whinging anyway. ;)

    I need a break. A real break. I mean, I am technically on a break right now from school but it doesn’t really feel that way. I finished out my first year of school a couple weeks ago (26 years after graduating from high school, no less) and I thought “wow, I have an entire month that I can use to rest, catch up on some personal stuff, maybe clean out the garage ….” Unfortunately it is not turning out that way.

    Instead I am writing this at 5:54 in the morning as this has been the first chance I have had to pay any attention at all to the blog. So what has been keeping me busy? Well, first, there is work. I did use a little of what would have been study time to modify the script I use to generate weekly work reports from Trac so that it now shows the amount of change for hours on each ticket (which is set in a “custom” field). And holy cow, I put in 58.5 hours last week. At least 8 of that doesn’t really count, though. I messed my back up and spent some time trying to work while under the influence of cyclobenzaprine which means that I wrote, scrapped and rewrote one class method at least 6 times before finally giving up. (Programming and drugs that make you stupid don’t mix!)

    Aside from work I have been putting some time into a project for a non-profit that is kicking off on May 12th. I’m not allowed to say too much about it ahead of launch, but I can say that it is about raising awareness about ME/CFS and how badly it has been mismanaged and patients marginalized for the past 25 years.

    Finally, I upgraded the WordPress plugin Shorten2Ping which I will continue to pimp as long as it keeps working so well. Of course I like my post tweets to have some hashtag love, so I do a little editing of the shorten2ping.php.

    Here is a diff:

    --- shorten2ping/shorten2ping.php       2010-04-12 10:22:34.000000000 -0700
    +++ shorten2ping.mine/shorten2ping.php  2010-04-19 06:47:58.000000000 -0700
    @@ -119,6 +119,15 @@
         $post_url = get_permalink($post_id);
         $post_title = strip_tags($post->post_title);
    +               // add some tag bits here
    +               $tags = wp_get_post_tags($post_id);
    +               $my_tag_list = '';
    +               if (is_array($tags)) {
    +                       foreach ($tags as $j=>$tag) {
    +                               $my_tag_list .= '#'.$tag->slug.' ';
    +                       }
    +               }
         $short_url_exists = get_post_meta($post_id, 'short_url', true);
                  if (empty($short_url_exists)) {
    @@ -205,9 +214,19 @@
                 //get message from settings and process title and link
                 $message = $s2p_options['message'];
    +                                               $message_bare_char_count = strlen(str_replace(array('[title]','[link]','[tags]'), '', $message));
    +                                               $title_count = strlen($post_title);
    +                                               $link_count = strlen($short_url);
    +                                               $tag_count = strlen($my_tag_list);
    +                                               $over = $message_bare_count + $title_count + $link_count + $tag_count - 140;
    +                                               if ($over > 0 && $over <= $post_title/2) {
    +                                                       // if the overage is more than half the post title then skip it and let tags get truncated
    +                                                       $post_title = substr($post_title, 0, $title_count - $over);
    +                                               }
                 $message = str_replace('[title]', $post_title, $message);
                                  $message = str_replace('[link]', $short_url, $message);
    +                                               $message = str_replace('[tags]', $my_tag_list, $message);
                 if ($s2p_options['ping_service'] == 'pingfm'){

    (You can download the diff as well.)

    Ooops! Draft Saved at 6:23:27 am. And it is now 8:10, and this would still be a draft if I wasn’t closing browser tabs.

    New Beginnings

    May 1st, 2009 by sjan

    Just a short post to update all my regular readers out there (yes, both of you) that I start my new job next Wednesday and I started school full-time today. Yes, today. I have started in the BS – IT Security Emphasis program at Western Governor’s University. I don’t have a projected finish date yet, but their competency-based model means that I can finish my degree much faster than with a standard program. (Word from one of the admissions counselors is that IT professionals going in to the IT program tend to finish their Bachelor in around 2 years.)

    Although I shouldn’t have to remind anyone I will: everything I say (well, type) here is my opinion and does not reflect the views or opinions of my employer or the school which I attend. With that said I have only one small grievance about my first day at WGU: every link in the student portal has a target of _blank or uses a js call to open a new window. Grrrr. My opinion: bad design idea.

    Job Hunting

    January 2nd, 2009 by sjan

    Anyone who has read this blog for any length of time knows I don’t usually talk about work except to share things that I have learned or discovered while doing said work. This post, however, is a break from that tradition, as I am no longer employed. I was laid off in the latest round of RIF (reduction in force, a more polite way of saying downsized). I am back in the market and finding that there are a few things that make it tricky. As I pointed out in this post none of the code I have worked on recently belongs to me.

    Which means that for those who desire code samples I need to do one of three things: either hand over old or unfinished code, write something entirely new, or get permission from my previous employer to share samples of some of the work where I was the only (or at least principal) developer. While the first is not appealing and the second will be ok once I have to time actually build something new or finish something I started back when, the third would be the simplest, at least if I felt that I would get the ok. But seeing how the last day went, I am not so sure. I walked some of the remaining developers through the code and documentation for a project I had headed up, and was on hand to put out fires. I was expecting to be answering questions right up to 5:00 PM. But at 3:30 PM my email account was disabled and shortly after that my Jabber account. While that was not unexpected, the lack of a final message from any of my current bosses was. No thanks, no sorry about the lay off, no good luck, nothing. I did get the farewells, sorry and thanks for everything you’ve done (as well a written LinkedIn reccomendation) from my former boss last week, and I appreciate that.

    I don’t know, maybe I am just being overly sensitive. Or maybe I just expect too much from people. But would it really have been that hard to send an email to all the departing employees? Meh. I’ll get over it.

    Hosted at home again

    June 3rd, 2008 by sjan

    While it was nice to have hosting during the move, I really do prefer having my server available at hand. And once again it is – after canceling the hosting and updating my DNS information this site and are again hosted from my home office.

    For future reference: SSH and command line access beats the crap out of cPanel any day.

    Hitting the road …

    May 21st, 2008 by sjan

    I am taking a few minutes before my work day officially starts to write this. We are hitting the road tomorrow, for our move to Olympia. There are certainly things I will miss about Alaska, like the ravens, the aurora, the endless summer days, the sheer vast beauty of the place… There are a few things I won’t miss though, like the smell during break-up, the short winter days, the bitter cold (I don’t need to do another interior winter to know that -50F is no fun), snow (no really, I’ve had my share, Washington state could outlaw it for all I care at this point.)

    Anyhow, the move (as I said) happens tomorrow and we will be on the road for several days. The last couple times I drove the ALCAN I did it in 3 days or less. This time we are taking our time, seeing a few things along the way and generally trying to be sane about it. As I find wireless on the way I will update twitter so those who care can see where we are.

    New Year, time to (finally) catch up (?)

    January 1st, 2008 by sjan

    As we start the new year I find that I am sadly fallen behind on things like this blog, social networking, reading and news aggregation, and generally anything unrelated to work or the daily functioning of the household. In other words, I have been working too much and relaxing too little. Well, that will have to change. Of course, that means I have to get back into a routine, which seems to be difficult when making major changes, such as, oh, starting a new job in a new town.