No I hadn't read your futurechips article. Though I agree with what you wrote. But frankly the parallelism is obvious its only by using C you are making things complex:
a) construct a function that takes an array of char and returns a count hash b) construct a function that takes two count hashes and adds them to produce a count hash c) construct a function that splits an array of char evenly into n pieces
array input -> (c) -> each piece goes to (a) -> (b) invoked to combine
You are absolutely right on this one. Obviously we've hit limits of CPU performance and parallel is the way to go.
As an aside though let me point one other option which Intel was exploring in the late 80s-early 90s: break the CPU up into a series of processors each with different complementary instruction sets. Intel played around with 486/i960 combo where the 486 offered great task switching, high instruction speed, built in floating point and the i960 offered rapid vector calculation. IBM RS/6000 line was based on the same theory of design originally.
Nonlocal data dependencies are not a problem. Map reduce is fantastic for distributing to clients. Each client performs a mini map reduce and then the results are collected.
What makes parallel programming hard is poor languages. Languages that allow state changes and don't keep them isolated. Isolate changes of state, all changes of state and be careful about what kinds of combinators to use. Google map-reduce works whenever
a) You can organize your data into an array b) You can do computations on array element in isolation c) You can do computations on the entire array via. associate operations pairwise
And most programs do meet those properties but they slip in all sorts of subtle state changes so out of order execution isn't possible. The key to parallelism is better language selection.
Apple has a long history of breaking compatibility. The upside is you get to be ahead of the curve. The downside is, sometimes Steve loses. I have a lot of firewire stuff too.
why not let users democratically decide what is shown rather than leave it in the hands of corrupt network executives
That's pretty much what happens. Modulo differences in the dollar value of various viewers an election is held with the winners staying on the air. The more people like particular programming, especially cheap to produce programming the more of it that exists.
Compare Twilight Zone to game shows, or soap operas from the 1950s in terms of budget. All dramas are expensive content. Sci fi is more expensive than most dramas because you need things like specialized sets.
They do that. They sell DVDs of lots of shows. How many shows do you buy the DVD collections for per year. 5, 10, 20. A full cable subscription with premium channels can be $2000 per year so unless you are doing abound 50 you aren't even doing as much as cable subscribers. And that certainly isn't the norm.
Ultra picky customers are simply too complex and small a niche to be worth exploiting.
B movies don't work with the under 15 audience at all or the over 25 audience. To hit the 15-25 niche they like nudity and sexual themes. Which means you are talking an R rated TV series and that's what Cinemax is playing with for example http://www.cinemax.com/forbiddenscience/
They can get their core back anytime they want. They license old scifi shows and movies, maybe even run a scifi talk show about books / movies / shows / websites and pick up market share in their niche. Given how many channels there are I'm not sure what's wrong with having a niche.
SciFi is not reliably male. The most successful shows: Buffy, Firefly, Next Generation, X-Files had large female audiences as well.
Anyway the audience is not that uniform and that's the problem. Sci-FI doesn't exist as a demographic the way "football" does. Each show ends up attracting its own audience.
Its a huge market. It might be something like 90% of the market for the better stuff. Teachers want to prepare students for the tests, which means they want them to be used to what they'll be using.
I agree with you, as someone who taught HS and college level math. So do many teachers. The problem is parents don't agree. Every time math educators try and make the curriculum less computational parents and voters object strongly.
The problem from their perspective is that the usage has changed:
1) Files are bigger 2) The internet itself is much less bursty. We went from webpages which were very little data for lots of read time, to streaming movies where the ratio is constant usage. So pooling matters less 3) The original iPhone plans were much too cheap. AT&T lost money and still couldn't service the demands
First off you are now talking about printing, not borrowing. Borrowing doesn't create much inflation.
The situation you are talking about was a permanent recession where money was constantly falling out of the system due to reparations. In the US what is needed is a one time shock to the system. A 1x 10% of GDP (even if we used printing) not a never ending stream of hundreds of percent of GDP per year.
No I hadn't read your futurechips article. Though I agree with what you wrote. But frankly the parallelism is obvious its only by using C you are making things complex:
a) construct a function that takes an array of char and returns a count hash
b) construct a function that takes two count hashes and adds them to produce a count hash
c) construct a function that splits an array of char evenly into n pieces
array input -> (c) -> each piece goes to (a) -> (b) invoked to combine
Why make it any more complex than that?
You are absolutely right on this one. Obviously we've hit limits of CPU performance and parallel is the way to go.
As an aside though let me point one other option which Intel was exploring in the late 80s-early 90s: break the CPU up into a series of processors each with different complementary instruction sets. Intel played around with 486/i960 combo where the 486 offered great task switching, high instruction speed, built in floating point and the i960 offered rapid vector calculation. IBM RS/6000 line was based on the same theory of design originally.
The barrier for learning to program purely functionally is high. But its a 1x barrier vs. complexity for ever. It makes the system simple.
I agree with him, avoid state.
Nonlocal data dependencies are not a problem. Map reduce is fantastic for distributing to clients. Each client performs a mini map reduce and then the results are collected.
Agreed. Learning to isolate side effects is one of the best things a programmer will get from FP.
Easy break into n subgroups have them line up by height and then perform pairwise merges.
What makes parallel programming hard is poor languages. Languages that allow state changes and don't keep them isolated. Isolate changes of state, all changes of state and be careful about what kinds of combinators to use. Google map-reduce works whenever
a) You can organize your data into an array
b) You can do computations on array element in isolation
c) You can do computations on the entire array via. associate operations pairwise
And most programs do meet those properties but they slip in all sorts of subtle state changes so out of order execution isn't possible. The key to parallelism is better language selection.
Apple has a long history of breaking compatibility. The upside is you get to be ahead of the curve. The downside is, sometimes Steve loses. I have a lot of firewire stuff too.
why not let users democratically decide what is shown rather than leave it in the hands of corrupt network executives
That's pretty much what happens. Modulo differences in the dollar value of various viewers an election is held with the winners staying on the air. The more people like particular programming, especially cheap to produce programming the more of it that exists.
Most TV shows have video rentals. Netflix can read the buy rent numbers. They aren't seeing the sales / rentals in huge numbers either.
Why can't I just pay for the channels I want?
Because you would spend too little. Why else would you want less channels than to save money?
Compare Twilight Zone to game shows, or soap operas from the 1950s in terms of budget. All dramas are expensive content. Sci fi is more expensive than most dramas because you need things like specialized sets.
They do that. They sell DVDs of lots of shows. How many shows do you buy the DVD collections for per year. 5, 10, 20. A full cable subscription with premium channels can be $2000 per year so unless you are doing abound 50 you aren't even doing as much as cable subscribers. And that certainly isn't the norm.
Ultra picky customers are simply too complex and small a niche to be worth exploiting.
Scifi fans are also ultra picky. They only like their particular types of scifi.
Actually the shows are huge draws. But you are talking an entirely different price range. Rome was running HBO $100m per season.
B movies don't work with the under 15 audience at all or the over 25 audience. To hit the 15-25 niche they like nudity and sexual themes. Which means you are talking an R rated TV series and that's what Cinemax is playing with for example http://www.cinemax.com/forbiddenscience/
Here is the interview you are talking about:
http://boingboing.net/2010/05/04/tv-economics-101-why.html
They can get their core back anytime they want. They license old scifi shows and movies, maybe even run a scifi talk show about books / movies / shows / websites and pick up market share in their niche. Given how many channels there are I'm not sure what's wrong with having a niche.
What exactly do you think the entire movie and television industry is based on?
SciFi is not reliably male. The most successful shows: Buffy, Firefly, Next Generation, X-Files had large female audiences as well.
Anyway the audience is not that uniform and that's the problem. Sci-FI doesn't exist as a demographic the way "football" does. Each show ends up attracting its own audience.
TI has been the dominant calculator seller for decades at the higher end. How exactly can you call that "blowing it"?
Its a huge market. It might be something like 90% of the market for the better stuff. Teachers want to prepare students for the tests, which means they want them to be used to what they'll be using.
I agree with you, as someone who taught HS and college level math. So do many teachers. The problem is parents don't agree. Every time math educators try and make the curriculum less computational parents and voters object strongly.
The problem from their perspective is that the usage has changed:
1) Files are bigger
2) The internet itself is much less bursty. We went from webpages which were very little data for lots of read time, to streaming movies where the ratio is constant usage. So pooling matters less
3) The original iPhone plans were much too cheap. AT&T lost money and still couldn't service the demands
Cell phones are dependent on population density in terms of costs and the US much more expensive than Asia and Europe: http://urbancongress.files.wordpress.com/2010/04/worldpopulationdensitybycountry.png
I agree with you on the advantages of state owned state controlled information infrastructure but I don't see it as likely to pass.
First off you are now talking about printing, not borrowing. Borrowing doesn't create much inflation.
The situation you are talking about was a permanent recession where money was constantly falling out of the system due to reparations. In the US what is needed is a one time shock to the system. A 1x 10% of GDP (even if we used printing) not a never ending stream of hundreds of percent of GDP per year.