This is a nice tool for graphing how IE7 loads each file for a given web page. It even provides a checklist of items that can be optimized. Apparently, there are quite a few improvements I can make on this blog, although I don’t think performance is the real reason that my readership is small.
Tuesday, August 24, 2010
Wednesday, August 18, 2010
This is a nice explanation of why you would want to use such a lightweight distributed service and what the caveats are.
http://highscalability.com/zookeeper-reliable-scalable-distributed-coordination-system
Wednesday, August 11, 2010
Tox still requires that each version of python be installed on your system, but it uses virtualenv to create a separate directory layout that the module you are testing can be installed into without affecting the libraries on your system. Since the virtualenv symlinks all base python files into the new directory structure, it doesn’t take long to generate, but that’s why you need each python version installed already.
Saturday, August 7, 2010
This is an interesting analysis of common developer attitudes.
http://andyjko.com/2010/07/13/mozilla-summit-2010-and-dev-culture/#comment-103
Monday, July 26, 2010
This is yet another technological device that’s amazing not because it’s new, but because it’s so much less painful and expensive than previous incarnations.
Saturday, July 24, 2010
This is a very interesting application of BitTorrent.
http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html
Thursday, June 24, 2010
Quickly helps you create applications for Ubuntu.
http://www.didrocks.fr/index.php/post/Build-your-application-quickly-with-Quickly:-part1
Thursday, June 17, 2010
Despite it costing around $2,000 per processor, the tremendous savings on electricity and cooling make it less expensive than a regular server. Also, with its included virtualization, it may waste a lot less CPU cycles. For example, Amazon EC2 only gives you the option of between one and eight virtualized processors, but with 512 processors in one box it would be much safer to oversell the number of processors without causing performance problems when a few of customers start using more processing power. It also seems that you could ignore a lot of scaling issues assuming you could assign hundreds of processors to a single VM. Suddenly, a large server setup could be shrunk down to a couple of VMs on separate 512 proc servers, and you would only need a load balancer to failover in case of hardware problems.
http://venturebeat.com/2010/06/13/seamicro-drops-an-atom-bomb-on-the-server-industry/
Wednesday, June 2, 2010
Previously, I had mentioned Balsamiq, which is really cool but it is a commercial app. GoMockingbird.com is free, at least for now, and it makes it really easy to share your mockups.
Check out my recursive blog.
Tuesday, June 1, 2010
For several years, I have been using pam_tally to prevent brute-force attacks, but now I have learned about fail2ban, which appears to be a more full featured solution.
fail2ban will look through your logs and block the IP address with iptables whenever more than maxretry failed login attempts occur. Just looking through the jail.conf file, it has separate configs for ssh, pam-generic, xinetd, apache, vsftpd, proftpd, wuftpd, postfix, and courier smtp, and you can set the maxretry independently for each one.
fail2ban has some disadvantages over pam_tally, since it has to parse log files instead of being called for every login attempt. For example, fail2ban does not understand log messages like “last message repeated 4 times”, so someone could make many more login attempts than the maxretry limit suggests.

Atom Feed