009 RR - What Makes Beautiful Code

Ruby Rogues Picks - Episode 9: July 5th, 2011

  1. link Completed

    Virtuous Code

    "The three virtues of a programmer: laziness, impatience, and hubris" -- Larry Wall

    Edit Remove Move
  2. link Completed

    has_many :through

    Sometimes you want to replace the standard generated association methods. That's always been easy to do simply by defining new methods in your model class. The only wrinkle was that you had to make sure you defined your method after you set up the association, or calling has_many would overwrite your method, since last writer wins.

    Edit Remove Move
  3. PDF Completed

    Static Analysis for Ruby in the Presence of Gradual Typing

    Dynamic languages provide new challenges to traditional static analysis techniques, leaving most errors to be detected at runtime and making many properties of code difficult to infer. Ruby code usually takes advantage of both dynamic typing and metaprogramming to produce elegant yet difficult-to-analyze programs. Function evalpq and its variants, which usually foil static analysis, are used frequently as a primitive runtime macro system. The goal of this thesis is to answer the question:<br>What useful information about real-world Ruby programs can be determined statically with a high degree of accuracy?<br>Two observations lead to a number of statically-discoverable errors and properties in parseable Ruby programs. The first is that many interesting properties of a program can be discovered through traditional static analysis techniques despite the presence of dynamic typing. The second is that most metaprogramming occurs when the program files are loaded and not during the execution of the "main program."&nbsp;Traditional techniques, such as flow analysis and Static Single Assignment transformations aid extraction of program invariants, including both explicitly programmed constants and those implicitly defined by Ruby's semantics. A meaningful, well-defined distinction between load time and run time in Ruby is developed and addresses the second observation. This distinction allows us to statically discern properties of a Ruby program despite many idioms that require dynamic evaluation of code. Lastly, gradual typing through optional annotations improves the quality of error discovery and other statically-inferred properties.

    Edit Remove Move
  4. link Completed


    metrical - Run MetricFu without making it part of your projects depencies.

    Edit Remove Move
  5. embed Completed

    The Psychopath Test: A Journey Through the Madness Industry: Jon Ronson: Amazon.com: Books

    "Engrossing.... This book brings droll wit to buoy this fascinating journey through 'the madness business.'" ---Publishers Weekly --This text refers to an out of print or unavailable edition of this title.

    Edit Remove Move
  6. link Completed


    guard - Guard is a command line tool to easily handle events on file system modifications.

    Edit Remove Move
  7. article Completed


    Homepage: http://carboni.ca/projects/p/laser IRC: irc.freenode.net / #laser Git: http://github.com/michaeledgar/laser Author: Michael Edgar Copyright: 2011 License: AGPL v3.0 w/ Commercial Exceptions. See below. Latest Version: 0.7.0pre2 Release Date: None, yet.

    Edit Remove Move
  8. link Completed


    minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking.

    Edit Remove Move
  9. link Completed


    simplecov - Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites

    Edit Remove Move
  10. link Completed

    Barefoot Shoes UK | Running Trainers | VIVOBAREFOOT

    The original barefoot shoes. See our collection of shoes, ranging from running trainers to casual shoes from VIVOBAREFOOT UK.

    Edit Remove Move
  11. link Completed


    metric_fu - A fist full of code metrics

    Edit Remove Move
  12. link Completed


    Dropbox is a free service that lets you bring your photos, docs, and videos anywhere and share them easily. Never email yourself a file again!

    Edit Remove Move
  13. link Completed


    fixture_builder - fixture builder based on code from fixture scenarios

    Edit Remove Move

Continue learning by following more paths or create your own. Join for FREE

By clicking 'Get Started Free' you agree to our Terms of Service and Privacy Policy