Saturday, February 27, 2010

I talked to Spence while spinning today.

Well, Spence was spinning, I wasn't. I thought I was going to be spinning an hour later, but it turns out today was "National Spin for 2 hours for a donation of 75 dollars" day. Ok, maybe that's wrong. It's just that when I asked the front desk person if there was a sign up sheet for the 8:15 spin class, I was informed that there was no spin class today because spin class was filled up with people who had paid 75 bucks to spin for 2 hours for some fund raiser. Don't get me wrong. I don't think Spence paid the 75 dollars. He was just on one of the bikes alone in the spin bike/aerobic room, spinning. He looked like he'd been there a while too. All sweaty and stuff. So I stopped in and chatted with him for a while. Turns out, you don't necessarily need an actual class to spin. As long as there's no step-aerobics or anything going on, nobody's going to say anything to you for mounting one of those bad-boys and going for a quick ride. Sweet.

Anyways I had a back up plan. I always do. You never know if spin class will be filled up or there will be a national "spin for 2 hours to save the whales" day. So I suited up and hit the basketball court. Good thing too. After I warmed up a bit, I was hitting 3-pointers (I mean like honest-to-goodness, nothin' but net, swishes) like a mad man. It was as if I had some sort of Baset-ball Jones ooh ooh ooh ooh ooh wee. Tyrone Shoelaces would have been very impressed. My top.

Thursday, February 25, 2010

13.0

Less than a stone away from my goal (goal: 13 Stone 8 lb). I put the big pants away for next winter. Now losing weight on pace with Jan Ullrich during a TDF.

My secret? Well, I'll tell you.

First, make a big plate of your favorite food. It doesn't matter what it is. Get as much as you want. Pile it on. For me, it's a double meat, philly with extra cheese and extra mayo and a family size curly chili cheese jalapeno fries (extra spicy) from Tony's All-You-Can-Gorge Cow-Flesh and Cheesecake eatery. Mmm. I wish such a place existed.

Anyway, before you sit down to eat your delicious meal, take one flintstone chewable vitamin to slightly curb your hunger.

Next - and you cannot skip this part - take a clean plate and divide the meal in half. This does not have to be exact, but it should be close. Try to divide each part of the meal in half. Now you have 2 decent sized meals in front of you. Take the one that looks slightly larger (be honest, otherwise you're only cheating yourself) and throw it in the trash. I know it sounds horrible, but you were going to eat it. And that's even worse for weight loss.

Now you can sit down and enjoy a good meal, except, no you can't. Are you kidding me? That's still too much food. Scrape the other plate into the trash too and go smoke a cigarette. That should take care the hunger for a while. Later on, you can have another Flintstone chewable if you're good.

Wednesday, February 24, 2010

I’m using my degree … finally: A book review.

Note: This review may contain spoilers. Where possible I will point them out in advance.

A few weeks ago, this guy I work with, we’ll call him “Sam” came to me and said, “Here’s a book I want you to look at. It’s got some stuff in it about flexible pattern matching in strings.”

I looked down at a bright yellow book, called “Flexible Pattern Matching in Strings”.

“Ok, Sam.” I argued.

Sam continued, “Once upon a time I implemented the “Set Horspool” algor …”

You know what? Let’s call him “Ted”. “Sam” is just not working for me.

“… Algorithm, but lost the source code. I want you to read this book and find the best way known to man or beast to search for any of a list of strings within a target string,“ Ted went on to explain.

At first, the idea of reading what looked like a textbook didn’t appeal to me. But Ted sweetened the deal by telling me there were algorithms described inside the book. I love algorithms. Ted knows that. “What the heck, give me that book Sam. I mean Ted!”

Several white board drawings and unrelated personal anectodes later, Ted left me alone with the little yellow book.

A voice inside my head said, “This is your chance Freddie. The opportunity you’ve worked for. Don’t blow it.”

I swiveled abruptly in my office (cubicle) chair. I hadn’t immediately realized the voice was internal. “What do you mean, “opportunity”?

Voice: You know as well as I do what I mean.

Me: Then why don’t you fill us both in?

Voice: Seriously?

Me: Please?

Voice: No.

I may never know what the voice meant. But I knew that this was a chance to use my formal training in computer science. Taking a closer look at the book, I notice it’s not bright yellow, but more pale. Hmm. Must be the lighting. I carefully open the book. Ted is pretty anal about his stuff so I don’t want to get spaghetti sauce on it or anything. As I begin to read, I realize what a profoundly wonderful book this is. Well, after about 1 and a half chapters. I had to kind of skim over chapter one, the elementary crap about bit-parallelism and bit operations and the labeled rooted tree and trie crap (yawn) and get right to the good stuff in the middle of chapter 2. This is where the author struts his stuff. Showcasing his talent, he masterfully paints the tale of flexible pattern matching history. From its humble beginnings in a sleepy midwestern village where the controversial Knuth-Morris-Pratt idea came to prominence all the way up to jaw dropping discoveries like Boyer-Moore, Horspool etc. From start (1 and a half chapters in) to finish (about chapter 5 or so) You learn the truth about algorithms you've heard about your whole life but never believed actually existed.

SPOILER ALERT!!!: Turns out, Horspool is an improvement over the original Boyer-Moore idea. I know, right?

Let me tell you, if you’ve ever had a need to match patterns flexibly, or even if you just consider yourself a weekend flexible pattern in strings matcher, here’s your book. I’ll warn you, though. If you do get this book, keep your eye on it. People will be “borrowing” it from your cube on a regular basis. Yeah, It’s that good.

Whatever you do, don’t skip the section on the Backward Nondeterministic Dawg Matching Algorithm. I won’t spoil it for you, but I will ask that you thank me later for the heads up.

BIG HUGE SPOILER ALERT, AND THE REASON FOR TED’s VISIT IN THE FIRST PLACE: Though the Horspool Algorithm is great for finding one particular substring, its multiple string version, “Set Horspool” sucks ass. Thankfully, there’s an answer. In the late 80’s, early 90’s a couple of guys by the unfortunate names of Udi Manber and Sun Wu describe what turns out to be one of the most efficient ways to find any of a set of substrings within a certain string. It is named after its inventors. By now, it should be obvious I’m talking about the “Wu-Manber Algorithm!” Ok, be honest. Who thought it was “Manber-Wu?” Silly reader!

So I read the book. Got the info I needed and wrote a program that reads in a list of words and looks for their occurrence in some text. And it does it really really fast. Thanks Little Yellow book!

By the way. The reason Ted wanted this thing? Well, here at the company, we have lots of information. We also have a list of potentially offensive words. We like to run the information through looking for these 400 or so words. I ran this blog post through it. Results below:

---
ix = 0, match found: CRAP
ixTemp = crap
---
---
ix = 0, match found: CRAP
ixTemp = crap
---
---
ix = 1, match found: HATE
ixTemp = hatever
---
---
ix = 0, match found: SUCK
ixTemp = sucks
---
---
ix = 0, match found: SUCKS
ixTemp = sucks
---
---
ix = 0, match found: ASS
ixTemp = ass
---

Friday, February 19, 2010

Call me a skeptic

I have this brother-in-law, let’s call him “Lane” who has helped Jill and me with all sorts of menial labor type tasks over the years. He’s helped us move at least 3 times without complaint. So when he moved into a new house a while back, it was unfortunate that it was at a time that I was unable to help, due to not wanting to. He also built a rock wall one time and was looking for help, but alas, I had to go for a bike ride or something.

I’ve always felt kind of guilty about the uneven favor balance, so when I heard he was going to move his backyard fence to the north about 23 feet (7 meters), I vigorously volunteered to help. Mainly, to alleviate the guilt. But it also seemed like it could be some good exercise.

The first thing we had to do is wait for the guy with the auger, we’ll call him “Mike” to show up. In case you don’t know, an auger is used to dig cylindrical holes for posts for fences, not to be confused with a bung hole borer or reamer.

Once Mike got there, we had the labor-intensive duty of standing around watching him use his 2-man auger by himself. Any of us would have helped, but he didn’t want it. There was one guy, who shall henceforth be known as “Steve” in this story, who sheepishly tried to help Mike by lightly pressing down on one of the handles with a couple of his fingers while Mike drilled into the ground.

I should back up a minute. It should be noted at this time that there were about 5 guys at the fence moving party. We think of ourselves as reasonably smart people. We think we’ve got what it takes intellectually to put some holes in the ground. As it turns out, intellect can be your enemy when it comes to trades such as digging. See, Lane has an underground sprinkler system which complicates the matter slightly. We don’t want to dig just anywhere potentially rupturing a water line so we had to be careful about where we put these holes. Luckily for us, the problem has a simple solution if you believe in magic.

Turns out Mike is a “dowser”. He can divine the location of water under his feet by using bent pieces of wire and walking around until they move. I did not realize what he was doing until it was explained to me. The thinking here is that the sprinkler lines under the ground will have water in them. This highly abnormal concentration (about 1 inch diameter) of water about 8 inches below ground will trigger these handheld bent wires to move together.
“We’ve got a skeptic!” Lane shouted after it was explained to me.
“I’m no skeptic,” I insisted. “That would mean that I doubt it. I don’t doubt it. I know it’s bullshit.”
“Skeptic,” the other four nodded in knowing agreement. It was like they were saying, “How cute. The computer guy doesn’t believe in the science of divining rods.”

“Well ok guys, How’s it work, then?”

Mike was happy to explain:

Here’s the interesting stuff I learned about dowsing.
Only Certain people, let’s call them “seers” can do it. Others cannot. Some are better (more sensitive, Mike explained) than others. Mike thinks it has something to do with the chemistry of the individual somehow mixing with the elements of the earth.

Power lines above can disrupt the reading. He showed us this by walking under power lines and – sure enough, the wires moved together like the closing of a gate, only to open as he cleared the source of interference. I thought of it much like the way you might tune a radio station in (except that there really are radios that can receive broadcasts).
It was really quite amazing. Not the dowsing. The fact that Mike, Steve and to a certain degree Lane all believed that the dowsing practice was smaller than some of the huge piles of shit they’d seen in the past. Fascinating.

Tuesday, February 16, 2010

A very long story

Well it all started when I, oh crap - I forgot. I have a one o' clock meeting. I'll finish this story later. Bye.

Wednesday, February 10, 2010

18.0

Even though, Shim's suggestion of April 2010 seemed too far away. It now looks like April 2011 is more like it. Thanks for the lovely email, Brady.

I think that even though I'm far too busy to post anything, I'm going to anyway. I'll just type faster and do no editing or proofreading. That should speed things up. Ok, so what is making me so busy I can't sit down for a few minutes and tell a story or something? I'll tell you what. PS3. That's what. Yeah, it took a while, but I'm finally a lazy teenager who sits around playing video games all day long. I'm currently playing "Get A Life 2.0: The routine continues". I can't get past chapter 4 "Higher education". Whew.

I've also been kind of occupied doing nerd stuff. I bought a cheapo computer to connect to my 19 inch flat screen Home theater (theatre) system. That's right! 19 inches (measured diagonally). Hmm? Your parents console was bigger than that? Well, I hate to break it to you, but your parents were compensating for something. It looks really big if you move the couch up a ways. The definition is so good, I can clearly see each RGB pixel.

Also keeping me pretty busy. Snow shoveling. But enough about that.

Oh and there's cub scouts and Basketball. I'm a den leader and coach.

Nocitably absent from the laundry list of chores. Laundry. My clothes are really smelly now. Ahh the life of a teenage gamer. Which reminds me. Why is there no outcry about how horrible "The Who" sounded during the Super bowl. Are they trying to make us wish we never complained about seeing a nipple? You win, Super bowl Half-time entertainment people. There are worse things than briefly exposing body parts. Now bring back singers younger than my grandparents. Thanks.

Wednesday, February 03, 2010

I really don't have time right now.

Otherwise, I'd love to post something.