This fits the OPs notion that no one really understand the crap underneath it all.
869 karma · joined February 25, 2007
This fits the OPs notion that no one really understand the crap underneath it all.
I'd suggest the modern version of the Depression era work programs and/or the 60s space race. Perhaps something launching a major technological leap in robotics (which ironically would exacerbate our job "problem").
In fact, I'm not exactly sure how you would debug a multi-process parallel system with an external debugger. Would you simultaneously use multiple debugger instances to attach to each process? That sounds like fun.
For a true, parallel system it's virtually impossible to "examine the entire program's behavior" at any one instance in time. Sure printing changes the timing of things, but unless you are single threaded, you are kidding yourself to think that a debugger also doesn't disrupt timings.
I can quickly run a test, grep/skim through the trace output and ignore/drill down into detailed minutia that are irrelevant/relevant to the problem being investigated.
I also tend to write my trace statements in an easily parsible format so if I need to I can write another program to analyze what happened and find the problem. Writing a full on program to process log files happens less often than chaining several unix commands to find the needle in the haystack (usually the program happens when I need to thread together several widely separated trace lines).
Of course this only solves the parsing problem, not the semantic one.
use YAML::Syck; $YAML::Syck::UseCode = 1;
Watch out though, when you take executable code from a user.
Previously: click up arrow, score of parent shows as 2.
Now: click up arrow... no one knows. Post a comment to make it visible (ideally add some other relevant detail).
Definitely suboptimal.
http://news.ycombinator.com/item?id=2368486
(there are lots of comments, a couple of months ago, it would have been easy to see which ones are "interesting", now you must read them all).
http://www.theregister.co.uk/2011/03/15/apple_ios_throttles_...
IMO, it doesn't add much to the discussion except for this nugget at the very end of the article:
"This developer reiterates that if Apple didn't specifically introduce these problems in iOS, it's aware of them now. And he says that the Mobile Safari team has indicated the issues will not be fixed."
I think we will "back in" to self driving cars. I think they will first appear as safety features on luxury cars (this is already happening). The real statistics of these features will become obvious. Eventually the car won't let the driver do anything stupid and people will become annoyed that they have to hold on to the wheel when basically the car could be doing that for them.
Earlier production models of self driving cars will work like cruise control. Perhaps the system analyzes the road conditions and in optimum environments it enables a button that engages autopilot with warnings when conditions degrade (eventually stopping the car if the driver does not resume control).
I've developed a similar fascination with graph data over the past couple of years. My particular affliction has focused on treating program code as data (nodes) and stitched together with edges.
For visualization I was considering generating partial 3D models using something like StructureSynth and putting them in a 3D world like opencobalt. Also stumbled across Orange (http://www.ailab.si/orange/) which looks useful too.
Find just a few useful concepts/tools/techniques not previously connected together. Figure out if there are any new useful emergent features that result. See if you can build a business model around the features. Implement. Market. Prosper.
Thank you for calling attention to the second comment.
It'll start with games but I wouldn't be surprised if we saw a 3D enabled "browser" within a couple of years. In the beginning it might be driven just by being 'cool'. But then I'm sure we'll see some real UI enhancements based on it (just like we saw with the recent AJAX/'JavaScript is Okay' trend).
So if "web is dead" refers to 2D HTML, I think it may be in it's sunset years. If it means external references from one piece of data to another, no way. That's here to stay, just in other forms.
It's just that a brain alters it's behavior and structure as a result of processing inputs (development).
We don't (normally) write Java programs to change their behavior as they process information from their environment during execution.
Your Java program doesn't directly execute on the CPU, compilation and interpretation are required.
In my case, I ended up here by trying to dynamically shift where I'm applying the work load in the search space without pruning off an answer.
I can't quite tell if my perception of this trend is skewed by my current perspective or if there are more people exploring this model of programming. IMHO, some things get much harder to reason about without some good tools.