rst 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc ADDED
@@ -0,0 +1,3 @@
1
+ rvm use ruby-1.9.2-p290@rst --create # Sets the individual project gemset
2
+ rvm_project_rvmrc_default=1 # Enables gemset switch when leaving the dir
3
+
data/README.md CHANGED
@@ -6,12 +6,13 @@ A command line client for [rstat.us](http://rstat.us). Heavily influenced by [t]
6
6
  Current Functionality
7
7
  ---------------------
8
8
 
9
- * Runs with an exit status of 0.
9
+ * Read rstat.us world statuses without being logged in.
10
10
 
11
11
  Future functionality
12
12
  --------------------
13
13
 
14
- * Read statuses without being logged in.
14
+ * Log in and read your friends' statuses
15
+ * Post from the client
15
16
 
16
17
 
17
18
  Author: Carol Nichols
data/Rakefile CHANGED
@@ -14,7 +14,7 @@ Bundler::GemHelper.install_tasks
14
14
 
15
15
 
16
16
  Rake::TestTask.new do |t|
17
- t.pattern = 'test/tc_*.rb'
17
+ t.pattern = 'spec/*_spec.rb'
18
18
  end
19
19
 
20
20
 
data/bin/rst CHANGED
@@ -8,17 +8,25 @@ class App
8
8
  include Methadone::Main
9
9
  include Methadone::CLILogging
10
10
 
11
- main do # Add args you want: |like,so|
12
- # your program code here
13
- # You can access CLI options via
14
- # the options Hash
11
+ main do |command|
12
+ case command
13
+ when "world"
14
+ puts "\n"
15
+ puts Rst::CLI.world.join("\n\n")
16
+ else
17
+ puts opts
18
+ end
19
+ exit 0
15
20
  end
16
21
 
17
22
  # supplemental methods here
18
23
 
19
24
  # Declare command-line interface here
20
25
 
21
- # description "one line description of your app"
26
+ arg :command, :optional
27
+
28
+ description "A command line interface for rstat.us"
29
+
22
30
  #
23
31
  # Accept flags via:
24
32
  # on("--flag VAL","Some flag")
@@ -30,7 +38,7 @@ class App
30
38
  # Or, just call OptionParser methods on opts
31
39
  #
32
40
  # Require an argument
33
- # arg :some_arg
41
+ # arg :some_arg
34
42
  #
35
43
  # # Make an argument optional
36
44
  # arg :optional_arg, :optional
@@ -0,0 +1,25 @@
1
+ Feature: Help text
2
+ In order to be easy to learn and familiar
3
+ I want rst to have help text
4
+ So I don't have to look it up outside rst
5
+
6
+ Scenario: rst without args
7
+ When I run `rst`
8
+ Then the exit status should be 0
9
+ And the banner should be present
10
+ And the banner should document that this app takes options
11
+ And the following options should be documented:
12
+ |--version|
13
+ |--log-level|
14
+
15
+ Scenario: rst --help
16
+ When I get help for "rst"
17
+ Then the exit status should be 0
18
+ And the banner should be present
19
+ And the banner should document that this app takes options
20
+ And the following options should be documented:
21
+ |--version|
22
+ And the output should contain:
23
+ """
24
+ Usage: rst [options] [command]
25
+ """
@@ -1 +1,10 @@
1
1
  # Put your step definitions here
2
+
3
+ Then /^the output should contain (\d+) updates$/ do |num|
4
+ num = num.to_i
5
+
6
+ lines = all_output.split("\n")
7
+ non_blank_lines = lines.select{ |line| line.match(/\S+: \S+/) }
8
+
9
+ non_blank_lines.size.should == num
10
+ end
@@ -9,6 +9,7 @@ Before do
9
9
  @puts = true
10
10
  @original_rubylib = ENV['RUBYLIB']
11
11
  ENV['RUBYLIB'] = LIB_DIR + File::PATH_SEPARATOR + ENV['RUBYLIB'].to_s
12
+ @aruba_timeout_seconds = 5
12
13
  end
13
14
 
14
15
  After do
@@ -0,0 +1,9 @@
1
+ Feature: world
2
+ In order to read all updates on rstat.us
3
+ I want `rst world` to return all updates
4
+ So that I can see what everyone is up to
5
+
6
+ Scenario: default world
7
+ When I run `rst world`
8
+ Then the exit status should be 0
9
+ And the output should contain 20 updates
data/lib/rst.rb CHANGED
@@ -1,5 +1,10 @@
1
1
  require "rst/version"
2
+ require "rst/cli"
3
+ require "rst/status"
4
+ require "rst/client"
2
5
 
3
6
  module Rst
4
- # Your code goes here...
7
+
8
+
9
+
5
10
  end
@@ -0,0 +1,17 @@
1
+ module Rst
2
+ module CLI
3
+ extend self
4
+
5
+ def world(num = 20)
6
+ statuses = []
7
+ page = 0
8
+
9
+ while statuses.size < num do
10
+ page += 1
11
+ statuses.concat Rst::Client.messages_all(:page => page)
12
+ end
13
+
14
+ statuses.take(num)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,37 @@
1
+ require 'nokogiri'
2
+ require 'typhoeus'
3
+
4
+ module Rst
5
+ module Client
6
+ extend self
7
+
8
+ def base_uri
9
+ "http://rstat.us"
10
+ end
11
+
12
+ def messages_all(params = {:page => 1})
13
+ root_response = Nokogiri::HTML.parse(
14
+ Typhoeus::Request.get(base_uri).body
15
+ )
16
+
17
+ link = root_response.xpath(
18
+ "//a[contains(@rel, 'messages-all')]"
19
+ ).first
20
+
21
+ url = (URI(base_uri) + URI(link["href"])).to_s
22
+
23
+ all_response = Nokogiri::HTML.parse(
24
+ Typhoeus::Request.get(url).body
25
+ )
26
+
27
+ messages = all_response.css("div#messages ul.all li").map { |li|
28
+ Rst::Status.parse(li)
29
+ }
30
+
31
+ end
32
+
33
+ def hydra
34
+ Typhoeus::Hydra.hydra
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,27 @@
1
+ module Rst
2
+ class Status
3
+ attr_reader :username, :text
4
+
5
+ def initialize(params = {})
6
+ @username = cleanup_whitespace(params[:username])
7
+ @text = cleanup_whitespace(params[:text])
8
+ end
9
+
10
+ def to_s
11
+ "#{@username}: #{@text}"
12
+ end
13
+
14
+ def self.parse(li)
15
+ new(
16
+ :username => li.css("span.user-text").text,
17
+ :text => li.css("span.message-text").text
18
+ )
19
+ end
20
+
21
+ private
22
+
23
+ def cleanup_whitespace(html_text)
24
+ html_text.gsub(/\n/, ' ').squeeze(" ").strip
25
+ end
26
+ end
27
+ end
@@ -1,3 +1,3 @@
1
1
  module Rst
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -15,7 +15,13 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = Rst::VERSION
17
17
  gem.add_development_dependency('rdoc')
18
- gem.add_development_dependency('aruba')
18
+ gem.add_development_dependency('aruba', '~> 0.4.11')
19
+ gem.add_development_dependency('minitest', '~> 2.12.1')
20
+ gem.add_development_dependency('mocha', '~> 0.11.3')
19
21
  gem.add_development_dependency('rake','~> 0.9.2')
20
- gem.add_dependency('methadone', '~>1.2.0')
22
+ gem.add_development_dependency('vcr', '~> 2.1.1')
23
+
24
+ gem.add_dependency('methadone', '~> 1.2.0')
25
+ gem.add_dependency('typhoeus', '~> 0.3.3')
26
+ gem.add_dependency('nokogiri', '~> 1.5.2')
21
27
  end
@@ -0,0 +1,12 @@
1
+ require 'minitest/autorun'
2
+ require_relative 'vcr_setup'
3
+
4
+ describe "messages_all" do
5
+ describe "successful requests" do
6
+ it "gets the root URL, follows the a rel=messages_all, gets updates" do
7
+ VCR.use_cassette("successful_messages_all") do
8
+ Rst::Client.messages_all.size.must_equal 20
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,997 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://rstat.us
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ""
9
+ headers: {}
10
+
11
+ response:
12
+ status:
13
+ code: 200
14
+ message: "OK "
15
+ headers:
16
+ Server:
17
+ - nginx
18
+ Date:
19
+ - Sun, 03 Jun 2012 15:21:08 GMT
20
+ Content-Type:
21
+ - text/html; charset=utf-8
22
+ Transfer-Encoding:
23
+ - chunked
24
+ Connection:
25
+ - keep-alive
26
+ X-Ua-Compatible:
27
+ - IE=Edge,chrome=1
28
+ Etag:
29
+ - "\"9494d1201a8cdf2e3610a03952ce2677\""
30
+ Cache-Control:
31
+ - max-age=0, private, must-revalidate
32
+ X-Runtime:
33
+ - "0.885035"
34
+ X-Rack-Cache:
35
+ - miss
36
+ Set-Cookie:
37
+ - _rstat.us_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWY3OWFlMDlkY2RiYjA2MDI1NGNlMWVlMDkwNGNiZGUzBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMVlFbEMwQlozcXE1ZXhoWjFVeVpXVXNIbTBjOVA1UkFMVitWK216RmdVdjQ9BjsARg%3D%3D--dbb5b2682f34c441bee28e69f999157e5b1b177a; path=/; expires=Sun, 10-Jun-2012 15:21:08 GMT; HttpOnly
38
+ X-Varnish:
39
+ - "333407541"
40
+ Age:
41
+ - "0"
42
+ Via:
43
+ - 1.1 varnish
44
+ Content-Encoding:
45
+ - gzip
46
+ body:
47
+ encoding: ASCII-8BIT
48
+ string: |
49
+ <!DOCTYPE html>
50
+ <html class='no-js' lang='en'>
51
+ <head><script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
52
+ <meta charset='utf-8'>
53
+ <title>rstat.us</title>
54
+ <script src="/assets/application-85f9725f39cb94c87fedaf584d19c2b4.js" type="text/javascript"></script>
55
+ <link href="/assets/application-25f42916ee009ac80dfe4dc5aea6c47e.css" media="screen" rel="stylesheet" type="text/css" />
56
+ <meta content="authenticity_token" name="csrf-param" />
57
+ <meta content="YElC0BZ3qq5exhZ1UyZWUsHm0c9P5RALV+V+mzFgUv4=" name="csrf-token" />
58
+ <link href='images/mobile_icons/apple-touch-icon_114.png' rel='apple-touch-icon-precomposed' sizes='114x114'>
59
+ <link href='images/mobile_icons/apple-touch-icon_72.png' rel='apple-touch-icon-precomposed' sizes='72x72'>
60
+ <link href='images/mobile_icons/apple-touch-icon.png' rel='apple-touch-icon-precomposed'>
61
+
62
+ <script>
63
+ //<![CDATA[
64
+ var _gaq = _gaq || [];
65
+ _gaq.push(['_setAccount', 'UA-22030550-1']);
66
+ _gaq.push(['_trackPageview']);
67
+
68
+ (function() {
69
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
70
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
71
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
72
+ })();
73
+ //]]>
74
+ </script>
75
+
76
+ </head>
77
+
78
+ <body id='home'>
79
+ <div id='header-wrap'>
80
+ <div id='header'>
81
+ <div id='logo'>
82
+ <a href='/'>
83
+ <h1>
84
+ rstat.us
85
+ </h1>
86
+ </a>
87
+ </div>
88
+ <ul class='menu' id='main'>
89
+ <li class='home active'>
90
+ <a href='/' rel='index'>Home</a>
91
+ </li>
92
+ <li class='updates '>
93
+ <a href='/updates' rel='messages-all'>Updates</a>
94
+ </li>
95
+ <li class='search '>
96
+ <a href='/search'>Search</a>
97
+ </li>
98
+ <li class='users '>
99
+ <a href='/users'>Users</a>
100
+ </li>
101
+ </ul>
102
+
103
+
104
+ </div>
105
+ </div>
106
+
107
+
108
+ <div id='flash'>
109
+ </div>
110
+
111
+ <div id='welcome'>
112
+ <div class='wrap'>
113
+ <div id='intro'>
114
+ <h1>Hello.</h1>
115
+ <h3>Welcome to rstat.us</h3>
116
+ </div>
117
+ <div id='signup'>
118
+ <h3>Sign in with</h3>
119
+ <div class='twitter option'>
120
+ <a class='button' href='/auth/twitter'>
121
+ <span class='icon twitter'></span>
122
+ Twitter
123
+ </a>
124
+ </div>
125
+ <div class='username option'>
126
+ <a class='button' href='/login'>
127
+ <span class='icon comment'></span>
128
+ Username
129
+ </a>
130
+ </div>
131
+ </div>
132
+ </div>
133
+ </div>
134
+ <div id='pitch'>
135
+ <div class='wrap'>
136
+ <a class='col' href='/login' id='col-1'>
137
+ <div class='content'>
138
+ <h3>
139
+ Sign Up
140
+ </h3>
141
+ with Twitter or create a new account
142
+ </div>
143
+ <img alt="Slide1" src="/assets/slide1-5dd1b6b8ec93eb6f9d15b0d84f883231.png" />
144
+ </a>
145
+ <div class='col' id='col-2'>
146
+ <div class='content'>
147
+ <h3>
148
+ Connect
149
+ </h3>
150
+ to your friends and family around the world
151
+ </div>
152
+ <img alt="Slide2" src="/assets/slide2-1ab49b82188ee4ddfee0e94c875e0ec9.png" />
153
+ </div>
154
+ <div class='col last-col' id='col-3'>
155
+ <div class='content'>
156
+ <h3>
157
+ Share
158
+ </h3>
159
+ your thoughts in 140 characters or less
160
+ </div>
161
+ <img alt="Slide3" src="/assets/slide3-cfa4a836c6cf4b2ca6eee8c2dcc8f698.png" />
162
+ </div>
163
+ </div>
164
+ </div>
165
+ <div id='page'>
166
+ <div id='content-wrap'>
167
+ <div id='top'>
168
+ <h3>Recent updates</h3>
169
+ <p>What people are talking about right now</p>
170
+ </div>
171
+ <div id='content'>
172
+ <div class='updates'>
173
+ <div id='messages'>
174
+ <ul class='updates' id=''>
175
+ <li class='hentry message update' data-id='4fcb8067de8baf00010108a3' data-name='alpacaherder' id='update-4fcb8067de8baf00010108a3'>
176
+ <div class='author vcard'>
177
+ <a class='url' href='http://identi.ca/user/16938' rel='user'>
178
+ <div class="avatar"><a href="http://identi.ca/user/16938"><img alt="avatar" class="photo user-image" src="http://avatar3.status.net/i/identica/16938-96-20090624205858.jpeg" /></a></div>
179
+ </a>
180
+ <span class='fn'>
181
+ <a class='url' href='http://identi.ca/user/16938'>
182
+ Stephen Michael Kellat
183
+ (<span class="nickname user-text">alpacaherder</span>)
184
+ </a>
185
+ </span>
186
+ </div>
187
+ <div class='entry-content'>
188
+ <span class='message-text'>
189
+ Hebrews 12:1-3 now
190
+ </span>
191
+ </div>
192
+ <div class='info'>
193
+ <time class="published" datetime="2012-06-03T15:18:57Z" pubdate="pubdate"><a class="timeago" href="http://identi.ca/notice/94266528" rel="bookmark message" title="2012-06-03T15:18:57Z"><span class="date-time">2012-06-03T15:18:57</span></a></time>
194
+ </div>
195
+ <div class='actions'>
196
+ </div>
197
+ </li>
198
+ <li class='hentry message update' data-id='4fcb7f30de8baf0001010763' data-name='jpope' id='update-4fcb7f30de8baf0001010763'>
199
+ <div class='author vcard'>
200
+ <a class='url' href='http://micro.jpope.org/user/1' rel='user'>
201
+ <div class="avatar"><a href="http://micro.jpope.org/user/1"><img alt="avatar" class="photo user-image" src="https://secure.gravatar.com/avatar.php?gravatar_id=e22211b8862bd536337a38d8ca1ef443&amp;default=http%3A%2F%2Fmicro.jpope.org%2Ftheme%2Fjpope%2Fdefault-avatar-profile.png&amp;size=96" /></a></div>
202
+ </a>
203
+ <span class='fn'>
204
+ <a class='url' href='http://micro.jpope.org/user/1'>
205
+ jpope
206
+ (<span class="nickname user-text">jpope</span>)
207
+ </a>
208
+ </span>
209
+ </div>
210
+ <div class='entry-content'>
211
+ <span class='message-text'>
212
+ Compiling a video out of 4531 radar images. Should be fun. :)
213
+ </span>
214
+ </div>
215
+ <div class='info'>
216
+ <time class="published" datetime="2012-06-03T15:13:34Z" pubdate="pubdate"><a class="timeago" href="http://micro.jpope.org/notice/336574" rel="bookmark message" title="2012-06-03T15:13:34Z"><span class="date-time">2012-06-03T15:13:34</span></a></time>
217
+ </div>
218
+ <div class='actions'>
219
+ </div>
220
+ </li>
221
+ <li class='hentry message update' data-id='4fcb7ee0de8baf000101071b' data-name='alpacaherder' id='update-4fcb7ee0de8baf000101071b'>
222
+ <div class='author vcard'>
223
+ <a class='url' href='http://identi.ca/user/16938' rel='user'>
224
+ <div class="avatar"><a href="http://identi.ca/user/16938"><img alt="avatar" class="photo user-image" src="http://avatar3.status.net/i/identica/16938-96-20090624205858.jpeg" /></a></div>
225
+ </a>
226
+ <span class='fn'>
227
+ <a class='url' href='http://identi.ca/user/16938'>
228
+ Stephen Michael Kellat
229
+ (<span class="nickname user-text">alpacaherder</span>)
230
+ </a>
231
+ </span>
232
+ </div>
233
+ <div class='entry-content'>
234
+ <span class='message-text'>
235
+ Phillipians 3:12-16 now...
236
+ </span>
237
+ </div>
238
+ <div class='info'>
239
+ <time class="published" datetime="2012-06-03T15:12:31Z" pubdate="pubdate"><a class="timeago" href="http://identi.ca/notice/94266438" rel="bookmark message" title="2012-06-03T15:12:31Z"><span class="date-time">2012-06-03T15:12:31</span></a></time>
240
+ </div>
241
+ <div class='actions'>
242
+ </div>
243
+ </li>
244
+ <li class='hentry message update' data-id='4fcb7e9ade8baf00010106b4' data-name='alpacaherder' id='update-4fcb7e9ade8baf00010106b4'>
245
+ <div class='author vcard'>
246
+ <a class='url' href='http://identi.ca/user/16938' rel='user'>
247
+ <div class="avatar"><a href="http://identi.ca/user/16938"><img alt="avatar" class="photo user-image" src="http://avatar3.status.net/i/identica/16938-96-20090624205858.jpeg" /></a></div>
248
+ </a>
249
+ <span class='fn'>
250
+ <a class='url' href='http://identi.ca/user/16938'>
251
+ Stephen Michael Kellat
252
+ (<span class="nickname user-text">alpacaherder</span>)
253
+ </a>
254
+ </span>
255
+ </div>
256
+ <div class='entry-content'>
257
+ <span class='message-text'>
258
+ Today, we talk about retirement as mentioned in Numbers. Except for 1 reference, graduation &amp; retirement are concepts foreign to the Bible.
259
+ </span>
260
+ </div>
261
+ <div class='info'>
262
+ <time class="published" datetime="2012-06-03T15:11:20Z" pubdate="pubdate"><a class="timeago" href="http://identi.ca/notice/94266421" rel="bookmark message" title="2012-06-03T15:11:20Z"><span class="date-time">2012-06-03T15:11:20</span></a></time>
263
+ </div>
264
+ <div class='actions'>
265
+ </div>
266
+ </li>
267
+ <li class='hentry message update' data-id='4fcb7e84de8baf000101069b' data-name='parlementum' id='update-4fcb7e84de8baf000101069b'>
268
+ <div class='author vcard'>
269
+ <a class='url' href='http://parlementum.net/user/3785' rel='user'>
270
+ <div class="avatar"><a href="http://parlementum.net/user/3785"><img alt="avatar" class="photo user-image" src="http://parlementum.net/avatar/3785-96-20120119032323.jpeg" /></a></div>
271
+ </a>
272
+ <span class='fn'>
273
+ <a class='url' href='http://parlementum.net/user/3785'>
274
+ Charles Roth
275
+ (<span class="nickname user-text">parlementum</span>)
276
+ </a>
277
+ </span>
278
+ </div>
279
+ <div class='entry-content'>
280
+ <span class='message-text'>
281
+ The exuberant variety of little boats is as remarkable as the Royal Barge itself. <a href='/search?q=%23Jubilee'>#Jubilee</a>
282
+ </span>
283
+ </div>
284
+ <div class='info'>
285
+ <time class="published" datetime="2012-06-03T15:10:41Z" pubdate="pubdate"><a class="timeago" href="http://parlementum.net/notice/2805967" rel="bookmark message" title="2012-06-03T15:10:41Z"><span class="date-time">2012-06-03T15:10:41</span></a></time>
286
+ </div>
287
+ <div class='actions'>
288
+ </div>
289
+ </li>
290
+ <li class='hentry message update' data-id='4fcb7e11de8baf00010105d3' data-name='alpacaherder' id='update-4fcb7e11de8baf00010105d3'>
291
+ <div class='author vcard'>
292
+ <a class='url' href='http://identi.ca/user/16938' rel='user'>
293
+ <div class="avatar"><a href="http://identi.ca/user/16938"><img alt="avatar" class="photo user-image" src="http://avatar3.status.net/i/identica/16938-96-20090624205858.jpeg" /></a></div>
294
+ </a>
295
+ <span class='fn'>
296
+ <a class='url' href='http://identi.ca/user/16938'>
297
+ Stephen Michael Kellat
298
+ (<span class="nickname user-text">alpacaherder</span>)
299
+ </a>
300
+ </span>
301
+ </div>
302
+ <div class='entry-content'>
303
+ <span class='message-text'>
304
+ Yeah, wasn't intending to bong the lid on the communion cup carrier stack. Made out as if I intended that. Looked crypto-Catholic again...
305
+ </span>
306
+ </div>
307
+ <div class='info'>
308
+ <time class="published" datetime="2012-06-03T15:09:01Z" pubdate="pubdate"><a class="timeago" href="http://identi.ca/notice/94266389" rel="bookmark message" title="2012-06-03T15:09:01Z"><span class="date-time">2012-06-03T15:09:01</span></a></time>
309
+ </div>
310
+ <div class='actions'>
311
+ </div>
312
+ </li>
313
+ </ul>
314
+ <nav class='pagination'>
315
+ </nav>
316
+
317
+ </div>
318
+
319
+ </div>
320
+ </div>
321
+ <div id='bottom'>
322
+ <div class='login'>
323
+ <a href='/login'>
324
+ Join the conversation
325
+ </a>
326
+ </div>
327
+ <div class='read-more'>
328
+ <a href='/updates' rel='messages-all'>
329
+ more...
330
+ </a>
331
+ </div>
332
+ </div>
333
+ </div>
334
+ <div id='sidebar'>
335
+ <div id='manifesto'>
336
+ <h3>rstat.us?</h3>
337
+
338
+ <p>Microblogging has taken the world by storm. Millions of people around the world now share their thoughts with friends, family, and random strangers every day. Links are shared, stories are told, and events are discussed. rstatus is the newest place to participate in the collective conscious of the planet.</p>
339
+
340
+ <h3>What's different about it?</h3>
341
+
342
+ <p>There are two things that make rstat.us special: <em>simplicity</em> and <em>openness</em>.</p>
343
+
344
+ <p><strong>Simplicity</strong> is a core 'feature' of rstat.us. We pride ourselves on saying 'no' to lots of features. Our interface is clean, and easy to understand. We give you just enough features to be interesting, but not enough to be complicated and confusing.</p>
345
+
346
+ <p>If you're a software developer, you'll probably want to check out our <a href="/open_source">Open Source page</a>. If that's greek to you, here's the deal on <strong>Openness</strong>: the programming code that makes up rstat.us is available for anyone to download, free of charge. Programmers can use that code to run their own websites just like rstat.us, and you can subscribe to your friends on any site that supports the <a href="http://ostatus.org/about">OStatus protocol</a>, like <a href="http://identi.ca/">identi.ca</a>. This also means that you can own your data, we'll never stop you from having full access to everything you've put into rstat.us.</p>
347
+
348
+ <p>- The <strong>rstat.us</strong> team</p>
349
+ </div>
350
+ </div>
351
+ </div>
352
+ <div id='footer'>
353
+ <div id='footer-wrap'>
354
+ <div id='footer-logo'>
355
+ <a href='/'>
356
+ rstat.us
357
+ </a>
358
+ </div>
359
+ <ul class='menu' id='footer-meu'>
360
+ <li class='home active'>
361
+ <a href='/'>Home</a>
362
+ </li>
363
+ <li class='login/signup '>
364
+ <a href='/login'>Login/Signup</a>
365
+ </li>
366
+ <li class='open_source '>
367
+ <a href='/open_source'>Open Source</a>
368
+ </li>
369
+ <li class='contact '>
370
+ <a href='/contact'>Contact</a>
371
+ </li>
372
+
373
+ </ul>
374
+
375
+ </div>
376
+ </div>
377
+
378
+ <script type="text/javascript">if (!NREUMQ.f) { NREUMQ.f=function() {
379
+ NREUMQ.push(["load",new Date().getTime()]);
380
+ var e=document.createElement("script");
381
+ e.type="text/javascript";e.async=true;e.src="https://d1ros97qkrwjf5.cloudfront.net/36/eum/rum-staging.js";
382
+ document.body.appendChild(e);
383
+ if(NREUMQ.a)NREUMQ.a();
384
+ };
385
+ NREUMQ.a=window.onload;window.onload=NREUMQ.f;
386
+ };
387
+ NREUMQ.push(["nrfj","beacon-1.newrelic.com","1b64b06072",527427,"IF1bEhcOWQhXRxxFTQJGXAVKCVoJV0VSUVw=",0.0,818,new Date().getTime(),"","","","",""])</script></body>
388
+ </html>
389
+
390
+ http_version: "1.1"
391
+ recorded_at: Sun, 03 Jun 2012 15:21:12 GMT
392
+ - request:
393
+ method: get
394
+ uri: http://rstat.us/updates
395
+ body:
396
+ encoding: US-ASCII
397
+ string: ""
398
+ headers: {}
399
+
400
+ response:
401
+ status:
402
+ code: 200
403
+ message: "OK "
404
+ headers:
405
+ Server:
406
+ - nginx
407
+ Date:
408
+ - Sun, 03 Jun 2012 15:21:10 GMT
409
+ Content-Type:
410
+ - text/html; charset=utf-8
411
+ Transfer-Encoding:
412
+ - chunked
413
+ Connection:
414
+ - keep-alive
415
+ X-Ua-Compatible:
416
+ - IE=Edge,chrome=1
417
+ Etag:
418
+ - "\"6e69fa3d8325513ac67d60775fa95e7e\""
419
+ Cache-Control:
420
+ - max-age=0, private, must-revalidate
421
+ X-Runtime:
422
+ - "1.679158"
423
+ X-Rack-Cache:
424
+ - miss
425
+ Set-Cookie:
426
+ - _rstat.us_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWI2OWRlNDI5NGM0NWNkMjk4ZmVkODM0NTkzNjRjZDYyBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMU84bkFBampDc0F2NjJMUnBacllRUGpObFdRbCtzTlhtWFNKSWdWTkNrNkk9BjsARg%3D%3D--68469855ee3de2a6f1bc56eea36b0631bb26e691; path=/; expires=Sun, 10-Jun-2012 15:21:10 GMT; HttpOnly
427
+ X-Varnish:
428
+ - "1092141205"
429
+ Age:
430
+ - "0"
431
+ Via:
432
+ - 1.1 varnish
433
+ Content-Encoding:
434
+ - gzip
435
+ body:
436
+ encoding: ASCII-8BIT
437
+ string: "<!DOCTYPE html>\n\
438
+ <html class='no-js' lang='en'>\n\
439
+ <head><script type=\"text/javascript\">var NREUMQ=NREUMQ||[];NREUMQ.push([\"mark\",\"firstbyte\",new Date().getTime()]);</script>\n\
440
+ <meta charset='utf-8'>\n\
441
+ <title>updates - rstat.us</title>\n\
442
+ <script src=\"/assets/application-85f9725f39cb94c87fedaf584d19c2b4.js\" type=\"text/javascript\"></script>\n\
443
+ <link href=\"/assets/application-25f42916ee009ac80dfe4dc5aea6c47e.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n\
444
+ <meta content=\"authenticity_token\" name=\"csrf-param\" />\n\
445
+ <meta content=\"O8nAAjjCsAv62LRpZrYQPjNlWQl+sNXmXSJIgVNCk6I=\" name=\"csrf-token\" />\n\
446
+ <link href='images/mobile_icons/apple-touch-icon_114.png' rel='apple-touch-icon-precomposed' sizes='114x114'>\n\
447
+ <link href='images/mobile_icons/apple-touch-icon_72.png' rel='apple-touch-icon-precomposed' sizes='72x72'>\n\
448
+ <link href='images/mobile_icons/apple-touch-icon.png' rel='apple-touch-icon-precomposed'>\n\n\
449
+ <script>\n //<![CDATA[\n var _gaq = _gaq || [];\n _gaq.push(['_setAccount', 'UA-22030550-1']);\n _gaq.push(['_trackPageview']);\n \n (function() {\n var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);\n })();\n //]]>\n\
450
+ </script>\n\n\
451
+ </head>\n\n\
452
+ <body>\n\
453
+ <div id='header-wrap'>\n\
454
+ <div id='header'>\n\
455
+ <div id='logo'>\n\
456
+ <a href='/'>\n\
457
+ <h1>\n\
458
+ rstat.us\n\
459
+ </h1>\n\
460
+ </a>\n\
461
+ </div>\n\
462
+ <ul class='menu' id='main'>\n\
463
+ <li class='home '>\n <a href='/' rel='index'>Home</a>\n </li>\n\
464
+ <li class='updates active'>\n <a href='/updates' rel='messages-all'>Updates</a>\n </li>\n\
465
+ <li class='search '>\n <a href='/search'>Search</a>\n </li>\n\
466
+ <li class='users '>\n <a href='/users'>Users</a>\n </li>\n\
467
+ </ul>\n\n\n\
468
+ </div>\n\
469
+ </div>\n\n\n\
470
+ <div id='page'>\n\
471
+ <div id='content-wrap'>\n\
472
+ <div id='top'>\n\
473
+ <div id='flash'>\n\
474
+ </div>\n\n\
475
+ <div id='updates-menu-wrap'>\n\
476
+ <div id='updates-menu-background'>\n\
477
+ <ul class='menu' id='updates-menu'>\n\
478
+ <li class='world active'>\n <a href='/updates'><div class='icon'></div>World</a>\n </li>\n\
479
+ </ul>\n\n\
480
+ </div>\n\
481
+ </div>\n\n\
482
+ </div>\n\
483
+ <div id='content'>\n\
484
+ <div id='messages'>\n\
485
+ <ul class='all has-update-form updates' id='updates'>\n\
486
+ <li class='hentry message update' data-id='4fcb8067de8baf00010108a3' data-name='alpacaherder' id='update-4fcb8067de8baf00010108a3'>\n\
487
+ <div class='author vcard'>\n\
488
+ <a class='url' href='http://identi.ca/user/16938' rel='user'>\n\
489
+ <div class=\"avatar\"><a href=\"http://identi.ca/user/16938\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://avatar3.status.net/i/identica/16938-96-20090624205858.jpeg\" /></a></div>\n\
490
+ </a>\n\
491
+ <span class='fn'>\n\
492
+ <a class='url' href='http://identi.ca/user/16938'>\n\
493
+ Stephen Michael Kellat\n\
494
+ (<span class=\"nickname user-text\">alpacaherder</span>)\n\
495
+ </a>\n\
496
+ </span>\n\
497
+ </div>\n\
498
+ <div class='entry-content'>\n\
499
+ <span class='message-text'>\n\
500
+ Hebrews 12:1-3 now\n\
501
+ </span>\n\
502
+ </div>\n\
503
+ <div class='info'>\n\
504
+ <time class=\"published\" datetime=\"2012-06-03T15:18:57Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://identi.ca/notice/94266528\" rel=\"bookmark message\" title=\"2012-06-03T15:18:57Z\"><span class=\"date-time\">2012-06-03T15:18:57</span></a></time>\n\
505
+ </div>\n\
506
+ <div class='actions'>\n\
507
+ </div>\n\
508
+ </li>\n\
509
+ <li class='hentry message update' data-id='4fcb7f30de8baf0001010763' data-name='jpope' id='update-4fcb7f30de8baf0001010763'>\n\
510
+ <div class='author vcard'>\n\
511
+ <a class='url' href='http://micro.jpope.org/user/1' rel='user'>\n\
512
+ <div class=\"avatar\"><a href=\"http://micro.jpope.org/user/1\"><img alt=\"avatar\" class=\"photo user-image\" src=\"https://secure.gravatar.com/avatar.php?gravatar_id=e22211b8862bd536337a38d8ca1ef443&amp;default=http%3A%2F%2Fmicro.jpope.org%2Ftheme%2Fjpope%2Fdefault-avatar-profile.png&amp;size=96\" /></a></div>\n\
513
+ </a>\n\
514
+ <span class='fn'>\n\
515
+ <a class='url' href='http://micro.jpope.org/user/1'>\n\
516
+ jpope\n\
517
+ (<span class=\"nickname user-text\">jpope</span>)\n\
518
+ </a>\n\
519
+ </span>\n\
520
+ </div>\n\
521
+ <div class='entry-content'>\n\
522
+ <span class='message-text'>\n\
523
+ Compiling a video out of 4531 radar images. Should be fun. :)\n\
524
+ </span>\n\
525
+ </div>\n\
526
+ <div class='info'>\n\
527
+ <time class=\"published\" datetime=\"2012-06-03T15:13:34Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://micro.jpope.org/notice/336574\" rel=\"bookmark message\" title=\"2012-06-03T15:13:34Z\"><span class=\"date-time\">2012-06-03T15:13:34</span></a></time>\n\
528
+ </div>\n\
529
+ <div class='actions'>\n\
530
+ </div>\n\
531
+ </li>\n\
532
+ <li class='hentry message update' data-id='4fcb7ee0de8baf000101071b' data-name='alpacaherder' id='update-4fcb7ee0de8baf000101071b'>\n\
533
+ <div class='author vcard'>\n\
534
+ <a class='url' href='http://identi.ca/user/16938' rel='user'>\n\
535
+ <div class=\"avatar\"><a href=\"http://identi.ca/user/16938\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://avatar3.status.net/i/identica/16938-96-20090624205858.jpeg\" /></a></div>\n\
536
+ </a>\n\
537
+ <span class='fn'>\n\
538
+ <a class='url' href='http://identi.ca/user/16938'>\n\
539
+ Stephen Michael Kellat\n\
540
+ (<span class=\"nickname user-text\">alpacaherder</span>)\n\
541
+ </a>\n\
542
+ </span>\n\
543
+ </div>\n\
544
+ <div class='entry-content'>\n\
545
+ <span class='message-text'>\n\
546
+ Phillipians 3:12-16 now...\n\
547
+ </span>\n\
548
+ </div>\n\
549
+ <div class='info'>\n\
550
+ <time class=\"published\" datetime=\"2012-06-03T15:12:31Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://identi.ca/notice/94266438\" rel=\"bookmark message\" title=\"2012-06-03T15:12:31Z\"><span class=\"date-time\">2012-06-03T15:12:31</span></a></time>\n\
551
+ </div>\n\
552
+ <div class='actions'>\n\
553
+ </div>\n\
554
+ </li>\n\
555
+ <li class='hentry message update' data-id='4fcb7e9ade8baf00010106b4' data-name='alpacaherder' id='update-4fcb7e9ade8baf00010106b4'>\n\
556
+ <div class='author vcard'>\n\
557
+ <a class='url' href='http://identi.ca/user/16938' rel='user'>\n\
558
+ <div class=\"avatar\"><a href=\"http://identi.ca/user/16938\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://avatar3.status.net/i/identica/16938-96-20090624205858.jpeg\" /></a></div>\n\
559
+ </a>\n\
560
+ <span class='fn'>\n\
561
+ <a class='url' href='http://identi.ca/user/16938'>\n\
562
+ Stephen Michael Kellat\n\
563
+ (<span class=\"nickname user-text\">alpacaherder</span>)\n\
564
+ </a>\n\
565
+ </span>\n\
566
+ </div>\n\
567
+ <div class='entry-content'>\n\
568
+ <span class='message-text'>\n\
569
+ Today, we talk about retirement as mentioned in Numbers. Except for 1 reference, graduation &amp; retirement are concepts foreign to the Bible.\n\
570
+ </span>\n\
571
+ </div>\n\
572
+ <div class='info'>\n\
573
+ <time class=\"published\" datetime=\"2012-06-03T15:11:20Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://identi.ca/notice/94266421\" rel=\"bookmark message\" title=\"2012-06-03T15:11:20Z\"><span class=\"date-time\">2012-06-03T15:11:20</span></a></time>\n\
574
+ </div>\n\
575
+ <div class='actions'>\n\
576
+ </div>\n\
577
+ </li>\n\
578
+ <li class='hentry message update' data-id='4fcb7e84de8baf000101069b' data-name='parlementum' id='update-4fcb7e84de8baf000101069b'>\n\
579
+ <div class='author vcard'>\n\
580
+ <a class='url' href='http://parlementum.net/user/3785' rel='user'>\n\
581
+ <div class=\"avatar\"><a href=\"http://parlementum.net/user/3785\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://parlementum.net/avatar/3785-96-20120119032323.jpeg\" /></a></div>\n\
582
+ </a>\n\
583
+ <span class='fn'>\n\
584
+ <a class='url' href='http://parlementum.net/user/3785'>\n\
585
+ Charles Roth\n\
586
+ (<span class=\"nickname user-text\">parlementum</span>)\n\
587
+ </a>\n\
588
+ </span>\n\
589
+ </div>\n\
590
+ <div class='entry-content'>\n\
591
+ <span class='message-text'>\n\
592
+ The exuberant variety of little boats is as remarkable as the Royal Barge itself. <a href='/search?q=%23Jubilee'>#Jubilee</a>\n\
593
+ </span>\n\
594
+ </div>\n\
595
+ <div class='info'>\n\
596
+ <time class=\"published\" datetime=\"2012-06-03T15:10:41Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://parlementum.net/notice/2805967\" rel=\"bookmark message\" title=\"2012-06-03T15:10:41Z\"><span class=\"date-time\">2012-06-03T15:10:41</span></a></time>\n\
597
+ </div>\n\
598
+ <div class='actions'>\n\
599
+ </div>\n\
600
+ </li>\n\
601
+ <li class='hentry message update' data-id='4fcb7e11de8baf00010105d3' data-name='alpacaherder' id='update-4fcb7e11de8baf00010105d3'>\n\
602
+ <div class='author vcard'>\n\
603
+ <a class='url' href='http://identi.ca/user/16938' rel='user'>\n\
604
+ <div class=\"avatar\"><a href=\"http://identi.ca/user/16938\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://avatar3.status.net/i/identica/16938-96-20090624205858.jpeg\" /></a></div>\n\
605
+ </a>\n\
606
+ <span class='fn'>\n\
607
+ <a class='url' href='http://identi.ca/user/16938'>\n\
608
+ Stephen Michael Kellat\n\
609
+ (<span class=\"nickname user-text\">alpacaherder</span>)\n\
610
+ </a>\n\
611
+ </span>\n\
612
+ </div>\n\
613
+ <div class='entry-content'>\n\
614
+ <span class='message-text'>\n\
615
+ Yeah, wasn't intending to bong the lid on the communion cup carrier stack. Made out as if I intended that. Looked crypto-Catholic again...\n\
616
+ </span>\n\
617
+ </div>\n\
618
+ <div class='info'>\n\
619
+ <time class=\"published\" datetime=\"2012-06-03T15:09:01Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://identi.ca/notice/94266389\" rel=\"bookmark message\" title=\"2012-06-03T15:09:01Z\"><span class=\"date-time\">2012-06-03T15:09:01</span></a></time>\n\
620
+ </div>\n\
621
+ <div class='actions'>\n\
622
+ </div>\n\
623
+ </li>\n\
624
+ <li class='hentry message update' data-id='4fcb7af8de8baf0001010059' data-name='parlementum' id='update-4fcb7af8de8baf0001010059'>\n\
625
+ <div class='author vcard'>\n\
626
+ <a class='url' href='http://parlementum.net/user/3785' rel='user'>\n\
627
+ <div class=\"avatar\"><a href=\"http://parlementum.net/user/3785\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://parlementum.net/avatar/3785-96-20120119032323.jpeg\" /></a></div>\n\
628
+ </a>\n\
629
+ <span class='fn'>\n\
630
+ <a class='url' href='http://parlementum.net/user/3785'>\n\
631
+ Charles Roth\n\
632
+ (<span class=\"nickname user-text\">parlementum</span>)\n\
633
+ </a>\n\
634
+ </span>\n\
635
+ </div>\n\
636
+ <div class='entry-content'>\n\
637
+ <span class='message-text'>\n\
638
+ The weather on the Willamette is slightly betterthan the Thames this morning.\n\
639
+ </span>\n\
640
+ </div>\n\
641
+ <div class='info'>\n\
642
+ <time class=\"published\" datetime=\"2012-06-03T14:55:34Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://parlementum.net/notice/2805706\" rel=\"bookmark message\" title=\"2012-06-03T14:55:34Z\"><span class=\"date-time\">2012-06-03T14:55:34</span></a></time>\n\
643
+ </div>\n\
644
+ <div class='actions'>\n\
645
+ </div>\n\
646
+ </li>\n\
647
+ <li class='hentry message update' data-id='4fcb7893de8baf000100fb78' data-name='atomicules' id='update-4fcb7893de8baf000100fb78'>\n\
648
+ <div class='author vcard'>\n\
649
+ <a class='url' href='/users/atomicules' rel='user'>\n\
650
+ <div class=\"avatar\"><a href=\"/users/atomicules\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://gravatar.com/avatar/1fc29395337e8d71ace72c869e4e21e3?s=48&amp;r=r&amp;d=avatar.png\" /></a></div>\n\
651
+ </a>\n\
652
+ <span class='fn'>\n\
653
+ <a class='url' href='/users/atomicules'>\n\
654
+ atomicules\n\
655
+ (<span class=\"nickname user-text\">atomicules</span>)\n\
656
+ </a>\n\
657
+ </span>\n\
658
+ </div>\n\
659
+ <div class='entry-content'>\n\
660
+ <span class='message-text'>\n\
661
+ Returned home and take now wet washing off line and stick in tumble dryer. Why I ever bother trying to dry stuff on the line I do not know.\n\
662
+ </span>\n\
663
+ </div>\n\
664
+ <div class='info'>\n\
665
+ <time class=\"published\" datetime=\"2012-06-03T14:45:40Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"/updates/4fcb7893de8baf000100fb78\" rel=\"bookmark message\" title=\"2012-06-03T14:45:40Z\"><span class=\"date-time\">2012-06-03T14:45:40</span></a></time>\n\
666
+ </div>\n\
667
+ <div class='actions'>\n\
668
+ </div>\n\
669
+ </li>\n\
670
+ <li class='hentry message update' data-id='4fcb7851de8baf000100fa7e' data-name='atomicules' id='update-4fcb7851de8baf000100fa7e'>\n\
671
+ <div class='author vcard'>\n\
672
+ <a class='url' href='/users/atomicules' rel='user'>\n\
673
+ <div class=\"avatar\"><a href=\"/users/atomicules\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://gravatar.com/avatar/1fc29395337e8d71ace72c869e4e21e3?s=48&amp;r=r&amp;d=avatar.png\" /></a></div>\n\
674
+ </a>\n\
675
+ <span class='fn'>\n\
676
+ <a class='url' href='/users/atomicules'>\n\
677
+ atomicules\n\
678
+ (<span class=\"nickname user-text\">atomicules</span>)\n\
679
+ </a>\n\
680
+ </span>\n\
681
+ </div>\n\
682
+ <div class='entry-content'>\n\
683
+ <span class='message-text'>\n\
684
+ Been to local village Jubilee celebrations. Rained stopped play. Typically British weather.\n\
685
+ </span>\n\
686
+ </div>\n\
687
+ <div class='info'>\n\
688
+ <time class=\"published\" datetime=\"2012-06-03T14:44:34Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"/updates/4fcb7851de8baf000100fa7e\" rel=\"bookmark message\" title=\"2012-06-03T14:44:34Z\"><span class=\"date-time\">2012-06-03T14:44:34</span></a></time>\n\
689
+ </div>\n\
690
+ <div class='actions'>\n\
691
+ </div>\n\
692
+ </li>\n\
693
+ <li class='hentry message update' data-id='4fcb7809de8baf000100f9d6' data-name='jumax9' id='update-4fcb7809de8baf000100f9d6'>\n\
694
+ <div class='author vcard'>\n\
695
+ <a class='url' href='http://identi.ca/user/218408' rel='user'>\n\
696
+ <div class=\"avatar\"><a href=\"http://identi.ca/user/218408\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://avatar3.status.net/i/identica/218408-96-20101211123634.jpeg\" /></a></div>\n\
697
+ </a>\n\
698
+ <span class='fn'>\n\
699
+ <a class='url' href='http://identi.ca/user/218408'>\n\
700
+ JumaX9 Wright\n\
701
+ (<span class=\"nickname user-text\">jumax9</span>)\n\
702
+ </a>\n\
703
+ </span>\n\
704
+ </div>\n\
705
+ <div class='entry-content'>\n\
706
+ <span class='message-text'>\n\
707
+ Pierdo tan a menudo al MP que voy a tener que empezar a tomar antidepresivos.\n\
708
+ </span>\n\
709
+ </div>\n\
710
+ <div class='info'>\n\
711
+ <time class=\"published\" datetime=\"2012-06-03T14:43:19Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://identi.ca/notice/94265881\" rel=\"bookmark message\" title=\"2012-06-03T14:43:19Z\"><span class=\"date-time\">2012-06-03T14:43:19</span></a></time>\n\
712
+ </div>\n\
713
+ <div class='actions'>\n\
714
+ </div>\n\
715
+ </li>\n\
716
+ <li class='hentry message update' data-id='4fcb7792de8baf000100f5d5' data-name='parlementum' id='update-4fcb7792de8baf000100f5d5'>\n\
717
+ <div class='author vcard'>\n\
718
+ <a class='url' href='http://parlementum.net/user/3785' rel='user'>\n\
719
+ <div class=\"avatar\"><a href=\"http://parlementum.net/user/3785\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://parlementum.net/avatar/3785-96-20120119032323.jpeg\" /></a></div>\n\
720
+ </a>\n\
721
+ <span class='fn'>\n\
722
+ <a class='url' href='http://parlementum.net/user/3785'>\n\
723
+ Charles Roth\n\
724
+ (<span class=\"nickname user-text\">parlementum</span>)\n\
725
+ </a>\n\
726
+ </span>\n\
727
+ </div>\n\
728
+ <div class='entry-content'>\n\
729
+ <span class='message-text'>\n\
730
+ Forced to watch the Jubilee on FOX. Are the anchors all so abysmally ignorant of the topics they cover?\n\
731
+ </span>\n\
732
+ </div>\n\
733
+ <div class='info'>\n\
734
+ <time class=\"published\" datetime=\"2012-06-03T14:41:07Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://parlementum.net/notice/2805497\" rel=\"bookmark message\" title=\"2012-06-03T14:41:07Z\"><span class=\"date-time\">2012-06-03T14:41:07</span></a></time>\n\
735
+ </div>\n\
736
+ <div class='actions'>\n\
737
+ </div>\n\
738
+ </li>\n\
739
+ <li class='hentry message update' data-id='4fcb76fbde8baf000100f536' data-name='parlementum' id='update-4fcb76fbde8baf000100f536'>\n\
740
+ <div class='author vcard'>\n\
741
+ <a class='url' href='http://parlementum.net/user/3785' rel='user'>\n\
742
+ <div class=\"avatar\"><a href=\"http://parlementum.net/user/3785\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://parlementum.net/avatar/3785-96-20120119032323.jpeg\" /></a></div>\n\
743
+ </a>\n\
744
+ <span class='fn'>\n\
745
+ <a class='url' href='http://parlementum.net/user/3785'>\n\
746
+ Charles Roth\n\
747
+ (<span class=\"nickname user-text\">parlementum</span>)\n\
748
+ </a>\n\
749
+ </span>\n\
750
+ </div>\n\
751
+ <div class='entry-content'>\n\
752
+ <span class='message-text'>\n\
753
+ @IdleHistorian either the books or the tv series are a delight. I am sure you will enjoy them.\n\
754
+ </span>\n\
755
+ </div>\n\
756
+ <div class='info'>\n\
757
+ <time class=\"published\" datetime=\"2012-06-03T14:38:28Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://parlementum.net/notice/2805434\" rel=\"bookmark message\" title=\"2012-06-03T14:38:28Z\"><span class=\"date-time\">2012-06-03T14:38:28</span></a></time>\n\
758
+ </div>\n\
759
+ <div class='actions'>\n\
760
+ </div>\n\
761
+ </li>\n\
762
+ <li class='hentry message update' data-id='4fcb7365de8baf000100ecfc' data-name='solserpiente' id='update-4fcb7365de8baf000100ecfc'>\n\
763
+ <div class='author vcard'>\n\
764
+ <a class='url' href='http://identi.ca/user/607642' rel='user'>\n\
765
+ <div class=\"avatar\"><a href=\"http://identi.ca/user/607642\"><img alt=\"avatar\" class=\"photo user-image\" src=\"https://secure.gravatar.com/avatar.php?gravatar_id=344de61a1685b4f3ccb35437f58adb52&amp;default=http%3A%2F%2Ftheme1.status.net%2Fneo%2Fdefault-avatar-profile.png&amp;size=96\" /></a></div>\n\
766
+ </a>\n\
767
+ <span class='fn'>\n\
768
+ <a class='url' href='http://identi.ca/user/607642'>\n\
769
+ Tony Solserpiente\n\
770
+ (<span class=\"nickname user-text\">solserpiente</span>)\n\
771
+ </a>\n\
772
+ </span>\n\
773
+ </div>\n\
774
+ <div class='entry-content'>\n\
775
+ <span class='message-text'>\n\
776
+ solserpiente: Como empiecen a tocar a los abuelos entonces s\xC3\xAD que me v\xC3\xA1is a ver cogiendo la horca y la azada. Cabrones. <a href='http://t.co/WRpa1h3u'>http://t.co/WRpa1h3u</a>\n\
777
+ </span>\n\
778
+ </div>\n\
779
+ <div class='info'>\n\
780
+ <time class=\"published\" datetime=\"2012-06-03T14:23:31Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://twitter.com/solserpiente/statuses/209285824469151744\" rel=\"bookmark message\" title=\"2012-06-03T14:23:31Z\"><span class=\"date-time\">2012-06-03T14:23:31</span></a></time>\n\
781
+ </div>\n\
782
+ <div class='actions'>\n\
783
+ </div>\n\
784
+ </li>\n\
785
+ <li class='hentry message update' data-id='4fcb735fde8baf000100ecf5' data-name='solserpiente' id='update-4fcb735fde8baf000100ecf5'>\n\
786
+ <div class='author vcard'>\n\
787
+ <a class='url' href='http://identi.ca/user/607642' rel='user'>\n\
788
+ <div class=\"avatar\"><a href=\"http://identi.ca/user/607642\"><img alt=\"avatar\" class=\"photo user-image\" src=\"https://secure.gravatar.com/avatar.php?gravatar_id=344de61a1685b4f3ccb35437f58adb52&amp;default=http%3A%2F%2Ftheme1.status.net%2Fneo%2Fdefault-avatar-profile.png&amp;size=96\" /></a></div>\n\
789
+ </a>\n\
790
+ <span class='fn'>\n\
791
+ <a class='url' href='http://identi.ca/user/607642'>\n\
792
+ Tony Solserpiente\n\
793
+ (<span class=\"nickname user-text\">solserpiente</span>)\n\
794
+ </a>\n\
795
+ </span>\n\
796
+ </div>\n\
797
+ <div class='entry-content'>\n\
798
+ <span class='message-text'>\n\
799
+ solserpiente: @MacTrappa Como en casi todo, esto es una cuesti\xC3\xB3n de masa cr\xC3\xADtica. Si hay suficiente gente a favor, ser\xC3\xA1 imparable\n\
800
+ </span>\n\
801
+ </div>\n\
802
+ <div class='info'>\n\
803
+ <time class=\"published\" datetime=\"2012-06-03T14:23:20Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://twitter.com/solserpiente/statuses/209280280190652416\" rel=\"bookmark message\" title=\"2012-06-03T14:23:20Z\"><span class=\"date-time\">2012-06-03T14:23:20</span></a></time>\n\
804
+ </div>\n\
805
+ <div class='actions'>\n\
806
+ </div>\n\
807
+ </li>\n\
808
+ <li class='hentry message update' data-id='4fcb7228de8baf000100ea99' data-name='jpope' id='update-4fcb7228de8baf000100ea99'>\n\
809
+ <div class='author vcard'>\n\
810
+ <a class='url' href='http://micro.jpope.org/user/1' rel='user'>\n\
811
+ <div class=\"avatar\"><a href=\"http://micro.jpope.org/user/1\"><img alt=\"avatar\" class=\"photo user-image\" src=\"https://secure.gravatar.com/avatar.php?gravatar_id=e22211b8862bd536337a38d8ca1ef443&amp;default=http%3A%2F%2Fmicro.jpope.org%2Ftheme%2Fjpope%2Fdefault-avatar-profile.png&amp;size=96\" /></a></div>\n\
812
+ </a>\n\
813
+ <span class='fn'>\n\
814
+ <a class='url' href='http://micro.jpope.org/user/1'>\n\
815
+ jpope\n\
816
+ (<span class=\"nickname user-text\">jpope</span>)\n\
817
+ </a>\n\
818
+ </span>\n\
819
+ </div>\n\
820
+ <div class='entry-content'>\n\
821
+ <span class='message-text'>\n\
822
+ I think it\xE2\x80\x99s been washed but, it did get a \xE2\x80\x9CYou\xE2\x80\x99re wearing that?\xE2\x80\x9D from the wife. :)\n\
823
+ </span>\n\
824
+ </div>\n\
825
+ <div class='info'>\n\
826
+ <time class=\"published\" datetime=\"2012-06-03T14:17:32Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://micro.jpope.org/notice/336520\" rel=\"bookmark message\" title=\"2012-06-03T14:17:32Z\"><span class=\"date-time\">2012-06-03T14:17:32</span></a></time>\n\
827
+ </div>\n\
828
+ <div class='actions'>\n\
829
+ </div>\n\
830
+ </li>\n\
831
+ <li class='hentry message update' data-id='4fcb71e3de8baf000100e9b8' data-name='jpope' id='update-4fcb71e3de8baf000100e9b8'>\n\
832
+ <div class='author vcard'>\n\
833
+ <a class='url' href='http://micro.jpope.org/user/1' rel='user'>\n\
834
+ <div class=\"avatar\"><a href=\"http://micro.jpope.org/user/1\"><img alt=\"avatar\" class=\"photo user-image\" src=\"https://secure.gravatar.com/avatar.php?gravatar_id=e22211b8862bd536337a38d8ca1ef443&amp;default=http%3A%2F%2Fmicro.jpope.org%2Ftheme%2Fjpope%2Fdefault-avatar-profile.png&amp;size=96\" /></a></div>\n\
835
+ </a>\n\
836
+ <span class='fn'>\n\
837
+ <a class='url' href='http://micro.jpope.org/user/1'>\n\
838
+ jpope\n\
839
+ (<span class=\"nickname user-text\">jpope</span>)\n\
840
+ </a>\n\
841
+ </span>\n\
842
+ </div>\n\
843
+ <div class='entry-content'>\n\
844
+ <span class='message-text'>\n\
845
+ There\xE2\x80\x99s not a plugin for bosh? I just had to enable the plugin for prosody.\n\
846
+ </span>\n\
847
+ </div>\n\
848
+ <div class='info'>\n\
849
+ <time class=\"published\" datetime=\"2012-06-03T14:16:46Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://micro.jpope.org/notice/336519\" rel=\"bookmark message\" title=\"2012-06-03T14:16:46Z\"><span class=\"date-time\">2012-06-03T14:16:46</span></a></time>\n\
850
+ </div>\n\
851
+ <div class='actions'>\n\
852
+ </div>\n\
853
+ </li>\n\
854
+ <li class='hentry message update' data-id='4fcb7032de8baf000100e6db' data-name='jpope' id='update-4fcb7032de8baf000100e6db'>\n\
855
+ <div class='author vcard'>\n\
856
+ <a class='url' href='http://micro.jpope.org/user/1' rel='user'>\n\
857
+ <div class=\"avatar\"><a href=\"http://micro.jpope.org/user/1\"><img alt=\"avatar\" class=\"photo user-image\" src=\"https://secure.gravatar.com/avatar.php?gravatar_id=e22211b8862bd536337a38d8ca1ef443&amp;default=http%3A%2F%2Fmicro.jpope.org%2Ftheme%2Fjpope%2Fdefault-avatar-profile.png&amp;size=96\" /></a></div>\n\
858
+ </a>\n\
859
+ <span class='fn'>\n\
860
+ <a class='url' href='http://micro.jpope.org/user/1'>\n\
861
+ jpope\n\
862
+ (<span class=\"nickname user-text\">jpope</span>)\n\
863
+ </a>\n\
864
+ </span>\n\
865
+ </div>\n\
866
+ <div class='entry-content'>\n\
867
+ <span class='message-text'>\n\
868
+ Lazy day for sure, I slept in to 8. ;)\n\
869
+ </span>\n\
870
+ </div>\n\
871
+ <div class='info'>\n\
872
+ <time class=\"published\" datetime=\"2012-06-03T14:09:34Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://micro.jpope.org/notice/336516\" rel=\"bookmark message\" title=\"2012-06-03T14:09:34Z\"><span class=\"date-time\">2012-06-03T14:09:34</span></a></time>\n\
873
+ </div>\n\
874
+ <div class='actions'>\n\
875
+ </div>\n\
876
+ </li>\n\
877
+ <li class='hentry message update' data-id='4fcb6f2fde8baf000100e52f' data-name='theru' id='update-4fcb6f2fde8baf000100e52f'>\n\
878
+ <div class='author vcard'>\n\
879
+ <a class='url' href='http://identi.ca/user/26098' rel='user'>\n\
880
+ <div class=\"avatar\"><a href=\"http://identi.ca/user/26098\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://avatar.identi.ca/26098-96-20090125093912.png\" /></a></div>\n\
881
+ </a>\n\
882
+ <span class='fn'>\n\
883
+ <a class='url' href='http://identi.ca/user/26098'>\n\
884
+ Kim Rasmussen\n\
885
+ (<span class=\"nickname user-text\">theru</span>)\n\
886
+ </a>\n\
887
+ </span>\n\
888
+ </div>\n\
889
+ <div class='entry-content'>\n\
890
+ <span class='message-text'>\n\
891
+ as pro !lo forum user @nailuj just pointed out the forum is back :)\n\
892
+ </span>\n\
893
+ </div>\n\
894
+ <div class='info'>\n\
895
+ <time class=\"published\" datetime=\"2012-06-03T14:05:21Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://identi.ca/notice/94265283\" rel=\"bookmark message\" title=\"2012-06-03T14:05:21Z\"><span class=\"date-time\">2012-06-03T14:05:21</span></a></time>\n\
896
+ </div>\n\
897
+ <div class='actions'>\n\
898
+ </div>\n\
899
+ </li>\n\
900
+ <li class='hentry message update' data-id='4fcb6ee0de8baf000100e4cc' data-name='thp' id='update-4fcb6ee0de8baf000100e4cc'>\n\
901
+ <div class='author vcard'>\n\
902
+ <a class='url' href='http://identi.ca/user/28928' rel='user'>\n\
903
+ <div class=\"avatar\"><a href=\"http://identi.ca/user/28928\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://avatar.identi.ca/28928-96-20110131123526.png\" /></a></div>\n\
904
+ </a>\n\
905
+ <span class='fn'>\n\
906
+ <a class='url' href='http://identi.ca/user/28928'>\n\
907
+ Thomas Perl\n\
908
+ (<span class=\"nickname user-text\">thp</span>)\n\
909
+ </a>\n\
910
+ </span>\n\
911
+ </div>\n\
912
+ <div class='entry-content'>\n\
913
+ <span class='message-text'>\n\
914
+ Don't know why Uni courses advise against System.exit(). IMHO System.exit() should be the first and only statement of every Java program.\n\
915
+ </span>\n\
916
+ </div>\n\
917
+ <div class='info'>\n\
918
+ <time class=\"published\" datetime=\"2012-06-03T14:04:13Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://identi.ca/notice/94265268\" rel=\"bookmark message\" title=\"2012-06-03T14:04:13Z\"><span class=\"date-time\">2012-06-03T14:04:13</span></a></time>\n\
919
+ </div>\n\
920
+ <div class='actions'>\n\
921
+ </div>\n\
922
+ </li>\n\
923
+ <li class='hentry message update' data-id='4fcb6dd3de8baf000100e28f' data-name='theru' id='update-4fcb6dd3de8baf000100e28f'>\n\
924
+ <div class='author vcard'>\n\
925
+ <a class='url' href='http://identi.ca/user/26098' rel='user'>\n\
926
+ <div class=\"avatar\"><a href=\"http://identi.ca/user/26098\"><img alt=\"avatar\" class=\"photo user-image\" src=\"http://avatar.identi.ca/26098-96-20090125093912.png\" /></a></div>\n\
927
+ </a>\n\
928
+ <span class='fn'>\n\
929
+ <a class='url' href='http://identi.ca/user/26098'>\n\
930
+ Kim Rasmussen\n\
931
+ (<span class=\"nickname user-text\">theru</span>)\n\
932
+ </a>\n\
933
+ </span>\n\
934
+ </div>\n\
935
+ <div class='entry-content'>\n\
936
+ <span class='message-text'>\n\
937
+ @nailuj cheers for the head up :)\n\
938
+ </span>\n\
939
+ </div>\n\
940
+ <div class='info'>\n\
941
+ <time class=\"published\" datetime=\"2012-06-03T13:59:25Z\" pubdate=\"pubdate\"><a class=\"timeago\" href=\"http://identi.ca/notice/94265151\" rel=\"bookmark message\" title=\"2012-06-03T13:59:25Z\"><span class=\"date-time\">2012-06-03T13:59:25</span></a></time>\n\
942
+ </div>\n\
943
+ <div class='actions'>\n\
944
+ </div>\n\
945
+ </li>\n\
946
+ </ul>\n\
947
+ <nav class='pagination'>\n\
948
+ <a class='button' href='?page=2&amp;per_page=20' id='next_button' rel='next'>\n\
949
+ Next &raquo;\n\
950
+ </a>\n\
951
+ </nav>\n\n\
952
+ </div>\n\n\n\
953
+ </div>\n\n\
954
+ </div>\n\
955
+ <div id='sidebar'>\n\n\
956
+ <div class='block'>\n\
957
+ <h5 class='title'>\n\
958
+ Join rstat.us\n\
959
+ </h5>\n\
960
+ <p>\n\
961
+ Sign up now and start sharing\n\
962
+ </p>\n\
963
+ <p>\n\
964
+ <a href='/login'>Sign up</a>\n\
965
+ </p>\n\
966
+ </div>\n\n\n\
967
+ </div>\n\
968
+ </div>\n\
969
+ <div id='footer'>\n\
970
+ <div id='footer-wrap'>\n\
971
+ <div id='footer-logo'>\n\
972
+ <a href='/'>\n\
973
+ rstat.us\n\
974
+ </a>\n\
975
+ </div>\n\
976
+ <ul class='menu' id='footer-meu'>\n\
977
+ <li class='home '>\n <a href='/'>Home</a>\n </li>\n\
978
+ <li class='login/signup '>\n <a href='/login'>Login/Signup</a>\n </li>\n\
979
+ <li class='open_source '>\n <a href='/open_source'>Open Source</a>\n </li>\n\
980
+ <li class='contact '>\n <a href='/contact'>Contact</a>\n </li>\n\n\
981
+ </ul>\n\n\
982
+ </div>\n\
983
+ </div>\n\n\
984
+ <script type=\"text/javascript\">if (!NREUMQ.f) { NREUMQ.f=function() {\n\
985
+ NREUMQ.push([\"load\",new Date().getTime()]);\n\
986
+ var e=document.createElement(\"script\");\n\
987
+ e.type=\"text/javascript\";e.async=true;e.src=\"https://d1ros97qkrwjf5.cloudfront.net/36/eum/rum-staging.js\";\n\
988
+ document.body.appendChild(e);\n\
989
+ if(NREUMQ.a)NREUMQ.a();\n\
990
+ };\n\
991
+ NREUMQ.a=window.onload;window.onload=NREUMQ.f;\n\
992
+ };\n\
993
+ NREUMQ.push([\"nrfj\",\"beacon-1.newrelic.com\",\"1b64b06072\",527427,\"IF1bEhcOWQhXRxxDSQdTQQMWTlwKVlBL\",0.0,1676,new Date().getTime(),\"\",\"\",\"\",\"\",\"\"])</script></body>\n\
994
+ </html>\n"
995
+ http_version: "1.1"
996
+ recorded_at: Sun, 03 Jun 2012 15:21:14 GMT
997
+ recorded_with: VCR 2.1.1