This is the stuff I'm interested in. The denominator is the number of LearnUnits I plan on spending on it, and the numerator is how many I have spent so far. * Programming Practices** Semantic Versioning 1/2 - http://semver.org/** Semantic Versioning 2/2 - http://semver.org/** 12 Factor 0/12 - http://www.12factor.net/** 12 Factor 0/? - http://www.12factor.net/* Ruby: 21/60* Ruby: 41/60 ** Testing*** rspec: 3/7*** rspec: 5/7*** capybara: 1/4 - HTTP automator.*** capybara: 2/4 - HTTP automator.*** Selenium: 0/3 - http://seleniumhq.org/download/ (browser automator)*** Selenium: 1/3 - http://seleniumhq.org/download/ (browser automator) ** Gems: *** epitools 0/3 - https://github.com/epitron/epitools/tree/master/lib/epitools (especially Path) *** Decent Index 1/2 - https://www.ruby-toolbox.com/ *** "Opinionated Gem" tool: 2/4 - https://github.com/technicalpickles/jeweler *** SlimGems: 0/2 - https://github.com/slimgems/slimgems (RubyGems drop-in replacement)*** Publish a few: 2/10 (pry-full and zu, so far).*** Publish a few: 6/10 (pry-plus, zu, working, etc)** vim support: 5/8 - http://stackoverflow.com/questions/2315942/tips-and-tricks-for-using-vim-with-ruby-ruby-on-rails** vim support: 6/8 - http://stackoverflow.com/questions/2315942/tips-and-tricks-for-using-vim-with-ruby-ruby-on-rails ** Ruby Commander. ** More Advanced: *** Metaprogramming Ruby: 8/10 - http://pragprog.com/book/ppmetr/metaprogramming-ruby (Excellent book. Originally recommended by #ruby's LiquidInsect) ** Higher-performance: *** Celluloid: 0/5 https://github.com/celluloid/celluloid-io/ *** DTrace: 0/3 - http://hub.opensolaris.org/bin/view/Community+Group+dtrace/dtracetoolkit (not Ruby-specific) *** RubyInline: 2/7 *** Concurrency talk by José Valim: http://youtu.be/ojU4O2CMeSc *** Elixir (Erlang + Ruby thing) - http://blog.plataformatec.com.br/2011/03/why-rubyists-should-try-elixir/ *** memprof: 0/2 - http://www.rubyinside.com/how-ruby-manages-memory-and-garbage-collection-3006.html *** bleak_house 0/2 - http://blog.evanweaver.com/2007/04/28/bleak_house/ *** VirtualVM 1/3 - using jruby to profile Ruby. Be sure to reify classes! *** DCell: 0/5 - http://www.unlimitednovelty.com/2012/04/introducing-dcell-actor-based.html *** EventMachine: 0/4 http://rubyeventmachine.com/ ** Internals: 1/15*** FFI*** rbx*** FFI: 0/3 *** rbx: 1/3* Ruby+Web: 19/50** Rails: 8/20* Ruby+Web: 29/50 ** Rails: 12/20 *** Rails Guides: 6/10 http://guides.rubyonrails.org/ (Starting with: http://guides.rubyonrails.org/getting_started.html ) *** Style guide: 1/2 - https://github.com/bbatsov/rails-style-guide*** Phusion Passenger: 2/6 - http://www.modrails.com/*** Spree: 0/6 - (Open-source e-commerce) http://spreecommerce.com/*** Phusion Passenger: 3/6 - http://www.modrails.com/*** Substruct: 1/6 - (Open-source e-commerce) http://code.google.com/p/substruct/*** Spree: 1/6 - (Open-source e-commerce) http://spreecommerce.com/ *** Substruct: 2.5/3 - (Open-source e-commerce) http://code.google.com/p/substruct/*** Sinatra: 1/4*** Padrino: 0/4 - http://www.padrinorb.com/ (~in the spirit of Sinatra, but having some Rails features)*** Sinatra: 2/4*** Seaside: 1/15 - http://www.seaside.st/about/examples (Smalltalk web thing)*** Padrino: 1/4 - http://www.padrinorb.com/ (~in the spirit of Sinatra, but having some Rails features) *** Seaside: 2/15 - http://www.seaside.st/about/examples (Smalltalk web thing) * Deployment/Stability: 20/45** "Config Management Systems": 2/10*** Ansible: 0/5 - http://ansible.github.com/ (Simpler)*** Chef: 0/5 - http://www.opscode.com/chef/*** Chef: 2/5 - http://www.opscode.com/chef/*** Puppet: 0/4 - http://puppetlabs.com/ (Seems overly-packaged)*** Puppet: 1/3 - http://puppetlabs.com/ (Seems overly-packaged)*** SM framework: 0/3 - https://smf.sh/ (Might be cool, but innuendo is a real minus.)** Capistrano: 2.5/3** Capistrano: 3/6** Mina: 1/4** Smarter WWW** Foreman and Upstart: http://michaelvanrooijen.com/articles/2011/06/08-managing-and-monitoring-your-ruby-application-with-foreman-and-upstart/*** [Using mod_proxy to Deescalate]: 3/6 (Actually, nginx upstream's are nicer)** Monitoring*** rdiff-backup: 4/5 - More endikos recommendations.*** Foreman and Upstart: http://michaelvanrooijen.com/articles/2011/06/08-managing-and-monitoring-your-ruby-application-with-foreman-and-upstart/** Ruby + Gems*** rdiff-backup: 3/5 - More endikos recommendations.*** chruby: 1/4 *** Bundler: 3/4 - http://gembundler.com/ ** Config: 34/80*** rvm: 3/5 - http://rvm.io (Kind of cool, but ends up being a huge pain. Maybe rvm2 will be better, for now I'm 100% rbenv)** Config: 24/60* Web: 33/40 ** Reference: *** Opera Web Standards Curriculum - http://dev.opera.com/articles/view/1-introduction-to-the-web-standards-cur/#toc* Web: 27/40*** SitePoint - http://reference.sitepoint.com/ *** HTML element reference - http://www.w3.org/html/wiki/Elements *** The MDC (Mozilla's Doc Center) - https://developer.mozilla.org/en-US/docs ** CSS: *** Grid systems: 3/5 **** Intro: http://www.markboulton.co.uk/journal/comments/five-simple-steps-to-designing-grid-systems-part-1 **** Penguin example (history): http://thebookdesignblog.com/history-marber-grid*** Grid systems: 2/5**** More advice: http://www.smashingmagazine.com/2008/03/26/grid-based-design-six-creative-column-techniques/ **** http://960.gs/ **** http://grids.heroku.com/ (Based on 960.gs, but parametric. Endikos's starting point, usually.) *** YUI: **** Reset (strips all browser defaults) **** Base (after Reset, adds back in resonable settings) *** Sass: 4/6 - http://sass-lang.com/ ** Alternatives: *** Haml: 3/4 *** Slim: 2/3 - Terser than Haml **** …uses Temple: 1/4 - Template→Ruby Compilation - http://dojo.rubyforge.org/temple/ **** …and Tilt: 0.5/4 - Multi-template embedding - https://github.com/rtomayko/tilt (replace pandoc with a Tilt solution?)*** Slim: 1/3 - Better than Haml?**** TODO: html2shpaml**** …and Tilt: .5/4 - Multi-template embedding - https://github.com/rtomayko/tilt (replace pandoc with a Tilt solution?)*** Nokogiri/Xpath: 2/4 - https://github.com/tenderlove/nokogiri ** Aesthetics *** Just™ Creative design basics: http://justcreative.com/2008/06/13/how-to-design-learn-the-basics/*** Nokogiri/Xpath: 1/4 - https://github.com/tenderlove/nokogiri*** I kind of like this page's font: http://www.refining-linux.org/archives/14/7-Job-control-and-background-processes/ *** Nice trick where the scrolling and TOC stay in sync: http://gkz.github.com/LiveScript/ ( http://gkz.github.com/LiveScript/bootstrap/js/bootstrap-scrollspy.js ) ** SSL: 5/15 *** http://curl.haxx.se/docs/sslcerts.html - curl's hints. *** E.g.: openssl s_client -connect images.google.com:443** SSL: 8/15*** Open CA: 1/3 - http://www.cacert.org/index.php?id=51 *** Slick gem for Encryption - https://github.com/mdp/gibberish *** Payments: https://stripe.com (!) Maybe: Google Wallet / Amazon Payments ** Media: *** [Canvas] *** Working video/audo tags: 0/2 - http://mediaelementjs.com/ *** OpenAL *** WebAL 1/4 - https://github.com/benvanik/WebAL @ http://panoptic.com/rking/tmp/WebAL/samples ** Concepts: *** REST: 4/8 - … *** tef from #rest recommends Jon Moore's intro: http://vimeo.com/20781278 *** "Hype"rmedia APIs - http://designinghypermediaapis.com/ *** locks's HAL links (#pry) **** https://github.com/locks/halibut/ **** HATEOAS - http://timelessrepo.com/haters-gonna-hateoas **** https://secure.designinghypermediaapis.com/nodes/srxrbavlioxc **** Explorables: ***** http://hurl.it/hurls/c16a28e0635c048e655651bfeb68a374aa4a3929/194f8a81bec63dd8a29022e0a73268424942ab8c ***** http://haltalk.herokuapp.com/explorer/hal_browser.html#/ **** "a more complicated approach" — http://www.amundsen.com/media-types/collection/ * Javascript: 12/18 ** Annotated ES5: http://es5.github.com/ ** CoffeeScript: 4/10 - http://coffeescript.org/ (Site has Annotated Source, among other things) *** Codeschool: http://coffeescript.codeschool.com/levels/1/challenges/1** CoffeScript: 4/10 - http://coffeescript.org/ (Site has Annotated Source, among other things)** Frameworks *** jQuery: 4/8 - http://jquery.com/ (+ jQueryUI, et al.) *** Zepto: 3/6 - http://zeptojs.com/ (Lighter jQuery, doesn't try to work with old browsers)*** jQuery: 3/8 - http://jquery.com/ (+ jQueryUI, et al.)*** Chaplin - https://github.com/chaplinjs/chaplin (seems like a "convention over configuration" deal (Railsish)) **** Brunch with Chaplin - https://github.com/paulmillr/brunch-with-chaplin *** Ember.js - "opinionated JS framework" ** libs *** _: 1/3 - http://documentcloud.github.com/underscore/ (Utility methods) *** Ember.js: 0/4 - wycats's client-side framework *** CommonJS: 0/3 - http://www.commonjs.org/ ("standard library" for JS) *** Backbone.js: 0/2 - http://documentcloud.github.com/backbone/ (MVC for JS)*** Backbone.js: 0/3 - http://documentcloud.github.com/backbone/ (MVC for JS)*** YUI ** Asynchronous Module Definition (AMD) - https://github.com/amdjs/amdjs-api/wiki/AMD *** RequireJS: 0/3 - http://requirejs.org/ *** Almond: 0/2 - https://github.com/jrburke/almond (minimal runtime after using RequireJS's optimization) *** curl: 0/2 - https://github.com/cujojs/curl ** Tools: *** Performance testing http://jsperf.com/ ** Kind of funny: *** Truth matrix: http://zero.milosz.ca/ *** "Wat" talk: https://www.destroyallsoftware.com/talks/wat * DBs: 23/40 ** PostgreSQL: 10/20* DBs: 15/40** MongoDB: 1/5 Document store, like a file cabinet where you pull a whole file ** CouchDB: (Another JSON'ish DB)…** MongoDB: (JSON'ish thing)…** Redis: 2/4 - http://redis.io/ (Another key-value store. Check out: http://try.redis-db.com/ ) ** ODBMS: 1/4 - Perhaps MagLev's?** Redis: 0/4 - http://redis.io/ (Another key-value store thing. Check out: http://try.redis-db.com/ )** ODBMS: 1/4* 3D: 8/25 ** Blender: 18/19 - http://blender.org ** Pipeline intro: 2/5 - http://goo.gl/1hepO** Blender: 18/45 - http://blender.org*** Shadertoy 2/7: http://www.iquilezles.org/apps/shadertoy/ *** P3D.in source (WebGL) 1/5: http://p3d.in *** Trace.gl - Trace JS execution using WebGL * Full-size OS: 38/55* Full-size OS: 34/75** Debian/Ubuntu: 12/18** Gentoo: 9/25 - http://www.gentoo.org/doc/en/index.xml** Gentoo: 12/15 - http://www.gentoo.org/doc/en/index.xml *** Overlays: 1/2 - e.g. https://github.com/MarcWeber/vim-addon-manager/blob/master/doc/vim-addon-manager-additional-documentation.txt line 722 ** Linux From Scratch: 0/8 - http://www.linuxfromscratch.org/** POSIX itself: 4/12 - [http://pubs.opengroup.org/onlinepubs/9699919799/mindex.html** POSIX itself: 5/12 - [http://pubs.opengroup.org/onlinepubs/9699919799/mindex.html ** nixos: http://nixos.org/nixos/ ** OpenIndiana - http://openindiana.org/support/documentation/ ("OpenSolaris progeny") ** Philosophizing about scripting and stuff - http://lambda-the-ultimate.org/node/1282 ** tty stuff - http://www.linusakesson.net/programming/tty/index.php* Mobile: 10/25* Mobile: 12/25** Android: 9/20** Android: 10/20*** Official docs: 3/8 - http://d.android.com/*** Official docs: 4/8 - http://d.android.com/ *** Android SDK: 4/10 - http://developer.android.com/sdk/installing.html - http://developer.android.com/sdk/android-4.0-highlights.htm **** "Notepad Tutorial" - http://developer.android.com/resources/tutorials/notepad/index.html **** Dev Tools: 2/5 - http://developer.android.com/guide/developing/tools/index.html **** CLI Tools: 2/5 - http://developer.android.com/guide/developing/projects/projects-cmdline.html **** Allocation Tracker: http://stackoverflow.com/questions/6807965/allocation-tracker-how-to-use-it-to-detect-memory-leaks *** Android Devs G+: 0/1 - https://plus.google.com/108967384991768947849/posts *** Google Play: 2/5 - http://play.google.com/about/ *** SDK Choice: http://en.wikipedia.org/wiki/Android_(operating_system)#Market_share *** Rooting 3/4: See: [Rooting Android from Linux] *** ROM: "Codename Android" 0/3 - http://codenameandroid.org/category/developer-tutorials/ *** ROM: Replicant: 0/3 - http://replicant.us/ *** Android source: http://source.android.com/ *** Ruboto: 2/5 **** https://github.com/ruboto/ruboto/wiki/Tutorial%3A-Using-Bundler ** Cross-Platform: 2/10 *** Rhomobile: 3.8/4 - http://www.rhomobile.com/ (kinda sucks, after all) *** http://phonegap.com/ - 2/10 (now Apache Cordova, exposes native APIs to JS)* PaaS: 3/8* PaaS: 4/8** Stackato: 15/25 - wget get.stackato.com/microcloud** Stackato: 5/7 - wget get.stackato.com/microcloud** Heroku: 1/3 - http://www.heroku.com/** Heroku: 2/3 - http://www.heroku.com/ ** hpcloud: 1/3 - https://www.hpcloud.com/ ** Linode: 3/4 - http://linode.com ** prgmr.com: http://prgmr.com/xen/ * Dev System:** The Git Community Boook: 1/8 - http://book.git-scm.com/** The Git Community Boook: 3/8 - http://book.git-scm.com/ ** Git for CS Majors: 1/4 - http://sitaramc.github.com/gcs/ ** Git in the Trenches: 4/5 - http://cbx33.github.com/gitt/ ** Redmine + https://github.com/schacon/ticgit ?** Sausage-making: http://sethrobertson.github.com/GitPostProduction/gpp.html** Sausage-making: 2/3 http://sethrobertson.github.com/GitPostProduction/gpp.html * Ninja (alt. to make): http://www.neugierig.org/software/chromium/notes/2011/02/ninja.html* Testing: 12/35* Testing: 20/35** Better RSpecness. 8/25** Jenkins ("continuous integration") 3/5 - https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins** Jenkins ("continuous integration") 1/5 - https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins** diffuser** diffuser! (Big TODO: http://github.com/ryanjosephking/diffuser )* i18n ** Test Page - http://web.archive.org/web/20101122142726/http://code2000.net/scriptlinks.htm ** urxvt 4/5 - http://linux.die.net/man/7/urxvt** urxvt 3/5 - http://linux.die.net/man/7/urxvt* HCI: 23/60* HCI: 21/60*** StanfordUniversity, How to Build an iPhone App that Doesn't Suck, http://youtu.be/ENyzcXRPeeI **** HIG, good but low-level: http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html **** Step 1 = Know your users. Dogfood, or really study users. Better to build a great app for a tiny group (initially) **** Step 2 = Search the store. Similarity to other apps helps users. **** Step 3 = Explore possible solutions. Consider the constraints: small UI, difficult input, used for short bursts **** Step 4 = Sketch. "Create 10 designs." "Quality through quantity." Clay pots study (segment told they'd be graded on quantity did better than segment told to do so based on quality) **** Step 5 = Paper prototype. Users learning: Instruction (e.g. tooltips/popups) vs. Discovery **** Step 6 = "Fire up Omnigraffle" (OSX prototyping tool) **** Step 7 = "Do it all again" ("Nothing is precious.") **** Step 8 = Code. (Building the UI before the data can be effective) **** Step 9 = β test. Friends, MTurk. You only get to be on the "New Apps" feed once, so don't get bad reviews early from bugs. (Or maybe release a pre-version under a code name then the actual one?) ** Voice control: 1/5 *** media-sound/cvoicecontrol: 0/3 - http://www.kiecza.net/daniel/linux/ *** app-accessibility/perlbox-voice: 0/3 - http://perlbox.org/ ** Foot-pedal: 2/5 - Figure out what to assign the buttons to. ** Awesome keyboard - http://youtu.be/9yg3s77nAMQ ** Leopold Tactile Touch Keyboard - http://www.elitekeyboards.com/products.php?sub=leopold,fullsize&pid=fc500rtab *** FAQ discusses different switches (Brown is my frontrunner): http://www.elitekeyboards.com/support.php?lang=en ** Das Keyboard - http://www.neowin.net/news/review-das-keyboard-professional-s *** Clicky, like Model-M (though Leopold offers a similar switch) * Going Further ** Viewpoints Research Institute! - 1/100 - http://vpri.org/html/writings.php ** TAoCP: 1/50 ** HTDP: 1/10 - http://www.ccs.neu.edu/home/matthias/HtDP2e/ - How To Design ** FP: *** Lisp **** Installation: http://www.mohiji.org/2011/01/modern-common-lisp-on-linux/ **** Features: http://random-state.net/features-of-common-lisp.html **** SICP: 1/10 - http://mitpress.mit.edu/sicp/ - Scheme MIT course deal Programs, a Scheme book (this is the preview of 2nd ed.) *** Real World Haskell: http://book.realworldhaskell.org/read/ *** http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html *** LiveScript ** Alt Langs: *** "Faster than C, safer than Java, Simpler than *sh" - http://code.google.com/p/anic/ ** Verbs vs. Nouns in programming - http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html * Saw-sharpenings ** vim *** https://github.com/Shougo/neocomplcache (For cases like working with the `ebayapi` gem, where a simple `^^P` takes several seconds (though `^^X^^P` is local-buffer)) *** 'ex week': http://blog.sanctum.geek.nz/actually-using-ed/ * Other to-reads: ** G.E.B - 2/6 ** Prodgy type net guy - http://www.igvita.com/ ** Ostio: http://ost.io/feed/ (Github-integrated mailing list killer(?))