This page printed from:
panoptic.com/rking/tech

For Our King, Only

Recent Changes / Heat / History

tech

Difference between revisions from 2013/05/07 07:05 and 2013/03/15 00:51.
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(?))



Last changed: 2013/05/07 07:05