-
Clean sheets and locked games
Two small features were added to Score Keeper this evening:
-
You can now lock games if you want to prevent users from adding matches. This is useful if you have games such as “Foosball, January - March” and want to make sure users don’t add matches to the old games.
-
Score Keeper can now keep track of clean sheets (games where one team doesn’t get any points) which are called out in the events block. Enable this in the game settings.
Other than that, I upgraded Rails to 2.3.5 and fixed a bug with the caching that caused “Matches played per day” to not update “Today” to “Yesterday” and so forth until a new match was entered.
-
-
New Drupal module released: Blogtoppen
Rasmus Bang Grouleff, an allround nice guy and former colleague of mine, released a WordPress module on November 15 which outputs the JavaScript tracking code for Blogtoppen.dk.
After reading his post announcing the module I saw no option but to create a similar module for Drupal. This module is now available for download at http://drupal.org/project/blogtoppen.
To get started, go to blogtoppen.dk and register you blog. Then, go to http://yourblog.com/admin/settings/blogtoppen and enter the tracking code you received. Blogtoppen updates stats instantly so can make sure you installed and set up the module properly by verifying that their numbers update when you visit your blog (NB: tracking is turned off for uid 1).
-
Performance improvements
This weekend I spent some quality time with Score Keeper working to improve performance.
First of all, memcached was installed and the dashboard is now cached. This lowered the execution time for that page by an order of magnitude from about 300ms on average to 25ms.
All icons are now in a single CSS sprite which is further optimized by running optipng on it. That way, all icons and the logo are in the same 7kb file which saves 10 HTTP requests.
Ruby on Rails was upgraded to the latest version 2.3.2, which saves memory and has a bunch of optimizations of its own.
Other than that, I did some small tinkering, such as moving the Google Analytics javascript below the page’s javascript, which means that e.g. table sorting is operational about 1 second faster.
A lot of code was moved around and rewritten during this process, so let me know if you discover any bugs, new or old.
-
"Killed" when running gem install or gem update
Earlier today while moving Score Keeper to a new server, I ran into a hurdle with RubyGems. When I ran the command gem install rails -v=2.2.2, I got the following response:
Bulk updating Gem source index for: http://gems.rubyforge.org KilledI searched Google and found a couple of suggestions, none of them helping me. It then dawned on me that it’s been a while since I installed RubyGems on that server, and sure enough, gems -v reported that I was running RubyGems version 1.1.
This is easily fixed by downloading the latest version of RubyGems from http://rubyforge.org/frs/?group_id=126 which, at the time of writing, is 1.3.1. Unpack the file, go to the directory where you unpacked it and run
sudo ruby setup.rb installThis fixed the problem. YMMV, of course.
-
Score Keeper is moving
Due to the horrible performance on the server lately, I will be moving Score Keeper to a new server today.
I will shut down the current server before moving to make sure that no data is lost in the transfer. You could use old-school paper to record played games until Score Keeper is up and running again :-)
Update: The move is now complete and the DNS changes seem to have propagated.
-
Support for multiple games per account
It’s been about a month since my last post and a lot has happened in Score Keeper land.
Perhaps the biggest change is that Score Keeper now supports multiple games per account. Also, these games can have 1, 2 or 3 members on each team. Implementing this required ripping out a lot of code and re-implementing a lot of existing functionality, so Score Keeper has been unstable for a couple of weeks. Things seem to have improved a lot lately, though.
Other than that, I have made a lot of small changes, fixed some bugs and improved performance.
A couple of tables now have sorting. This means that you can choose to sort by games won, winning percentage, etc. on the dashboard. Also, the team mates table and Teams now have sorting.
Score Keeper now supports time zones. If you set your time zone under Profile, all time stamps will be shown in your time zone.
The match list shows up a lot faster now. Previously, the match count (used for pagination) was fetched through a nasty query, taking more than 5 seconds to perform on some accounts. This is now saved on the Game model so no extra queries are needed.
Go to http://github.com/larssg/score-keeper/tree/master for the source and a full source history or sign up or sign in at http://scorekeepr.dk to check it out.
-
New features in Score Keeper
I spent a couple of hours on Score Keeper yesterday and made some changes.
A new column was added to the ranking table showing which position the user had a week ago. An arrow indicates whether the user moved up or down.
Also on the dashboard, teams in Recent matches are now sorted so that the winning team is always shown to the left. This is also the case under Matches if no filter is set.
Below a user’s ranking chart you will now find a list of team mates along with details such as winning percentage.
Finally, I fixed an error with pagination on the Matches page and made the account settings and user settings pages a lot nicer.
Remember that comments, bug reports, feature requests and patches are very welcome, as always.
-
Score Keeper
About a month ago, I “released” Score Keeper at www.scorekeepr.dk. Simply put, Score Keeper is a web app for keeping scores, rankings, etc. for matches.
As you’ll notice very quickly if you go to scorekeepr.dk, it is pre-alpha. Certain circumstances made it necessary to release earlier than planned, but on the other hand, the early release allows me to get some feedback on it.
Score Keeper was developed to keep track of Table Soccer (or foosball) scores, so at the moment it only supports one type of game per account and only supports two-on-two games. I plan to fix this soon as it is probably the most requested feature.
Do give it a try - and please tell me if you have any feedback, find bugs, etc. Remember that you must add four people before you can add a game.
You may also checkout the code and submit patches (hint hint) - it is available at http://github.com/larssg/score-keeper/tree/master. You’ll find the issue tracker at http://larssg.lighthouseapp.com/projects/8262-score-keeper/overview