Just got back from a business trip to Alabama. One problem with living on the west coast is that every time you go back east, you have to wake up far too early according to the home timezone. Since John and I arrived at our host's workplace at 8 am every morning, we met up at 7 am for breakfast and travel, which meant I was getting up around 6:15 a.m. --central time. My body thought it was 4:15 a.m.
It's obviously worse when we travel to Boston, which I did last month and which it looks like I'll be doing again in a week. Boston is on Eastern time, which means even earlier mornings. It wouldn't be so bad if I could then go to bed around 9 p.m. Pacific time, but the trials and troubles of integration trips usually mean I lie awake in the hotel bed with my mind racing 100 miles per hour, trying to think through problems and find solutions and playing out scenarios in my mind for how things could have gone better.
At least our most recent trip to Alabama was a success. Not the perfect success we could have hoped for, if such a thing exists, but a reasonable success. There's always so many variables we have no control over, and given our time constraints, there's often no time to implement the solution we want to.
On the last two days before the trip, I coded up a "follow" behavior. The idea was for the robot to use the laser range-finders mounted on it to track a person and follow them around. When we were out behind our building testing it out, there were a handful of people from our neighboring businesses watching us, and it was amusing to hear their conversation. "Do you see that?! That's crazy! It's following him like a dog! That is so cool!"
Sometimes I think I get a little jaded working with robots all day, and it isn't until I hear comments like theirs, or like the manager's at the company in Alabama, talking about how cool our work is, that I remember that it actually is a pretty cool job.
Sunday, July 17, 2011
Monday, June 27, 2011
Chicken Run
A lot has been going on. Fun progress with robots, a very interesting and educational business trip to Boston, Child's friend coming to visit for a couple weeks.
And a chicken in our house.
And a chicken in our house.
Friday, June 17, 2011
Tithing
I've mentioned on this blog before that I pay tithing, and that I feel that I receive a lot of blessings as a result. Here's the most recent:
Every now and then, my previous employer will call me up and ask me to do small jobs for them. Shortly after we moved into our new house, he called me up and asked if I could do a project. It was a fairly good-sized project, and I told him my estimate would be $1500-$2000, but I ended up turning it down because I wanted to spend my few free evening hours working on my novel rather than programming.
Well, the next day, we got a visit from the water company. Apparently our house was using 15,000 gallons of water a day. We called a plumber who discovered there was actually a couple leaks--one of them underneath the concrete slab that our house was built on. The estimate? $1590.
Well, since we had just bought a house, we had no money left. Without the side-job from my previous employer, we would have been in trouble. I called up my old boss, told him I'd do it, and spent the next couple weeks of evenings working on it.
The final bill was $1725, which after I paid tithing, covered all but $40 of the plumbing bill.
Every now and then, my previous employer will call me up and ask me to do small jobs for them. Shortly after we moved into our new house, he called me up and asked if I could do a project. It was a fairly good-sized project, and I told him my estimate would be $1500-$2000, but I ended up turning it down because I wanted to spend my few free evening hours working on my novel rather than programming.
Well, the next day, we got a visit from the water company. Apparently our house was using 15,000 gallons of water a day. We called a plumber who discovered there was actually a couple leaks--one of them underneath the concrete slab that our house was built on. The estimate? $1590.
Well, since we had just bought a house, we had no money left. Without the side-job from my previous employer, we would have been in trouble. I called up my old boss, told him I'd do it, and spent the next couple weeks of evenings working on it.
The final bill was $1725, which after I paid tithing, covered all but $40 of the plumbing bill.
Sunday, May 29, 2011
Uber-nerd
"Does dreaming about Captain Picard teaching me how to play chess make me an uber-nerd?"
"No, saying 'uber' makes you an uber-nerd."
"No, saying 'uber' makes you an uber-nerd."
What does this say about me?
While driving in the car yesterday, I flipped on the radio and caught the tail end of a program on NPR. It seemed to be profiling somebody:
"He just went out and did things! He was spontaneous. Didn't stop to think, didn't worry about the consequences."
You know, I should be more like that guy, I thought. I should be more spontaneous--go out and do things. Live a little.
Then the program ended. "This has been 'Profile of a Psychopath' on NPR," the announcer said.
Hmm. Maybe I should be a little more careful about who I desired to emulate...
"He just went out and did things! He was spontaneous. Didn't stop to think, didn't worry about the consequences."
You know, I should be more like that guy, I thought. I should be more spontaneous--go out and do things. Live a little.
Then the program ended. "This has been 'Profile of a Psychopath' on NPR," the announcer said.
Hmm. Maybe I should be a little more careful about who I desired to emulate...
Monday, May 16, 2011
Robot Peripherals
I've been working for 5D Robotics for almost a year and a half now. Early on, a large part of what I did was write drivers for various USB, serial, and Ethernet peripherals that we'd plug into our system.
That led to a realization. The robots that we controlled using our Behavior ENgine were nothing more than peripherals themselves. They plugged into the computer using the same USB, serial, or Ethernet systems as any other peripheral, and I had to write a driver for them just like any other plug-n-play device.
That realization sculpted how I designed the Behavior ENgine. Rather than having everything centered around a robot, I designed the Behavior ENgine so a robot was nothing more than an additional peripheral. Designing it that way has had a couple benefits.
One, there is nothing special I have to do when I integrate our Behavior ENgine with additional robots. I simply have to write an additional driver for the device. That makes our Behavior ENgine highly portable between robots, if you want to view it from the robot's frame of reference. It also makes our code clean and easy to maintain, since everything robot-centric is pushed down inside a driver instead of in the core of the Behavior ENgine.
Two, it makes the robot unnecessary. This was a benefit I didn't anticipate, since I never anticipated using our robot-controlling software without a robot. However, it turns out that the computer is useful even without a robot attached. For example, the computer could have other sensors plugged in, e.g. chemical or radiation sensors. Since the robot is unnecessary, the user can pull the computer off the robot and walk around with just the computer and sensors, reaching places the robot can't get to or even leaving the sensors at a position to monitor the area.
That led to a realization. The robots that we controlled using our Behavior ENgine were nothing more than peripherals themselves. They plugged into the computer using the same USB, serial, or Ethernet systems as any other peripheral, and I had to write a driver for them just like any other plug-n-play device.
That realization sculpted how I designed the Behavior ENgine. Rather than having everything centered around a robot, I designed the Behavior ENgine so a robot was nothing more than an additional peripheral. Designing it that way has had a couple benefits.
One, there is nothing special I have to do when I integrate our Behavior ENgine with additional robots. I simply have to write an additional driver for the device. That makes our Behavior ENgine highly portable between robots, if you want to view it from the robot's frame of reference. It also makes our code clean and easy to maintain, since everything robot-centric is pushed down inside a driver instead of in the core of the Behavior ENgine.
Two, it makes the robot unnecessary. This was a benefit I didn't anticipate, since I never anticipated using our robot-controlling software without a robot. However, it turns out that the computer is useful even without a robot attached. For example, the computer could have other sensors plugged in, e.g. chemical or radiation sensors. Since the robot is unnecessary, the user can pull the computer off the robot and walk around with just the computer and sensors, reaching places the robot can't get to or even leaving the sensors at a position to monitor the area.
Friday, May 06, 2011
Yard Sale!
In about a week, my dad will be driving from Utah to Mexico to take part in a service project. On the way, he's going to stop here in California to pick up my brother and help with some projects around the house.
One of those projects is trimming some palm trees. He's bringing a chainsaw, but until today I haven't had much luck finding an extension ladder. On our way out the door to visit the beach, however, we spotted a yard sale literally a block away from our home.
Normally I never stop at yard sales, but for some reason I decided to pull over, even though we were late. There, lying in the grass, was an extension ladder! And a dolly, which I've been wanting (probably thanks to all our moving), and a carpenter's square, and a little tricycle, and some horseshoes. Thanks to Child's shrewd bargaining, we got the whole lot for $57. Definitely a good find.
One of those projects is trimming some palm trees. He's bringing a chainsaw, but until today I haven't had much luck finding an extension ladder. On our way out the door to visit the beach, however, we spotted a yard sale literally a block away from our home.
Normally I never stop at yard sales, but for some reason I decided to pull over, even though we were late. There, lying in the grass, was an extension ladder! And a dolly, which I've been wanting (probably thanks to all our moving), and a carpenter's square, and a little tricycle, and some horseshoes. Thanks to Child's shrewd bargaining, we got the whole lot for $57. Definitely a good find.
Friday, April 29, 2011
Punishment
| Day 1 | Friend: | "Could you do me a favor? I need someone trustable and unswayable such as yourself to change my minecraft account password and not give it back to me until after finals. If I try to convince you to give it back to me before the semester is over, just tell me to work on my homework or to do something productive." |
| Me: | "Sure. Done." | |
| Day 2 | Friend: | "The new minecraft update is out! Let me have the password, just to check it out. Pls?" |
| Me: | "No." | |
| Day 3 | Friend: | "Man, giving my minecraft password to you was both the best and worst decision, depending on how I'm feeling about it. I know you'll never give it back, and so I'll have to stay on task... but then I know I'll never be able to convince you to give it to me either. Well now, you should try the game out yourself. heh heh" |
| Me: | "And turn into an addict like you? Nuh uh." | |
| Friend: | "I'm not an addict! I like wasting time by assembling virtual blocks in fun shapes." | |
| Day 4 | Me: | "I'm changing your profile picture to a picture of Sean Hannity." (Okay, maybe I baited him a little.) |
| Friend: | "Curses! You'll ruin my reputation!" | |
| Me: | "Well...I can make it Glenn Beck if you'd prefer." | |
| Day 5 | Friend: | "Can I minecraft for a bit? I want to check out the new features." |
| Me: | "No." | |
| Friend: | "Dreeeeeek!" | |
| Later | Friend: | "I'm dying of productivity, I've already gotten 2 assignments done early. Just a little minecraft wouldn't hurt..." |
| Day 6 | Friend: | "Can I have my password? I have nothing to do this weekend." |
| Me: | "Except study?" | |
| Friend: | "Study? I'm done with homework!" | |
| Me: | "I would have thought you'd have forgotten about minecraft by now." | |
| Friend: | "Well I've given up trying to guess the thing you changed the password to." | |
| Later | Friend: | Offensive emoticons |
| Later | Friend: | "I'll buy you your own account, just give me the password" |
| Friend: | "I thought I could trust you" | |
| Friend: | "WHY THE HECK DID I DO THIS!" | |
| Day 7 | Friend: | Suspicious silence |
| Day 8 | Friend: | Suspicious silence |
| Day 9 | Friend: | Suspicious silence |
| Day 10 | Friend: | Suspicious silence |
| Day 11 | Friend: | Suspicious silence |
| Me: | Checks minecraft account. Can't log in. Friend must have reset password. | |
| Me: | "Can you look me in the eyes and say you haven't played minecraft in the last week?" | |
| Friend: | "A person needs balance in their life..." | |
Right-handed rotation matrix for roll/pitch/yaw
Specifically, an three-dimensional orthogonal matrix corresponding to a counter-clockwise/right-handed rotation where roll is the rotation about the x-axis, pitch is the rotation about the y-axis, and yaw is the rotation about the z-axis.
You wouldn't think this would be hard to find online, but go figure.
Thanks to Phaedrus for his explanations and...well, doing most of the work.
Note: this matrix effectively yaws first, then pitches, then rolls. For the opposite order (and the one I ended up using), look below.
And to put it another way:
//Top row
rotation[0][0] = cos(pitch)*cos(yaw);
rotation[0][1] = -sin(yaw)*cos(roll) + cos(yaw)*sin(pitch)*sin(roll);
rotation[0][2] = sin(roll)*sin(yaw) + cos(yaw)*sin(pitch)*cos(roll);
//Middle row
rotation[1][0] = cos(pitch)*sin(yaw);
rotation[1][1] = cos(yaw)*cos(roll) + sin(pitch)*sin(yaw)*sin(roll);
rotation[1][2] = -sin(roll)*cos(yaw) + sin(pitch)*sin(yaw)*cos(roll);
//Bottom row
rotation[2][0] = -sin(pitch);
rotation[2][1] = cos(pitch)*sin(roll);
rotation[2][2] = cos(pitch)*cos(roll);
You wouldn't think this would be hard to find online, but go figure.
Thanks to Phaedrus for his explanations and...well, doing most of the work.
Note: this matrix effectively yaws first, then pitches, then rolls. For the opposite order (and the one I ended up using), look below.
| [ | cos(pitch)*cos(yaw) | -sin(yaw)*cos(pitch) | sin(pitch) | ] |
| cos(yaw)*sin(pitch)*sin(roll) + sin(yaw)*cos(roll) | -sin(yaw)*sin(pitch)*sin(roll) + cos(yaw)*cos(roll) | -cos(pitch)*sin(roll) | ||
| -cos(yaw)*sin(pitch)*cos(roll) + sin(yaw)*sin(roll) | sin(yaw)*sin(pitch)*cos(roll) + cos(yaw)*sin(roll) | cos(pitch)*cos(roll) |
And to put it another way:
//Top row
rotation[0][0] = cos(pitch)*cos(yaw);
rotation[0][1] = -sin(yaw)*cos(pitch);
rotation[0][2] = sin(pitch);
//Middle row
rotation[1][0] = cos(yaw)*sin(pitch)*sin(roll) + sin(yaw)*cos(roll);
rotation[1][1] = -sin(yaw)*sin(pitch)*sin(roll) + cos(yaw)*cos(roll);
rotation[1][2] = -cos(pitch)*sin(roll);
//Bottom row
rotation[2][0] = -cos(yaw)*sin(pitch)*cos(roll) + sin(yaw)*sin(roll);
rotation[2][1] = sin(yaw)*sin(pitch)*cos(roll) + cos(yaw)*sin(roll);
rotation[2][2] = cos(pitch)*cos(roll);
Note: this matrix effectively rolls first, then pitches, then yaws. This turned out to be the one I used for my system.| [ | cos(pitch)*cos(yaw) | -sin(yaw)*cos(roll) + cos(yaw)*sin(pitch)*sin(roll) | sin(roll)*sin(yaw) + cos(yaw)*sin(pitch)*cos(roll) | ] |
| cos(pitch)*sin(yaw) | cos(yaw)*cos(roll) + sin(pitch)*sin(yaw)*sin(roll) | -sin(roll)*cos(yaw) + sin(pitch)*sin(yaw)*cos(roll) | ||
| -sin(pitch) | cos(pitch)*sin(roll) | cos(pitch)*cos(roll) |
//Top row
rotation[0][0] = cos(pitch)*cos(yaw);
rotation[0][1] = -sin(yaw)*cos(roll) + cos(yaw)*sin(pitch)*sin(roll);
rotation[0][2] = sin(roll)*sin(yaw) + cos(yaw)*sin(pitch)*cos(roll);
//Middle row
rotation[1][0] = cos(pitch)*sin(yaw);
rotation[1][1] = cos(yaw)*cos(roll) + sin(pitch)*sin(yaw)*sin(roll);
rotation[1][2] = -sin(roll)*cos(yaw) + sin(pitch)*sin(yaw)*cos(roll);
//Bottom row
rotation[2][0] = -sin(pitch);
rotation[2][1] = cos(pitch)*sin(roll);
rotation[2][2] = cos(pitch)*cos(roll);
Thursday, April 28, 2011
Sunday, April 17, 2011
Equations
Am I the only one who finds it amusing that recreational drug proponents clamor for the "freedom to choose" to do something that removes their freedom to choose?
And does anyone else find it laughable that one of their primary arguments is that it "doesn't affect anyone else"?
And does anyone else find it laughable that one of their primary arguments is that it "doesn't affect anyone else"?
Foot in...pot?
Yesterday we had an early Easter celebration, since Child is going to be in Utah over Easter while I remain here in CA and work. While we were outside hunting eggs, I noticed our back-fence neighbor out watering his ducks and chickens. I went over to say hello.
Mr. Chicken seemed a nice gentleman, although it quickly became apparent that he didn't have a very high opinion of the previous residents of our home.
"Apparently the low opinion is universal," I said. "A few days ago I met Mr. RV, our next-door neighbor, and one of the first things he asked me was if I was growing pot! Ha ha!"
Mr. Chicken didn't blink. "I'm growing pot," he said.
Mr. Chicken clearly wasn't joking. "Just two or three plants," he added. "I have a lot of neurological problems and it's medicinal. I grow it legal."
Oh. Okay. Note to self: you live in California now.
(Edit: I should add that Mr. Duck called me up this morning and asked that I meet him by our back fence. There, he presented us with the nicest flat of 18 eggs from his chickens, as well as bacon, hash browns, and a jar of raspberry jam. He's a very nice neighbor.)
Mr. Chicken seemed a nice gentleman, although it quickly became apparent that he didn't have a very high opinion of the previous residents of our home.
"Apparently the low opinion is universal," I said. "A few days ago I met Mr. RV, our next-door neighbor, and one of the first things he asked me was if I was growing pot! Ha ha!"
Mr. Chicken didn't blink. "I'm growing pot," he said.
Mr. Chicken clearly wasn't joking. "Just two or three plants," he added. "I have a lot of neurological problems and it's medicinal. I grow it legal."
Oh. Okay. Note to self: you live in California now.
(Edit: I should add that Mr. Duck called me up this morning and asked that I meet him by our back fence. There, he presented us with the nicest flat of 18 eggs from his chickens, as well as bacon, hash browns, and a jar of raspberry jam. He's a very nice neighbor.)
Friday, April 15, 2011
Low Expectations
I met one of my neighbors today. He was climbing out of his RV as I left for work, so I jumped out of my car to say hello.
ME: "Hello! My name is Drek. I just moved in next door."
HIM: "That's nice. Are you growing pot over there?"
Apparently the previous few occupants have greatly lowered his neighborly expectations.
Of course, some of his initial assessment of me may have had to do with the fact that our plumbing is broken so we haven't had running water, much less hot water for shaving, showering, and washing wrinkled work clothes, for over two days now.
He also suggested I fix the gopher holes in our yard. Apparently whenever it rains, the water pools in our yard, then drains out through the holes into his yard, which is at a lower elevation. That didn't make a very convincing case for fixing the holes--in fact, it suggested that putting out gopher treats might be a great idea from a landscaping perspective.
Overall, he seemed like a pleasant, friendly gentleman, at least once he understood that I was not, in fact, growing pot in my new house.
ME: "Hello! My name is Drek. I just moved in next door."
HIM: "That's nice. Are you growing pot over there?"
Apparently the previous few occupants have greatly lowered his neighborly expectations.
Of course, some of his initial assessment of me may have had to do with the fact that our plumbing is broken so we haven't had running water, much less hot water for shaving, showering, and washing wrinkled work clothes, for over two days now.
He also suggested I fix the gopher holes in our yard. Apparently whenever it rains, the water pools in our yard, then drains out through the holes into his yard, which is at a lower elevation. That didn't make a very convincing case for fixing the holes--in fact, it suggested that putting out gopher treats might be a great idea from a landscaping perspective.
Overall, he seemed like a pleasant, friendly gentleman, at least once he understood that I was not, in fact, growing pot in my new house.
Thursday, April 14, 2011
Port Forwarding
The post is more for my own remembering than anything else, although I'm posting it here just in case someone stumbles across it and finds it useful
The goal: allow a remote computer to view a website hosted on my local computer.
Steps:
The goal: allow a remote computer to view a website hosted on my local computer.
Steps:
- Set up an account with dyndns.org
- Install ddclient on my Ubuntu machine to periodically notify dyndns.org what my IP address is
- Don't prepend "http://" to your domain name in the ddclient setup!
- On my router, assign my computer a static IP address
- On my router, forward incoming traffic on port 8080 to the new static IP address
- On my computer, port-forward port 8080 to port 80, where my apache webserver is listening
- sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80 (add the port forwarding rule)
- sudo iptables -F (flush the rule)
- sudo iptables -t nat --list (view the rule)
- sudo bash -c "iptables-save < /etc/iptables.rules" (save the rule to a file)
- sudo echo -e '#!/bin/sh\niptables-restore < /etc/iptables.rules\nexit 0' > /etc/network/if-pre-up.d/iptablesload (to create a script to restore the iptable rules every time the network interface comes up)
- sudo chmod +x /etc/network/if-pre-up.d/iptablesload (to make the script executable)
- Visit my site in a browser at http://subdomain.dyndns.org:8080
Sunday, April 10, 2011
First Impressions
My plan was simple, really: trick the Lord into giving me a prime job at church. We finally moved into our very first house last Monday, so today was our first Sunday in our new ward. The idea is simple: wear a really nice suit the first day at church, and make sure you shave and comb your hair. The Lord thinks you've turned a new leaf and inspires the Bishop of your new ward to give you a calling commesurate with your new duds, like...well, anything but nursery worker. The Bishop wouldn't dream of sending you to a room where little grubby paws would wipe boogers and animal cracker crumbs all over your sparkly suit, right?
I think I may have blogged about doing this when we moved into our previous ward and it actually worked out pretty well. I got called to be the Elder's Quorum secretary, where the worst thing I had to deal with was no one turning in their home teaching reports on time.
Apparently the Lord got wise to me. Maybe I shouldn't have blogged about it.
So this morning I shaved and combed my hair for the first time in--well, however long it's been since the first Sunday in our previous ward. I pulled my dusty, unused-since-the-first-day-of-church-in-our-previous-ward suit from the closet and put it on. Church time rolled around and I put Ash in her car seat, blissfully unaware that as I gave her a bottle, I was setting in motion events that would result in my doom.
We arrived at church, made a good first impression as we strolled confidently into sacrament meeting, and found our seats near the front where everyone could admire the back of my combed head and the Bishop and his counselors could get a good look at my shave and slightly-wrinkled suit. We sang the opening song, said the opening prayer, conducted a little ward business...then the Lord pulled the trigger.
Ash peed on me.
Child was apparently in on the plot. Before I could move, she whisked Ash and the diaper bag away and was gone up the aisle. I was left completely exposed, with nothing to hide a giant wet spot in the middle of my lap. Disaster! Ash had hidden my scriptures as we were rushing out the door that morning so I didn't even have those. They were all in on it!
The boy carrying the sacrament tray was coming from the left! The man who counted attendance was coming from the right! The person in front would turn around to introduce himself at any moment!
I thought fast, grabbing a hymnal and opening it on my lap as if I were deeply absorbed in the lyrics to "I Believe In Christ." Three ice ages later, Child returned with Ash and I was able to snatch her back and make a hasty, damp exit from the chapel.
So the Bishop's only impression of me was what he got from the all of five minutes I spent in sacrament meeting. "Must be a less-active member," he probably thought. "Maybe not a member at all. Probably just came because his wife nagged him to be supportive on her first day in a new church. Wonder why he was reading that hymnal? Bit of an odd fish. Nice hairdo, though."
So...yeah. Nursery for me for sure. No way the Bishop is going to trust me with a calling that deals with anything above the most rudimentary gospel principles. So much for that plan.
I think I may have blogged about doing this when we moved into our previous ward and it actually worked out pretty well. I got called to be the Elder's Quorum secretary, where the worst thing I had to deal with was no one turning in their home teaching reports on time.
Apparently the Lord got wise to me. Maybe I shouldn't have blogged about it.
So this morning I shaved and combed my hair for the first time in--well, however long it's been since the first Sunday in our previous ward. I pulled my dusty, unused-since-the-first-day-of-church-in-our-previous-ward suit from the closet and put it on. Church time rolled around and I put Ash in her car seat, blissfully unaware that as I gave her a bottle, I was setting in motion events that would result in my doom.
We arrived at church, made a good first impression as we strolled confidently into sacrament meeting, and found our seats near the front where everyone could admire the back of my combed head and the Bishop and his counselors could get a good look at my shave and slightly-wrinkled suit. We sang the opening song, said the opening prayer, conducted a little ward business...then the Lord pulled the trigger.
Ash peed on me.
Child was apparently in on the plot. Before I could move, she whisked Ash and the diaper bag away and was gone up the aisle. I was left completely exposed, with nothing to hide a giant wet spot in the middle of my lap. Disaster! Ash had hidden my scriptures as we were rushing out the door that morning so I didn't even have those. They were all in on it!
The boy carrying the sacrament tray was coming from the left! The man who counted attendance was coming from the right! The person in front would turn around to introduce himself at any moment!
I thought fast, grabbing a hymnal and opening it on my lap as if I were deeply absorbed in the lyrics to "I Believe In Christ." Three ice ages later, Child returned with Ash and I was able to snatch her back and make a hasty, damp exit from the chapel.
So the Bishop's only impression of me was what he got from the all of five minutes I spent in sacrament meeting. "Must be a less-active member," he probably thought. "Maybe not a member at all. Probably just came because his wife nagged him to be supportive on her first day in a new church. Wonder why he was reading that hymnal? Bit of an odd fish. Nice hairdo, though."
So...yeah. Nursery for me for sure. No way the Bishop is going to trust me with a calling that deals with anything above the most rudimentary gospel principles. So much for that plan.
Monday, March 28, 2011
And don't get me started on the service
Only five pillows on my bed?! And they call this a four star hotel...
Saturday, March 26, 2011
Halfway decent v. Not that bad
Our check engine oil light has been flickering for a while, so I finally decided to get the oil changed before I left for Boston tomorrow. (I didn't want the transmission to fall out on Child while I was gone.)
We just moved here to CA a few months ago and Child took the car in last time in needed an oil change, so I didn't have any particular place I liked. I called the Valvoline Instant Oil Change place in Vista and the person who answered the phone sounded so sullen and short that I immediately decided to try a different place. My second phone call was to Firestone Complete Auto Care, and the way the clerk there answered the phone was like night and day. He was bright and cheery and suggested I look on their website for a discount coupon. I immediately decided to go there instead.
Unfortunately, that was the highest point of the experience. Not that anything went particularly bad, but there were several areas they could have improved. Like all auto places, they tried to upsell me on several more services, but they went even further than most places by throwing in a credit card offer.
Of course my tires were bad so they wanted to replace those, as they always do, but the man who helped me (different than the one who answered the phone) seemed genuinely peeved that I didn't take him up on his offer. "But I'm giving them to you at cost plus a buck!"
I understand it's a great deal. I've bought tires before. But regardless, I just don't have $250 in the budget to drop on tires right now.
The other annoyance was that even though there was supposedly only one car ahead of me, and I was assured that they would be done by 11:30 AM at the latest, I didn't walk out until 12:30. That was 2 1/2 hours on my Saturday gone. I expect that at a doctor's office, but changing tires and oil isn't brain surgery. It shouldn't be terribly hard to estimate time-to-completion, especially if there's only one other car. (Of course there were more--I could see them in the bay.)
Would I go back? I really, really wanted to like them after the way that first man answered the phone. But I've been to better places, and would probably look around first. Although actually, now that we have a house (or will in a few days) I'm going to try changing my own oil. It'll save money, and after the first couple times, I've no doubt I'll save time too.
We just moved here to CA a few months ago and Child took the car in last time in needed an oil change, so I didn't have any particular place I liked. I called the Valvoline Instant Oil Change place in Vista and the person who answered the phone sounded so sullen and short that I immediately decided to try a different place. My second phone call was to Firestone Complete Auto Care, and the way the clerk there answered the phone was like night and day. He was bright and cheery and suggested I look on their website for a discount coupon. I immediately decided to go there instead.
Unfortunately, that was the highest point of the experience. Not that anything went particularly bad, but there were several areas they could have improved. Like all auto places, they tried to upsell me on several more services, but they went even further than most places by throwing in a credit card offer.
Of course my tires were bad so they wanted to replace those, as they always do, but the man who helped me (different than the one who answered the phone) seemed genuinely peeved that I didn't take him up on his offer. "But I'm giving them to you at cost plus a buck!"
I understand it's a great deal. I've bought tires before. But regardless, I just don't have $250 in the budget to drop on tires right now.
The other annoyance was that even though there was supposedly only one car ahead of me, and I was assured that they would be done by 11:30 AM at the latest, I didn't walk out until 12:30. That was 2 1/2 hours on my Saturday gone. I expect that at a doctor's office, but changing tires and oil isn't brain surgery. It shouldn't be terribly hard to estimate time-to-completion, especially if there's only one other car. (Of course there were more--I could see them in the bay.)
Would I go back? I really, really wanted to like them after the way that first man answered the phone. But I've been to better places, and would probably look around first. Although actually, now that we have a house (or will in a few days) I'm going to try changing my own oil. It'll save money, and after the first couple times, I've no doubt I'll save time too.
Sunday, March 20, 2011
Nobel Peace Prize
Nobel Peace Prize, here I come. I have just solved world hunger.
All we have to do is send our daughter's booster seat to a country currently experiencing famine, and all their food problems will disappear. At any given meal, it will easily amass three times the amount of food that was actually served at the meal.
As I tipped the chair on its side and shook it in preparation to sweeping the floor after dinner this evening, it produced:
And who knows? Maybe the living room recliner will come up with plan for world peace.
All we have to do is send our daughter's booster seat to a country currently experiencing famine, and all their food problems will disappear. At any given meal, it will easily amass three times the amount of food that was actually served at the meal.
As I tipped the chair on its side and shook it in preparation to sweeping the floor after dinner this evening, it produced:
- Raisins
- Avocados
- Spaghetti
- Spaghetti sauce
- Bread
- Cheerios
- A cat
- Orange
- Granola
- Potato
- Apple
- Plastic St. Patrick's Day clovers
And who knows? Maybe the living room recliner will come up with plan for world peace.
Love Unfeigned
In our men's group at church today, we had a new person show up. He was obviously not your usual church-going type, and when he was asked to introduce himself, he said some things that made it clear he had some mental issues, probably schizophrenia.
Later in the lesson, the teacher asked a question and this man answered with a rambling response that ended with him saying he wanted to have a family, and how should he go about doing that?
Everyone in the room listened until he was done talking, and I expected everyone to do what I was planning to do: humor the man while maintaining a polite expression, then turn back to the teacher and let him guide the lesson back on-topic.
Instead, to my surprise, a couple of men in the class answered with very thoughtful, serious responses. The marine with the grenade stickers on his truck explained that the man's first goal should be to make himself right with the Lord then blessings like a family would follow, while the silent man at the back of the room spoke up and gave encouragement for starting with the small things like coming to church. Before the class was over, the man had been invited to a church activity, lined up with a ride, and shaken hands with half the class.
I was ashamed of my initial reaction of brushing off the man, while simultaneously rejoicing in belonging to an organization that built men like the ones who had just taught me a lesson. Next time, I'll hopefully be a little more Christlike thanks to their example.
Later in the lesson, the teacher asked a question and this man answered with a rambling response that ended with him saying he wanted to have a family, and how should he go about doing that?
Everyone in the room listened until he was done talking, and I expected everyone to do what I was planning to do: humor the man while maintaining a polite expression, then turn back to the teacher and let him guide the lesson back on-topic.
Instead, to my surprise, a couple of men in the class answered with very thoughtful, serious responses. The marine with the grenade stickers on his truck explained that the man's first goal should be to make himself right with the Lord then blessings like a family would follow, while the silent man at the back of the room spoke up and gave encouragement for starting with the small things like coming to church. Before the class was over, the man had been invited to a church activity, lined up with a ride, and shaken hands with half the class.
I was ashamed of my initial reaction of brushing off the man, while simultaneously rejoicing in belonging to an organization that built men like the ones who had just taught me a lesson. Next time, I'll hopefully be a little more Christlike thanks to their example.
Thursday, March 17, 2011
Robotic Rodeo -- Day 3 -- Murphey backs off
So after I blogged about day 0, 1, and 2 of the Robotics Rodeo, life intervened, and I never got to day 3. However, when John mentioned that Davin mentioned that my blog post about 5D Robotics stealing some lady's bag from airport security was on the first page of Google results for "5D robotics," I figured I better tie up a few loose ends.
First, we returned the lady's stolen bag. We had left my phone number with Delta so they could give it to the lady if she called them, which she did. As it turns out, the lady was moving from CA to GA, which somehow equated to carrying a carry-on full of brand-new clothes and 50 garbage bags, but she wasn't particularly inconvenienced by the bag being stolen. We promised we'd leave it at Delta on our way home, and they would see that it got back to her, which they did. (After we spent ten minutes convincing the Delta employee we were in fact returning a stolen bag rather than looking for a lost bag of our own.)
Second, we almost ran over Boeing's robotics team. They were standing in a small group making snide remarks about the clearance and overall appearance of the Segway robot I was driving when it accidentally swerved towards them. They managed to scatter in time to avoid getting ran over by 240 pounds of steel and clawing tires, but only barely. Fortunately we had the velocity capped on the robot.
Third, the demos went marvelously, and not just because our CEO didn't like my blog post about the previous day's disaster showing up on the first page of Google results for our company's name. They actually went really well. Antenna Products pulled out a wireless spectrum analyzer and found us a channel that was fairly free, so our radios worked much better. We were actually able to demo our robots for some important people that Davin roped in, and the Segway representative only mistook one middle-school boy for a girl.
So all-in-all, it ended up being a positive experience. We had sushi for dinner, John didn't get tazed even once on the way home, and we got the next day off work to catch up on sleep.
Day 0
Day 1
Day 2
First, we returned the lady's stolen bag. We had left my phone number with Delta so they could give it to the lady if she called them, which she did. As it turns out, the lady was moving from CA to GA, which somehow equated to carrying a carry-on full of brand-new clothes and 50 garbage bags, but she wasn't particularly inconvenienced by the bag being stolen. We promised we'd leave it at Delta on our way home, and they would see that it got back to her, which they did. (After we spent ten minutes convincing the Delta employee we were in fact returning a stolen bag rather than looking for a lost bag of our own.)
Second, we almost ran over Boeing's robotics team. They were standing in a small group making snide remarks about the clearance and overall appearance of the Segway robot I was driving when it accidentally swerved towards them. They managed to scatter in time to avoid getting ran over by 240 pounds of steel and clawing tires, but only barely. Fortunately we had the velocity capped on the robot.
Third, the demos went marvelously, and not just because our CEO didn't like my blog post about the previous day's disaster showing up on the first page of Google results for our company's name. They actually went really well. Antenna Products pulled out a wireless spectrum analyzer and found us a channel that was fairly free, so our radios worked much better. We were actually able to demo our robots for some important people that Davin roped in, and the Segway representative only mistook one middle-school boy for a girl.
So all-in-all, it ended up being a positive experience. We had sushi for dinner, John didn't get tazed even once on the way home, and we got the next day off work to catch up on sleep.
Day 0
Day 1
Day 2
Subscribe to:
Posts (Atom)

