6/02/2009

Make: Tokyo Meeting 03 Report

Last weekend I went to the 3rd annual makers meeting here in Tokyo, held by the famous MAKE Magazine at Digital Hollywood University in Hachioji, Tokyo.

Various DIY projects displayed their homebrew gadgets, media art projects and open source software in one place. Let me introduce some of exciting open source projects I have found.

BC9



BC9 is an open source gadget by BeatCraft, Inc. Based on the gumstix CPU board, it features an LCD controller, AC97 Audio, and a battery power regulator on one small PCB. Software, schematics and even gerber data of BC9 are planned to be published as OSS.

Damien



Damien is a debian-based linux distribution targeting old PCs. It is focused on use as a thin client. It is configured to run an X Window Server locally and acts as a old-fashioned X client, allowing users to run remote applications installed on a server.

Scratch



Scratch is an interactive programming platform for children. It is developed by MIT Media Lab and distributed as an OSS. It enables easy-to-use visual programming of electronic toys and computer animations. There is also a website where users can publish their creative works. It allows to share them freely, also allowing others to remix their works. In Japan, a voluntary programming workshop called Scratch Kids Programming Group (こどもプログラミングサークルスクラッチ) is held monthly at MediaSeven media center at Kawasaki.

Paranavi



ParaNavi (パラナビ) is an open source parawing navigator for the Gameboy Advance platform. They have modified their GBA hardware to embed a GPS module to enable real-time navigation and flight logging.

Pandora System



Pandora System is an open architecture for connecting physical devices, micro-controllers, and PCs. In the demo, they have used an RFID reader to authenticate users in a web browser.

Nico Nico Douga


The Home-brew community at Niconico Douga (ニコニコ動画) also participated in this event. For those of you don't know this website, Niconico Douga is a popular movie sharing platform featuring overlay comment response. They have eagerly improved their works following advice from their audience. They also did a live stream of the event.



KETACLOCK is a digit-by-digit independent LCD clock. It is driven by infrared signals submitted from a controller unit located on the back. Each module can be configured to display a particular digit, allowing users to make their own composition of the clock.



"Ano gakki" (あの楽器) is a Niconico Douga community-driven musical instrument creation. It was originally a fictional gadget which appeared in a fan-made promotion video for Yamaha's Vocaloid software. (You need to register at nico-nico douga to see the video, but it's also on youtube)
Its futuristic look has attracted a large fan base, including home-brew lovers, who started to build a real version immediately. After only half a year, several groups have successfully created clones which look just like the one that appeared on the original movie.

For me, it was my first visit to this meeting, but it was convincing enough to start a DIY project myself. It's definitely worth going. I want to participate as an exhibitor next year.

2/24/2009

First "Key-Value Storage" meeting held in Tokyo


Daisuke Okanohara
(Preferred Infrastructure, Tx)

On February 20th, the first "Key-Value Storage" meeting, a meeting of Open Source database and search developers was held in Tokyo. The participants, with wide-ranging specializations from backend storage committers to algorithm researchers, had a casual time to discuss the future of KVS.
Key-Value Storage (KVS) is a new type of server indispensable to recent web services. It serves as a very fast "associative array" server for providing database cache data and session data. Starting from memcached, used in livejournal.com, it has been widely adopted in Web 2.0 services.


Toru Maesaka
(mixi, memcached committer)

The session was started with the introduction of the Groonga search engine software, which incorporates a fast database engine inside. Written by Daijiro Mori and Tasuku Suenaga, authors of the popular Senna search engine, the new engine appealed to the audience. "We realized that we need a search engine with more flexibility," Mori said. It was amazing that their memcached clone, based on the Groonga database engine, overwhelmed the performance of the original memcached in almost every test case.


Masanobu Yasui
(KLab, repcached)

The guys from LuxIO, Tokyo-Cabinet, and Tx held a talk on database backend sessions. Their software has already outperformed Berkeley DB, the gold standard in this area. Hiroyuki Yamada has disclosed some of the I/O optimizations he has used in LuxIO and indicated its usefulness with SSD storage. Mikio Hirabayashi, the author of Tokyo-Cabinet and its distributed interface Tokyo-Tylant, discussed how to store a large number of values efficiently by considering BER compression and bit-shifts. Daisuke Okanohara showed that it is possible to express a binary tree using only 2 bits per node by using recent progress in algorithm research.


Sadayuki Furuhashi
(kumofs, Tsukuba Univ)

A Server session was held with authors and committers of various key-value storage implementations, including memcached, repcached, Kai, Cagra, kumofs, ROMA, and Flare. As the author of Cagra, an OSS media storage engine, I gave a presentation on recent academic progress in distributed hash table algorithms.

Various implementation details were discussed. Many were based on Consistent Hashing algorithms and single zero-hop routing, but it was interesting that each used different replication strategies. Also, we all agreed that the memcached protocol itself is very useful as a standard for key-value storage server interfaces. Already being ported to many languages and platforms, it reduces the cost of implementing custom interfaces.


Muga Nishizawa
(Rakuten, ROMA)

Kazuyuki Shudo, an overlay algorithms researcher, explained the relationship of key-value storage algorithms and largely distributed P2P algorithms. As a demo, he has implemented a working key-value storage in his overlay algorithm testbed, Overlay Weaver. "Strictly speaking, zero-hop routing algorithms themselves are not classified as distributed hash table algorithms, but they can be considered in the same framework," he said.

The overall meeting was very informative. I myself had learned many new things as a key-value storage author. Big thanks to Kazuki Ohta for arranging such great chance, and GREE (a Japanese social network for mobile Internet) for providing the location.

12/22/2008

The Mitoh project - where bright young software talents meet

My starting point in the Japanese Open Source community was the Exploratory Software Project, where I have developed nytr, an open 3D computer graphics renderer. The initiative has been very successful in Japan and I would like to introduce it in this post.


The Exploratory Software Project (ESP), or "Mitoh" project in Japanese, is gateway for young talented developers to the hacker community in Japan. Directed by IPA, Information-technology Promotion Agency of Japan, it aims to aid research and development of new, innovative software. Unlike other grant-in-aids, it targets individuals, rather than particular groups. Every year, a "super-creator" award is given to individuals who contributed outstanding achievements, which I had the honor to receive for nytr.

Everyone with a creative idea related to computer science is welcome. Even very early-stage projects are eligible. Unique multidisciplinary projects are hosted every year. For example, subjects such as computer aided classic music or painting and a recommendation engine for library books have been researched.

The ESP’s youth division, "Mitoh youth," targets young creative individuals up to the age of 27. Note that there is no lower age limit. The youngest participant was 16 years old. Achievements from the youth division are often on par with those from the senior division. For example, Daiyuu Nobori, who directed the SoftEther project, was only 17 when his project was accepted. PacketiX VPN, the VPN software he has developed has become a standard in Japan from for its excellent functionality and ease of configuration.

A great benefit to all participants at ESP is the community spirit. Especially the youth division offers many community activities. First of all, all participants in the youth division attend the "start-up boost" conference. It is held over two days, day and night, and everyone has the opportunity to discuss their project details and hear advice from past participants of the program. Even after a project’s term, official and non-official alumni events are held regularly. One of the largest unofficial event is the "ESPer conference" held twice a year, where over a hundred alumni gather in one place.

Project achievements are published in various ways. Most projects are open to the public as freeware and many are provided under an open source license. The unique part of this program is that all copyrights remain with the individual developer. Several successful start-up companies were launched by participants, based on software they have developed.

I think the ESP is a quite rare program internationally, something Japanese can be proud of. The Google Summer of Code is often compared to it, but rather than supporting an existing successful open source project, the participants are encouraged to explore unchartered terrain in innovative software projects. If you are interested in talented Japanese developers and the unique software product they develop, keep an eye on ESP!

The Asiajin Blog has a report on the ESPer2008 conference.

9/26/2008

”Lightweight Language Future”: Japan’s Largest Dynamic Language Conference Held in Tokyo

On August 30th, approximately 1000 “Lightweight Language” enthusiasts gathered in Nakano, Tokyo, for the sixth annual Conference named “Lightweight Language Future” that was held by LL Future Organization http://ll.jus.or.jp/2008/info (Japanese).


The term “Lightweight Language”, or sometimes “LL”, indicates a group of dynamic languages consisting of Perl, PHP, Ruby, Javascript and others, especially in Japan. With these languages, it is easy to create code and bug-fixes for programmers and developers. Panelists and participants alike discussed the future of their favorite LL.

Celebrating the sixth holding of the conference, Larry Wall, known as the author of the Perl programming language, was invited. In his keynote, entitled "Rules that are meant to be broken," he introduced the new intensive Domain Specific Language (DSL) support in Perl 6.
With his background as a linguistic scholar, the influence of culture in language has been emphasized throughout his speech. “We do tell you how to think. We don’t tell you what to think,” he said, explaining the TMTOWTDI (there is more than one way to do it) slogan in the Perl culture. He often compares Perl to a natural language and explains his decisions in Perl's design with linguistic rationale. “We learn natural languages by repeating what other people say. We learn programming languages by copying what other people do, and eventually, we discover the meaning” he said, being proud of new DSL feature in Perl 6, designed to support “Polymorphism” to make a new sub-language based on existing implementation.

In the session "To invent the future by LL," five language developers, Larry Wall (Perl), Matz (Ruby), Eijiro Sumii (MinCaml http://min-caml.sourceforge.net/index-e.html), Yoshikatsu Fujita (Ypsilon http://code.google.com/p/ypsilon/) and Higepon (Mosh http://code.google.com/p/mosh-scheme/), sat down to discuss what computer language will look in the future. "I don't think 'programming language' will be alive 100 years from now," said Matz, the inventor of the Ruby language. It was a very active discussion, where radical opinions vigorously laid out and defended.

In the section "LL and Art," media art applications of Lightweight Languages were discussed. Ichitaro Masuda, a media artist famous for his work “Hao-hao”, and Daito Manabe, a VJ artist known for physical sensors, showed prototyping of a physical device with Ruby scripts and GAINER+, an easy-to-use general I/O device adaptor. They demonstrated live coding of an acceleration sensor attached to a virtual cube drawn using OpenGL. They also showed some of their design projects made with Lightweight Languages based various frameworks, such as RubyCocoa or Proce55ing.

Other topics discussed in the event included coding golf techniques http://codegolf.com/ , web framework design, and many smaller lightning talks. Although the event lasted more than 10 hours, it was very entertaining and insightful. I am looking forward to attending the next meeting.