This. My main development machine is a Thinkpad T60, manufactured in 2006. Still running strong. For me, it is still a supercomputer. 2x1.8GHz. 4G ram. 1400x1050. Everything I develop on it screams on anything modern. When it breaks I'm planning on moving backward in time to see if there is an older model that I can adapt to, probably without spending a single dollar, just acquiring a thrown away computer.
The T60 with that wonderful 1400x1050 screen is fab, I agree. (I wrote a sibling comment about using a 2014 Thinkpad as my main box, but I also have some older ones.) The main problem with it from a modern perspective is that it's strictly 32-bit, so can't address more than 4G RAM or run many contemporary Linux distros.
I also have a T40p, from 2003-ish, with the same 1400x1050 display. This is an even nicer computer to use in many ways - the keyboard in particular is even better than that in my T60 - but the difference in performance between 2003 and 2006 is striking. It's almost as much as the difference between 2006 and now. The T6x used Intel Core CPUs, but the T4x was still Pentium M days - single core and quite substantially slower. The T4x still has a PATA drive, so it's harder to put in a modern SSD. It's limited to 2G RAM for reasons I can't remember. It's also much less robust - the T60 series has a completely rigid chassis (and my T60 still looks like new) but the earlier T40 would bend if picked up from the front, which would cause both the case and the tracks on the motherboard to crack (the USB sockets stop working first, then everything else).
The T40p is a lovely, lovely computer - in some ways the best one I own - but it's for occasional document-writing only, not really for development any more.
This T60 is 64 bit. Core 2 T5600. My cutoff for referbishing a computer for someone is that it must be 64 bit and it must have at least two cores. Seems like anything Core 2 duo and later is good enough for almost anything most people do (except games).
Oh! That's interesting, I'm not sure I knew they existed. Mine is dual core and quite fast (for the time) but definitely 32-bit only.
Maybe I should look for a fancier one, if only to pick up the motherboard and CPU from. I imagine they're quite similar in terms of performance, but the extra compatibility would be nice.
I have a T500 Core2Duo T5600 w 4GB RAM sitting in the cupboard. I pulled it out and put an SSD in it and installed Lubuntu, works fine but I have some software licenses I’ve paid for that are only available on MacOS & Windows.
Do you think it would run Windows 10 ok? I’d need to buy a license, but at this stage that might be cheaper than a new / secondhand laptop.
> Everything I develop on it screams on anything modern.
This is a very good point. I think the user experience, on average, would be quite a bit better if developers weren’t so prone to chasing glitzy new hardware that can “mask” performance problems.
On the other hand, developer’s productivity matters, so I’m not really sure what the right balance is here...
Depends on how you develop. There are many ways to improve productivity that do not require faster machines. I'm a lisper for most work so I rarely have to wait for any compilation. Every interaction developing with this computer is basically instantaneous.
Also, I find that new developers think they would benefit greatly using the fastest machines to learn to program, but then never develop a good sense of algorithmic complexity as everything just screams. On slower machines you can have the opportunity to feel the difference between O(1), O(log n), O(n), O(n^2), etc.
Mine is a little later than yours, a 2009 T400 (2x2.4ghz Core 2, 4GB RAM) - having a light weight distro (Trisquel) plus an SSD has meant that this thing still feels incredibly snappy on most things. Only 1080p video is a real stretch and even then it will just barely plow through it.
Limitatations can enable innovation.