First add your twitter username and password. Then server.rb and once it's started open websocket.html in your browser. You should see some tweets appear. If not take a look at the javascript console.
I've used Cucumber quite a bit on my last job. It's an excellent tool, and I believe readable tests are the way to the future. But I could never get around to write effective scenarios, or maintain the boatload of text that the suite becomes once you get to a point where you have decent coverage. On top of that, it didn't seem to take much for the suite to become really slow as tests were added.
A while ago I've seen a gist by Lachie Cox where he shows how to use RSpec and Capybara to do front-end tests. That sounded perfect for me. I love RSpec, I can write my own matchers when I need them with little code, and it reads damn nicely.
So for my Rails Rumble 2010 project, as usual, I rolled a Sinatra app and figured I should give the idea a shot. Below are my findings.
#!/bin/bash | |
# from here: http://www.codingsteps.com/install-redis-2-6-on-amazon-ec2-linux-ami-or-centos/ | |
# and here: https://raw.github.com/gist/257849/9f1e627e0b7dbe68882fa2b7bdb1b2b263522004/redis-server | |
############################################### | |
# To use: | |
# wget https://raw.github.com/gist/2776679/04ca3bbb9f085b192f6aca945120fe12d59f15f9/install-redis.sh | |
# chmod 777 install-redis.sh | |
# ./install-redis.sh | |
############################################### | |
echo "*****************************************" |
Latency Comparison Numbers (~2012) | |
---------------------------------- | |
L1 cache reference 0.5 ns | |
Branch mispredict 5 ns | |
L2 cache reference 7 ns 14x L1 cache | |
Mutex lock/unlock 25 ns | |
Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
Compress 1K bytes with Zippy 3,000 ns 3 us | |
Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
-- show running queries (pre 9.2) | |
SELECT procpid, age(clock_timestamp(), query_start), usename, current_query | |
FROM pg_stat_activity | |
WHERE current_query != '<IDLE>' AND current_query NOT ILIKE '%pg_stat_activity%' | |
ORDER BY query_start desc; | |
-- show running queries (9.2) | |
SELECT pid, age(clock_timestamp(), query_start), usename, query | |
FROM pg_stat_activity | |
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%' |
<script language="JavaScript" type="text/javascript"> | |
// Comcast Cable Communications, LLC Proprietary. Copyright 2012. | |
// Intended use is to display browser notifications for critical and time sensitive alerts. | |
var SYS_URL='/e8f6b078-0f35-11de-85c5-efc5ef23aa1f/aupm/notify.do'; | |
// var image_url='http://servicealerts.comcast.net:8080/images/mt'; | |
var image_url='http://xfinity.comcast.net/constantguard/BotAssistance/notice/images'; | |
var headertext1='<strong>Comcast Courtesy Notice</strong>'; | |
var textline1='You have reached 90% of your <b>monthly data usage allowance</b>.'; | |
var textline2='Please sign in for more information and to remove this alert.'; | |
var acknowledgebutton='<a href=\"#\" onClick="document.location.href=\''+SYS_URL+'?dispatch=redirect&redirectName=login¶mName=bmUid\'" title="Sign in to acknowledge" style="color: #FFFFFF;"><img alt="Sign in to acknowledge" src="'+image_url+'/mt_signin.png"/></a>'; |
rails_env = ENV['RAILS_ENV'] || 'production' | |
preload_app true | |
# number of workers - makes sure this matches memory config | |
worker_processes Integer(ENV['UNICORN_WORKERS'] || 2) | |
# restart workers if request takes too long | |
timeout Integer(ENV['UNICORN_TIMEOUT'] || 25) | |
# Only allow reasonable backlog of requests per worker |
To the members of the MIT community:
This past weekend, a distressing event disrupted the life of our campus community. I am writing now to share details about the incident and important information that affects us all.
The incident itself On Saturday, February 23 at 7:28 AM, the dispatch center at the Cambridge Police Department (CPD) received an electronic communication reporting an emergency at 77 Massachusetts Avenue. The communication came through a Sprint relay message service designed for people with hearing or speech impediments. The communication went on for more than 18 minutes, with a Sprint relay operator interacting with the caller and in turn communicating with a CPD dispatcher.
One minute into the communication, the caller reported someone with a “really big gun,” and “armor” who was “getting out of control.” The CPD dispatcher immediately sent CPD units and State Police to the site, and notified MIT Police.
Within two minutes of being notified, the first MIT Police units entered Buildi
window.alert = function() {}; | |
var customUsername = "POOOOP"; | |
var postMessage = 'POOOOOOP'; | |
var spamEvent = jQuery.Event("submit"); | |
//spamEvent.keyCode = 13; | |
GhostPost.username = customUsername; | |
(e.g. it will make more content and data openly available for researchers to use, it will produce novel insights into humanities data through visualisations...) *
GITenberg will improve the quality of Public Domain transcriptions of books by treating books like open source code. The GITenberg project has compiled an archive of 40,000 public domain ebooks, and by applying open source software tools and techniques to these texts,