Camera helmet

March 12, 2007

I saw this guy at Kirkwood a few weeks ago. There’s a camera on his helmet.



November 13, 2006

I will no longer be using this blog for technical posts. Check out the new Spongecell Tech Blog for all future technical postings by the engineering team.

Maybe I’ll keep using this blog for funny pictures of the CEO.

Apache2/Mongrel vs. Apache1/FastCGI vs. Pound of Mongrels

November 8, 2006

I did some performance testing of different server technologies on one of our AMD Sempron 2600s since we are thinking about upgrading our servers. Spongecell uses Ruby on Rails 1.1.6 and MySql 5.0.24a.


Here’s the lineup:

  • 1. The hip new server I had been dying to test is Apache 2.2.3 using mod_proxy with Mongrel
  • 2. Our current server is Apache 1.3.37 and FastCGI 2.4.0.
  • 3. The lightweight, no-frills Pound 2.1.6 with Mongrel
  • I pounded each of these servers with Apache Bench hitting one of our event/view links .e.g. ArnoCorp. This is a rails action that does some sql queries and renders rhtml.
    /usr/sbin/ab -c100 -n500

    All three servers performed similarly. FastCGI maxed at 19.1 requests/second whereas Mongrel only got to 17.1 requests/second. The optimum number of processes seemed to be about 12 for each server type. For serving a small static html file the Apache servers served ~1700 per second and Pound served 450.

    Mongrel and Pound are very easy to set up. In terms of performance, FastCGI is ahead by about 10%. I’m not sure 10% is significant enough to justify using FastCGI, it might be. We had FastCGI configured poorly for awhile and it led to some instabilities. FastCGI is a little tricky to configure for the first time unless you’re very familiar with httpd.conf. Since Spongecell has experience with FastCGI I suspect we will stick with it. For someone setting up a Rails server for the first time I would recommend using Pound to start with. You can then switch to Apache when you need more features or when serving static content becomes important.

    Ruby on Rails Log Analyzer – RAWK

    October 11, 2006

    Rail’s Analyzer with Klass

    Download it: rawk.rb
    run ruby rawk.rb -h for help.

    I wanted to analyze Spongecell’s log file to see where the most of our cpu time was being used. I checked out and after navigating myself in circles following the links I finally decided to download some stuff, install some gems, and give it a try. It didn’t work.

    I didn’t understand why I needed whole packages just to look at one log file. I could get a lot of information from the logs just using grep. So I started to write a tool in awk until Tom told me I should use ruby.

    Of course I should use ruby.

    Rawk is the result. Many sets of data are presented and grouped in many ways. The first thing you will want to optimize are probably the actions that your server sepnds the most time on. I ran rawk on our log a few minutes ago:


    The four most expensive requests for Spongecell are the poller (for keeping your calendar display up to date), iCalendar feeds from Spongecell, the normal web view of Spongecell, and RSS feeds.

    Please give this tool a try and let me know what you think. I’m happy to include improvements or make modifications.

    ** This script is released as beerware, something I first heard about on a mac bittorrent client. They defined it as software that is free and if you like it you should buy yourself a beer.

    The Future Web Apps SF

    September 14, 2006

    I went to the Future of Web Apps in London earlier this year as Spongecell’s avid blog readers already know. In SF all I do is crash the parties. Last night the party was at Mighty in Potrero Hill.
    This is James Hamilton of Yahoo! He is a prominent PM in the media division and did some very successful networking in between shots of Patron. In this picture I caught him illuminated by the Google schwag light cubes. What would be better than a heat generating plastic light in your premium cocktail? Answer: ice.
    I saw Cal Henderson of Flickr in London and here he is again in SF. He was trying to see how much Google schwag he could fit in his mouth. According to my watch he just finished his talk at the conference.

    Scale with Rails

    August 29, 2006

    I went to the Scale with Rails conference last week in Laguna Beach. I didn’t take any pictures of the six of us sitting there with our matching silver macbooks but here’s a picture of Dylan at Hennesy’s on karaoke night.

    The conference was really more of a fireside chat. Jason told us about his experiences and was able to give us some rules of thumb about scaling and configurations. This will probably save me some time in the future when I am experimenting with different setups for Spongecell.

    I was very interested to learn about DB scaling. Some sites that have proved their ability to grow often have data that is easily partitioned by user. For example, email sites can easily partition data. Google calendar has limited sharing of events. You typically have to copy an event if you want it on your calendar. Spongecell wants better social information so we want people to be sharing events as much as possible. Can we scale and still do this?

    On day 2 we did some benchmarking. We also saw dtrace in action. This tool profiles the entire system but currently is only on solaris. Supposedly it’ll be in Jaguar.

    I stayed a few days after the conference to enjoy the south coast and work on tanning my receding hair line.
    We walked across the border coming back from TJ and even though they x-rayed my bag we still got some fireworks and cuban cigars home.

    Tiger Fur

    August 18, 2006

    When I’m not using the tall display to show hundreds of lines of ruby code I use it for tiger fur.


    Frenchy Le Tech

    August 16, 2006

    I went to the French American Tech Connection event last night. Here are my summaries:
    Create your own tv show online! They accept video from anywhere, let you edit it online, and transmit it to anywhere.
    This is sort of cool. They let other services go mobile easy. For example, kayak made a service for them so if I text “kayak sfo to lax” to 411sync I can get back prices for flights. They were vague about their technology but said they received sms messages using a “sim card hooked up to some other technology.” They denied having a cell phone sitting in their living room that received all their messages.
    These guys make wap apps of your favorite desktop apps. From a wap page on my phone I can use outlook. I think you can edit and create events, they demoed that you can at least delete events. Spongecell needs wap. Soonr also lets you use skype from your cell phone which would be useful for internationals.
    They claim to be the google of the cell phone. and to have free form NLP. Spongecell prides itself on its NLP so of course I gave these guys a hard time. I asked for an example of the free form NLP and they said you could query for “sf movies” in addition to “movies sf” and get back the same response. They also gave me a postcard of search terms that were useful. They had a movie playing in the background of someone peeling potatoes with their feet.

    Spongcell at Carson Workshop, api, api, api

    February 16, 2006

    I went to the Carson Workshop in London last week. This picture is proof:
    me at carson

    The big message was that every application should have a mountain of public apis. Flickr and Amazon are always the big examples. Spongecell has a few channels for retrieving events and some methods for creating events and we’ll have some more soon.

    Someone presenting at Carson mentioned that once you publicize an api you cannot change it. People will be using that api and how are they going to recall that application they created that uses your api? They can’t. So make sure the api is right the first time.

    That’s swell, I thought. I’ll think about my apis before I put them out there.

    and then yesterday the president discovered this script!!!

    I didn’t tell anyone they could use my javascript functions as a public interface! We had planned on people sending and receiving data with spongecell but I never expected someone to stick their fingers into our innards. This is great! People have asked us to become open source but there’s no need to ask. Just create a grease monkey script and you are in control.

    Mr. w4g3n3r wrote a greasmonkey script that enables the scroll wheel inside of spongecell. Scrolling up or down will change the days displayed in your calendar. You can also zoom out and in if you scroll while holding the space bar down. I never got around to including this functionality mostly because browser scroll-wheel support is poor for macs. Thank you Mr. w4g3n3r! now I don’t have to write this.

    I never thought I would write a blog but now I need some way for you to hear my exclamation.


    February 4, 2006

    You are sponge worthy.