関西オープンフォーラム2008

精神的・肉体的にやられて今更の書き込みになってしまいましたが、まずは、楽しく参加させていただいたことに御礼を。
2008/11/7〜11/8にATC南港で行われました、関西オープンフォーラムで運営委員をさせていただきました。今年初めてスタッフ参加でいろいろご迷惑をおかけしたと思いますが、充実した2日間でした。

2日間のうち、

  • 11/7 ユーザ企画:株式会社paperboy&co.様 30days Albumの裏側 の司会
  • 11/7 ステージ企画:vnc使っていますか?
  • 11/8 ステージ企画:関西の勉強会について
  • 11/8 ユーザ企画:関西合同勉強会

に出演・企画しました。

他にも

  • 11/7 ユーザ企画:勉強会の作り方
  • 11/8 ユーザ企画:Google Chrome 完全技術解説
  • 11/8 ユーザ企画:Silverlightの紹介〜Silverlightを囲む会in大阪#KOF2008〜

あたりに参加させていただきました。

また、11/7懇親会では多くの方とお話でき、ブースの担当者様とお話でき、参加者としても楽しみました。

特に、唐突にお話しませんか?とごり押ししたのに快く承諾してくださった株式会社paperboy&co.様に感謝いたします。本当にお呼びしてよかったと思っています。
上場が決まったとニュースで知りました。自分のことのように喜んでおります。おめでとうございます&これからもがんばってください。

それぞれの感想・発表資料は後日アップいたします。

わんくま同盟@大阪#24に参加してきました。

今回は初のライトニングトーク。
時間内で終われるかどうか不安でしたが、20秒ほど余ったのはよかったものの
関西オープンフォーラムの宣伝が中途半端になっちゃったのがちょっと残念でした。

発表資料
江戸時代の和時計のお話

※前回のまっちゃ+わんくま同盟の目覚まし勉強会の資料はもうちょっとお待ちください。

勉強会カレンダーで、Study-Kansaiの宣伝が

はなずきん(id: hanazukin)さんから IM で連絡いただきました。気づいていませんでした(汗
ありがとうございます。

はせがわ
むしろこちらが裏番組だった(笑)。それがいまや、関西の勉強会コミュニティには「study-kansai」ってメタコミュニティができてて、IT勉強会カレンダーを軸に日程の調整をしているんですよ。

先日、はせがわさんから、関西の場合は他の地域と違って勉強会関係コミュニティのメタコミュニティがあるという大きなアドバンテージあるんだからもっとがんばらないとね。と意見くださっていました。
関西オープンフォーラムのユーザ企画でやりますので調整中ですが、せっかくこういうコミュニティがあるんだからみんなで勉強会関係のノウハウを共有して、このメタコミュニティがきっかけで多くの方が勉強会に参加していただいたらうれしいなと思っています。

はてなハイクAPI を Net::Twitter で使う方法

Net::Twitterでできるねってコメントは見かけますが、どう使うのかというのが見あたりません。
だれもやってないのかな?
Net::Twitterの方は認証設定をいれないと駄目でした。

use MIME::Base64;
use Net::Twitter;

my $hatena_id = 'はてなID';
my $haiku_pass = 'はてなハイクAPI用のパスワード';
my $keyword = 'キーワード';
my $text = '内容';
my $haiku = Net::Twitter->new(
	username => $hatena_id,
	password => $haiku_pass,
	apirealm => 'Hatena Haiku API',
	apihost  => 'h.hatena.ne.jp:80',
	apiurl   => 'http://h.hatena.ne.jp/api',
	source   => 'from API を変えたければここに文字列を入れる',
);
$haiku->{ua}->default_header( "Authorization:" => encode_base64("$hatena_id:$haiku_pass"));  #***
my $msg = $keyword . "=" . $last_post;
my $result = $haiku->update($msg);
print $haiku->{response_code} . ":" . $haiku->{response_message} . "\n";

#***の行を追加しないと、{response_code}の値が認証失敗となり投稿に失敗します。

以下ヘルプの例がおかしい点を愚痴っていましたが、別エントリとします。

はてなアイデアに昨日のつっこみと今日のつっこみを投稿してみた

つか、サブアカウント使えないことがわからなかったよ。
というわけで

も追加

はてなブックマークAPIの getEntry

link rel="alternate" の URL おかしくないですか?

テストコード

#!usr/bin/perl
use warnings;
use strict;

use XML::Atom::Entry;
use XML::Atom::Client;

my $hatena_id = 'はてなID';
my $password  = 'パスワード';
my $url =       'ブックマークしたいURL';
my $summary =   'タグ・コメント等';

my $entry = XML::Atom::Entry->new;
my $link  = XML::Atom::Link->new;
$link->rel('related');
$link->type('text/html');
$link->href( $url );
$entry->add_link($link);
$entry->summary( $summary );

my $client = XML::Atom::Client->new;
$client->username( $hatena_id );
$client->password( $password );
my $edit_uri = $client->createEntry("http://b.hatena.ne.jp/atom/post", $entry)
    or warn $client->errstr;
my $edit_entry = $client->getEntry($edit_uri)
    or warn $client->errstr;

print $edit_entry->as_xml . "\n" if defined $edit_entry;

動作結果

<?xml version="1.0" encoding="utf-8"?>
<entry xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>鼻からイカソーメンをすする女-BooksLegimo(ブックスレジモ)-</title>
  <link rel="related" type="text/html" href="http://blegi.jp/novel/top/1753?_mobile_site_session_id=ab0c844711a721c618195f2c403d8c00"/>
  <link rel="alternate" type="text/html" href="http://b.hatena.ne.jp/yomiusi/#10147816"/>
  <link rel="service.edit" type="application/x.atom+xml" href="http://b.hatena.ne.jp/atom/edit/10147816" title="鼻からイカソーメンをすする女-BooksLegimo(ブックスレジモ)-"/>
  <author>
    <name>yomiusi</name>
  </author>
  <generator url="http://b.hatena.ne.jp/" version="0.1">Hatena::Bookmark</generator>
  <issued>2008-09-25T15:43:23+09:00</issued>
  <id>tag:hatena.ne.jp,2005:bookmark-yomiusi-10147816</id>
  <summary type="text/plain">xyzzyのirc-modeのほうがいいかね</summary>
  
</entry>

おかしい点

  <link rel="alternate" type="text/html" href="http://b.hatena.ne.jp/yomiusi/#10147816"/>

は、

  <link rel="alternate" type="text/html" href="http://b.hatena.ne.jp/yomiusi/20080925#bookmark-10147816"/>

が正しいのでは?

http://b.hatena.ne.jp/entry/http://blegi.jp/novel/top/1753?_mobile_site_session_id=ab0c844711a721c618195f2c403d8c00
では、http://b.hatena.ne.jp/yomiusi/20080925#bookmark-10147816にリンクしてますね。

一応、クライアント側で、以下の正規表現で#以降の修正は可能です。

$url =~ s/#([^a-z-]\d*)/#bookmark-$1/g;

でも、APIが直ったときのことをふまえての日付情報を入れるのが面倒なので、直してほしいなぁ。>スタッフ