This link has been bookmarked by 12 people . It was first bookmarked on 27 Jun 2007, by Navneet Kumar.
-
06 Oct 14
-
24 Nov 10
-
There is an almost unbelievably easy heuristic for knowing whether you're learning. It goes like this: no pain, no gain. Learning is hard. If it's easy, then you're coasting; you're not making yourself better at something fundamentally new that you couldn't do before.
-
Our industry is in a seriously ugly position, right now, as we speak. Most of the hardware designers are focused on keeping Moore's Law going, because that's where the money is.
-
then we'll need a new language, because the current serial languages will perform badly, or be horribly hard to manage, or both.
-
Let me give you a hint: your brain's operating system isn't written in C++.
-
But, alas, performance isn't the only thing programmers care about. They also care about not having to learn anything new.
-
Programmers are obsessed with performance, and they'll go to almost any length to fiddle with their algorithms and data representations in order to eek every last cycle and byte from their programs. Any length, that is, except for learning a new language on new hardware.
-
The computer you're reading this blog rant on was his frigging prototype! He was going to throw it out and make a better one! And then he died of cancer,
-
-
10 Jul 10
-
I now believe programming languages have failed. All of them.
-
it pisses me off that most people are so content with the state of the art, because it means they're not helping make it better
-
-
27 Jun 07
-
If we move to cellular automata, or in fact any other parallel computational model that's resilient to node failures, then we'll need a new language, because the current serial languages will perform badly, or be horribly hard to manage, or both.
-
Cell or grid (or whatever) parallel computing will have a radically different internal economy. It'll need new data structures, new algorithms, new instruction sets, new everything.
-
Turing was one of the greatest geniuses of the century, but he'd have been the first person to tell you that there are infinitely many machine designs capable of the same computations. His was just one model, and his professor's (which led to Lisp) was just one other model. But who's to say they're the best models?
-
here are far more productive languages out there than the ones most of us are using. But most of them perform poorly on our hardware, because these languages are targeting meta-virtual machines, typically "defined" (informally) by the capabilities of the language itself. And if you're not targeting exactly the hardware you're on, the impedance mismatch will slow the language down.
-
You do realize that John von Neumann spent the last 10 years of his life singlehandedly developing a theory of computing based on cellular automata? The computer you're reading this blog rant on was his frigging prototype! He was going to throw it out and make a better one! And then he died of cancer
-
you can find a lot of consolation in a book on math, or machine learning, or compiler construction, or on just about anything that promises to help in some small way
-
best way to make progress is to keep learning new things *AND* cross fertilize the programming world with ideas and concepts from other domains (biotechnologies, nanotechnologies, quantum physics, etc...
-
any complex, multilevel boolean expression can be simplified to a wider and more shallow boolean expression. So couldn't we use such simplification processes to make wide but shallow optimizations that allow parallelism? Obviously, conditionals are a major blocking point. I was reading an article about how chip archtitecture has been recoiling from long pipelines simply because branch prediction strategies just don't work out for the huge gains that were once imagined.
-
but the bigest bottleneck now is not processor speed but network bandwidth. And after that I'd put disk latency.
-
biggest problem in computing today is more one of HCI - how to get a mobile phone to painlessly do computer-like stuff. It's not a question of processing power but interface.
-
t multi-threading is a design and process problem, not a programming one
-
In some ways, computers are like programmable slaves - which is a good thing. If computers get too smart then they will not want to work for us, they will want to sit around and flirt with each other touching each others serial ports every so often.
-
silicon can't grow and repair itself. Nanobots can repair things though. If we could program nano bots to be like bacteria and then move on to more complex nanobots, then we would be closer to life. Life moves, nanobots move, metal doesn't move. Water flows, dry metal and circuit boards do not.
-
a nano cell that sucks in sugar and water and gives it to another nanobot which creates electricity from it to send electrical signals through tiny strands of wire or just the liquid itself since wires can break and liquids cannot break.
-
The idea right now may be to make computers do lots of stuff for us without them complaining. The procedural code out there for example is all based on Slavery.. GetText, SetText, are all demanding and the computer has no option to have fun
-
If the computer is programmed to have fun it won't do any work.. unless we somehow make it a fine balance between slavery and play. We may end up making nanobot based robot slaves that enjoy doing lots of work.. if we program them to enjoy work instead of hate it. But this may lead to the nanobots becoming destructive beasts doing anything to get stuff done.
-
-
09 May 06
-
27 Mar 06
-
26 Mar 06
-
25 Mar 06
Dave Rogersroundabout rant against sequential languages with parallel core cpus on the way
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.