My first laptop was a 25MHz i386 with 4MB RAM and 40MB hard drive.
Reread the sentence above - those units are correct!
My current laptop - about 1-2y old, is a 4-core (with hyperthreads)
i7, 8GB RAM, 2x500GB hard drive at 1920x1080.
This week sees the advent of the Haswell chips - promising great
battery life - enough to warrant an ultrabook as a replacement
for an iPad or tablet. For many, 4-8GB RAM is a sweet spot. For
a developer, it isnt.
My laptop maxes out at 8GB RAM - I tried to get a 16GB RAM when
I purchased it, but it was just out of reach and the i7 specs too
confusing. (I purchased my DELL XPS laptop because it could support
16GB RAM, but turns out the deal I got was with the wrong graphics
card so I was limited to 8GB). 8GB was ok, but my prior
laptop was 8GB also. 8GB RAM was now the new "minimum" spec for
VM development work. (Most of my VMs have 512-800MB RAM, but by the
time you run 2-4 of these, and firefox, and the bloated KDE desktop
along with all the other garbage on a typical linux distro, 8GB is
too small. 16GB is too small. 32GB? Well - thats not bad. Maybe
64GB is better!)
So what would the ideal laptop be (and I use a laptop - not for
portability, but for comfort). I'll take a stab at predicting
my ideal laptop, based on current and near term future. I could
never imagine todays technology back when my 25MHz i386 was current.
So lets try this:
128GB RAM. Maybe next generation will support 64GB, so 128GB is not
too far out. This should be good for 4-8GB RAM VMs (I cant imagine
what I would run in those VMs, but I suspect Windows 8+ and Ubuntu
will require that).
32-core cpus. We seem to have not budged from "8" (or 4 + 4 hyperthread)
for a while. I really dont care about graphics - I dont play games,
and those wasted transistors in the Ivy-Bridge/Haswell would be better
spent on real computing power. (Maybe I do need some onboard
graphics, for GPU type work, but not one where most of the chip and
transistor count is for graphics, sitting idly).
The more I think about this, I think maybe 32-core is a little puny.
How about 128 CPU cores? Most of the time you dont need more than
a handful, but to do complex threading work, you do.
Screen resolution: more is better. When we went from 1024x768 ->
1280x1024 -> 1600x1200 -> 1920x1200, it was great. Significant screen
real estate and no pixel doubling. With ipads and other 10-inch
devices starting to hit more than 2560x1400 screen resolutions, thats
cool. But you cannot see the individual pixels - not on a 10" screen.
So, I suspect what would be good is something like a 6000x3000 pixel
screen, and, with pixel doubling, equate to 3000x1500 type screen
(in a 17 or 19" form factor; if I go to 27", 30" or above, we can get
to the 4k/8k screen technologies but currently they are too limited,
e.g. scaling to reach those dizzy heights).
How about disk? With todays 4TB drives, its too small. I think 2 x 50TB
is more palatable - enough to keep every copy of the linux kernel, compiled and
uncompressed, along with those 4+GB VM images. Party that to a 2TB flash/SD
cache for that data, and now you are getting there.
It doesnt seem unreal to get to 8TB in the near future for a single
hard drive - but the rate of change has slowed - but, I can but dream :-)
Now - I wander what my watch and mobile phone type device is going to be.