My daily readings 07/15/2011

  • tags: CMS

  • tags: Javascipt Design pattern

    • Humans are hard-coded to form tribes. Remember high school? Google vs. Apple and Google vs. Facebook is like Chess vs. Football. Everyone takes sides, and everyone identifies with the side they took.

      The only way to avoid this is to be very introspective and realize that taking sides is not worth being proud of: anyone can take sides, and anyone can switch sides with no effort or intelligence required. I try to do this; I like Google+ better than Facebook, so I simply use Google+ and remind my friends that they should try it. But if they want to use Facebook; fine… get my updates from somewhere else.

      Similarly, there are things I’m fanboy-ish about, but these are usually things that I’ve invested intellectual effort into: Perl, Linux, Emacs, Free software. I get fanboyish about these topics because I’ve spend a good part of each day trying to make these communities better than they already are. So of course I want you to “make the jump”; that way, you can appreciate my work, which will motivate me to do more.

      This is tribalism too, but I hope it’s a “higher level” form.

  • tags: unicorn

  • tags: Google+

    • As you will have seen from our press release we had a great quarter–with revenue up by 32 per cent year on year and a new record for quarterly revenue at over $9 billion!

      We have substantially increased our velocity and execution this quarter–a key goal of mine since taking over as CEO

      It’s why I created a new, product focused management structure–with a clear leader responsible for each product area

      This new management team is working together fabulously … and has already achieved a lot in just three months

    • Our goal with Google+ is to make sharing on the web like sharing in real life, as well as to improve the overall Google experience
      Circles let you choose with precision who you are sharing with. Not surprisingly this has been very well received, because in real life, we share different things with different people.
      Hangouts allow for serendipitous interactions. Like in real life when you run into a few friends. It gives you seamless and fun multi user video and it’s really amazing!
    • Google+ is also a great example of another focus of mine–beautiful products that are simple and intuitive to use and was actually was one of the first products to contain our new visual redesign.
    • Greater focus has also been another big feature for me this quarter–more wood behind fewer arrows

      Last month, for example, we announced that we will be closing Google Health and Google PowerMeter

      We’ve also done substantial internal work simplifying and streamlining our product lines

    • We have tremendous new businesses being viewed as “crazy”
      We actually have a new metric to report of 550,000 Android Devices activated a day!
      That’s a HUGE number even by Google’s standards
      It’s the fastest growing browser
      With over 160 million users
    • But our emerging high usage products can generate huge new businesses for Google in the long run, just like search
      And we have tons of experience monetizing successful products over time
    • First, there is search and our ads products, the core driver of revenue for the company. Nikesh and Susan are going to talk more about ads later in the call

      Next, we have products that are enjoying high consumer success–YouTube, Android and Chrome. We are investing in these in order to optimize their long-term success

      Then we have our new products–Google+ and Commerce and Local. We are are investing in them to drive innovation and adoption

      Overall, we are focused on long term absolute profit and growth, as we have always been–and I will continue the tight financial management we have had in the last two years, even as we are making significant investments in our future

    • So continuing to hire the best, keeping them happy and well rewarded is crucial to our future
    • And we strive to make those services beautiful, simple and easy to use

      That way we can provide huge benefit to the world

  • tags: Brain

    • Thsi comes up all the time when discussion programmer intervies. No, there is no point in asking if somone has memorized something they can find in Google. But their is a point in asking questions to elicit their understanding of the relationships, correlations, causes, and effects between the facts. Being able to Google the answer to a relationship is not the same thing as understanding a relationship directly.
    • It seems that they tested the remembering on data that is uninteresting or/and useless to the subjects. It makes perfect sense not to remember such information and even more so when one knows it’s googleable.

      On the other hand (insert anecdata disclaimer here) I have found out that Google does not prevent me from remembering things like git options or obscure facts I had to dig up as ammunition in flamewars I participated in.

  • tags: Unicorn Nginx

  • tags: Khan iPad

  • tags: unicorn

    • nginx sends requests directly to the Unicorn worker pool over a Unix Domain Socket (or TCP, if you prefer). The Unicorn master manages the workers while the OS handles balancing, which we’ll talk about in a second. The master itself never sees any requests.
    • When the Unicorn master starts, it loads our app into memory. As soon as it’s ready to serve requests it forks 16 workers. Those workers then select() on the socket, only serving requests they’re capable of handling. In this way the kernel handles the load balancing for us.
    • The Unicorn master process knows exactly how long each worker has been processing a request. If a worker takes longer than 30s (we lowered it from mongrel’s default of 60s) to respond, the master immediately kills the worker and forks a new one. The new worker is instantly able to serve a new request – no multi-second startup penalty.


      When this happens the client is sent a 502 error page. You may have seen ours and wondered what it meant. Usually it means your request was killed before it completed.

  • tags: unicorn philosophy

    • Threads and Events Are Hard


      …to many developers. Reasons for this is beyond the scope of this document. unicorn avoids concurrency within each worker process so you have fewer things to worry about when developing your application. Of course unicorn can use multiple worker processes to utilize multiple CPUs or spindles. Applications can still use threads internally, however.

    • A “slow client” can be any client outside of your datacenter. Network traffic within a local network is always faster than traffic that crosses outside of it. The laws of physics do not allow otherwise.
    • If your application responses are larger than the socket buffer or if you’re handling large requests (uploads), worker processes will also be bottlenecked by the speed of the client connection. You should not allow unicorn to serve clients outside of your local network.
    • nginx is the only (Free) solution we know of that meets the above requirements.


      Indeed, the folks behind unicorn have deployed nginx as a reverse-proxy not only for Ruby applications, but also for production applications running Apache/mod_perl, Apache/mod_php and Apache Tomcat. In every single case, performance improved because application servers were able to use backend resources more efficiently and spend less time waiting on slow I/O.

  • tags: startup ideas

  • tags: unicorn Design

    • Like Mongrel, neither keepalive nor pipelining are supported. These aren’t needed since Unicorn is only designed to serve fast, low-latency clients directly. Do one thing, do it well; let nginx handle slow clients.

Posted from Diigo. The rest of my favorite links are here.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: