ここ最近、参加している Google Gropus のいくつかに spam がちらほら来るようになってた。どうやら、グループに参加してメールを投げる→すぐにグループを脱退、という hit & away 戦法らしい。一つ一つのグループへの被弾は散発的ではあるけど、参加してるグループの数が多いと、同じ spam が何度も来るという罠。いい加減、うっとおしくなってきたので対策を探ってみた。
見つけたのが、Google Groups の設定で「新規メンバーの投稿に限って、管理者が承認するまで保留にする」という機能。管理権限を持ってるグループのトップページ右側枠「グループ設定」→「アクセス」タブを選択→ページ内「メッセージの管理」とある項目の「新規メンバーからのメッセージを管理対象とする」にチェックを入れて「変更を保存」してやれば OK 。
これを設定した後は、新規に登録してきた参加者が送ったメールは、直接には配信されなくなる。代わりに、管理者宛に Google からお知らせが来て、配信して良いかどうか確認できるようになる。ここで spam 認定してやれば、該当メールの送信アドレスは spammer として認識されるらしい。まぁ、認定する頃には当の本人はとっくに逃げた後だろうから、どれぐらいダメージがあるのかは分からないけど、少なくとも、一般の参加メンバーにメールが流れなくなるという点では有効かと。同じ spam に悩まされている人がいたら、お試しあれ。
cesare 技術
ここ最近いろいろ考えてたんですが、技術コミュニティみたいなものを立ち上げてみようかと。まだ考えがちゃんとまとまってないのだけど、Twitterで観測気球を打ち上げてみたら意外と反応があったので、まずはやりたいことを明らかにして賛同してくれる人を募りつつ、細かいことは活動しながら決めていこうかなー、と。
考えていることを列挙すると、こんな感じ。
- コードを書いて何かを作ろう
- 定期的に開催
- コラボレーションしよう
- 言語不問
- 活動は公開で
- たまには合宿も
- Have Fun!
まぁ、なんのことはない、要するに Seattle.rb みたいなことをやりたいだけなんですけどね。あと、近い例で言えば、三鷹の pgcafe あたりのコンセプトとも似てる気がする。
それぞれ簡単に説明を。
コードを書いて何かを作ろう
何かコードを書く。目標は、例えばwebサービスを立ち上げるとか、ライブラリを作ってGithubに公開するとか、iPhoneアプリケーションを作ってiTuneStoreに出すとか。テーマは各自で好きなように決めればOK。何かゴールを決めて成果を出すところを目標にしたい。まぁ、ハッカソンみたいなものを思い浮かべてもらえば良いかと。
定期的に開催
集まるタイミングを定期的にする。「次はいつにする?」とか話し合うまでもないぐらいが良いな。「金曜日の夜に決まった場所に行けば誰かいるはず」ぐらいがちょうど良い。いや、金曜日っていうのは例だけど。とは言え、毎回出席しなければいけないとかではなく。都合のつく時にふらっと顔を出せば誰かが来ているはず、ぐらい。
コラボレーションしよう
せっかく時間をつくって集まったのだから、一人で黙々とコード書くだけじゃなくて、他の人を手伝ったり、ペアプログラミングしたりとか。単独作業はダメとかにする気はないけど、共同作業の方が推奨ぐらいの感じで。人に説明することで、自分自身の知識が強化されるのは、そういう経験がある人には理解してもらえると思う。アジャイル開発に関わった経験から、ペアで作業すると、ちょっとした知識が伝達されるということもあると思うので。実際に経験した例だと、テキストエディタの効率の良い使い方とか裏技みたいなのを教えてもらったりとかね。同じ業界でもちょっとジャンルが違う人の話がいろいろと興味深かったり。PCサイト系の人と携帯系の人とか。共同作業を通じて、いろんな知恵を伝えていける場になればな、と。
言語不問
言語ごとのコミュニティは既にあるんですよね。僕の場合はRuby関係のコミュニティによく顔を出してるけど、PerlとかPHPとか、言語ごとに勉強会やカンファレンスの類いはいっぱいある。でも、敢えて言語縛りをなくした集いが欲しい。WebはRailsで、集まったデータのマイニングはScalaで、クライアントはiPhone(つまりObjective-C)で、みたいに言語を横断するような取り組みでもOK、ぐらいのノリで。参加メンバーそれぞれの得意な分野とか言語で協力するかたちでチームを組んだりできると面白そう。
活動は公開で
これは改まって宣言する必要もないかもしれないけど。集まってどういう活動をしたのかは秘密にしない。とは言え、所属する会社によっては、勉強会とかコミュニティ活動とかにはあまり良い顔をされないことも、実際にあるのは理解しているつもり。なので、基本路線としては、「参加していることを伏せておくのはOK。顔や名前が出るのを避けたい人の事情は尊重する。でも、活動の内容や成果は、できる限りオープンにしたい」こんな感じで。
たまには合宿も
たまには、開発合宿とか朝から丸一日ずっとハッカソンみないなイベントも面白そう。四半期に一度ぐらいのペースで企画して見ると良いかも。以前にわくラボで実践してみた経験からすると、どこかに泊まり込みとかで集まって活動すると捗るし、参加したメンバー同士の親睦も深まります。たまにそういう機会があると良いな、と。
Have Fun!
プログラミングとかモノを創るのは、本来は創造的で楽しいコトのはず。ここでやりたいのは業務じゃなくて、各自の創造性を思う存分に発揮すること。創造やコラボレーションの過程を楽しめるような場にしたい。ビジネスとかマネタイゼーションとか、細かいことは別のところで考えれば良いよ。
とりあえずいま考えてるアイディアはこんな感じで。
と言いつつ、問題は山積。
- 名称はどうしよう? 格好良い名前をつけたい :)
- そもそも、そんな緩いコンセプトで人が集まる?かつ継続できる?
- 場所はどこにしよう?
これから考えます^^;
でもまぁ、場所ぐらいは決まってないと、そもそも参加できるかどうかも検討できないですよね^^; と言うわけで、いま考えてるのは、六本木ヒルズ森タワー49Fのヒルズライブラリーを拠点にしようかな、と。でも、これはまだ検討段階。
とりあえず、賛同してくれる人を募集中です。コメントとかTBとかtweetとか、任意の方法でご連絡頂けると幸いです :)
cesare 技術
おそらく30分〜数時間おきに登録されたブログの RSS にアクセスしてる TwitterFeed よりは、更新 Ping 受け取った時だけ RSS 見に行く Twitbackr の方が、きっと速いよ。
Twitter にブログの更新情報を通知する *twitterfeed より速い* 方法
ということらしいので、試してみることに。OAuthを使ってるのでTwitterのパスワードを預ける必要がないのがポイント。
そしてこのエントリーが、どれぐらい早く更新されるかを見るためのテストエントリーというわけですが。果たして結果は?
(追記)
エントリーをポスト→自分のtweetを見に行く→既にポストがtweetされてる、というわけで確かに早いです。と言うか、早すぎて迂闊なことを書けなくなりそうw
cesare 技術
一部地域で流行になりつつある(?)Gitの勉強会が開催されると聞いて参戦してきましたよ。会場を提供してくれた万葉さんと、講師を務めてくれた十行さん&大場さんに感謝。神保町方面は不慣れなもので、会場まで来る途中で隣の駅で降りてしまって途方に暮れてたのは内緒です><
フタを開けてみれば10数名が集まるという盛況ぶり。やっぱり関心持ってる人は少なくないのですね。案の定と言うか、Rubyist率が高かったのは想定通りで。いや、Tokyu.rbメンバーが妙に多かったのは気のせいです、きっと :p
内容の方は、前半が過去の SCM も含めて Git の歴史を簡単に振返りつつ、他の SCM と比較しながら特徴を解説するなど。中心人物が Linus Torvalds 氏だけに、以前に使ってた BitKeeper がどーのとか、Mercurial が登場した経緯とか、いろいろと興味深いです。
後半は、実際にレポジトリを作ってみて、commit したり元に戻してみたりとかして使い方を確認していくという内容。印象としては、最初はコマンド体系が複雑だったりして覚えるのが大変だったりするものの、一度理解してしまえばむしろ「痒いところに手が届く」感じで、細かいところで融通を利かせてくれたりして意外と便利、というところ。まずは一通りの基本操作を覚えて、ブランチの使い方あたりまでを踏まえたところでタイムアップ。リモートリポジトリの扱い方とかの高度なトピックは、次回のお題に。
個人的な印象としては、Subversion とかと比較しても、プロジェクトの運営がより柔軟にできるようになってきてるな、というところ。中央集権型(?)の SCM だと、commit 即ち他のメンバーにも直ちに影響を及ぼすという意識があって、やや敷居が高かったのが、自分用レポジトリの中で完結している限りはいくら commit / revert しても大丈夫なので、より自由度が高いと言うか、リスクのあるコードに挑みやすくなったように思える。そういう意味でも、オープンソースの強力なツールとなり得るのでは。
終了後は、近所の中華屋に移動して懇親会など。ここでも Poken 持ってきてる人が多数。そんなメジャーなガジェットだったっけ? ともあれ、分散SCMに興味がある人は、Poken持って神保町まで来ると勉強になると思われます。第2回 は既に満員御礼になっているものの、その次も予定されているらしいので、もし良かったらどうぞ。
cesare 技術 Git
ほぼ自分用メモなので悪しからず。
Ubuntu サーバー版をアップグレードする際の手順。ここで言う「アップグレード」は apt-get upgrade の話ではなくて、Ubuntu-8.10 から 9.04 へ上げる、みたいな話で。
オフィシャルな説明は
Ubuntuの解説 ページ内「Network Upgrade for Kubuntu Desktops (Recommended)」にある通り。
sudo do-release-upgrade
としてやればOK。
ちなみにデスクトップ版の場合も上のリンク先に説明があるので、そちらを参照くださいませ。
長いこと Redhat 系だったので、 Debian 系はよく分かりません><
cesare 技術 Linux, memo, Ubuntu
Perl 使いの振りして実はバイナリアンという魑魅魍魎(褒め言葉)が集うと名高いイベントに遊びに行ってきましたよ。
冒頭からして dankogai 氏や tokuhirom 氏による、バイナリを実行できてしまう Perl によるサンドボックスをどうやって作るか、なんていう、これはひどい(褒め言葉)話が繰り広げられる始末。方針としては、使われると困るシステムコールを見えなくするとか、呼び出しに割り込みをかけるなどしてみたりするわけだが、実はそれには抜け道があるので、そちらも対策しなければ云々という話が嬉々として語られる。どう見てもネタです(褒め言葉)。
あと面白かったのが、Google Native Client 経由で電卓を起動しようという試み。Google 側もそこはちゃんと考えていて、かなり厳しい制限をかけるように細工されているわけで、そのあたりの仕組みを紹介しつつも、どうにかしてかいくぐる方法はないかとあの手この手で試行錯誤した過程を解説。知らない人が会場を覗いたら、きっと犯罪者集会にしか見えないと思われます :p
とまぁそんな感じで楽しませていただきました。いつも思うのだけど Perl の人達って、頭おかしい人が多い(褒め言葉)。
cesare 技術 Perl