It is with great sorrow that I write this blog post. This evening our sweet little Rocky passed on. She went quietly with my wife by her side while Thing One & Thing Two were playing at a friend’s house.
Her health had been worsening over the past month, and I had just taken her to the Vet yesterday to see what we could do. Unfortunately, she was quite old already when we brought her into our family (full story) and she had an overactive thyroid, liver disease, and kidney issues. The vet gave me the choice to try and treat her or say good-bye. We would not be able to hospitalize her, nor afford all of the treatments she required, and the vet said that even if we could do all of that, that she would most likely not live much longer after all procedures. I was not ready to say good-bye, so I opted to make her as comfortable as possible and asked the vet to re-hydrate her. I really thought she was going to improve more than she did, but her condition only improved a small amount and lasted just about 12 hours.
Our family hopes that she was not suffering in these final days and wonder what kind of a life she had before we met her almost a year ago. The girls each provided small memorial items for me to bury with her and assisted in covering the grave. Loss is not a new thing to our family and our time with Rocky was so short. It still stings a bit though and each of us will deal with it in our own way.
It all began with an email to our neighborhood watch group titled: Found Kitten. I’ll fill you in on the entire story of how Rocky came to live with us later, but for now… We have found out that our 9 year old Thing Two is allergic to cats. Her allergies have become harder and harder for her to deal with now. Also, we’re having to keep Rocky closed in the kids’ room to keep her away from our 75lb yellow lab, Sonny. This is no longer a healthy lifestyle for Thing Two any more than it is for Rocky. We are now reaching out to all of our friends and family to try and find Rocky a better home.
Let’s rewind back to us receiving that Found Kitten email… We already had our 2 year old Yellow Labrador, Sonny, and we wanted a cat as well, but knew that the cat would either need to be a kitten or one that was already comfortable around dogs. So seeing this message raised our hopes that if no owner was identified, we may be able to get a little kitten for our family and we reached out to the neighbor stating that we’re interested if no owner was found.
One week later, the neighbor asked us if we were still interested. The next morning, I drove Thing One & Thing Two a few blocks with a nice clean kitty carrier to meet and pick-up the kitty. The neighbor that found this cat was unable to bring the cat into her home because she already had an indoor cat that had a contagious infection, so she was tending to this stray outside. She had begun calling the cat Rocky because of her raccoon-like tail. Rocky was so little we too thought she was a kitten and she was sweet and accepting of us so we agreed to take her in.
The following day I took her to our vet to have her checked and was shocked to find out that this “kitten” had an estimated age of at least 13 years! She also had a thyroid issue that required medication. So, one day and over $300 of vet costs later, we went from having a new kitten, to having a sick old cat. It was hard to take, but we loved her no less than before. In fact, maybe a little more because we now felt some extra compassion for her age and condition.
That was where our good experiences lessened and some unfortunate realizations began to manifest. First of all, Rocky did not like Sonny one bit and attacked him multiple times after he would make the mistake of rushing up to sniff her. This required us to keep them separate. Rocky’s realm became the kids’ room and any time Sonny would be either out on his walk or snoozing on our bed, we would let Rocky have free reign of the entire house. We hoped that the separation strategy we implemented would become part of Rocky’s and Sonny’s routine and we could all live harmoniously together. Instead we feel more and more that Rocky is wanting to be out in the rest of the house with all of us (minus Sonny) and that we’re making her life unpleasant.
Today I reached out to a local no-kill animal shelter and asked if they could take her. I was told by a friend about this particular shelter and that I should be prepared to offer a large cash donation for taking Rocky because of her age. Our family worked hard to save up $300 over the past two months. Unfortunately, my idea of a large donation and this shelter’s needs are very far apart. They told me that they could only take Rocky with a $2,500 donation. I don’t blame them at all as I know they would take good care of her and tend to all of her medical needs (which are not cheap).
So I am asking if there is anyone you know of that may be willing to give this sweet kitty a good home? She is gentle with all people (including children) and loves attention. If you or someone you know can help, please contact me here.
It all started with an alert on my Klout account that said I had a new perk. Up to that point, the perks I had seen available to me were mostly offers resembling what you could find on Groupon or LivingSocial. This particular perk however was about a car. A car? Hmmm… Okay, you got my attention, but I definitely could not afford a new car even if this provided a huge discount. So, I read further and discovered that this perk was offering me three days with a 2012 Chevy Volt at no cost to me! It took me a few times of reading through it all to finally accept that this was actually what it appeared to be. After getting past my initial doubts, I quickly claimed the perk and completed the additional information it required which was basically just selecting from available dates and providing the zip code for where I would like it dropped off. Dropped off? Wow! I wouldn’t even need to go pick it up. The only problem was that the first available date was a full three months away, so I’d have to wait a while.
Well that was then. Today completed my three days with the Volt and I wanted to document and share my experience here on my blog. So here it goes…
Klout? Perk? Free Car? What Are You Talking About?
Every time I talked about this with a friend or a neighbor or a relative, these are the questions they would ask me. So I thought we should get these questions out of the way before I continue.
Klout is a website that (as they say it) “measures influence online” by scoring social network users’ public interactions. Simply put, if someone that has a large number of followers on Twitter interacts with my Twitter account (@erraggy), Kout would boost my score more than interactions with lower follower count users. There are a lot of variables involved and Klout doesn’t share all of the details to their proprietary scoring algorithms. Suffice it to say, my time working at MySpace garnered me connections to some pretty popular people in online media. That and how active I am on all of my social network accounts contributed to getting me past the minimum score of 40 for this perk.
Okay, so now you (hopefully) understand how Klout works, but why would Chevy offer Klout users with a certain minimum score a free car for three days? Well I don’t know for sure, but I would think that Chevy is looking for creative ways to spread the word about this new offering in alternative fuel vehicles. For instance, before reading this post, how many of you knew what makes the Volt different from any other electric vehicle like say the Nissan Leaf? I didn’t know the answer to that question before receiving this perk either. Turns out, the Volt also has a 1.4L Gasoline engine with a 9+ gallon fuel tank. But unlike my Hybrid Prius C, the gasoline engine in the Volt does not send any power to the wheels (not directly at least). Instead, the gasoline engine is only used as an electric generator to both power the electric motor as well as charge the battery. So even though the Volt only offers a range of 36 miles from a fully charged battery (roughly half of the Leaf’s EPA rating), the gasoline engine can kick in after the battery is depleted and take you an additional 326 miles. So by adding these to ranges together, you get an electric motor powered vehicle with a range greater than the recently released Tesla S.
Looking over my previous paragraph, I can see how hard it is to describe the Chevy Volt. However, if I were to have a conversation with you where you could ask me questions about it and I could respond, I’m pretty confident you’ll get a much better understanding. This is why I think Chevy has reached out to Klout and its users by offering this perk.
August 1st, 2012 at 10:00am – The Drop-off
Having pulled a 3am night working to keep Gravity’s huge amount of data moving smoothly through our not-huge-at-all Hadoop cluster (25 nodes), I almost forgot that I would have a visitor stopping by the house at 10am. I awoke just before 9am and got the morning chores out of the way (well all but Sonny’s walk) before 10. The driver called to tell me he was here with the car at 10:30 (small scheduling snafu on the fleet management company, but they handled it well) and I went out to meet him. It was a silver-ish sedan (pictured top-left) and was shiny new and fully loaded with all of the options. I was given the key/fob as well as a key-card for ChargePoint charging stations so I could use them without having to pay out of my own pocket.
After signing some paperwork, my three days began, but I first had to walk a very impatient Sonny (our 2 years old Lab), so even though I got the car handed over by 10:35am, I didn’t even drive it until almost 11. My first jaunt was to Gravity HQ in Santa Monica. After driving my very economical-eco-friendly-but-gutless-as-a-vespa Prius C for a month, the Volt felt very zippy in just normal driving mode. Just for kicks though, I switched it into ‘Power’ mode on the Marina Freeway and I was really impressed by its low-end torque. It’s a weird feeling to step on the accelerator and feel the G-forces but hear no change in noise. Fun though! My drive to work ended with me realizing that I had forgotten to switch the parking permit from my car to the Volt. No biggie. LOL.
Well the drive home was nice as I enjoyed the satellite radio blasting as I ignored the usually annoying traffic all around. The Bose sound system is really nice and the fact that there is just about no engine noise at all, you have a great environment to listen to it in. Even though I had my foot in it on my way to work and had the AC pumping full both directions, I still had six miles of range remaining on the battery when I arrived at home. My one-way distance between home and work is just over 8 miles and the battery was not fully charged when it was delivered, so it showed 26 miles remaining when I got it.
When it came time to charging this baby I was concerned. The house we live in has a single car garage and it is FULL of our stuff that did not fit into the house when we moved in last year. Also, there is only one power outlet and it is almost all the way in the back (furthest from garage door) for the washer and dryer. There is a heavy-duty surge protector that allows us two additional outlets (five-outlet surge protector: washer, dryer, light). I checked the manual and although they do not recommend it, they do state it is acceptable and safe to use an extension cord. The key is that the cord must be 12 gauge or thicker and contain three prongs at both ends. Lucky for me we had just that. The car comes with a charging unit that has about a 12 foot cable and a base that has indicator lights to tell you if you can charge or if there is a problem. After I got it all setup, I had all green lights for a safe and good charge. Charging time showed just under eight hours to full.
August 2nd, 2012 – Full Day
After I was ready to go the next morning, the car was fully charged and ready to go. It now showed 36 miles of range for the battery. I got in and now setup my phone via Bluetooth with ease. It is initiated by a few control button presses, but the rest of the process is all voice command on the Volt’s side of things. I just needed to type the pairing code into my phone as it was read to me. It was nice that the car repeats the code until the pairing is complete. Much easier than me reading the numbers from one screen to enter onto my phone. With the phone now paired and the AC set to ECO Mode, I was off for a day of conservative driving. I wanted to see just how far I could go without getting down to the gasoline engine. Oh, I also remembered to grab that parking permit for the lot near the office.
Now that I had read a good portion of the manual, I tried to let the instruments guide my acceleration and braking more for extending the range of the battery. The gauge I’m referring to resembles a carpenter’s bubble level. With acceleration displayed as the distance above the center mark and braking displayed as the distance below the center mark. They give you an animation of three leaves rotating within the bubble when you are keeping it within the efficient range and a solid bubble when you exceed it. I found you could accelerate pretty good (and faster than my Prius C) while still keeping the cute little leaves, but for some reason, the gauge seemed to be hypersensitive to braking as the slightest stop would pull the bubble below the happy little rotating leaves. This seemed even more odd to me as I know that the Volt incorporates regenerative braking, so I would think more braking, more charging of the battery, more range conserved. Oh well.
Driving in this conservative manner was easier than it is in my Prius; specifically, I could accelerate while keeping the rotating leaves and not frustrate the drivers behind me. So if that’s all it takes for the Volt to get all of those miles it says the battery will take you, I’m impressed. Also as I mentioned earlier, I had now set the climate control to ‘ECO Mode’ whereas it was delivered to me in ‘Comfort Mode’. If you know me well, you’ll know that I can’t take the heat, and when I say heat I mean any temperature higher than 74° F. With ‘Comfort Mode’ enabled, I remain as cool as a cucumber with the desired temperature set to 71° F. In ‘Eco Mode’ however, I needed to set the desired temperature down to 66° F. I’m really not sure if me doing this cancels out the ECO-ness of ‘ECO Mode’, but I can say that it did keep the fan blowing at a much lower RPM than when in ‘Comfort Mode’. I arrived at the parking lot with 29 miles remaining on the battery. I had intended on taking a few fellow Graviteers out to lunch in the Volt, but we had food ordered in so enjoyed the free grub instead and decided I would do some sort of fun driving after work.
When I arrived home that night Thing One & Thing Two (this is how I refer to my daughters publicly online) were so excited and they not only wanted to go for a ride, but they also wanted to bring their friends. This was when I discovered the first thing that I didn’t like about the Volt. The back only seated two, and I don’t mean that it was too small to fit more than two comfortably, I mean there were just two bucket seats with a hard console in between them. I’m assuming something very important was beneath this console, but was frustrated that my tiny Prius C seats more than this much larger sedan.
The kids wanted dinner and a movie, but of course none of the four wanted to be left out. I came up with a plan to allow equal friend ride time. I would make two separate trips with my two kids and one of the friends for each. The kids were satisfied and also had no problems deciding which would ride to get dinner and which would ride to get the movie from the video store. Boy did they enjoy themselves in the Volt. They acted as if they were riding in a plush stretch limo! The highlight of the night of joy riding came in the form of an 80’s hit that came on the satellite radio. Oh Yeah by the Swiss band Yello. I really wish I could have video recorded them for this. I also kept the car in the ‘Sport’ driving mode and would launch it to the speed limit from each light. Good fun for all!
Charging on this night proved to be a little more challenging than I expected. I mean, I had already setup the cords and all the previous night so I didn’t think there could be any issues. Turns out having both the dryer AND the car charger both drawing from the same breaker would prove to be too much. I was alerted to this in two ways. First my wife asked me if I had turned off the lights in the living room, and second when the car sounded an alarm. It wasn’t as loud as if you hit the panic button, but annoying just the same. I resolved to finish the laundry first, and then start charging the car. All’s well that ends well.
August 3rd, 2012 – Final Day
Seeing that so far I had mostly driven the Volt as just a commuter, I decided to take the day off for our last day with it and take the whole family for a drive. Nothing big, but my wife hadn’t even been inside the car yet. We had a very nice time rolling out to Fairfax and 3rd to visit one of our favorite places: Farmers Market. After brunch and minor shopping, we dropped mom off at home and I took the kids to Jamba Juice for a snack and then on to a local park for fun. The service handling drop-off and pick-up was scheduled to pick up the Volt at our house at 4pm. I managed to get home with the kids by 3:30, but one family member had missed out on the Jamba goodness, so I decide to make a run for it in ‘Sport’ mode! I made it to Jamba Juice by 3:37 and wouldn’t you know it the pick-up crew called to let me know they were waiting at my house for the car? They didn’t mind waiting and were fine with me getting it back home by 4. I still had to order. Jamba Juice still needed to make the smoothie, and then I needed to get all the back. It is only 2 miles, but the area is very busy on a Friday at this time so it was a real challenge. All I can say is… I really love that car in ‘Sport’ mode! I made it back home before 4pm and the kids and I waved farewell to the Volt.
What Did I Think Of Chevy’s Volt?
Overall the Volt proved itself to be a wonderful car to drive that the whole family (plus a couple neighbor kids) really loved. Page One Automotive, the fleet service that handled the delivery and pick-up, made the experience really special (please don’t judge them by their website). Without their services, it would have just felt like a cool rental car, but with them it made me feel special and valued. One thing I must point out when it comes to the kinds of cars I’ve owned is that I usually get the version of a model with little or no added options. This version of the Volt was pretty much fully loaded. I checked out Chevy’s website and basically built the version we had and it came out to an MSRP of $45,495. I can honestly say that even though I would love to own one of these wonderful vehicles, I couldn’t even afford their base price of $39,145 much less could I afford one with so many of the things that had me sold on it as a great car. So thank you Chevy. Thank you Page One Automotive. And thank you Klout for providing me with a truly unique and wonderful opportunity!
I began reading Margaret Cheney’s biography, Tesla: Man Out Of Time, this week and after only completing five chapters I am deeply saddened by how he was treated and cheated time and time again. I somehow feel a bit guilty for the behavior of my country. Maybe I would feel this way if I saw such change in how we operate today, but what I see now seems so similar to the cutthroat tactics described at the dawn of our Industrial Revolution.
If an inventor like Tesla emerged today with a mind on fire with ideas that could change the world, how would they be treated? My take…? This new inventor’s ideas would be treated as resources to extract and profit whereas the vessel carrying them would be thought of as a necessary nuisance to deal with.
How can we truly change our future from one of profit thirsty greed, to one of innovation hungry contribution? To a world in which progressing people’s lives is valued much higher than increasing one’s wealth. Are we raising today’s children to become tomorrow’s problem solvers or are we instead training them to work the existing system? What do we want most from the education we all speak of as one of the most important things we can give to our children? Is it success? What if instead we focused on teaching our children to solve new problems from within themselves? Teaching them to solve problems that have already been solved in the form of testing can only keep them in line with some subjective standard. Does anyone honestly think that tomorrow’s problems will follow the same answer key used to grade today’s tests?
Nikola Tesla did study. He had an astounding amount of discipline within himself to achieve. A major difference though is that he worked to achieve that which no one else had ever even imagined. That is the kind of discipline I want for my own children. Yes, study what has been done and gain understanding of that which interests you. Don’t stop at passing a test on it though. Don’t stop at all. Surpass what has already been achieved and also continue to learn knew ways to do them with even less effort.
When Tesla was unable to gain capital for his own ideas, he worked at improving others’. Progress was the game he was in and I cannot think of anyone who played it better. Each set back was transformed into a new opportunity. Some of his improvements to Thomas Edison’s designs were even awarded patents.
If you agree with me that teaching our children to solve problems from within themselves is more valuable that training them how to solve problems they expect to see on a test, how best do you think this may be achieved? Well look at that… I’ve got myself an opportunity here don’t I?
[image credit wikipedia]
I’m currently working on a content ingestion system for Gravity‘s personalization and analytics systems. We already have in place a powerful and flexible article extraction library in place that we open sourced as Goose, which does a great job at identifying just the article text and optionally even its primary image. The problem is that all of the meta data for an article is not easily extracted from all sites the way we can algorithmically find which text is the article itself and which image is the best candidate to represent the article. Goose provides the mechanism to facilitate such extractions, but it is based on the DOM structure used by each publisher for their posts.
Which brings me (and probably a lot of you) to RSS. Not only does RSS specify an article’s content, it even specifies a lot of that rich meta data we need. I thought I recalled RSS provided author meta data as well as image meta data, but when I got to work on exploring RSS as either a replacement of or in addition to Goose, I was a little surprised to find this wasn’t exactly the case. As described in the RSS Advisory Board’s Best Practices Profile, there is in fact an `author` element, however, it is specifically intended for the email address of the author and nothing else (although you can append a parenthesized name as well), and there isn’t an `image` element within each item at all.
RSS Specification version 2.NoMore
Since RSS has been frozen since March 30, 2009, all extensions to RSS are to be done, as the RSS Advisory Board states: “Subsequent work should happen in modules, using namespaces, and in completely new syndication formats, with new names.” Well I agree that all basic elements are well defined and therefor no longer require periodic updates, but it is very disappointing to me that after over 2 days of research, I have not found a single work that describes even as much author meta data that Atom 1.0 provides.
What I’m Looking For
To be clear, the elements I am looking to be additionally defined for any rss->channel->item should be encapsulated within some named author element. Since rss->channel->item->author is already defined, for the purpose of clarity I will use a fictitious XML Namespace (xmlns:profile=”http://somedomain.tld/rss/2.0/modules/profile”) for new elements:
... <profile:name>Robbie Coleman</profile:name> <profile:uri>http://robbie.robnrob.com/author/robbie/</profile:uri> <profile:avatar>http://1.gravatar.com/avatar/dc77b368ec1f077dcc4aca3b9c003d2d</profile:avatar> ...
A couple people pointed out (correctly) in the comments that atom’s author element provides [some of] what I need, but there is no place for an avatar uri within Atom 1.0, so I’m still short of the full solution.
Another point I would like to better state is that I’m looking for these additional fields to be present within other sites’ RSS so that I may consume it in a standard way. There are some sites that provide everything I’m looking for, but each of them have done it in their own way which makes my implementation for consuming it rather janky.
I now leave this up for discussion, which actually began on twitter here:
Thing Two drew this for me this morning. I love her vivid imagination!
In a recent comparison of different text extraction algorithms, Gravity’s open source project: Goose tied for second place and was even written up over at Read Write Web! I find this very exciting because our project is still quite young and actively in development whereas the algorithms in close standing are mostly well established and semi-finalized. Another interesting point is that most of the competition was built by teams of researchers, you know… Doctors in their fields!
The graph below from Tomaž Kovačič‘s study shows only a small amount of the data he collected in his analysis. If you are curious of how he compared these algorithms, I highly recommend you head over to his post. He does a great job exposing the details behind his analysis.
Goose’s wiki provides a very detailed explanation about what Goose is and how it works, and also touches on the original need we had at Gravity behind its creation. Jim Plush wrote the first version from the ground up on his own and only recently gave me commit access to the repository. By the time I got into the project, it had all the bells and whistles required to compete in the analysis completed by Kovačič. My contributions to Goose have been to extend it to allow for more specific extractions of additional meta data outside of the primary content and have no effect on its standings above.
Such a utility can be applied to a wide variety of web content analysis problems, and I’m really glad Plush decided to share it with the rest of the open source community. At Gravity, we have been building a lot of exciting (to me at least) technology and most of it is held dearly by us and needs to remain a company secret as they make up a large part of our company’s overall value. When it comes to analyzing the content out here on the web, Goose can be looked at as our trusty messenger delivering our system plenty of content to analyze without a lot of the noise that comes along with it on the web pages the content is sourced from.
If you are looking to mine some of the golden nuggets of information that is buried under a ton of ads, peripheral links, site menu structures, and other distracting noise, then why not take a look at what Goose has to offer? If you find anything you think Goose may be lacking or have some ideas on anything else that may be improved, let us know on our Github repository: https://github.com/jiminoc/goose
So last night while I was traveling home via public transit, I was also trying to keep in contact with my wife via instant messaging. This is a common practice for my wife and I so that I can enjoy my trip more and she can know that I am safe and getting closer to home.
Well things seemed fairly normal in the conversations I was having except it did seem that she was having a harder time than usual understanding what I was saying. I had a long wait between buses and I was getting pretty hungry, so I started instant messaging questions about my dinner options for home. In come responses from my wife that they had “GoodStuff” for dinner and when I asked if there was any left for me, a resounding “Yes!” with smileys came back. I knew that they must have finished eating hours ago, so I made a request for her to start reheating it so that I could eat quickly and then move on to doing bedtime for our two daughters. I was so happy when a quick IM response came back saying: “Sure! OK!” and again a long line of various smileys.
More small chat continued until I arrived home to find an empty table and empty stove. Although it was nice to see that everything was so neat and clean, I was a little disappointed that there was no hot dinner for me after the IM conversation we just had. I then noticed that my wife was busy with our laundry and my 7 year old daughter (aka: Thing Two) was next to her holding my wife’s phone (we use our phones for instant messaging). Not only was Thing Two happy to see me, she was also laughing a lot more than usual. I asked my wife about the IM conversation we had moments ago, and she looked a little confused. This is when Thing Two jumps up and says: “I fooled you Daddy! You thought I was Mommy!” We all had quite a laugh.
It was just shocking at how I was not able to notice the difference. My wife tends to be very terse in her IM communication, so it did not seem odd for me to ask a long question and then receive a small “ok” response. Boy has Thing Two come a long way in her pranks. I’m both proud of her and a little scared for what we’re in for as well.
I tend to focus less on my social networks when I have my head down coding. This time however, its effect on my klout score is pretty dramatic. LOL
I guess this is just a consequence of the typical life:work balance, but I wonder how other tech professionals maintain such a high score while also paving new roads in their field.
A couple of examples of the type of tech peeps I’m talking about:
Anyway, I’m not complaining here people. I am just confused about how others manage to keep up their tweeting/blogging while “deep in the cut” of some tech project.
Do any of you have any tips? Please speak up here and let me know.