So, I’m watching Myth Busters and noodling around on the Internet while waiting for my laundry .. and I find Jyte.com. It’s based on an idea that’s about as simple as simple gets: you make a claim (“Myth Busters is awesome.”) and people vote yes or no.
What makes it compelling is that it’s easy find and socialize with people who share your opinions. Throw in OpenID for buzzword compliance, and a light weight reputation system, and it’s a pretty cool little application.
“Lily is a graphical data-flow programming environment that runs in a web browser. It’s currently in beta testing.”
Oh man, this is a total deep geek thing — but check out this video of creating a Flickr image browser and viewer, and keep in mind this is all done using javascript within a web browser.
http://www.lilyapp.org.nyud.net:8080/flickr-yui-lightbox.mov
Great stuff.

I like the “Grrr!”
It’s the little things that make applications like GMail such a pleasure to use. There are very few excuses for authoritarian messages and obscure error codes in software.
Internet does not enjoy being anthropomorphised — but people sure do like the human touch.
Alright! Looks like Google is beta testing a pay-per-action advertising system. This is a good thing for online businesses that generate money through visitors actions on their website — checking out a shopping cart, signing up for a mailing list, that sort of thing.
This is the logical next step in online advertising.
We started with pay-per-impression, where an advertiser pays every time their ad is displayed on someone’s web page. This isn’t particularly favorable for advertisers, because they’re paying whether or not someone is paying attention to their ads.
The solution to that problem was pay-per-click, where an advertiser pays every time their ad is clicked on. That pretty much guarantees that the person who clicked found something compelling in the advertisement, which provides advertisers a really great way to figure out what ads were most effective, and ties the cost of their advertising directly to the public’s interest. The downside for advertisers is that click through doesn’t guarantee a conversion, and so a really great ad would end up costing a heap of money if the website didn’t fulfill the user’s hopes and dreams.
Which brings us to pay-per-action, where an advertiser only pays when someone clicks an advertisement AND follows through with a particular action — like checking out a shopping cart, or signing up for a mailing list.
I dig it. Right now is a probably a great time to get into pay-per-action, because there aren’t many businesses competing for keywords and placement, so there’s probably some good deals to be had.
According to some, the next version of Katamari Damacy is named “Beautiful Katamari” and will be released on the Wii, PS3, and XBOX 360.

It will also completely destroy my life for about one month.
Good lord. Something happened in the flash memory industry over the last couple of months, and it kinda freaks me out (in a good way). Prices didn’t just halve on flash memory — they quartered. You can get 2GB for under $15
, for a USB drive smaller than a stick of Trident gum.
That’s not rational pricing. What happened? Over enthusiasm on the part of flash memory manufacturers? If the trend continues, a gigabyte is going to be “throw away” memory by the end of the year, and 4GB (the size of a DVD) will be under ten bucks.
Neat.
Well, this is fun. Here’s the configuration:
- Joyent Accelerator 64-L — We stripped it down and built it back up with the bare minimum Blastwave packages we need to run our apps (surprisingly few).
- Rails 1.2.2 Application — Moderate DB complexity, loaded with fixture data, and using acts_as_ferret extensively. No optimization at all (caching, query tweaking, etc.).
- Mongrel 1.0.1 — Running in production mode as a cluster with 4 instances (I think the server has 4 processor cores).
- nginx 0.5.14 — Built from scratch, and running the generic Rails/Mongrel configuration found on the wiki.
- PostgreSQL 8.1.4 — Out of the box configuration from the Blastwave package (nothing special, no ANALYZE statements).
We’re seeing about 50 connections served per second, with 80% of pages delivered within 150ms, and zero dropped or failed connections. I’m pretty sure we can double that if we spent any time optimizing the application and server stack.
Not bad .. but the big fat caveat is that it’s 11:00 PM so our box obviously isn’t loaded very heavily. We can burst up to 95% CPU utilization on the machine, so of course these numbers don’t reflect reality of peak hours. That said, we’ve never seen load reported over 0.2, even during peak.
I’m happy!
Update: I should note that the 50/sec rate is for a pretty dynamic application with some bells and whistles; connections for static content are in the hundreds per second, but not too applicable for our purposes.
We’re continuing our evaluation of TextDrive / Joyent Accelerators, and things are going well. Tech support is responsive to my odd requests, the forums are lively, and the system itself is quite speedy.
Tonight we’re installing nginx as the load balancing proxy for our Rails applications. It’s been personally recommended to us several times, battle tested by a few independent folks who are into these sorts of things, and received a lot of good press in the Rails community — and it’s mysteriously Russian. So, we’re quite interested to take it for a spin on our Accelerator.
First, there isn’t a Blastwave package for nginx, so we built from the tarball (which requires the PCRE sources). It’s a pretty simple, although it took some troubleshooting. The snag was that the PCRE build used tools that weren’t in my default $PATH, but were in /usr/ccs/bin.
So:
$ export PATH=$PATH:/usr/ccs/bin
… and then we’re off to the races:
$ wget http://sysoev.ru/nginx/nginx-x.x.x.tar.gz
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-x.x.tar.gz
$ gtar zxf nginx-x.x.x.tar.gz pcre-x.x.tar.gz
$ cd nginx-x.x.x
$ ./configure --prefix=/opt/nginx --with-pcre=../pcre-x.x
$ make
$ sudo make install
PS: Rails 1.2.3 was released today. And, happy birthday, Mom!
We’re test driving a Joyent Accelerator to see if a small cluster of them could be a reasonable replacement for our current hosting infrastructure. So far, so good — very speedy, and it looks like it’ll be easier to scale when we need more horsepower. For those not familiar, Joyent’s Accelerators are Solaris containers, Sun’s OS-level virtualization technology.
There are only two snags I’ve hit so far:
Clutter. When you get an Accelerator it comes preloaded with webmin, apache, php, mysql, courier, and all sorts of other things that people might want. However, we’re just deploying Rails apps, so the cruft has to go. We’ve spent a fair amount of time getting rid of the clutter … it would be GREAT if we could simply buy a bare-bones Accelerator.
Compilation. The Accelerators are well equipped with Blastwave packages for GCC and related tools, but Ruby wants to use Sun’s compilers for building native extensions — pretty critical to things like Mongrel or acts_as_ferret. There is a posted workaround here, but it could be a pain to diagnose if you’re not familiar with how gems are built.
Otherwise, it’s all rock and roll. Kudos to Joyent for getting this service off the ground — despite it’s rough edges, it’s a great service.