2007-01-14
The Popsicle You Found There
This is a spoof of the title song from The Phantom of the Opera. Note that the song from the movie adaptation was a shortened version with the last verse cut out. This is a spoof of the full original song.
- Christine:
- I found this popsicle here on the floor.
- It was so wonderful. I wanted more.
- But now I find that I'm not feeling great.
- The popsicle I found revealed that floors contaminate.
- Germ:
- I see you've eaten me. Now I'm inside.
- There's no defeating me. No way to hide.
- I'll give you stomach aches. That is your fate.
- The popsicle you found revealed that floors contaminate.
- Christine:
- This purple tragedy born on a stick
- Has taken over me.
- Germ:
- I'll make you sick.
- Both:
- I'm/You're feeling queasy now from what I/you ate.
- The popsicle I/you found revealed that floors contaminate.
- (in the background)
- It's bad, the popsicle you found there.
- The popsicle you found there.
- Germ:
- I'll rob you of your health. You won't escape.
- You couldn't help yourself.
- Christine:
- 'Cause it was grape.
- Both:
- And from this moment on, I'll/you'll use a plate.
- The popsicle I/you found revealed that floors contaminate.
- Germ:
- Puke, my aim's to make you sick!
- Christine:
- It's bad, the popsicle I found there.
2007-01-02
Irontown
This is a spoof of Billy Joel's Allentown and is set around the story of Princess Mononoke.
Well we're living here in Irontown.
And we want to chop the forest down.
But the wolf clan always gets in our way,
Attacking at night, patrolling by day.
Well Eboshi keeps us winning this war.
With her rifles she kills boar after boar.
She'll defeat the leader, lord Okkoto.
The boar god will fall. The forest will go.
And we're living here in Irontown.
We'll clear the forest all around,
And we'll keep all the gods at baaaaaaaay.
Well we're living here in Irontown
To mine the iron out of the ground,
Keep it out of the samurai's hands,
Holding our guard, foiling their plans.
But the wolf princess wants us to stop.
I can see her on the rooftop.
But she doesn't see we've already won.
Iron and steel, ishibiya guns.
And we're waiting here in Irontown,
Taking aim to fire a round,
And we'll drive all the gods awaaaaaaaay.
Now we'll claim the great Shishigami's head,
And we won't stop until we're sure that it's dead.
Take a chance and deliver our ace,
We'll drive the forest gods out of this plaaaaaaaace.
Well I'm living here in Irontown.
We cannot let the flames go down.
So we pump the bellows day after daaaaaaaay.
2006-12-02
The Hissing Snake
A hissing sound, it be.
From what, I cannot see.
I board my drake and look around.
May be a snake that made that sound.
I take the danger pound for pound,
And lo, it frightens me.
A dragon's stomach great
May well defend my fate,
For if the snake is in the lake,
It can be drunk by such a drake.
And free from hiding, mister snake
Will soon be very late.
I all but drain the lake,
And yet I find no snake.
My trusty dragon, where be it,
This fiend that throws a hissy fit?
We now must search in cliff and pit.
My life may be at stake.
We search about the ground,
But nothing can be found.
Perhaps it dwells up in the sky.
Lucky that my drake can fly,
And so he takes me far up high.
To find who makes this sound.
Here above a cloud,
The sound is getting loud!
Oh drake, this demon must be near,
This snake which I so very fear.
Tell me, tell me, do you hear?
I-- AHHHHHHH!!!!
2006-10-22
Why it took so long for me to fix
This is to the tune of "Something There That Wasn't There Before" from Disney's Beauty and the Beast.
It seems your site has changed its face
For it was inaccessible and table-based
And now it's sound in semantics
I wonder why it took so long for you to fix
I took a class in web design
And I thought no one had such skills as good as mine
But I attained bad practice ticks
And that is why it took so long for me to fix
Now I use validators
Who'd have thought it'd be so slick
How when I change it later
It doesn't take so long for me to fix
And now my code is all first rate
Designed so anyone can view and navigate
The truth hit like a ton of bricks
I wonder why it took so long for me to fix
I'm not sure why it took so long for me to fix
I wonder why it took so long for me to fix
2006-10-17
Where on Earth did I go?
I didn't die. Or so I believe, anyway. Basically, I got a job. This has sort of been in development since before summer break, but since I didn't really know the details about just what it was I'd be doing until a few weeks ago, I didn't bother blogging about it. And then I figured I probably shouldn't blog about anything here without first talking about this relatively very significant development. And so my blog stagnated.
Anyway, I now work at the California Community Colleges technology center, located on the Butte college campus. Exactly what it is that we do doesn't seem very well defined. We basically seem to be the guys colleges go to for various technology-related services, whether it's hosting, making custom maintenance software, video post-production work for Web-based classes (a project we're going to start soon), etc. It looks like I'm pretty much their main web developer now, and I've already gotten through a few tasks including writing a script that enables certain programs used at various colleges to communicate with each other, as well as rewriting one of their websites to be more standards-compliant and accessible. There are at least two more sites they want me to rewrite in the near future. They want to standardize these sites on a LAMP (P=PHP) setup instead of the Windows, IIS, MSSQL, and ASP setup they currently have. Don't blame me for pushing the change, they were already thinking in this direction before I joined the team. I just happen to very much agree.
As a part-time student worker attending that college, there's a wage cap around minimum wage, but they say that will quickly increase once I transfer from Butte to the university. I just got my first ever paycheck: $459. The workload has been pretty light so far, and the variety in the tasks I get makes work fun. I wouldn't mind doing this sort of thing full-time for a living (assuming the pay would go up accordingly, of course). We'll see how it goes from here. I'll apparently also get a number of all-expenses-paid trips to attend various seminars here and there, and those hours will count toward work hours.
School has been less than enjoyable so far. I find that I get just about nothing out of attending the physics lectures, but it comes together once I sit down and do a couple problems out of the book. That's probably not so much a shortcoming of my teacher as my own personal learning style. I've never gotten much out of sitting and listening to someone babble and doodle on the board, but I tend to be a quick learner once I'm by myself with problems and a reference. I got an "A" on both of my first midterms, so it seems to be working so far.
Right now, though, I'm at the point where I wouldn't hesitate to quit school and take a full-time job if I was offered something of interest. At this point, I'm not really learning anything in my computer classes that I couldn't learn in a weekend on demand, and most of the other classes are pointless filler required for graduation. The more I go through it, the more frustrated I get that my time could be spent building tools and solving problems in a real-world environment. This is what they call "jumping through hoops", but I'm not sure that these hoops are even leading me anywhere I can't reach through other (simpler and quicker) means. Perhaps this is only ego and foolishness talking, but based on my past experiences and the responses from those around me, I don't think it is. My nature is usually to expect the worst — to expect that I'm completely unprepared for whatever I'm about to get myself into — but with my experience so far in computer classes and now at my job, it feels as though I'm a math major attending a beginning algebra class.
Don't get me wrong, though, I'm perfectly happy to get paid doing what I'm doing in the technology center, and there is plenty of stuff that I'm learning, but that knowledge has been coming pretty easily. A few weeks ago I looked at the first bit of ASP code I had ever seen, and that day I fixed a few longstanding problems with the ASP code on one of their sites without any more difficulty than I'd have debugging a piece of code in a language I'm already familiar with.
She's Always A Woman (spoof)
Based on "She's Always A Woman" by Billy Joel.
She can clear out the room just by raising an arm.
She smells worse than all of the cows on a farm.
We run for the hills when she snacks on some cheese.
She reeks like a yak, but she's always a woman to me.
There's some kind of drip I can hear in her closet,
As if she has in there some leaky old faucet.
A red puddle sits there and grows every week.
Some say she's a killer, but she's always a woman to me.
Oh, she's the size of a blimp,
With gargantuan jaws
That could chomp through your spine.
Oh, if she doesn't like you,
She will rip out your lungs,
But she hasn't yet mine.
Her voice is incredibly sexy and deep.
She keeps all her clothes on when she goes to sleep.
When she goes to the bathroom, she stands up to pee.
She might be a man, but she's always a woman to me.
2006-08-26
Lunar life and the secrets of the cosmos
The moon is made of cheddar. This fact I know is true.
I went there just the other day to see why it was blue.
The reason was it shortly became exposed to air,
And so it was invaded by some quite unsightly hair.
2006-07-26
:before and :after in IE7 and below
I just discovered an interesting way to get certain uses of :before and :after to work in IE7 (and somewhat in IE6 and below) with no JavaScript or extra elements required. The trick is to make use of IE's incorrect handling of comments in CSS. Using the universal selector (*), IE will treat comments as elements, although the level at which you can style them is very limited. But if you simply want it to display as a block with a certain height and a background, this trick will work.
Let's say you have a fixed-width layout and want to use background images to make rounded corners. Normally, a convenient way to do this would be to use pseudo-elements like the following:
#container:before
{
background: url("corners-top.png");
content: "";
display: block;
height: 24px;
}
#container:after
{
background: url("corners-bottom.png");
content: "";
display: block;
height: 28px;
}
Every major browser supports this level of pseudo-elements except Internet Explorer (IE7 included). Normally, you would likely resort to using empty divs instead, thus leaving an icky taste in the mouth of people who appreciate semantic markup. But with this new method, you can use markup comments instead of elements to produce the same effect. The following is how you would get it to work in IE7:
HTML fragment:
<div id="container">
<!-- -->
<p>Blah blah</p>
<p>Blah blah</p>
<p>Blah blah</p>
<!-- -->
</div>
CSS:
#container:before
{
background: url("corners-top.png");
content: "";
display: block;
height: 24px;
}
#container:after
{
background: url("corners-bottom.png");
content: "";
display: block;
height: 28px;
}
IE-specific stylesheet:
#container>*
{
background: url("corners-bottom.png");
display: list-item;
font-size: 28px;
line-height: 28px;
list-style: none;
}
#container>*:first-child
{
background: url("corners-top.png");
font-size: 24px;
line-height: 24px;
}
/*
Now, still in the IE-specific stylesheet, remove the styles for all
element children of #container. Refer to each element by tag name.
*/
#container>p, #container>div, (And so on...)
{
background: none;
display: block;
font-size: 1em;
line-height: 1.25;
}
You can do some further manipulation of the comment "elements", such as giving them borders and margins, but some useful properties such as height, width, and position unfortunately don't work as expected.
Because IE6 doesn't seem to have a way to distinguish between the two comments in a single container, a little additional messiness is required. Just include the content and bottom comment in a single nested div and you can somehow work around that. Some additional caution is necessary since IE6 also doesn't support child combinators (>). Here is an example of how it might be laid out:
HTML fragment:
<div id="container">
<!-- -->
<div class="mainContent">
<p>Blah blah</p>
<p>Blah blah</p>
<p>Blah blah</p>
<!-- -->
</div>
</div>
CSS:
#container:before
{
background: url("corners-top.png");
content: "";
display: block;
height: 24px;
}
#container .mainContent:after
{
background: url("corners-bottom.png");
content: "";
display: block;
height: 28px;
}
IE-specific stylesheet:
#container *
{
background: url("corners-top.png");
display: list-item;
font-size: 24px;
line-height: 24px;
list-style: none;
}
#container .mainContent
{
background: none;
display: block;
font-size: 1em;
line-height: 1.25;
}
#container .mainContent *
{
background: url("corners-bottom.png");
font-size: 28px;
line-height: 28px;
}
/*
Now, still in the IE-specific stylesheet, remove the styles for all
element descendants of .mainContent. Refer to each element by tag name.
*/
#container .mainContent p, #container .mainContent div, (And so on...)
{
background: none;
display: block;
font-size: 1em;
line-height: 1.25;
}
This weblog is powered by Blogger.