2 points by jcl less than 1 day ago | link | parent | top
cached about 1 hour ago
A smaller sample means a greater chance that it's not representative. If 10% of the population is colorblind (or left-handed, etc), you stand a greater-than-50% chance that a random group of five people won't identify a problem for this segment.

A larger number of available testers means more fresh eyeballs, hence a better chance of repeat queries yielding accurate first-impression data.

Feedback from people whose job it is to evaluate websites may not be representative of the average site visitor. They may be more familiar with common site layouts or have specific pet peeves.


1 point by iamwil less than 1 day ago | link | top
cached about 7 hours ago
As I understood it, the search results that you change are only local to you. Other people don't really see them.

Because of that, I think Google can encourage the behavior where people are sending links relevant to themselves up to the their front page in an honest way. If they click things up that have no relevance to themselves, they only screw up their own searches.

So if you have millions of people sending things relevant to themselves up the list, Google is basically gathering data about what the human 'gold standard' for a particular search query is (augmented by machine sorting first).

In information retrieval, one of the hard things is to know whether you've done a better job of returning search results or not, since a gold standard dataset is hard to come by and time consuming to produce.

Here, I think Google is simply using a mechanism where they're aligning people's self-interest to create accurate data they can use to compare their search algorithm tweaks.

All in all, a good thing. Even better if you can 'merge' search results from others that you trust..say your friends. I wouldn't mind merging my search results with _why's. More complexity that way, though.


1 point by fauigerzigerk less than 1 day ago | link | parent | top
cached about 12 hours ago
BigTable is totally unrelated to MapReduce though. It gains scalability by stripping 90% of the query and indexing features of RDBMS. It may be a reasonable tradeoff for a datastore that's supposed to support one single relatively simple application that's hit by millions of people. Not many apps work that way though, and those who do may be equally well served by a plain file system.

5 points by thomasfl less than 1 day ago | link | top
cached about 1 hour ago
Ruby has had huge impact on the way I write software. Whatever programming language or tools I'll use tomorrow, it will be dynamic.

Without Ruby on Rails there would have been no Groovy on Grails web application framework. But rubyist keep pushing limits, creating new kinds of database orm libraries like sequel and new web frameworks like sinatra.

Sinatra makes me write web applications that looks like haiku:

  require 'rubygems'
  require 'sinatra'

  get '/' do
     "This is a web application!"
  end
Sequel makes me write SQL queries that don't look like SQL:

  dataset = DB[:managers].where(:salary =>   5000..10000).order(:name, :department)
And haml makes html tagging look pretty:

  %h1 Markup
   %p
     .my_id Look ma, no end tags!
When you first got a taste for this style of programming, there's no going back. I don't now if I'll be coding Ruby, JRuby, JavaScript, Scala or Groovy tomorrow, but it will be done Ruby style.

2 points by imjustcreative 1 day ago | link
cached about 19 hours ago

1 point by tlrobinson 1 day ago | link | top
cached 1 day ago
Why is this a jQuery plugin? This is the sort of thing that should be library agnostic.

1 point by Jem 1 day ago | link | parent | top
cached 1 day ago
> To be a web developer today, you really have to have a big bag of tricks.

Especially if there's only one of you in a small organisation. I have to do everything from troubleshooting computer hardware/software issues, support client's email, domains and & hosting, to HTML/XHTML, CSS, PHP, MySQL, JavaScript (jQuery/Prototype), etc.


3 points by geuis 1 day ago | link | parent | top
cached 1 day ago
hey axod, I'm not sure what your previous exposure to jquery is but you really should try it if you haven't. I've used prototype and dojo over the years, but they don't hold a candle to jquery.

You are right in being suspect of speed issues. However, look at a common use of jQuery and compare it to straight JS.

$('a[href^="https"]').addClass('secureLink');

This one simple line selects all of the anchor tags on a page that are SSL links, then adds a custom css class to just those anchors. To write that in straight JS you would need roughly 7 lines, which includes an element match, looping through those, retrieving the href content of each one, doing a string match against the results, and adding a new attribute for the class.

At the end of it, the classic JS code isn't any more efficient and its a lot harder to write and read.

Additionally, since we've already selected the anchors with secure SSL links, we can do a lot more things with the jquery object without having to take the cost penalty of doing a new DOM lookup with getElementsByTagName and byId for subsequent operations. Lets chain some more operations:

$('a[href^="https"]').addClass('secureLink').appendTo( $('

'));

Now we're not only adding a custom class to the selection, we're moving all of our matching anchor elements to a new div that's being created on the fly called secureLinkDiv. This is very efficient because you're still operating on the initial object collection elements and you don't have to re-select the group for subsequent modifications.

In the rare cases where you can write straight JS that is more efficient than existing jQuery methods, regular JS mixes quite normally with jQuery. So you could use a selector like I did for the secure links, then iterate through that object and do your straight JS. Simple example:

$('a').each(function(i){ //reference each 'a' element by $(this) or with i });

Writing javascript in jQuery has made it SO MUCH EASIER to code now that I can't say enough how remarkable the difference is. JS used to be a fun thing to mess with, and a tiresome chore when writing code for work. Now with jQuery my code is much leaner and runs better, its also fun to write again and opens up a lot of possibilities to easily create different effects that would have been hard to do before, simply because the code would have been too lengthy to efficiently write and then debug.

Give jQuery a try. Its worth it.


5 points by fauigerzigerk 1 day ago | link | top
cached about 15 hours ago
I find this MapReduce vs RDBMS controversy so odd as the tasks for which both could be used are very few.

MapReduce is used to implement massively parallel batch pipelines. RDBMS are used either for interactive OLTP systems or for data warehouses meant to support queries that may not be known upfront.

Google uses MapReduce in a way similar to traditional ETL pipelines, not for query processing. You could fill any relational data warehouse using MapReduce. So why does this debate refer to SQL at all?.

The answer is stream processing, that is querying, filtering, analysing data without ever storing it. It's about making decisions based on data as it flows through the system. It's not stored in any index, it's thrown away as soon as possible. Google doesn't do that as far as I know, at least not in it's search engine. Algorithmic trading applications do that. Processing sensor data could conceivably work that way as well.

That blank stare from most companies is not surprising at all. There is just no sensible reason why anyone should think about using MapReduce where RDBMS are used today. That's just never going to happen because it's nonsense in 99% of all cases. MapReduce will be used more, but it will be used for new tasks, not as a replacement for anything.


1 point by jfarmer 2 days ago | link | parent | top
cached 1 day ago
Word. Unless Drupal has changed in the last year or two (and it might have), the number of queries Drupal issues for any given page is O((u+n)*m), where u is the number of users being displayed on the page, n is the number of nodes, and m is the number of modules installed.

You can cache static pages, but the constant activity of a social network makes that impossible if you're logged in.

Basically, if you install even a few modules on Drupal it'll take a big dump all over your database.