måndag 7 december 2009

First Steps... (oh that is truely cheesy)

I've managed to clean up the Steps code a little bit. It is now possible to use the SampleTrackerSite to upload, download and search for torrent files. The Peer tracking also works, however it is not able to respond with the compact peer list, i.e. it will always respond with a bencoded dictionary for each peer. I'm going to add the compact response next. In addition I will move the model to use JPA instead of the built in Mapper stuff. That way Steps will be able to run on GAE, which I think would be nice...

Next post I will attempt to do a short presentation of a feature I like in Scala. It will either be case classes or mixins. But, I'm not sure I use mixins "correctly" ;)

PS. If anyone try to use the Steps code please send an e-mail, especially if there are any issues (I'm sure there are several I overlooked). Oh and Steps can be found at http://github.com/archevel/Steps!

måndag 23 november 2009

Ubuntu saves me again...

So I managed to screw up my boot loader when I wanted to try if a game I play ran better in Win XP than in Win 7 (there was some graphics lag issue). Anyhow, I always have a live ubuntu cd lying around for such circumstances and it saved me having to reinstall my entire system yet again.

In the end I disabled the booting from my primary drive in the OS and let Win 7 repair the damaged bootmanager. So now everything (almost) is back to it's original state... but I think I'll throw back GRUB and let it handle the booting for me :)

And again... ALWAYS keep a live cd of some linux distro at hand!

fredag 13 november 2009

It's on github

I've created a public repository on github to host the code for my Scala bittorrent tracker. As for now I have decided to call it Steps. A tracker follows steps, a "Scala" (stair in italian) has steps, however Lift (the webframework that Steps uses) lacks it... so Steps is a nice name.

The git repo can be found here:
http://github.com/archevel/Steps

Right now the only usable code there is the Bencoder, which can be used to decode a Byte array of bencoded data into Scala objects (SortedMap, List, String and Int) and encode them back. I have a working Tracker implementation, but I want to clean the code up a bit before committing it and try to get some more tests together for it. Real soon now :)

Ps. I forgot to say that you can also find the repo by searching on google for "scala bittorrent steps" currently it's the 10th hit Ds.

onsdag 11 november 2009

And he is asleep...

Now that Sebastian is taking his afternoon nap I have time to do some coding. A couple of month ago I attempted to hack-away with my son in my lap. It was not an experience which captured the imagination of my then 8 month year old son. Nowadays he seems to prefer to stand up beside things... who am I to judge? I enjoy coding in my spare time, he likes to stand. I suppose the standing thing is in most cases more usefull.

What am I coding then? Well, I have made a bittorrent tracker written in Scala and using Lift. Lift is a nice framework, fairly easy to get into (if you have some form of book or guide). The hardest part I think is getting used to code in Scala. I'll post some nifty language features later.

Building a "Koja" with Sebastian...