Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Almost 15 slides in a little more than 15 minutes

Almost 15 slides in a little more than 15 minutes

A quick talk given at Ruby Montreal on December 16th, 2014.

Avatar for christianblais

christianblais

December 16, 2014

More Decks by christianblais

Other Decks in Programming

Transcript

  1. create_table :posts do |t| t.string “title”, limit: 100 end post

    = Post.create! do |post| post.title = “x” * 200 end post.title.length #=> 100
  2. - 1 “shit” - 2 “python” - 3 “ninja” -

    9 “suck” - 9 “ahoy” - 23 “unicorn”
  3. chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken

    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
  4. function chicken(CHICKEN, Chicken) { Chicken &&( chicken. chicken =[, CHICKEN,

    CHICKEN = Chicken = chicken. $Chicken =-( CHICKEN ==( chicken. Chicken = Chicken ))], chicken. chicken [Chicken++] = chicken. chicken, chicken. CHICKEN = ++Chicken, chicken (--Chicken), chicken. $Chicken = ++Chicken, chicken. CHICKEN++ ); Chicken = chicken. Chicken [chicken. $Chicken++ ]; chicken. Chicken = CHICKEN? Chicken? '\012'== Chicken? chicken (++ CHICKEN, chicken. chicken [++ chicken. CHICKEN ]= CHICKEN - CHICKEN ): Chicken ==' '|'\015'== Chicken || (Chicken )== "c" & chicken. Chicken [chicken. $Chicken++ ]== "h" & chicken. Chicken [chicken. $Chicken++ ]== "i" & chicken. Chicken [chicken. $Chicken++ ]== "c" & chicken. Chicken [chicken. $Chicken++ ]== "k" & chicken. Chicken [chicken. $Chicken++ ]== "e" & chicken. Chicken [chicken. $Chicken++ ]== "n"&&++chicken. chicken [chicken. …
  5. 1 chicken Pushes "chicken" onto the stack. 2 add Adds

    the two topmost groups of chickens. 3 fox Turns the topmost group of chickens into foxes. The foxes will subtract one chicken each from the second topmost group and eat them. Note that it is possible to end up with a negative amount of chickens. It may work arithmetically, but as it doesn't make sense it should be considered undefined behavior.
  6. class A attr_accessor_with_default :a, [] end $ x = A.new

    $ x.a << 1 $ [1] $ y = A.new $ y.a << 2 $ [1, 2]
  7. $ git log ace9171 - Merge something 0b36a92 - Change

    something 0649bdc - Revert something
  8. $ nan = Float::NAN $ nan < 1.1 #=> ???

    $ nan = Float::NAN $ nan > 1.1 #=> ??? $ nan = Float::NAN $ nan == 1.1 #=> ???
  9. $ nan = Float::NAN $ nan < 1.1 #=> false

    $ nan = Float::NAN $ nan > 1.1 #=> false $ nan = Float::NAN $ nan == 1.1 #=> false
  10. $ Time.now #=> ??? $ Time.zone.now #=> ??? $ Model.first.touch.updated_at

    #=> ??? $ Time.now.utc.in_time_zone(Time.now) #=> ???
  11. $ Time.now #=> ??? $ Time.zone.now #=> ??? $ Model.first.touch.updated_at

    #=> ??? $ Time.now.utc.in_time_zone(Time.now) #=> ???
  12. $ bundle install #=> Your bundle is complete! $ bundle

    exec rails server #=> Listening on 0.0.0.0:3000
  13. $ bundle check #=> The Gemfile's dependencies are satisfied $

    bundle check #=> Bundler can't satisfy your Gemfile's dependencies.
  14. alias rs=“bundle check || bundle install && bundle exec rails

    server” $ rs #=> The Gemfile's dependencies are satisfied #=> Listening on 0.0.0.0:3000
  15. ary = [3, 1, 4, 1, 5, 9, 2, 6,

    5, 3, 5] ary.chunk do |n| n.even? end #=> [false, [3, 1]] # [true, [4]] # [false, [1, 5, 9]] # [true, [2, 6]] # [false, [5, 3, 5]]
  16. case x when ->(n) { b.even? } then :foo when

    ->(n) { n.odd? } then :bar else :wtfs end
  17. def code?(code) ->(r) { r.code == code } end case

    response when code?(200) then ”Cool!” when code?(400) then “Uhoh!” when code?(500) then “WTF?!” else “IMPOSSIBRU!!” end