Wednesday, December 26, 2007

Two Cents Is Too Much: AVP-R

The easiest way to get back into blogging is to convince yourself you've started anew, either with new content or a new feature... or both! Introducing Two Cents Is Too Much, a collection of my reviews of various things that are probably not worth anything (ask my about reviews some day).

In today's episode, I'm talking about Alien Vs. Predator - Requiem, or AVP-R. At first I thought the "R" stood for "Rated R", since the first AVP was rated PG-13. In the end, the R rating was the only thing good about the movie; hearing curses every other word was great. Otherwise, this movie sucked. 

AVP-R reeked of other terrible SciFi sequels, like Starship Troopers 2. Its like the producers forgot to hire writers (maybe this was written during the writers strike). There was no plot to speak of. Instead the movie focuses on a series of fight scenes with bad lighting among various alien species and humans. I left 30 minutes in to grab popcorn and I didn't miss a thing. The best part of the movie was when one of the main characters yelled "Get to the chopper!" sans Austrian accent. Ahh, memories.

So don't go see it in the theater. Don't buy it on DVD. Wait until it's on TV, then check to see if anything else is on... I'd rather watch Chuck Norris sell the Total Gym ("Two months? Wow!") for 100 minutes than watch AVP-R again. I even had to watch the first AVP when I got home just to get the taste out of my mouth. 

Friday, November 30, 2007

Do I Have Content? Hell Yeah I Do.

I got a great piece I'm preparing to post this weekend. Well, at least I think it's great.

Tuesday, November 27, 2007

He Shoots! Wide Left!

It took me all of one Monday to miss posting on Mondays. Awesome. To be fair, I was so enthralled by the absolute train wreck of a football game in Pittsburgh.

Monday, November 19, 2007

Distraction plus Pics

Trying to write a sports post during Monday Night Football: bad idea. Here are some some house pics:


Manny coming around 3rd to score.


Barister cabinet, sofa, and Manny on TV.

Sportsmanship Vs. Gamesmanship: What Is Right?

Unless you are avoiding sports news, you have heard of the New England Patriots' 10-0 run this season and their outscoring their opponents by record margins. Many pundits and fans have accused Bill Belichick, head coach of the Patriots, of running up the score and embarassing their opponents. 

Wait a second: embarassing their opponents? These teams are professional athletes: essentially paid performers, no different from actors. Embarassment is not the problem. The problem is gamesmanship as is compares to sportsmanship.

Review the definitions of those ideas. Gamesmanship means doing whatever you can to win, while staying within the rules. Sportsmanship means having good conduct during games, having respect for your opponents, and being gracious in victory and defeat. Those last two are the big issues with the Patriots.

Do the Patriots have respect for their opponents? Sure, they pay lots of lip service to respect. Listening to Belichick before the Buffalo game (which the Pats won, 56-10), you might've suspected the Bills were an elite AFC East team. Instead they were 5-4, and their star running back was ruled out for the game. 

Did the Pats respect the Bills during the game? You can look at this two ways. After the game was all but sealed up, the Pats did send in the second string. But they also didn't change the playbook; they played the same way they did all game, showing the Buffalo defense some respect. But that goes both ways; up 35-7 (four TDs), the Pats had 4th and 1 on the Buffalo 3 yard line. Up by 28, the respectful thing to do is to kick a field goal. But Tom Brady threw to Ben Watson for the touchdown. 

OK, fine, you're playing hard. Later that quarter the Pats had 4th and 1 on the Buffalo 10 yard line with about a minute left in the quarter and leading 49-10 (, and again Belichick eschews the field goal and has Brady pass to Randy Moss for a first down, leading to a touchdown two plays later. That is purely disrespectful; taking an unnecessary risk when you're already up by an nigh-insurmountable lead. That, my friends, is the reason everyone has a problem with the Patriots.

The Category For Today's Post Is: Sports

I was away in Cape Cod this weekend, so I didn't have time to write the post I planned to. However, I know what I want to write and what I want to say, so I will be writing it tonight. 

Booya.

Thursday, November 15, 2007

All that Work Just To Do Work?

My work computer died this week; I spent all of Tuesday and most of Wednesday reinstalling applications and configuring settings. Here is a partial list of all the crap I had to go through:

Configuration options:

  • Set mouse speed
  • Set keyboard repeat delay and repeat speed
  • Set default browser
  • Set up quick launch and add folders/files/app links
  • Install printers
  • Set homepages
  • Set default applications

Developer applications:

  • Visual Studio 6
  • Visual Studio 2003
  • Visual Studio 2005
  • SQL Server 2000
  • SQL Server 2005
  • C1 Flexgrid
  • HTML Helpworkshop

Non-developer applications:

  • Firefox
  • Chrome
  • VLC
  • Notepad2
  • Launchy
  • TweakUI
  • 7-Zip
  • Putty
  • Foxit Reader
  • Flickr Uploader
  • Roboform
  • Pidgin
  • Songbird
  • PSTools
  • Filezilla
  • Roboform

Not to mention all the Firefox extensions:

  • Adblock Plus
  • Roboform
  • All-in-One Gestures
  • Better GMail
  • Download Statusbar
  • Firebug
  • Foxmarks Bookmark Synchronizer
  • Greasemonkey
  • PDF Download
  • SafeCache
  • SafeHistory
  • StumbleUpon
  • Web Developer

And all the Greasemonkey scripts!

  • Hoodwink'd
  • Greased Lightbox
  • Plus tons that I'm forgetting

I'm not even convinced I've got it all. What the crap, man?!

Wednesday, November 14, 2007

Look At The Other Side

I was all ready to post an angry rant about people who cut in line, both as pedestrians and in cars, but I realized that it would just be me bitching and moaning about the same crap we all have to deal with. I started to think of the causes of people's rude behavior when I reminded myself of a policy I had when I first learned to drive. I remember driving with my mom sitting shotgun when someone cut me off on the highway and sped away. My mom got quite angry, but I said "well, he might have a good excuse for going fast. Maybe his wife is giving birth? I don't know, but I'll give him the benefit of the doubt."

That mental outlook always made me feel very calm on the road. I am less tolerant of idiots on the road (a whole other issue) these days, but I still try to think of what others might be thinking. That guy that cut into the line in front of me for the staircases this morning might have had a rough morning. Maybe he deserves a little slack. We've all had that morning.

I guess the net take away I had (and maybe you should get) is before you get pissed at some anonymous stranger, think about what might be going on for them. It sure makes it easier to forgive and chill out.

Monday, November 12, 2007

My Least Favorite Pedestrian

This person technically isn't a pedestrian, as you encounter them in mass transit, usually on a bus or train. I'll call this person Pat, because both males and females do this. Usually you encounter Pat when you are forced to stand up on a crowded train with little room to spare. As the train approaches your stop, you gather your things and prepare to "excuse me" your way to the door. But Pat is not willing to wait for the train to stop. Pat stands up behind you and loudly asks "Excuse me!". You have three options here: 1) get out of Pat's way, 2) tell Pat you're also getting off here, or 3) do nothing. I refuse to do #1 because Pat is no more important than me (if Pat was really important, he'd have his own car and driver). Option 3 is the most satisfying, but you might get Pat really angry. So option 2 is usually best.

But what about when you're standing right next to the door and you've told Pat you're getting off, but he still tries to wedge in front of you? What the crap, man? This used to happen to me all the time on the subway, and it's happening again now that I'm taking the bus twice a week (commuter rail travellers are much kinder). I just think it's funny that some people are in so much of a rush to get off the bus that they're willing to push other people out of the way.

I don't really have a point to this post. I just hope you're reading this, Pat, and that you chill out!

Proof of the Apocolypse


Plans For the Future

So I decided that if I'm going to blog, I should blog regularly. Starting today, I will be posting a new blog entry every Monday. And it won't just be a short "goddamnit I was up late last night" post; it'll be a full, interesting post. I'll still do the other variety as well.

Wednesday, November 7, 2007

Quantity Is Better Than Quality

So I opened my email today and had a new friend request on Facebook. It was from someone I knew in high school but was never really friends with. In fact, I probably only ever spoke to her twice. Now she sends me a friend request. Do I accept? She was an aquaintence at best, never a friend. It's not like we were mortal enemies or anything, we just weren't friends.

What does a friend request even mean? If I have 100 friends in my friends list, is that better than having 50? What if I have 20 people, but they're all my good friends who I spend time with and care about? Is that better?

I just don't like the "I'm going to friend request everyone I've ever know" policy for most people on MySpace/Facebook/LinkedIn/whatever. I used to deny those people, but then they'd just request again. So I'd ignore them, but then they'd message me. I decided it wasn't worth offending people because I didn't consider them a friend, so I just started accepting the requests.

But seriously people. If I haven't spoken with you in 10 years and you send me a friend request (and nothing more*), what are you trying to do: increment your friend count or actually catch up?

*I've had a few people send friend requests then send lengthy emails of the catching-up type. I'm down with that.

Tuesday, November 6, 2007

The Wishlist: Implementation

Once upon a time a few years ago I was thinking about an old movie I saw as a kid. I couldn't recall the name, but I did remember it was about personified home appliances (like toasters, electric blankets, and whatnot) and that it had a profound effect on me. After a brief interwebz search, I found it: The Brave Little Toaster.

I almost bought it on the spot at Amazon, but I realized it would be kind of a frivilous purchase. Plus, at the time I was not exactly flush with cash. I noticed a link on the Amazon product page that said "Add to wishlist." I sorta figured it was kinda like the same thing as a shopping list, so I added it, thinking it would be nice to have a place to list things I thought about buying but didn't. That way, if I randomly think about it again and see it's already on my wishlist, then I can see that I've thought about it before, and it becomes less of an impulse buy. So I kept adding things to the list like this.

Then, one fateful October, Annie asked me what I wanted for my birthday. In an uncommon moment of clarity, I thought Hey, I've already got a birthday list! I sent her a link to my wishlist. Her response: "Are you serious? You want all these things?" After I calmed her down, I outlined the prinicples of a wishlist:
  • I don't expect to get everything on the list.
  • I provide the list to help people know what to give me; someone can get me something from the list and know that I will like it.
  • The list gives people an idea of the kind of stuff I like, so if they want to get me something off the list, they have an idea.
  • Having a large list maintains the surprise for me. Even if I knew for certain that 10 people were getting me gifts from the list, if I have 100 items on my list I will still be surprised.

She seemed to lighten up after that, and even embraced the idea.

So I say to all of you out there: Make a wishlist, keep it current, and let people know about it!

Monday, October 22, 2007

Live from Minnesota

Minnesota is a nice state. The section I'm in (somewhere near Minnetonka) looks like the part of New Jersey I grew up in (I shit you not). I'm hear for one of my best friends' wedding. They're Jewish, so I got to partake in a Jewish wedding ceremony for the first time. It was pretty much the same as every non-Catholic wedding I've been to. I was the best man though, so damn I was scared about the rings and the speech. I tackled the rings by having the two of them in their cases with me at all times. And not just with me, but in my hands. It worked; I didn't lose the rings.

The speech was tough too. I have seen several best man speeches, and most were decent, but I wanted better. I decided my goal was to deliver the speech in under one minute. This took the pressure off of being too funny or insightful and allowed me to distil the essence of what I wanted to say into four three bullet points:

  • Joke that speech should be short, so no revealing stories (I ended up forgetting this bit).
  • Joke that when Joe told me about Liz, that I said she was out of his league.
  • Nice thing about Liz.
  • Nice thing about Joe.

By my reckoning (no one thought to time me), I came in around a minute and a half. And yet, I had them all in tears. It was awesome. The maid of honor went next and spoke for what seemed like 10 minutes, but it was a great speech too. Good stuff.

I'm packing up right now (actually I'm getting yelled at right now for blogging instead of packing) to head back home. Thank God we decided to take an extra day off.

Tuesday, October 16, 2007

The Wishlist: Background

A short history of gift-giving as it relates to me.

Back in like 5th grade, my parents apparently found it too difficult to determine what exactly I wanted for my birthday, so they asked me to make a list. I made a list no fewer than three pages long. So my parents asked me the next day to make another list because they "lost" the first one. They compared the two lists, found about three items overlapping, and got me those things. I was happy.

In middle school, I was really into Magic: The Gathering. My friends all knew this, and so they all gave me Magic cards. I got pretty much my only good cards from that birthday (and recently sold them too).

Freshman year of college, for the first birthday party among my group of friends, we got together, each chipping in $5, and got Anna what turned out to be a huge set of birthday gifts. We quickly realized we'd run out of money fast if we continued this lavish process, and thereafter no one got gifts.

A few years back, I invited friends out to a restaurant to celebrate my birthday. I did not expect any gifts, but a good friend got me a really thoughtful gift; a bottle of low-carb wine (I was on the South Beach diet at the time and doing very well). It made me realize that now that we all had jobs, we could afford to buy each other gifts.

Which brings me back to the beginning. How do I let my friends know what I want unless they ask me? I've already received my fair share of ties, digital tire pressure gauges, and gift cards.

The answer: the wishlist!

Friday, October 12, 2007

Pedestrian Traffic

We have laws and rules for automobile traffic. Lane markings, traffic lights, stop signs, all sorts of good stuff. But what about foot traffic? We have no rules. It's every man for himself. A jungle, if you will.

We seem to abide by some soft rules for walking. Generally we try to stay to the right in two-way travel. Often when merging we'll take turns entering. But some people just want to take advantage of the lawlessness of the pedestrian frontier. Here are a few habits that annoy me the most.
  • Standing by the door that will open on the subway, planning to get out, the guy behind me says "excuse me" three or four times trying to get past me, not thinking that I might be getting off too. This often happens when approaching major hubs.
  • Walking into a crosswalk without looking. What the hell is wrong with you? I couldn't care less about your life, but if the driver swerves and hits me, I'm gonna be so pissed.
  • Walking to the front of a queue or merge and butting in. Hey buddy, you're not more important than the rest of us. I'd wager you're less important.
  • Suddenly stopping in the middle of a walkway. Don't look angrily at me when I bump into you; it's your own damn fault.

Next time I'll look at some rules we can all abide by.

Friday, September 21, 2007

Firion casts Sleep Lv. 5

My sleep schedule the past three nights:
  • Tuesday night: went to sleep around 10:30PM, getting 8:15 of sleep.
  • Wednesday night: went to sleep around 10:45, getting 8:00 of sleep.
  • Thursday night: went to sleep around 2:30AM, getting 4:15 of sleep.

Care to guess when I was most refreshed? If you guessed today (Friday), pat yourself on your back.

I prefer 6-7 hours of sleep for me, but 8 hours is not too much. So why did less sleep make me feel more rejuvenated?

I'll tell you why. I spent about 60 minutes studying fantasy sports, at least one hour playing Phoenix Wright: Ace Attorney (thanks Eric!), 30 minutes watching parts of South Park and Drawn Together, another 30 watching Cowboy Bebop, and maybe another 30 randomly browsing the web. Most importantly, I relaxed and allowed my conscious mind to take me to whatever pursuit I deemed interesting. It was better mental relaxation than sleep.

And it was awesome.

Tuesday, September 18, 2007

Terrible Start

Between my four fantasy football leagues, I have 2 wins through the first 2 weeks of the season. Good thing they're on the same team.

0-fer in my work league.

That one league I'm winning is the league I run.

Sunday, September 16, 2007

New Furniture

I recently rented a Ryder truck (no friggin way I was going with UHaul) to pick up some furniture from Cape Cod. I was picking up a China cabinet and a dinner table, two pieces of a three-piece set my maternal grandparents bought for themselves as a wedding gift in 1945. We didn't want to take any chances with damage in a car, so I rented the hugest truck I could ever imagine and brought my trusty ropes. I brought Jay with me; mad props to him. We had some excitement (I forgot the keys), but we got the stuff.

I gotta tell you, this furniture seems like it was cut directly from a tree; it's amazing how strong the stuff is. Here are some pictures (I can't seem to find the pics of the China cabinet; I'll have to take some more):



Friday, August 31, 2007

More War?

I try to never talk politics ever, but this issue is just too big and scary.

Many political bloggers seem to think that the Bush administration is gearing up for war against Iran. Certainly Washington has issued many scathing press releases condemning Iran for helping the Iraqi insurgency, illegally making nuclear weapons, and other such things. But war? Invasion? Disregarding all the logistics of another war (it's not 1991 when we had a two-and-a-half-war military; we barely have a one-war military these days), why the hell would we attack Iran? The region is unstable enough. We can't secure Baghdad, let alone the rest of Iraq. What manner of arrogance would war against Iran would be.

Please, stay informed about this issue people. Who knows if it will happen, but an informed populace is certainly better than an ignorant one.

Monday, August 27, 2007

Halo 3, 546. Ed, 0

I bought a 2-liter bottle of Mountain Dew's "Game Fuel" flavor, the bottle adorned with the Master Chief and Halo 3 stuff. As a Halo 3 fanboy I was contractually obligated to buy it. However, it tastes like a combination of bad bubble gum and Nerds candy. Despite it's foul taste, I'm amazed they got those flavors in there. Good work guys.


Fantasy Football

So this year I'm going to be in four fantasy football leagues. That's just ridiculous. But of course the hard part is actually coming up with four team names. I always start with my old standby, "Neosporin Squad", then I pick a new name based on either current events or players on my teams. I've stayed away from Michael Vick this year because it's too easy, so here's what I've got:

  • Brady Quinn's a Dick (my league)
  • You're The Man Now Dogs (work league)
  • Body by Mangini (coworker's outside of work league, three-player keeper)(also this came from Kissing Suzy Kolbert)
  • Pacman for Prez (friend's league)

I'm pretty unhappy about that last one; it may change after the draft.

Speaking of drafts, the first two leagues up there have drafted, and here are my teams:

Brady Quinn's a Dick (standard scoring, 12 teams):

  1. Laurence Maroney (10th overall, RB, NE)
  2. Steve Smith (15, WR, Car)
  3. Deuce McAllister (34, RB, NO)
  4. Carnell Williams (39, RB, TB)
  5. Deion Branch (58, WR, Sea)
  6. Matt Hasselbeck (63, QB, Sea)
  7. Kellen Winslow (82, TE, Cle)
  8. Devery Henderson (87, WR, NO)
  9. Santonio Holmes (106, WR, Pit)
  10. Alge Crumpler (111, TE, Atl)
  11. Jason Campbell (130, QB, Was)
  12. Brandon Marshall (135, WR, Den)
  13. Jason Elam (154, K, Den)
  14. Minnesota D (159, D, Min)
  15. Reuben Droughns (178, RB, NYG)

Pretty happy with this team, though I may have taken Cadillac too early (backup RB before second QB?).

You're the Man Now Dogs (very odd scoring, 1 backup per position required, special teams separate, 12 teams)

  1. Larry Johnson (11, RB, KC)
  2. Donovan McNabb (14, QB, Phi)
  3. Deuce McAllister (35, RB, NO)
  4. Anquan Boldin (38, WR, Ari)
  5. Plaxico Burress (59, WR, NYG)
  6. a. Jay Cutler (62, QB, Den), pick traded for
    b. Cadillac Williams (69, RB, TB)
  7. a. San Diego D (83, D, SD), pick traded for
    b. Santana Moss (76, WR, Was)
  8. Chad Pennington (86, QB, NYJ)
  9. Kellen Winslow (107, TE, Cle)
  10. Olindo Mare (110, TE, NO)
  11. Owen Daniels (131, TE, Hou)
  12. Neil Rackers (135, K, Ari)
  13. Jacksonville ST (155, ST, Jac)
  14. St. Louis D (158, D, STL)
  15. Houston ST (179, ST, Hou)
  16. Indianapolis D (182, D, Ind)

That draft pick trade threw this league into a tailspin. The veterans in this league have been doing it since long before computers, and they had outlawed all sorts of behavior we take for granted, like trades, waiver wire acquisitions, and draft pick trading. Also their scoring is screwy; every player gets 6 points for a TD of the type they're supposed to get, but 12 for any other way (RB rushing TD = 6 pts, RB receiving TD = 12 pts). Also QBs are heavily weighted, and interceptions are ignored.

Thursday, August 23, 2007

Why I Miss My Sidekick

I had a T-Mobile Sidekick II for about 18 months before I destroyed the LCD screen. Many things about it were really annoying, like its huge size and incessant alert windows not dismissable by the "end call" button. But it definitely aced one thing: sound management.

Most people have some idea of how they want their cell to make sounds, but these ideas vary. For example, I just had a conversation with a coworker that went like this:

Matt: I wish my phone had an option to silence all sounds.
Ed: Mine has that, but I wish it wouldn't silence alarms.
Matt: Then it wouldn't be all sounds.

Enter the Sidekick's sound profiles. The Sidekick has something like six default sound profiles: All off, buzz, low, medium, high, maximum. Ok, great, but what if I want incoming calls to ring but text messages to vibrate? You can go into the profiles and edit the volumes for all types of sounds. Want everything but new voicemail to make sounds? Go right ahead. The Sidekick also allows you to add or remove profiles and even to order them (since you usually select them with the volume buttons).

But wait, there's more! You can tell the Sidekick to automatically use certain profiles at certain times of day. The designers clearly had working people in mind when they added the options for "weekend only" rules. So after about 15 minutes of customization, I never had to worry about the Sidekick's sounds again!

As much as I love my new phone (Samsung t629, a sexy little number), I have toggle vibrate twice a day. Anything that I have to do repeatedly in software should be automated.

Free Traffic?

I submitted my post about FiOS and the XBox to Reddit after I posted it because I thought people might want to know, and who better than Reddit readers would know if it's relevant. Well, the submission maxed out at three points (one was me and two were Eric and John). But I got 41 page views that day, which is a lot for a blog that no one reads (you can see the consecutive zero-view days in the image below).

I know this is a known fact (duh, show your content to others and then others will see it), it seems kinda cool that I got 38 strangers for view my content just by asking them to.

Wednesday, August 22, 2007

Photos imminent!

We've been busy, so I haven't had a chance to take newer photos of the house yet. But when I do, you'll get to see the new bedroom! Woooo!

Tuesday, August 21, 2007

FiOS and XBox Wireless Adapter: Incompatable?

What the crap? I tried to connect my XBox 360 with wireless adapter to my new Verizon FiOS wireless router/FiOS modem, the ActionTec MI424-WR. The 360 sees the wireless network correctly, but when I try to connect, it fails (2nd step of the test, "Wireless Network: Not Connected"). I can connect to a neighbor's unsecured wireless, so I know the adapter works.

After trying a bunch of things, I call XBox tech support. The guy runs through his checklist, doing all the dumb things like restarting and reseting (I simulated those steps, as I had already done them). Then he asked me whether I had a Linksys or D-Link wireless router. Odd question, since there are more than two wireless router manufacturers out there. I told him it was an ActionTec, and he cut me off saying that was a modem and wireless router in one. This was odd, because while that was true, ActionTec sells regular wireless routers. I confirm that it's a Verizon-supplied wireless router and FiOS modem.

This is the interesting part. He pretty much instantly says I should call ActionTec to make sure I have the right settings. Now, I'm not an IT professional... wait, I am an IT professional! So I told him that I set up the wireless network myself and that it works with my computers. The tech is clearly concerned about something, but he asks me to run one more test before again declaring I should call ActionTec. This certainly seems weird, as I know the router is working fine.

So, being the nerd that I am, I searched the interweb for information. I came across this forum thread, with some interesting (but unconfirmed) information:

I have this same exact problem, and it is NOT a NAT problem and it CANNOT be fixed through port forwarding. I've done a bunch of searches in other forums and others are having the same issue. What I'm finding is that there used to be a d-link and an early model actiontec that DO work with the wireless adapter. However, newer customers (I got mine installed July 1, 2007), are getting the "rev. C" version of this router and it is incomptatible

Weird, huh. I will be writing ActionTec, Verizon, and Microsoft soon about this.

UPDATE: From ActionTec:

Ed,

DO NOT reply to this email. This is a send only account.

You wrote:Hello
ActionTec, I recently (first week of August 2007) had Verizon
FiOSinstalled in my house. The installer gave me a ActionTec MI424-WR
router.However, I cannot get my XBox 360 with Wireless Adapter to connect to
theActionTec's wireless network. The 360 can connect to other wirelessnetworks
without trouble. Can you help me? Thank you, -Ed

The reponse to this issue is below:

=================================================================

If your MI424 has Rev C after the model number we have seen an increase incalls
where XBOX wireless adapters will not connect.We cannot assist at this time, but
the issue is under review by Actiontec,VERIZON, and Microsoft. Once a resolution
is found it will posted on theVERIZON website.Until that time, you can connect
the XBOX with ethernet and play online,but we cannot get the wireless to
connect.

=================================================================

If this solution did not correct your issue please click this link: http://support.actiontec.com/email_support/support_form.php?callid=00878442

Thank you,
Actiontec Electronics

Well, there you have it. I got FiOS mostly for XBox Live, and now I have to use my extra wireless router to actually connect it. What a load of garbage.

UPDATE 2:
I connected my old D-Link router to the LAN side of the ActionTec to see if the 360 could connect to that and then to the interweb. It works, though I'm not sure how much latency I'm losing with that extra layer.

Also, I chatted with Verizon's live-chat service to ask them about it. The tech was unable to help, but he offered these two nuggets of information:
  • Verizon only guarantees wireless devices 10 feet from the router can connect. Anything further than that is not guaranteed.
  • Verizon does not support gaming network connections. If you want one to work, you're on your own.
Not terribly surprising, but interesting.

UPDATE TO THE UPDATE:
After cursing at NAT and firewalls and routers for a few hours yesterday, I finally realized that my nested routers didn't allow my XBox to connect to other users for any online gaming. I'm going to try finagling the DMZ and port forwarding settings, but for now I've just busted out the 50 ft. Ethernet cable. Oh well.

FINAL UPDATE HERE:
Go here for latest news.

Monday, August 20, 2007

Why the Rabid Anti-Firefox-ism?

The big news in the nerd world today is the site WhyFirefoxIsBlocked.com (WFIB). If you haven't already, check out the site. The site says that site owners are blocking Firefox because of the popular extension AdBlockPlus, and since site owners cannot opt-out of having their ads blocked, they've blocked Firefox all together. Hilariously, one of the articles WFIB links to is a paper from a IT-law college class.

Well, that's all fine and dandy. You own your site, and you can do whatever. O'Reillynet.com has a good article detailing why WFIB makes no sense, but whatever. You could check out the article for more info. Or you could check out today's AlertBox article from Jakob Nielsen; he basically says that users ignore advertisements, a fact which makes WFIB even more silly.

But what really shocks me is the anti-Firefox-ism (AF) furvor out there. Just look at these sites (linked to from WFIB):
  • PopularTechnology.net (in a post from 2005) blasts Firefox as a new religion.
  • A Comcast user's site, Optimize Guides, details a list of Firefox myths.
  • A Google search turns up similar viewpoints (though many are individual users posting on forums).

I've seen some Firefox nuts out there; as with pretty much any new technology, people get excited about it. Firefox isn't new, but it's still different enough for people to get excited about. After spending hours every time I was at my parents' house fixing their computer from all the spyware IE downloaded (even with the latest patches), I installed Opera for them to use. It was too different looking, and they rejected it. Then I installed Firefox, and they didn't even notice (I noticed all the time I got to spend with them instead of their computer). I recently recommended it to a developer coworker of mine who had disregarded it out of hand as useless.

So why the venom towards Firefox? Use it or don't use it. But if you use IE and get spyware, don't ask me for help.

Technology Update

The Verizon guy came and found the problem; the coaxial cables that go to the right side of my living room start out in the junction box on the left side. The Verizon FiOS signal can piggyback on a cable TV signal, but not a satelite signal (I'm led to believe this is because the satelite signal is scrambled so it actuall utilizes all 100Mbps of the coaxial cable's bandwidth). He had to run a third line from the basement into the living room. I tell him that I really REALLY do not want another hole in the floor. He looks at me as if I'm crazy and asks why I thought he'd put a hole in the floor. I tell him about the DirecTV guy and show him the hole, and he just shakes his head.

I'm paraphrasing; he said, "The guy told you it [putting the cable through the wall to the junction box] was impossible? Then he's full of shit [I had given him the green light to swear by swearing a lot by this point]. Anyone can do it."

So he proceeds to thread a cable through the wall and then "fish" for it. It took him like 2 minutes, half as long as drilling a hole in the floor. I'm going to be having a word with DirecTech, "my certified DirecTV installer." Excellent.

Monday, August 13, 2007

When Animals Attack! on Fox

Two animal and house related stories today, one more crazy than the other.

This weekend I walked out the side door and headed towards the car, but something on the front lawn caught my attention. I glanced over and saw at least ten live wild turkeys on the lawn! I just stopped and stared, but apparently this was enough to scare them. They all flew off, but one couldn't quite get enough altitude ("Pull up! Pull up!") and crashed right-on into the neighbor's house! The turkey managed to fly away without hitting the ground, which is quite an impressive feat. I'd never seen wild turkeys before!

The other story is less exciting. Before I went to bed last night, the carbon monoxide detector on the 2nd floor started chirping like it had a low battery. I was pissed because I had just replaced the battery. I stomped up there and examined the detector when I saw something out of the corner of my eye. I looked into the guest bedroom and saw something large flying around in there. As best I could tell, it was a bat! We had left the window open in there, and though it had a screen on it, the screen was bent severely, and the bat must have flown in to eat some of the bugs that had followed the light. So what did I do? Well, bats are scary! So I just shut the door and decided to deal with the bat later. This morning I went in there armed with a tennis raquet and work gloves, but he had left.

Oh, and the septic guys finished their work by leveling out the lawn as best they could and topping it all with loam. Only loam doesn't include seed (something that my broker neglected to inform me of). So I have to hit Lowes and get some grassseed and a spreader in addition to all the other stuff we need.

Sunday, August 12, 2007

House Update; or, Shenanigans with Technology

Busy week! On Tuesday, the Verizon FiOS tech came (6 hours late) to install fiber optic Internet access. My father-in-law-to-be, Dave, volunteered to stay and wait for him so I didn't have to miss work. Nice. When I get home, the Internet is on, and man is it fast (and very low latency)!

Annie doesn't work Wednesdays, so we had scheduled the guys from National Floors Direct to come then to install the hardwood floors upstairs and carpet on the stairs. (Side note about NFD: the sales guy was nice and knowledgeable. However, he significantly lowered his price twice when we said it was too much; 20% the first time, then 19% the second time for a total drop of almost 35%! Price discrimination indeed!) I returned home to awesome hardwood floors! I was and still am pretty excited about them.

Then things started to go downhill in one fell swoop. The DirecTV guy came on Friday (again with Dave waiting for him) and refused to install the second coaxial cable for the 2-tuner DVR, saying an electrician would have to do it. While this raised some red flags for me, I was at work and didn't want to deal with it, so I told Dave to just let him do it.

I get home and the TV is working great. So I fire up my laptop to blog about it... and I have no Internet access! Since the FiOS uses the coaxial cables already in the house, I figured out that the DirecTV tech must have disconnected one of the coax cables going to the router (this was mostly confirmed by a tech support call with Verizon). Also, we discovered that about half the channels on the DVR have significant interruptions/static.

DirecTV gets bonus points for the call I had with a tech named Jeremy. He had me do a few troubleshooting steps without effect, then went ahead and ordered me a new DVR box. He asked me to check the cables behind the box, and I explained to him that the tech hadn't installed the second line. Jeremy literally laughed, then said, "You ordered a 2-tuner DVR from us with full installation; why would you need an electrician to install it?" Jeremy set up a service call for the next day, Sunday, from 12-4. Wow! A service call on a Sunday; how cool is that?

So right now I'm waiting for them to show. Jeremy said he couldn't diagnose the FiOS problem (obviously), but that the tech coming out today will take a look. If they fix the bad signal and the FiOS, my faith will be restored.

Update: James, the DirecTV tech, just left. He was able to install the second line (though not without first telling me he wasn't allowed to, and then calling his dispatch to find out he was) and get rid of the fuzz. He did his best to help with the Verizon problem, but was unable to help. The cabling in this house seems very strange. I hope the Verizon guy on Monday can help.

New Hardwood Floors!

I promised pictures, and here they are!


Landing upstairs

Click the image to see more from Flickr!

Thursday, August 9, 2007

Halo 3 Is Driving Me Insane

Here is a brief history of me and Halo:
  • Halo 1 is released for the XBox. At the time, I thought the XBox was a piece of crap and loved the GameCube.
  • I play Halo 1 for the first time. I tell everyone who will listen that the game is way overrated and a piece of crap, citing the lack on online MP (no XBL at the time) and repetitive level design.
  • I win an XBox in a raffle.
  • I go and buy Halo 1 and a second controller, because, hey, everyone's doing it, and I play it a lot.
  • My fraternity hosts regular 16-player 4-TV Halo fests. I participate (in the words of Boon from Animal House: "It's a fraternity party. I'm in the fraternity. I have to go.") but tell everyone how bad the game is.
  • In one game, I have no fewer than four successful flag captures in the Warthog, at least one from each spot. I realize that the beauty of Halo lies in one place: the Warthog.
  • I play lots of Halo 1, still telling people it sucks.
  • I camp out for Halo 2 on November 9th, 2004, then stay up all night playing.
  • I beat Halo 2 on Heroic on November 21st.
  • I buy XBL on November 22nd because I can't stand missing Halo 2 MP.
  • I proceed to play almost 1200 games of Halo 2 online.
  • The Halo 3 ARG, Iris, slowly drives me insane.
As hard as I try to not be a goofy fanboy, I can't; I'm making plans to camp out for Halo 3, I'm reading everything I can about it, and I'm generally pumped as all hell.

Take a Deep Breath

It's times like this I force myself to remember what Justin wisely said: "Exceptions should be exceptions, not expections."

Pictures

We've been doing a lot of work on the house. You can follow with pictures on my Flickr site.

We had the hardwood (laminate) floors on the 2nd floor and carpet on the stairs installed yesterday. Damn they look and feel good! I'll post some pics of that soon.

I uninstalled the built-in broken microwave last night. Man that was hard! This site helped me a fair bit though. The key was finding the "hidden" latch under the vent grill. I put "hidden" in quotes because it was so big and obvious yet I missed it for like 30 minutes.

Monday, August 6, 2007

House Stuff

As you may know, I bought a house. We moved in on Friday, which was like the hottest day of the year in Massachusetts. The mover in charge of paperwork sweat so much that it was dripping off of him onto the papers, and the receipt he handed me was soaked. Yuck.

I plan to journal the work we're doing here. I have plenty of pictures; stay tuned for some hot updates.

Monday, July 30, 2007

Yes?

My buddy Eric made a submission to WorseThanFailure and was featured today! Check it out.

Sunday, July 29, 2007

Holy Crap I'm Buying a House

The sellers got their act together, so we're buying a house. We close on Tuesday. Which is great, except that we had planned to not get the house, so we were only maybe 50% packed. The easy part.

So as soon as I returned from my company outing, the first things I packed were the 360 and my DVDs. That way I can't slack as easily. How much I want to play Forza 2!!

This post was written immediately after sealing the extra bedding box and immediately before checking the cabinets in the closet.

Tuesday, July 24, 2007

Query Analyzer, How Do I Hate Thee?

Microsoft's Query Analyzer is the tool MS provides as the main SQL Server development environment. Are they kidding? Besides the fact that it is broken, it lacks one of the best features ever made for IDEs: intellisense. How the hell is this not included? It could also have background compilation like VB.NET (checking for errors automatically). Adding these things are obvious wins.

What I'd really like to see is some sort of auto-formatting preferences. Everyone prefers their SQL formatted a little differently. I like capital keywords and short lines. Some like less indenting, lowercase keywords. Line breaks, spacing, capitalization of keywords, all these things have no impact on the actual parsing and execution of SQL code. The ideal SQL IDE would be able to store individual preferences for these things and apply them for each user. That way, I wouldn't spend 10 minutes reformatting SQL my coworker wrote or just struggle through it. This isn't really that hard; why they haven't done it is beyond me.

Monday, July 23, 2007

The Mighty Casey Strikes Out

My softball team had its first playoff game last night. Every team makes the playoffs, and we were the 7th seed out of 8, so that gives you an idea of how good (or bad) we are. Still we have lots of fun.

We were getting crushed, something like 12-3, in the 4th or 5th inning. I had been up once before with a bloop single the other way. I noticed their pitcher was changing his location based on where the batter was standing. So I tried to fake him out a little, standing in one location then moving as he delivered. That backfired when on a 3-2 pitch, I was standing about 6 inches back from the plate. I stepped in as the pitch came, but it appeared outside. It only looked outside because I was standing back, and as I watched the ball fall right on the outside of the strike mat.

I struck out looking in slow-pitch softball! And to make matters worse, it ended up being the last at bat of the season for me! I'm so disgusted with myself.

Seriously, No House For Me

The town board of health did not meet; they didn't have quorum. So they meet tomorrow... if they say yes, then the sellers have like 2 days to get all their paperwork to the bank. If they don't make it, then we don't close.

We had to talk to our landlord because we might have to stay in the apartment, obviously. Ironically enough, he had already rented it. While we waited to hear back from him, we had about four hours of sheer terror, thinking we might have to move to a new apartment. Thankfully, our landlord, the coolest landlord ever, said we could stay, but only if we signed a 1-year lease (we'd been renting at-will). So possibly no new house for me until next summer.

Force Fixing

I talked earlier about using enums for things like datarows returned from the database. Well, as you might have guessed, if I change what I return from the DB, my app will break. I've had many arguments about this sort of behavior and whether it's better to hard code the metadata from the DB or soft code it (meaning use reflection or other tools to determine what has been returned and handle it accordingly). I had a fairly long debate with Eric about it.

Obviously, as with every design situation, think of what you're doing first! Don't blindly follow a pattern. My coworker Joseph just transformed 500+ lines of code to 12 using reflection and soft coding. Was this a good move? Yes, because the code is still readable and manageable. I don't have the code here, but basically he checks the data's name, then finds the textbox with the same name, and puts the data in the box. Even in his iteration, there is some hard coding.

The point I'm getting to is that the main point people mention as a con to hard coding is actually a plus in many cases; being forced to fix the hard-coded stuff when you change what it's coded to. Before you say "WTF Ed!" let me say this; I'm not advocating highly-coupled design. However, I am advocating coupling your data controller classes/code tightly to your database. That way, if you (or someone else) changes your database, your code will fail, and you are forced to fix it.

Wednesday, July 11, 2007

America, Know Thyself

I was reading this article in the NYTimes about the possibly extinction of the trees used to make ash baseball bats when I came across this interesting tidbit:
Still, the emerald ash borer, or Agrilus planipennis Fairmaire, is the most immediate threat. Discovered in the United States near Detroit in 2002, the beetles, which are shiny green, will destroy a tree in two to three years. The larvae tunnel inside the trees, cutting off water and food.
Wait wait... a new insect species was discovered in Detroit in 2002? It seems a little crazy that in a super-advanced nation such as ours, we still don't know all the species in our own borders.

I'm Never Going to Own a House

The sellers of the house I am attempting to buy met with the town board of health last night to discuss and potentially grant the necessary variance for doing the required septic work. Basically, the town was going to say "Yes" or "No". This meeting was last night, and it's now the morning after and I haven't heard anything. A little courtesy would be nice.

Tuesday, July 10, 2007

Enumerations, How I Love Thee

I love enums. I use them all the time. Jared on Giant Robots got me thinking more about them. Let me list the ways I love them:
  • I use enums for column ids for a grid control. I get to say "grid.col(cols.thisOne)" instead of "grid.col(2)". Easier to read, easier to change, and it forces me to fix them on refactoring (more on this in a later article).
  • When I have a stored procedure return more than one table, I will use an enum to index the tables in the dataset. Again, I get to do "ds.tables(products.sold)" instead of "ds.tables(1)".
  • A more esoteric thing I like to do is when using datatables, I'll use an enum with "tostring" to reference the datarow. So I'd have something like "row(taskData.client.tostring)" ("taskData.client.tostring" evals to "client") instead of "row(5)". Again, this is more readable, and it forces fixing.

When I make an enum, I know exactly how it's going to behave. It's kind of like a super constant in that respect.

I'll talk about force-fixing in my next post.

Tuesday, July 3, 2007

Visual Studio Crash Log

This will a perpetual feature. I will log every time Visual Studio crashes on me and what I was doing when it did.
  • July 2nd, 10:15AM: Building a solution.
  • July 2nd, 2:55PM: Getting the latest from source control.
  • July 3rd, 12:24PM: Building a solution.
  • July 5th, 4:31PM: Building a solution.
  • July 9th, 11:43AM: Building a solution.
  • July 9th, 2:42PM: Getting the latest from source control.
  • July 10th, 10:31AM: Rebuilding a solution.

Monday, July 2, 2007

More Home News

So our house closing got delayed... again! This time, the sellers need to get a variance from the town board of health to do septic work so close to the well. This time we even got in a big fight with the sellers; they didn't want to pay the fees they are legally required to pay. Oops. We'll move in eventually. Maybe.

Rest In Peace

I never really understood the words "rest in peace". It's almost a cliche phrase these days. I used it in a blog post over on IFOD a while ago. It's just something you say to someone who has died. More importantly, it's something you say to others who share your grief.

Recent events have caused me to think more about what "rest in peace" really means. For Jon to rest in peace, it would mean two things: 1) he'd have to be happy with his life, and 2) he'd have to be happy with how everyone else is doing. I'm certain he'd be happy with how his life was; he always was living 110% and having a great time. But he'd also have to be happy with how his family and friends continue to live.

So there's a large part of "rest in peace" that relies on us, living our lives as Jon would've approved or wanted. I've found myself thinking more and more about Jon in everyday situations. Not that I'm trying to be just like Jon (because, as anyone who knows me knows, that's impossible), but who knows.

(As always, I'm just rambling here. Nothing I post is meant to be preachy unless I say so.)

Left to right: Jon, Ed (me), Adam

Sunday, July 1, 2007

Survival

Most of my friends knew Jon Snyder. Those who didn't know him learned of his passing by way of Annie or others. It's been a terrible time for all of us. There are no words to describe what Jon meant to most of us. Even people who crossed paths with Jon only briefly are profoundly affected by his death. I'm not going to try to relate how much we all hurt, and I'm not trying to write a tribute here.

It's been a two weeks since we in Boston got news of his death, and one week since his funeral. I am in better shape than I was last week; I can get stuff done at work, and I played in a softball game this week. I've done some cleaning and took out the trash. All things that I normally do.

And yet I still feel Jon's absence. I feel like I'm sleepwalking. Like it's all a bad dream. I seem to have a constant headache too. Katy said something that Bill mentioned at the funeral: "Jon's not gone; we just can't touch him anymore." I think that's what I feel when I say I can feel his absence. It's like a blind person; when you remove one sense, your others become heightened. Because I can't touch Jon, I can feel him more.

Here are some links:
Facebook group "Rest in Peace Jonathan Snyder"
Phil's well-written blog post
Kansas City Star Article
Obituary

Tuesday, June 26, 2007

Repurposing of the Blog... AGAIN

So obviously I haven't been writing much in here. Personal events of good and bad nature have happened, my goals have shifted, and things are just different. So prepare for a shift!

Monday, June 4, 2007

I Apologize for the Following

I need to rant.

I bought a house. I signed the purchase and sale agreement on April 22nd. We were set to close on May 31. That's 39 days. The sellers had one job during those 39 days: get the septic system inspected, and if it fails inspection, replace it. Naturally, you'd expect the sellers to do the inspection as soon as possible after the 22nd.

You'd expect wrong.

Our sellers waited until the week before closing to have the inspection done. And it failed. We still might have been able to close on time with a holdback (where the bank holds money from the sellers until they do the work), but the town engineer responsible for approving the plans was on vacation that week. Closing delayed.

I find out today that the town engineer looked at the failed report and was, and I quote, "confused." Apparently he couldn't understand why it failed. So he wants to dig up the system and take a closer look. Of course, this pushes back our closing to at least the 15th, possibly later.

All because the seller was too lazy to get the inspection done early.

Is this a serious problem? Not really. In two months, will I laugh at this? Yes. Am I super pissed right now? You betcha.

Monday, May 21, 2007

Could it be? Finally?

So the Halo 3 multiplayer beta went live last week. And I'm in it. Of course.

So where does this fall in terms of productivity? I almost feel like it's my job to play this game as much as I can before the beta is over, both because I feel some loyalty to Bungie to help them collect the data they want, and because it's a limited time beta, and I won't see Halo 3 again until September. But should I spent time on my website?

I've already given up on getting a formal video game review site working. I just don't have the time/money/crew to do what I dreamed of. But I could get a basic blog working, then add review functionality to it. And I could create the gamertype quiz I wanted to.

But, Halo 3. It's that good. :)

Productivity? Maybe...

I've been doing tons of stuff for the new house, so my traditional methods of tracking productivity@home do not apply. However, I did have time to make this Wikihow.

Thursday, May 17, 2007

Scientists Discover Internet Is Useless

Last night I got home from work, sat down on the couch, and turned on my laptop. I booted up Firefox, checked my fantasy baseball scores, opened a new tab, and stared at the blank page. "What am I doing?" I thought. "Nothing," came the answer from my brain. And then it hit me.

Most people know that you can spend basically your whole life browsing the Internet. And I spend my whole day in front of a computer at work. I never thought of my browsing at home as a waste, but it is. I don't really accomplish or learn anything. It always ends with me refreshing blogs and using StumbleUpon.

So I got up (leaving StatTracker on, because, hey, I gotta know the score) and decided to do the last constructive thing I had thought about doing. I grabbed my Yankees baseball cap and hand washed it in the sink. It's nice and clean now, though still sun-faded.

Now that I've tackled one of my major time-sinks at home, I will attempt to conquer the next one: TV.

Tuesday, May 15, 2007

The Home Front

Last week I had to work from home for the afternoon. I treated it as a sort of trial run. Would I be able to maintain focus while the XBox 360 is only feet away?

Turns out I'm crazy productive while working at home. When I'm not in the office when I physically can be, I get pretty guilty, even if I have a completely legit reason. So that guilt drives me to focus, and focus I did. Of course, my couch and leisure clothes are much more comfortable too.

The office environment here doesn't really encourage random working from home, but often people take half a day off for a doctor's appointment or similar, then work from home the second half. I will be attempting to take advantage of that as best I can.

Friday, May 4, 2007

Thwarted Once Again

I've been quite busy with home stuff. We're approved for a mortgage now, so all that's left is to wait... and buy as much furniture and linens and stuff as we can stuff in my car. Also Annie and I are running again, so that takes some time.

I wanted to mention work blockages again. I mentioned previously how a seemingly impossible error can derail your work almost instantly. But sometimes it's not an impossible problem that can stop you. In my case, it was a 900-line SQL stored procedure.

I may have mentioned this before, but basically, this sproc, written by my coworker, creates a pivot table... in SQL. I had to make my own version of it with half the features his did. That was tough, and my brain threw some roadblocks in my way, but I made it through.

Then came the horrible moment. I foound out I'd have to restore all that insane code I mercilessly cut out. NOOOOOOOOOOOOOO!!!!!!!!!! [a la Darth Vader]

And so, for the past three days, I'd get into work, get my coffee, load up Visual Studio, poke around for a while, see my "TODO:" statements politely reminding me to "Fix the goddamned stored procedure from hell", fire up SQL Query Analyzer, load the stored procedure (via sp_helptext), then stare at the SQL until my eyes bleed (well, it feels like they do). This is not healthy.

I finally was able to figure out the problem and fix the code. So what's my point? I'm not sure. Maybe it's that debugging large SQL procedures is not why I decided to be a programmer.

Friday, April 27, 2007

Just Strap Some Bulwarks to the Tank

Remember that bug I was talking about last post? Well I figured out the problem; it was a bug in SQL Query Analyzer. Ha.

But the whole situation (and my resulting blitz of productivty afterwards) reminded me of a situation I read about. In World War II, after the Allies successfully landed in Normandy, they were having trouble making progress inland. The hedgerows in that section of France were particularly nasty. The infantry kept having to fight the German troops at every intersection, and the tanks were constricted to roads and couldn't really do anything.

The solution? Some brilliant commander realized that the Normandy beach was covered in discarded fortifications from Rommel's "Atlantic Wall". So he had the engineers attach some of those fortifications to the fronts of the tanks (with superglue I can only assume) and had the tanks rumble right through the hedgerows.

What's the comparison I'm trying to make here? Well, my issue with the previous was that the query analyzer was incorrectly scripting the existing stored procedure to the query window, and so I couldn't do anything. This is like the Allied troops getting bogged down in a hedgerow. Eventually I could've slugged through it, but it would've taken a long time.

Had I attached some fortifications to the front of my tank (i.e. used a different tool or outlook), I would've found the problem instantly (e.g. SQL Enterprise Manager didn't have the bug, and the system stored procedure "sp_helptext" returned the correct SQL as well). Instead, I spent something like 2 hours (then 15-20 minutes with Matt) slogging away at the problem.

I think my point is lost somewhere up there. What I wanted to say was that when you hit a problem that stops your work, try looking at it from a different angle. This will help you solve it (the obvious benefit), but more importantly, it will keep you interested in the problem and keep your attention from wavering (the benefit that I really needed).

Wednesday, April 25, 2007

Roadblocks 'R' Us

It's amazing what can shut down a person for a whole day.

On the list I left for myself after work yesterday, the first thing was "Bug 910: Resources from other offices not appearing after search". To implement this feature (I never wrote the code in the first place, so it's a bug of omission I guess), I decided to take the super-complicated stored procedure (just over 900 lines) Matt wrote and I modified and remove something like 60% of it. So I fired up the query analyzer, selected "Edit" for the existing sproc, changed the sproc name, and pressed F5 (this should create an identical sproc with a different name).

Oops, not so fast!
Server: Msg 170, Level 15, State 1, Line 524
Line 524: Incorrect syntax near '('.
What happened?

So I figured somehow I hit delete or something and removed something. I find the line number mentioned, but there's nothing wrong with it. Plus how could there be? I just extracted that code directly from the existing sproc, which already runs? It's impossible.

My brain just shut down. I could not parse how this could possibly be happening. It's like writing "x = 1" and then "isTrue(x = 1)" returns false.

And how do you ask for help with something like this? "Hey Joseph, my SQL isn't working, but it was, and now there's an invisible bug somewhere... can you help me go line by line through this 900 line sproc?" I think he'd shoot me.

I still haven't figured it out.

Friday, April 13, 2007

Slacker Nation: Part 2; or Origins

How does one become a slacker? Are slackers born or made? These might not be questions great thinkers ponder (I wonder if Aristotle was a slacker), but they are interesting nonetheless.

While I haven't done a comprehensive study on this, I know how I became a slacker. It happened in third grade. My teacher, Mrs. Butler, was teaching us double-digit subtraction; take the one ten and make ten ones, etc. I was always great at math, so this stuff was a breeze (31 minus 17? EASY! Give me something hard to do). She gave us a math test, and it had one section with five questions that looked something like this:

1) 43 minus 24


____

I wasn't sure what that line meant, so I did the math in my head and put my answer on the line. Easy stuff. Well, she marked all of my answers incorrect. Apparently, I didn't read the instructions, which said to show your work. With those incorrect answers, my score was low enough to warrant being put in the remedial group. I was pissed (well, as pissed as a third grader can get). I wanted nothing more than to be with those kids I knew I was smarter than, working on those "enrichment" worksheets with the tough problems (345 minus 167! Also, multiplication!). And yet, I was stuck with the remedial group, having stuff I already knew explained to me.

So I tuned out. Not consciously, of course. As an eight-year old, I still wanted to appease my parents in everything. I continued to pull down good grades (not that elementary school is tough) and be a good kid. But I never really had to try hard again (until sophomore year of high shcool), and because I "knew" that trying hard wouldn't really get me anything, I didn't. I spent class time doodling (8th grade social studies), talking (honors English), sleeping (AP Chemistry), or not present (honors American History).

Yet I graduated with a 3.85 GPA. All I was subconsciously learning was to work the bare minimum to get by. (Fortunately, college was able to coax a lot out of me. Learning that I wasn't the smartest man alive helped me focus on work I didn't like.) Are all slackers created by nuture? Or does nature take a part? I don't know.

Stay tuned for the thrilling conclusion of Slacker Nation.

For Part 1 of Slacker Nation, click here.

Whoa... I bought a house?

Yeah, it's still sinking in that I actually bought a house. While we haven't done anything yet except push paper around, things feel like they're moving wicked fast.

Anyway, I've been caught up with house stuff and selling things on eBay. Also, Annie's grandmother is in the hospital, so we've been visiting her every night this 
week. 

This weekend I'll be busy again. House stuff plus apartment stuff. Maybe I'll get to the website.

Monday, April 9, 2007

Big News

I bought a house!

Well, I put an offer down that was accepted. It's going to be close to two months before we "close" and therefore own the house (or rather, the bank owns it and lets us pay them for 30 years). Suffice it to say, I'm excited!

Also, because of Easter and the home buying stuff, I didn't have time to work on part 2 of my Slacker Nation series. I'll attempt to hammer that out this week.

Friday, April 6, 2007

Slacker Nation: Part 1; or, The Definition

When I was young, adults made a big deal about slackers. They would conjure up images of a guy with longish hair (only long because he doesn't care about cutting it) with baggy, dirty pants (why wash clothes? They'll just get dirty again) who does every task to the minimum (so he can get back to "slacking"). I was told that becoming this man, this slacker, was the worst possible outcome of my life. I was young and impressionable, so I believed this.

Flash forward to high school. I took mostly honors and AP classes, but many of them were not hard. My honors history class was one of these. The teacher was smart and good, but he believed in homework. I don't, so I didn't do it. I got A's on all the tests, essays, and projects, but zeroes on all the homework, resulting in a B in the class. I tried to do the homework one time. I looked at the front page of the packet. On top was a big map of North and South America. The first question was "Mark on the map the location of the Panama Canal." This was a junior year honors history class. I threw out the packet. Did this behavior make me a slacker? I could've gotten an A easily if I had done the homework. But to me doing this homework was a complete and utter waste of my time. I'd rather read history books (which I did, often). I was troubled by this for a time, but never troubled enough to change my ways.

And now, present day. If you've read some of the past posts here, you'll see that sometimes I'm just unmotivated to do things. However, I'll go to town on certain things, like the cell-phone negotiation and the EBay stuff. Why do I have no problem working on these things, yet getting myself to write the basis for my website is hard as hell? A few years ago, I found an interesting article online called the Slacker Manifesto (pdf). The author brings up a few interesting points, but this is the most important one: slackers work hard only on what interests them (as opposed to Type-A people who can work their ass off on anything). This theory direction contradicts the message sent by my parents when I was young. I can be a slacker and still be a productive member of society. Sweet.

Stand by for Part 2 of this series, yet to be subtitled, where I discuss something else about slackers.

Too tired to be lazy

Annie goes to sleep before I do, but for maximum cuteness, I get in bed with her until she falls asleep (or until I fall asleep and start snoring, whereupon Annie wakes me up and kicks me out). Last night she took a while to fall asleep, so I actually fell asleep several times before she did. When I finally got out of bed, I was a slug. I wanted to not get up, but I had to feed the cat, turn off the TV and lights, etc. So reluctantly I got up.

I could not get myself to do anything constructive, not even playing video games. So that sucked. I managed to check my ebay auctions and fantasy scores, but that's about it.

Thursday, April 5, 2007

Do the Dragon

I decided to relax last night. After two days of two-hour-plus of working on EBay items, I decided that I'm entitled to some FFVIA. Too bad I stayed up until something like 12:30AM playing it. It's just so addictive!

I'm off to my semi-annual performance review in a bit. Wish me luck, me! ("Good luck, me!")

Wednesday, April 4, 2007

When the moon hits your eye like a big pizza pie, that's Ebay

I spent about 2 hours last night taking more photos of my magic cards and resizing them, but I finally got three auctions up. Check them out here:

Taiga, revised
Birds of Paradise, revised and frouth edition
Everything else, revised, fourth edition, the dark, ice age, fallen empires, and antiquities

I had a Fork I was going to sell, but John, who's been so helpful to me regarding card value and what to do with these auctions, wants it. So I'm selling it to him. Sorry guys.

I really want to play some Castlevania:Symphony of the Night tonight, but I have to do this whole process with my two GBAs and my original XBox. Good thing I finally got past the bottleneck in FFVI I was at.

Tuesday, April 3, 2007

Single Tasking

"Single Tasking" is an idea I produced for myself one morning last week.

When I get to work in the morning, I typically check the New York Post online for new Yankees articles. I also check a few webcomics. Sometimes those sites will link to other sites I want to check out. I'll fire up Visual Studio and Query Analyzer, bounce between them and Opera, then open Firefox for my FF-specific stuff. As a result, I do a lot of things, but I'm not terribly efficient at them. Even when I say "Enough!" and close FF and Opera, I still have multiple work things going on at once.

So I decided to say "Here's the feature/bug/whatever I'm working on, work on it til it's finished." I have to fight myself hard to not think about other things or check email or whatever, but I'll get it done. Then I have to repeat the process. It's totally against my nature to do this for some things (like writing an SQL controller class for my .NET app); I've always found decent productivity while having a TV on tuned to a movie that just came on that I've seen before (more on this later). However, that approach doesn't work when working on code.

After producing this idea, I realized that I'm totally not the first to discover it. ThatVoodooYouDo covered an idea I've been trying to incorporate into my single tasking. Steve Pavlina (that crazy dude) covers an idea called "Timeboxing" (sort of the inspiration for this blog) which sorta ties in with this.

Nevertheless, I've found my highest level of productivity on code during single tasking. How about you?

Day whatever: New approach

Firstly, my activity since last update:

Nothing except last night, when I spent about two hours organizing and photographing my Magic Cards for impending EBay auction. Very tedious, but I stand to make anywhere from $40 to $120 from it, and those cards were just sitting in the closet, so it's free cash really.

Secondly, my protocol:

Obviously, I missed posting most of last week. I began to found posting here somewhat tedious, especially with the format I was using. It's not like all this needs to be machine readable (yet!). Maybe I'll write a webapp on my website (when I finally write it) to handle all that crap for me. But for now I'm going to just post what I do and not worry about "success" or "failure" or all that crap.

Fair enough?

Thursday, March 22, 2007

Day 23: I'm Back in the Game

For about 1.5 hours last night, I worked on my site while watching Futurama and Family Guy. While I don't work at peak productivity while watching TV (obviously), I had already seen the three episodes, and so they didn't distract me as much. I worked mostly in CSS for the layout. I got a basic column layout setup with some decent colors. This was so important for me because now my test pages don't look like ass. Booya.

Date: 3/21/07
Status: Success
Project: Website
Time: 90 minutes with TV, so likely 30-45 minutes actual

Wednesday, March 21, 2007

Handling DBNull in .NET

The following is an email I sent to my development department. I found the basis for this code somewhere else on the interweb, but I can't find the link. I do not claim this as my own invention, especially since the functionality is built into .NET.
If you're like me, you've come across the issue of being unable to cast System.DBNull to any datatype. To get around this, I would check for DBNull, then conditionally do the cast:
' assuming "row" is  a datarow with data from the SQL Server
Dim office_code As Integer
If Not row("office_code") Is System.DBNull.Value Then
office_code = CInt(row("office_code"))
End If
This gets quite verbose, especially if you have many columns. Instead, using the "Of" keyword, we can create a generic-typed function that works just like TryCast works but works for reference and value types and handles DBNull:
Private Function SafelyConvertFromDBNull(Of thisType)(ByVal item As Object) As thisType
If item Is System.DBNull.Value Then
item = Nothing
End If
Return CType(item, thisType)
End Function
Which is called like so:
Dim office_code As Integer = SafelyConvertFromDBNull(Of  Integer)(row("office_code"))
Dim partner_name As String = SafelyConvertFromDBNull(Of String)(row("partner_name"))
Dim start_date As Date = SafelyConvertFromDBNull(Of Date)(row("start_date"))
Dim monthly_revenue As Decimal = SafelyConvertFromDBNull(Of Decimal)(row("monthly_revenue"))
This function saved me many lines of code, so I thought I'd share it with you all.

Cincinnati, the City of Kings

This past weekend I was in Cincinnati at a wedding, so I gave myself a pass there. Monday and Tuesday though... wark! Monday I was still too tired from the trip, and Tuesday I was over at Eric's until 11:30 or so.

Also, I'm adding a "reason" field to all failed days. Should make the data more meaningful.

Date: 3/19/07 (Day 21)
Status: Failed
Reason: tired

Date: 3/20/07 (Day 22)
Status: Failed
Reason: social

Thursday, March 15, 2007

Teacher, May I Be Excused?

I had a little run in with my car yesterday... at the mall at 8:30PM, it didn't start. AAA shows up 1.5 hours later, but the car doesn't need a jump (I figured that, something else was broken), and the driver can't fit his flatbed into the garage. 1.5 hours after that, a tow truck arrives. The driver, Artie, asks me to start it so he can hear what it sounds like. Of course, it starts right up. It looks like either the solenoid is corroded and needs to be replaced, or some other wire is loose or corroded.

End result: I left the house at 7:30PM, didn't return until 12:30AM. I am excused from being productive.

Wednesday, March 14, 2007

Day 20: Booya

With a little help from Eric, I got a serious good start on my Rails website. I pretty much forgot everything I knew about Rails, so Eric had to basically hold my hand through some excruciatingly basic stuff. However, now I have a basic working app! Wahoo! Eric's kickstart should be enough to get me going.

Go on over and give him some love; he's at the Mill Industries link over on the left.

Date: 3/13/07
Status: Success
Project: Website
Time: ~120 minutes

Tuesday, March 13, 2007

Day 19: A Conundrum

Last night I did several errands with Annie. We went to Petco, Stop & Shop, and CVS, three stores in pretty much exactly opposite directions from each other (spare me your geometric diatribes!). It took us about two hours, maybe two point five. So does this count as meeting my goal?

I'm going to take a step back. My original purpose for the goals was to get me to do web development (and some other projects I might not otherwise do) on my own time. I think I've somewhat fallen from that, given that my last three or four successful days were not web dev.

So where do errands fit? I don't know. I'm still in trial mode here, so I'm not going to refine my parameters for success yet. Maybe around day 30 or 45.

Date: 3/12/07
Status: Failure

Monday, March 12, 2007

It's Been A Long Time, Getting From There to Here

So I missed a few posts. No excuse for Wednesday or Thursday. I spent this weekend in New Jersey with my family, so I excused myself for Friday, Saturday, and Sunday.

So on Thursday I called my cell phone company back. The rep managed to give me a $20 credit towards a phone purchase, which finally tipped the deal. The rep told me I couldn't order the phone over the phone, but he would call the local stores to see if they had one. They did, so I went to the store that night to buy the phone. Booya!

Then on Friday I called back to get all the features activated. Now, all of a sudden, the rep is having trouble giving me the $3/month texting for free. So I escalate. The supervisor says he's never heard of this 'code' (they call all their plans codes, because they just put a code in their application). He says he'll file a ticket for his engineering team (think me, but working at a cell-phone company) and call me back on Tuesday (tomorrow). He also mentions a "buyer's remorse" program, which says that I can go back on everything within 14 days of purchase. If they can't give me the $3/month plan for nothing, then I'm out.

Date: 3/7/07 (Day 17)
Status: Failure

Date: 3/8/07 (Day 18)
Status: Success
Project: Cell-phone negotiations
Time: ~45 minutes

Dates: 3/9/07-3/11/07
Status: In NJ

Wednesday, March 7, 2007

Day 16: Boxing a Glacier

I dueled with the my cell phone company's retention department again yesterday for close to an hour. We're finally starting to get some progress. They won't budge on the price of the phone, and they've been offering me "unadvertised" data and text message plans. While these deals are attractive to me because they're cheaper, they remove certain features. For example, they offered a cheaper text message plan that did not include picture messages. Now, my Sidekick II can't send picture messages, so I've never felt their absence. However, I don't like being restricted. Also, it's clear from the conversations I've had that the rep is just looking through a list of plans and telling me about them.

The dynamic changed last night when the rep put my on hold. He came back and was prepared to offer me the $3/month text messaging plan for free. This offer was in response to my saying "If you could just knock $5/month off the total cost, I'd sign on the dotted line." Now we're actually starting to negotiate.

Date: 3/6/07
Status: Success
Project: Cell phone negotiation
Time: about 1 hour

Tuesday, March 6, 2007

Batch Update

Whoa, I got pretty behind in posting here. Here's the rundown:

Date: 3/2/07 (Day 12)
Status: Failed

Date: 3/3/07 (Day 13)
Status: Failed

Date 3/4/07 (Day 14)
Status: Success
Project: Haggling with T-Mobile
Time: ~45 minutes

Date: 3/5/07 (Day 15)
Status: Failure

I want to keep up logging my work, even if I fail a lot, because this is basically a beta test of my goals. We'll see how realistic they are.

Friday, March 2, 2007

Day 11: Tired

I did not meet my goal yesterday. I got home from work and was just exhausted. This may have not been a particularly wise decision, as tonight I'm going out with a friend for his birthday and likely will not be able to get anything done. We'll see.

I've got all my plans for my website in a Basecamp, and I set a milestone for myself. By this Tuesday, I need to have ten items done for my website, specifically for the user-account-system (UAS) and/or the blog. I'm currently at zero items.

Date: 3/1/07
Status: Failed.

Thursday, March 1, 2007

Day 10: Booya

Last night I kicked ass. I called T-Mobile when I got home and spoke with a rep for about 15 minutes about my options. My plan is to collect competitors' offers, then come back to T-Mo with the offers and try to get them to flinch. Wish me luck.

Then I spent about 45 minutes working on my dev environment. I know this is taking way longer than it should, but I want to get it right. I have sqlite3 installed and working properly now (with a meaningful "create.sql" script); I just need to verify that RoR can connect to it and I'm ready to roll.

I credit my massive success to lack of distraction; rather than play FFVI on the subway home, I read my book. Once at home, I left the TV off (though I did blast FFVI music on my laptop). Without distractions, I rocked.

Date: 2/28/07
Status: Success
Project 1: Cell Phone dance
Time: 15 minutes
Project 2: Website
Time: 45 minutes

Wednesday, February 28, 2007

I am the king of FizzBuzz

With all the latest hooplah about fizzBuzz, I decided to make the most maintainable VB.NET implementation of fizzbuzz ever! Check out the majesty:
Public Class fizzBuzzCalculator

private _count as integer
private readonly _fizzText, _buzzText as string
private readonly _fizzInt, _buzzInt, _ceilingInt, _DoneInt as integer

Public Sub New()
_count = 1
_ceilingInt = 100
_doneInt = Integer.minValue
_fizzText = "fizz"
_buzzText = "buzz"
_fizzInt = 3
_buzzInt = 5
end sub

Public Function PrintNumbers() as String
dim count as integer
count = _GetNextInt()
While count != Integer.MinValue
Console.WriteLine(_CalculateOutputForSingleInt(count)
count = _GetNextInt()
end while
end function

Private Function _CalculateOutputForSingleInt(ByVal int as integer) as String
Dim output as string
if int mod _fizzInt = 0 then
output += _fizzText
end if
if int mod _buzzInt = 0 then
output += _buzzText
end if
if output = String.Empty then
output = int.toString()
end if
return output
end function

Private Function _GetNextInt() as integer
if _count > _ceilingInt then
_GetNextInt = Integer.minValue
else
_GetNextInt = _count
_count += 1
end if
end function

end class

Day 9: A New Hope

Was productive yesterday, but on work stuff. We have a semi-annual review process at my company, and they require you to write a self evaluation. Employees typically also write an upwards review of their boss. Also, anyone can request a coworker to make a lateral review. So I had to write a self evaluation, an upwards review, and a sideways review. I wanted to look professional, so I spent about 10 minutes on each, a little less on the sideways review, for a total of 26 minutes (I clocked myself). So I booted up RadRails and poked around at my RoR test project for about 10 minutes.

I don't think my times should be additive for my goals. For example, if I spend 15 minutes during lunch on one project and 15 minutes later on another project, that should be a failure (because really, what can you get done in 15 minutes?). Mark it down as a rule!

Date: 2/27/07
Status: Success
Project 1: Evaluation forms for work
Time: 26 minutes
Project 2: Website
Time: 10 minutes (no constructive work done)

Tuesday, February 27, 2007

Day 8: Extenuating Circumstances

Yesterday I went to the gym for the first time in at least a month. When I got home, I spent 1.5 hours on the phone with my dad, at least 30 minutes of it talking about real estate. After Annie fell asleep, I started to poke around getting RadRails to recognize my project (first trying to get it to check out of Subversion directly, but it didn't seem to want to do that). I then gave up and played FFVI. So I got maybe 10 minutes in there.

I know that one of the things holding me back is that I keep thinking I need some help getting started... but I don't really. I should just start cracking.

Date: 2/26/07
Status: Failure
Project: Website
Time: 10 minutes

Monday, February 26, 2007

Day 7: First Test of Adversary

My first major test happened yesterday, and its name is "Final Fantasy VI." I purchased this game last week, and boy, it has consumed me. I spent like 12 hours playing it this weekend. Something ridiculous like that. Anyway, we'll see how I handle this new addiction.

Date: 2/25/07
Status: Failure

Saturday, February 24, 2007

Day 6: Early Worm Gets the Worm... or something like that

Bam. It's not even 2PM and I've already hit my goal. Booya.

More work on setting up my environment. Got Rails, Capistrano, RadRails, SQLite, and something else installed. Worked on getting it all working together. I'm missing a few pieces, and certainly not doing things in the right order (Capistrano? I don't even know her!) but I made progress. Next time I'll make sure Eric or Brent or John is online to help me get this shizzle working.

I do have one problem: my actual time accounting for this is a little vague... I worked for over two hours today on this stuff, but I was watching TV the whole time. It wasn't good TV, but it did reduce my overall efficiency. I'll be conservative and say 30 minutes.

Date: 2/24/07
Status: Success
Project: Website - development environment
Time: 30 minutes (120 minutes multitasking)

Day 5: First Friday

So my fear came true; I did not meet my goal yesterday. I did not have any social plans or anything, but I still couldn't find time to be productive. Granted, going to bed at 10:30 didn't help.

The first idea that comes to mind is to not count Fridays. My gut is against this.

My second idea is to push that 30 minutes to another day. I don't really like this either because it makes my goal more of a job.

Well, I don't really have enough data to detect any patterns, so I'll just mark it as a failure.

Date: 2/23/07
Status: Failure
Project: none
Time: 0

Friday, February 23, 2007

Possible complications

I had a thought this morning: I will have trouble on Fridays reaching my goal. Today shouldn't be a problem because Annie and I do not have anything big planned (we might go see a movie). However, last Friday I got home from work, changed, went out, and did not return until past midnight. I had no chance of being productive.

I'm not sure how to handle this. I'll have to come up with some sort of proviso.

Thursday, February 22, 2007

Day 4: Getting to the Good Stuff

Today was the first time I did programming work, and it felt good. However, I didn't write any actually code for my website; rather, I spent about 25 minutes setting up my development environment. I was going to do some more, but I had a few questions about RoR and which database server I should use (I'd love to use Kirbybase, but I'm not sure if that's where I should start) but Eric wasn't online, so I stopped there.

However, I had done some work earlier, so I was already over my goal. I decided to write a VBA app in Excel to manage my fantasy baseball draft cheat sheet (I won't go into details here, but it's a basic app). I spent about 45 minutes on that (much of it was spent cursing at VBA because it's not VB.NET), but I got some good work on it.

Date: 2/22/07
Status: Success
Project 1: Website (dev environment setup)
Time: ~25 minutes
Project 2: Fantasy baseball app
Time: ~45 minuts

Wednesday, February 21, 2007

Day 3: Changing Gears (of war... lol)

Today was the first day I started working on something other than the GMAT prep. My XBox 360 has had consistent but random crashes with a "Disc is unreadable" error message. Clearly, the discs are all readable, as I have played through these games many times without error. I tried to troubleshoot this by email, but the email techs can't authorize a repair, so I called in. I spoke with a knowledgeable female CSR (with whom Annie accused me of flirting... as if!) who authorized a repair. Booya.  However, the phone call took only 23 minutes.

Date: 2/21/07
Status: Success... kind of
Project: XBox 360 repair
Time: 23 minutes

Protocol Update

Today I started a paper log of my productivity in a small stenography notebook. I did this for two reasons:
  1. If I'm tired, it's easier to write "date: project: time" in a notebook than logging on and writing a blog post.
  2. I might forget what I did if I didn't write it down.
Crazy, I know.
All rights reserved. Take that!