Too many people fall into the trap of believing "we must do something; this is something; therefore we must do this."
153 karma · joined September 15, 2009
http://blog.melski.net/
Too many people fall into the trap of believing "we must do something; this is something; therefore we must do this."
What value does your offering have in comparison to your competition?
I loved Bret Victor's talk. And this recursive drawing thing is neat too. But both of those are dealing with programs that are primarily visual in their own output. I can't help but think, "That's neat, but not broadly applicable." Honestly, how many people are there out there dying to write programs to make fractal-like pictures?
Perhaps I'm just not visionary enough to see the potential, but I don't believe these techniques will really "democratize programming." Whether or not doing so is desirable in the first place is another debate altogether.
* C++ is a standardized, well known, popular language.
* C++ is nearly a superset of C90 used in GCC.
* The C subset of C++ is just as efficient as C.
* C++ supports cleaner code in several significant cases.
* C++ makes it easier to write and enforce cleaner interfaces.
* C++ never requires uglier code.
* C++ is not a panacea but it is an improvement.
It's interesting to me how defensive many of those justifications are. "It's just as efficient!" or "It's just a superset anyway!" Not until halfway through the list do we get any real description of expected benefits: C++ makes it easier to write and enforce interfaces, and C++ supports cleaner code in several significant cases. The last item is the most telling though: it's clear that these developers feel they've hit a point of crisis, and they are willing to take risks like this in order to lift themselves out of the problem.
That's the direction we've taken with ElectricAccelerator ( http://www.electric-cloud.com/products/electricaccelerator-d...) -- fix make, rather than cooking up Y.A.M.R. It hasn't (yet) fixed all of the issues with make, but it's hit some of the biggest.
(disclaimer: I'm the architect of ElectricAccelerator)
If 250GB/month is unreasonable, then those people should not be signing up for a 250GB/month service plan. There's nothing stopping him from getting a business plan, for example, with a larger cap or no cap at all. It's not reasonable for this user to expect to dictate both the bandwidth limits _and_ the low price point. Even if we stipulate that internet access is a human right, I don't think it's reasonable to assert that everybody is entitled to unlimited bandwidth to the internet, at somebody else's expense.
> How do my internet habits interfere with your internet habits?
As far as I know, at some point this guy's connection is going through a shared resource, whether that is a switch or router or hub or whatever. Those gadgets only have so much bandwidth available, which is shared amongst all the connections going through it. Sure, most of the time the limit of that hardware vastly exceeds the demands of those connections, but there _is_ a limit, and it is possible (albeit, perhaps, unlikely) that one guy, uploading _terabytes_ of data, could impede his neighbor's ability to enjoy the internet.
Most people separate paper flashcards into two piles as they go, one for those they got right and one for those they got wrong.
So today, we learned that machines can push buttons faster than people, and search is a great way to find answers for trivia questions. I doubt the former is a surprise to anybody alive in the past 50 years; the latter shouldn't surprise anybody who's ever used Google.
http://en.wikipedia.org/wiki/Radiation_symbol#Radioactive_si...
In fact, the symbol is so completely unintuitive that ISO came up with a new version:
http://upload.wikimedia.org/wikipedia/en/1/10/New_radiation_...
... which to me certainly does connote "these rocks shoot death rays!" as well as the sage advice "RUN!"
There are a handful projects that don't follow this pattern, such as Mozilla, but once you've built those they cease to be useful for flushing out new bugs.
So, what do you do once you've built all the open source projects you can find, and you are still finding incompatibilities in your parser when you go to customers? Markov chain-based makefiles are a reasonable way to extend the breadth of our testing. Obviously it's not the only thing we do, but it is another valuable tool to add to the toolbox.