Archive for the ‘Development’ category

StackOverFlow

July 30, 2009

StackOverflow

During programming, in whatever language, there is one thing I regularly do: Google (the verb). There are not too many problems nobody else ever faced. When looking for the answer on a given problem you come across all kinds of sites, but during the last few months I noticed a new site : http://stackoverflow.com/. Not only did it keep turning up, it seemed to always have the right answer.

Next thing I noticed was that one of the (most interesting) bloggers on my blogroll, Jeff Atwood, was actually one of the co-founders of this site, so I decided to sign up. Two weeks later I can only say I’m glad I found this website. Within a year of it’s creation it has turned into a great gathering place for all kind of programmers, and thanks to it’s badge-system most questions are very quickly answered in a very good way. There is a lot more to the site, but you can find that out for yourself, I’d recommend browsing through the most popular questions.

It’s very hard to believe that you can have a good new idea for a programming website in 2008, but they did. And they made the website, congratz for that. But not only did they make the website, they also made it work. Because like explained in this great post, sites like this “can be thrown together in a weekend.”

Different kind of site than SoccerProject, but I’m quite sure we share a few frustrations…

Expenditure limit

July 11, 2009

It doesn’t happen too often, but this time I only got positive forum reactions on the latest change in SoccerProject. Quite a relief acutally 😉

My aim for this particular feature was not only to prevent new managers from spending all their money at once, I also wanted to make life a little harder for cheaters and even slow down the injection of money in the economy by short-life managers. It actually took me a while to find a good and simple solution, but I think this must be the simplest option available. I don’t mean programmatically of course, it’s much more important be easy to understand for a (new) manager.

I always try to stay away from complexity, most of the time simple solutions are simply the best. At first I wanted to gradually increase the budget of starting managers. By means of pre-announced money injections, they would see their budget slowly grow. I wasn’t sure however of how many messages and injections would be ideal in this case. We surely don’t want to overload a new manager with all kinds of info.

Then I figured we could simply create an expenditure limit on transfers, depending on the time a manager has been a member of SoccerProject. I started out by creating some (complex) formulas on how to calculate the weekly raise for the limit. Luckily I then noticed, it would be much simpler to simply use the number of seconds a manager has been on SoccerProject. That meant a very easy check in the code, and a very easy-to-understand solution. That is also the reason the limit will grow by EUR 604 800 each week, there are 604800 seconds in a week.

There is also a nice (imho) little side-effect. Each time a manager tries to make a transfer that limit will have grown. In other words it’s a live-limit and managers will be able to follow the growth. I hope some managers wll like that about it. If not, you can safely ignore this closing paragraph 😛

New layout SoccerProject E-mails

June 26, 2009

I’ve said it before : “You never get a second chance to make a first impression”…

SoccerProject sends out a lot of E-mails. Subscription, Password reminders, Inactivity reminders, etc. Up until now, all our E-mails (except for the match reports) where sent in simple plain text. Simply very dull in fact. But now ReesinG has rewritten some code and we are able to send HTML-mails, which look a lot better.

New E-mail Look

Personnally I think this looks a lot better and I hope we’ll make a better E-mail impression in the future.

Player names

June 15, 2009
Long name

Long name

I really couldn’t believe my eyes when I noticed it. Apparently all player, staff and referee names in SoccerProject were limited to 16 characters. This might have been enough for most Belgian names, but for other countries this meant that a lot of names were chopped after the 16th character. The fix took me only a small hour, what a shame we didn’t find out earlier.

Custom Facebook URL

June 13, 2009

Allthough I’m not really using my Sjarel Westel – Facebook account, I did take this morning’s opportunity to get this great URL : http://www.facebook.com/SoccerProject. Maybe it will turn out to be useful in the future, but for now I’m sure nobody else will take it …

SoccerProject archives

April 19, 2009

Over the last few years, we have collected millions of SoccerProject-games with all kind af data for the team squads, individual orders, tactics, etc. Our database keeps growing, while a lot of those data from the past are no longer of any interest to anyone. That’s why we now created a script to systematically remove all obsolete data.

We are now running this script in the background, for each of the past seasons. This has been the reason why some simulations took a little longer than usual. We realize this is not ideal, but it’s a one-time-operation and should be over in a couple of days.

Some bugs can be hard to spot …

March 31, 2009

It won’t be too long anymore before SoccerProject can celebrate it’s first lustrum. It’s hard to imagine, but we still find bugs in the code that has been used for so many years now. Thousands of managers use it on a daily basis, and yet we have to keep fixing minor to major bugs.

Some time ago a manager reported he bought a player, at least he thought he did. The money was taken from his account, but the player seemed to have chosen for another club. After some investigation, I found that this could happen when two managers wanted to buy the same player at the exact same moment. I guess this is a late bugreport for the introduction of the Instant-Buy-Price. Before this could never happened of course.

Anyway, it took a while, but now this very annoying bug has been fixed.