The best bittorrent client

I have been looking for a decent Bittorrent-Client.

While the official one is quite nice for not-that-large files, its disadvantage of not being able to limit the upstream-bandwidth becomes deadly with large files: All connections I currently have access to for running bittorrent have a much smaller upstream than downstream and a saturated upstream will eventually kill off the downstream (as you most likely already know)

So I went looking and here’s what I found so far:

  • BitTorrent EXPERIMENTAL download client: quite similar to the official client, but with the desired upload-limiting-feature. Unfortunatly quite out of date. I haven’t tried it out because of that.
  • ABC [ Yet Another Bittorrent Client ]: written in Python – supports more than one torrent in one application window. While it has quite a decent feature set, it has a terribly geeky user interface (not necessarily a bad thing) ande it crashed on me about four times in just 12 hours, so I can’t really recommend it
  • Azureus: Written in Java, but nice-looking (thanks to SWT), fast and with an extremely comprehensive feature-set. I can’t just say a lot about its stability – the featureset (especially the cool graphs) have amazed me so much that I deceided to post this entry here…

Azureus is now about the third Java-Application I know of that not only works, but works so well that I recommend it over native counterparts (the other ones being jEdit and Eclipse).

I really think it’s time to rethink the “java-is-crap-for-the-desktop” saying that was so incredibly popular the old days. Actually I do think that Java slowly begins to become a real alternative.

I mean: If you just stop thinking about the difficult (for end users) installation of the JRE and the (till now) slow speed, Java indeed has some advantages which make it the tool for desktop developement: It’s platform independent (ok… nearly – at least the major ones are supported), it’s (quite) easy to work with (I don’t like it very much myself, but it’s definitely much easier to work with than C, for example) and it has a very convinient memory management which makes it a bit more secure than your standard C-application (speaking of Buffer Overflows for example).

In short: It’s the optimal toolset to build applications for the desktop where a lot of features, fast developement and high security (unconcerned users, not admins are working with the software) are the key to success.

I really think that the big time for Java is just coming, not fading away.

Save query

By the way: The Gnome guys are the ones trying to simplify everything by removing “interface bloat”, if I remeber correctly.

Then please explain me what this “If you don’t save changes from the last 23 seconds will be definitively lost” in this dialog box has to say? I mean tracking this value costs a little bit of performance, putting it on this message uses valuable screen real estate and thus makes the dialog less readable and finally the thing has no real value.

What if I’ve opened the editor an hour ago to enter some temporary text snippet and then forgot it and now that I’ve finished working I’m closing my apps down.

The counter would be insanely high, suggesting a lot of unsaved changes which is neither correct nor are the changes valuable.

What if I’ve fixed a important bug in my program code by just changing one line which takes me about two seconds to do. Now the counter would be low but the changes would be very significant.

What I want to say: This counter has no real-world value. It’s just a geeky thing. Not that I don’t like geeky things, but adding geeky bloated things to a GNOME application seems quite hypocritical.

Doing something like: “You have quite a lot of unsaved changes in this document. Are you really sure?” (appearing depending of the real size of the changes, not the time you used editing) would be friendlier and more useful but – of course – would mean an even bigger overhead for tracking it.

But then again: I think, this message is read about once. Every later time, the user knows what it says and presses the buttons without reading. So it would seen to be better just letting the message be static so the user is not forced to re-read a semantically unchanged message – assuming her sub-conscience detects the slightly different look of the familiar looking dialog and thus causing it to be actively re-read.

PS: Please don’t get me wrong about this nit-picking: GNOME and KDE both are great projects. Both have their problems and both have their unique solutions. This just sprung to my eye and whenever I find something in any other app I surely will write about it.

Have a bite…

0860095.jpg

… if you still can ;-)

I found this in the online shop of one of our customers which distributes dental equipment. The device is called “Lippenexpander” and I have no idea what practical use a dentist may have for it but it’s no pleasant picture at all.

Today’s little PC-Problems

Today, I deceided to track the daily PC-problems I have to solve, just because I wondered why I generally think that PC’s suck and to learn how much time I lose just for fixing things that should work.

Today’s list of software-stupidity I’ve had to learn:

  • floAt’s Mobile Agent has a feature to react when the connected BT phone comes out of range. I’ve configured fma to lock the workstation as soon as I leave it. Quite nice. Every time the BT connection now drops, the screen is locked. Unfortunatly, it does not check for the cause of the connection drop: If it’s because I’m just quitting fma, it locks the screen anyway. This stupid thing happend to me just one time too many, so I decided to post this whole entry here.
  • I’ve 1 GB of RAM in my Thinkpad which, I think should be enough for the machine to swap only very rarely. Then: Why is my system virtually unusable because of swapping if I bring Firefox in the forground after is lied in the background for an hour or so? I’m not blaming Firefox for this. I’m blaming windows for it’s less-than-optimum memory handling. Why swap if it’s not needed? Why has the system to stop responding when it’s swapping?
  • On the Exchange Server, I’ve set up a daily backup-task using Microsoft Backup. It never run and did not provide any error-message at all. Why? Because the command-line created from MS-Backup’s planning assistant was too long to be executed by windows. Why is such invalid command line created? Why is there no error message?
  • I had to support one computer where surfing to any website immediatly created a 404-error. I’ve double checked – the pages where there, the websited did in fact work. Cleaning the browser-cache (the supported person insists on using IE) helped. Why? What was the problem?

Stupid, Stupid, Stupid.

I mean: I’m writing software myself and I really check not to do such stupid things. They happen. They happen all the time when programming. Your mind is thinking completly differently when you are buried deep in program code. But then: Why don’t the people take some time to actually test theiur products? Why do such stupid things happen? Why can’t we live in a world without bugs? Without software-stupidity?

Apple, you are coming closer and closer…

Too bad!

Crash

The red train you see in this picture is the new model of trains, Forchbahn, a small train leading from Zürich zu Forch and Esslingen, recently bought. This is the very same train that sohuld have been used for public transport next monday. The first new model for 12 years.

Now it seems that I have to wait for some more time before trying it out ;-)

Personal Toolbar

My own bookmarks-management is somewhat non-existant. Those few pages I’ve actually bookmarked are the ones with long URLs (longer than lwn.net for example – a page which definitely is one worthy of being in my bookmarks-file). There are so few bookmarks, that I use only the “Personal Toolbar”-Feature of Mozilla Firefox – the Bookmarks-Menu is completely empty.

As I wanted to do some coding and tweaking around with MovableType, I’ve deceided to create this little tool which renders my original bookmarks.html from my mozilla profile to something more useful.

I initally tried to just apply a CSS-style to the original file, but that was not possible because a) it has much too less named identifiers or structure to style it properly, b) I would have had to do some coding anyway bacause I wanted to display the bookmark-image and c) the original file is nowhere near XHTML-compliant – so that’s another reason which would have forced me to do some coding anyway.

I hope you like the thing and forgive me those two “evil” links – there is virtually no way to get to subtitled animees the legal way, so I have to refer to “other” channels. Much the same with english video games: You simply can’t get them here in Switzerland, so I usually buy the german version and download the english one (Broken Sword 3 was the last one).

Responding to search-strings

I’ve just looked at the logs of this webserver and – under the search strings used to find this page, found this: <blockquote>delphi cannot debug anymore</blockquote>It happens that tough I have not written about this particular topic, I certainly have some hints to this fellow searcher (although, they possibly come to late now):

  • Have you compiled your project with debug information? (Project/Options/Compiler).
  • Have you rebuilt your project after changing above settings?
  • Do your files by any chance have Unix-Lineendings? If so, the debugger won’t work
  • Have you restarted your PC? Sometimes this works too.

I’m quite sure there are more things that could make the debugger unusable, but unfortunatly I can’t currently think of any more of them. Maybe becuase just the ones listed above are common enough that I remeber them? Delphi is very nice, but sometimes it can be so unstable