A friend recently asked for advice. His son is looking to become a professional computer programmer and wants specs for a new desktop computer. I'm no longer up to date on the subject, but that didn't stop me from writing a 900-word opinion on the matter, which I present to you know.
---
This is a tough question to answer in a specific sort of way, made more difficult since I hardly buy desktops anymore. You can get an idea for basic specs by looking at any development IDE package (e.g. Visual Studio.) Here are some overall suggestions, though:
Important items: CPU, Memory, 7200RPM disk (as opposed to 5400 RPM), expandability
Less important items: Video card, audio card, USB ports, Firewire, hard disk quantity.
CPU +
CPU is important, not necessarily because of clock speed, which has recently been topping out, but because of the "number of cores" or "number or processors". Cores and processors aren't the same thing, but for the sake of this conversation let's say they are. More processors means more things the computer do at the same time. This can sometimes be valuable when you're writing software. But don't let yourself get carried away, particularly with a starting computer. If there's only one processor, I'm sure your son will do fine.
Memory +
This is pretty important, particularly as you deal with larger pieces of software. Developer tools can take up lots of memory, it's certainly possible. That depends on how large the products are that your son plans to write. But don't let 'budding professional programmer' get in the way here. I think getting memory is good. And you don't need to max it out now. Memory always gets cheaper (In the as houses always increase in value, well, not really, the takeaway from that is I really mean "mostly always" instead of "always")
Disks +
Disk: Disks are cheap. I mean, wow I can't believe how cheap they get. Unless your son is planning on processing lots of video (in which case a better video card might be necessary, but only might.) When it comes to disks, though, performance can matter a great deal. Think about how long it takes to load Microsoft Word, for instance. You could think about it for a looooong time. Disk drives operate like platters, which is why they're measured in RPM, just like LP records, but instead of 33 1/3, 45, 78 RPM, we're looking at 5400 and 7200 RPM. So drives that spin at 7200 RPM spin 33% faster than those that spin at 5400 RPM. That's useful.
Most desktop PCs will support 7200 RPM disks, shouldn't be a problem.
Expandability +
I hesitate to put this on the list, because sometimes you find that the idea of expandability is nice, but in reality, by the time you expand anything more than memory, you're out of room, and you need a new motherboard to keep up with new operating systems anyway. But at the same time, I've always appreciated the ability to make room for a second disk somewhere.
Video card -
High quality video cards are good for playing games, or writing games, writing complex graphics software (memory and more CPUs help here as well.) Even then, I'm sure you'll do fine for an entry level computer with almost any video card they give. I'd probably do some research personally on video card technology to supplement it, but honestly, he can do fine with almost any entry level video card.
Audio -
Take the standard, get something better if he's specializing in audio, which means games or music.
Ports, Firewire -
Most of that is expandable and can be after market purchases.
Disk Capacity -
Not critical for getting started. Nowadays, hard disk quantity is usually taken up my media files such as video and audio. If the upgrade for more hard disk space is small, then, sure, go for it, but don't stress about it.
---
And even after all of this, more questions linger: memory is more than just "How Many Gee Bees?" One computer advertises its memory as "8GB Dual Channel DDR3 SDRAM3at 1333MHz - 4 DIMMs." Which of that matters and why? Whooooo, I'm getting woozy just thinking about it. (Hint: a DIMM is what you might call a single memory "chip", the thing you stick into the computer. If the computer supports up to 4 slots, then 8GB taking up 4 DIMMs (at 2GB apiece) means you can't upgrade, well, at least, not without pulling out one of the 2GB DIMMs. But an 8GB DIMM taking up a single slot means you can add much more memory. But watch out: 1 8GB DIMM is more expensive than 4 2GB DIMMs, sometimes much more expensive.)
Of course, this is vanilla advice for programming. Your son may be interested in hard core video games, in which case you need much better graphics capabilities, and even more memory. Or just playing games, which requires less so, but still. And while I didn't give a concrete number, splurge on 8GB of memory, with room to expand. If you find yourself spending close to $1K you ... well I spend $3K on my last machine, but $1K for a starting development machine is probably more than enough. As a reference point, the Dell Studio XPS 8100 is a decent starting point.
So, that's my advice. It's all over the place, lacks a reference to current standards, yet somehow has the gall to pass itself off as authoritative. You should do fine.
Wednesday, September 08, 2010
Sunday, August 22, 2010
Presenting the Google/Eclipse/Enterprise talk in Reston VA Oct 13
Brief note: I'm excited to be presenting the talk "Eclipse in the Enterprise: Lessons from Google" at Eclipse Enterprise Days on Oct 13 in Reston, VA.
This looks like a great conference for people who support large Eclipse user bases -- you know who you are -- if you attended the Eclipse in the Enterprise BoF at EclipseCon, this conference is for you. From the conference page:
This looks like a great conference for people who support large Eclipse user bases -- you know who you are -- if you attended the Eclipse in the Enterprise BoF at EclipseCon, this conference is for you. From the conference page:
"Attendees must be an employee or contractor of an "Enterprise User" of Eclipse technology. Enterprise users typically are responsible for the use of Eclipse by hundreds and even thousands of developers in their organizations."Are you planning to attend this conference? Let me know.
Wednesday, August 04, 2010
Proposition 8 Overturned in Federal Court
Congratulations California! Your attempt to legislate a gay marriage ban has failed. The battle goes on, and I don't know what a victory at this level means, but even if it means marriages may resume in advance of further rulings higher up, then congratulations to every gay couple that gets married here on out.
This just felt like a good time to express my happy satisfaction.
This just felt like a good time to express my happy satisfaction.
Tuesday, August 03, 2010
Back from the dead-tris
Short version
I found copies of the two lost Tetris clones that I wrote in 1990 and 1991. [download] Now it's time to reminisce.
Long Version
In 1990 I was a college Junior. For extra money I worked as a student consultant in the computer center. The consultant's office had two computers, a DEC VT220 and an IBM PC AT. We put a couple of games on the PC. My two favorites were Level 42, which I can no longer find, and a Tetris clone called Nyet. In fact, everyone in the office loved Nyet, and we all played for hours on end.
I was the fourth best Nyet player among the consultants. I know this because three people always inhabited the top ten high-score list, and I fought hard to get my spot on it. Occasionally I would manage to wrangle my way to the number seven spot, only long enough to brag about it before the other three would attain new high scores effectively pushing me off the list.
By Spring Break of 1990, I was tired of being unable to gain a solid foothold in the top-ten spot, so I did the only thing I could think of, I wrote my own Tetris clone. Armed with Turbo Pascal and a quiet week on campus, I wrote The Soviet Block. I added an extended block set, and some other nice features, making it sufficiently attractive to play.
Surely, if it was my own version of Tetris, I should have a spot in the top-ten, right?
Wrong, of course. The same three people dominated the top ten spot. So I wrote another one.
Every good game needs a sequel
But this one was going to be a competitive two-player version. This sounds like old hat, but in 1990 there was no such thing as a competitive two-player version of Tetris. I envisioned it as a game of tug-o-war, where players faced off on opposite sides of the board. Bricks didn't move down, but toward the center. By clearing blocks you would actually shift the whole board toward your opponent. You win when your opponent loses the game, but more interesting is when you shift the board far enough into your opponent's space that it reaches a goal line, which ends the round.
By ending the round, you could use "dollars" accumulated by doing things like clear multiple rows simultaneously to buy features. For instance, you could slow the rate your pieces fall to the center for $3, but for $4 you do the opposite to your opponent. From there you start again with an empty board, pieces move slightly faster, and you need to clear more rows before being able to shift the playing area.
One of the interesting facets of this game was that once you started losing, you kept losing. It was tough to recover from being slightly behind. On the other hand, if the opponents were well matched, they were in for an exciting fight for survival during the tug-o-war, where both sides tried to lay bricks as quickly as possible without making a serious round-ending blunder, or worse, a game-ending one.
Here's a brief demonstration of Head-to-Head-tris in action.
I brought Head-to-Head-tris to the consultant's office, and, after long last, nobody could beat me! Only one person gave me a run for their money, and it had the desired exciting feeling of a back-and-forth tug-o-war. We were well matched.
I'm pretty proud of Head-to-Head-tris. It's a fairly playable game.
By May of 1991 I graduated, and moved on. As the years went on I lost my copy of The Soviet Block and Head-to-Head-tris, source code and all, until some time last year, when I found it sitting somewhere on the net. The source code is still gone, but now you can play the lost DOS classic of the 1990's.
To play
Start by downloading the DOS binaries and doc files.
On the Mac I use the DOSBox emulator.
Soviet Block is kind of tough to play nowdays, because I wrote it to work with a specific subset of processor speeds. You know, like, 4.77 MHz, but Head-to-Head-tris uses a processor-speed-free mechanism for its timing mechanism.
You're also likely to need to reset the keys, and remember to turn off the music. It's fun after the first game, after that, it is not.
Head-to-Head-tris is understandably more fun with another competitor, but you can play it alone. After all, that's how I tested it. Better still, let's meet in meatspace and play together.
I found copies of the two lost Tetris clones that I wrote in 1990 and 1991. [download] Now it's time to reminisce.
Long Version
In 1990 I was a college Junior. For extra money I worked as a student consultant in the computer center. The consultant's office had two computers, a DEC VT220 and an IBM PC AT. We put a couple of games on the PC. My two favorites were Level 42, which I can no longer find, and a Tetris clone called Nyet. In fact, everyone in the office loved Nyet, and we all played for hours on end.I was the fourth best Nyet player among the consultants. I know this because three people always inhabited the top ten high-score list, and I fought hard to get my spot on it. Occasionally I would manage to wrangle my way to the number seven spot, only long enough to brag about it before the other three would attain new high scores effectively pushing me off the list.
By Spring Break of 1990, I was tired of being unable to gain a solid foothold in the top-ten spot, so I did the only thing I could think of, I wrote my own Tetris clone. Armed with Turbo Pascal and a quiet week on campus, I wrote The Soviet Block. I added an extended block set, and some other nice features, making it sufficiently attractive to play.
Surely, if it was my own version of Tetris, I should have a spot in the top-ten, right?
Wrong, of course. The same three people dominated the top ten spot. So I wrote another one.
Every good game needs a sequel
But this one was going to be a competitive two-player version. This sounds like old hat, but in 1990 there was no such thing as a competitive two-player version of Tetris. I envisioned it as a game of tug-o-war, where players faced off on opposite sides of the board. Bricks didn't move down, but toward the center. By clearing blocks you would actually shift the whole board toward your opponent. You win when your opponent loses the game, but more interesting is when you shift the board far enough into your opponent's space that it reaches a goal line, which ends the round.
![]() |
| The game board has almost shifted entirely to the end-of-round markers on the left. |
![]() |
| Buying game features for the next round. |
One of the interesting facets of this game was that once you started losing, you kept losing. It was tough to recover from being slightly behind. On the other hand, if the opponents were well matched, they were in for an exciting fight for survival during the tug-o-war, where both sides tried to lay bricks as quickly as possible without making a serious round-ending blunder, or worse, a game-ending one.
Here's a brief demonstration of Head-to-Head-tris in action.
I brought Head-to-Head-tris to the consultant's office, and, after long last, nobody could beat me! Only one person gave me a run for their money, and it had the desired exciting feeling of a back-and-forth tug-o-war. We were well matched.
I'm pretty proud of Head-to-Head-tris. It's a fairly playable game.
By May of 1991 I graduated, and moved on. As the years went on I lost my copy of The Soviet Block and Head-to-Head-tris, source code and all, until some time last year, when I found it sitting somewhere on the net. The source code is still gone, but now you can play the lost DOS classic of the 1990's.
To play
Start by downloading the DOS binaries and doc files.
On the Mac I use the DOSBox emulator.
Soviet Block is kind of tough to play nowdays, because I wrote it to work with a specific subset of processor speeds. You know, like, 4.77 MHz, but Head-to-Head-tris uses a processor-speed-free mechanism for its timing mechanism.
You're also likely to need to reset the keys, and remember to turn off the music. It's fun after the first game, after that, it is not.
Head-to-Head-tris is understandably more fun with another competitor, but you can play it alone. After all, that's how I tested it. Better still, let's meet in meatspace and play together.
Saturday, July 17, 2010
Stepping back in to Firefox
The last week or so I have found myself spending much more time in Firefox than Chrome. In fact, not only am I writing this post inside a Firefox tab, but I'm no longer using Chrome, except to refer to tabs I've saved in the past.
I've left Chrome for one reason only: Firefox restores much more easily when recovering from sleep mode on OSX. When I restart my Octocore desktop machine from sleep, Chrome can sometimes take up to a minute to become responsive, maybe more, Firefox, just a few seconds. Because I rely on putting my machine to sleep on a regular basis, this turns in to real time lost.
Sure, I miss Chrome's deft tab handling. But not so much as to give up so much of my time.
I've left Chrome for one reason only: Firefox restores much more easily when recovering from sleep mode on OSX. When I restart my Octocore desktop machine from sleep, Chrome can sometimes take up to a minute to become responsive, maybe more, Firefox, just a few seconds. Because I rely on putting my machine to sleep on a regular basis, this turns in to real time lost.
Sure, I miss Chrome's deft tab handling. But not so much as to give up so much of my time.
Thursday, July 15, 2010
Eclipse Day at the Googleplex redux: Mr. Grumpy hits the big time
At the request of the Google Open Source Programs Office ... no wait, that's wrong. At the advice of the Google Open Source Programs Office ... no ... start again.
Due to an offhand comment by someone who just happens to work at the Google Open Source Programs office, I turned Ms. Wise and Mr. Grumpy into a big screen hit. You thought it took no time to turn $%$@ My Dad Says into a TV show. We're working at the speed of thought, here.
If you loved the Mr. Grumpy script, enjoy watching a computer try to pronounce "Aniszczyk."
Due to an offhand comment by someone who just happens to work at the Google Open Source Programs office, I turned Ms. Wise and Mr. Grumpy into a big screen hit. You thought it took no time to turn $%$@ My Dad Says into a TV show. We're working at the speed of thought, here.
If you loved the Mr. Grumpy script, enjoy watching a computer try to pronounce "Aniszczyk."
Subscribe to:
Posts (Atom)



