Developers Summit 2010にいってきました。
18-7-E の デブサミオフィシャルコミュニティから選出のLT大会で、Goコミュニティとして発表です。webとかのタイムテーブルとかには載ってなくて、サプライズ企画だったようです。
Goコミュニティとはいっても特にユーザー会とかのコミュニティとかいうわけではなく、Go contributorのひとりとしてです。聞いたところによると今回がGo関係者の日本での最初の発表だとか。会場でもまだ使ったことのある人は少なかった様子。
LTで5分なので言語自体についてはざっと紹介するかんじで、むしろ情熱プログラマー ソフトウェア開発者の幸せな生き方から引用して、開発コミュニティに参加するメリットとDevFest 2010 Japanで Go言語のセッションとOffice Hourをやりますという発表でした。DevFest 2010 Japanは参加するために必要なクイズがおもしろいらしいので、やってみてください。
Sunday, February 21, 2010
Monday, January 18, 2010
関西で技術講演会
1月18日は 日帰りで、奈良先端科学技術大学と京都大学で技術講演会をしてきました。
内容は「Googleを支える大規模分散システム」というタイトルで、大規模な分散システムの特徴や、その設計・実装の仕方の説明から、Googleでのシステムインフラ(GFS, Protocol Buffers, MapReduce, Bigtableなど)のoverviewと次世代インフラの目標とChallengeについて簡単に説明しました。
2011年度新卒採用がそろそろなので、興味のある人は応募してみてください。エンジニアのエントリーは2/14締切です。(スケジュール)
内容は「Googleを支える大規模分散システム」というタイトルで、大規模な分散システムの特徴や、その設計・実装の仕方の説明から、Googleでのシステムインフラ(GFS, Protocol Buffers, MapReduce, Bigtableなど)のoverviewと次世代インフラの目標とChallengeについて簡単に説明しました。
2011年度新卒採用がそろそろなので、興味のある人は応募してみてください。エンジニアのエントリーは2/14締切です。(スケジュール)
技術講演会が終った後は、KMCの例会に顔をだして、久し振りに中央食堂でご飯たべてきました。
Thursday, October 8, 2009
Chrome 1周年記念パーティ
Chrome 1周年記念パーティに参加してきました。
Chromeマカロンのほうは食べられたけど、Chromeケーキは食べ(られ?)なかったみたいです。
Google Chromeがリリースされてもう一年になりますねー。
日本でもChromiumの開発にかかわってるチームがあります。自分がかかわるようになったのはこの春からです。オープンソースなので何やってるかは調べればわかると思いますが、大きなところだとLinux版のSSLまわり(EV署名検証など)とかをやってました。最近 WebKit committerになったばかり。今は WebSocketの実装あたりをやってます。
そういえば最近またSoftware Engineer募集中なので興味のあるひとは応募してみてください。SWEの面接は日本の他の会社の面接とだいぶ違っているので、うけてみるとおもしろいと思います。採用面接ゲリラガイドぽいかんじといえばいいでしょうか。ホワイトボードにプログラムをかいてもらったりします。SWE以外にもEngineering Managerとかも募集中です。
営業よりのTechnical Account Managerも大募集中らしいですよ!
Thursday, August 13, 2009
入門git
入門gitを入手しました。Pragmatic Version Control Using Git の日本語訳です。
git は cvs, svn などと若干概念が違うところがあるので難しいと感じるところもあるが、この本でだいぶ使い方がわかるようになると思います。手元でpatchをこねていく時にもバージョン管理できるので、使いこなせばcvs, svnとかよりも便利だと感じるところも多いですね。git-svnなどを使えば、mainのrepositoryはsvnのままで手元ではgitを使うとかもできるので、プロジェクトではsvnをつかいつつ自分だけgitを使うとかもできるので移行していきやすくなってますね。
advancedな内容はあまり書かれてませんが、入門として読むのには最適ではないかと。
git は cvs, svn などと若干概念が違うところがあるので難しいと感じるところもあるが、この本でだいぶ使い方がわかるようになると思います。手元でpatchをこねていく時にもバージョン管理できるので、使いこなせばcvs, svnとかよりも便利だと感じるところも多いですね。git-svnなどを使えば、mainのrepositoryはsvnのままで手元ではgitを使うとかもできるので、プロジェクトではsvnをつかいつつ自分だけgitを使うとかもできるので移行していきやすくなってますね。
advancedな内容はあまり書かれてませんが、入門として読むのには最適ではないかと。
Wednesday, August 12, 2009
第一回html5-developers-jp オフ会
8/12の夜は、ラボエムクアリタ渋谷でのhtml5-developers-jpオフ会に参加してきました。
会場は結婚式二次会とかにもつかうようなところで、geekな集りはあまりそぐわないかんじがしたんですがよいんでしょうか…
デモ・ライトニングトークで、Web Socketsについてちょっと解説とデモをしました。デモするためにVaio ZのDebian/sidに WebKit + Web Sockets patchをあてたGtkLauncherを作り、Web Socketsをつかった簡単なチャットプログラムを動かしてみました。
外部ディスプレイにすぐにだせなくてあせりました。システム|設定|ディスプレイ ではうまくいかなくて、結局 xrandr --auto とかしてちょっと待つというのがよかったようなかんじ。
デモ用にノートもっていったけど、カメラもっていくのを忘れてしまったので写真はなし。
デモ・ライトニングトークで、Web Socketsについてちょっと解説とデモをしました。デモするためにVaio ZのDebian/sidに WebKit + Web Sockets patchをあてたGtkLauncherを作り、Web Socketsをつかった簡単なチャットプログラムを動かしてみました。
外部ディスプレイにすぐにだせなくてあせりました。システム|設定|ディスプレイ ではうまくいかなくて、結局 xrandr --auto とかしてちょっと待つというのがよかったようなかんじ。
デモ用にノートもっていったけど、カメラもっていくのを忘れてしまったので写真はなし。
Saturday, June 13, 2009
FSIJ総会
今日は秋葉原ダイビルにてFSIJ理事会および総会。
そういえば snapshot.debian.net は fsijでのdisk 4.3Tがあふれていて、2009年4月あたりのぶんをとりそこねていた。5月最初に気付いて手元では残しているが、次をなんとかしないといけないかんじ。fsijには24台のディスクがはいるやつがあるけどディスクそのものをどう調達しようかなあというところで検討中。全部そろってないとだめで、全部買うと50万くらい? 寄付を募ってみるかとかいう話にもなりそう。などなど
その後の月例会では、chromium/linuxの話をしてみた。普段は Ubuntu/Hardy相当の会社のマシンで開発してたりするけど、前日あたりから手元のvaio Z(Debian/sid)でも開発環境をととのえてみたらいろいろはまった。以下そのまとめ。
とりあえずLinux用のBuild Instructionに従えばよい
vaio zはamd64 archなので64bit用のセットアップが必要(V8あたりが64bitサポートがないため)。
ただしDebian/sidだとbuild/install-build-deps.shはそのままうごかない。まずUbuntuチェックをはずす。そしてlibdirectfb-1.2-0をlib_listに加える必要がある。いくつか/usr/lib32で*.soがないので適当にシンボリックリンクをはる必要もある。はらないとgcc -m32でリンクする時にライブラリみつけるのに失敗して64bit用のをリンクしようとしてできないというエラーになる。
必要なパッケージをインストールしたら depot_toolsをcheckout
depot_toolsを入手したらgclientでrepositoryからチェックアウト
hammerでビルド
調べた結果、これが原因
結局次のような *.so をLD_PRELOADしてやればよいかんじに
これで一部のfontが変なのはなおるが、resolveできなくてweb browseできない問題が。 これは/etc/nsswitch.confの次の設定のせいっぽい
ディスカッションでは renderer process の sandboxはどういうのがあれば幸せになれるだろうかでもりあがった。chromiumではLinux Sandboxingあたりに情報が。ここにかいてある通り現状では linuxでは no sandboxです。(No sandbox - Where we are currently. A compromised renderer can still get at your X socket so it fails all requrements. )
現状では IMEサポートがまだなので実用的ではないです。
ただ現在鋭意開発中なので、ここに書いてあることはすぐにobsoleteになる可能性があります。詳しくはdev.chromium.orgをみてください。
そういえば snapshot.debian.net は fsijでのdisk 4.3Tがあふれていて、2009年4月あたりのぶんをとりそこねていた。5月最初に気付いて手元では残しているが、次をなんとかしないといけないかんじ。fsijには24台のディスクがはいるやつがあるけどディスクそのものをどう調達しようかなあというところで検討中。全部そろってないとだめで、全部買うと50万くらい? 寄付を募ってみるかとかいう話にもなりそう。などなど
その後の月例会では、chromium/linuxの話をしてみた。普段は Ubuntu/Hardy相当の会社のマシンで開発してたりするけど、前日あたりから手元のvaio Z(Debian/sid)でも開発環境をととのえてみたらいろいろはまった。以下そのまとめ。
とりあえずLinux用のBuild Instructionに従えばよい
vaio zはamd64 archなので64bit用のセットアップが必要(V8あたりが64bitサポートがないため)。
ただしDebian/sidだとbuild/install-build-deps.shはそのままうごかない。まずUbuntuチェックをはずす。そしてlibdirectfb-1.2-0をlib_listに加える必要がある。いくつか/usr/lib32で*.soがないので適当にシンボリックリンクをはる必要もある。はらないとgcc -m32でリンクする時にライブラリみつけるのに失敗して64bit用のをリンクしようとしてできないというエラーになる。
cd /usr/lib32 ln -s libpangoft2-1.0.so.0 libpangoft2-1.0.so ln -s libgthread-2.0.so.0 libgthread-2.0.so ln -s libgio-2.0.so.0 libgito-2.0 ln -s libgconf-2.so.4 libgconf-2.so ln -s libdirectfb-1.2.so.0 libdirectfb-1.2.soまあこれは install-build-deps.shのバグなのかも?
必要なパッケージをインストールしたら depot_toolsをcheckout
$ svn co \ http://src.chromium.org/svn/trunk/tools/depot_toolsそしてチェックアウトされたdepot_toolsにPATHを通す。ここに含まれるgclientやgclといったツールを使って開発する。
depot_toolsを入手したらgclientでrepositoryからチェックアウト
$ gclient config \ http://src.chromium.org/svn/trunk/src $ gclient syncこれでsrcディレクトリ以下にチェックアウトされる
hammerでビルド
$ cd src/build $ hammer app../sconbuild/Debug/chrome が実行ファイル。しかしそのままだと一部フォントのレンダリングが変…

調べた結果、これが原因
Pango-WARNING **: \ /usr/lib/pango/1.6.0/modules/pango-basic-fc.so: \ wrong ELF class: ELFCLASS64これは install-build-deps.sh でやってるhackが原因というか。このscript、i386で必要なdebをapt-getして、/lib、/usr/lib 以下のをそれぞれ /lib32、/usr/lib32 になるようにパッケージしなおしてインストールするということをしてます。だいたい問題ないけどmoduleのロードパスなどはそのまま/usr/lib以下だったりして、そっちは64bit *.soなのでmodule loadに失敗しているということに。
結局次のような *.so をLD_PRELOADしてやればよいかんじに
/** * Copyright (c) 2009 Fumitoshi Ukai * All rights reserved. * * Fix module load path from /lib,/usr/lib to /lib32,/usr/lib32 * * $ gcc -m32 -fPIC -o module_fix.o -c module_fix.c * $ gcc -m32 -shared -o module_fix.so module_fix.o -ldl * $ LD_PRELOAD=`pwd`/module_fix.so /path/to/chromium/sconsbuild/Debug/chrome */ #define _GNU_SOURCE 1 #include <dlfcn.h> #include <stdio.h> #include <stdlib.h> #include <string.h> void *dlopen(const char *filename, int flag) { void *(*orig_func)(const char *, int) = dlsym(RTLD_NEXT, "dlopen"); char *new_filename = NULL; if (strncmp(filename, "/usr/lib/", strlen("/usr/lib/")) == 0) { int len = strlen(filename) + 3; new_filename = malloc(len); snprintf(new_filename, len, "/usr/lib32/%s", filename + strlen("/usr/lib/")); } else if (strncmp(filename, "/lib/", strlen("/lib/")) == 0) { int len = strlen(filename) + 3; new_filename = malloc(len); snprintf(new_filename, len, "/lib32/%s", filename + strlen("/lib/")); } printf("dlopen: %s\n", new_filename ? new_filename : filename); void *p = orig_func( new_filename ? new_filename : filename, flag); if (new_filename) free(new_filename); return p; }
これで一部のfontが変なのはなおるが、resolveできなくてweb browseできない問題が。 これは/etc/nsswitch.confの次の設定のせいっぽい
hosts: files mdns4_minimal [NOTFOUND=return] \ dns mdns4この設定だとgetaddrinfo(3)がEAI_NONAMEをかえすのでresolveできないという結果に。 結局mdns4あたりの設定をはずして次のようにしてやればよさげ
hosts: files dns
ディスカッションでは renderer process の sandboxはどういうのがあれば幸せになれるだろうかでもりあがった。chromiumではLinux Sandboxingあたりに情報が。ここにかいてある通り現状では linuxでは no sandboxです。(No sandbox - Where we are currently. A compromised renderer can still get at your X socket so it fails all requrements. )
現状では IMEサポートがまだなので実用的ではないです。
ただ現在鋭意開発中なので、ここに書いてあることはすぐにobsoleteになる可能性があります。詳しくはdev.chromium.orgをみてください。
Thursday, June 11, 2009
App Engine Hackathon
今日は秋葉原富士ソフトにてHachathon。去年はGoogle Developer Day内企画だったけど、それだとHackathon参加しているとセッションが聴けない、逆もしかり ということでHackathonはDeveloper Dayの後日企画として開催。
Geo、Android、Google App Engine、OpenSocialの4分野を2分野づつ二日に分けて、今日はGoogle App EngineとOpenSocialの日。
それぞれ部屋にわかれてHack。Google App Engineのほうはいくつかのチームにわかれて作業していました。けっこうできていてよかったです。
Geo、Android、Google App Engine、OpenSocialの4分野を2分野づつ二日に分けて、今日はGoogle App EngineとOpenSocialの日。
それぞれ部屋にわかれてHack。Google App Engineのほうはいくつかのチームにわかれて作業していました。けっこうできていてよかったです。
Tuesday, June 9, 2009
Google Developer Day 2009 Japan
今日はGoogle Developer Day 2009 Japan。場所は去年と同じく横浜パシフィコ。
今年は、午後のBreakout sessionの一つ「Java で動かす Google App Engine」でDataStoreをどう使えばいいかについてのtipsについての解説など。
その後Office Hours。App Engine admin consoleの開発エンジニアもきていたのでいくつか要望とかも言っておいた。後は一般開発者の質問などに答えたり。DataStoreがやはりApp EngineでのWebアプリ開発のキモなので、ちゃんと理解しておきたいところ。詳しくはApp Engineデベロッパーガイド(記事も要注目)や、Google I/Oでのセッションなどを見ておくとよいです。
App EngineのOffice Hoursのあとは Google Chrome Office Hours。
その後は、「Life of 新卒エンジニア」を聴いて、デベロッパーソーシャルトークへ。去年はロビーに人があふれて大変だったが、今年は同じ時間にWaveやAndroidのセッションがあったためかそんなに多くなかった。
今年の目玉はなんといってもAndroid開発フォンの配布とWaveの発表かと。しかし、キーノートでAndroidの説明をしたChrisとTomは途中まで英語でプレゼンして最後に日本語とか卑怯すぎるw
今年は、午後のBreakout sessionの一つ「Java で動かす Google App Engine」でDataStoreをどう使えばいいかについてのtipsについての解説など。
その後Office Hours。App Engine admin consoleの開発エンジニアもきていたのでいくつか要望とかも言っておいた。後は一般開発者の質問などに答えたり。DataStoreがやはりApp EngineでのWebアプリ開発のキモなので、ちゃんと理解しておきたいところ。詳しくはApp Engineデベロッパーガイド(記事も要注目)や、Google I/Oでのセッションなどを見ておくとよいです。
App EngineのOffice Hoursのあとは Google Chrome Office Hours。
その後は、「Life of 新卒エンジニア」を聴いて、デベロッパーソーシャルトークへ。去年はロビーに人があふれて大変だったが、今年は同じ時間にWaveやAndroidのセッションがあったためかそんなに多くなかった。
今年の目玉はなんといってもAndroid開発フォンの配布とWaveの発表かと。しかし、キーノートでAndroidの説明をしたChrisとTomは途中まで英語でプレゼンして最後に日本語とか卑怯すぎるw
Friday, May 1, 2009
google summer intern
今年の夏も Googleではサマーインターンを実施します。
Googleのサマーインターンは、Googleのエンジニアと一緒に開発することを経験することができます。期間は8 - 14 週間程度ですが、Googleの東京オフィスで Googleでの開発のやりかたを実際に体験してもらうことになります。プログラミングをいろいろしてみたいという学士、修士、博士課程の学生の皆様は参加してみてください。
とはいっても「インターンシップ中はどういったプロジェクトに携わることが出来るのか?」「一日の具体的なスケジュール・動き方は?」などいろいろ知っておきたいこともたくさんあると思います。そういう人のためにサマーインターンセミナー(説明会)が開催されます。インターンシップのご紹介とエンジニアとのQ&Aセッションをはじめオフィスツアー等をする予定です。5月17日(日)の午後にGoogle東京オフィスにて開催しますので時間のある人は申しこんでください。
Googleのサマーインターンは、Googleのエンジニアと一緒に開発することを経験することができます。期間は8 - 14 週間程度ですが、Googleの東京オフィスで Googleでの開発のやりかたを実際に体験してもらうことになります。プログラミングをいろいろしてみたいという学士、修士、博士課程の学生の皆様は参加してみてください。
とはいっても「インターンシップ中はどういったプロジェクトに携わることが出来るのか?」「一日の具体的なスケジュール・動き方は?」などいろいろ知っておきたいこともたくさんあると思います。そういう人のためにサマーインターンセミナー(説明会)が開催されます。インターンシップのご紹介とエンジニアとのQ&Aセッションをはじめオフィスツアー等をする予定です。5月17日(日)の午後にGoogle東京オフィスにて開催しますので時間のある人は申しこんでください。
Sunday, April 26, 2009
Subscribe to:
Posts (Atom)