YAPC::NA 2008 in Chicago

I have proudly attended YAPC::NA 2008 in Chicago and enjoyed that.
YAPC::NA is original yet another Perl conference since 1999.
You can see more my photos in Chicago on flickr.

YAPC::NA 2008 Pre-Conference Dinner


Ingy bring me to the restaurant by his motorcycle. ingy++

YAPC::NA 2008 (Day 1) Get it started


I attended every YAPC::Asias which were exciting and held three times in Tokyo. However, this is my first time to come to YAPC::NA.

YAPC::NA 2008 (Day 2) Just two seconds to generate .pm by WSST


I gave my first talk titled:
WSS - WebService Specification Schema and LL libraries
I still used JavaScript-powered S6 presentation tool with one-click translation feature for my slides.

YAPC::NA 2008 (Day 2) "Moose" by Stevan Little


Stevan Little gave a general talk about Moose:
Moose - A post modern object system for Perl 5
Moose is getting much popular also in Japan this year.

YAPC::NA 2008 (Day 2) "use the Moose;" by Ingy


Ingy döt Net gave an interesting talk about:
Perl and JavaScript
I like teh incredible the.pm module.

YAPC::NA 2008 (Day 3) Lightning Talks!


I gave another talk titled:
DOM manipulation by Gainer/Wiimote over HTTP.
Before starting presentation, I had a technical trouble with my real device gadgets, however I made it.
I'll give this talk again at YAPC::Europe 2008 in Copenhagen, Denmark.

YAPC::NA 2008 (Day 3) Improvised Lightning Talks


This is a brand-new style of lightning talk.
It's absolutely fantastic that Ingy's one thing which he'd never do in Perl.
He's true entertainer!

YAPC::NA 2008 is over


I appreciate the organizer Josh McAdams's hospitality. jmcada++

Differences between YAPC::NA and YAPC::Asia


I could find some of interesting differences between the conference and other conferences in Japan including YAPC::Asia.
 
* More foods and drinks
YAPC::Asia started to provide lunch and snacks this year.
Here are free drinks and delightful fruits provided in YAPC::NA.
 
* More interruptions
I think it's not common for Japanese audiences to interrupt speaker's talk to ask something. Dan-san could be probably only Japanese hacker who can do that? ;-)
 
* More chats in hall
Not only few people here prefer to stay at entrance to chat with another perl hackers rather than just listen presentations.
 
* More BOFs
I don't see such concurrent meetings which occur naturally in Japan.
 
* More women
Josh said that there were 17 women in second day's conference dinner.
It's definitely rare that we could have two-digit numbers of women attend such technical conference in Japan.
 
* Less technological previews, more productive solutions
Personally, I love talks about cutting-edge technologies, future glances, ingenious topics etc. We can see such "I-Made-It!"-styled talks in Japan.
Here, more speakers provide solutions for attendees' daily production.
 
* Few Japanese attendees
I was only Japanese attendee come from Japan.
I hope more Japanese hackers could come to give their techs out for global.
 

My reports written in Japanese

* YAPC::NA 2008 Pre-Conference Dinner
* YAPC::NA 2008 (Day 1) Get it started
* YAPC::NA 2008 (Day 2) Just two seconds to generate .pm by WSST
* YAPC::NA 2008 (Day 2) "Moose" by Stevan Little
* YAPC::NA 2008 (Day 2) "use the Moose;" by Ingy
* YAPC::NA 2008 (Day 3) Lightning Talks!
* YAPC::NA 2008 (Day 3) Improvised Lightning Talks
* YAPC::NA 2008 was over
* YAPC::NA 2008 summary report

"Mashup Application and Google API" @ GDD

Last Tuesday, I gave a talk titled "Mashup Application and Google API" for Google Developer Day 2008 in Japan.


[Topics]
* Google provides 60 APIs!
* Translatable presentation with Google AJAX Language API
* Organizing Mashup Award 4th with 100+ APIs in Japan
* Mashup of Google Maps API and Recruit Web Service UI Library
* Growth of Google Maps family (embeddable、static、flash)
* Google Char API (blank map!)
* AJAX Libraries API (cache for Prototype, jQuery, etc.)
* Brand New APIs (real device web services)

My slides using S6 again is below. (written in Japanese)
http://www.kawa.net/text/google/gdd2008/japan.html


The conference was completely for developers who love Google. I am not Google's employee, you know, but I have surprised that more than 100 attendees have nevertheless come to my room.


In addition to my talk above, I took the platform of keynote to demonstrate in favor for OpenSocial.
We provides a trial service which uses an OpenSocial's container of Shindig.

The JUI 2008 Tokyo was over

The JUI 2008 Tokyo conference was over with great success.
More than 100 attendees came to the venue!
We really enjoyed JavaScript tech talks in depth.


The JUI 2008 Tokyo
* Date: 18:30pm, Monday, March 19, 2008
* Venue: Recruit Ginza 8 Bldg., Tokyo, Japan

[Main Talks]
* Paul Bakaus (from Germany) - An in-depth look at jQuery UI
* amachang - S6
* inucara - inucara.net
* iandeth - Recruit WEB Service UI Library

[Lightning Talks]
* gugod (from Taiwan) - jFormino
* noriaki - jQuery on Greasemonkey
* Yoshiomi KURISU - Colors in jQuery
* monjudoh - Twitter client with jQuery

[Special Guests]
* Ingy (from Seattle/Taipei) - Jemplate
* mala - use DOM
* TAKESAKO - YAPC::Asia 2008 Tokyo

[Pictures]
gugodiandethkawanettaigotakesako

We got special guests to give us additional lightning talks!
We also had an after-party with almost half of all attendees.


Amachang, Paul and other great JS hackers're talking about past talks in Shibuya.js user group.
I hope I could host such a great conference again.

YAPC::Asia 2008 Tokyo - DOM manipulation by Wiimote/Gainer over HTTP

I love YAPC::Asia which is really exciting Perl conference.
At YAPC::Asia 2008 Tokyo of this week, I got first chance to give a talk in the conference.


My talk was titled DOM manipulation by Wiimote/Gainer over HTTP.
Some slides are updated from OSDC.TW 2008's one.
I'll give this talk again for YAPC::NA 2008 in Chicago next month.


The room was almost full and had some standees at last!
Thank you for coming to listen my talk.


The venue of the conference was Tokyo Institute of Technology at Ookayama, Tokyo.
It had many trees in the campus and was really nice venue.
The number of attendees was counted as more than 500 people.
The committee announced that the conference cost about three million yen (about USD 30,000) in total.
I'd love to say thank you for organizers and volunteers.

As an aside, RECRUIT Co., Ltd. was one of the gold sponsors of the conference. It was honor of us. The Media Technology Labs have a plan to back up such open source related conference and projects.
 
* Translated version of the original post of this is here.

Announcement: The JUI 2008 Tokyo

Today I'm proudly announcing the first JUI conference. JavaScript techs enhancing user interface on the web is getting more important not only for developers/engineers but also for general users. The JUI is the conference forcused on JavaScript User Interface techs.

Paul Bakaus, the jQuery UI Lead, will come from Germany. The leading Japanese JavaScript hackers will counter (welcome) him. Register now!


The JUI 2008 Tokyo

* Date: Monday, May 19, 2008
* Time: 6:30pm - 9:00pm
* Venue: 8-4-17 Ginza, Chuo-ku, Tokyo, JAPAN [map] [map]
* Host: The JUI Committee
* Sponsor: RECRUIT Media Technology Labs
* Contact: jui-committee [at] googlegroups.com
* Facebook: http://www.facebook.com/event.php?eid=11240373854

[ MAIN SPEAKERS ]
* Paul Bakaus (from Germany) - http://ui.jquery.com/
* amachang - http://d.hatena.ne.jp/amachang/
* inucara - http://inucara.net/
* iandeth - http://iandeth.dyndns.org/mt/ian/

[ LIGHTNING TALKS ] updated
* monjudoh - http://d.hatena.ne.jp/monjudoh/
* noriaki - http://blog.fulltext-search.biz/
* Yoshiomi KURISU - http://dev.chrisryu.com/
* gugod (from Taiwan) - http://blog.gugod.org/

[ REGISTRATION ] (free of charge)
http://mtl.recruit.co.jp/jui/form/
English translated version of the form is also tested and available.

[ CONTACT ]
* jui-committee [at] googlegroups.com


* Translated version of the original post of this is here.



2008.05.19 LT speakers updated

Translatable presentation with the S6 JavaScript library

For my talk at OSDC.TW 2008 in Taiwan, I have added a couple of features to the S6. The S6 is a great presentation tool developed by amachang, based on HTML/Web standards and implemented in pure JavaScript. (demo)


Writing a slide with the lib is entirely easy:
<div class="s6_fadeScale">
    <h3>page title here</h3>
    <p>page body here</p>
</div>
class="s6_fadeScale" means the fading/scaling effect on paging.

And the most noteworthy feature of this special version of the S6 is automatic translation feature which is powered by Google AJAX Language API.

Just clicking a text node on the slide, it's translated into Japanese or another language in a moment. This is efficient for I18N, M17N and native language support. (demo)


13 languages, Japanese, Korean, Traditional Chinese, Simplified Chinese, Arabic, Russian, Greek, German, Italian, Dutch, French, Spanish and Portuguese, are supported to be translated into. The number of languages is depend on it of the Google Translate. Reverse translation, ex. translating from Japanese to English, is also supported for granted.

This means, with the lib, your presentation would get more familiar for the people who could not read the language of it.
I'll welcome you giving cool talks in Japan with the lib. We Japanese don't need to be afraid of slides written in English anymore! :-)

Download it now and enjoy!

* The original post of this was written in Japanese and was translatable.

OSDC.TW 2008 - DOM manipulation by Wiimote/Gainer over HTTP

12th April, I gave a new talk titled "DOM manipulation by Wiimote/Gainer over HTTP" for the OSDC.TW 2008 at Taipei.


I think manipulating DOM is a bother. That is why I have developed the JKL.ParseXML and XML.ObjTree libraries for my use. And I was involved in kinds of real device web service techs in these days. The presentation could be an answer from me about DOM manipulation. ;-)

The same titled talk will be soon made again in both of the YAPC::Asia 2008 Tokyo and the YAPC::NA 2008 at Chicago.

Special thanks:
* Hiroshi Nemoto - Wiimote HTTPd's co-author
* Hitoshi Amano (a.k.a. amachang) - S6 presentation tool's author
* Shuhei Terai (a.k.a. trick7) - Gainer's maestro


Anyway, this was my first time to get to Taiwan. I must say that the Formosa was the great island of good foods and kind full people.


After the conference, I moved to gugod's office in the Jhubei City which is next to Hsinchu. I love 小籠包 (Xiaolongbao) above, however, 潤餅 (Taiwanese crepe) at a street stand was really tasty.


I'd love to back to Taiwan again next year. More photos...

[Event] OpenSocial - Google JAPAN's developer roundtable #5

At 14th March, I have participated in the Google JAPAN's developer roundtable as a panel member.


The the great venue was the Aoyama Diamond Hall, Omote-Sando.

The official report from Google is out:
Google JAPAN's developer roundtable #5 - OpenSocial

I introduced the Dokoiku's experimental OpenSocial container implemented with Shindig.

"Gainer over HTTP" and the Device::Gainer module for Perl

Gainer is one of the hottest gadgets now.
This weekend, I got the module lent by Shuhei Terai, my colleague and a great Flash/ActionScript developer a.k.a. Trick7.
Gainer is an environment for user interfaces and media installations. By using the Gainer environment, the user can handle sensors and/or actuators with a PC on various programming environments such as Flash, Max/MSP, Processing and so on.
http://gainer.cc/Main/HomePage?userlang=en

Gainer supports some of LLs, ActionScript and Ruby (with Funnel).
Perl is not supported yet unfortunately.


So I wrote a Perl module named Device::Gainer and submitted on CodeRepos:
http://svn.coderepos.org/share/lang/perl/Device-Gainer/trunk/lib/Device/Gainer.pm

SYNOPSIS:
use Device::Gainer;
my $gainer = Device::Gainer->new( host => '192.168.1.xx' );
$gainer->on_pressed( sub { print "PRESS\n"; } );
$gainer->on_released( sub { print "RELEASE\n"; } );
$gainer->turn_on_led();
$gainer->turn_off_led();
The module has enough functionality for my purpose, however,
it's not completed especially for documents and tests.
The following methods are supported currently:

MethodCommand
turn_on_ledh*
turn_off_ledl*
digital_outputD____*
set_highH_*
set_lowL_*
peek_digital_inputR*
analog_outputa___*
peek_analog_inputI*
on_pressedN*
on_releasedF*

Anyway, I wrote a proxy server for "Gainer over HTTP" using the Device::Gainer and POE::Component::Server::HTTP module.


Now we can use the Gainer through the Internet!
This means the Gainer Ajax tech can be the hot topics in the Ajax/JavaScript developers as well...


I failed to use Win32::SerialPort module to connect to Gainer module directly.

The original posts of this were written in Japanese.

[JSONP-SE] JSONP Static Emulation

JSONP, JSON with Padding, is available not only with dynamic contents from server-side CGI etc., but also with static contents, just static files.

However, such static JSONP files do NOT allow to change Padding, name of callback function.
JSON with FIXED padding is a kind of JSONP? It's just a mere JavaScript file?
callback(
    { foo: 'HOGE', bar: 'POMU' } // JSON content
);
You may need to manage a queue when you handle multiple JSONP calls.

Now, the JSONP-SE is the solution for this.
JSON-SE means JSON Static Emulation.
Change the padding, "callback" in code above, to the six lines below:
( function (data) {
    var list = document.getElementsByTagName( 'script' );
    var temp = list[list.length-1].src.match( /[\?\&]callback=([A-Za-z0-9\_\.\[\]]*)/ );
    var func = temp ? temp[1] : 'callback';
    eval( func+"(data)" );
})(
    { foo: 'HOGE', bar: 'POMU' } // JSON content
);

This is still a static file, however, you could specify any callback function name you like.
The JSON content in JSON-SE is exactly the same as it in JSON.

You could load JSONP-SE file via <script> element in <body> element.
<script type="text/javascript" src="test.js?callback=hello"></script>
The callback function "hello" would be called.
<script type="text/javascript" src="test.js"></script>
Without ?callback=... argument is not specified, the default function "callback" would be called instead.

You could generate <script> element via DOM.
    var script = document.createElement( 'script' );
    script.charset = 'utf-8';
    script.type = 'text/javascript';
    script.src = 'test.js?callback=hello';
    document.lastChild.appendChild( script );
JSONP-SE must be loaded in the bottom of the dom tree.


Such trick, fetching argument from the src attribute of the script element loaded, is used in script.aculo.us as well.


* The original post of this was written in Japanese.

[Event] Tokyo ActionScript Meetup 2008 F/ Colin Moock

When I heard that Colin Moock would come to Japan to make a talk in a seminar event sponsored by Adobe Systems Inc., it hit me that we could welcome and counter him with top ActionScript engineers in Japan!
I'd like to show him the cutting-edge ActionScript techs developed in Japan, are not introduced yet to the world in English, unfortunately.

As the result, at the day of January 16, the Tokyo ActionScript Meetup 2008 F/ Colin Moock was taken a place in Adobe Japan.
Very deep tech talks about ActionScript 2, 3 & also 4(!) were told.

Colin (left) and Ota-san.

The last of all, I asked him some of questions invited by the audiences on ahead.

I think the most of audiences including me would surprised that he could speak Japanese much fluently.
As Larry Wall could speak JavaScript as well, such great programmers would be good at speaking multiple natural languages as well as programming languages.


Tokyo ActionScript Meetup 2008 F/ Colin Moock

KEYNOTE
* Colin Moock http://moock.org/

MAIN TALKS
* yossy http://www.be-interactive.org/
* munegon http://void.heteml.jp/blog/
* id:secondlife http://d.hatena.ne.jp/secondlife/

LIGHTNING TALKS
* Muraken http://www.muraken.biz/ & tera http://www.trick7.com/blog/
* Iwasaki http://www.cosmo-int.com/
* Kobayashi http://d.hatena.ne.jp/yukoba/

QUESTIONS AND ANSWERS
* Q: Kawasaki http://www.kawa.net/ on behalf of the all audiences
* A: Colin Moock http://moock.org/


We much enjoyed the session with you.
Thank you, Colin! See you again!


* The original longer post of this was written in Japanese.

Hatsumode at the Sanno Hie Shrine

At the first business day of this year, I and my all colleagues went to the Sanno Hie Shrine for Hatsumode.
This is the most important ritual on the begging of new year, I think.
We prayed for our fine health and also our success in business.