I have a main desktop on my home LAN, and a few notebooks, all running Ubuntu. I have a pretty slow Internet connection, so when a kernel update comes out it means running a 50Mb update on all of the machines. It struck me that this isn't the most efficient way of doing things. I experimented with the apt-cacher package, but that had two problems: first it didn't seem to work that well and often crashed on the main desktop; second, whenever I went outside my home LAN it didn't work.
So I did the Linux thing, and made a quick and dirty script that works for me …