
Thursday, December 18, 2008
Thursday, November 27, 2008
Howling Houses
Maybe it's time for a new apartment.
This apartment is small, old, very uninsulated, has only street parking (which makes our car a perfect target for eggs), and has taking up a repetitive mournful howling.
Normally this howling is bearable. However, this time, the house decided to start at 5:45 in the morning. This howling is loud enough to be easily heard even outside the house, a deep foghorn voice that makes the floors vibrate. It happens at one-minute intervals and the whole series lasts approximately the amount of time it took for water to carve the Grand Canyon.
Incidentally, it's water that causes it. We can actually recreate the noise by turning on the cold-water faucet of our bathtub. If you turn the knob just a little, no water comes out, but the pipes start vibrating and a mournful yodel deafens everyone in a two-block radius. Crank it up a little more, or turn on the shower, and you'll finally get the requested water.
Due to the nature of the beast, I figured it was one of our four-plexian neighbors running a dishwasher or something (at 5:45 in the morning...) but a desperate escape from the house followed by a circumnavigation showed our neighbors' windows to still be dark. In the morning (alright, it's technically morning, but in the REAL morning, when I SHOULD be getting up on a holiday, after staying up late the night before) I will actually knock on our neighbors' doors and ask if they have decided to take a four-hour series of one-minute cold showers at 5:45 in the morning. If not, Child and I might be moving to Draper a month or two before we planned on it.
This apartment is small, old, very uninsulated, has only street parking (which makes our car a perfect target for eggs), and has taking up a repetitive mournful howling.
Normally this howling is bearable. However, this time, the house decided to start at 5:45 in the morning. This howling is loud enough to be easily heard even outside the house, a deep foghorn voice that makes the floors vibrate. It happens at one-minute intervals and the whole series lasts approximately the amount of time it took for water to carve the Grand Canyon.
Incidentally, it's water that causes it. We can actually recreate the noise by turning on the cold-water faucet of our bathtub. If you turn the knob just a little, no water comes out, but the pipes start vibrating and a mournful yodel deafens everyone in a two-block radius. Crank it up a little more, or turn on the shower, and you'll finally get the requested water.
Due to the nature of the beast, I figured it was one of our four-plexian neighbors running a dishwasher or something (at 5:45 in the morning...) but a desperate escape from the house followed by a circumnavigation showed our neighbors' windows to still be dark. In the morning (alright, it's technically morning, but in the REAL morning, when I SHOULD be getting up on a holiday, after staying up late the night before) I will actually knock on our neighbors' doors and ask if they have decided to take a four-hour series of one-minute cold showers at 5:45 in the morning. If not, Child and I might be moving to Draper a month or two before we planned on it.
Sunday, November 09, 2008
Is Better the Best?
In the good ol' days, it was easy. Good or Evil: pick one.
Nowadays, it's choose from the following: Good, Better, Somewhat Good, Mostly Good, A Little Better, Probably Not The Best, Better Than The Last One, Good Except For That One Part, Decent, Probably Bad, Obviously Bad, and a dozen more shades in-between.
All these choices and the sometimes fine distinction between them can make it difficult--if not nearly impossible to choose. However, almost as bad as making no choice is choosing one and not continuing to look for a better one. Those people take a short-sighted view. "I already made a good choice, so there can't be a better one." Or, "I already made a good choice, so why should I bother looking for a better one?"
"I make enough money in my minimum-wage job to pay for cigarettes, so why should I bother looking for a better job?"
"I learned enough in high school to pass my driver's ed and get a slightly-better-than-minimum-wage-paying job, so why should I continue my education?"
"My boyfriend doesn't beat me, and he doesn't cheat on me very often, so why should I look for a different boyfriend?"
"I've already loudly proclaimed my political opinion to anyone who couldn't escape, so why should I consider that I might be wrong?"
"My church teaches good principles, so why should I consider that there might be even more good principles?"
There is more knowledge on Earth than anyone can learn, more experiences than anyone can experience, and an incredibly limited amount of time. Choose what you learn and what you experience wisely.
Nowadays, it's choose from the following: Good, Better, Somewhat Good, Mostly Good, A Little Better, Probably Not The Best, Better Than The Last One, Good Except For That One Part, Decent, Probably Bad, Obviously Bad, and a dozen more shades in-between.
All these choices and the sometimes fine distinction between them can make it difficult--if not nearly impossible to choose. However, almost as bad as making no choice is choosing one and not continuing to look for a better one. Those people take a short-sighted view. "I already made a good choice, so there can't be a better one." Or, "I already made a good choice, so why should I bother looking for a better one?"
"I make enough money in my minimum-wage job to pay for cigarettes, so why should I bother looking for a better job?"
"I learned enough in high school to pass my driver's ed and get a slightly-better-than-minimum-wage-paying job, so why should I continue my education?"
"My boyfriend doesn't beat me, and he doesn't cheat on me very often, so why should I look for a different boyfriend?"
"I've already loudly proclaimed my political opinion to anyone who couldn't escape, so why should I consider that I might be wrong?"
"My church teaches good principles, so why should I consider that there might be even more good principles?"
There is more knowledge on Earth than anyone can learn, more experiences than anyone can experience, and an incredibly limited amount of time. Choose what you learn and what you experience wisely.
Simply Selfish
Henry David Thoreau famously said, "Simplify, simplify." I've always wondered why he didn't simplify that to a single "Simplify," but our lesson in church today got me thinking of something else.
While simplification is an admiral goal, and one I've tried to follow with regards to material possessions, if taken to an extreme, it can be a very selfish course of action.
Want a simple, selfish life? Don't get married. Don't have kids. Don't have friends. Don't get involved in other people's problems. Always put yourself first. Don't stand up for anything, and for heaven's (which you don't believe in) sake, don't believe in anything.
Of course, you'll never know unconditional love, true joy, inner peace regardless of circumstances, the happiness from serving others, or anything else like that, but at least you'll have a simple life, right?
While simplification is an admiral goal, and one I've tried to follow with regards to material possessions, if taken to an extreme, it can be a very selfish course of action.
Want a simple, selfish life? Don't get married. Don't have kids. Don't have friends. Don't get involved in other people's problems. Always put yourself first. Don't stand up for anything, and for heaven's (which you don't believe in) sake, don't believe in anything.
Of course, you'll never know unconditional love, true joy, inner peace regardless of circumstances, the happiness from serving others, or anything else like that, but at least you'll have a simple life, right?
Pandora's Box
Last month, I went canyoneering through Pandora's Box in the Capital Reef area. Unfortunately, my long-time companion of three or so years of canyoneering finally bit the dust--or to be more precise, the sand. I was worming through a narrow crack and thoughtlessly left my camera case open. When I came out the other end, the case was full of sand and the camera was making funny noises. Shortly thereafter, it died a clicking death.
But I finally have a new camera! Almost identical to the old one, except with 1x more zoom (3x instead of 2x). This also means that I can finally plug in the memory card from the first half of the trip and get the pictures off it. Now, for your viewing pleasure...
Yes, these pictures are in reverse order. That's the way Blogger/I uploaded them, and I'm too lazy to reorder all 8.
This picture is halfway through the canyon. There were some sections that were very slot-y, but this was one of the more open ones. It still had some interesting rock designs, though.

I just liked the way this tree showed through the crack in the rocks.

This is actually the beginning of the slot part of the canyon. There was a little water at the bottom of the rappel, so we were switching from our hiking shoes to our canyoneering shoes.

Ironically, to get to the canyon, we had to climb to the top of a plateau. Here's a picture at the top.

This is what we had to climb to get to the top of the plateau. Before you get too impressed, people actually drive cows up it. It's hard to see, but there is a narrow trail--regardless, getting cows up it had to be an impressive feat. From a few bones halfway up, it was also apparently a non-perfect feat.

Going back in time, here is a picture from below the mesa. It was incredibly beautiful, which unfortunately doesn't come out in the pictures. As a matter of fact, I remarked to my friend that places like this was why pictures can never replace actually experiencing something. The scattering of stubby trees, loose boulders, crisp mountain air, amazing view...

And here is the view from the mesa.

There was a pretty long approach hike, so we started when it was still dark. It was beautiful seeing the sun come up over the mesa.
But I finally have a new camera! Almost identical to the old one, except with 1x more zoom (3x instead of 2x). This also means that I can finally plug in the memory card from the first half of the trip and get the pictures off it. Now, for your viewing pleasure...
Yes, these pictures are in reverse order. That's the way Blogger/I uploaded them, and I'm too lazy to reorder all 8.
This picture is halfway through the canyon. There were some sections that were very slot-y, but this was one of the more open ones. It still had some interesting rock designs, though.
I just liked the way this tree showed through the crack in the rocks.
This is actually the beginning of the slot part of the canyon. There was a little water at the bottom of the rappel, so we were switching from our hiking shoes to our canyoneering shoes.
Ironically, to get to the canyon, we had to climb to the top of a plateau. Here's a picture at the top.
This is what we had to climb to get to the top of the plateau. Before you get too impressed, people actually drive cows up it. It's hard to see, but there is a narrow trail--regardless, getting cows up it had to be an impressive feat. From a few bones halfway up, it was also apparently a non-perfect feat.
Going back in time, here is a picture from below the mesa. It was incredibly beautiful, which unfortunately doesn't come out in the pictures. As a matter of fact, I remarked to my friend that places like this was why pictures can never replace actually experiencing something. The scattering of stubby trees, loose boulders, crisp mountain air, amazing view...
And here is the view from the mesa.
There was a pretty long approach hike, so we started when it was still dark. It was beautiful seeing the sun come up over the mesa.
Friday, November 07, 2008
Acouchi
For all her surprising friendship with our neighbor's three dogs, Acouchi still does not like other cats.
We let Acouchi out the morning for a few minutes under close supervision. She eventually made her way to the backyard, realizing half-way there that she was being stalked by one of Bell's babies--now pretty much full-grown but still smaller than Acouchi (Acouchi is a good-sized cat).
At first it didn't worry Acouchi too much, but as the black cat continued to follow her, Acouchi finally stopped and had a staring match with him. Unfortunately, due to this staring match, she was unaware of a second cat sneaking up on her from the rear until the other cat had almost reached her. Acouchi finally heard the second cat and spun around, then realized she was surrounded. She hissed in several directions, then booked it back to our door.
Moments later, of course, she was back at the door wanting to go back out. Child and I decided to give her a bath, partly because she needed one, and partly because we hoped she would associate it with the outdoors and stop constantly whining to go out. She was not pleased with the bath, and spent the better part of the morning scowling at us.
Her day got worse. In the afternoon, Child brought over a kitten we are going to catsit for several days. If there's one thing Acouchi hates, more than dogs, more than full-grown cats, it's kittens. Acouchi hissed up a storm before fleeing to the bedroom, where I took her a chunk of cheese to apologize for bringing an intruder into her space.
Acouchi deigned to eat the cheese and I took her to our living room where Sushi was, and put her on top of a large box, out of Sushi's reach. She sat there and glowered at Sushi until Sushi fell asleep, then jumped down and ate Sushi's food. That accomplished, she crept up on Sushi but Sushi woke up, a crime apparently punishable by severe hissing and spitting. Sushi was still a little groggy and wasn't sure what was going on, and I told Acouchi to lay off. She jumped up on my desk in a huff and started shedding hair into my computer's fan, hoping to fry it like my last laptop, until I got her favorite cat toy and spritzed it with catnip to placate her. That granted me a few minutes of forgiveness, and both she and Sushi are now asleep. We'll see how the next few days go...
We let Acouchi out the morning for a few minutes under close supervision. She eventually made her way to the backyard, realizing half-way there that she was being stalked by one of Bell's babies--now pretty much full-grown but still smaller than Acouchi (Acouchi is a good-sized cat).
At first it didn't worry Acouchi too much, but as the black cat continued to follow her, Acouchi finally stopped and had a staring match with him. Unfortunately, due to this staring match, she was unaware of a second cat sneaking up on her from the rear until the other cat had almost reached her. Acouchi finally heard the second cat and spun around, then realized she was surrounded. She hissed in several directions, then booked it back to our door.
Moments later, of course, she was back at the door wanting to go back out. Child and I decided to give her a bath, partly because she needed one, and partly because we hoped she would associate it with the outdoors and stop constantly whining to go out. She was not pleased with the bath, and spent the better part of the morning scowling at us.
Her day got worse. In the afternoon, Child brought over a kitten we are going to catsit for several days. If there's one thing Acouchi hates, more than dogs, more than full-grown cats, it's kittens. Acouchi hissed up a storm before fleeing to the bedroom, where I took her a chunk of cheese to apologize for bringing an intruder into her space.
Acouchi deigned to eat the cheese and I took her to our living room where Sushi was, and put her on top of a large box, out of Sushi's reach. She sat there and glowered at Sushi until Sushi fell asleep, then jumped down and ate Sushi's food. That accomplished, she crept up on Sushi but Sushi woke up, a crime apparently punishable by severe hissing and spitting. Sushi was still a little groggy and wasn't sure what was going on, and I told Acouchi to lay off. She jumped up on my desk in a huff and started shedding hair into my computer's fan, hoping to fry it like my last laptop, until I got her favorite cat toy and spritzed it with catnip to placate her. That granted me a few minutes of forgiveness, and both she and Sushi are now asleep. We'll see how the next few days go...
Tuesday, November 04, 2008
Voting
Child and I voted.
How do you vote in the Presidential Election and not vote for a president?
We also went to Krispy Kreme and got a free donut for having an "I Voted" sticker. Not for voting, because apparently that's bad, but for having the sticker.
How do you vote in the Presidential Election and not vote for a president?
We also went to Krispy Kreme and got a free donut for having an "I Voted" sticker. Not for voting, because apparently that's bad, but for having the sticker.
NaNoWriMo Update
Well, NaNoWriMo is still going. I think today will be the first time (this is the third attempt) that I've completed five consecutive days. (I started a day early because the website where I'm posting my text started displaying a word a minute starting the first minute of the first day. If that made sense.)
Granted, I cheated a little--yesterday I was able to steal a few hundred words from the short story that I'm basing my novel on. Regardless, my novel is up to 8007 words now.
On a different note, I still have pictures from my last canyoneering trip sitting on a memory card. My camera died on that trip (my fault, I crawled through a crack with the camera case open and the camera tried to eat some sand). My laptop has a built-in card reader, but unfortunately Ubuntu can't or I don't know how to get it to recognize it. Although I like Ubuntu and the idea of a free operating system over Windows and all of Microsoft's dirty business tactics, I'm no zealot and don't mind saying that there are a few inconveniences that you have to put up with.
I COULD just buy a USB card reader, but I need to buy a new digital camera, which would negate the need for separate card reader. After looking at new cameras, I decided that I didn't want a new camera for two main reasons.
One, I can get a used one for a quarter of the price.
Two, at 3.2 megapixels, my old camera's pictures were plenty large and clear. If I got a new 8 or 10 MP camera, I would only gain the ability to blow my pictures up to GIANT poster-size instead of REGULAR poster-size, and each picture would take up three times the space on my harddrive.
Well, to be fair, with a new camera I'd probably get a little more zoom, and possibly slightly better video-taking abilities, but it's still not worth the extra price and increased filesize. Who knows. If I don't manage to win an Ebay auction in a few days, I might cave in and buy the new video recorder/camera I was looking for at Walmart.
Update: won the auction. Camera coming soon! When it does, I'll post pictures of the canyoneering trip.
Granted, I cheated a little--yesterday I was able to steal a few hundred words from the short story that I'm basing my novel on. Regardless, my novel is up to 8007 words now.
On a different note, I still have pictures from my last canyoneering trip sitting on a memory card. My camera died on that trip (my fault, I crawled through a crack with the camera case open and the camera tried to eat some sand). My laptop has a built-in card reader, but unfortunately Ubuntu can't or I don't know how to get it to recognize it. Although I like Ubuntu and the idea of a free operating system over Windows and all of Microsoft's dirty business tactics, I'm no zealot and don't mind saying that there are a few inconveniences that you have to put up with.
I COULD just buy a USB card reader, but I need to buy a new digital camera, which would negate the need for separate card reader. After looking at new cameras, I decided that I didn't want a new camera for two main reasons.
One, I can get a used one for a quarter of the price.
Two, at 3.2 megapixels, my old camera's pictures were plenty large and clear. If I got a new 8 or 10 MP camera, I would only gain the ability to blow my pictures up to GIANT poster-size instead of REGULAR poster-size, and each picture would take up three times the space on my harddrive.
Well, to be fair, with a new camera I'd probably get a little more zoom, and possibly slightly better video-taking abilities, but it's still not worth the extra price and increased filesize. Who knows. If I don't manage to win an Ebay auction in a few days, I might cave in and buy the new video recorder/camera I was looking for at Walmart.
Update: won the auction. Camera coming soon! When it does, I'll post pictures of the canyoneering trip.
Friday, October 31, 2008
Halloween
http://www.ksl.com/index.php?nid=148&sid=4668843
Read that and tell me it's not a company trying to pull a marketing scam. Or maybe that's just obvious, and the joke's just going over my head.
To save you the time reading the link, it's a theater company that reported (today, on Halloween) that they hear ghostly footsteps on the stage, and a wooden sign flew out the window or something, and a few months ago some employees watched a mug lift in the air and crash into the wall. (Sure you didn't mean "floor" instead of wall?)
On a different subject.
We live in a little house, which is actually a four-plex. In the kitty-corner downstairs apartment, there's a lady with three dogs. There's a small, yappy chihuahua; a medium-sized, yappy terrier; and a fat, old (thankfully quiet) heeler of some sort.
Anyway, Acouchi's favorite pastime is sitting on my desk, watching the dogs out the front window. She's experienced them in person once before, when they decided to take advantage of our front door being propped open and came into our living room, driving Acouchi up the wall (literally, and from there onto an end-table). That wasn't too surprising, since Acouchi is terrified of everything. Child brought home a tiny kitten once, and Acouchi wouldn't come out from under the bed for hours.
However, apparently Acouchi has learned a little more about the dogs' personalities from watching them so long. I had the door propped open again while I brought stuff in yesterday, and Acouchi took the chance to explore the front porch. The chihuahua spotted her and raced towards her, yapping. I expected her to dash back inside, but to my shock, she lunged at the chihuahua!
Startled, the chihuahua jumped back, then cautiously came forward again and they sniffed noses for a minute. I was still in shock watching her, since this was incredibly out of character for our cat. Then the fat heeler came over, and Acouchi sniffed noses with her too before the neighbor came over to get the dogs back.
Child suggested it was because our neighbors (different neighbors) have a crowd of tough, outside cats who constantly boss the dogs around, and Acouchi may have seen how they did it and realized she could too. Either way, after I brought her back inside, she spent the rest of the day meowing and pawing at the front door, wanting to go back outside.
Read that and tell me it's not a company trying to pull a marketing scam. Or maybe that's just obvious, and the joke's just going over my head.
To save you the time reading the link, it's a theater company that reported (today, on Halloween) that they hear ghostly footsteps on the stage, and a wooden sign flew out the window or something, and a few months ago some employees watched a mug lift in the air and crash into the wall. (Sure you didn't mean "floor" instead of wall?)
On a different subject.
We live in a little house, which is actually a four-plex. In the kitty-corner downstairs apartment, there's a lady with three dogs. There's a small, yappy chihuahua; a medium-sized, yappy terrier; and a fat, old (thankfully quiet) heeler of some sort.
Anyway, Acouchi's favorite pastime is sitting on my desk, watching the dogs out the front window. She's experienced them in person once before, when they decided to take advantage of our front door being propped open and came into our living room, driving Acouchi up the wall (literally, and from there onto an end-table). That wasn't too surprising, since Acouchi is terrified of everything. Child brought home a tiny kitten once, and Acouchi wouldn't come out from under the bed for hours.
However, apparently Acouchi has learned a little more about the dogs' personalities from watching them so long. I had the door propped open again while I brought stuff in yesterday, and Acouchi took the chance to explore the front porch. The chihuahua spotted her and raced towards her, yapping. I expected her to dash back inside, but to my shock, she lunged at the chihuahua!
Startled, the chihuahua jumped back, then cautiously came forward again and they sniffed noses for a minute. I was still in shock watching her, since this was incredibly out of character for our cat. Then the fat heeler came over, and Acouchi sniffed noses with her too before the neighbor came over to get the dogs back.
Child suggested it was because our neighbors (different neighbors) have a crowd of tough, outside cats who constantly boss the dogs around, and Acouchi may have seen how they did it and realized she could too. Either way, after I brought her back inside, she spent the rest of the day meowing and pawing at the front door, wanting to go back outside.
Sunday, October 26, 2008
Maslow and Mormonism

I had an interesting epiphany today at church. The question someone raised, and which I've heard raised before, is "Why do Latter-day Saints spend money on building temples, when that money could be used to, say, feed poor people?"
I've never really had a good answer for that, until today. In 1943, Abraham Maslow outlined a hierarchy of needs, where in general, the most basic needs need to be fulfilled to move to higher levels of needs. For example, you're not going to worry about your job (a second-tier need) while you're not getting air because you're drowning (a first-tier need).
The idea is that every level of need must be fulfilled for a person to be a well-rounded person. The top needs are actually called "growth" needs, which meshes nicely with the LDS belief that the whole point of our earthly existence is to learn and grow. Just because a level of need isn't as basic as another, doesn't mean it's any less of a "need."
The epiphany was this: there are people at every level in the pyramid, so the church must address every level. Giving all their money to the poor focuses on a single level of need, and ignores other needs that are just as real and whose fulfillment is just as vital from an eternal perspective.
I think the reason the question is raised is because it's difficult for people with more basic needs to see the importance of fulfilling higher-level needs. It's natural for the person sick with palsy to think his physical needs take precedence over someone else's spiritual needs, and the bigger the gap between the needs, the harder it is to see the importance. However, Jesus knew that all levels of needs were important, and didn't spend 24/7 healing people and raising the dead, he also took time to teach.
Besides, if we take that approach that "no one leaves the bottom level until everyone leaves the bottom level," we're not only condemning everyone to a life on the bottom level, but we're ignoring reality. Realistically, there are people with every level of need, and those needs must be addressed.
Also, I would guess that the higher up the pyramid you are, the easier it is to pull other people up from the bottom tiers. It's a matter of leverage. If you gave every penny non-essential for your own survival to someone less fortunate, you'd never get an education, never have a family, never get a decent job. However, if you took a long-term view and saved some of that money, you could get all of the above, and end up helping far more people in far more ways than if you had taken a short-term view. Could the Church help four million people in 85 countries in one year if it took a short-term view on things? I doubt it.
The answer, as it often is, is moderation and a balanced approach. Focus resources on each level of need, proportionate to the needs. Give food to starving people, but save some money to build thrift stores to provide people with jobs and training, but save some money to build chapels where people can find spiritual fulfillment, but save some money to build temples where people can find beauty, inspiration, and self-actualization. In the eternal view, every need is as essential as the next.
Lots O' Things
Websites I'm currently working on:
1. http://circadiansaga.com/ I'm participating in National Novel Writing Month (NaNoWriMo), where I'll attempt to write 50,000 words in one month. I am making this website to automatically display one word of my work per minute, every hour of every day, until the end of November. I figure the more people that might be reading what I write, the more motivation there will be to continue and the less likely it will be that I'll give up.
2. http://utahvalleyanimalshelters.org/ The South Utah Valley Animal Shelter has started a joint project with the North shelter to make a combined webpage for people looking for a Utah County animal shelter. This page will then direct people to the proper website, North or South, for their area. Incidentally, if you click the link for the South shelter, I also built that website, but it's more-or-less done so I won't include it on my "Current" list.
Also, if you're a police officer, veterinarian, or someone else with access, you can log into the backend of the new website to an online animal license management section.
3. http://www.stormhorse.com/mole/ I built this website for Child's Saboteur games, and update it with pictures each time we play.
4. http://www.alpaca.net/ This is my latest weekend project. I hesitate to put the URL up because I had nothing to do with the "look" of the site--my work was in building them a back-end database-based manager for their alpaca herd. Granted, I'll also be replacing their "For Sale" and "Herdsires" pages with pages automatically generated from the database, but they wanted me copy their look-n-feel on those pages as well, so visually, nothing is really mine.
5. Top Secret URL. I have a business idea that I want to do, and I've started work on the website, but there's nothing I want to show yet. Sorry.
6. No URL. Child and I have been working on inventing a game, and I'm using making an online version of it as an excuse to really learn AJAX. However, it currently isn't accessible from anywhere but my computer. Since it's more of a learning experience for me, it'll probably never see the light of day, but it's still taking up time.
7. No URL yet. Child is working on starting an infant massage business, and I'll be making the website for it. Currently in the "thinking about what to do" stage.
8. And just to finish off the list, add another full 8 hours of work each day in my full-time job, where I work on dozens of different websites. With all this laid out, can I be forgiven for slacking off on blogging for a while?
1. http://circadiansaga.com/ I'm participating in National Novel Writing Month (NaNoWriMo), where I'll attempt to write 50,000 words in one month. I am making this website to automatically display one word of my work per minute, every hour of every day, until the end of November. I figure the more people that might be reading what I write, the more motivation there will be to continue and the less likely it will be that I'll give up.
2. http://utahvalleyanimalshelters.org/ The South Utah Valley Animal Shelter has started a joint project with the North shelter to make a combined webpage for people looking for a Utah County animal shelter. This page will then direct people to the proper website, North or South, for their area. Incidentally, if you click the link for the South shelter, I also built that website, but it's more-or-less done so I won't include it on my "Current" list.
Also, if you're a police officer, veterinarian, or someone else with access, you can log into the backend of the new website to an online animal license management section.
3. http://www.stormhorse.com/mole/ I built this website for Child's Saboteur games, and update it with pictures each time we play.
4. http://www.alpaca.net/ This is my latest weekend project. I hesitate to put the URL up because I had nothing to do with the "look" of the site--my work was in building them a back-end database-based manager for their alpaca herd. Granted, I'll also be replacing their "For Sale" and "Herdsires" pages with pages automatically generated from the database, but they wanted me copy their look-n-feel on those pages as well, so visually, nothing is really mine.
5. Top Secret URL. I have a business idea that I want to do, and I've started work on the website, but there's nothing I want to show yet. Sorry.
6. No URL. Child and I have been working on inventing a game, and I'm using making an online version of it as an excuse to really learn AJAX. However, it currently isn't accessible from anywhere but my computer. Since it's more of a learning experience for me, it'll probably never see the light of day, but it's still taking up time.
7. No URL yet. Child is working on starting an infant massage business, and I'll be making the website for it. Currently in the "thinking about what to do" stage.
8. And just to finish off the list, add another full 8 hours of work each day in my full-time job, where I work on dozens of different websites. With all this laid out, can I be forgiven for slacking off on blogging for a while?
Labels:
circadiansaga,
suvas.org,
utahvalleyanimalshelters.org,
websites,
work
Wednesday, September 17, 2008
Old Fashioned
So if you really need to buy a car, he says, "Go back to the old days a little bit and save up some money and have a down payment."
It's been harder getting credit to buy a car, so this is the solution a car salesmen offered.
Is saving money and making down payments really old-fashioned?
Wow.
Monday, September 15, 2008
Financial Advisors?
Speaking of Bank of America buying Merrill Lynch:
(CNN.com)
Wait--tell me why I'd listen to a financial advisor from a company which lost $17 billion and 65% of their share price in the last year?
The deal will create "a company unrivaled in its breadth of financial services and global reach," Bank of America said.
"By adding Merrill Lynch's more than 16,000 financial advisers, Bank of America would have the largest brokerage in the world, with more than 20,000 advisers and $2.5 trillion in client assets," the bank said.
(CNN.com)
Wait--tell me why I'd listen to a financial advisor from a company which lost $17 billion and 65% of their share price in the last year?
Saturday, August 23, 2008
PHP-ExcelReader Solutions
PHP-ExcelReader is great for working with Excel spreadsheets in PHP code, but it has a few bugs and tricks. Here's a couple that I've run into, along with solutions.
Problem: Fatal error: Allowed memory size of [varies] bytes exhausted (tried to allocate [varies] bytes) in...
Solution: In my case, I was trying to work with a 1.3 MB file, and PHP-ExcelReader used the full 32 MB of allowable memory before dying. Yeah, apparently it's got memory issues. Anyway, increase the amount of memory allowed to PHP.
First, try adding the following code in your PHP script:
>ini_set("memory_limit", "64M");
If this doesn't correctly up the memory limit, due to some restriction on your host, see if you can edit your php.ini file directly (mine is located /etc/php.ini). Change the line that says "memory_limit = 32M" to something larger, such as "memory_limit = 64M"
Problem: Dates
Solution: My dates showed up in my spreadsheet as 06/03/09, but were obviously stored differently in the backend of Excel. When I would get the value from PHP-ExcelReader, they were simply numbers (39967, in the case of 06/03/09). A little research showed that the numbers were days, offset from (discovered by trial and error) 12/30/1899. Not sure if this will hold for everyone. Anyway, to convert them to proper MySQL date format, I used the following MySQL code:
>FROM_DAYS(39967+TO_DAYS('1899-12-30'))
Problem: Cells missing values
Solution: Perhaps this should be classified more as a warning than as a bug. Then again, warnings don't bite and bugs do, and this bit me.
When reading through the cells in a row, don't use "foreach". The cells will have sequentially numbered keys, but there could be numbers missing!
For example, a row of data in your spreadsheet like so:
aaa bbb ccc ddd eee
--- --- --- --- ---
111 222 444 555
...will result in a row of data like so:
array(1=>111, 2=>222, 4=>444, 5=>555);
Note how if you're sequencing through it with "foreach", expecting to get a blank value for key "3", you won't get it.
Old code: foreach ($row as $col_num=>$cell)
New code: for ($i=1; $i <= $num_cols; $i++)
Problem: Fatal error: Allowed memory size of [varies] bytes exhausted (tried to allocate [varies] bytes) in...
Solution: In my case, I was trying to work with a 1.3 MB file, and PHP-ExcelReader used the full 32 MB of allowable memory before dying. Yeah, apparently it's got memory issues. Anyway, increase the amount of memory allowed to PHP.
First, try adding the following code in your PHP script:
>ini_set("memory_limit", "64M");
If this doesn't correctly up the memory limit, due to some restriction on your host, see if you can edit your php.ini file directly (mine is located /etc/php.ini). Change the line that says "memory_limit = 32M" to something larger, such as "memory_limit = 64M"
Problem: Dates
Solution: My dates showed up in my spreadsheet as 06/03/09, but were obviously stored differently in the backend of Excel. When I would get the value from PHP-ExcelReader, they were simply numbers (39967, in the case of 06/03/09). A little research showed that the numbers were days, offset from (discovered by trial and error) 12/30/1899. Not sure if this will hold for everyone. Anyway, to convert them to proper MySQL date format, I used the following MySQL code:
>FROM_DAYS(39967+TO_DAYS('1899-12-30'))
Problem: Cells missing values
Solution: Perhaps this should be classified more as a warning than as a bug. Then again, warnings don't bite and bugs do, and this bit me.
When reading through the cells in a row, don't use "foreach". The cells will have sequentially numbered keys, but there could be numbers missing!
For example, a row of data in your spreadsheet like so:
aaa bbb ccc ddd eee
--- --- --- --- ---
111 222 444 555
...will result in a row of data like so:
array(1=>111, 2=>222, 4=>444, 5=>555);
Note how if you're sequencing through it with "foreach", expecting to get a blank value for key "3", you won't get it.
Old code: foreach ($row as $col_num=>$cell)
New code: for ($i=1; $i <= $num_cols; $i++)
Labels:
exhausted,
fatal error,
memory,
PHP-ExcelReader,
phpexcelreader,
problem,
solution
Wednesday, August 13, 2008
It's your own fault, cat.
Our cat, for one of those reasons known only to the perpetrator, decided to go to the bathroom in our living room instead of in her litterbox. As a result, I locked her in her private room (without TV--remember that, parents, when you send your kids to their room!) which is a closet off our kitchen.
Acouchi decided to retaliate by kicking over her water dish, which I had newly filled this morning, but that plan backfired when she found herself standing in a pool of water. The only retreat was into her litterbox, which promptly clumped with surprising efficiency around her wet feet. Unaware of this, I finally decided she'd learned her lesson and I let her out, at which point she promptly streaked across the kitchen trailing litter.
She was heading for our bed, but I snagged her and carried her to the bathroom, where I filled the tub with an inch of water. Did you know that water is about as effective on cleaning litter designed to clump when it gets wet as it is on oil? I finally dried off Acouchi and let her go, but now I have a closet with a wet floor smeared with kitty litter.
And my wife's in California for 13 more hours.
Come home soon!
Acouchi decided to retaliate by kicking over her water dish, which I had newly filled this morning, but that plan backfired when she found herself standing in a pool of water. The only retreat was into her litterbox, which promptly clumped with surprising efficiency around her wet feet. Unaware of this, I finally decided she'd learned her lesson and I let her out, at which point she promptly streaked across the kitchen trailing litter.
She was heading for our bed, but I snagged her and carried her to the bathroom, where I filled the tub with an inch of water. Did you know that water is about as effective on cleaning litter designed to clump when it gets wet as it is on oil? I finally dried off Acouchi and let her go, but now I have a closet with a wet floor smeared with kitty litter.
And my wife's in California for 13 more hours.
Come home soon!
Thursday, August 07, 2008
Thesis Defense
My thesis defense is completed. I'm done! ...except for chasing down a dozen signatures, printing off copies of my thesis, running forms to various offices...I think it was easier to write the thesis.
Tuesday, July 29, 2008
Englestead
On July 26 a few friends and I hiked Englestead Canyon, dropped into Orderville Canyon, and finally dropped in the Narrows in Zion's National park.
Englestead was fun because of a giant 300-foot (91 meter) drop at the very beginning. You don't quite realize how high 300 feet is until you're hanging over the edge, and it takes well over four seconds for a falling rock (or body) to hit the ground...
Below is a picture at the head of the canyon. It's amazing how abruptly it starts, going from a slight slope to a sudden, 300-foot drop.

Below is us gearing up for the drop. Putting on harnesses, unpacking ropes, packing up everything else. We had a 300-foot rope for the rappelling side, and a 100- and 200-foot rope for the pull cord.

Here's our first person going down. The descent took probably 3 or 4 minutes, depending on how quickly you went.

Looking down the Big Wall from the top. I'm not even sure if you can see the bottom in this picture.

Once in the canyon, we were met by BOUSs (Bugs Of Unusual Size).

We had quite a few more rappels as well, but none close to the first rappel.

Once we dropped into Orderville canyon, water started appearing and things started getting a little greener.


Watch your head.


In the lower part of Orderville, we ran into a lot of tourists that hiked up the Narrows, and once we reached the Narrows themselves it was postively crowded.
Englestead was fun because of a giant 300-foot (91 meter) drop at the very beginning. You don't quite realize how high 300 feet is until you're hanging over the edge, and it takes well over four seconds for a falling rock (or body) to hit the ground...
Below is a picture at the head of the canyon. It's amazing how abruptly it starts, going from a slight slope to a sudden, 300-foot drop.
Below is us gearing up for the drop. Putting on harnesses, unpacking ropes, packing up everything else. We had a 300-foot rope for the rappelling side, and a 100- and 200-foot rope for the pull cord.
Here's our first person going down. The descent took probably 3 or 4 minutes, depending on how quickly you went.
Looking down the Big Wall from the top. I'm not even sure if you can see the bottom in this picture.
Once in the canyon, we were met by BOUSs (Bugs Of Unusual Size).
We had quite a few more rappels as well, but none close to the first rappel.
Once we dropped into Orderville canyon, water started appearing and things started getting a little greener.
Watch your head.
In the lower part of Orderville, we ran into a lot of tourists that hiked up the Narrows, and once we reached the Narrows themselves it was postively crowded.
Labels:
canyoneering,
englestead,
narrows,
orderville,
rappelling,
zions
Friday, July 18, 2008
Goals!
A couple weeks ago, I realized that I had a really hard time following through on things. There's a lot of things I want to do, but I'm terrible at sticking to a schedule and meeting goals. Here's just a sampling of things I'd like to do:
I decided to start with something easy: a regular exercise program. Coincidentally, Lifehacker just featured a website completely devoted to helping people get into a push-up routine. Theoretically, if you follow the program, you'll end up doing 100 consecutive push-ups after six weeks.
That's my first step. Other goals will follow.
- Exercise regularly
- Write regularly
- Regular morning prayers
- Wash dishes regularly instead of letting them build up
- Learn Spanish
- Learn guitar
- ...and several other things I can't think of at the moment.
I decided to start with something easy: a regular exercise program. Coincidentally, Lifehacker just featured a website completely devoted to helping people get into a push-up routine. Theoretically, if you follow the program, you'll end up doing 100 consecutive push-ups after six weeks.
That's my first step. Other goals will follow.
Disappointment
I didn't win the Writers of the Future contest, despite being a finalist.
Ah, well. On to the next story.
Ah, well. On to the next story.
Recover Deleted Ubuntu File
While working on a Firefox extension, Firefox deleted a file I was using, "overlay.js". It was gone, but fortunately, a few minutes previous, I had manually deleted a temporary backup file that my text editor was using, "overlay.js~".
Since I had manually deleted it, it should have been in my Trash Can, but it wasn't, probably due to the "~" at the end of the filename which indicated that it was a temporary file. Even "Show Hidden Files" didn't make it appear.
However, by going to a command prompt and viewing my trash folder there, it appeared:
ls: ~/.local/share/Trash/files
So I'm not sure why the Trash Bin didn't show it, but it was there.
Since I had manually deleted it, it should have been in my Trash Can, but it wasn't, probably due to the "~" at the end of the filename which indicated that it was a temporary file. Even "Show Hidden Files" didn't make it appear.
However, by going to a command prompt and viewing my trash folder there, it appeared:
ls: ~/.local/share/Trash/files
So I'm not sure why the Trash Bin didn't show it, but it was there.
Subscribe to:
Posts (Atom)