[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&centerx=400&centery=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&centerx=400&centery=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