Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introducing Mint Source
Search
Andy Appleton
November 24, 2011
Technology
1
390
Introducing Mint Source
Talk given at the lnug meetup on 23rd November 2011
Andy Appleton
November 24, 2011
Tweet
Share
More Decks by Andy Appleton
See All by Andy Appleton
Done is better than perfect
appltn
0
560
Rage against the state machine
appltn
1
470
Modular UI with (Angular || Ember)
appltn
0
110
Building web apps with Express
appltn
4
490
The Modern JavaScript Application
appltn
5
610
Object Creation Pattern Performance
appltn
1
770
Other Decks in Technology
See All in Technology
時間がないなら、つくればいい 〜数十人規模のチームが自律性を発揮するために試しているいくつかのこと〜
kakehashi
PRO
23
5.2k
クラウドネイティブ環境の脅威モデリング
kyohmizu
2
400
Computer Use〜OpenAIとAnthropicの比較と将来の展望〜
pharma_x_tech
6
1k
Azure × MCP 入門
ry0y4n
8
1.6k
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
210
LangfuseではじめるAIアプリのLLMトレーシング
codenote
0
140
大規模サーバーレスプロジェクトのリアルな零れ話
maimyyym
3
210
Previewでもここまで追える! Azure AI Foundryで始めるLLMトレース
tomodo_ysys
2
630
AIと共同執筆してより質の高い記事を書こう
riyaamemiya
1
300
グループ ポリシー再確認 (2)
murachiakira
0
230
10分で学ぶ、RAGの仕組みと実践
supermarimobros
0
910
Simplify! 10 ways to reduce complexity in software development
ufried
2
240
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
A Modern Web Designer's Workflow
chriscoyier
693
190k
GitHub's CSS Performance
jonrohan
1031
460k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Agile that works and the tools we love
rasmusluckow
329
21k
Designing for Performance
lara
608
69k
Speed Design
sergeychernyshev
29
930
It's Worth the Effort
3n
184
28k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
790
Transcript
MINT SOURCE
None
Andy Appleton @appltn http://mintdigital.com
What, why?
Node.js - Redis - Heroku CoffeeScript - Socket.IO
Simple Heroku deploy $ git clone
[email protected]
:mintdigital/mint-source.git $ heroku create
appname --stack cedar $ git push heroku master $ heroku ps:scale web=1 $ heroku addons:add redistogo:nano $ heroku config:add NODE_ENV=production
Optional HTTP Auth $ heroku config:add AUTH_ENABLED=true $ heroku config:add
AUTH_USER=chunky $ heroku config:add AUTH_PASS=bacon
http://github.com/user/project/admin/hooks
{ "before": "5aef35982fb2d34e9d9d4502f6ede1072793222d", "repository": { "url": "http://github.com/mint-digital/mint-source", "name": "mintdigital", "description":
"A simple Node.js status board showing github commits and more.", "watchers": 5, "forks": 2, "private": 1, "owner": { "name": "mintdigital" } }, "commits": [ { "id": "41a212ee83ca127e3c8cf465891ab7216a705f59", "url": "http://github.com/mintdigital/mint-source/commit/41a212ee83ca127e3891ab7216a705f59", "author": { "email": "
[email protected]
", "name": "Andrew Appleton" }, "message": "Devs love bacon", "timestamp": "2011-11-15T14:57:17-08:00", "added": ["filepath.rb"] POST http://appname.herokuapp.com/github_prh
None
Jenkins CI http://jenkins-ci.org/
Notification Plugin (post build hooks for Jenkins) https://wiki.jenkins-ci.org/display/JENKINS/Notification+Plugin
$ heroku config:add JENKINS_ENABLED=true http://your-ci-box/job/project-name/configure
{ "name":"bacon", "url":"http://devslovebacon.com", "build":{ "number":1, "phase":"FINISHED", "status":"FAILURE", "url":"job/project/5", "fullUrl":"http://your-ci-box/job/project/5" }
} POST http://appname.herokuapp.com/jenkins_pbh
None
no HTTP auth support, so Jenkins box IP whitelisting $
heroku config:add JENKINS_IP=60.70.80.90
Discretion $ redis-cli > lpush Discretions "{\"orig\":\"secret\", \"subs\":\"public\"}"
None
Last.fm http://www.last.fm/api
POST http://appname.herokuapp.com/github_prh $ heroku config:add LASTFM_ENABLED=true $ heroku config:add LASTFM_KEY=12345...
$ heroku config:add LASTFM_USER=mintdigital Last.fm API credentials
Polling on the server, send data to clients via Socket.IO
What’s next?
app.get('/javascripts/:resource.js', (req, res) -> # Compile and serve client side
CoffeeScript on the fly filePath = "./public/javascripts/#{req.params.resource}.coffee" fs.readFile(filePath, 'utf-8', (err, data) -> res.writeHead(200, {'Content-Type': 'application/javascript'}) res.write(coffee.compile(data)) res.end() ) ) CS > JS Caching
Server Sent Events (Possibly)
More Services Tweets, Foursquare checkins Generic notification endpoint
Available now on Github https://github.com/mintdigital/mint-source
http://devslovebacon.com