– Fantasy Stat Tracker …Tracker

A blog about the development of – The Fantasy Baseball Stat Tracker

Posts Tagged ‘blog’


Friday, March 26th, 2010

I haven’t posted about any changes for a couple days, but there has been a little going on. In my defense, I started a “Road to the Show” career in MLB 2010 The Show, so I MIGHT have been spending a little more time honing by batting skills than publishing about changes.

On the fixes side, there were some issues around gathering players and adding them to Those have been revised now, so any player on a 40-man roster should be showing up (and then some). If you don’t see someone that you want on your team, post a comment or let me know.

There is an outstanding issue with rookies, though. I think I’ve narrowed it to the stored procedure that saves player stats, but all rookie pitchers show a blank (no zeros, no stats, completely blank) stat line regardless of their performance. This is next on the list of things to fix.

Next up, when players were being collected from, they were added to the official “Major League Baseball” owner’s teams if they didn’t currently exist on the appropriate roster. They weren’t, however, being removed from their previous team if they had been traded or were a free agent (rather than a rookie). This never seemed to come up last year, but there code I changed to fix the problem hasn’t been touched in nearly a year, so I’m not quite sure the root of the problem. Hopefully it is resolved going forward.

On that note, keep in mind that you can follow any MLB team’s stats by adding the owner “Major League Baseball” to your friends. That particular owner has all 30 teams with rosters that are automatically updated to have all the latest players.

Among new features for 2010, there are three more items I hope to get out by opening day (or very shortly thereafter):

  1. Apply the new theme to the …Tracker blog
  2. Implement Lucene for Add Player searches
  3. Create a Season-to-date view of a team’s stats (cumulative for the season, not respective of adds/removals during the year; this was a request from a Strat-o-matic owner–hopefully others will find use in it)

Opening Day is barely a week away!

Welcome to 2010!

Wednesday, March 17th, 2010

Welcome to the new release of  for the 2010 season! Most noticeable is a completely re-vamped visual theme. This theme will be ported over to the Tracker …Tracker in the coming days, but for now it just lives on home page home page

Other 2010 additions include:

  • the industry friends search now utilizes Lucene for search intelligence
  • drag-and-drop players to and from your bench
  • the Zend framework is installed on the server and being used at various places on the site
  • the sign-up and log-in forms have been combined to offer a quicker, easier experience
  • you can select from a series of major league ballpark  images for your background
  • new user accounts default to a “public” state so everyone can find their friends when they sign-up
  • invite as many of your friends at once as you’d like
  • …Tracker updates pulled directly into your Dashboard

Each of these additions will be described in more detail in future posts. For now, please log-in, poke around, and enjoy the new!

As always, if you encounter problems, email me or comment on an appropriate post.

2010 Launch

Tuesday, March 16th, 2010

Tomorrow (3/17) evening I plan to launch the 2010 updates for Launch will probably commence around 10pm Mountain time. The launch will replace the entire code base with a new iteration. This will likely result in at least a few minutes–and as much as a few hours–of downtime.

I will blog and tweet (@kilgusTracker) updates to announce when the launch is completed.

In addition to the updates, I will be publishing a series of blog posts to describe the changes and how to use the new features of For current users, you will find the interaction mechanisms to be very familiar. A new visual style is the most disruptive change. As the season progresses I’ll be getting back to refining the functionality of the tool

Tracker Styling

Tuesday, June 2nd, 2009

No functional updates to today–only asthetic updates to the Tracker Blog. Most of the styling changes are focused in the right rail. It no longer looks like the completely neglected navigation bar of a Developer. It now looks like the less neglected navigation bar of a Developer who is obviously not a Designer. Also some small tweaks to the meta-data elements of blog posts. All changes are completely CSS-based. There have been no mark-up changes.

Double Headers and Postponements (and more avatars)

Tuesday, May 26th, 2009

As I noted last week, making handle double-headers and postponements better was a priority for this week. After doing some fun work with avatars yesterday, I dug back into the guts of the app today. now checks for two games worth of stats for each player, each day. There is a particular pattern for the URL to gather a player’s stats, so the stat gathering process now checks for that pattern for both “_1” and “_2” games (games 1 and 2 of a double-header, respectively).

Checking for the second game is handled in the same manner as checking for the first game: first we check if the file exists, then we check if it was updated since we last collected it, then (if the previous two conditions pass) we collect the data. Hopefully this means we won’t see a noticeable slow-down in the performance of gathering stats.

At this point, all I can verify is that the code doesn’t break with the new additions. We’ll have to wait for an actual double-header before we know if the additions actually work or not. I know the Rangers have one on Friday, so I’ll be paying close attention to see how things go. Please be fore-warned, though: if something is wrong with my updates, it will become apparent on Friday. If I notice any peculiarities, I’ll post a note here on the Tracker describing what is happening.


Postponements have been another pain-point for some users. In scanning the data coming from MLB, I believe when there is a postponement the data for players involved in the game are removed from the server. If this is true, the recent effort to schedule regular checks on player stats should, theoretically, address this issue. When stats are checked early in the morning, should notice that stats for any player involved in a postponed game are missing and correspondingly clear out that player’s day. This probably will happen before boxscore emails are sent, but likely won’t occur immediately after a postponement is called.

If I am wrong and MLB does not remove the data for players involved in a postponement, I’ll need to add some further logic. The Linescore file for each game notes if there is a postponement, but it is done through a text field so I’ll need to extensively research all the possible terms they could be using (postponed, postponement, cancelled, delayed, delay, etc.) before I can start checking for them. Because that will be significant work, I’m going to put off that effort until I’ve verified whether the previous described mechanism is working. Should it not be, please bear with me.


Last night I posted briefly on the addition of avatars for Users and Teams in To elaborate a litte, the avatars are used exclusively on the Dashboard at this point and consist of a pre-defined set of images. My goal with the avatars is to help make more scannable. I think the first step (the dashboard) has been successful. I hope to pull those avatars into other areas of the application where they could be helpful. Activities around finding, approving, and defining permissions for other Owners in Industries are an obvious opportunity.

To implement avatars I added a table (to store the default images) and a couple of columns (to associate avatar filenames with Users and Teams) to the database. This structure will allow me to define avatars that any User can choose from (basically, those you see as options right now) and allow for Users to upload their own avatars without exposing them for other people to use. Until I build-out the file upload and image manipulation mechanisms, the only options for avatars will be those I draw and add. Once those mechanisms are built, you’ll be able to upload your own avatars.

The biggest obstacle to being able to use your own avatars is the image manipulation that will need to be done when files are uploaded. is using two sizes of avatars: 48×48 pixel images for Users/Owners and 32×32 pixel images for Teams. For the sake of consistency, all uploaded images will need to be re-sized to fit the proper dimensions. I think I should be able to handle that with manipulations and masks using ImageMagick. It is not something I’ve done before, though, so I imagine a fair bit of trial-and-error.

Minor Improvements

Monday, April 13th, 2009

A bunch of little improvements today that will  hopefully make life a lot easier on First–and most importantly–I think I have finally fixed how is gathering Win, Loss, Save, and Hold data. Since adding holds a few weeks back and tweaking how those categories are gathered, the numbers had been very inconsistent. Sometimes they would seem correct, sometimes empty, and sometimes it looked like season totals instead of daily ones. After digging around in the method for almost an hour, I finally I identified a missing character that was causing the SQL insert to fail in one of the three options for saving data. That’s been fixed and all the numbers are looking more accurate now. Hopefully that will keep up.

On the Dashboard, I’ve removed the alert message describing the new Dashboard. In its place there is now a “What’s This?” link in the My Industry column of the page. It links off to the blog pulling up all articles tagged with “social networking”. Hopefully that collection of articles will amply explain what Industries are.

Also on the Dashboard I added a link to determine which of your Industry teams you want to view. The idea is that you may have been given permission by others in your Industry to view teams you might not care about (for example, if you join the Major League Baseball Teams Industry, you’ll have 30 teams to view). Rather than having an enormous list of teams, you can now restrict the teams that display to those that are of most interest. Of course, at any time you can go back in and change those preferences.

On a related note, the team selection drop-down in the top-right navigation now includes sections for both My Teams and My Industry. Like on the Dashboard, only Industry teams that you have selected to view will display in the drop-down. You can now use the drop-down to jump straight to any team you can view with one click.

Two Days of Updates

Thursday, April 2nd, 2009

I quit working too late last night to post about the updates, so I’ll cover a couple days’ work now.

The biggest visible change was an update to the top site navigation. Previously, after logging-in, if you visited the home page or Tracker blog, there was no way to return to the system without logging-in again. Obviously, that was inconvenient. The home page and blog now both recognize an authenticated session and will display a new navigation link (that exists throughout the site now) to visit the Dashboard. This will get you back “into” without needing to log-in again.

The other big functional change is on the Add Player page. After receiving a report that adding a player was causing an alert in Firefox, I dug in to see what was happening. Unfortunately the alert was simply a slow script notice, not an actual error. What I ultimately determined was that the cumulative stat bubbles that I added the other day were causing an odd JQuery loop when the page is unloaded. Rather than trying to dig into JQuery to see what the problem was, I determined it could be alleviated by reducing the number of instances of the stat bubbles on the page. So the Add Player page now features pagination! Search results will be displayed 50 at a time with pagination links at the bottom of the page. This leads to quicker load times of the page, as well, so it seems like an improvement all-round.

Complicating the new Add Player pagination is the position filter. That filter literally filters down the players shown on the page, based on position.  All it really does is turn off the display of players that don’t match the filter. So, previously, changing the filter to a specific position would cause a display of all players at that position. Now, changing the filter will only show the players among the currently displayed 50 that match. This seems confusing to me, so I think I will need to re-write how it works.

On a non-visible vein, I’ve incorporated the functionality to allow Users to view other Users’ teams. This is a precursor to the social-stat-tracking concept I’ve been discussing. There is no interface to share your teams with other Users yet–the relationship has to be manually set in the database. There is a new relationship type, though. Originally a team only had one User related to it: the Owner who had total control to do anything with the team they wished. Now there is a Viewer User type. This User type can only view the team. They cannot change the team name, delete the team, add players, remove players, bench players, or change the team’s stats. I’m hoping to waste a good chunk of time this weekend working on social-stat-tracking. With a lot of luck, I’ll have something working by opening day.

On a reality-strikes front: the iPhone web app won’t be ready for opening day. Once life settles down a bit, I’ll try to get back to it later this Spring or Summer.

2009 is around the corner

Wednesday, January 21st, 2009

With 2009 Spring Training fast approaching, I’ve begun work to improve the Fantasy Baseball Stattracker for the new season. As you’ve probably already noticed, the Stattracker has a name:! There is a brief overview of where the name came from on the site. I’ll likely move that over to the blog eventually.

Besides the name change and subsequent move to, there are a number of back-end upgrades already in place.

  1. The database has been upgraded to a newer version that allows for stronger password encryption.
  2. A new login script has been added that takes advantage of the stronger password encryption so as soon as you log in, your old account will be upgraded with the new encryption.
  3. This blog is now running the latest WorkPress – 2.7. Between the upgrade and the server change there were a few hurdles to overcome, but I think everything is up and running.

Among the front-end changes I anticipate before the 2009 season starts are improvements to the account sign-up process, SSL implementation of the sign-up and log-on processes, and an iPhone-optimized web application. I’d like to build a real iPhone app for, but with no budget I probably won’t try to tackle the $99 iPhone developer fee.

If there are other improvements that would make the site better for you and your friends, please post a comment and I’ll see what I can do.

Here’s to an exciting 2009!

Yes, this is still the same blog…

Monday, June 2nd, 2008

As you have certainly noticed, I am finally applying a unique theme to the Fantasy Baseball Stat Tracker blog. The theme is nearly identical to the Fantasy Baseball Stat Tracker with a few additions as needed to handle blog-specific elements. The biggest variation from the Stat Tracker is the 2-column layout using a wide left column and thin right column. I don’t have any intention of re-using this layout elsewhere, but at least I’ll knows it’s available should I need it.

One other minor change: the title. You’ll notice the blog is now named the “Fantasy Stat Tracker …Tracker” rather than just the “Fantasy Stat Tracker.” Not a big deal but I thought I’d toss it out there.

Please bare with me as I work on the blog styling. I’ll try not to destroy any of the functionality as I work, but this is my first time styling a WordPress blog, so who knows what could happen.