In this morning, I attended these sessions:
N.B. These summaries may be imprecise.
- Ruby goes to HOLLYWOOD
Video (English)
- by Elise Huard
- A movie film is taken at any different locations in parallel.
- A movie soudntrack is also taken at more different location.
- A movie director builds these materials as one movie, in the last step.
- Oh it's like MapReduce.
- In fact, people do smoething in parallel.
- It's hard for just one person to behave in parallel.
- Shared state and Mutable state
- Thread must be lock the state
- the output is indeterminate
- Actor Model
- No Global State
- Actor
- Partial Order of Execution
- Sleeping barber problem
- Need to awaken the sleeping barber when customer comes
- Traditional solution : Mutex
- Ruby libraries for Actor
- Rubinius Actor
- Revactor
- I reccomend Celluloid
- JRuby suitable
- CRuby is not reccomended because of GVL
- Actor model in another languages
- Erlang
- This language implements actor model at first, as production level.
- Used in telecommunication industry
- Immutable variables
- Elixir
- Ruby wrapper for generating Erlang bytecode
- Immutable ruby variables
- Scala
- Actor based language on JVM
- But, more popular way is using actor library - akka.
- We the JRubyist can use akka from JRuby.
- Actor is not silver bullet
- Actor is useful when the boundary is obvious
- Cannot erase all deadlocks
- We need to learn abourt "concurrency primitive".
- I suggest it is useful if "concurrency primitive" exists in stdlib.
- Drip: Persistent tuple space and stream
Video (Japanese)
- by Masatoshi SEKI
- I soon publish the dRuby book, English first edition.
- Retrospective for PTupleSpace
- I made PTupleSpace because there were enhancement requests
- And I announces it in RubyKaigi 2007
- But, noone use it.
- Able to recover only objects inside tuple space
- Not able to recover ones if crushed while taking
- It's hard to use as KVS
- Drip
- like append-only logging
- substitute solution for PTupleSpace
- Comparison with Queue
- Queue consumes elements, Drip is not.
- Drip is delivering clones
- Both can wait incoming data
- Drip can "take n"
- After re-launching, Drip can memorize before state
- Comparison with Hash
- Drip becomes a "historical dictionary" when tagged
- get the value on the history
- read_tag method waits incoming data, head is not.
- cannot delete elements
- Not dare to implement each and keys, because of potential for huge data
- I soon publish the dRuby book, English first edition. And only English first edition contains the Drip contents.
- Ruby on Rails development that doesn't hurt
Video (Japanese)
- By Akira matsuda
- What is "Rails development"
- Ride on someone else's rails
- Developing rails itself
- for yourself
- for everyone
- Where
- Rails itself
- Rails plugins
- Social coding
- You need to communicate for everyone
- Way to "the community"(not "a community")
- "the community" is "the world"
- 10 Pro tips
- Read "fresh" git log of rails, every morning
- Learn Rails' future
- Who develop: Recently, there are South American guys
- Learn commit comment
- Know the remarkable people
- Imitate Good Commits
- Atomic
- With tests
- What is this commit?
- Learn English
- Live on the edge
- due to bundler , we can try rails edge easily
- contribute to docrails
- share your monkey patches
- please up your monkey patch to upstream
- start from a gem
- Write a good README for a gem
- attend railsconf
- Joyful than rubyconf :-)
- (for me) Write book
- find some bugs while writing rails recipe book
- Book driven developent
- Road to the Ruby Master
Video (Japanese)
- By Yutaka Hara
- try in various fields
- take a long time
- believe that computer can do everything
- If ruby cannot, use C, or use assembler
- believe that I can build everything
- Know about bulitin lib and stdlib
- Solve my own easy problem
- ex. deal text
- ex. rename files
- ex. deal csv
- and so on.
- Write a good code
- beauty
- ruby-ish
- readability
- write a blog
- as a memorandum
- speaking or talking at event
- start from at little event
- start from introducing any other's product
- Look inside
- look one under layer
- read the gem
- rewrite the gem
- If you want to undo, gem pristine
- read the ruby source code
- Know other languages
- If you will become the master...
- Be different from others
- Maintain motivation and productivity
And I don't translate Q&As in the article because these are the gift for attendees in there.
In this time, I learned about gem pristine, I never know this at this time.
No comments:
Post a Comment