973 karma · joined March 24, 2008
"Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky…" — Professor Donald Knuth
When Jon Bentley assigned it as a problem in a course for professional programmers, he found that an astounding ninety percent failed to code a binary search correctly after several hours of working on it, and another study shows that accurate code for it is only found in five out of twenty textbooks (Kruse, 1999). Furthermore, Bentley's own implementation of binary search, published in his 1986 book Programming Pearls, contains an error that remained undetected for over twenty years.
http://en.wikipedia.org/wiki/Binary_search_algorithm#The_alg...
At least that's what I've gathered.
That said, I'd still like to see benchmarks showing Redis beating Beanstalkd. Of the two, I've only used Beanstalkd, but it's a great example of keeping things simple while still providing advanced functionality.
_
The letter was interpreted as, "Hey, we're running late, sorry. Oh yeah, we're also charging for the sleep report separately now; so, we'll make up for the delay by throwing in some free months that you already were planning on getting and then charging you for the latter months you also thought would be free. You're welcome!"
People felt duped, it's not about the dollar amount it's about trust. WakeMate have since clarified that basic reporting will remain free.
http://www.igvita.com/2007/01/15/svd-recommendation-system-i...
More info: http://www.oracle.com/technology/software/products/berkeley-...
matt@dynamictyping.org
If you're Google and have tons of résumés to sort, then fine; but in this case it seems a good way to miss a great hire.
The higher level abstraction aspects of a design pattern are usually better expressed without introducing codewords. E.g., the Observer pattern is just, "let's call a function on objects that want notification." It's the baggage that comes along with implementing these abstractions in blub that justifies a name as a pointer.
Related to the above, design patterns connote boilerplate; all that generic code that's needed to setup the pattern in blub.
I wouldn't discount Clojure as not ready for complicated web applications based on it's young age; Java servlets can be written in Clojure. Not that Java servlets are great, but they are widely used for non-trivial web sites.
Clojure is great at removing the ugliness of some Java APIs, I recall that Compojure is built atop servlets.
I've recently started a software company with a friend from Mason, but unfortunately we can't afford to hire.
Hit me up if you want to grab coffee/beer (contact info in profile). Good luck and welcome to DC!
I hoped for Scala to be Haskell on the JVM but it felt more like C++. It's clumsy, which may be the result of feature creep and lack of a single, strong design philosophy.
There may be other people out there that use an editor, or an OS, to impress others; but from personal experience and those of friends, there are plenty of people that learn vi and Emacs because they needed to get things done.
The right tool for any job depends on the person. Someone familiar with the details of HTML and CSS would likely be better off not using a WYSIWYG editor, but for someone unaware of and uninterested in DOMs and stylesheets that editor would be great.
Perhaps the UCI Machine Learning Repository would accept it. If not, I'm sure I could find a way to have it hosted at my university.
Python supports functions as objects that can be passed around, but that does not make it a FP language. Functional programming is about constraining mutability and declaring what you want, now how. Python does not lend itself to that style of programming.
Guido has spoken out against map/reduce/filter, lambda, and TCO in Python so many people interpret that as him disliking FP. I think it has more to do with Guido's aesthetic and Python's design principles than anything else.
"It is better to be described as a hacker by others than to describe oneself that way. Hackers consider themselves something of an elite (a meritocracy based on ability), though one to which new members are gladly welcome. There is thus a certain ego satisfaction to be had in identifying yourself as a hacker (but if you claim to be one and are not, you'll quickly be labeled bogus). See also wannabee."
Creating an application for building forms (e.g., Wufoo) is programming, building a form with Wufoo is not.
Note, I like the idea of getting non-programmers involved in programming activities. However, just because you work as a programmer and get stuck with things a non-programmer can do doesn't mean programmig is boring, it means you have a boring job.
And practicing meditation can't hurt, it'll help with focusing.
Lisp development in Emacs supports this setup.
I simply provided a single example that refuted your conjecture that Apple had no influence in the development world. It's irrelevant what either one of us thinks of Java or its future; Java was a significant, mainstream development tool and it was impacted by Apple development technologies.
One such example is Obj-C and NeXTStep's influence on Java (http://cs.gmu.edu/~sean/stuff/java-objc.html). Of course it was really NeXT's influence, but it was still Steve Jobs and company behind the scenes.