News for hackers. Stuff that matters.

joetyson

Kagi is pretty good at surfacing high quality third-party reviews. https://help.kagi.com/kagi/features/shopping.html
Re:Client-side Web Scraping on Monday June 04, 2012 @08:32PM (#4066733)
This looks really great, solves a lot of big problems.
There isn't really a mapping between backbones models and protorpc. Backbone.js assumes the model layer is RESTful where protorpc assumes you will make method calls, each via a POST call.

I'm interested in what a model layer would look like using protorpc. One idea is to take a similar path of abstraction as the underlying appengine datastore api does: use protocol buffers to express an "entity". So you might have:

    { 
      entity_type: 'Book',
      entity_fields: [ 
        { 
          field_type: int,
          field_name: 'title',
          required: true
        }
      ]
    }
This would be a proto definition called, "Entity". From here you could build procedure calls that send entities for doing common routines, such as updates, or deletes. If you can make a structure like this work, you can build an api with javascript which hides the protobufs from you all together.. When you call Model.get('Book').create({title: 'My book'}), it constructs the Entity protobuf and calls the remote call for creating a new entity.

Just an idea! Also - protorpc is in fresh development, so it's a good idea to join the discussion group and make suggestions: https://groups.google.com/forum/#!forum/google-protorpc-disc...

I don't see it mentioned very often, but google's closure-library has some really phenomenal patterns for building maintainable javascript. Its worth checking out Michael Bolin's book, Closure: The Definitive Guide, which goes in depth of the Component and Control frameworks.

I've been using the library for 2 or 3 years now, and I am always surprised to see it has such a small community.

Re: on Monday March 07, 2011 @12:35AM (#2296160)
You can also create a 'bind' that returns a function that when called applies the context you desire.

  function bind(fn, selfObj) {
     return function() {
        return fn.apply(selfObj || window);
     };
  }

  callback = bind(function(){ alert(this.hello); }, this);
Yeah - this is a great addition. I get a lot of email from developer mailing lists, it's really great insight!
Re:The original Google storage on Saturday December 18, 2010 @05:28PM (#2020466)
Me too! However, a few weeks ago I dropped in at gates and it appears they moved it to huang.
Re:Rackspace Buys Server Management Platform Cloudkick (YC W09) on Thursday December 16, 2010 @09:44AM (#2012157)
Congrats cloudkick! Rackspace is getting an awesome product and even more amazing team.

Older »