Archive for the ‘Rants’ Category

Doctoral Inspirations

Monday, September 17th, 2007

While reading my Gmail yesterday, I saw a sponsored link titled “The PHP Doctor“. Being a self-proclaimed PHP expert myself, I was interested to see exactly how good this PHP Doctor is. He has a blog–a PHP tips and tricks blog. The first post was about functions, and their use in writing modular code. Although the post used a solid example of functions, I couldn’t help but notice a few sloppy performance issues. The following are tips that I have created after reading that post, and the second post on the page.

  1. Where possible, do not use functions in the entrance condition for loops. Consider the following example: (From The PHP Doctor*)
    for( $x = 0 ; $x < strlen( $InString ); $x++ ) {
        if (strstr( $OKChars , $InString[$x] ) ) $OutString .= $InString[$x];
    }

    Note that for every iteration of that loop, the value strlen( $InString ) remains the same. However, on each iteration of the loop, the function is run. To avoid running this function each iteration, the value should be assigned to a variable before the first iteration:

    for ( $x = 0,$c = strlen( $InString ); $x < $c; $x++) {
        if ( strstr( $OKChars , $InString[$x] ) ) $OutString .= $InString[$x];
    }
  2. ++$i, $i++, $i += 1, and $i = $i + 1 all have the same basic effect, but they are indeed different. Using using $i++ or ++$i is faster than using$i += 1 or $i = $i + 1. For those who don’t remember, $i++ and ++$i are respectively, the post increment and the pre increment operators. The difference between the two is that pre increment increments $i, then returns the incremented value, whereas post increment returns the value of $i, then increments $i.
  3. Although PHP doesn’t really care, try to avoid implicitly casting numerical types to strings when it is not necessary. Consider a function that takes a numer, $Number, and rounds it to the nearest hundredth. (Note: this can be done via PHP’s round function: round($Number,2)). Here is an example from The PHP Doctor*:

    function roundToTwo( $Number ) {
        //pow(10, -3) = .001
        $Number += pow( 10 , -3 ); //Make sure the thousandths place is populated
        $Number = round( $Number * pow( 10 , 2 ) ) / pow( 10 , 2 );
        //Make sure the thousandths place is populated
        $Number += pow( 10 , -3 ); //pow() returns float or int (false on error)
        //Take the decimal point, and the following two characters.
        $Number = substr( $Number , 0 , strpos( $Number , '.' ) + 3 );
        return $Number;
    }

    Rounding is a mathematical function, but the preceding function relies on properties of strings. One downside of this is performance; another is formatting: roundToTwo() will return a string, and because strings have no concept of significant digits, non-significant digits will be returned. (return value could be something like 123.00) Anyway, with a little more thought, we can find a way to do this without using strings. When round is passed only one argument, it will round the argument to the nearest integer. It follows that round($Number*100)/100 will function the same as roundToTow($Number). But suppose we want to avoid using round()… Recall that if we are rounding to n decimal places, we round up when the digit in the (n+1)th decimal place is greater than or equal to 5, and down otherwise. Adding 5 to this digit will accomplish this. Thus, we can now use the floor() function instead of round(): floor($Number*100 + .5)/100.
  4. In the previous example, not the use of pow(x,y) where x and y are constant. For better performance, calculate the value pow(x,y), and use that value in your program. In some cases, this will also lead to more readable code.

Have you ever?

Tuesday, December 27th, 2005

A look into the everyday life of your not-so-ordinary geek:

  • Dude… I should have calculated the md5/sha1 sum before I burned the CD and formatted my root partition. Well, at least I have a new frisbee…
  • Hm. 10 USB cables… I have a 1:10 probabiliity of selecting the one that goes to the keyboard.
  • Why is my keyboard plugged into one of my front USB ports? I’ll move it to the back. Ok, so I booted to windows and then it didn’t recognize it because it was in a different port. Lame!
  • Windows has detected a mouse movement. Please reboot for the changes to take effect.
  • Windows has found new hardware: Please use linux for better results.
  • I pressed my spacebar, but windows thought that I wanted it to go into standby. All I wanted was a space…
  • The duct tape case I made for my pocket PC’s keyboard is stuck on the keyboard. Now where did I put my knife? Ah yes! Under the pile of electronics!
  • I know that CD is around here somewhere…
  • I was bored, so I decided to talk to someone’s away message for a while. It was a very pleasant conversation: I did most of the talking.
  • I left my computer for an hour, and this moron left me ten-thousand messages. What’s this? He had biscotti for lunch? Hmmm… Lunch… that’s a good idea.
  • GTK hates you. Get over it.
  • …Caught yourself using quotes too much? You know, like: “Dude, I use quotes too much.”
  • Lay off the caffeine, you say? No, I don’t think so. Now where did I put my cup of espresso? Ah yes, that is burried under a pile of papers somewhere.
  • I have so much crap in my wallet that it won’t even fit in my back pocket. Did I mention that I just cleaned it out?
  • XHTML 1.1 compliant? Unordered Lists? count me in!
  • Wow, there sure is a lot of junk on my desk. I should clean it off instead of talking to somone’s away message.
  • I unplugged the keyboard, then instinctively blamed windows when I couldn’t type. What does that tell you?
  • It’s been ten weeks since I blogged. I’ll do it tomorrow…
  • Windows installer: Preparing to install… Wait a minute… I’m installing something now?
  • Updates are downloaded and ready to install… I downloaded upates? Where was I when this happened?
  • Warning: Your computer is three years out of date. Run windows update before someone decides to exploit the 10,000 security vulnerabilities that were discovered during this time. Wow, it’s been three years since I booted to Windows? Let them hack me, as long as they don’t hurt linux. They’re no match for tux anyway!
  • I just write random 1 to 10 line programs and leave them in whatever directory I am working in. They’re named: poop.php, poo.php, test.php, it.php, this.php, that.php, or test.php. And the variables are a,b,c,d,e…,z.
  • What?!? There isn’t a man file for that command??? NOOOOO!
  • Document type does not allow element ul here. ooops…

Myspace Sucks

Sunday, October 30th, 2005

Imagine a world with no Official languages. A world in which each village has own dialect. A world in which communications between groups of people is impossible. Official languages prevent such a world by “forcing” everyone to speak the same language, but that’s a whole different topic. I don’t want to get started on why we need to make English our official language before the Spanish people assimilate us in our own country. Anyway… If I am so inclined, I can send an email to a mac user in England (I use Linux). The mac user in England will be able to read my email because although our computers are running different operating systems, they speak a common language. This is ensured by standards such as ASCII, ANSI, and ISO. I am using ISO 8859-1; the mac probably isn’t using ISO 8859-1, but it most likely knows how to read it. The character set is specified in the email headers. I can go to a variety of websites, and my browser of choice, Firefox, will have no problem displaying them. This is also due to standards. The w3c, or world wide web consortium was formed in 1994 to oversee open standards for the internet. Without a single organization overseeing standards, different websites would be coded in different languages, and not all browsers would be able to display every website. The internet would be much like the hell described at the beginning of this paragraph.

While many websites willingly comply with w3c recommendations, some seem to go out of their way to shit all over standards. Myspace is one of these websites. Even though I believe myspace is the root of all evil, I’ve been on it a lot more lately. Each time I type myspace.com into the address bar, I loathe Tom even more than before, and fear his horrible coding will yet again crash Firefox. Any website that crashes firefox doesn’t deserve to live. I’m not trying to say Firefox is perfect. (I know it isn’t.) Firefox’s poor memory management could be used to frighten small children. (adapted that from a Linus quote). In many respects, Opera is a better browser, but this post isn’t about which browser is better—it’s about which website sucks at life. That website being none other than myspace. Anyway… Just for fun, I figured I’d run my profile through the w3c markup validator. The profile is over 1000 errors away from being flawless XHTML 1.1. Tom wouldn’t know valid [X]HTML if it challenged him to a duel.

In addition to using bad markup, myspace goes out of its way to promote the use thereof. The default style of a myspace profile is boring to say the least. To remedy this, users have taken to using CSS and HTML to spice things up. Unfortunately, myspace was not designed for this kind of customization. Profile customizations are hacks at best, and some effects can only be achieved by blatantly disregarding standards. Fortunately, the casual user is not at fault in this case. The myspace profile system is lacking in many areas. A system similar to the blogger template system would be quite nice.

For those of you who haven’t noticed, I do a lot of whining, but rarely do anything about it. Well, I’m not doing anything about myspace either. I would jump at the opportunity to help design an open, compliant, alternative, but I lack the resources, time, and funding to undertake such a project by myself. I just hope someone gets to it before myspace corrupts the whole world. If we’re lucky, Google will own the world before that time, and Google Groups will challenge myspace groups to a battle to the death… Robozombie Google Vs. Myspace. (Google will kick Myspace’s ass any day. {robozombie or not} Their 52 week range is roughly $116-$358. Kick ass.)

Post Secondary Planning

Wednesday, October 26th, 2005

I was under the impression that I was taking this class to plan my… post-secondary… life, but apparently, that is not the case. As it turns out, I am here to be graded on taking notes about pointless things I don’t even care about. If I want to know what fafsa is, I’ll look it up by myself. I don’t really care about reciprocity, nor do I need some old hag to download applications for me. I am not too inept to click on the “Click here to download application” hyperlink… Not yet anyway…

I had planned to switch out of this horrid class, and even tried once, but alas, my plans were quickly shot down with Mrs. Short’s warm words of encouragement. I told her to take me out of post-secondary planning in order to better accommodate my independent study, but she told me it was a good class to take, and manged to fit me in by created a scheduling conflict.

Censorship

Wednesday, October 12th, 2005

I submitted three quotes to the yearbook, each a different length, and each quoting Linus Torvalds. Apparently, senior quotes should be ’serious thoughts’. To someone who doesn’t know what ftp stands for, to someone who hasn’t a clue in the least who Linus is, and to someone who’s knowledge of computers barely stretches past pressing ’start to begin’, my quotes may seem ridiculously jocular, but to someone who knows that ftp stands for ‘File Transfer Protocol’, to someone who knows that Linus is Linus Torvalds, to someone who knows that Linus is a BDFL, and to someone who actually knows what a BDFL is, my quotes are actually quite serious. Does the title ‘Yearbook’ advisor give Mr. Goudreau the right to define serious? Apparently. To quote Obi Wan Kenobi in Episode six, “you will find that many of the truths we cling to depend greatly on our own point of view.” Perhaps solemnity is a point of view. And perhaps from Mr. Goudreau’s “… point of view, the Jedi are evil!” (Darth Vader - Episode III).

I’m told my ambition doesn’t quite cut it either. Perhaps I am a little too ambitious. Getting a doctorate in math and conquering the world is a lot to do in only one life time, but who is Mr. Goudreau to crush my ambitions?

As a yearbook adviser, it is apparently his duty to ‘uphold the integrity of the yearbook.’ If my quote isn’t quite serious enough for the yearbook, and my ambition jeopardizes its integrity, he is free to remove it, but it is only fair to remove all of the equally ‘funny’ quotes as well.

More annoying than the fact that my quote cannot go in the yearbook while other quotes, equally laking in seriousness, will be posted, is the fact that mine will not be posted because a certain yearbook adviser is too lethargic to sit down in front of a computer, and run a few Google queries in order to better understand them, and too rigid to change his mind even when/if he does realize that his judgement of seriousness is largely incorrect in this matter. I am fine with my quotes being left out for a good reason, but I don’t consider a yearbook adviser’s lack of knowledge a good reason.

Quote 1:

My name is Linus, and I am your god.

Before you tell me that this quote isn’t serious, please read the thirteen-thousand Google search results for ‘worship of Linus Torvalds’. To quote Wikipedia, “Many Linux fans tend to worship Torvalds as a kind of god.” There you have it. “The Free Encyclopedia” verifies (as I knew it would…) the fact that Linus is a god figure. Saying this quote isn’t serious tells all the ‘Linus Worshipers’ out there that you think their idol is a joke. Linus Torvalds is not a joke.

Quote 2:

Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it ;)

Mr. Goudreau doesn’t know what FTP is. He can’t put anything he doesn’t know in the yearbook. He’s human; there’s a lot he doesn’t know. A simple Google Query would tell him that FTP stands for File Transfer Protocol. Read in context, this quote is quite serious.

Quote 3:

When you say “I wrote a program that crashed Windows”, people just stare at you blankly and say “Hey, I got those with the system, *for free*”.

Again, taken in context, this quote is quite serious.

As for the ambition… I don’t just happen to have any old yearbooks lying around. If you have one, please comment with stupid/funny ambitions (and quotes) that jeopardize the integrity of the yearbook.

If your name is Mike, please click here. (I’m guessing that everyone will click there out of curiosity.)

Yesterday

Wednesday, September 28th, 2005

I find titles have a funny way of hinting what a post may be about. This post is obviously going to be about yesterday, but even more than that I find that the length of the title also as something to say about the post’s contents. The fact that a post can be effectively summed up in one word means it is important… or something along those lines. Anyway… Yesterday can be split into two distinct chapters: The DMV and the Talent Show.

Looking at my driver’s license, I see that it expires on 10-04-05… Hey, that’s my birthday, and it’s next week. In fact, if today were yesterday, today would be a week before my birthday. The way I saw it, I had two options: Either renew my license before it expired or let it expire and drive around with an expired license until I found time to go to the DMV. Thinking I had life all figured out, I skipped two periods of school and headed on over to the ‘Registry Express’ at Rhode Island Mall. First, I’d like to note that the registry express is the slowest registry I have ever been to. In my experience, express implies speed and simplicity, neither of which can be found at the ‘Registry Express’. It would be more fittingly named ‘The Abridged Registry’. They offer what they call ‘basic services’ and make you wait twice the time on your ticket.

I arrived at the DMV around 1245 and grabbed my ticket which said I had 1 hour and six minutes before my number was called. Yay, thought I, plenty of time to gallivant around town. Unbeknown to me, I really did have plenty of time to kill. When I returned half an hour later, only ten numbers had been called. Thirty numbers remained before my number would be called.

At some point during the ‘waiting process’, I remembered the seinfeld waiting room episode.(which you should watch if you want to have full understanding of the allusion). Aside from being just ‘waiting numbers’, the numbers on the tickets also indicate a person’s standing at the DMV. After a while, I was one of the senior members of the line. I clearly remember sitting there, my head held high, thinking ‘Yo! This is my line, bitches. Hey you, number 121, move! You’re blocking my view of the ‘currently serving’ counter.” And of course number 121 would listen to number 62, who is his superior by 59 postilions in line. So when one’s number is finally called, it’s kind of like winning the lottery. You stand up proudly and look at all your inferiors, a look of victory on your face. It’s like “Hey, bitches, that’s my number! Yeah! see that! I get to go to counter number one. Have fun waiting here for three more hours. hey you, number 63, see you in the photo line, eh?”. After the initial “Yeah, you all suck!” stage, one slowly struts over to the counter and says “Hey! I’m here to renew my license.” to the hombre behind the counter. That’s it. You think you’ve made it at that point. A few minutes of blah blah. Yes, that’s still my address, here’s thirty dollars. OK, so the renewal process only takes 3 minutes. Off to the photo line. (dun dun dun.).

Ah, yes, the photo line. Good times… Well, not really. It sucked. I walked right up to the counter, and that lady looked me in the eyes and said, in a gruff voice, “Not eighteen yet?”. I replied “Next week” and she told me “Because you aren’t yet 18 we’ll have to give you another provisional license.” I didn’t express any objection to this, but I was rather pissed. She then proceeded to ask me who served me. I pointed and said “that guy over there.” She walked over there and they exchanged some words, which ended with him saying “yeah, that’s ok”. I have no idea what they talked about. And here I was thinking I was smart going there before It expired. I hate the DMV… And the moral of the story is: Drive to the DMV with an expired license. If a cop stops you, tell him my story.

That takes care of chapter one. I’m too lazy to write much about chapter two. Let’s just put it this way: I’ve done lights for many events. The talent show last night was one of the more poorly run events I have done. Perhaps it’s just me, but it seems as though the level of organization at these things is going down each year. Mr. Bronco my sophomore year was awesome. Mama Bliss and Mrs. Dethomas had everything under control. They had wireless headsets and mama Bliss was up in the projection room making sure everything went smoothly. They even publically thanked us at the end of that show. I don’t think we’ve been publically thanked since then.

Tapes and CDs alike must go. The poor quality of tapes is enough to kill me, but when I can tell that part of the song was cut out with a cassette recorder… yeah.. hiss pop.. not good. Download.com, people. Download an audo file editor. There are millions of them to be downloaded on the internet. This is what we call using your resources. Don’t fear the computer. Use it. Don’t be afriad to learn. It really isn’t hard to move the mouse around and hit buttons. It’s not like the sky is going to fall on your head or anything. That’s the problem with people. The only way to learn is to do, but people are afraid to try things because they’re afriad they’ll start world war III or something. HEY YOU GUYS!!! Your computer is not a nuke. This has been a public service announcement paid for in part by the C-NRoG. Next time I run something, I am telling people to email me mp3 files and descriptions of what they want for lights. If they can’t understand the concept of ripping songs off of CDs (again, use your resources), I might be nice enough to do that for them. Perhaps I’ll even edit pieces out. (sexy 320 kbps audo… yum…) We’ll see. I just won’t stand for poor organization any more. A thumbs down to the class of 2008…

In more todayish news, I just earned a Sliver Palm. That makes me Eagle Scout, Silver Palm…. Highest ranking scout in the history of my troop. yay for me. I’m special. Free cheers for Greg. Now if you’ll excuse me, I think I’ll go proofread this thing then click publish.

Another DD rant…

Wednesday, September 21st, 2005

Johnny walks in to a Dunkin Donuts and orders a ’small coffee’. What does he get? Well, that all depends on what the date is. Is it late spring, summer, or early fall, or are we into the cold months? Depeding on the time of year, johnny will get either a hot coffee or an iced coffee, without explicitly specifying either. Again without explicitly specifying his preferences, Johnny will get sugar and cream in his coffee. He neither ordered ice, nor cream, nor sugar, but he ended up with all three. Poor Johnny. All he wanted was a ‘Small coffee no cream; no sugar; no ice’. How was he supposed to know that he had to take all of those away? The moral of the story is that when in a Dunkin Donuts store, you should describe your coffee with as many words as possible.

In Google Search query language, johnny’s order might look something like:

small coffee -cream -sugar -ice

Even more fun than the query form of the order is the mathematical equation form:


small coffee = ground_coffee + hot + water + 2*cold + cream + sugar

cold = -hot

small_coffee = ground_coffee + cold + water + cream + sugar
Johnny_wants = ground_coffee + hot + water
Johnny_wants = small_coffee + 2*hot - cream - sugar

Looking at the equation form clearly demonstrates that Johnny must order postivie hot, negative cream, and negative sugar.

The whole point of the story is that I disagree with the way that evil corporation does things. When I walk into a Dunkin Donut store and order a ‘Small Coffee’, I am looking for a small amount of (crushed coffee beans+hot water). Even iced coffee starts hott. Icing the coffee is an extra step that should not be implied…

Hello, I’ll have a small Coffee plus heat, minus the quantity cream plus sugar.

I’m Not Joining The Marines

Tuesday, September 13th, 2005

It always happens after school, between 1500 and 1600. Every damned time. The phone rings, it’s for me. It’s one of the armed forces calling to corner me into joining…again. It was the Marines this time. What kind of idiot do these people take me for? He asked me what I want to do after high school, so I told him, truthfully, that I was planning on majoring in math. Here comes the punch line: He went on to ask me what I am planning on doing for a career. Uh oh! I stupidly, and truthfully told him that I was undecided. Well, he set me up. I hung up about then, because I knew that after that he would inform me about all of the great careers in mathematics that the Marines have to offer. He didn’t really think I would fall for that one, did he? I must admit, he did seem quite skilled at working poor, helpess high school students into joining. If I want to join the Marines, I’ll join them without the help of some guy on a phone. This particular guy was lucky. Most of the callers don’t get past: I’m from the <service> recruit… I hang up. If you happen to be a recruiter reading this post, and I’m on your list, don’t call me. I don’t want to waste the time required to listen to your little introductory speil and then hang up. Please, save us both the trouble.

On a second thought. This dude knew both my grade and my school. Who gives these people my name, grade, and phone number? I sure as hell don’t remember realeasing all of that information. Just don’t call! Thirdly, I am now wanted by the army, navy and marines…. What happens if I sign on with all of them? Remember: Uncle Sam wants you.

Pseudo-Geeks

Friday, August 26th, 2005

Surely we’ve all watched the sixth sense… Either way, you’ll surely understand this pop culture reference… I see pseudo-geeks. Walking around like regular people. They don’t see each other. They only see what they want to see. They don’t know they’re not geeks. This technical era in which we live has brought about it’s own kind of fake—the pseudo-geek. They’re everywhere, and much like in the Sixth Sense, not just anyone can see them. Only Cole is able to see dead people, and in our real life geek parallel, only geeks can spot pseudo geeks. This is what makes them dangerous and annoying.

I know few people who lack the intelligence to browse an acronym finder. 4ny0n3 c4/\/ 5p34k 1337, 8u7 f3\/\/ 4r3 7ru1y 31337. I can go around talking about KDE, and how it’s a GUI, but I prefer my good ol’ bash shell. I could give a speech about how much I love cd’ing through my ~, and rm’ing all the junk. (this reminds me… I’m still running a 2.6.10 Kernel with SELinux. Time to update…) If I select * from readers where clue > 0;, only true geeks will be returned. Unfortunately, only a true geek will get a correct return on that query. All of the non-geeks who read this blog probably think that query is enough to make me sound like an ubergeek. So you’ve seen that I can talk the talk, but can I walk the walk? Do I actually know anything about something?(say yes or feel my wrath.) This is how we distinguish the Geeks from the pseudo-geeks. Pseudo-geeks are often able to compose nice sentences full of meaningless technical jargon. Here’s an example: I fsck’ed my main partition today because I had a bunch of orphaned GUI’s. To someone who doesn’t know that GUI stands for Graphical User Interface, that sentence probably makes perfect sense. (orphaned Inodes would be correct.) Only us true geeks can see through their facades. Only a true geek can expatiate about the benefits of *nix over winblows…

In the past, I have tried to avoid writing about idiots on this weblog. Perhaps because I don’t want to deal with their stupidity-ridden comments, or perhaps because I’m just too lazy to rant. There are few idiots who have been lucky enough to be featured on this Blog, and this person happens to be a returning moron. Ladies and Gentlemen, boys and girls, Spiders, Googlebot, Feedster users, and Technorati users, I give you Rambacher. [Crowd cheers as Greg introduces the guest with a hint of disdain in his voice.]

(more…)

Sailing

Thursday, August 11th, 2005

My out of country Aunt (Africa), her out of state daughter, and my out of state second cousin all flew in on Tuesday. They usually only make it up here once a year, so it’s a pretty big deal. (I guess it will be twice this year.) As a celebration type of thing, they took my Grandma out to eat yesterday. There was room for everyone except me. Even my brother went. :(, I suggested that they give me a ride home, so I could pick up the truck, but apparently they were rushed for time. The baby (second cousin, who is old enough to talk) has to eat at the same time everyday. They agreed to bring something home for me. That was nice of them, but they’re lucky I’m not spoiled like that baby. I had lunch around 1400, which seems kind of late… I wonder if I could have gotten away with saying that I need to eat lunch at the same time everyday…

When I finally finished lunch, I ran off to attempt to drown myself. Last year, sailing didn’t seem to be a very blog worthy topic. I went sailing every chance I got last year, but I’ve only been twice this year. The weather yesterday was like gnarly dude…(uh..yeah.). I was out for about for hours, and only flipped once, which leads me to the point of this whole paragraph. I actually flipped three times, but only one of them was an accident. The wind was blowing from the South, and I had to go North to get back… Naturally, the ride was quite fast… a little too fast. The rudder on my 30+year-old sailboat decides to ‘pop out’ sometimes. Unluckily for me, this happend when I was sailing right next to a jet ski lane that borders a VERY rocky area. When the rudder popped out, I completely lost control of the boat. All the slack that was then in the rope somehow managed to wrap itself around a buoy three times. The boat didn’t really care, it just wanted to keep going, so it did, but I wasn’t in control. In order to fix everything, I had to flip the boat. While I was busy untangling the buoy, the boat began to flip all the way over, such that the bottom of the boat would be horizontal. The sails on these boats are pretty much water tight, so righting a boat with a water-logged sail can be challenging. I was lucky and managed to finish with the buoy before my situation got any worse. I righted the boat and was ready to sail away when I noticed that the boom was pointing straight up into the air. For those of you who don’t know, the boom is the pole on the bottom of the sail. During normal operation, the boom is perpendicular to the mast, not parallel. I decided to flip the boat before it flipped on it’s own. The people who watch and laugh can never tell the difference, but it makes me feel better anyway. Although the boat was lying in the water waiting for the sail to be unwrapped, my predicament was far from over. If I had left the centerboard to unwrap the sail, the sail would have filled up like a bucket and sank… I needed help from someone, but who? Being a Boy Scout, I’m always careful to follow the buddy system. (ah..sometimes..) My brother was in a kayak not too far away from me—or so I thought. He got tired and decided to rest about two hundred yards back. So there I was: Sitting on a half overturned sailboat waving my arms frantically to get his attention. He finally noticed me, and rushed to the scene, only to stop and ask me what was wrong when he was fifty feet away. I’ve had my suspicions about him, but they were realized that day: my brother is an idiot.(oh, hi Jeff!). I would think that upon seeing the boat, he would instantly realize what was wrong. I’ve been sailing for years. I can right the boat in a number of seconds after flipping.(providing everything is normal) He should have realized that. I yelled at him for stopping, so he he quickly hurried along. By the time he had arrived, I had explained my problem to him. All he had left to do was solve it. His solution: float around in the Kayak while I sit there and wait. Again I yelled at him, and again he rushed to my rescue, and again, did nothing. I yelled at him some more, this time explaining in detail how to lift up the end of the sail and throw it over the mast. That went surprisingly well and I had the boat back upright in no time. I was ready to sail off when I noticed that the sail had done a 360 around the mast. The wind was too strong for me to just pull the sail back to the other side. I had to use the wind to turn the sail… I began turning the boat and again yelled at my brother for just sitting there. He came to my rescue by pushing the boat in the wrong direction. I pretty much gave up on him after that. The whole thing took between ten and fifteen minutes.

Congratulations to Steve Lafaille for passing his Eagle Scout board of review! yay!