I should have said: Most problems do not EASILY parallelize to large scales.
In regards to your comments about mediocre programmers...
You do not recognize the fact that most programmers are mediocre. You can scream at them that it is easy, but they will still end up staring at you like deer in the headlights.
Sorry - we are entering the "Model T" mass production era of software.
Young bucks jump on the latest thing without thinking (or the experience to back their thoughts) of whether or not its the best way to go.
The experienced programmers know that most parallelisable problems are already being solved by breaking it across machines, and the rest won't be helped by 15 bazillion cores. An extra core or so on a desktop is nice, beyond that they really won't be anywhere near the speedup its hyped. Mod this guy. Short and to the point.
I worked extensively with parallel programming since the early 90's. There is no silver bullet. Most problems do not parallelize to large scales. There are always special problems that DO parallelize well, like image and video processing. So, if you are a watching 20 video streams, your Intel Infinicore (TM) chip will be worth the $$$.
(The major difference now however, is that fabs are freakin' expensive and AMD might not have enough capital to keep upgrading fabs, which will run them out of business.) That is why HP created the bastard-demon-child that is Itanium.
Except, of course, that Hubble's MIRROR had spherical abberation and this is talking about lenses.... Ok, so fill the "lens" with Mercury. Work with me here.
With better lenses we might see that this is a dup. These were reported in the media, and slashdot, a year or so back. Sorry if we can't all remember back that far! I must have had my beer goggles on.
1. RAID5 / RAID6 suxx0rs - flame on 2. RAID10 (a.k.a. RAID1+0 or RAID0+1) is best, but with a 4 disk entry requirement, you don't see that much in home servers. 3. Keep all RAID partners on same hardware. I prefer to buy matched sets of drives, so they "dance" in harmony. You are kidding yourself if you want to upgrade your RAID system piecemeal.
Now I would love to hear which is better RAID1+0 or RAID0+1? No, really.
I just built a media server. I used RAID1 and RAID0:
C: RAID1 D: RAID1 M: RAID0
C: is the system drive. D: is where I keep important files that I don't want to lose. M: is where I put my DVR files (BeyondTV). I figure they are recoverable and hence can risk RAID0.
These are on 4 physical drives: 2x 250GB split 50/50 for C: and D:, giving 125GB for each (mirrored) 2x 500GB for M: to give 1TB (striped)
I used the Intel RAID manager, which is surprisingly easy to use.
For TV recording, I have the Hauppauge HVR 1600 - I saw this on sale for $50 at one of the big chains (Circuit City I think).
You have some really good insight there. I probably AM in the 99th percentile. I'm a Software Architect now after slugging out code for many years. And yes, I have drones in India working for me. It took us about 5 years to find good Indian engineers that weren't inclined to run from job-to-job in the hot Bangalore market.
I'll share my experiences from a past job at HP. We had a group of about 50 engineers - some of the brightest software people around - a lot of Phds. I had a lowly BSMA, so I was a grunt. Us grunts called ourselves the "rowers" and the Phds were the ones sitting on the "boat" doing nothing. There were some really bright people that could pontificate all day long about pie-in-the-sky ideas, but couldn't code their way out of a paper bag.
In one case, I was taking over a project from a guy who moved onto something else. He wrote this painfully detailed design spelling out everything. When I took over, I used his design as a basis for my implementation, but I made some on-the-fly changes to simplify the design/implementation. We had code reviews there, so when he reviewed my code he beat me up that I didn't follow it to the letter. I tried to point out that his design was over-complicated and that I had implemented something that was easier to maintain, but he wouldn't hear of it. My final response was, "If you cared that much about it, you should have stayed on the project. Now Fuck Off and get out of my face."
I think the biggest revelation for me as a beginning programmer was that before you code, you plan the code. It seems like a really simple idea. You make some good points, but to play devils advocate, I have experienced overplanning. Too much up-front design is a waste of time. I believe in evolutionary code. Refactoring is a necessary and important part of keeping a long running project from decaying into a blob of ravioli code (object-oriented spagetti code). As in so many things, balance is key. Design some up-front, but don't dig too deep or you waste your time.
Treat every line of code like a work of art. KISS - Keep It Simple Stupid
Having been coding as a job for 23 years, I can tell you that if you are good, you get to a point where you can code on the fly. I like to call it the stream of consciousness. Eclipse refactoring tools increased my productivity 10x-50x. I dunno if dawt-knet has that kinda stuff. I just do Java these days.
I have a personal connection to this story. My Dad worked at Sanders at the time and witnessed Ralph's work. I was born in 1966. It might explain why I am 41 and still a videogame addict.
I use BeyondTV and couldn't be happier. No restrictions. They also have SmartChapters which identify distinct blocks of video (cough, commercials, cough). I can also burn to DVD with an extra plugin. You get free TV listings - you just have to buy the software. Sure - they get you with upgrades, but you can choose not to upgrade.
American SUV stupidity just makes me want to bash my head against a wall.
I just shake my head when I see the high-end SUVs (Mercedes-Benz, etc.). They lose all the benefits of a European sports car, and have the interior space of a golf cart. The Escalade ES is actually a Suburban in overpriced clothing, but at least a Suburban can handle some light duty work. It can also carry passengers AND luggage.
When you hear the term "crossover", run for the hills. Like on/off-road dirt bikes, dual-purpose vehicles end up being the worst of all worlds.
I should have said: Most problems do not EASILY parallelize to large scales.
In regards to your comments about mediocre programmers...
You do not recognize the fact that most programmers are mediocre. You can scream at them that it is easy, but they will still end up staring at you like deer in the headlights.
Sorry - we are entering the "Model T" mass production era of software.
The experienced programmers know that most parallelisable problems are already being solved by breaking it across machines, and the rest won't be helped by 15 bazillion cores. An extra core or so on a desktop is nice, beyond that they really won't be anywhere near the speedup its hyped. Mod this guy. Short and to the point.
I worked extensively with parallel programming since the early 90's. There is no silver bullet. Most problems do not parallelize to large scales. There are always special problems that DO parallelize well, like image and video processing. So, if you are a watching 20 video streams, your Intel Infinicore (TM) chip will be worth the $$$.
Snowmobilers have started uploading data.
A similar site could be started for "roadies".
We are pretty close already with Real-Dolls and such.
Very well said. While the average person is "wowed" by numbers and equations, the /. community is not so easily fooled.
A corollary to your point is:
"There are lies, damned lies, and statistics."
-- Mark Twain
I use beyondtv and am very happy with it. Yes, it is windows and costs money for the software, but it works very well for my needs.
Gray Goo! Gray Goo! Gray Goo!
I must have had my beer goggles on.
It sure would have made fixing the Hubble a lot easier.
Earth to Hubble: Adjust lens voltage to 1.537mV.
I'm on Season 6, Episode 7. Thank you Netflix. This season is great and I can't wait to see Season 7 - it is getting hard to dodge the spoilers.
Crap! I messed it up. Yeah, yeah - preview. It should say:
All your logins are belong to us
Blush.
Sorry
I forgot to mention a few more things...
1. RAID5 / RAID6 suxx0rs - flame on
2. RAID10 (a.k.a. RAID1+0 or RAID0+1) is best, but with a 4 disk entry requirement, you don't see that much in home servers.
3. Keep all RAID partners on same hardware. I prefer to buy matched sets of drives, so they "dance" in harmony. You are kidding yourself if you want to upgrade your RAID system piecemeal.
Now I would love to hear which is better RAID1+0 or RAID0+1? No, really.
I just built a media server. I used RAID1 and RAID0:
C: RAID1
D: RAID1
M: RAID0
C: is the system drive. D: is where I keep important files that I don't want to lose. M: is where I put my DVR files (BeyondTV). I figure they are recoverable and hence can risk RAID0.
These are on 4 physical drives:
2x 250GB split 50/50 for C: and D:, giving 125GB for each (mirrored)
2x 500GB for M: to give 1TB (striped)
I used the Intel RAID manager, which is surprisingly easy to use.
For TV recording, I have the Hauppauge HVR 1600 - I saw this on sale for $50 at one of the big chains (Circuit City I think).
...of pixels.
You have some really good insight there. I probably AM in the 99th percentile. I'm a Software Architect now after slugging out code for many years. And yes, I have drones in India working for me. It took us about 5 years to find good Indian engineers that weren't inclined to run from job-to-job in the hot Bangalore market.
I'll share my experiences from a past job at HP. We had a group of about 50 engineers - some of the brightest software people around - a lot of Phds. I had a lowly BSMA, so I was a grunt. Us grunts called ourselves the "rowers" and the Phds were the ones sitting on the "boat" doing nothing. There were some really bright people that could pontificate all day long about pie-in-the-sky ideas, but couldn't code their way out of a paper bag.
In one case, I was taking over a project from a guy who moved onto something else. He wrote this painfully detailed design spelling out everything. When I took over, I used his design as a basis for my implementation, but I made some on-the-fly changes to simplify the design/implementation. We had code reviews there, so when he reviewed my code he beat me up that I didn't follow it to the letter. I tried to point out that his design was over-complicated and that I had implemented something that was easier to maintain, but he wouldn't hear of it. My final response was, "If you cared that much about it, you should have stayed on the project. Now Fuck Off and get out of my face."
Treat every line of code like a work of art.
KISS - Keep It Simple Stupid
Having been coding as a job for 23 years, I can tell you that if you are good, you get to a point where you can code on the fly. I like to call it the stream of consciousness. Eclipse refactoring tools increased my productivity 10x-50x. I dunno if dawt-knet has that kinda stuff. I just do Java these days.
LOL! Too funny!
I have a personal connection to this story. My Dad worked at Sanders at the time and witnessed Ralph's work. I was born in 1966. It might explain why I am 41 and still a videogame addict.
I use BeyondTV and couldn't be happier. No restrictions. They also have SmartChapters which identify distinct blocks of video (cough, commercials, cough). I can also burn to DVD with an extra plugin. You get free TV listings - you just have to buy the software. Sure - they get you with upgrades, but you can choose not to upgrade.
American SUV stupidity just makes me want to bash my head against a wall.
I just shake my head when I see the high-end SUVs (Mercedes-Benz, etc.). They lose all the benefits of a European sports car, and have the interior space of a golf cart. The Escalade ES is actually a Suburban in overpriced clothing, but at least a Suburban can handle some light duty work. It can also carry passengers AND luggage.When you hear the term "crossover", run for the hills. Like on/off-road dirt bikes, dual-purpose vehicles end up being the worst of all worlds.