CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Mon, 04 Aug 2025 12:17:31 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090616051350
location: https://web.archive.org/web/20090616051350/https://github.com/atmos/lifeline/tree
server-timing: captures_list;dur=1.221988, exclusion.robots;dur=0.042627, exclusion.robots.policy;dur=0.019826, esindex;dur=0.020992, cdx.remote;dur=2.798384, LoadShardBlock;dur=344.840044, PetaboxLoader3.datanode;dur=54.124951, PetaboxLoader3.resolve;dur=241.938746
x-app-server: wwwb-app225
x-ts: 302
x-tr: 429
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app225; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Mon, 04 Aug 2025 12:17:32 GMT
content-type: text/html; charset=utf-8
content-length: 110
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Tue, 16 Jun 2009 05:13:48 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090616051350/https://github.com/atmos/lifeline/tree/master
x-archive-orig-x-runtime: 88ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 110
cache-control: max-age=1800
memento-datetime: Tue, 16 Jun 2009 05:13:50 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Tue, 16 Jun 2009 05:13:50 GMT", ; rel="memento"; datetime="Tue, 16 Jun 2009 05:13:50 GMT", ; rel="next memento"; datetime="Tue, 16 Jun 2009 07:03:20 GMT", ; rel="last memento"; datetime="Fri, 20 Nov 2009 05:05:24 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_10_20090616025946_crawl100-c/52_10_20090616050730_crawl101.arc.gz
server-timing: captures_list;dur=0.502788, exclusion.robots;dur=0.020077, exclusion.robots.policy;dur=0.008909, esindex;dur=0.011038, cdx.remote;dur=10.381825, LoadShardBlock;dur=284.646928, PetaboxLoader3.datanode;dur=224.727720, PetaboxLoader3.resolve;dur=308.714580, load_resource;dur=305.247199
x-app-server: wwwb-app225
x-ts: 301
x-tr: 635
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Mon, 04 Aug 2025 12:17:33 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Tue, 16 Jun 2009 05:13:50 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 715ms
x-archive-orig-etag: "d0b0153fa4e4bc25e99d3c4d9b5a6310"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 21301
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Tue, 16 Jun 2009 05:13:50 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Mon, 13 Apr 2009 16:28:40 GMT", ; rel="prev memento"; datetime="Mon, 15 Jun 2009 05:01:27 GMT", ; rel="memento"; datetime="Tue, 16 Jun 2009 05:13:50 GMT", ; rel="last memento"; datetime="Tue, 16 Jun 2009 05:13:50 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_10_20090616025946_crawl100-c/52_10_20090616050730_crawl101.arc.gz
server-timing: captures_list;dur=0.600403, exclusion.robots;dur=0.021493, exclusion.robots.policy;dur=0.009850, esindex;dur=0.011921, cdx.remote;dur=1.817489, LoadShardBlock;dur=250.171617, PetaboxLoader3.datanode;dur=220.534701, PetaboxLoader3.resolve;dur=149.689101, load_resource;dur=134.135805
x-app-server: wwwb-app225
x-ts: 200
x-tr: 440
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
atmos's lifeline at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Description: | an oauth app that displays your friend's timeline minus protected updates |
Homepage: | https://lifeline.atmos.org |
Clone URL: |
git://github.com/atmos/lifeline.git
Give this clone URL to anyone.
git clone git://github.com/atmos/lifeline.git
|
lifeline /
name | age | message | |
---|---|---|---|
![]() |
.gitignore | Wed Apr 08 19:56:55 -0700 2009 | here's the lifeline app, based on APP2 mentione... [atmos] |
![]() |
LICENSE | Wed Apr 08 19:56:55 -0700 2009 | here's the lifeline app, based on APP2 mentione... [atmos] |
![]() |
README.md | Thu Apr 09 04:28:17 -0700 2009 | next version is 0.0.3 [atmos] |
![]() |
Rakefile | Thu Apr 09 04:28:17 -0700 2009 | next version is 0.0.3 [atmos] |
![]() |
TODO | Wed Apr 08 19:56:55 -0700 2009 | here's the lifeline app, based on APP2 mentione... [atmos] |
![]() |
lib/ | Fri Apr 10 00:23:20 -0700 2009 | add some suggestions from people today. links ... [atmos] |
![]() |
spec/ | Fri Apr 10 01:56:54 -0700 2009 | slightly different specdocs [atmos] |
lifeline
Another oauth experiment. Share info with sinatra and twitter.
Installation
It's a sinatra app, packaged as a gem, deployed as a rack app.
% rake repackage
% sudo gem install pkg/lifeline*.gem
Your basic deps look like this:
% sudo gem install oauth json haml curb data_objects dm-core dm-types dm-validations dm-timestamps sinatra
Deployment
Use passenger and a config.ru like this:
Example config.ru
require 'rubygems'
require 'lifeline'
DataMapper.setup(:default, "mysql://atmos:s3cr3t@localhost/lifeline_production")
ENV['LIFELINE_READKEY'] = /\w{18}/.gen # this should really be what twitter gives you
ENV['LIFELINE_READSECRET'] = /\w{24}/.gen # this should really be what twitter gives you
class LifelineSite < Lifeline::App
set :public, File.expand_path(File.dirname(__FILE__), "public")
set :environment, :production
end
run LifelineSite
testing
You need jacqui's fork of fakeweb for the time being
% git clone git://github.com/jacqui/fakeweb.git
% cd fakeweb
% rake repackage
% sudo gem install pkg/fakeweb-1.2.0.gem
Then you just run rake...
This feature is coming soon. Sit tight!