381 karma · joined November 2, 2010
I remained woefully ignorant of DDG until Spring of this year (no clue how, I just missed it), but once discovering it, my definition of a good search tool has been forever changed by a single character.
The ! (bang).
!walmart, !netflix, !.net, !clojure, !java, ...
!weatherspark (huh, it's not there, I'll submit that, now anyone can !weatherspark)
The ! means DDG is my single-point search engine for almost any site imaginable. And it uses that site's search feature instead of a naive textual scrape (a la Google).
And yes, as someone who lives less than five miles from work, it is a VERY compelling product. The only problem is traffic. In normal suburban traffic a long board + a helmet would make a motorcycle look downright benign in the safety department.
I've noticed the same trend. Even if no one questions or faults the point(s) being made re: evolution, a vitriolic jab at religion (particularly Christianity and, to a lesser extent, Judaism) is quite common in the comments.
This is a loss. To quote Richard D. Alexander (professor of Zoology at Univ. of Michigan and an evolutionist):
"...indeed, at this moment creation is the only alternative to evolution. Not only is this worth mentioning, but a comparison of the two alternatives can be an excellent exercise in logic and reason."
What little I do know about many founders of the major fields of science seems to indicate that the founding men and women saw no such dichotomy. Or at the least were willing to struggle with the questions rather than throw the entire matter out as "unscientific."
Lord Kelvin and Michael Faraday seem to have both Christians and creationists. Newton was a Christian and claimed that "all my discoveries have been made in answer to prayer." Joule (the unit's namesake) was at least a theist. Then we have Louis Pasteur, Christopher Columbus, George Washington Carver, Samuel Morse, and Blaise Pascal - each "men of faith."
Not that the above list should be taken as an argument by authority for faith. Certainly not. However, it does leave me wondering how these great thinkers saw the world so differently.
This statement is questionable.
What is true is this: many professional software developers are comfortable with imperative/OOP/mutability. This is easier (not simpler) because it's familiar. The benefits of immutability are not obvious/familiar.
Persistent data structures enable immutable data with cheap(ish) operations that can produce updated versions of that data. This means I can expose data to multiple threads, calling functions, etc... without worrying about that data being placed into an inconsistent state or viewed in an inconsistent state by callers.
Back when much of our profession malloc'ed their memory, we always had to answer the question "who is going to free() this chunk of the heap?" And when we answered wrong, or forgot to answer, we leaked memory. Garbage collectors, while imperfect from a controlability and performance standpoint, are much better at this than humans.
An excellent analogy exists with mutable data. When I expose a piece of mutable data via any public interface, I have to ask the question "who can change this data and how will consistency be enforced?" I'm left with the answer "I don't know, I hope no one gets it wrong" or even worse: "they better lock the right semaphore(s) in the correct order". Immutable data (implemented via persistent data structures) enables me to instead say "here's the data, if any caller would like to update, they can a) pass me an updated version which I can validate, or b) call into some part of my public interface and instruct me what update to make"
Or, in the case of Clojure (my blub at the moment), put the runtime in charge of maintaining consistency during mutation using refs and the STM.
Honestly, where is the barrier between the two? I'm not suggesting it doesn't exist, just genuinely asking where it is, or at least where it's near?
If only there was an open source implementation of this concept that I could run on my own hardware. Does anyone know of such a beast?
And, no, I don't want to roll my own versioned/timestamped row schema in an RDBMS - been there, suffered that.
Perhaps some sort of analysis/aggregation on the backend for the person(s) who review the submitted suggestions. An interesting idea is using Bayesian spam filtering techniques to filter out "whiny" suggestions...
After that it was Tiesto and Van Buuren.
Nu NRG is also good.
Is there some sort of disruption of (basic) programming skills coming the way blogging has disrupted journalism?
Clojure's approach to state is so good/different that it has completely changed the way I write code. It was a huge paradigm shift for me.
They seem to be utilizing a Kinect for capturing texture-mapped point clouds of indoor environments and objects. If it really does this, with true-to-size dimension measurements, this will be an incredible tool for "surveying" physical objects and spaces.
There is so much that is good about Java language which I take for granted after working with it for years and yet, given my daily use of it, I see the things that it is sorely missing. I'm a huge fan of Clojure, and have worked with JavaScript a lot too... and in the end I gnash my teeth at Java for lacking immutable data structures and lambdas/first-class functions. If/when these two items become parts of the Java language and JDK, Java will be a language which I (again) find a pleasure to use.
sprite.render(context);
or some such...Having said that, could you do a remix of the Noir-blog example that uses Korma as the data layer :)
Having the canvas consume the full client area in the browser would be helpful; there's a lot of wasted space in the margins. The title/input area could be top center and z-ordered above the canvas.