This revision is from 2012/08/22 01:51. You can Restore it.
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/
- 12 Factor 0/12 - http://www.12factor.net/
- Ruby: 21/60
- Testing
- rspec: 3/7
- capybara: 1/4 - HTTP automator.
- Selenium: 0/3 - http://seleniumhq.org/download/ (browser automator)
- Gems:
- Decent Index 0.3/3 - 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 couple: 1.5/3 (both are vaporware, though: pegex and pry-docmore).
- vim support: 5/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:
- 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/
- RubyInline: 2/7
- DTrace: 0/3 - http://hub.opensolaris.org/bin/view/Community+Group+dtrace/dtracetoolkit (not Ruby-specific)
- Celluloid: 0/5 https://github.com/celluloid/celluloid-io/
- DCell: 0/5 - http://www.unlimitednovelty.com/2012/04/introducing-dcell-actor-based.html
- EventMachine: 0/4 http://rubyeventmachine.com/
- Internals: 1/15
- Ruby Hacker's Guide: 1/8 - http://rhg.rubyforge.org/
- FFI
- rbx
- Ruby+Web: 19/50
- Rails: 8/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
- Rails Engine Gems (enginex) - (Replaced with `rails plugin new`) http://coding.smashingmagazine.com/2011/06/23/a-guide-to-starting-your-own-rails-engine-gem/
- Phusion Passenger: 2/6 - http://www.modrails.com/
- Spree: 0/6 - (Open-source e-commerce) http://spreecommerce.com/
- Substruct: 1/6 - (Open-source e-commerce) http://code.google.com/p/substruct/
- Rails Alternatives:
- Sinatra: 1/4
- Padrino: 0/4 - http://www.padrinorb.com/ (~in the spirit of Sinatra, but having some Rails features)
- Seaside: 1/15 - http://www.seaside.st/about/examples (Smalltalk web thing)
- Deployment/Stability: 20/45
- Supervisor: http://supervisord.org/
- "Config Management Systems": 2/10
- Ansible: 0/5 - http://ansible.github.com/ (Simpler)
- Chef: 0/5 - http://www.opscode.com/chef/
- Puppet: 0/4 - http://puppetlabs.com/ (Seems overly-packaged)
- SM framework: 0/3 - https://smf.sh/ (Might be cool, but innuendo is a real minus.)
- Capistrano: 3/6
- Smarter WWW
- Using mod_proxy to Deescalate: 3/6 (Actually, nginx upstream's are nicer)
- Monitoring
- Foreman and Upstart: http://michaelvanrooijen.com/articles/2011/06/08-managing-and-monitoring-your-ruby-application-with-foreman-and-upstart/
- Backups:
- rdiff-backup: 3/5 - More endikos recommendations.
- Sweet mobile sync idea: 2/4 - http://glycogen.net/2011/08/02/android-ubuntu-chroot-synchronization-with-linux-using-unison/
- Ruby + Gems
- rbenv: 3/4 - https://github.com/sharpsaw/ruby-dots/blob/master/bin/,rbenvi (Simpler than rvm, relies on Bundler for gemsets, ruby-build for compilation.)
- 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)
- Bundler: 3/4 - http://gembundler.com/
- Config: 24/60
- Web: 27/40
- Reference:
- Opera Web Standards Curriculum - http://dev.opera.com/articles/view/1-introduction-to-the-web-standards-cur/#toc
- Google's HTML, CSS, and Javascript from the Ground Up - http://code.google.com/edu/submissions/html-css-javascript/
- 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: 2/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
- 5 steps: http://www.markboulton.co.uk/journal/comments/five-simple-steps-to-designing-grid-systems-part-1
- 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: 1/3 - Better than Haml?
- …uses Temple: 1/4 - Template→Ruby Compilation - http://dojo.rubyforge.org/temple/
- …and Tilt: .5/4 - Multi-template embedding - https://github.com/rtomayko/tilt (replace pandoc with a Tilt solution?)
- Shpaml: 3/4 - http://shpaml.webfactional.com/source_code (Steve Howell's alternative. Simple - only a preprocessor)
- TODO: html2shpaml
- Nokogiri/Xpath: 1/4 - https://github.com/tenderlove/nokogiri
- Aesthetics
- Just™ Creative design basics: http://justcreative.com/2008/06/13/how-to-design-learn-the-basics/
- Garr Reynolds design fundamentals: http://www.garrreynolds.com/Design/basics.html
- 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: 8/15
- http://curl.haxx.se/docs/sslcerts.html - curl's hints.
- E.g.: openssl s_client -connect images.google.com:443
- https://www.startssl.com/ - Free certs (!)
- 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
- Concepts:
- REST: 4/8 - …
- "Hype"rmedia APIs - http://designinghypermediaapis.com/
- Javascript: 12/18
- CoffeScript: 4/10 - http://coffeescript.org/ (Site has Annotated Source, among other things)
- Codeschool: http://coffeescript.codeschool.com/levels/1/challenges/1
- showell's line number workaround.
- Frameworks
- jQuery: 3/8 - http://jquery.com/ (+ jQueryUI, et al.)
- Zepto: 3/6 - http://zeptojs.com/ (Lighter jQuery, doesn't try to work with old browsers)
- jo: 0/6 - http://joapp.com/ (Mobile-focused competitor of jQuery)
- 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)
- CommonJS: 0/3 - http://www.commonjs.org/ ("standard library" for JS)
- Backbone.js: 0/3 - http://documentcloud.github.com/backbone/ (MVC for JS)
- Commander.js: 0/2 - http://tjholowaychuk.com/post/9103188408/commander-js-nodejs-command-line-interfaces-made-easy
- WebAL 1/4 - https://github.com/benvanik/WebAL @ http://panoptic.com/rking/tmp/WebAL/samples
- 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: 15/40
- PostgreSQL: 10/20
- sqlite: 5/10
- MongoDB: (JSON'ish thing)…
- CouchDB: (Another JSON'ish DB)…
- Redis: 0/4 - http://redis.io/ (Another key-value store thing. Check out: http://try.redis-db.com/ )
- ODBMS: 1/4
- HTSQL: 0/3 - http://htsql.org/ (cce recommended as another way to prototype DBs)
- 3D: 8/25
- Blender: 18/45 - http://blender.org
- Pipeline intro: 2/5 - http://goo.gl/1hepO
- Web+3D: 4/(10..75)
- Shadertoy 2/7: http://www.iquilezles.org/apps/shadertoy/
- P3D.in source (WebGL) 1/5: http://p3d.in
- Full-size OS: 34/75
- Gentoo: 9/25 - 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
- 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
- Android: 9/20
- Official docs: 3/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://codenameandroid.org/category/developer-tutorials/
- ROM: Replicant: 0/3 - http://replicant.us/
- Android source: http://source.android.com/
- Ruboto: 2/5
- 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
- Stackato: 15/25 - wget get.stackato.com/microcloud
- Heroku: 1/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/
- 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
- Ninja (alt. to make): http://www.neugierig.org/software/chromium/notes/2011/02/ninja.html
- Testing: 12/35
- Better RSpecness. 8/25
- Jenkins ("continuous integration") 1/5 - https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins
- Travis 2/5
- diffuser! (Big TODO: http://github.com/ryanjosephking/diffuser )
- i18n
- HCI: 21/60
- Design:
- 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
- TAoCP: 1/50
- HTDP: 1/10 - http://www.ccs.neu.edu/home/matthias/HtDP2e/ - How To Design
- FP:
- http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html
- Learn You a Haskell - http://learnyouahaskell.com/chapters
- LiveScript
- SICP: 1/10 - http://mitpress.mit.edu/sicp/ - Scheme MIT course deal Programs, a Scheme book (this is the preview of 2nd ed.)
- 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 `XP` is local-buffer))
- 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(?))