Well, it’s New Year’s Eve. What better to do than look back on some of my favorite posts over the past year.
The Ones with Legs
These three posts seemed to resonate with some and generated the most views…
URL as UI (3/16)
This was the biggest new post of the year (that damn Google Transit one from 2007 still out-pageviewed it, though). Where did the traffic come from? Well, that’d be Dan.
Using Fluid.app to Bring Google Reader for iPhone to your Desktop (8/14)
A couple blogs (like Web Worker Daily and Hackszine) picked up on this little lifehack.
My Favorite CSS Techniques (11/14)
This might have been my favorite post of the year. Most of the traffic for this one came through StumbleUpon, though Web Worker Daily also linked to it. I may follow it up with some more techniques eventually.
Milestones and Releases
Luckily, I documented some of the bigger things that happened this year (no new babies or anything—YET!—so it’s all techy stuff).
BatchBook Goes 1.0 (2/8)
Pretty big moment for me—the single project I’ve ever poured the most of myself into gets released to the world.
NewBCamp08 Presentation: Introduction to Web Standards (2/23)
I haven’t done much speaking before, and this was the start of it. It was a lot of fun and I hope to do it some more. With the second NewBCamp coming up in February, I just may get to do that…
Two Weeks: Two Redesigns (BatchBook & BatchBlue.com) (10/13)
Redesigns can be a major thing. Back-to-back, I worked on the redesigns of our product (BatchBook) and our website (BatchBlue.com).
New BatchBook Screencasts (and How-To Posts Coming Soon) (11/24)
I’ve done screencasts before, but I was really proud of this set. I also documented the process so I could write a series of blog posts about screencasting.
Announcing Tabigail: A simple, gray, one-column, socially savvy WordPress theme (12/15)
Earlier this month, I took the design of this blog and packaged it up as an open source WordPress theme.
BaseballTwit: A New Home for the Baseball Posts & Tweets (12/27)
Over the last few days, I’ve been doing some hardcore baseball research for this new project. If you’re into stats and the old personalities of the game, this is for you. If not, run far far away!
Off-topic (yes, baseball)
I also enjoyed writing these baseball-related posts enough that I just needed to start that separate blog…
Branching Out: Baseball Player Bio Writer? (2/26)
Yes, Pete Incaviglia is using the bio I wrote about him (years ago) on his own site.
“My Guys” Never Win MVP Awards (11/20)
In which I make my Dustin Pedroia mancrush public and reminisce about my favorite players.
Is There a Doctor in the Hall? (10/16)
I actually entered a contest to be a sports blogger for WEEI. I didn’t win, but this was my submission.
Misc
Here’s some more posts I’d like to highlight for various reasons:
SXSWi 2008: A Recap(3/13)
SXSW was a ton of fun. It’s also where I met Ira.
1000 Tweets (1/23)
I just thought it was funny that this year I hit the 1000 tweet milestone. Apparently, tweet #2000 or #3000 weren’t worth blog posts. I currently sit at 3,896.
Full-Time Designers Should Do (SOME) Side Work (11/3)
I thought this was an interesting topic that fetched a couple good comments. I would have loved to see more though. It’s not too late!
Some General Stats
Here are some stats I was interested in for the year…
Top Posts by Pageviews
- Google Transit Comes Through: Best Customer Service EVER (63,927)
- URL as UI (14,916)
- My Favorite CSS Techniques (4,602)
- The Blog is the New Resume (2,009)
- Using Fluid.app to Bring Google Reader for iPhone to your Desktop (1,563)
Browser Usage
- Firefox (82.32%)
- Internet Explorer (9.60%)
- Safari (5.18%)
- Mozilla (0.88%)
- Opera (0.72%)
- Chrome (0.55%)
Looks like Chrome still has a way to go? IE is less than 10%, but what’s the version breakdown?
- IE 7.0 (71.13%)
- IE 6.0 (26.44%)
- IE 8.0 (2.25%)
4 visits each from IE 5.0 and IE 5.5. They deserve whatever the heck they saw.
OS Usage
- Windows (74.30%)
- Macintosh (20.06%
- Linux (4.99%)
- iPhone (0.42%)
I guess nearly half a percent of all visits from iPhone isn’t that bad. What’s with just 20% Mac? Come on people! Also, the 5% from Linux was MUCH higher than I thought.
And the music
On my previous “End of Year” posts, I’ve picked an album of the year. Before I do that, let’s take a look at last.fm and see what the stats show I was listening to this year (yes, I have a thing for stats…):
Most Listened-To Artists of the 2008
- Teenage Fanclub (They’ve always been my #1, so it makes sense.)
- Mogwai (My all-time #2, and I have a thing for Glasgow bands, too)
- Yo La Tengo (Yes, this is my all-time #3, too. The best US band in history)
- Band of Horses (I was late to the party on them, but made up for it)
- Rogue Wave (Liked them a while now, but just keeps growing)
Top song of the year according to Last.fm? That’d be “Our Swords” by Band of Horses.
This year’s choice
My best new album of the year? Well, that’d be Mogwai’s The Hawk is Howling.
Happy New Year!
Wanna leave a comment?

In October, I wrote about Twalala, a new Twitter client. Twalala bills itself as “Twitter with a mute button”, but muting is only half of what makes Twalala a worthwhile Twitter client.
First, I have a few personal requirements in a Twitter client. I know not everybody’s requirements list is the same, but mine are important. They are:
- Web-based: The majority of my Twitter usage is actually done on the iPhone. But I don’t want a native iPhone app because I like to maintain the same Twitter workflow whether I’m mobile or not.
- Mobile: This goes along with the first, but the app needs to be usable in both desktop and mobile formats. Preferably, it would be the same interface for both.
- Full-featured: The mobile version of Twitter.com is decent, but lacks some important features (like DMs, which you need to switch to the full twitter.com to access).
So, the only app that has filled these requirements is Hahlo. I love Hahlo. Like, a lot. I really have no complaints about it (recent downtime troubles aside). My newest pain point has nothing to do with Hahlo, but has everything to do with my growing Twitter network. When I’m online and working, I have no problem skimming the tweets from my entire stream, seeing what’s going on in tech and the world. But the problem is if I’ve been offline for a while and I want to catch up. I just can’t catch up on everything I’ve missed.
This is why some people use Twitter as a real-time thing and don’t worry about catching up. But I have a large number of people in my stream that I want to see EVERY tweet from. It’s not everybody, and that’s the problem. With Hahlo (and every single other web-based Twitter app), I either catch up on everyone or nobody.
I tried some hacks, such as subscribing to some people (via a FriendFeed list) in Google Reader. But that’s delayed and it mixes in what I’ve already read with what I’ve missed. It was just more trouble than it was worth. So, I turned to Twalala. And it worked.
When it was first released, I used Twalala as a bit of a novelty, muting a few phrases so I’d never see them in my Twitter stream (like those damn Qik.com links). I hadn’t gone as far a muting people. That has changed.
A couple weeks ago, I opened Twalala, took a deep breath, and started muting the crap out of my follower list. Who made the cut? People I know personally and industry folks I REEEEALLY want to see everything from. I believe I muted 150 or so people. Sounds shady, right? But no. The thing is, Twalala is my “catch-up” app. I don’t use it all the time. In fact, I still might use Hahlo a bit more than Twalala.
Remember when I said that muting was only half of what makes Twalala cool? The other half is the complete opposite—white listing. If you “white list” certain terms, they will always be highlighted (in yellow) in your stream… even if you’ve muted the person that said it. This is perfect for @replies and brand monitoring.
How can Twalala become my full-time Twitter client?
I’m still using multiple clients (Twalala, Hahlo, and twitter.com), but how far away is Twalala from being a one-stop solution for me? Here’s what I’d need:
- An unfiltered stream: It’s great that I can mute people and phrases. But that means I’m locked into those settings (unless I remove the filters one by one). It would be nice to have a view that shows my friend stream unfiltered along with one that shows it filtered. Right now, the main tabs in Twalala are “home | @replies | direct messages”. I’d recommend “all | filtered | @replies | DMs”. That way I could see my entire list in one tab, but also see the list filtered a click away.
- The ability to follow/unfollow: I’d love to be able to follow someone from within Twalala. Right now I have to hop to a different client to do that.
- The ability to favorite: Because sometimes @wrycoder is so good that I need to jump to twitter.com to fave that ish.
- Profile data: Right now, I need to click out of Twalala to see a user’s basic profile info. On their page, I’d like to see bio, number of followers, number of following, and URL.
- Remember me: A remember me button would be nice, especially with mobile. Sometimes I open up Hahlo when I’d rather open Twalala because I need one click to get to my stream on Hahlo and (lemme count…) about 20 to do the same in Twalala.
- iPhone-optimized input: Not sure why, but posting a tweet has gotten pretty slow. You need to punch a bunch of letters on the iPhone and wait for Twalala to catch up. I admit sometimes I read in Twalala and jump to Hahlo to tweet.
That’s it! Not to much, right?
So, give Twalala a look. I might just be what you need to make Twitter work better for you.
Wanna leave a comment?

Like most beginners, when I first started using WordPress (in May of 2006) I used a downloadable theme. I eventually outgrew it and in March 2007 I stripped down the blog’s design to just raw HTML. Little by little, I started styling—purposely NOT working from an established design… I wanted to see where playing with the CSS took me. I captured how it looked less than 24 hours into the design.
Since then, I’ve tweaked and refined endlessly, but still kept the basic feel of that design I did in a day over twenty months ago. While I really like the design, it’s time for a change. So, what better way to archive the design than releasing it as a WordPress theme?
I’m calling it Tabigail.
Why Tabigail? One of the features of the design was a rotating Polaroid-style photo in the header. I’d change it every so often. However, the last time I changed it was December 15, 2007—one year ago today. That was the day we had to put our beloved kitty, Abby (or Abigail the Tabigail), to sleep. I never could make myself swap out the image of Abby.
I’ve built a new page specifically for the Tabigail theme. You download the theme there and I’ve also posted setup and customization tips that allow you to make the theme more “you”. On that page, I briefly wrote about what makes Tabigail a compelling WordPress theme:
- So super simple. A quick peek at the CSS will show you that there’s really not a ton here beyond plain HTML.
- No sidebar. You know those annoying over-crowded sidebars so many blogs have? This theme has NO sidebar.
- Socially savvy. The footer features a list of links to your social networking profiles. Because, really… it’s not all about your blog anymore. Plus, these links are marked up in an hCard with
rel=me (just planning for the future!).
Just a note on that last one… what’s cool about that hCard with all those rel=me links? Well, as far as I know, nothing yet. But as the need to consolidate web identities becomes more mainstream, Tabigail will be ready to tell any service provider where all your social media identities are located.
Dude, you’re future-proof!
So, please… take a look, download the theme, and leave a comment letting me know what you think. This is my very first WordPress theme (well, publicly available one anyway… I’ve done a ton)… I’m hoping somebody finds value in it!
3 comments so far. Wanna add one?

I rescued this post from an old blog that I’m not updating anymore. It has become a handy piece to point folks to when I try to tell them about my baseball simulation league. This post was originally published June 16, 2006.
I never understood fantasy baseball.
I have all the symptoms of a fantasy baseball addict. I love baseball. I love baseball statistics. I love tracking how my favorite players are doing. I love putting myself into the shoes of Major League general managers, debating what I would have done in a particular trade or signing situation. I love drafts. I’m web savvy and online a good chunk of the day. I enjoy making a deal.
But I have picked a different kind of poison. My drug is not fantasy baseball. Instead, I am addicted to baseball simulation.
There are very important differences between fantasy baseball and baseball simulation. One of my problems with fantasy can be summed up in an example that I often use.
Let’s say my brother in law is sitting at a bar with his friend, watching the Red Sox game. Their fantasy teams are facing each other this week. Jason Varitek lifts a sacrifice fly. David Ortiz tags up and scores. The friend shouts, “Ha! There’s a point for me! I have Varitek!” My brother in law replies, “Yeah, but I have Ortiz. We’re even.”
I have three very big problems with this scenario. The first is “this week.” A baseball game that is one week long? What is this, football?
Secondly, in fantasy baseball when your player drives somebody in, he’s (usually) not driving in a fantasy teammate. In simulation, when my player drives someone in, he is actually driving in a teammate and I am watching that run add to my score.
And finally, say I don’t have Jason Varitek on my fantasy team. Say I do have Kevin Millwood and he’s facing Varitek. I’m a big Jason Varitek fan. I could never root against him. It would just feel wrong. So, I’d find myself not rooting, just sitting there… torn.
Baseball simulation is, at the very least, a great way to avoid these problems. The games are not dependent on the Major League Baseball season. It is all run in a software program. In simulation, Jason Varitek is not the real “Jason Varitek”. He is a software model of Jason Varitek at one point in is career. From that point on, the simulated Jason Varitek can evolve differently than he does in Major League Baseball.
At this point, I’ll invoke the Back to the Future comparison. Remember when 2015 Biff finds the sports facts book in an antique shop, hops into a time machine, and gives the book to 1955 Biff? (Don’t lose me, now.) That action ended up creating an “alternate 1985″ in which all events after young Biff received the book deviate from the original history.
I am the Commissioner of a baseball simulation league. For my league, The Ted Williams Memorial League, our “1955″ (the point where the alternate history deviates from the original) is 2000. The league begins with the 2000 season and the players are generated from a database of all players and prospects from 2000. From the point that our league begins, however, players can evolve differently than they do in Major League Baseball.
Here are three examples:
In 2000, Rick Ankiel was the hottest prospect in all the land. He ran into post-2000 problems in Major League Baseball and has since given up pitching. In my league, he is looking like one of the best pitchers in history (certainly the best in our young league).
In 2000, Barry Zito was not a highly regarded prospect. So, in my league he never really panned out and recently retired with just three career wins.
Mark Teixeira was drafted in 2001. Therefore, he does not even exist in my league.
Trading is far different (and far more rewarding) in simulation. In fantasy, if you need a player, you trade for him, and his points are added to your totals. In simulation, you must find a player that appropriately fits into your lineup, into your payroll, and into your future. Many baseball simulation leagues span over multiple seasons (think “Career Mode” in console games). For example, in the TWML we are about to start 2013, our fourteenth season. Trading for a 37 year old star is great for the short term, but doesn’t make much sense if you’re not going for it all this year. With the exception of keeper leagues, In fantasy your roster is refreshed from scratch from year to year. Even keeper leagues only allow you to keep a few players.
Drafts are far more rewarding in simulation as well. In fact, this is the favorite aspect of many simulation owners. In fantasy, you draft a team of major leaguers from a pool of the top talent. In simulation, you have a very similar draft at the very inception of the league (in order to fill the rosters). Then, each year you have an amateur draft, just like Major League Baseball.
These drafts allow players to choose from a rookie crop of youngsters generated by the software model each season. Some rookie classes are better than others. Some prospects are studs while some are mediocre. Some will develop better than you thought—others worse. Where simulation drafts are really rewarding is when you draft a player, develop him in your minor leagues, and then watch him succeed. In fact, this one aspect of simulation is what I will base the rest of my article on.
After I took over a team in our simulated year 2000 (my original plans were to just act as Commissioner, but I adopted a team with an AWOL owner and dismantled it), I was inline for the third overall pick in 2001, our first rookie draft (our rookie drafts occur in the offseason). Right away, I knew who I wanted, and I got him.
Jack Gonzalez was a 21 year old catcher who was pretty much average in most aspects of the game. But Jack possessed two unique skills: a rifle of an arm and a bat with brilliant power potential.
Jack was sent to my Class A team to start the 2001 season (we have three minor league levels in my sim league). In 88 games, he hit 24 homers and drove in 58 runs while hitting .264 with a .873 OPS. He earned a promotion to AA. While in AA, he again hit 24 homers, this time in only 68 games. His average dropped to .250, but his slugging percentage skyrocketed to .617. His OPS was .934. He drove in 53 runs. For the two days of the season, he went to AAA, where he was 3-for-9 with a homer.
After hitting 49 homers at all three levels in his first minor league season, I wanted to see how my boy did with a full season at AAA. At this point, he was my top prospect and I had a very capable starter in Ben Petrick (.289, 12 homers, 61 RBI in 2001). There was no need to rush Jack.
My big league catching tandem of Petrick and Javier Valentiin was very good in 2002, allowing Jack to stay in AAA all year long. He showed he had nothing left to prove and blasted 57 home runs while driving in 138 in 159 games. He hit .269 with a .338 OBP and .596 slugging percentage (.934 OPS). Jack was ready.
At age 23, Jack was called up for the start of the 2003 season. Valentin departed as a free agent and Petrick would spell Jack and provide a solid bat off the bench, all while trying out some third base. Gonzalez, as expected, had some trouble with contact hitting, batting .230. He showed power potential, though, hitting 24 homers with 87 RBI. He even showed an element that wasn’t expected, stealing 11 bases. It was all a good start, but just a .285 OBP needed improvement and the low average brought his slugging percentage to just .399. Still, Jack ranked second in Rookie of the Year voting, collecting four of fifteen first place votes.
We hoped 2004 would build on 2003, but it didn’t. My team moved to our equivalent of the National League and the team average dipped from .272 to .247. Jack was one of the biggest offenders, dipping to just .193 with a .252 OBP and .373 slugging percentage. He did hit 20 homers and drive in 62 runs, but those averages were unacceptable. It was sad to see my homegrown “star” struggling like this. Alas, he was just 24.
The next season, Jack seemed to wake up a bit, getting his career highs in batting average (.234), homers (25), OBP (.309), and slugging percentage (.439). In a truly proud moment for me, he was selected as an All Star. At that point, he was just the second player ever created by the software to be an All Star.
In 2006, Jack gave me the type of season that makes a general manager proud. He hit .254—not stellar, but a career high again—and bashed 34 home runs. He slugged a robust .535 with a .312 OBP. His 26 doubles were a career high and his 82 runs batted in were his most since his rookie season. It is worth noting that Jack turned 27 in July of this season, essentially hitting his prime.
The team underwent a big change in 2007. After 2006, the team’s eventual Hall of Famer and franchise cornerstone Mo Vaughn opted for an early retirement at age 38. (It’s worth noting that MY Mo Vaughn had 2510 hits, a .295 career average, and 521 homers in his illustrious career). Vaughn homered 31 times and drove in 119 in his final season. His retirement sent the team into a tailspin and, eventually, a rebuilding phase.
During 2007, Gonzalez appeared to regress. He tied a career low with 20 homers and drove in a career low 53 runs as we fell from an 89 win team to a 72 win team. He hit just .224. Topping it all off, this was a contract year for Gonzalez. He was resigned at the beginning of the season for $1.6 million per season for six years. One thing to keep in mind is that the software’s financials look a little different than MLB’s. A good rule of thumb is that the software’s figures are about a third of what MLB’s would be, so Gonzalez was to be paid about $4.8 million per season—a bargain for a 34 homer hitting catcher, but a 20 homer, .224 hitter?
In 2008, he went from a .224 hitter to a .214 hitter, but he raised his home run total back to 25, making it a bit more acceptable. But still, it wasn’t enough. I was starting to wonder if Jack would get better. I was getting defensive of cracks on Jack’s hitting made on our league’s forums. One thing I did have was a great pitching staff all along, and Jack was one of the reasons. He was an excellent defensive catcher and always threw out a lot of runners.
2009 was an important season for Jack, as he turned 30 years old that July. The Battle Cats were a struggling franchise, but we got a boost when Jack got off to a huge first half. He was an All Star again for the second time. Unfortunately, his second half started off miserably. As we slipped even further, I did a lot of studying of our box scores and game logs. I found some interesting patterns.
I noticed that though I was resting Jack because his hitting was slumping, we were still losing. We actually seemed to do better when he was in there, whether he was producing or not. So I put him back in, and I put him in every day. He finished a bit better and posted a career high .255 average with 25 homers and 74 RBI. He slugged .459, his second best mark yet. And we won more.
It’s one of those things where you really don’t know how much goes into the software model. Astros pitchers love throwing to Brad Ausmus, so he always plays even if he’s not the best hitter. Could my digital pitchers feel the same for Jack? He seemed to have built the trust of my star pitchers. So, I decided to never take Jack out again.
In 2010, Jack started all 162 games of the season. He hit just .230, but he belted a career high 35 home runs and drove in a new career high of 103 runs. The season included his 200th home run.
We went from an 80 win team to a 93 win team. We won our first division title since leaving the old DH league. Though we were smacked around in the first round of the playoffs, it was a great step.
2011 was more of the same. Jack started all 162 games and we improved to 96 wins (winning the division again). Jack hit .234 with 34 homers and 100 RBI. We made it all the way to our very first World Series. Unfortunately, we lost both our top starters to injury in a dramatic 7-game LCS, so we were stuck calling upon a reliever, Billy Koch, to join the rotation. We went six games, but fell short. However, it was another big step for the franchise.
Gonzalez received one lone third place vote for Most Valuable Player. It’s not much, but it was another owner recognizing that while Jack didn’t post the average and OBP of some stars, he provided plenty that was valuable to his club. Teammate Billy Marty, a computer-generated star teammate of Jack’s, took the MVP award. The Battle Cats swept the awards that season (a league first).
I was starting to realize something. Jack hadn’t missed a game since August 25th, 2009 and we were about to start 2012. He had started every game since 8/31/09, as well. And we were winning like the old days. It was fun.
Then came 2012.
Jack was even better.
I’m the father of a toddler, so I’m not going to go overboard and say that watching what Jack did in 2012 is like watching your baby grow up, but man… I’ve experienced the sim baseball equivalent.
Jack was off and running right out of the gate in 2012. He had nine homers and 23 RBI by the end of April. Nice start, but I’d seen this before. He had just a .250 average in June (even that’s not terrible for Jack), but he gave us eight more homers and (get this) 29 RBI for the month. That’s 17 home runs and 52 RBI by the end of May. That’s okay… he’ll slow down at the All Star break, right?
Wrong. June came and Jack had his biggest month, hitting .309 with ten homers and slugging .778 for the month. He became an All Star for the third time. At about the statistical mid-way point of the season, Gonzalez had 27 home runs and 75 RBI. July came and so did ten more home runs and 22 more RBI. This was starting to get a bit crazy. Jack, with 37 homers, had already eclipsed his career high in homers. And there were two months left of the season.
In August, Jack “dipped” to eight homers, but hit .316. During the month, I decided to go ahead and extend him even though he was not due for a contract until the end of 2013. For $2.3 million per season (remember, about $6.9 million in MLB money), I had Jack signed up for five more years (six including 2013). He would be a Battle Cat through age 39.
Finally, in September, Jack showed signs of slowing down. He hit five homrers, giving him a grand total of 50 on the year. He hit just .238, but that only brought his average down to .275, still a career high. He still drove in 21 (meaning that in all six months, he drove in 20+ runs), giving him 141 on the year. He posted a .338 OBP and .590 slugging percentage, both career highs, and also reached new highs in hits (167), doubles (34), runs (97), and triples (4), while tying his high in walks (53).
In September, he also passed the 500 consecutive games started mark, simply remarkable for a catcher. His current totals are 515 consecutive games played, 511 consecutive starts. This season was also his tenth straight 20 homer season from the start of his career, a feat no other computer-generated player in the league can boast.
In addition to his gaudy numbers, Gonzalez posted numbers with runners in scoring position of .301/.343/.613 with 12 homers in 163 at bats. His Close/Late numbers were .311/.373/.622 with 6 homers in 74 at bats. These numbers, and his league leading home run and RBI totals, helped him win his first Most Valuable Player award. Gonzalez was named first on twelve of the twenty ballots. Needless to say, I was ecstatic.
We won our third straight division title and tied our club win record of 98 (originally set back in 2003). After dropping the first two games of the LDS, we unfortunately found ourselves with our backs against the wall in the playoffs. Jack had enough in him for one more dramatic showing. We pulled off Game 3 on a 2-run ninth inning homer by Jack’s teammate, Billy Marty. In Game 4, with our season still hanging by a thread, Jack hit a pair of two run homers to power us to an 8-0 win. However, we dropped Game 5, 3-0, ending what should have been a much better season.
As we’re heading into 2013, Jack’s 11th season with the club, he is 33 years old and is starting to build some impressive career totals. He is only batting .235, but with 1229 hits so far, he seems to have a good shot at 2000 (especially with playing every day now). He has 292 homers, making 400 for his career seem very likely. If he keeps hitting homers at a 50 homer pace, of course he could get more. He is under contract for six more seasons. If he averages 30 in those years (a dropoff of 20 from last season), that would put him at 472. Can’t complain about that.
This article was not meant to be a biography of Jack Gonzalez. But I think his story really illustrates my point about baseball simulation. In fantasy baseball, there certainly is some sense of pride if you draft a Justin Verlander and he dominates. But how much pride can you take? It was the scouting director that found him and the general manager that drafted him to the pros, not you. With simulation, you can take more pride in this because you did it yourself. Nobody did the dirty work of getting the player to the big leagues besides you.
There are many reasons why I prefer baseball simulation over fantasy baseball. But I have to say that #1 on the list is definitely Jack Gonzalez, and all that goes along with him. He’s my baseball pride and joy—the guy I’ve brought up. Can you get these types of feelings in fantasy baseball?
I never did.
2 comments so far. Wanna add one?