What is Wrong with Agile?

Agile Ruined My Life shows an interesting perspective on the subject, and I really share author’s view on many of the points enumerated – there are too many things in today’s “agile” that make it really a joke. Despite this, I still believe there is a “right agile”, but it really has nothing to do with dumb religious following of “holy agile scriptures”; instead, agile must be pragmatic and flexible, or otherwise it turns into a cargo cult with all the negative consequences.

Criminal Overengineering

Just a few days ago we talked within a team about this subject, and now I bumped into Criminal Overengineering article that says it all (well, almost all) about the subject of over-engineered design/code. IMHO, this is a must reading for all beginners (and not only, to be honest), and it will be definitely on a list of “things to read” for all new members of our team.

ADSL Modems and Torrents

My ZyXEL ADSL modem (some ancient Prestige model, too lazy to check now) was causing me a trouble since I remember: it frequently drops internet connection when I use uTorrent. It happens after a few minutes, and the only way to continue is to hard-reset the modem by powering it off-and-on, and then renew the IP address on the PC. Which is very-very annoying, as I use torrents for my work (we distribute software updates using torrents). Some other modems, as well as other torrent clients might have similar issue, I guess. So, today I decided to put an end to this crap and to find a solution.

The problem is very likely on the modem side – it seems to be not able to handle that high number of connections that torrent clients open. The solution is to get your torrent client “behaving nicely”. And here is what I did with my uTorrent:

  1. Disabled Resolve IPs in the Peers tab’s context menu (you must have at least one active torrent to be able to get this menu) – absolutely useless feature that allows you to see DNS names of peers.
  2. Set peer.resolve_country parameter in Preferences > Advanced to false. Same as above – totally useless feature that allows you to see countries of peers.
  3. Disabled DHT by clearing Enable DHT Network option in Preferences > BitTorrent. This step might not be needed, but I am not using DHT now, so it is not harming, but resources are freed.
  4. Disabed UPnP and NAT-PMP by clearing Enable UPnP port mapping and Enable NAT-PMP port mapping options in Preferences > Connection (of course, assuming you are not randomizing ports and using manual firewall configuration). This step might not be needed as well, but then again, that ZyXEL modem is not a UPnP/NAT device, so…
  5. Reduced Global maximum number of connections parameter to 50 in Preferences > Bandwidth. You can try higher values, but for me 50 works fine. In fact, torrents’ downloading speed increased by about 10% after I reduced this parameter from 200 to 50, while general web browsing performance improved a lot (before these changes it was really painful to browse internet while downloading torrents).
  6. Set net.max_halfopen parameter in Preferences > Advanced to 4. Many people say that they have problems after 5+, so the default 8 is definitely a problem.

The result – no more drops! :) To be honest, I think that the last two points should help on their own, but other points do not hurt either.