Real time Bart schedules for your cell phone 32

Posted by science on December 18, 2008

Update 8/18/11: Science is now convinced that pure Javascript front-ends apps rule. So I rewrote the Bart app to get rid of crufty old Rails backend, and replaced it with a shiny jQuery front-end. Here’s the current link to the Real-time Bart Arrivals page.

To make the front-end work I had to proxy the Bart XML feed on my own server b/c the BART server doesn’t provide cross site scripting access to this api, which is mildly annoying. But I wrote them to ask for a fix. In the meantime science provides a cross-site scripting friendly mirror of their feed here if you need it. Have fun!

Original post: Science knocked out a little Bart train application a couple of nights ago for your pleasure. Bart, for those foreigners, is the inter-city train system which services San Francisco and the surrounding areas.

The application provides you with real time arrival data for any station in the Bart system. It returns data in a format suitable for reading on most web-enabled cell phones.

To use this new application, simply point your phone (or computer) web browser to:

[[this link is deprecated. do not use]] http://www.misuse.org/transit/bart/stations

Continue reading…

MapQuest’s New API: MQ loses its mind? 47

Posted by science on December 17, 2008

Readers may be familiar with this site’s GeoX application, which integrates Yahoo, Google, and until the end of January, MapQuest. At that time, MapQuest is switching over to an alternative API system and decommissioning their old api. This seems to be getting a lot of good blog press, but Science is skeptical by nature. As we’ll see, not everything is as it appears.

Continue reading…

Changing the number of rings on ATT / Cingular cell phone 37

Posted by science on November 15, 2008

I found this recently on an AT&T forum post on how to change the amount of time your phone waits before rolling over to voice mail:

  1. On your phone, dial *#61# and click Send.
  2. Some information should be displayed: number that the calls are being forwarded to and the delay before the forwarding engages.
  3. Write down the number (including +1)
  4. Dial **61*+1xxxyyyzzzz*11*30# and hit Send. +1xxxyyyzzzz is the number you wrote down previously, 30 is the delay in seconds. The delay can be set in 5 second increments, 30 is maximum
  5. Dial *#61# to verify that the new settings are active.

The crucial detail is the “+” – you have to figure out how to include the plus in the dialed number. On my (8525) phone, I hold down “0″ for a while and it turns into “+”. I hope this helps someone else.

Web-based Design to Implementation 61

Posted by science on August 11, 2008

Full Speed Ahead
I’ve been through the process of going from a great graphic design to a website a few times, as I’m sure many readers have also. I was recently asked by a company for advice on this process, and I thought what I told them might be of interest to others more generally.
Continue reading…

Railsconf Resources 46

Posted by science on May 30, 2008


Some handy links from my rails conf presentation on search techniques in Rails.

The Presentation itself (pdf format) – CRUD isn’t spelled with an S: Advanced Searching in Rails (or original powerpoint format – much larger)

Continue reading…

Carbon footprint 28

Posted by science on May 21, 2008

“The concentration of C02 measured by scientists at the Mauna Loa Observatory in Hawaii now stands at 387 parts per million, the highest level for at least 650,000 years.”[1] “It’s getting kind of hot back here”[2]

  1. New Scientist, 17 May 2008
  2. http://en.wikipedia.org/wiki/Straight_to_Hell_(film)

Deep_merge: Ruby Recursive Merging for Hashes 51

Posted by science on May 19, 2008

Welcome to “deep_merge” – a ruby lib to help merging complex hash structures.

Ruby provides some nice merge capabilities in hash and array. But it rightly doesn’t give us recursive merging, because it’s too poorly defined to standardize. However, recursive merging sometimes solves problems that can’t be solved other ways. Continue reading…

For the differently evolved 43

Posted by science on April 08, 2008

Cartoon from New Scientist

(from American Scientist magazine, Mar-Apr 2008)

Thin vs. Mongrel: A Ruby on Rails performance shootout 75

Posted by science on April 07, 2008

Graph of nothing

Previously Science and wayneseguin published a study looking at the performance of nginx fair proxy. To take that a little further, Science conducted an examination of how Thin and Mongrel compare head-to-head on performance. For kicks we took a look at Rails page template caching facility to see if that significantly impacts performance (it does). Full details follow..

Continue reading…

Thin, Ruby on Rails & Nginx fair proxy: Performance testing 36

Posted by science on April 07, 2008

Meaurement scale

By science & wayneeseguin

Thin a new-ish application server, primarily designed for serving the same community as Zed Shaw’s (and now community managed) masterwork Mongrel. Its job is to dispatch web requests, primarily Rails and other Ruby frameworks. There’s plenty already written about Thin, to get you up and running.

I’ve been eying Thin and thanks to Wayne, I got motivated to test it out. He and I spent the better part of a day doing configuration analysis and performance testing on Thin in the context of EngineYard’s hosting environment. We had access to a brand new, unloaded “slice” (aka web server) on their server farm. The stack we used looks like:

Load balancers => Nginx => unix sockets => Thin => Rails

We ran a quite a few performance tests against Thin using the above setup and overall liked what we saw.

Continue reading…