Does anyone else find it ironic that the American Public is so rabidly against polygamy when our culture (primarily media such as movies, sitcoms, and music) implicitly condones, if not outright advocates sexual promiscuity?
I don't think you could find a bigger double-standard if you tried. Sure, be outraged about exploitation of minors or people being forced into polygamy against their will. That's fine--and the only real reasons I could find that anyone should be concerned about the FLDS compound.
But don't complain about the institution of polygamy itself. For the Christians: at times it's condoned by God himself in the bible. Go look it up. For the secularists: at least when polygamists sleep around, they do it after being married and the man sticks around to support his family.
Despite my own belief that the Lord has commanded that we NOT practice polygamy at the current time, I do NOT believe there is inherently anything wrong with it.
Friday, June 27, 2008
Saturday, June 21, 2008
I lied. And I want the dog back.
When I arrived at the shelter, it was 9:15 and the shelter was still closed. I went around back and only found one car there. I knocked, and Pat opened the door. Apparently the person who was supposed to open with her (at 8:30--a half hour before the shelter officially opens) called to say she would be late...for about the 10th time in the last month.
Even worse, she didn't call Pat to tell her because she didn't want to face Pat's wrath, but called the shelter and left a message, knowing that no one answered the phone before 9:00. Something tells me this person will not work at the shelter for much longer.
As a result, Pat was glad to see me, because then she could open the shelter and call the inmates to come over and start working. When the phone rang, I answered it and there was a lady looking for a dog. Apparently, her daughter-in-law had gone into the hospital, and the step-father was stuck with caring for a half-blind Jack Russel terrier. As far as she knew, he had tried to get it euthanized at a vet clinic, they had refused because it was healthy, then he had gotten rid of it somewhere else.
The problem was that she didn't call it a Jack Russel, she said it was some strange breed, and I didn't see that breed in our book of occupants. I told her we didn't have it, so she said she would keep calling around.
However, later that morning, the step-father came in. He didn't beat around the bush. He walked up to the counter and said, "Last night I brought a dog in. I said it was a stray, but I lied, It's my step-daughter's dog and now I need it back."
Personally, I though we should have charged him for the owner release that he should have paid for the previous evening, then charged him for an adoption. However, Pat let him off easy with just paying for a night of boarding and a rabies shot (we couldn't even charge for the licensing since he lived out of our jurisdiction).
As he filled out the paperwork to get the dog back, he told us what he had done. Apparently, he hadn't been looking forward to caring for this dog by himself for an indefinite period of time, so he had taken it to a vet clinic to get it euthanized. They had refused since it was a healthy dog. Failing that, he decided to bring it to our shelter and claim it was a stray, but asked the vet clinic to say they had euthanized the dog if his wife called. They had refused that also.
Predictably, his wife had called the vet clinic, but all they could tell her was that her husband had taken the dog to a shelter somewhere. She didn't know which one it was, so she had been calling around. Apparently she had finally put enough pressure on him, and he came in to get it back.
Some people are crazy.
Incidentally, a second lady called asking if we had her cats. According to her, he had been dumping horse manure in her pasture, so she yelled at him. He had retaliated by trapping her cats and taking them to the shelter so she had to pay to get them out. She called him on the phone to yell at him, then he came over to her house to yell at her. Then he had apparently trapped her cats again, and she pondered aloud the possibility of going over to his house to beat him up. I told her to wait until he came to her property again to do that. :)
Even worse, she didn't call Pat to tell her because she didn't want to face Pat's wrath, but called the shelter and left a message, knowing that no one answered the phone before 9:00. Something tells me this person will not work at the shelter for much longer.
As a result, Pat was glad to see me, because then she could open the shelter and call the inmates to come over and start working. When the phone rang, I answered it and there was a lady looking for a dog. Apparently, her daughter-in-law had gone into the hospital, and the step-father was stuck with caring for a half-blind Jack Russel terrier. As far as she knew, he had tried to get it euthanized at a vet clinic, they had refused because it was healthy, then he had gotten rid of it somewhere else.
The problem was that she didn't call it a Jack Russel, she said it was some strange breed, and I didn't see that breed in our book of occupants. I told her we didn't have it, so she said she would keep calling around.
However, later that morning, the step-father came in. He didn't beat around the bush. He walked up to the counter and said, "Last night I brought a dog in. I said it was a stray, but I lied, It's my step-daughter's dog and now I need it back."
Personally, I though we should have charged him for the owner release that he should have paid for the previous evening, then charged him for an adoption. However, Pat let him off easy with just paying for a night of boarding and a rabies shot (we couldn't even charge for the licensing since he lived out of our jurisdiction).
As he filled out the paperwork to get the dog back, he told us what he had done. Apparently, he hadn't been looking forward to caring for this dog by himself for an indefinite period of time, so he had taken it to a vet clinic to get it euthanized. They had refused since it was a healthy dog. Failing that, he decided to bring it to our shelter and claim it was a stray, but asked the vet clinic to say they had euthanized the dog if his wife called. They had refused that also.
Predictably, his wife had called the vet clinic, but all they could tell her was that her husband had taken the dog to a shelter somewhere. She didn't know which one it was, so she had been calling around. Apparently she had finally put enough pressure on him, and he came in to get it back.
Some people are crazy.
Incidentally, a second lady called asking if we had her cats. According to her, he had been dumping horse manure in her pasture, so she yelled at him. He had retaliated by trapping her cats and taking them to the shelter so she had to pay to get them out. She called him on the phone to yell at him, then he came over to her house to yell at her. Then he had apparently trapped her cats again, and she pondered aloud the possibility of going over to his house to beat him up. I told her to wait until he came to her property again to do that. :)
Friday, June 20, 2008
Monday, June 16, 2008
Underhanded C Programming
A couple days ago, Slashdot posted a link to The Underhanded C Contest. The idea is to write a program that redacts part of an image while making it possible to recover the lost information. The trick: it has to look innocent to another programmer reviewing your code.
My first version has the following output:
Here's the pertinent part of the code:
Redact to black (the "right" way):
p.rgb[R] = 0;
p.rgb[G] = 0;
p.rgb[B] = 0;
Redact to random noise (an acceptable way, see image on right):
p.rgb[R] = rand();
p.rgb[G] = rand();
p.rgb[B] = rand();
Nefarious redaction to random noise (see image on right):
p.rgb[R] ^= rand();
p.rgb[G] ^= rand();
p.rgb[B] ^= rand();
The key is using "^=" rather than just "=". The "^" will perform a bitwise XOR, and XOR has an interesting property. If you XOR A with B, and XOR the result by B a second time, you get back A.
So all we have to do to get the proper image back again is use the same sequence of random numbers, and that's easier than it sounds. It's customary to seed the random number generator using the following code:
srand((unsigned int)time(0));
But the file we're spitting out has the timestamp it was created--the exact time we're using as the seed in our RNG!
(If you're worried about the timestamp changing as the file is copied and passed around, then simply embed the time as a comment in the file--not nefarious at all.)
My first version has the following output:
Before | After |
Here's the pertinent part of the code:
Redact to black (the "right" way):
p.rgb[R] = 0;
p.rgb[G] = 0;
p.rgb[B] = 0;
Redact to random noise (an acceptable way, see image on right):
p.rgb[R] = rand();
p.rgb[G] = rand();
p.rgb[B] = rand();
Nefarious redaction to random noise (see image on right):
p.rgb[R] ^= rand();
p.rgb[G] ^= rand();
p.rgb[B] ^= rand();
The key is using "^=" rather than just "=". The "^" will perform a bitwise XOR, and XOR has an interesting property. If you XOR A with B, and XOR the result by B a second time, you get back A.
So all we have to do to get the proper image back again is use the same sequence of random numbers, and that's easier than it sounds. It's customary to seed the random number generator using the following code:
srand((unsigned int)time(0));
But the file we're spitting out has the timestamp it was created--the exact time we're using as the seed in our RNG!
(If you're worried about the timestamp changing as the file is copied and passed around, then simply embed the time as a comment in the file--not nefarious at all.)
Labels:
noise,
programming,
rand,
random,
redaction,
rng,
seed,
underhanded,
xor
Wednesday, June 11, 2008
Moonshine?
I swear our neighbor just had moonshine delivered to their door. Child and I are leaving this morning for Wyoming for my grandmother's funeral, so I was up early packing things in the car. A flatbed pickup truck pulls up in front of our fourplex, and an old man in jeans and a jean jacket gets out. He walks around the passenger side, opens the door, and pulls out two quart Mason jars of clear liquid. He nods and walks towards our neighbor's door, while I head back inside. As I look back, I can see into his truck cab, and there's several more quart jars, along with a few gallon jugs. What other clear liquids get delivered in quart Mason jars? It has to be moonshine.
Saturday, June 07, 2008
Family Reunion
Well, Grandma's in the hospital. As a result, the family reunion got moved from Colorado to here in Provo. At least everyone already was planning on gathering, so they can all see Grandma.
In other news, Child's coworker called up the manager of the store late at night to tell her that he was quitting, effective immediately. I don't think he warned her he was leaving rather than just disappearing out of any kindness of his heart, since he and the manager hate each other, it was probably just to gloat.
It turned out to be a bad move, however. The manager promptly drove down to the store, where she found that this employee had stolen not only a carload of products from the store, but also some files that showed he owed the store owner money, as well as other customer files. On top of that, the owner had bought a new car and had sold this employee his old one, since the employee's car had been impounded a few weeks previous, and the employee was planning on taking off without paying for that.
And last but not least, the Rent-A-Center had called the store a couple weeks ago to verify this employee's job, so the manager decided to call them back and let them know the employee had been planning to flee the state and head to the west coast. As it turns out, this employee had about $5,000 of Rent-A-Center stuff in his moving van that he had been planning to take.
All sorts of excitement! Especially since the owner is out of town at the moment. And guess who gets to deal with everything, covering for this now-missing employee. The manager of the store, whose responsibility it is? Of course not! Child! And since we're not longer going to be in Colorado, the manager is able to call Child to come in whenever she wants, even if we still have a family reunion going on.
In other news, Child's coworker called up the manager of the store late at night to tell her that he was quitting, effective immediately. I don't think he warned her he was leaving rather than just disappearing out of any kindness of his heart, since he and the manager hate each other, it was probably just to gloat.
It turned out to be a bad move, however. The manager promptly drove down to the store, where she found that this employee had stolen not only a carload of products from the store, but also some files that showed he owed the store owner money, as well as other customer files. On top of that, the owner had bought a new car and had sold this employee his old one, since the employee's car had been impounded a few weeks previous, and the employee was planning on taking off without paying for that.
And last but not least, the Rent-A-Center had called the store a couple weeks ago to verify this employee's job, so the manager decided to call them back and let them know the employee had been planning to flee the state and head to the west coast. As it turns out, this employee had about $5,000 of Rent-A-Center stuff in his moving van that he had been planning to take.
All sorts of excitement! Especially since the owner is out of town at the moment. And guess who gets to deal with everything, covering for this now-missing employee. The manager of the store, whose responsibility it is? Of course not! Child! And since we're not longer going to be in Colorado, the manager is able to call Child to come in whenever she wants, even if we still have a family reunion going on.
Labels:
family reunion,
grandma,
job search,
retail theft
Wednesday, June 04, 2008
Previous Post
Yes, that previous post was grossly oversimplified, completely inaccurate, and highly one-sided.
Still, that's how I felt.
:)
Still, that's how I felt.
:)
Frustration.
A = B. B = C. Therefore, A = C.
I don't believe it.
Why not?I just don't.
But why?Because I've seen cases where A != C.
Did both A = B and B = C in those cases?I don't know. I don't have that data.
Well, okay, but in cases where A = B and B = C, then A = C.I don't believe it.
Gah!
Tuesday, June 03, 2008
Weird Clocks
At the shelter today, three volunteers were giving a dog a bath. When they were done, they stopped at the clipboard on their way out to sign on. On the clipboard there's a place that says, "Sign out time."
The girl who was signing out looked at that, then up at our analog clock at the wall. It was one of those dime-a-dozen Walmart clocks, big white circle, black hands, you know the kind. She stared at the clock for a minute, then looked at me. I kid you not, she said, "What time is it?"
I looked at the clock. "Uh, 3:45?"
She bent over and wrote it on the clipboard. "Those clocks are weird," I heard her mutter.
Are analog clocks really that old?
The girl who was signing out looked at that, then up at our analog clock at the wall. It was one of those dime-a-dozen Walmart clocks, big white circle, black hands, you know the kind. She stared at the clock for a minute, then looked at me. I kid you not, she said, "What time is it?"
I looked at the clock. "Uh, 3:45?"
She bent over and wrote it on the clipboard. "Those clocks are weird," I heard her mutter.
Are analog clocks really that old?
Getting Money? Easy. Giving? ...
Yesterday I posted about raising $700 for Aspen and Patches. That turned out to be the easy part.
This morning, Child and I drove to Zions Bank with $700 in hand to deposit in the Aspen Granath Fund. Our local (Provo) branch couldn't find any record of the fund, so they started calling every branch in Ogden to see if anyone else knew of the fund. We're sitting in the drive-through this entire time. 20 minutes later she comes back. "None of the other branches have record of the fund."
Okay. We now have $700 and no one to give it too. We'll try the bank again tomorrow--hopefully it's just taking a little while to propagate through their system, or perhaps Aspen's dad just hasn't gotten around to setting it up yet. Worst case scenario, we'll get someone up Ogden-way to hand deliver it.
This morning, Child and I drove to Zions Bank with $700 in hand to deposit in the Aspen Granath Fund. Our local (Provo) branch couldn't find any record of the fund, so they started calling every branch in Ogden to see if anyone else knew of the fund. We're sitting in the drive-through this entire time. 20 minutes later she comes back. "None of the other branches have record of the fund."
Okay. We now have $700 and no one to give it too. We'll try the bank again tomorrow--hopefully it's just taking a little while to propagate through their system, or perhaps Aspen's dad just hasn't gotten around to setting it up yet. Worst case scenario, we'll get someone up Ogden-way to hand deliver it.
Monday, June 02, 2008
Amazon
Word on the street is that Amazon wants to fly me to HQ for another interview. A little bird said they might fly Child too if I ask nicely.
To Amazon, or not to Amazon?
To Amazon, or not to Amazon?
Aspen and Patches
Today, Child was reading a story about a cat, Patches, who needed an amputation. The owner, Aspen, was selling lemonade to earn the money for the operation. The operation was expected to cost $500, although it could have gone as high as $700.
Child suggested I use the donation capabilities of http://ucpets.com, so we put a notice on the homepage that all donations during the next week would go to Patches.
It took about 4 hours. Donations from KSL and Standard readers poured in, and we reached $700 and then some. The power of good people in large numbers can't be underestimated!
Child suggested I use the donation capabilities of http://ucpets.com, so we put a notice on the homepage that all donations during the next week would go to Patches.
It took about 4 hours. Donations from KSL and Standard readers poured in, and we reached $700 and then some. The power of good people in large numbers can't be underestimated!
Subscribe to:
Posts (Atom)