On Github kevinschaul / nicar13-takeaways
According to Kevin Schaul
This presentation has no coherent order.
Automate everything, a la NPR's app template.
How many actions does it take to push an update?
Wouldn't it be nice if we deploy like this?
$ fab deploy
Git. It'll change your life.
kevin:~$ git commit index.html kevin:~$ git push
chandra:~$ git commit css/style.css chandra:~$ git pull chandra:~$ git push
kevin:~$ git branch dev kevin:~$ git commit js/logic.js kevin:~$ git push origin dev
dave:~$ git pull origin dev dave:~$ git branch stable dave:~$ git merge dev dave:~$ git push origin stable
kevin:~$ git commit index.html kevin:~$ git push origin dev
jamie:~$ git pull origin dev jamie:~$ git log commit f5b5c189e07ec79e8b257972bf74a20457743609 Author: Kevin Schaul Date: Fri Mar 8 14:09:20 2013 -0600 Remove `$` from html Clickability templates conflict commit ad0495c78d8a059d447069a72074f8df53cd4e48 Author: Kevin Schaul Date: Fri Mar 8 10:47:01 2013 -0600 Updated photo urls in spreadsheet jamie:~$ git revert HEAD~1 jamie:~$ git push .schaul@gmail.com>.schaul@gmail.com>.schaul@gmail.com>.schaul@gmail.com>
If the command line scares you, I can look for a "pretty" git client.
GitX (L) looks promising.
For news apps and code
Check out what ProPublica has done.
Don't repeat yourself!
The ultimate in coding goodness
Again, automation
Design for sidebars, apps, etc.
A mini CMS for data projects
Is rate-limited by Google (but we're smart)
var ds = new Miso.Dataset({ url : "/data/uranium.csv", delimiter : ",", columns : [ { name : "year", type : "time", format : "YYYY" } ] }); ds.fetch({ success: function() { //Select rows in the 80's & find their average var uraniumInThe80s = this.where({ rows : function(row) { return (row.year >= moment([1980]) && row.year < moment([1990])); } }).mean("value"); });
Yikes.
Thanks!