Friday, March 27, 2009

Philosophy of Physics

How can SMBC be so funny on a daily basis?

Comic 1465, in particular = awesome.

Thursday, March 26, 2009

My Right Eye Sees Blue

Today's post is about the Wondermark for March 24th. Go read it first, I'll wait here.

OK, my first reaction was: "Is this TRUE?" The alt-text said: I'm always afraid that I'm lacking some fundamental human trait that everyone else has but always just thinks is too obvious to ever talk about.

SO, it could have been a made-up trait designed for humor. But, since I can't see red or green, how would I know? So I did as I often do in these situations: I turned to Google.

It turns out, yes, as a matter of fact it's not at all unheard of.

Some people think it's to do with lighting, others think it's a sign of cataracts, but others are convinced it's just the way their eyes are.

I can't believe I'm just hearing about this now.

Wednesday, March 25, 2009

Jonathan Creek

I was introduced to the British quiz show QI not terribly long ago, and it's great. In addition to Stephen Fry as the host, there's Alan Davies.

I liked QI so much, I recently started watching Jonathan Creek, Alan's mystery/comedy show. Alan plays Jonathan Creek, a guy who comes up with magic tricks for illusionist Adam Klaus. Jonathan helps solve mysteries with Maddy Magellan, an author/journalist. But enough back story.

In series 1, episode 4 the following exchange takes place:
Maddy and Jonathan are eating dinner.
Maddy: Don't scrape that off, it's meant to be that color. It's Cajun; blackened catfish.
Jonathan: Looks more like halibut to me.
Maddy: Well, blackened halibut then. I had to improvise. Could we have less of the pedanticism and just eat?
Jonathan takes a bite.
Jonathan: The word is pedantry.
Love it.

(I then found pedanticism in the dictionary, although Firefox's spellchecker doesn't recognize it)

"I'm not pompous; I'm pedantic. There's a difference. Let me explain it to you."

Tuesday, March 24, 2009

Shorts

The short movie Signs was on Digg recently. Normally I don't post Digg stuff, but Signs isn't the point of this post. But here it is anyway.

Signs (12 minutes) Show/Hide


One of the comments said that it reminded them of Validation.

Validation (16 minutes) Show/Hide


One of the related videos for Validation was Still Life.

Still Life (9 minutes) Show/Hide


Now, my point is about Still Life, but it might be a spoiler. My current spoiler tag requires you to highlight the text to read it. It's like it's 1994. I'll fix it one of these days, but until then I'll just use the toggle-hide tags. FIXED

Why was the car out of gas? If it had been left running, that might make sense, but he was in the middle of driving, then turns it off (you can see him put the key back in). So why was it out of gas, except as a contrived necessity of the plot?

Dumb.

Wednesday, March 18, 2009

Linux is for your mom

The Linux Foundation is hosting a "We're Linux" competition. It's designed to be an answer to Apple's "I'm a Mac" and Microsoft's "I'm a PC" campaigns.

Personally, I think this idea is retarded flawed. Nothing says "Linux is for copycats" more than a contest like this.

But the again, there are entries like this: Show/Hide

Not bad.

Tuesday, March 17, 2009

Giant Crabs

I like The Onion a lot, and their ONN videos are often good.

And then there's this one: Show/Hide

Just when you think you get to the punchline, there's another one right behind it.

Write Your Own Ending: Pizza

INT. DORMITORY

Phoenix is waiting impatiently by the front door. A pizza-delivery-boy arrives.
Pizza-guy
Sorry I'm late, I couldn't find this place.
Phoenix looks at his watch. The delivery took close to two hours.

The pizzas are long since cold.

How does Phoenix respond?

Monday, March 16, 2009

But Of Course...

"I don't have it." It was the final day of the final course, and at this final meeting it was time to turn in our final papers and give our final presentations.

I did not have my final paper.

Well, in a sense, I did. I had actually done all the required work, and the vast majority of the written portion of the final paper had been written. Just not in that final paper; the bits and bytes were scattered over a half-dozen of my other papers and notes. So, in another more accurate sense, I did not have it.

My confession of lack did not raise an eyebrow in my professor. "Of course," his bemused expression seemed to say, "you don't have it. Why would you bother telling me this? I took it as a given. You're Phoenix!. Flies gotta fly, ducks gotta duck, Phoenix gotta be late. Late to class, late to turn in homework... If Phoenix were a woman, there would be a pregnancy scare on a regular basis."

Sorry for the dearth of posts as of late. It is the end of the term, and I am at school.

Working on my final paper.

Tuesday, March 10, 2009

Where's Phoenix?

Phoenix hasn't been seen for a few days. Here's what happened:

I got an e-mail on Thursday, March 5th, telling me that Tuesday, March 10th would be the last day for one of my courses.

So, instead of having two weeks left to finish my final project, I had the weekend. (This is in addition to all my other homework for this weekend)

...I'd be fine if I didn't keep falling asleep every couple days...

Monday, March 09, 2009

Saturday Morning Watchmen

It's not exactly Watchmen Babies, but here: Show/Hide

So, yeah, Watchmen is out now, and I still haven't seen it (maybe after the quarter ends). I've heard good and bad about it, so we'll see. I know they changed the ending.

But first, SCHOOL! :-(

Sunday, March 08, 2009

That Time Again

Folks, it's that time of the year again! It's BLOOMSDAY time!

If you're reading this, you probably know me, and if you know me, you probably live around here, and if you live around here, you probably already know what Bloomsday is, so I won't tell you. BUT, do you know where the name "Lilac Bloomsday Run" comes from? You do? Crap. :-( I was going to post it, but you ruined it. Darn.
Founder Don Kardong chose the name, which is a joining of Spokane's favorite flower to the word James Joyce scholars use to describe the day events in the novel "Ulysses" take place. Confused? Intrigued? Read on...

According to Kardong, a road race is an odyssey, not unlike the one Ulysses endured in his return to Ithaca after the Trojan War, a journey described in great detail by the Greek poet Homer. In 1917 James Joyce wrote "Ulysses" about one day in the life of a man (Leopold Bloom) in Dublin, Ireland. Bloom spends the day wandering through the streets of Dublin in a rough parallel of his Greek counterpart Ulysses, and that day (June 16) has become known to Joyce scholars and aficionados as "Bloomsday."

The 7-1/2-mile odyssey through the streets of Spokane was dubbed The Lilac Bloomsday Run, combining Spokane's moniker "The Lilac City" with the premise of Joyce's novel, which is that ordinary people are involved in unassuming and yet heroic journeys every day of their lives. A citizen who travels 7-1/2 miles on the first Sunday of May encounters trials, hazards and monsters during his or her odyssey through the Lilac City before ending up back home.

Here's some general info (show/hide):
2009 Lilac Bloomsday Run
Where:   Spokane, Washington, USA
When: Sunday, May 3, 2009
Distance: 12 kilometers (7.46 miles)
Entry Fee: $15.00 (by mail, before deadline)
$15.00 + $1.49 (online, before deadline)
$30.00 (by mail, with late fee)
$30.00 + $2.99 (online, with late fee)
Entry Deadline: April 14, 2009 for mailed entries
April 19, 2009 for online entries
April 26, 2009 LAST DAY FOR ONLINE ENTRIES
Eligibility: Open to all runners, walkers, wheelchairs, assisted wheelchairs and strollers.
Race Start: 9:00 a.m.: Elite, Corporate Cup & Brown
9:05-9:15 (approx.): Yellow & Green
9:15-9:45 (approx.): Orange & Blue
9:45-10:05 (approx.): Lilac
10:10 (approx.): Red
Course Closes: 1:30 p.m.
Of course, if you don't want to run it, you can always volunteer. ^_^

Saturday, March 07, 2009

Job Satisfaction

I was given a task to set up the video drivers on a linux laptop the other day so that it would work with the school's projectors, after a couple co-workers had a go at it but it still wasn't quite working. My task was to reset the drivers to the defaults.

Seriously, this is a 30 second task.

But then I decided to make sure and actually test it on a projector. It was not working.

So, I tweaked the settings and I swapped out drivers and I shuffled things around and downloaded specs to find the horizontal and vertical refresh rates for the projector and tweaked the settings some more.

I was at it until 1am, when I finally got it working 100%. It was tricky to work though, because the regular desktop resolution was different from the projector resolution (also, different aspect ratios). When you went to change the resolution, it would go to the defaults for the projector, so you'd only have a little panning window of the desktop. BUT, if you set the resolution on the projector ONLY (with the laptop screen off), it would set the resolution on both (and automatically turn the laptop screen back on). So, fn-F4, fn-F4, set resolution. Three steps.

I finally go home and go to bed and forget to set the alarm because I was so tired. I oversleep, and when I finally do get up and check my e-mail, I find a message from my boss:

"Had a panning problem, reset to vesa drivers."

:-/

Friday, March 06, 2009

Cool Old Man

During an interview for the school paper (about technology and society), the reporter referred to one of my fellow students as being "like a cool old man".

Of course he's younger than I am.

Thursday, March 05, 2009

Write Your Own Ending: Toe-socks

INT. WAL-MART

Phoenix is pushing a shopping cart, looking around. He stops a female employee and her co-worker.
Phoenix
Excuse me, do you guys have toe socks?

Female
No, I'm afraid not.

Phoenix
Oh? I thought you used to.

Female (sarcastically)
Well, they became cool again.
Co-worker snickers.
Female
Try coming back two years ago.
How does Phoenix respond?

Wednesday, March 04, 2009

Feed A Stoner Scrambled Eggs

HOW did I manage to not see this until today?
Video!


According to Herb:(watch video first)
The reason they substituted "find a stranger in the alps" and "feed a stranger scrambled eggs" was explained in the book "I'm a Lebowski, You're a Lebowski". While doing the TV dubbing, they just let John Goodman go crazy (must have rubbed off from his Vietnam crazed "Walter" character ) in the dubbing booth and this is what he came up with. Pretty funny and now it's urban legend.

Tuesday, March 03, 2009

Hinamatsuri


source
Today is the third day of the third month. In Japan, today is Hinamatsuri, or Girl's Day. It is a doll festival.

Update: Found the song that goes with it:

(There are better versions out there, but this one was embeddable. Also, WOW is imeem's embedded player shitty)

Here are the lyrics (via):

Here is a Hinamatsuri song called "Ureshii Hinamatsuri (Happy Hinamatsuri)."

Akari o tsukemashou bonbori ni
明かりをつけましょう ぼんぼりに
Ohana o agemashou momo no hana
お花をあげましょう 桃の花
Go-nin bayashi no fue taiko
五人ばやしの 笛太鼓
Kyo wa tanoshii Hinamatsuri
今日は楽しいひな祭り

Let's light the lanterns
Let's set peach flowers
Five court musicians are playing flutes and drums
Today is a joyful Dolls' Festival

Monday, March 02, 2009

Corey

It's 2:28AM. I'm woken up by a phone call. 1-509-328-5869. I don't recognize the number.

Must be pretty important to be calling in the middle of the night though, so I pick up. Some guy was on the line.

"Is Corey there?"

No.

"I must have the wrong number."

Yeah.

I tell you, my first instinct was to set my alarm for 2:28AM, and then call him back every day from now on. It would be my "thing". I would introduce myself at parties as Corey, and give people this guy's number. I would post fliers advertising awesome sales and guess what name/number I would put on the tear-aways? Oh yeah.

Long story short, it's a problem without a solution. I can't put my phone on silent (or turn it off) because... what if there really IS an emergency?

Sunday, March 01, 2009

Peekaboo

Hell yes I got peekaboo comments working again!

In the old Blogger, the comments were available from any page, including non-item pages. This is no longer the case, so I couldn't simply hide the comment block like I used to.

BUT! There is now a comment RSS feed for each post. Aha! I read in the feed and write out the comments. Formatting is lost (the feed only includes the bare text), but it works for a peek, and that's what I wanted.

I already had phidden and pshown set up in my style sheet, because I use them to hide videos.

.phidden {display:none}
.pshown {display:inline}


And for the same reason, I already had the javascript functions to use these styles.
function hide (which){
which.className='phidden';
}

function show (which){
which.className='pshown';
}

function hideid (id) {
var which = document.getElementById(id);
which.className='phidden';
}

function showid (id) {
var which = document.getElementById(id);
which.className='pshown';
}

function togglehidden (id) {
var which = document.getElementById(id);

if (which.className=='pshown') {
hide(which);
}
else {
show(which);
}
}
I just needed code to load, parse, and write the rss data in the post loop. Oh no! The DATE information isn't in any format that javascript can recognize! So I have to parse that too.
function parseXSDDateString(dateString) {
var Zp = (dateString.charAt(10) == "T") ? 19 : 10;
if (19 == Zp) {
if ("." == dateString.charAt(19)) {
dateString = dateString.substr(0, 18) + dateString.substr(22);
}
}
var xDate = new Date(dateString.substr(0, Zp).replace(/-/g, '/').replace("T", " "));
if (dateString.length > Zp) {
xDate.setMinutes(xDate.getMinutes() + xDate.getTimezoneOffset());
if (dateString.charAt(Zp) != "Z") {
var tZ = dateString.substr(Zp).split(":");
tZ = tZ[0] * 60 + (tZ[1] * 1);
xDate.setMinutes(xDate.getMinutes() + tZ);
}
}
return xDate;
}

function hideComments(curl) {
var cid = curl.substring(curl.lastIndexOf('=') + 1);
document.write("<a href=\"javascript:togglehidden('c" + cid + "')\">peek</a>");
document.write("<span class=\"phidden\" id=\"c" + cid + "\">");
var xmlDoc = null;
if (window.ActiveXObject) { // code for IE
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
} else if (document.implementation.createDocument) { // code for Mozilla, Firefox, Opera, etc.
xmlDoc = document.implementation.createDocument("", "", null);
} else {
alert('Your browser cannot handle this script');
}
if (xmlDoc != null) {
xmlDoc.async = false;
xmlDoc.load("http://myrighteye.korv.us/feeds/" + cid + "/comments/default");
document.write("<dl id='comments-block'>");
var x = xmlDoc.getElementsByTagName("entry");
for (i = x.length - 1; i >= 0; i--) {
var auth = x[i].getElementsByTagName("author");
var permalink = x[i].getElementsByTagName("link")[2].attributes[2].value;
var id = permalink.substring(permalink.lastIndexOf('#'));
var d = parseXSDDateString(x[i].getElementsByTagName("published")[0].childNodes[0].nodeValue);
document.write("<dt class='comment-author blogger-comment-icon' id='" + id + "'>");
document.write("<a name='" + id + "'></a>");
document.write("<a href='" + auth[0].getElementsByTagName("uri")[0].childNodes[0].nodeValue + "' rel='nofollow'>" + auth[0].getElementsByTagName("name")[0].childNodes[0].nodeValue + "</a> said...");
document.write("</dt>");
document.write("<dd class='comment-body'>");
document.write("<p>" + x[i].getElementsByTagName("summary")[0].childNodes[0].nodeValue + "</p>");
document.write("</dd>");
document.write("<dd class='comment-footer'>");
document.write("<span class='comment-timestamp'>");
document.write("<a href='" + permalink + "' title='comment permalink'>");
document.write(d.toLocaleString());
document.write("</a>");
document.write("</span>");
document.write("</dd>");
}
document.write("</dl>");
}
document.write("</span>");
}
(Yes, it would be more proper not to use document.write but I'm lazy).

Then there was the tricky part: adding the peek link to the post includable. I only want it showing up on the main page and archive pages, not item pages.

(Also, before you do this, if you use the Layout option to edit your post format, do that now; it's going to stop working once you fiddle with its internals)

Expanded the widgets and searched for "data:post.addCommentUrl" (which shows up twice; for separate page and embedded commenting). The first instance looked like:
<b:if cond='data:post.allowComments'>
<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>
</b:if>
I changed this to:
<b:if cond='data:post.allowComments'>
<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>
<b:if cond='data:post.numComments &gt; 0'>
<script type='text/javascript'>
hideComments(&quot;<data:post.addCommentUrl/>&quot;);
</script>
</b:if>

</b:if>
Hurray, success! Or I should say SUCCESS, since there's apparently a text-transform:uppercase in effect. So add text-transform:none; to #comments-block and voila.

So, it's working (and without loaded huge external .js files like other peekaboo comment systems I won't mention), but there is a lot of room for improvement. It's not asynchronous, so every rss feed for every post on the page is retrieved and parsed (potentially SLOW); it COULD retrieve the feed when you click peek, as needed (also, all of my javascript links are way old-style and should be updated to use proper onclick events). I could make proper element creators instead of half-assing with document.write. I could clean up the code a LOT.

But, it's working, so I'm probably not going to do any of that. ^_^