[CentralOH] 2012-10-29 notes
jep200404 at columbus.rr.com
jep200404 at columbus.rr.com
Wed Oct 31 16:39:33 CET 2012
Thanks for ContactUS for hosting the meeting, the pizza and pop
and to Raymond for his presentation.
I took more notes than usual because I may need to use what
Raymond was talking about. They have errors and ommission.
Please post corrections and additions.
Raymond Chandler started with presenting about Twitter Bootstrap
and segued to other nifty tools that reduce the amount of work
one has to do to develop web sites.
Twitter Bootstrap
A scaffolding for web site design
consistency repetition alignment proximity
similar things are grouped together
fluid or fixed grid system
"responsive" design aligns to various display sizes
(requires more includes)
grid system is much easier than doing tables
integrates well with jquery
take example and modify it
works with many browsers
requires javascript on client
https://en.wikipedia.org/wiki/Twitter_Bootstrap
http://twitter.github.com/bootstrap/
Cassette
What is cassette for?
How tied to .net is cassette?
Is cassette the .net version of django_compressor?
http://getcassette.net/documentation/v1/tutorials/twitter-bootstrap
Example
http://www.agilehog.com/ (playground for raymond?)
easiest way to start bootstrap is customize.html
http://twitter.github.com/bootstrap/customize.html
two ways to install
#1
python-admin.py startproject example
cd example
python manage.py startapp bootstrap
cd bootstrap
# refer bootstrap app from other apps
mkdir templates
mkdir static
cd static
wget http://twitter.github.com/bootstrap/assets/bootstrap.zi
unzip bootstrap.zip
# add to templates referenced as /static/bootstrap/css/bootstrap-responsive.css?
#2
# another way: clone it from github, then compile it
# to compile it, you need to install less
python-admin.py startproject example
cd example
python manage.py startapp bootstrap
cd bootstrap
# refer bootstrap app from other apps
mkdir templates
mkdir static
cd static
git clone https://github.com/twitter/bootstrap.git
rm -rf bootstrap/.git ;# raymond just reclones updates from scratch
put bootstrap specific files in bootstrap app
then reference it from project (include bootstrap from base template)
(of course, put bootstrap in INSTALLED_APPS)
CSS
http://www.w3schools.com/css/
less
extend CSS; makes CSS easier to handle; written in javascript (was ruby)
variables allow DRY (don't repeat yourself)
nested rules are very cool (nevermind variables and mixins)
runs on server-side (node.js, Rhino) or client-side?
Raymond, which side (server v client) do you find less most helpful?
https://en.wikipedia.org/wiki/LESS_(stylesheet_language)
http://lesscss.org/
for Joel, less is not Turing complete
Raymond recommends less over sass/scss because of
integration with twitter bootstrap
less uses node.js (server side js) and node.js is awesome
node can be used interactively at the command line
there is a program that will convert existing css to less
sass/scss inspired less
requires ruby
(unless use pysass/pyscss,
which are incomplete compared to ruby version)
sass has pythonic indentation instead of curly braces
scss has curly braces
https://en.wikipedia.org/wiki/Sass_(stylesheet_language)
http://sass-lang.com/
compass
kind of like bootstrap for sass
http://compass-style.org/
pycss (what was point of this?)
https://code.google.com/p/pycss/
Coffeescript
syntactic sugar for javascript (compiles to javascript)
uses indentation ala Python
comprehensions!!!
pattern matching
has lambda functions
nobody codes in javascript anymore
coffeescript compiles into javascript
http://coffeescript.org/
https://secure.wikimedia.org/wikipedia/en/wiki/Coffeescript
also built on top of node.js
use coffeescript for front end development
Python (and ruby's) event handling sucks
python and ruby don't handle call backs well
they both have trouble with global interpreter lock
ruby's is a little worse
javascript handles them _very_ well
twisted good, written in python
event driven asynchronous communication server/client stuff
https://secure.wikimedia.org/wikipedia/en/wiki/Twisted_(software)
http://twistedmatrix.com/trac/wiki/TwistedProject
node.js is the javascript version of twisted
twisted is the python version of node.js
celery - distributes tasks
http://pypi.python.org/pypi/celery/
http://celeryproject.org/
https://github.com/celery/celery/
Django compressor - raymond says to use this
compresses (compiles) css and js into a single file
uglifier for django
http://pypi.python.org/pypi/django_compressor
https://code.google.com/p/django-compressor/
http://blog.heynemann.com.br/2010/06/07/django-compressor/
not deterministic
includes coffeescript compiler?
recompilation is instantaneous
sudo apt-get install node
npm install coffeescript
npm install less
debug mode reloads stuff each time one reloads a page
pip install django_compressor
HAML - simplifies HTML, syntactic sugar, less typing
uses indentation like Python
http://en.wikipedia.org/wiki/Haml
http://haml.info/
written in ruby
https://github.com/jessemiller/HamlPy
https://github.com/kitanata/django_haml
allows one to use haml inside django stylesheets
written by raymond
has 100% of HAML features?
haml compressor is deterministic
zencoding - mentioned by xy
http://mattn.github.com/zencoding-vim/
http://www.vim.org/scripts/script.php?script_id=2981
https://code.google.com/p/zen-coding/
http://coding.smashingmagazine.com/2009/11/21/zen-coding-a-new-way-to-write-html-code/
http://downloadsquad.switched.com/2010/04/30/if-you-code-html-zen-coding-will-change-your-life/
EMACS
absinthe emacs theme http://zencoding.org/archives/183
Absinthe makes the heart grow fonder
not
http://zencoding.org/
http://zen-coding.org/
http://zencoding.net/
http://underscorejs.org/
There was a big sigh of appreciation from the back when Raymond
changed from pastels on dark to pastels on light (peach) background.
http://mail.python.org/pipermail/centraloh/2012-October/001416.html
Should be easily viewed from last row
24 * 80 is about max to display
Need high contrast
Good: black on white and white on black
OK: pastels on white
Bad: pastels on black
BDD
jasmine - BDD for testing js using "given, when, then" syntax
by Justine Searls of Columbus, formerly of edjecase (or edgecase?)
http://about.me/searls
http://pivotal.github.com/jasmine/
https://github.com/searls/jasmine-given
https://codification.wordpress.com/2010/08/23/jasmine-bdd-for-javascript/
rspec - BDD framework for ruby
https://secure.wikimedia.org/wikipedia/en/wiki/RSpec
http://rspec.info/
rspec-given - uses Given/When/Then notation.
ruby's
https://github.com/jimweirich/rspec-given
https://secure.wikimedia.org/wikipedia/en/wiki/RSpec
Cucumber
https://secure.wikimedia.org/wikipedia/en/wiki/Cucumber_(software)
Gherkin language
https://github.com/cucumber/cucumber/wiki/Gherkin
http://www.odr.lu/node/128
behave - gherkin based bdd: python style
http://packages.python.org/behave/
TDD
tests should complete in under 1 second
test database code by not using database.
Likewise for web stuff.
pytest is the test framework to use for python
pytest.org is good - brandon
http://pytest.org/latest/
http://wiki.python.org/moin/PyTest
http://pypi.python.org/pypi/pytest
not http://www.drugs.com/pro/pytest.html
unittest2 sucks test failure messages not helpful
nose - extends unittest to make testing easier.
(but unittest sucks?)
https://nose.readthedocs.org/en/latest/
https://github.com/nose-devs/nose
http://blog.mattwynne.net/category/bdd/
spherical projection on inverted ceiling fixture
http://eclecti.cc/computergraphics/snow-globe-part-one-cheap-diy-spherical-projection
http://eclecti.cc/computergraphics/science-on-a-snow-globe-spherical-display
http://www.engadget.com/2011/07/16/microvisions-showwx-pico-projector-gets-hdmi-upgrade/
Somebody was asking about editor plugins for some kind of work.
Data Visualization
vtk visualization toolkit
https://en.wikipedia.org/wiki/VTK
http://www.vtk.org/
http://d3js.org/
flowingdata.com
matplotlib
xkcd style plots
http://jakevdp.github.com/blog/2012/10/07/xkcd-style-plots-in-matplotlib/
http://www.reddit.com/r/Python/comments/11mfge/xkcdstyle_plots_in_matplotlib/
in the mean time, xkcd does do-si-do
http://xkcd.com/1127/
john hunter died
https://mloss.org/community/blog/2012/aug/30/john-hunter-the-author-of-matplotlib-has-died/
http://www.teknoids.net/content/john-hunter-matplotlibsourceforgenet-has-died
http://numfocus.org/johnhunter/
garden
Turnip - name already taken for BDD
http://watirmelon.com/2012/02/05/turnip-trying-to-solve-cucumbers-problems-with-ruby-bdd/
https://github.com/jnicklas/turnip
Spinach - http://watirmelon.com/2011/10/29/watirmelon-spinach/
Lettuce - http://lettuce.it/
eye candy
http://www.glyphish.com/
http://glyphicons.com/
http://www.iconeden.com/icon/
http://min.frexy.com/article/milky_a_free_vector_icon_set_part_1/
http://fortawesome.github.com/Font-Awesome/
Raymond really liked the laser pointer
NOVAS Naval Observatory Vector Astrometry Subroutines
https://en.wikipedia.org/wiki/Naval_Observatory_Vector_Astrometry_Subroutines
https://secure.wikimedia.org/wikipedia/en/wiki/Astronomical_Almanac
http://aa.usno.navy.mil/software/novas/novas_info.php
http://aa.usno.navy.mil/software/novas/novas_py/novaspy_intro.php
http://www.usno.navy.mil/USNO/astronomical-applications/software-products/novas/novas-python
http://pynovas.sourceforge.net/
http://www.doughellmann.com/articles/pythonmagazine/completely-different/2007-11-science/index.html#index-10
posted by brandon
http://pypi.python.org/pypi/novas/3.1
not this brandon: http://www.mugshotsworld.com/BRANDON-NOVAS-2
wx
http://weatherspark.com/#!dashboard;q=43210
http://radar.weather.gov/Conus/Loop/NatLoop.gif
http://radar.weather.gov/Conus/Loop/centgrtlakes_loop.gif
http://radarmatic.com/
http://radblast-mi.wunderground.com/cgi-bin/radar/WUNIDS_map?station=CMH&brand=wui&num=6&delay=15&type=TR0&frame=0&scale=1.000&noclutter=0&t=1283201928&lat=0&lon=0&label=you&showstorms=0&map.x=400&map.y=240¢erx=400¢ery=240&transx=0&transy=0&showlabels=1&severe=0&rainsnow=0&lightning=0&smooth=0
http://radblast-mi.wunderground.com/cgi-bin/radar/WUNIDS_map?station=ILN&brand=wui&num=6&delay=15&type=N0R&frame=0&scale=1.000&noclutter=0&t=1294241235&lat=40.00462723&lon=-83.021102&label=you&showstorms=0&map.x=400&map.y=240¢erx=400¢ery=240&transx=0&transy=0&showlabels=1&severe=0&rainsnow=0&lightning=0&smooth=0
http://forecast.weather.gov/MapClick.php?site=iln&FcstType=text&zmx=&zmy=&site=ILN&map.x=238&map.y=102
Next meeting will be December 3rd. Brandon will practice giving a presentation.
http://codemash.org/ mostly .net with some token other languages
More information about the CentralOH
mailing list