Skip to content

Instantly share code, notes, and snippets.

@eto
Created November 3, 2011 18:21
Show Gist options
  • Save eto/1337270 to your computer and use it in GitHub Desktop.
Save eto/1337270 to your computer and use it in GitHub Desktop.
RubyConfBR material
* The Timeless Way of Software Development
Koichiro Eto
National Institute of Advanced Industrial Science and Technology (AIST)
●Hello, this is Koichiro Eto from AIST, Japan.
I'd like to start my presentation titled "The Timeless Way of Software Development".
* I came from Japan, the birth place of Ruby.
●I came from Japan, the birth place of Ruby.
* I came from Japan.
I start using Ruby 1.4.2 from 1999.
One of founder of Japan RubyKaigi, 
the largest Ruby Conference in Japan
A member of Asakusa.rb, 
the largest Ruby local community in Japan
A friend of Matz. Follow me at @eto
●I start using Ruby from 1999, and the version was Ruby 1.4.2.
I'd like to ask you. Do you have experience to use Ruby version 1.4?
Did you use ruby 1.6? How about Ruby 1.8?
If you are using Ruby 1.8 now, please raise your hand. Please upgrade to Ruby 1.9.
I'm a founding member of Japan RubyKaigi, the largest Ruby Conference in Japan. Over one thousand attendee.
But I imagine the RubyConference Brasil will become bigger than Japan.
I'm a member of Asakusa.rb the largest local Ruby community in Japan.
Matz is also the member of Asakusa.rb.
If you are interested in, please follow at eto in twitter.
* Koichiro Eto: introduce myself
My art works using Ruby
My research themes
"Patterns, Wiki, and XP"
●This is agenda of presentation.
At the first, I'd like to introduce my art works using Ruby.
Next, I'd like to introduce my research themes.
Then, I'd like to introduce my book "Patterns, Wiki, and XP".
* As a media artist,
●As a media artist, I created several media art works.
* WebHopper (1996)
Visualize the trace of web browse onto worldmap.
●This is WebHopper. I created this work in 1996.
This is visualization of web browsing onto the worldmap.
* movie
●For example, if you are browsing a web site in the USA, then you clicked a link to a web site in England.
I can say that you jumped from the USA to England virtually.
I watched the movement of your web browsing from the dump of ethernet,
change the IP address to Latitude Longitude data in realtime,
visualize the movement as the movement of lines. I received a big prize fot this work
And you see this work becomes the permanent show piece in the center.
You can see the work at the big screen. The movement of web browsing is visualized in this screen.
* Grand prix of the Prix Ars Electronica 1997
We, "sensorium" team, received the Grand prix, Golden Nica, of the Prix Ars Electronica in 1997.
WebHopper becomes a permanent work in the Ars Electronica Center.
●At the time, we "sensorium" team received the Grand prix of the Prix Ars Electronica 1997.
* A Hands-on Model of the Internet (2001)
You can see the workings of the Internet by rolling balls.
A permanent show piece of Miraikan in Tokyo.
●Our team also created "A Hands-on Model of the Internet" in 2001.
This is a represenation of the workings of the Internet using rolling balls with white and black color.
This is a permanent show piece of a big science museum in Tokyo.
We created this show piece in 10 years ago, but you can see the work even for now.
* Let's create a packet and send it.
Router Sender Display
●This is the overview of the work. You see a terminal in front of you.
Left is a sender and the right is display. You can create a packet at the sender,
and you can see the content of the packet in display.
You see towers over the terminal. They are routers.
The packets go through the routers.
* movie
●Ok, let's create a packet and send it.
This is the overview of the work. At the first, you can select the destination terminal from A to E.
Put the balls onto the rails. This becomes the address. Then, you can send only one character with a packet.
You can choose one charatcter. Put balls onto the rail. Now you created a packet with sixteen balls.
Let's send a packet. The packet goes on to the router. This is a network router.
The router distinguish the packet should go out from the LAN, or stay inside.
This is the destination terminal. The address of the packet is the same of this terminal.
So the packet goes to the display. Now you can see the content of the packet. You see "A" character.
Of course, the visitors can create their own packets and see the workings of the Internet.
* Technical background
Our team, 5 people, created this work.
My part is,
Concept making (What the Internet is),
Engineering for the software (using Ruby).
This is the first art work using Ruby.
●As technical background. Our team, with 5 people, create this work.
And my part was to create the concept of the work, and engineering for the software of the work.
The engineering for the hardware was not my part. And I use Ruby for the implementation.
Please imagine that the work is created in 2001. The programming language Ruby was not so famous.
But I choose the ruby for their productivity.
* As a researcher,
●As a researcher, I have sevral research topics.
* qwikWeb: A Group Communication System integrating mailing list and Wiki (2003)
A collaboration system for small groups.
You can user mailing list to share conversation and start shared document processing using Wiki.
●Basically, I'm a researcher for Wiki and Collective Intelligence.
I created a Wiki engine called qwikWeb. This wiki system is for group communication.
You can create a mailing list that has a corresponding Wiki site.
You can share information soothly.
* The usage of qwikWeb
●Many groups are using this system.
Theses event organizer uses qwikWeb for their internal use.
* As a book author,
* "Patterns, Wiki, and XP 
The Timeless Way of Creation" (2009)
Author: Koichiro Eto
Publisher: Gijutsu Hyoronsha
Date: 2009-07-10
Design Patterns, Wiki, and XP has same origin, A Pattern Language by an architect Christopher Alexander.
●I wrote a this book "Patterns, Wiki, and XP" in 2009.
I'd like to introduce this book.
* Why I wrote this book?
My research topics is Wiki and Collective Intelligence.
I created a Wiki engine.
But many people asked me that "Why Wiki?"
Wiki is a very simple system.
You can implement it in a day.
I have to answer the question "Why Wiki?"
I started to research the behind history of Wiki.
●My research topics is Wiki and Collective Intelligence.
I created a Wiki engine.
But many people asked me that "Why Wiki?"
Wiki is a very simple system.
You can implement it in a day.
I have to answer the question "Why Wiki?"
I started to research the behind history of Wiki.
* History behind Wiki
Christopher Alexander
1964, "Notes on the Synthesis of Form"
1965, "A City is not A Tree"
1977, "A Pattern Language ── Towns, Buildings, Construction"
effect
Kent Beck and Ward Cunningham
1987, Patterns for software development
1995, WikiWikiWeb (Web)
1999, Extreme Programming (XP)
The history of Wiki begun with the effect from an architect Christopher Alexander.
* Let's see the history of Wiki.
The Wiki history begun with an architect Christopher Alexander.
1964, "Notes on the Synthesis of Form"
1977, "A Pattern Language ── Towns, Buildings, Construction"
1987, Patterns for software development
1995, invention of Wiki.
1999, invention of XP (Extreme Programming).
●OK, then Let's see the history behind Wiki.
* Christopher Alexander
An architect, who proposed A Pattern Language.
Born in 1931 at Vienna.
Studied math. at Cambridge Univ. and studied architecture.
# at Hawbard Univ.
●He is Christopher Alexander.
He is an architect, who prpposed A Pattern Language.
He Born in 1931 at Vienna.
Studied Math. at Cambridge Univ.
Studied Architecture at Hawbard Univ.
* Building architectures with the users
Alexander proposed a method to create an architecture with the users of the building.
"A building should be constructed with the same way of the city."
An architect helps the users to build the architecture by themselves.
Alexander created "A Pattern Language" for the method.
●Alexander prpposed a method to create was a special architect
* What is A Pattern Language?
He collected forms that appears in architecture again and again.
He described them into a particular format "patterns".
He collected 253 patterns which are related to each other.
Thus, he called them as "a pattern language".
* Alexander, Oregon University (1971)
Alexander created several architecture using this method including renovation of Oregon University.
* Result of pattern language
But the method did not become a main stream among the architects.
Beacuse to use a pattern language means allow users to participate the process of constructing the architecture.
It was hard to use a pattern language for architects.
* "Using Pattern Languages for Object-Oriented Programs" (1987)
Kent Beck and Ward Cunningham, researchers at Tektronics, proposed to use Patern Language for Object Oriented Programming.
* An experiment to use a pattern language for software development
They did an experiment and it was successful.
They published the experiment as a paper "Using Pattern Languages for Object-Oriented Programs".
* Design Patterns
Kent Beck and Ward Cunningham tried to spread this idea, to use pattern languages in programming, to the Object Oriented Programming community.
The process is connected to the Design Patterns.
Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides, "Design Patterns ── Elements of Reusable Object-Oriented Software", Addison-Wesley, 1994
The four people, GoF, wrote the book. It became a best seller.
* XP (Extreme Programming)
Kent Beck did not satisfy with the result. He created another pattern language for software development process. He published a book.
Kent Beck, "Extreme Programming Explained ── Embrace Change", Addison-Wesley, 1999
This is the beginning of the Agile Software development process.
* Pattern Browser by HyperCard (1987)
Title is in CamelCase.
Link with other cards.
You can put figure.
* WikiWikiWed: A web site
that anyone can edit
Ward Cunningham created a web site that enables users to participate to create a web site in 1995.
This is the first Wiki in history.
* Wikipedia: An encyclopedia that anyone can edit
Jimmy Wales and Larry Sanger created a Wiki site to create a encyclopedia in 2001.
Wikipedia becomes a very popular site.
* Wikipedia: An encyclopedia that anyone can edit
* Wikipedia (2009)
Wikipedia becomes the 6th web site in the world. (ref. Alexa, 2009)
* The influence of Alexander
Design Patterns,
XP (Extreme Programming),
WikiWikiWeb,
Alexander's theory for architecture affected the methodlogy of software development.
* Connection to Ruby
Rubyコミュニティがベストなオブジェクト指向の考えとXPコミュニティに囲まれて形成されているということが大きいだろう。(中略)
Ward、Kent、それから、キレイなコード、うまく整理されたオブジェクト指向設計、そして、テストしやすさについて提唱してきたすべての人たちの価値が、そこに受け継がれていたのだ。これらの考えは、他の多くの技術コミュニティにとっても大きなインパクトだったはずだが、Ruby界ではそれが「正統」になっている。
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?cmd=view&p=RailsConf2007
* "Patterns, Wiki, and XP 
The Timeless Way of Creation" (2009)
Please refer the book for further information.
Unfortunately, it's in Japanese.
No English version is available.
I welcome offer for translation.
* 패턴, Wiki 그리고 XP
시간을 초월한 창조의 원칙 (2010)
Korean version is available.
Publisher: Jpub, inc.
Date: 2010-03-18
http://jpub.tistory.com/76
* "Patterns, Wiki, and XP The Timeless Way of Creation" (2009)
Please read further information to the book.
Unfortunatelly, no Chinese version is available. Sorry.
* Summary
I introduced my art works.
I introduced my research topics.
I introduced my book "Patterns, Wiki, and XP".
Obrigado!
* Appendix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment