N.B. These summaries may be imprecise.
- Community Appeals
- Not only Japanese regional communities
- But also community from Shanghai(China)
- Keynote Address by Matz
- speaker: Matz
- Theme: compass for us(rubyists)
- Now is the golden age for programmings
- Lisp is awesome, but there was no good time
- Ruby was also too for a time, but now, here are many rubyists
- Things we should remember
- Attitude
- NO "Sour Grapes"
- Fix broken windows(broken window theory)
- Responsibility
- We make our communty fairness, for example...
- I don't hope "That Matz says is the correctness."
- I hope "Hi Matz, you again committed with bugs yet, our community suggest to revoke your commit right."
- Introducing Matz' local environment for writing and commiting ruby
- Emacs
- Subversion
- Stacked GIT(written in Python)
- Introducing not-yet-open Ruby functions from Matz' local environment e.g. Complex literal 2 + 4i
- Lightning Talks
- Monitoring solar power inverter by RoR
- ActiveLDAP
- and many other LTs
- NeverBlock and I/O Concurrency in Ruby
- speakers: Mohammad A. Ali and Ehab El-Badry
- NeverbBock is a library based on Fiber
- Pros and Cons of concurrency
- Using blocking I/O
- Pros: not take into account of synchronization
- Cons: too much latency
- Using multi process
- Pros: not take into account of synchronization, scaling on multi CPU
- Cons: difficult to share resources, latency with inter-process communication
- Using multi thread
- Pros: speed of thread construction is fast, speed of inter-thread communication is fast
- Cons: synchronization needs tricky techniques, risk of dead lock
- Using reactor pattern
- Pros: much more speed, much more scaling
- Cons: if one of all is blocked, all are blocked, risk of dead lock
- Using Ruby 1.9 Fiber
- Pros: very faster, less memory footprints
- Cons: ugly implementation, risk of stack overflow if you call recursively
- NeverbBock code sample
- NB::Reactor.new { #codes }
- NB::Fiber.new { #codes }
- Writing like blocking I/O
- Ease to write multi-thread programming
- But many memory footprints
- supporting libraries
- Net/Http
- ActiveRecord
- ActiveResource
- Thin
- (expected)Passenger
- (expected)Sequel
- JRuby Update 2009
- speakers: Thomas Enebo and Nick Sieger
- JRuby is Ruby 1.8.6 compatible
- If you append --1.9 option, JRuby becomes Ruby 1.9.1 compatible
- Why we use JRuby
- Java codes are anywhere
- JVM's GC and HotSpot are great
- Java handles native thread
- Java uses all cores/processors
- Improvement of code base is keeping on continuously
- Demo
- include Java interface as Ruby module
- write concrete implementation of Java abstract method as Ruby instance-specific method
- Cannot use extended C libraries
- We re-write popular libraries with Java
- Rest of these will be re-writed by Java or FFI
- JRuby 1.3.1 were released on 2009/06/15
- support GAE/J
- support 1.9 mode on jirb
- JRuby 1.4.0 is scheduled in 2009/09
- JSR-292 support
- more integration with Java
- more communication with other LL on JVM
- ruby2java can convert from Java class to Ruby class
- Frameworks and sites using JRuby
- monkeybars
- GitHub:FI
- JrME
- Kenai.com
The most impressive in this afternoon is that I have heard "GitHub:FI" at JRuby session, that's first for me.
After the last session in this day, Beer bust was held.
No comments:
Post a Comment