Archive for March, 2007
I forget exactly when the project was started, but monitoring started a year ago. Thus I shall reminice:
Originally, a bunch of people in an IRC channel I hang out in decided to play Travian. As there were about 20 of us, keeping track was a pain, so I decided to make a map. This first version of the map was an SVG file drafted in Inkscape, edited by hand, and saved as a PNG image.
Pretty soon I got bored of updating by hand, and started looking for a way to automate things. Thankfully, the travian creators decided to be awesome and give out a dump of part of their database \o/ I put it into a local SQLite database so that it could be searched easily. Seeing as this was just a 5 minute hack that nobody other than myself would ever use or even see, I decided to use PHP to write the front end…
After a couple of weeks of adding features, I noticed that it could be useful to other people, so I posted about it on the forums. It ended up being quite popular, and I got several feature requests~ I also added support for other servers, and from there, to other languages. Having people offer to help with translation has been very motivational — It’s nice to know that people care about the project~
Talking about other languages, an interesting note on culture; when an American server is added, I get bug reports along the lines of “Type: Defect // Priority: Critical // The new server was added 3 hours ago, why is it not on travmap yet?!”. When a European server is added, the report is more like “Type: Enhancement // Priority: Minor // There is a new travian server at s2.travian.foo, please can you add it to your list? Thankyou :)”
Another few weeks later I had broken all my web serving records; I was serving tens of megabytes per day, and my server was melting — getting a P2 200MHz box with 64MB RAM to search through 200MB of database several times a second was painful. Switching to highly indexed MySQL made things better, but still bad. I ended up buying a load more RAM, ending up at 256MB. This was OK for a couple of months, until the database grew to be again too large to fit in memory… It got to the point where it was being queried faster than it could respond, so it got slower, and things stacked up exponentially — load average broke 60 within minutes of apache being started :-/
Eventually I gave up on self hosting, and moved across to dreamhost — thanks to the wonders of overselling, they had tons of spare processing power, memory, and bandwidth. Aside from datacenter problems, they’ve been pretty cool.
Since then, growth has been pretty steady. The database is now over 500MB, going over a hit a second at peak times (That’s quite a lot of traffic, nearing a gig a day now…). I also notice that dreamhost moved me to a different database server without telling me :|
Also I figured that with 10,000 visitors per day, there ought to be some way of making some money out of it — putting up a “please pay for my hosting” link earned me a grand total of $5 ($4.50 once paypal took their cut) from one guy — to this day, the only money I’ve made directly from programming ^_^ About a month ago I put some ads on the site to see how effective they were, and since then I’ve made enough to cover nearly half of that 256MB RAM I bought so long ago — another 3-4 months of the same earnings, and I’ll have got as much money out of the project as I’d put in XD
Overall, it’s been a fun year — I’ve learned lots about caching and optimisation, and how much PHP sucks (I *really* wish I’d written it in something else, I didn’t know it’d get so big…); I haven’t actually played travian for a few months now, I’m just sticking with the project because it’s enjoyable~
I forget how I was going to end my rambling, so I shall do so abruptly. End.
Posted March 15th, 2007 by Shish, in software, stats, tech, web
Yay for taking a week to write up…
1400) Arrive at Kitty’s house, find nobody there. After much wandering round looking, she comes cycling into the garden — the T-Shirt printing company, who’d been told to get some done by that morning, had decided that they couldn’t start until they had a signature; and they hadn’t told her about this until she phoned up to check that they were done…
1600) T-Shirts finally printed, we run for the train, and get to the platform just as it leaves
1615) Next train, off to Ashford International~
1700) Having passed customs and such, the Eurostar leaves. Much training happens.
2000) We arrive at the hotel. They seem to have a thing about a pissing boy…
2100) We went to the LeRoy for supper. Being Belgium, who’s languages are French and Dutch (not Belgian, as I had always thought…), wfk ordered in Dutch, Mike ordered in French, and the rest of us in English, though Kitty was in the habit of saying “Danke schon” a lot… I had the only things I recognised, meatballs in tomato sauce. These were, by far, the best meatballs I’ve ever had — I ended up stopping after each bite to wait a few seconds just savouring the taste… For pudding we had Dame Noire; chocolate icecream with chocolate bits covered in cream covered in chocolate sauce; which was also nice. We then had much misc beer, and I can’t remember what we talked about (Except gezpacho soup :P).
1100) Go for tea in some random place, decide where to go. We found a guide full of much pisstaking, and followed it to…
1200) The Atomium. Belgium’s equivalent of the Eifel tower, apparently; it’s made out of several huge metal spheres making a model of an atom. It was in a state of being rebuilt while we were there though :| We saw a video of how it was built originally in the 60s, with the workers having absolutely no safety equipment. Those guys must have had balls of steel to build that place… It also had fridges and a nice view.
1730) Back to LeRoy for drinking. Here is where I first met Tolman(sp?), one of Kitty’s belgian friends.
1800) We decide that seeing as there’s nowhere to sit in LeRoy (this was “the FOSDEM beer event”, and it was totally packed), we’ll go elsewhere. We try and take several random people with us, but the only one who manages is Mike, who gets a cute girl~ We then go for pizza and more talking.
1900) Back to LeRoy, it’s still full, so we go to another pub /o/ Tolman introduces me to a beer called Gueuze, which is lovely. Unlike the english beers, it tastes nice *and* has alcohol :O People shuffle around, and I end up next to Bettina, a nice German girl who’s living in Belgium, and is only here because her FOSDEM-attending friend needed a place to crash. Apparently I spoke more to her than to everyone else all weekend put together, but I didn’t notice. Possibly drunk.
2200) Bettina suggests going elsewhere; we get outside and ponder home vs a bar with more music; most people go with the first, as I would have done, had Mike not pushed me towards the latter… I am most thankful for that, as that evening with Bettina was most entertaining ^_^
2500) I get Home. wfk and Kitty collaborate to tell me the history of unix as a bedtime story <3
1000) Wake, metro, bus. Trying to navigate the crowds at the uni was hard…
1100) Arrive mid way through the OLPC talk
1400) I go to an Xorg talk, which seemed interesting, but my student instincts of “I’m in a lecture theatre, must be bedtime” took over :(
1500) An AIGLX talk; the guy from Red Hat got a round of applause when his laptop managed to boot, after 15 minutes :P
1600) Linux Kernel talk with Andrew Morton
1900) Dinner at some random place with random people
1100) Debian internals
1300) CACert signing
1500) Secure jabber
1600) Debian auto-install
1700) A talk on the GPLv3 from some FSF guy; I found it terrifying. The speaker was young, had a german accent, with a crew cut, and was talking about how the enemy were weak and now is the time to crush them. Much spreading of blatantly biased propoganda was done…
1800) Dinner with just our group
1900) We go to the bar opposite the real-life mannequin-pis
2200) Be very drunk. Most of what was discussed in that pub will stay in that pub. Inspector Gadget was played on the radio, in French… There was much talking of war and geography too. Once we were quite drunk, 3 of the group started trying to work out how to get in bed with a girl at the bar who didn’t speak english… Once we got out, Mike gave me a fireman’s lift down the street~
2300) To bed, for misc drunken chatter.
1000) Mike had a hangover, but everyone else was OK, which isn’t what I would have predicted…
1100) Train back to England; much like thursday morning in reverse. I arrived home knackered, with an hour to go before an exam \o/
Posted March 4th, 2007 by Shish, in event, pimp, reallife