April 9th, 2008

Power outage in Bristow, Manassas, Gainesville - 01/29/2008

This blog entry is mostly a stream-of-consciousness that I wrote the day after a major power outage that hit the Manassas/Gainesville area back in January. I was more interested in telling the whole story than I was about paragraphing, grammar, punctuation, etc., so it may be a bit rough in parts, and may be a little difficult to follow. I had noted a few more items that I wanted to address, back then, which is why I didn’t get around to posting this sooner. Finally, over two months later, I’ve filled in those last few details.

It was around 6:10 on Tuesday, January 29, 2008. 20 minutes until my son, Matthew, needed to be at the Music and Arts Center in Manassas for his weekly guitar lesson. I was trying to get all the kids ready to go. Matthew was over at his friend Xander’s house, working on his Pinewood Derby car (the race was on Wednesday night, so he had to get as close to finished as possible (incidentally, he actually won first place in his cub scout pack’s Pinewood Derby tournament! I took tons of pictures of the whole event.)). I was in the process of getting my girls ready to go; everyone went potty, and Nikki just got finished washing her hands, but still needed help getting dressed again (she’s 2, and potty training, so the handwashing sometimes comes before the pants go back on, at this point). But as we were about to do that, the lights all went out.

This is a very rare occurrence around here, so it came as quite a shock! The girls couldn’t remember ever having experienced a power outage before, actually. Usually, the worst that happens is briefly flickering lights (and that’s rare), and maybe once or twice in the past few years the power might have gone out for 1-10 seconds, but this was different.

I told the girls to wait where they were, while I fetched a flashlight. I grabbed two: one that converts into a lantern shape, and my trusty, weapons-grade maglite. I gave the lantern-type one to Skylar, so she could provide light while I helped Nikki get dressed. Of course, she had to be wearing tights that day, which was not the easiest thing to put on a wiggly 2-year-old, in the almost-dark, in a hurry.

When we went to put our shoes and coats on, I looked out the window, and saw nothing but darkness. Usually, our whole community is lit up by streetlights and pole lights in front of every house (the HOA mandates that, actually. I should really deal with fixing mine, before I get a second violation notice about that. ssshhh!!! don’t tattle on me!). At that moment, though, the only lights I saw were flashlights and candlelights moving about in some of my neighbors’ houses. I was slightly relieved that it wasn’t just a problem in my own house, because then it would require me dealing with stuff. :)

I ran up and grabbed Matthew’s guitar, and we hurried out to the garage, where I was immediately reminded of something I hadn’t thought about yet: the automatic garage doors would not work. I was going to have to awkwardly reach up above my car and grab the handle on the string that allows operating the automatic garage door by hand.

First, I turned on my car’s headlights, though, to give us a bit more light than the flashlights were providing, without having to hold onto anything. My car’s annoyingly-bright (to other drivers on the road) headlights reflected off the wall and lit up the whole garage pretty well.

Then, I reached up and pulled the manual release string on the garage door (good thing I’ve got long monkey arms, so it wasn’t too much of a problem), then I grabbed the handle on the garage door and opened it all the way.

Next, I buckled the girls into their carseats, and backed out of the garage. Since we don’t operate the automatic garage doors manually very often, I wasn’t quite sure if opening it later would be trivial, so I didn’t close it yet. I ran into the house and unlocked the front door, then came out the garage and closed it.

As I was about to get back into my car, Lacey arrived with Matthew. She told me she’d been trying to call my cell phone, but it wasn’t going through. I suggested that maybe it was because I had been using it, off and on, as a flashlight, and maybe it doesn’t like to act as a phone when it’s being used as a flashlight.

At this point, it was already around 6:20, so she said I shouldn’t bother going, since he would be way too late. I wanted to try, though, because I get him to his guitar lesson up to 10 minutes late pretty often, and it usually takes 10-20 minutes to get there (depending on traffic/lights). So, Matthew hopped into my car, while Lacey pondered how to get into the house. I told her that the front door was unlocked, and that there was a flashlight on the floor, on the left, just inside the front door. So, she went in, and the kids and I took off for the Music and Arts Center.

On the way there, we saw the emergency lighting on at Matthew’s elementary school, and I talked to the kids about how/why they have that, and we don’t. When we got to the main road, the traffic light was out, and people were not exactly taking turns at that point, so I waited until no cars were coming on the main road before turning.

When I got to the next light, it was out, too. People were trying to take turns at this one, but they were not doing a great job of it. It was an awkward intersection. The main road had 2 main lanes and 2 turn lanes (right and left), in both directions. The other road had 1 main lane and 2 turn lanes each direction. This meant up to 14 cars could potentially be waiting at that powerless light at any given moment.

Thankfully, there were not that many cars, but even trying to coordinate 8 cars taking turns, in the dark, and in the rain (oh yeah, forgot to mention that! it wasn’t too much rain, but there was a little bit, here and there), is fairly challenging. We got through it, though, and the next light we encountered was actually functioning. Looking around, while waiting for that light, we saw the fire station, which appeared to have all lights on. We wondered whether fire stations have nothing but emergency lighting, since emergencies are when they are needed most. We watched a firetruck and an ambulance come out, sirens wailing and lights flashing. Shortly after that, our light turned green.

As we were turning, I looked to one side and a whole shopping center appeared to be without power. Then, we passed a couple of housing developments that seemed to have full power. The traffic lights were out, though, but they were fairly minor intersections, where the traffic lights have only actually recently been put in, anyway, so they didn’t pose much of a problem.

When we got to the next major intersection, the light was out. This time, it was an intersection of two main roads, where probably 16 cars could be waiting at any given time. There were a lot more cars at this intersection, but still, luckily, not 16 at once. Still, people were confused and didn’t know how to take turns properly, so it was a very dangerous place to be. While I was waiting for my turn to go straight, the person next to me decided to go ahead and go through. Since that caused everyone else to stop and wait for that car, anyway, I went through as well.

Then, we almost immediately got to another major intersection of 2 main roads, where I believe a cop was directing traffic. Phew! That sure made things easier/safer. After that, we drove past some neighborhoods with power, and some without. I couldn’t recognize a pattern from my perspective, but maybe it would make more sense if you looked at it on a map.

Around this time, I started talking to the kids about how power gets from the power plant to our homes, and what types of things can cause outages. I know I mentioned wind and ice affecting the above-ground power lines, cars running into utility poles, construction equipment digging in the wrong spots–where power lines were buried (and I told them about Miss Utility), and anything else that came to my mind. The kids listened intently, and asked a few questions that only kids would ask (i.e. cute ones. wish I could remember them!). It was fun having this opportunity to teach my kids something that ordinarily just wouldn’t come up in normal conversation.

At this point, we’d driven about 5 miles from home, and we were still seeing power outages left and right. Some lights were out, some were on. Some intersections had police officers directing traffic, but some didn’t. There seemed to be more intersections with police as we got closer to Sudley Rd. (Rt. 234 business), though, since that’s a major artery through Manassas.

When we got to the light where we needed to cross 234 to get to the shopping center with Music and Arts Center, I saw that the shopping center on the right had power (Toys R Us, Party City, etc), but the one we were going to did not. I went across anyway, though, to see if Matthew’s guitar teacher happened to be there, playing by emergency light/flashlight/candlelight. It was a stretch, but I didn’t want to rule it out, after having driven all the way there through dangerous intersections. We could see that there were people in Music and Arts Center, but there were no lights visible inside, and nobody came out to greet us when I stopped my car in front of the store to look. Oh well.

So, I drove up to Giant, because they seemed to have a LOT of lights on. As we got closer, it sortof looked light emergency lighting, but seemed like just too much lighting for that to be the case. Even one of the register number lights was on, and there were definitely employees and customers in the store. So, I went and parked my car in the far corner of the parking lot, like I always do; uphill (so no carts will roll into it) and away from most other cars.

Before going in, I tried to call Lacey, but was still unable to reach her (oh yeah, I had tried to call her repeatedly on our way there, but had not been able to get through at all. Just then I vaguely remembered hearing something, at some point, about using SMS (text messages) in emergency situations. I tried sending Lacey a message, and she got it!

Finally, I could tell her how crazy the drive had been, and tell her that the power was out at the music store. I also told her that we were going to go into Giant, since it seemed to be open, and pick up a few things. I figured that would also give the police more time to station officers to direct traffic at more intersections, and would also give the power a little bit more time to be restored. She replied that I should try to get candles and flashlights, too.

So, the kids and I got unbuckled and walked all the way across the parking lot to Giant. When we got there, there was a sign on the door that said “sorry, temporarily closed” (or something like that). I guess the customers that I had seen must have been in the store when the power went out. I figured it was probably good that we couldn’t go inside, because there’s a good chance the credit card reader wouldn’t have been working when I got to the checkout, so it was good to avoid that risk, since I had no cash on me (sorry, Clint, I did not take your advice about always carrying cash).

I was going to try to drive to a store that did have power, but I decided that with traffic the way it was, and with my car running very low on gas, I should probably just get the kids home. Then, I could potentially run out later (in the van) to pick up whatever we might need from a store that had power, somewhere.

So, I took the kids home. On the way home, we found that more intersections had police officers directing traffic, which sparked a fun conversation about the light-saber-esque devices the cops were waving around.

We also talked about why cell phones were not working, but SMS messages were. I was not all that knowledgeable about that subject, but I certainly had more to offer than my 2-, 4-, and 8-year old kids, so I told them what I did know, most of which went over their heads anyways. :)

When we got home, I sent Matthew out to open the garage door (by hand). Just as he started pulling it open, the power came back on! Then, Lacey came out to greet us.While we were gone, Lacey had found all the candles in the house, and had carefully set them up throughout the house. She was all sorts of bummed that the power came on just as we got home, because she wanted to show us her pretty candle setup. She’d spent quite a while putting them on safe [enough] surfaces that cats would not be messing with, and the end result was a functional and aesthetically pleasing candle configuration. So, we went around and turned all the lights back off as soon as we walked in, so the kids and I could enjoy the candlelit house.

That was fun, in itself, but then I had an idea for something else fun to do while the lights were all out. The kids had all received tubes of glow bracelets for Christmas, but we hadn’t gotten around to actually using them yet. So, we opened those up and got cracking (literally.. that’s how you activate the glow) on making glow bracelets and necklaces for everyone to wear and play with. That was fun for everyone, and helped us to make the most of a weird and kinda scary situation (albeit a little too late, but it certainly helped change the overall mood of the evening!)

In the days immediately after the outage occurred, I was keeping my eye on local news sources and blogs, hoping to learn more details. Here are a couple links I saved:

March 27th, 2008

Recursively grep for a substring, open all results in TextPad with cursor positioned appropriately

I’ve been using Ext-JS on a new project, recently. It’s pretty neat, and the examples are impressive, but the documentation leaves a lot to be desired. I needed to make a section of a we page collapsible, and it seemed like the Ext.Panel class was the way to do that, but I was having trouble figuring out exactly how to get my existing HTML content into a collapsible Ext.Panel. Almost as a last resort, I ended up grepping my local ext-2.0/examples directory tree to find examples that instantiate Ext.Panel objects:

$ grep -Ri “new Ext.Panel” *
code-display.js: var panel = new Ext.Panel({
core/templates.js: var p = new Ext.Panel({
core/templates.js: var p2 = new Ext.Panel({
feed-viewer/MainPanel.js: this.preview = new Ext.Panel({
feed-viewer/MainPanel.js: tab = new Ext.Panel({z
[…]

This was not very useful. I needed to see the whole constructor invocation for each of those cases. So, I decided to grep again, showing just the filenames (using the -l parameter), so I could open all of those files in TextPad. The first part of that (showing just the filenames) was the easy part:

$ grep -Rli “new Ext.Panel” *
code-display.js
core/templates.js
feed-viewer/MainPanel.js
form/combos.js
form/custom.js
[…]

Next, I needed to change those file paths from cygwin/unix-style paths to windows paths, so they could be passed to TextPad on the command-line. Time for a for loop:

$ for f in `grep -Rli “new Ext.Panel” *`; do cygpath -w -a $f; done
c:\api\js\ext-2.0\examples\code-display.js
c:\api\js\ext-2.0\examples\core\templates.js
c:\api\js\ext-2.0\examples\feed-viewer\MainPanel.js
c:\api\js\ext-2.0\examples\form\combos.js
c:\api\js\ext-2.0\examples\form\custom.js
[…]

Okay, so I could have probably built an environment variable as I was looping through and converting these paths, but if I ever wanted to run this on a longer path, with more search results, that command-line could get extremely long.

So, I checked the TextPad help to see if I could pass in the name of a file containing full file paths for TextPad to open. Sure enough:

@filename
Open all the files that are listed, one per line, in the specified file. This overrides the option to load the workspace, specified on the General page of the Preferences dialog box.

You just need to put an at sign (@) before the filename, and TextPad will look at that file to find a list of files to open. So, I decided to create a temporary file, output the filenames found and converted by my set of commands (above) into that temporary file, and then run TextPad, passing the temporary filename preceded by an @ sign.

But wait! I noticed something else in the TextPad help that seemed like a cool idea:

Notes:

  • [...]
  • If the filename to be edited (not printed) is followed by “(
    <line>[,<col>])”, with no intervening spaces, the file will be opened with the cursor at that position. If
    <line> is a hex number (eg. 0×1a22), a hex view of the file will be created, with the cursor at that address.
eg. TEXTPAD.EXE -ac "Read me.txt"(51,20)
In this example TextPad will start up and open "Read me.txt" at line 51, column 20 and display it in a cascaded window.

So, I decided to figure out a way to put the filenames to open, as well as the row and column number to position the cursor at within each of those files, into the temporary file that I was going to pass to TextPad. I already knew how to get grep to output line numbers (using the -n parameter), so I thought that would be the easy part.

However, it seems that you can’t specify both the -l (show filenames) and -n (show line numbers) parameters on the grep commandline. No, -l does more than simply tell it to show the filename next to each matching line (-H does that). -l tells it to ONLY show the filenames. Here’s the -l parameter definition from the grep man page:

-l, --files-with-matches
Suppress normal output; instead print the name of each input file from which output would normally have been printed. The scanning will stop on the first match.

As far as I could tell, if I wanted line numbers and filenames, I needed to use -n and -H, and deal with the fact that the output would also include the text of the matching line. I also threw in -m 1 to limit the output to only one result per file, since the cursor can only be positioned in one place for each file. I didn’t need the -m previously, because the -l parameter already limited it to one result per file, since it only showed the filenames of each matching file. Here’s what the grep commandline and output looked like, at this point:

$ grep -RHn -m 1 “new Ext.Panel” *
code-display.js:11: var panel = new Ext.Panel({
core/templates.js:30: var p = new Ext.Panel({
feed-viewer/MainPanel.js:10: this.preview = new Ext.Panel({
form/combos.js:49: new Ext.Panel({
form/custom.js:40: var panel = new Ext.Panel({
[…]

At first, I thought the matching line text was just in my way, so I used sed to filter it out, and to replace the colon (:) between the filename and the line number with an open parenthesis, to prepare it for the format TextPad wanted:

$ grep -RHn -m 1 “new Ext.Panel” * | sed -e ’s/\(^[^:]\+\):\([0-9]\+\):.*$/\1(\2/g’
code-display.js(11
core/templates.js(30
feed-viewer/MainPanel.js(10
form/combos.js(49
form/custom.js(40
[…]

Next, I needed to get the offsets or column numbers for each matching line number that the previous command returned, to tell TextPad exactly where to put the cursor in each file. At first, I thought I could do this with grep, but the closest grep parameter seemed to be -b:

-b, --byte-offset
Print the byte offset within the input file before each line of output

However, -b gives the absolute byte offset starting from the very beginning of the file, rather than the offset within the matching lines. So, I had to find a different way to get the column offset within each matching line. This is when I realized that having the matching line text returned by my grep command could actually be useful. I figured I could just split that text out and count the characters leading up to the matching string with wc -c, among other things.

Anyways, after a lot of trial and error, a lot of re-checking man pages for bash, grep, wc, etc., I ended up with the following set of commands:

textpad $(for g in `for f in \`grep -Rli "new Ext.Panel" *\`; do (grep -Hn -m 1 "new Ext.Panel" $f | sed -e 's/\(^[^:]\+\):\([0-9]\+\):.*$/\1(\2/g'); done`; do echo `cygpath -w -a ${g/\(*/}`\(${g/*\(/},`grep -m 1 "new Ext.Panel" ${g/(*/} | sed -e 's/\t/ /g' -e 's/new Ext.Panel.*$//g' | wc -c`\); done) &

I’m sure this could be done more efficiently, but this was a fun challenge to take on, and I managed to find a way to do what I wanted to do. Feel free to leave a comment if you know a better way of doing this!

March 26th, 2008

American Idol Top 10 Performance Show 03/25/2008 (liveblogging)

This is kinda rough, because I just took notes while watching. I haven’t blogged in a while, and these are kind of fun to write. I do have like 8 other entries partially done, though (and none of them are pop culture related!), and my toblog.txt file is getting huge. So hopefully I’ll get things rolling again soon.

Ramiele Malubay:
had trouble keeping up with the song from Heart.
Simon said he didn’t think it was as bad as Randy said
Lacey: that was awful.

Jason Castro:
sang in almost a whisper through his sting song, while playing his acoustic guitar.
he makes the goofiest faces while he’s singing, but did a really good job
today was his birthday
Randy: don’t know if it did anything for you for me vocally, but it was nice
Paula: you’re staying true to who you are
Lacey about Paula: why is she all glammed up tonight?
Simon: you’ve had 2 bad weeks, it’s time you start taking this a little more seriously. […] too laid back, too much in your own world.
Lacey loved the performance.

Sayesha Mercado:
born January 2, 1987
makes an annoying (but very baby cry
said she’s still a kid, likes to be goofy
song: “if I were your woman”
did a great job!
Randy: this is a good moment for you for me, this is the best I’ve ever heard you sing
Paula: this is the moment everyone will remember where Sayesha flipped it and became the dark horse that’s going to sail on through.
Lacey: what is with her [Paula’s] ugly gloves?
Simon: I don’t think the end part of the song was as good as Randy thought. I think there’s a limit on your vocal and I think that song stretched it.
Lacey: she did good.

Chikezie:
Born September 11, 1985.
started humming/trying to sing at age 3, according to his mom
Nigerian cultural music always playing in the house. very focused on faith and education.
uh-oh, started a little rough
I always want to like his performances, though. He’s got a charming smiling face and good attitude.
He had a bit of trouble switching from high notes into falsetto and back. I liked the very end when he went really low, though.
it’s interesting you’re following Sayesha with that other oldie but goody but she made it Randy: younger feeling, this wasn’t hip and cool .. kinda boring for me dawg.
Paula: I disagree, Randy, you are grown up, blah blah.
Simon: I think you sang it well, having said that I thought the performance was very cheesy, blah blah.
Lacey: he might be in danger today, and I like him.

Brooke White:
remembers getting her grandmother’s piano. her fingers just knew what to play. she could hear something and play it by ear.
Song: The Police: Every Breath You Take
stuttered on the first line, restarted.
played piano while she sang.
kinda boring for me.
I think she sang it well for the most part, though, and played piano well.
oh good drums came in finally. it needed drums sooner.
went a bit flat about 3/4 of the way through. monotone. every time there was repeating chanting “every .. you ..”, it got a bit boring.
Randy: just ok for me, it’s alright.
Paula: I enjoyed this performance so much more than last weeks. this is the great thing, we’ve always wanted contestants who are unique.
Lacey: are you seeing her gloves? they’re hideous!
Simon: if you just stayed you on the piano, it would have sounded much more cool, the minute the band came in it made it more old fashioned. as Randy said the first half, when you started, it was fantastic. but better than last week.
Lacey: [went into a whole rant on how she’s sick of Brooke’s pure and innocent persona. The music industry’s gonna chew her up.]

Michael Johns:
Born October 20, 1978 (Libra), in Australia..
Michael always competitive, got to smile, his mom said.
thought he was going to be a tennis player, till music found him.
Lacey: so distracted by Paula’s gloves.
played queen we will rock you/we are the champions
nice lights and sounds. guitar player awesome as always.
I think he did well.
Lacey: eh.. he’s good at singing queen though.
crowd wouldn’t stop cheering
Lacey: so distracted by Paula’s gloves, I hate them, I just want to jump through the screen and rip them off of her. I can’t help it!
Paula: if anyone said you haven’t found your right song, we can all shut our mouths on this one, this is your moment your shining moment, I’m so proud of you.
Simon: this is the first time with you I saw star potential tonight you just got it right, you looked like a front person, confident, performed well. For me it’s the only memorable performance of the night tonight

Carly Smithson:
Born in 1983 (Virgo) in Dublin, Ireland.
“Definitely a classic Virgo”
got her name from the radio.. her mom heard Carly Simon on the radio on the way to hospital.
As a child, had big spiral curly hair. She always wanted to be a pop star, like Madonna and Kylie Minogue.
mom always knew she’d never have a problem being an entertainer.
Song: Total Eclipse of the Heart
Backup vocal was distracting and abrupt, felt like they kept interrupting her.
Carly went lower when I expected her to go higher, but she pulled it off and although she did it more as the song went on, it sounded more natural after the first time.
She did pretty well.
Lacey said something about her having an ugly dress..
Randy: interesting song choice, didn’t like love it. just ok for me. not the right song for you.
Paula: I don’t know how you can say that […]
Randy: don’t like the whole rock theme, didn’t like the note at the end.
Paula: so admire about you is you can probably take every song I’m not crazy about and make me a believer and make me go buy it
Simon: something didn’t quite work. so tense, almost uptight during the performance, I didn’t enjoy it as much as I thought I was going to enjoy it. part of the song you sang it quite well, I’m with Randy on this, something didn’t quite work and you’ve just gotta lighten up a bit.
Lacey pointed out her husband has tons of tattoos including his face.. He’s a tattoo artist.
She did well really, but the ugly dress was very distracting.

David Archuleta:
Born December 28, 1990 in Miami
Lacey and I are feeling so old tonight, hearing these birth years from back when we were in middle school, almost in high school when David was born!
He missed a few dances, might miss prom.
Ryan: Who would you take to prom? Lots of people are raising their hands.
mom big into dance, had David and his older sister (his “partner in crime”) dancing all the time, embarasssing.
Lacey: he grabbed his sister’s butt! hahaha
I didn’t recognize the song. the beginning had me worried but he’s really good.
Lacey: I like him
Randy: strange song choice for me, but guess what, if you can sing you can sing whatever. David’s got mad skills. very nice.
Paula: all of us were trying to figure that out.. you can sing the phone book and we’d fall in love with you.
Simon: didn’t like the performance at all, actually reminiscent of a theme park performance. [he’s got a point] .. sing when you’ve got like animated creatures with you and everyone joins in. I don’t think that’s you at all. I’d be amazed if you chose the song yourself because it’s not you.
Lacey: I like him, cute and jailbait

Kristy Lee Cook:
Born January 18, 1984 in Seattle.
parents said she came out smiling
loud as a kid, singing all the time. when she was 2-3, parents said.
remembers certain parts about being 2. when she was sitting in her bathing suit singing a song called Kristy that her dad used to sing.
singing in the car all the time. other kids said please make her shut up. parents let her sing.
God Bless the USA:
she kept shaking her head
doing her signature stance again. Lacey said not as bad as she usually does though.
Lacey: [singing] keep me here for one more week, this is just a suck-up song, I’ve almost been kicked off 10 times in a row.
Lacey: Come on, who chooses that? that’s called just trying to suck up for votes. [agreed!]
Randy: very nice performance from you. yeeeah. yeeeah.
Paula: very good choice for you. I’ve seen better performances from you, but your voice is sounding much stronger. Watch the pitch prolems, but you’re growing.
Simon: your best performance by a mile, I think. [she cheered and jumped around] Most clever song choice I’ve heard in years, I’ve gotta tell you. brilliant writer, brilliant song, overall it was a good performance and that’s going to keep you in the competition.
Lacey: Sing about America = still be here next week.

Lacey: Oh, I forgot about my favorite one!

David Cook:
December 20, 1982 (“barely Sagittarius”)
funny baby picture.
in early pictures, “massive skull”, “Supervillain from Marvel comics or something.”
family put everything funny on him and took photos.
His mom: he got his first guitar when he was 2. he’d stand in the middle of the bed with sunglasses, strum guitar because he was a rockstar.
music was always readily available to him but never forced on him.
He did a rock spin on Michael Jackson’s Billy Jean.
Lacey: that was awesome. I like Michael Jackson remakes–his songs do really well made into rocks songs. That was friggin awesome! But they’re gonna hate it.
Randy: most original, most bold we’ve ever had. […] that joint you just did, you might be the one to win the hole lot. blazing molten hot baby!
Paula: I’m blown away, cant sit down, gotta tell you how smart you are, how brave you are, how willing to stretch the boundaries.
Lacey: [to Paula] Put your hands down, the gloves are so distracting. I just want to rip them off of her and kick her in the face for wearing them!
Simon: insane or amazing, have to tell you it was amazing.
Lacey: That was friggin awesome! That was hot.

March 5th, 2008

Compliments this blog has received in comment spam

Ever since I removed the registration requirement for commenting on this blog, I’ve been getting a good bit of comment spam. Thankfully, Akismet does a great job of keeping it from polluting my blog. I do periodically go through the comments that Akismet has marked as spam, though, to ensure that no good comments end up getting filtered out.

When looking through the spam comments, there are some clear patterns. Lots of praise (usually in very broken English), with random porn/advertising links mixed in. Today, I decided it was time to separate all that praise from the slime and post these kind words for all to see. :)

Here are some of the things the stupid evil spammers have been saying about this blog. I removed all links, names, URLs, porn words, and marketing words with a series of regex search/replaces in Textpad. I also broke paragraphs into individual sentences, and sorted them alphabetically, removing exact duplicates. They’re numbered, to make it easier to reference them in comments:

  1. [spugbrap’s blog] seems quite interesting
  2. All I can say is congratulations on creating this site and what took you so long?
  3. All the best!
  4. Camping out in the woods can be one of the most gratifying experiences available for those who stress over the hustle and bustle of daily life in or near a city.
  5. Congratulations!
  6. Easy to find helpful information.
  7. Excellent forum with fantastic references and reading.
  8. Excellent forum, added to favorites!
  9. Excellent site with fantastic references and reading.
  10. Excellent webforum!
  11. Forgive that beside You was little ed!
  12. Good aftenoon !
  13. Good info!
  14. Good luck!
  15. Good resources here, Enjoyed the visit!
  16. Good stuff, very nicely done!
  17. Good stuff, very nicely done.
  18. great post.
  19. Greetings!
  20. Hello !
  21. Hello webmaster - fine blog with Animals Files
  22. Hi !
  23. Hi all!
  24. Hi, good site!
  25. How do you do.
  26. I am glad to find this forum !
  27. I am glad to find this forum!
  28. I couldn’t understand some parts of this article : Danzig, Playing classic Misfits and Danzig Songs [spugbrap’s blog], but I guess I just need to check some more resources regarding this, because it sounds interesting.
  29. I couldn’t understand some parts of this article eb Clips are context-sensitive (kinda funny) [spugbrap’s blog], but I guess I just need to check some more resources regarding this, because it sounds interesting.
  30. I couldn’t understand some parts of this article productive ads [spugbrap’s blog], but I guess I just need to check some more resources regarding this, because it sounds interesting.
  31. I couldn’t understand some parts of this article r anyone who just got braces [spugbrap’s blog], but I guess I just need to check some more resources regarding this, because it sounds interesting.
  32. I delighted!
  33. I found your blog via Google while searching for pictures of mouth sores and your post regarding r anyone who just got braces [spugbrap’s blog] looks very interesting to me.
  34. I is pleasantly amazed!
  35. I just wanted to pass on a note to let you know what a great job you have done with this forum.
  36. I look forward to reading more!
  37. I look forward to returning.
  38. I much like site!
  39. I simply mad about this forum!
  40. I was impressed by your site and offerings.
  41. I was looking at some of the articles and it really impressed me.
  42. I Will be back!
  43. I wish you health!
  44. I\’m a real sucker for anything to do with accelerated learning ideas.
  45. I\’m going to get back into this next month.
  46. is very interesting.
  47. Like!
  48. maggots!
  49. now throw yo hands up in the sjky!
  50. Pretty nice forum, wants to see much more on it!
  51. So interesting there was that I fell asleep.
  52. Thank you!
  53. Thank!
  54. thanks alot!
  55. Thanks for the blog!
  56. Thanks for your post.
  57. Thanks much!
  58. Thanks!
  59. The Author, you - genius.
  60. The Author, you - super hero!
  61. The dangers of contemporary lifestyles and environments can themselves drive people to the.
  62. The Excellent forum!
  63. The Good lad an author!
  64. The Pleasing text and design!
  65. The Regard!
  66. There was merrily!
  67. This simply prodigy!
  68. Very good contents.
  69. Very good forum!
  70. Very good web forum, great work and thank you for your service.
  71. Very nicely done forum.
  72. well done indeed.
  73. What beautiful text and visitors!
  74. Wow!
  75. Your awesome post about s blog].

The public has spoken! I’m a genius and a superhero; my blog is an excellent forum with fantastic references and reading, and pleasing text and design; and you, the readers, are beautiful!

“Now throw yo hands up in the sjky!” and be sure to check out my “awesome post about s blog].” “I delighted!”

February 28th, 2008

American Idol Results Show 02/28/2008 (liveblogging)

Tonight, Lacey and I watched the American Idol Season 7 Top 20 Results Show after our Tivo had finished recording the whole thing. I took a bunch of notes while watching, including some of Lacey’s comments, then went back afterwards and put it into sentences and paragraphs. So, this isn’t quite one of my “notes” blog entries, but I do kind of switch around between talking about things in the present and past tenses. This is my first time using the term “live blogging“, but I believe I’m using it correctly.

Early in the episode, after Ryan was done yakking with Paula about how it must be hard to relinquish judgement duties to America, he addressed Simon’s moose antler thing. Paula and Randy claimed to not know what he was talking about, but Simon said something like, “I believe I know what you’re referring to”.

Ryan then proceeded to have 3 photos put up on the big screen (the first one looked very familiar! (ok, theirs was higher quality and didn’t have glare and a TV screen border, but it was totally the same shot! (of course, he was doing that hand thing all night, on both Tuesday and Wednesday nights, so it wouldn’t be hard to capture a photo that looked the same!))), one at a time, showing Simon’s silly hand signal thing. Ryan asked if it was some sort of code, and Simon said yes, “it’s a code.” Then Paula held onto Simon’s hand, while he kept talking to Ryan, continuing with “it’s a secret code, ryan, which i’ll explain to you.” But Paula kept holding onto his hand, so Simon ended up saying, “There is a gesture I could give you, but I won’t.” Then they moved on, without any further explanation. Hmpf!

Moving on, they went into the typical performance with all of the contestants singing together. It was positively dreadful, to be quite honest with you! :)

Ryan went through several of the guys, saying who was safe. Then he got down to Jason Yeager (Vampire Boy) and that annoying [chick] Danny Noriega (who I wish would go away, but who keeps actually singing pretty well). Bye-bye Vampire Boy…

Make him cry, then make him sing. Yay, we can always look forward to Thursdays to hear the worst songs from Tuesday and Wednesday performed again (for the last time) by the contestants who America voted off! Lacey and I really wish they’d have the BEST singers perform again, rather than the ones that America worked so hard (dialing/texting/etc) to get rid of.

Next Ryan went to the girls, and let several of them sit down, “safe.” The two left standing were Amanda “Rock & Roll Nurse” Overmyer and Alexandréa Lushington. To me, having only watched part of last night’s Top 10 Girls episode, the choice was clear. Amanda should go. I heard her performance, and wanted to like her (I kinda liked her so far this season because she was different from the rest, even though her vocals were not the best), but she just butchered that song last night. I don’t know if I heard Alexandréa or not, but since I didn’t like any of the performances that I *did* hear from the girls, I think it’s safe to assume that she sucked, too. Apparently, America agreed with that assumption, because Alexandréa’s going home.

Amanda is safe, somehow. I’m guessing it has to do with the “controversy” that’s suddenly coming into the media’s pincers; oh wait, make that *two* controversies involving Amanda Overmyer. Something about her criminal record being pretty substantial already, including a major DUI a couple years ago. The other thing is something about nude photos that are “surfacing soon” or something. I dunno. I don’t really care. This show’s supposed to be about the *singing* and *performing*, not about background checks. This show has to have at least a few “controversies” every season, apparently. I guess it pays the bills, though, for American Idol and for media companies everywhere. Whatever.

Thanks, Lacey, for fast-forwarding through both of those “loser” performances! There’s just no reason for those.

Next Ryan went through the remaining girls who hadn’t yet been told to sit down, stand up, or go home. He narrowed it down to two, as usual: Kady Malloy and Alaina Whitaker. It didn’t make any difference to me. They all sucked last night, from what I heard (and what I’ve been told by a couple people who watched it (and those people also didn’t like last weeks’ performances by the girls either)).

Lacey thought the Britney impersonator (Kady) would/should go home, but it’s Alaina instead. Oh good, she’s crying so hard and facing away from the camera, and actually whimpered “I can’t sing!” Finally, maybe we won’t have to hear a bad performance “one last time.”

Ugh, now Ryan turned her around for the closeup, and gave her a pep talk. Then he had the judges talk to her, the audience clap for her, and the rest of the performers got up on stage with her. So, she’s singing it again. Lacey was kind enough to fast forward through ALL of that crap, so I’m just going by what I saw flashing by at high speed. :)

Oh boy, another guilt-fest, Idol Gives Back is happening again. “Bigger and better than last year,” Ryan says (although, Ryan also keeps saying that this is the best group of singers the show has ever had, which couldn’t be further from the truth!).

Charity is great, and we actually did end up donating some money to them last year, after I spent a good 10+ hours researching their charitable organization, its philosophies, info on all of the charities that it gives to, etc. But it really got annoying watching the same footage of poor, hungry people in Africa who would supposedly benefit in amazing ways with my small donation. I’m still skeptical, because I’ll bet there’s quite a bit of overhead in this charity since it, but it helped us feel less guilty as they continued trying to make everyone cry in every episode.

You know what I kept thinking would be a nice charitable thing to do? If AT&T would take all of the text-messaging fees from one episode, and donate that money to charity, I’ll bet they’d end up donating more than all the people who respond to any one Idol Gives Back tearjerking segment. Millions of dollars. I think AT&T (or was it Cingular last year? I dunno) donated something piddly like $5 mil or something last year, while they were sitting there racking up boatloads of cash from every episode.

Ok Robbie Carrico’s gone. Lacey called it: which two guys would be standing there waiting to hear who was getting the axe. She was totally right. I thought Robbie would be sticking around, though, for “controversy”’s sake (the media seems to be all excited and shocked about the fact that he might wear a wig or something. oh no!). Lacey said he wears his do rag like a woman–apparently guys are supposed to tuck in the flap in the back. I’ll take her word on that.

Lacey’s last comment to me, before she went to bed, was “Gosh, the two worst singers in the entire competition are still there, which friggin sucks!” I’m not quite sure which two she was referring to, because there are so many bad ones to choose from!

It doesn’t matter too much, though, if David Archuleta can consistently do as well as he did on Tuesday, then none of the others stand a chance!