2009年6月アーカイブ

DTP駆け込み寺の掲示板のリニューアルに伴い、僕が作った野良RSSから本家のRSSに移行した際デグレードしてしまった、というエントリを以前書きましたが、新たに野良RSSが生成されました。

DTP駆け込み寺の掲示板の「新着」書き込みRSSを作った(ベータ版) - DTP+印刷営業メモ [d.hatena.ne.jp]

新掲示板のサイトのHTMLから、Yahoo Pipesを使ってRSSを生成しているんだそうです。

Yahoo Pipesは便利そげですね!

実際に使ってみた図。

Ldrdtptemples
▲左が今回紹介したRSS、右が公式サイトのRSS

右の方は、トピックのタイトルしか出ていないので、このトピックのもとで書き込みがあったとしても気づきません。一方、左の方は、書き込みがあるたびに最新の書き込みが出るようになっています。

RSSは最新の情報を提供するものだと思っている僕としては、左側の方が好ましいと思います。本家サイトがこの形式のRSSを採用してくれないかなーとも思っています。

KONOZAMA

| コメント(0) | トラックバック(0)

6月26日発売の某ゲームをAmazonで購入して土日にプレイしようと思ってwktkして待っていたんだけれども来ないのでAmazonにログインして配送状況確認したら今日発送で佐川急便で月曜日着となっていた……

平日だと佐川急便が来る時間に家にいないというのに。せめてペリカンだったらまだ配達ベースが隣町なので取りいけないことはないのだけれども。1週間取り置きとかしてくれないだろうなあ、佐川急便は。

何のゲームかはナイショです(←初音のないしょ!ではない)。

午前中床屋でほかのお客さんから聞いた話なんだけれども、本日のSL運行はSL故障のためディーゼル機関車が引っ張ってきたそうです。

C57だと思ったらDD51が来たっていうことです。せめてD51ならジャンル的にセーフだったのにね。

問1.SLの乗車券を購入していた客の心境を答えよ。(15点)

問2.鉄橋の撮影ポイントで待っていた鉄道マニアの心境を答えよ。(15点)

ちょっと必要があって夜中2時ぐらいに警察に通報したんですが、今住んでいるところ市の中心地に近いっていえば近いのでちゃんと警察署も建っているので、呼んでから4〜5分で現場に駆けつけてすげーと思いました。

まだこっちに出てくる前小学生ぐらいのことだと思うんだけれども、島に住んでいた僕は本土から橋を渡ってカツアゲしにきていた不良にカツアゲされそうになって必死に逃げて駐在に駆け込んだら入り口に「警邏中」とか札がかかっていてジエンドっていうのから比べると都会に住んでいるように感ずる。

しかし、通報の仕方が悪かったのか児童虐待対応の女性警察官が来ちゃった。通報の仕方も練習せんといかんなあ。

うちで作っていたInDesignの勉強部屋のRSSから、公式で発行するようになったので公式のRSSに転送かけたわけだけれども、dc:creatorが空になっていてtitleに書き込みした人の名前が括弧付きで入っている。

同様に、うちで作っていたDTP駆け込み寺のRSSから、公式で発行するようになったので公式のRSSに転送かけたわけだけれども、子スレッドがRSSに入らなくなっておる。

DTP関係の掲示板を導入するとき、ありものの掲示板システムを導入することを検討するらしく、RSS生成機能もそれにビルトインされたものを使うからなんだと思うけれども、生成されるRSSの質まではなかなか目がいかないのかあと思います。

自作のBBSスクリプトは、逆にRSSはちゃんとしているが書き込み数が悲しいことになっとる。なので、書き込みがあったらアラートが飛ぶ機能まで追加で付けたりして、これはこれで楽しいです。

ヤプログっていうところからTELがかかってきて、ヤプログの芸能人ブログコーナー、ラブログのアクセス数とリンクが貼られたときの影響力の強さをアピールし(直接PageRankという言葉は使ってなかった)、サイトの被リンク数を実際に見てみましょうとかいって教えてくれたのが

ライバル被リンク数チェックツール [h-affiliate.jp]

でありまして、GMOともなれば業務で使っているんだから自社ドメイン内にそれ用のページをもうければいいのに、と思いましたが、あえて自社ドメイン内のページを使わないのは、自社ドメインだと信用されないからっていう自虐プレイなんだと気づきました。せっかくだから、「有料リンク販売に対するペナルティ回避はどのようになされているんですか?」とか聞いとけばよかった。

ちなみにうちの実家方面ではGMOとは男性器の意味です。

実験る~む ピンキリの差と時間外対応 [dslabo.blog4.fc2.com]

もちろん悪いことではないんだけれども、ある意味「“恵まれた環境”と“そうでない環境”の差」という点も気になるところです。
何かというと「未だにネット環境揃っていない現場ってあるんだよね」というところ。

ネットにつながない・つながらない人たちの情報源として紙の媒体のものはもう細りきっていると思いますんで、もう一方の「出入りの販社」の人からの情報っていうのが実は重要になっているんじゃねえかなあと思うところです。

参考:

つうわけで僕としては、販社の人にネットやセミナーなどで最新情報を集めて頂き、出入りの企業様へ対面で最新情報を伝えて頂ければいいかなあと思います。実際、こちらの地方の販社さんでもネットやセミナーから情報を集めて発信している方がいらっしゃいますんで、販社さんスゲエ重要。

んで、紙媒体がこうなってしまって、実は情報提供主、広告主は媒体が無くなってしまって困っているところでありまして(印刷・DTP従事者向け紙メディアがネットメディアに勢力を奪われたわけではなく、まだ印刷・DTP従事者向けネットメディアが完成していない状況で紙メディアが無くなってきている)、そのような状況でうちも含めたあらゆるところがネット媒体での印刷・DTP従事者向けメディア構築というのを模索しているところであります。

従いまして、ネットにつながっていないところにいる人もネットにつながるところに引っ張ってくる活動もしていかなくてはいけないと思っているんですよね。

DTP Booster 003 & ソーシャルブックマーク(SBM) - なんでやねんDTP [d.hatena.ne.jp]

後の懇親会の席でも力説したのだが、意外と「ソーシャルブックマーク」を活用されている方が少ないようなので、ここでちょっとその効用を……*4。

私が使っている「はてな」の場合、ブックマークを付けると、同じ項目にブックマークしている方は見ることが出来るので、いくつかを確認するといつも同じ方が同様にブックマークされているのが判る。同じ傾向を持つその方を「お気に入り」に登録することで、その方の新しいブックマークを確認でき、設定しておけばメールで通知され、見落としているページや新しい情報を発見することにも繫がる……ということ。

実はこういうのこそ、実際にほかの人の前で使ってみせて効果を実感してもらえるんですよね(スクリーンキャプチャ用意して順番に見せるよりもこうかばつぐん)。それがセミナーのようなたくさんの人に対して行えるのであれば、よりたくさんの人に便利さを実感してもらえます。DTPの技術そのものだけではなくて、DTP・印刷従事者がどうやって情報集めるかというハウツーを実演するのだってセミナー内容としてはアリじゃないかな。

DTP Booster - ちくちく日記 [d.hatena.ne.jp]

うらやましいな、東京はこういうイベントがあって。

あ、大阪でもあるの?

どうせなら全国アップルストアまわってくれんだろか。

そしたら行けるんだけど。

イベントの実行モデルがCSS Niteとおなじようにみえるから、地方開催は地方の実行委員会ができる形になるんじゃないかな。

参考までに、先日初開催されたCSS Nite in NIIGATA、開催に先立ち、新潟の有志の方が実行委員会を立ち上げ、会場の確保とか会計とかやっていました。

DTP Boosterがまだ知名度がない今であれば、地方でDTPイベントの実行委員会作って自前のイベントとして行うこともできるんですよね。(←これから何かしたい人へのヒントです)

前回、携帯電話の赤外線送信でインクジェットプリンターに印刷したがエロいので処分に困るということを書いた件の続きです。

今回使ったのは、一般的にはブリーチっていうんだけれども、商品名「花王のハイター」のほうが有名な次亜塩素酸ナトリウムなやつ。二昔前の製版屋さんではよく使われていたそうです。

これを水に溶かしたやつにインクジェットプリンタ(うちの場合見楽るファックス)から出したエロプリントを浸し、しばらく待ちます。

すると、見事マゼンタとイエローが消えて、スミとシアンの画像がうっすら残りました。まるで日に焼けたポスター状態が再現されたかのよう。ピンクっぽいところが特徴の部位は消えましたが、JKのスカートとか目とか髪の毛とか輪郭とか残ってしまいました。

この状態のプリントを捨てて大丈夫なのか、疑問であります。

Mac OS X 10.5.7 Leopardのデスクトップにフォルダを1個作り、TrueflowのSMBボリュームから64ページ分の単頁PDFファイル(つまりPDFファイル64個)をドラッグアンドドロップしてコピーすると、コピーが終わった後に62個になったりするわけだが。

実際にファイルを数えるときには、Finderのウィンドウの下部に表示されているのでそこを見ます。

Macosxfinderitem
▲コピー前、コピー後で数が減っていないか確認

ありえないだろ、という人もいますけれども、こんな現象で首が飛んでしまったらかなわないので自衛策です。いまんところ、Windowsクライアントからだと起きていないんですよね。

通販で購入した荷物がうちに届いたらしいのですが不在ということでクロネコメンバーズのサービスで不在のときにメールが飛ぶやつを登録していたので、そのメールの中に書かれている指示に従い営業所止めにしておき、営業所の時間がよる9時までだというのを確認した上でよる8時半頃とりにいったら、営業所は午後8時まででしたな。土地柄的に9時は無いなとは薄々思っていたがやっぱりだめだった。

というわけで明日のお昼とりにいくことになりました。

何はともあれ、クロネコメンバーズのWebサービスは便利でござる。URLは

http://9625pc.jp/

と、とても覚えやすいのです。

http://b.hatena.ne.jp/chalcedony_htn/20090616#bookmark-13999519

chalcedony_htn SBM Q1:DTP Mac Illustrator ソフトウェア/Q2:DTP フォント PDF Webサービス/Q3:DTP InDesign Illustrator Acrobat PDF トラブル にするかな、私なら。細かいこと(破線、とかそういうの)はコメントで残す。

特徴的なキーワードをわざわざタグに残す意味は、検索エンジンで見つけやすくするためだったりします。

ソーシャルブックマークサービスによりますが、タグをつけると、そのタグの単語を含んだURLができるものがあります。

たとえば、@nifty クリップ:

タグ:破線問題|@nifty クリップ
http://clip.nifty.com/tag/破線問題

このURLが日本語を含むことに注目してください。今のブラウザだと、たいていこの状態でURL入力欄に入れると表示できます。

このようなURL(実際にはパーセントエンコーディングで記述する)にすることにより、検索エンジンの検索対象になりやすくなるとのこと。

Sbmtaggoogle
▲Google検索で上位に表示

検索エンジンに単語を入れると知りたいことが出てくる、という体験をしてしまった僕たちは、あと10年ぐらいはこの方法で検索エージェントに指示をすることを繰り返すのだと思います。そういう意味でも、あとから見るであろう情報を検索エンジンに引っかかりやすくしておく工夫としては悪くないと思っています。

http://b.hatena.ne.jp/akatsuki_pocket/20090615#bookmark-13980931

akatsuki_pocket これはすごい, あとでhogeる, 資料 こうやって使ってるけど、タグが上手く使いこなせないんだよねー。あとBlogに列記しちゃったし 2009/06/15

タグってたいてい100%有効に使われないんですよ。タグを自分でうまく使いこなさなくても、他の人がこの情報にどんなキーワードで検索で引っかかってくるかを戦略的に考えてみればいいんじゃね、と思います。これはソーシャルブックマークサービスであっても、画像データベースであっても同じだと思います。

というわけで、タグをつける練習フォームを作ってみました。僕が一応いいと思うタグを埋め込んでいるので、フォームのところに入力してみてください。ボキャブラリはそんなに多くないのであんま真剣にやらんでいいし、ソースを見てもOKだとおもいます。

DTP Booster Vol.2が土曜日に行われたとのことで、僕は参加できなかったので、ネットで情報を探すわけですけれども、DTP Booster主催者様の一つ、DTP Transitのページで、参加者が書かれたブログエントリをフォローアップしています。

DTP Booster Vol.2が開催されました - DTP Transit [www.dtp-transit.jp]

Hatebtagsdtpbooster2
▲出席者の方が書かれたブログエントリへのリンクが掲載

さて、このようなリストがあったとき、次にどう行動するかということなのですけれども、僕ならば、将来DTP Boosterが定番のイベントになったとき、「そういえば初期のBoosterってどんなイベントだったっけ?」なんて思い出すこともあろうと、参加者さんのブログエントリをソーシャルブックマークサービスでブックマークします(ソーシャルブックマークサービスを利用する目的)


さて、ほかに同様に思った人がいるかもしれない(ソーシャルブックマークサービスの利点)と思って確認してみたのですが、2009-06-14 22:44時点で、該当エントリはまだ一件もブックマークされていません。当然、dtpboosterタグでブックマークされているエントリも出てこなかったりします。

Hatebtagsdtpbooster
▲3Usersだから出てこないっていうのもあるけど、3Usersぐらいいてほしい場面


DTP・印刷業従事者向けにソーシャルブックマークが説明された記事を見たことが無い

そうなのです。産業規模としてそんなに小さいわけではない印刷業界の人に対し、ソーシャルブックマークという道具の使い方を説明されたことは無かったのではないか。僕は何回か書いているけど(個人ブログメディアの限界、あるいは僕の能力不足)。もしくは、DTPWORLDの読者は最低数千人はいたと思うのだけれども、誌上でソーシャルブックマークの活用記事を掲載していれば、あるいは活用していたのかもしれませんが、そのようなことはなかったとおもいます。

というわけで、はてなブックマークという日本で一番活用されているソーシャルブックマークサービスを例にとり解説をします。

DTP駆け込み寺の掲示板(BBS)が新BBSシステムに切り替わりました。

DTP駆け込み寺 掲示板 [www.dtptemple.org]

■新掲示板の主な変更点
・画像の張り込みができます。
・RSSの機能があります。
・URLはリンクになります。
・システムが変わりますので掲示板のデザインやユーザービリティは今のものと少し変わります。
■2009/6/14(日)に移行しました。
旧掲示板から新掲示板に移行しました。
新掲示板の利用方法をご覧いただいて、全体表示、ツリー表示、トピック表示などの画面からご利用ください。
■データの引き継ぎ
新掲示板には旧掲示板のデータを引き継ぎました。 投稿番号のつき方のルールが違いますので、移植にあたって困りましたが、ご寛容をお願いいたします。
■旧掲示板
閲覧だけできるように残す予定ですが、新規投稿をできなくすることや、新掲示板へのリンクを付ける改修などをしようとしていますが、ちと、作業中でして、現在はエラーになってしまいます。(2009/6/14 15:00)

とのことです。RSS生成をしているとのことで、2006-04-18より3年にわたり当方で生成していたRSSの更新を停止し、301リダイレクトによる転送をかけました。

Filename: .htaccess

redirect 301 /rss/dtpkakekomidera.xml http://www.dtptemple.org/imgbbs/index.php?mode=rss1

RSSの生成をしていたスクリプトはこんな感じです。DTP駆け込み寺の掲示板の解析は非常に困難で、人のふんどしで相撲をしているようなもんではありますが、スクリプト自体にはすげえ愛着があります。確か、掲示板上では書き込み日付は年がない日付しか書かれていないのが困った記憶がある。

Filename: dtpkakekomidera.pl

#!/usr/bin/perl -w
 
use strict;
use LWP;
use XML::RSS;
use HTML::Entities;
use utf8;
use Encode;
use Data::Dumper;
 
#my $url = $ENV{QUERY_STRING};
my $url = 'http://gande.co.jp/cgi-momoco/2chview.cgi';
 
my @headers = ( 
  'User-Agent' => 'DTPWiki.jp html2RSSbot(http://dtpwiki.jp/rss/dtpkakekomidera.xml)',
);
my $browser = LWP::UserAgent->new;
my $response = $browser->get($url, @headers);
exit 1 unless $response->is_success;
my $html = decode('cp932',$response->content);
 
$html =~ s/\x0D\x0A|\x0D|\x0A/\n/g; 
$html =~ s|^.+次のページ</a>\n\t</div>\n</div>\n\n||sgo;
$html =~ s|\n\n<div class="linkmenu">.+$||sgo;
$html =~ s|\t|<tab />|g;
$html =~ tr/\x00-\x1f//d;
$html =~ s|<tab />|\t|g;
 
#print $html;
#exit;
 
my $rss = XML::RSS->new(version => '1.0', encode_output => 0);
 
	$rss->add_module(
		prefix=>'content',
		uri=>'http://purl.org/rss/1.0/modules/content/',
		);
	$rss->add_module(
		prefix=>'annotate',
		uri=>'http://purl.org/rss/1.0/modules/annotate/',
		);
 
$rss->channel(
    title    => 'DTP駆け込み寺 掲示板',
    link     => 'http://gande.co.jp/cgi-momoco/momoco.cgi?btype=pc&amp;page=1',
    description => 'DTP駆け込み寺 掲示板 最新書き込み(50件)',
    language => 'ja',
    dc => {
      publisher    => 'DTP駆け込み寺',
      contributor  => 'DTPWiki.jp',
    },
    syn => {
      updatePeriod => 'hourly',
      updateFrequency => '1',
    },
);
 
my ($filesize,$link,$date,$title,$description,$platform);
 
my (%item,@items);
 
(my $Regex = <<'REGEX') =~ tr/\n//d;
<div class="comment">
\t<h4><a id="t_(..............)">(.+?)</a></h4>
\t<p>名前:<strong>(.+?)</strong>............
<span class="small"> \[(.+?)\]</span><br>
\t(.+?)
\t</p>\t(.+?)</div class="comment">
REGEX
 
my $i;
 
$html =~ s|</div><div class="comment">|</div class="comment"><div class="comment">|g;
$html =~ s|</div>$|</div class="comment">|;
 
while($html =~ m|$Regex|gsio) {
 
  my $link        = $1;
  my $title       = $2;
  my $name        = $3;
  my $ua          = $4;
  my $description = $5;
  my $html2       = $6;
  
  $name =~ s|<a href=".+?">(.+?)</a>|$1|;
  $ua   = normalize2( $ua );
  $date = datecheck2($link);
 
  push @items ,{
    title => normalize2("$title"),
    description => normalize2("$description --$name\[$ua\]"),
    link => "http://gande.co.jp/cgi-momoco/momoco.cgi?btype=pc&amp;mode=tp&amp;ord=new&amp;page=1&amp;file=$link",
    date => $date,
    creator => normalize2($name),
    content => "<![CDATA[<p>$description</p><p>$name\[$ua\]</p>]]>",
    annotate => '',
  };
 
#  (my $year = $link) =~ s|(....).*|$1|;
 
  (my $Regex2 = <<'REGEX') =~ tr/\n//d;
<hr>
\t<p>(...) 名前:<strong>(.+?)</strong> (../.. ..:..)
<span class="small"> \[(.+?)\]</span><br>
\t(.+?)\t</p>
REGEX
 
  my $date_before = $date;
 
  while ($html2 =~ m/$Regex2/gsio) {
 
    my $number = $1;
    $name        = $2;
    $date        = $3;
    $ua          = $4;
    $description = $5;
    (my $year = $date_before) =~ s|(....).*|$1|;
    my $date2 = "$year-$date:00";
    $date2 =~ s|(..) (..)|$1T$2|;
    $date2 = datecheck($date2);
    if ($date2 lt $date_before) {
      #$year++;
      $date2 = "$year-$date:00";
      $date2 =~ s|(..) (..)|$1T$2|;
      $date2 = datecheck($date2);
    }
    $date_before = $date2;
    $name =~ s|<a href=".+?">(.+?)</a>|$1|;
    $ua   = normalize2( $ua );
 
   push @items ,{
      title => normalize2("re\[$number\]:$title"),
      description => normalize2("$description --$name\[$ua\]"),
      link => "http://gande.co.jp/cgi-momoco/momoco.cgi?btype=pc&amp;mode=tp&amp;ord=new&amp;page=1&amp;file=$link#$number",
      date => $date2,
      creator => normalize2($name),
      content => "<![CDATA[<p>$description</p><p>$name\[$ua\]</p>]]>",
      annotate => "http://gande.co.jp/cgi-momoco/momoco.cgi?btype=pc&amp;mode=tp&amp;ord=new&amp;page=1&amp;file=$link",
    }
  }
}
 
my @sort = sort { $b->{date} cmp $a->{date} } @items;
splice (@sort, 50);
 
foreach my $item (@sort) {
 
  $description = $item->{'description'};
  if ($item->{'annotate'} eq '') {
    $rss->add_item(
      link  => $item->{'link'},
      title => $item->{'title'},
      description => $item->{'description'},
      dc => {
        date       => $item->{'date'},
        creator    => $item->{'creator'},
      },
      content => {
        encoded => $item->{'content'},
      },
    );
  }
  else {
    $rss->add_item(
      link  => $item->{'link'},
      title => $item->{'title'},
      description => $item->{'description'},
      dc => {
        date       => $item->{'date'},
        creator    => $item->{'creator'},
      },
      content => {
        encoded => $item->{'content'},
      },
      annotate => {
        reference => $item->{'annotate'},
      },
    );
  }
}
 
if ($ENV{GATEWAY_INTERFACE}) {
    require CGI;
    print CGI::header(
      -type    => 'text/xml', 
      -charset => 'utf-8',
    );
}
 
print encode('utf8', $rss->as_string() );
 
sub normalize {
    local $_ = shift;
    tr/ \r\n//d;
    return $_;
}
 
sub normalize2 {
    local $_ = shift;
    tr|\x00-\x1f ||d;
    s/<(?:[^>'"]*|(['"]).*?\1)*>//gs;
    return $_;
}
 
sub datecheck {
    local $_ = shift;
    tr#/#-#d; 
    s/\(.+\) /T/g;
    s/^: //g;
    s/$/+09:00/g;
    return $_;
}
 
sub datecheck2 {
    local $_ = shift;
    s/^(....)(..)(..)(..)(..)(..)/$1-$2-$3*$4:$5:$6+09:00/;
    tr/*/T/;
    return $_;
}

新しい掲示板になって、もっとDTP関連の人の情報交換が進むといいなあと思っています。

うちのプリンタ、見楽るFAXに赤外線ポートが付いているのは以前から気づいていたのだけれども、メインで使っている携帯端末がデジタルムーバで赤外線ポートが付いていないタイプだったので全然無視していたんですけれども、最近メインの端末がFOMAになったことから、どんなもんか使ってみっか、と思ってやってみたらあっけなくプリントされやがって、こりゃあうちの実家のかーちゃんでもできるなーと思ったのだけれども、使ったデータが、ダウンロードしてきた画像(おもにDLSite.comを利用していますw)でして、捨て場所に困る。近くに小学校があるので、変なものを捨てようもんだら何が起こるかわからん。もうちょっと当たり障りの無い画像をプリントすべきだった……

ツイてる人にしか見えない妖精、「BeeTV」絶好調??? iPhone / iPod touch な朝刊 [www.appbank.net]

これ、エントリタイトルに複数のネタを読点「、」で区切っちゃうからアホたれなんだ。文章完成しちゃってるじゃないか。「BeeTVに、ツイてる人にしか見えない妖精が出ている、なにそれ?」とか、「BeeTVという名前のツイている人にしか見えない妖精がいる(ハチっぽい羽を持っている萌えキャラ)」とか思うだろ。見に行ったらねえし。Ctrl+Fで探したら二つのリンクに分かれている。

「、」でつないだがためにミスリードになっていると思う。

せめてスラッシュ区切りにでもしてくれればなあ。ワードサラダを使ったスプログに誤認されても文句言えないと思うよ。

僕は会社では荷物運搬の仕事をしているのですが(DTPとかしろ)、本日会社近辺が工事中で、ぐるっと回り道しなくてはならなかったのですけれども、その回り道というのが、軽自動車1台しか通れない踏切だったりするわけで、なぜか社長夫人を自宅へ送る役まで仰せつかったりして、踏切を通る時まさにイライラ棒状態で、こすったらすぐばれる状態で、梅雨時の空気以上にあらゆるところがじめっとしました。

減給は免れました。

原画家決めてからタイトル決めた風でなんだかアレだ。

魔法を使うのにスタイラスペンで魔法陣を書くっつーのがロストマジックくさい。

さっき聞いたところロストマジックの魔法陣入力が変態的で複合魔法の魔法陣書いているうちにリアルタイムに戦闘が進むので死んじゃうんだそうだ。僕がプレイしたのはまだ序盤で戦闘3回しかしていないで3年ぐらい寝かしているわけだけれども、ごく一般的なアニメの戦闘シーンでは、変身バンクや必殺技バンクでは敵は攻撃してこないわけで、そのシステムは鬼だと思いました。

積んどくゲームがどんどん増えてくるなあ。

昨日休みだったので、WinBookのWindows Vistaを再インストールしようと思いまして、リカバリ領域のNorton Ghostによるリカバリから順番に作業していきましたが、Service Pack 2のインストールには、Service Pack 1がインストールされていることが必要で、Service Pack 1をインストールするために、Windows UpdateでServce Pack 1が出てくるまでWindows Updateを繰り返したわけですけれども、どうやら7回ぐらいWindows Updateを実行したあたりでやっとService Pack 1が出てきまして、最終的に7時間ぐらいかかりました。

なかなか出てこなかったので、ゲームによくある確率出現アイテムのような錯覚に陥りました。

こんどは、MacBookのVista 64bitをアップデートしようかなあと思う。

ちなみに最近Macのスクリーンショットが多かったのは、WinBookのリカバリの準備をしていたからなのでした。おかげでMac OS Xの操作にやっと慣れてきた。

Evatsume
▲葛城ミサト報道計画

個人的には、この三石琴乃読み上げシステム、PSP+WiFi+3Gネットワークで車載システムとして、最新ニュースを読み上げしたり、メールの音声biff/読み上げたり、ルータの異常を声で報告したりするシステムに使うといいと思う。そうすれば、都会の汽車通勤で通勤中にニュース得たりとかしている連中と同じレベルにいける!

もっとも僕は会社までクルマで10分なので同じレベルにいけません。オフサイドできません。

Google Adsenseで出てくるグラフィックさんの広告をクリックしたら出てくるDesign Gr@phic [design.graphic.jp] のページからはてなブックマークをしようとした。

Designgraphichatebs
▲左サイドバーのはてなブックマークボタンを押した。アドレスのところがおかしくなってる

印刷業従事者にはてなブックマークを流行らせたいと思って(そして4年間ぐらい敗北しつづけて)いる僕としては、こういうのを見逃すわけにはイカン思うので、グラフィックさんにはこの不具合に気付いてもらって、直してくれればいいなあと思う次第です。

(2013-3-12 16:45 追記)
2013年2月はてなポイント送信システム改変に対応したものを
http://cl.hatenablog.com/entry/hatenabookmark_webhook_nagesen_004
で用意してあります。

~~~

はてなブックマークのリニューアルにあわせて、はてな投げ銭機能がなくなってしまったのに気づいている人はどれだけいるでしょうか。

はてな投げ銭機能っていうのは

ブログ作者に投げ銭を - jkondoの日記 [d.hatena.ne.jp]

にて実装された「お気に入りのエントリを書いた人に対してはてなポイントを送信する仕組み」です。がんばって書いたブログのエントリに対し、報酬が支払われるとモチベーションがあがったりするよね、ということだと思います。

この機能の実装によって、エントリに作者のはてなIDが埋め込まれていれば、ブックマーク時に投げ銭をするかしないか選べるというものでした。

さて、なんでか知らんけど実装から3年半ぐらいではてなブックマークの投げ銭機能がなくなってしまい、そのあと、

ドネーションのご案内 - 名もないテクノ手 [d.hatena.ne.jp]

現在、わたしが「Show Time +one」「名もないテクノ手」などで個人的に公開してるスクリプトの使用や各種情報に対して、金銭的な対価を支払う必要はありません。その方針は今後とも変わりません。たぶん。

だがしかし。開発やメンテナンスにかかる手間と時間。参考書籍や機器、ソフトウエアの購入。さらにサイト運営費などはすべて個人の持ち出しになっています。こうした「清廉潔白さ」はわたしの好感度をますますアップさせますが、現状はかなり汲々としています。たまにちょっと疲れちゃうのです。ときどき回っていないお寿司も食べたいんです。

ということで、せうぞー活動に対してなんらかの援助をする各種方法を書いておきます。こころおきなくご利用くださいませ。

と書いておられるのを見て、やっぱりはてな投げ銭機能は外すべきじゃあ無かったと思った次第。そういうわけで、先日リリースされたはてなブックマーク Web Hook [hatena.g.hatena.ne.jp] を使い、ブックマークしたら問答無用で投げ銭する仕組みを作りました。

filename: throw.cgi

#!/usr/bin/perl
 
# throw.cgi ブックマークしたら投げ銭します。
# 2009-06-07 ver 0.0.1 ファーストポスト
 
use strict;
use warnings;
use CGI;
use Config::Pit;
use Encode;
use HTML::AccountAutoDiscovery;
use utf8;
use WWW::Mechanize;
 
# 初期設定
my $url_sendpoint = 'https://www.hatena.ne.jp/sendpoint';
my $send_point = 10; # 送信するポイント(はてな手数料別)
my $login;
my $config = pit_get('hatena.ne.jp');
die "not preset account data in Pit." if !%$config;
my $my_id    = $config->{id      } or die 'id not found.';
my $password = $config->{password} or die 'password not found.';
my $auth_key = $config->{auth_key} or die 'auth_key not found.';
 
my $q = CGI->new;
my $mech = WWW::Mechanize->new;
$mech->agent_alias('Windows IE 6');
 
{ # メインルーチン
  # 認証
  if ( $q->param('key') ne $auth_key ) {
      die "Authentication failed";
  }
  # メソッド確認
  if ( $q->param('status') eq 'add' ) {
    # エントリーの情報
    my $req = $q->Vars();
    nagesen( $req );
  }
  # はてなブックマークWeb HOOK用リザルト
  print $q->header('text/plain');
  print 'ok';
}
exit;
 
sub nagesen {
  my $req = shift;
  my $url = $req->{url};
  my @account = HTML::AccountAutoDiscovery->find( $url );
  
  foreach my $item ( @account ) {
    my $send_id = $item->{account}; # account name
    send_hatenapoint( $req, $send_id );
    last; # HTMLに複数のIDを埋め込んでいた場合最初の人の分
          # だけ対応(同じ人がID埋め込みまくるとポイント
          # 送信しまくるのを防ぐ)
  }
  return;
}
 
sub login_hatenapoint {
# はてなにログインします
  $mech->get( $url_sendpoint );
  # ログインを促す画面に遷移済
  $mech->follow_link( text => encode( 'utf8', 'ログイン') );
  # ログイン画面に遷移済
  $mech->set_visible( $my_id, $password );
  $mech->submit();
  # ログイン済み画面に遷移済
  $mech->follow_link( text => encode('utf8', 'こちら') );
  # 投げ銭画面に遷移済
  $login = 1;
  return;
}
 
sub send_hatenapoint {
# はてなポイント送信をします
  my $req     = shift;
  my $send_id = shift;
  unless ( $login ) {
    login_hatenapoint();
  }
  # ログイン済みの状態
  $mech->get( $url_sendpoint );
  # はてなポイント送信のページに遷移済
  # ポイント送信メッセージ組み立て
  my $send_message = decode('utf8', $req->{title})
    ."($req->{url}) をブックマークしました。投げ銭いたします。"
    .'投げ銭スクリプト:http://svn.coderepos.org/share/lang/'
    .'perl/misc/hatenabookmark_webhook_nagesen/';
  # ポイント送信用パラメータ入力
  $mech->set_visible(
    $password, $send_id, $send_point,
    undef, # 匿名にしたい場合は1
    encode('utf8', $send_message )
  );
  $mech->submit();
  # confirm画面に遷移済
  return unless $mech->title() eq encode('utf8',
    'はてな ポイント付きメッセージ送信確認'); # 送信確認ページ?
  $mech->click_button( value => encode('utf8', '送信する') );
  #open my $fh, '>', 'log.html';
  #print $fh $mech->content();
  #close $fh;
  return;
}

config::pitではてなのID、パスワード、Web Hookを使うためのkeyの設定が必要です。

CodeRepos: http://svn.coderepos.org/share/lang/perl/misc/hatenabookmark_webhook_nagesen/

作ってみてわかったんですが、はてなの豊富なAPIのなかに投げ銭関連のが見当たらなかった。しょうがないので、WWW::Mechanizeでブラウザ操作をエミュレートすることになりました。なんで投げ銭APIないのかな。

今回はお金に絡むスクリプトです。僕は全く責任を負わないので、使用者は充分理解した上で使ってみてください。


(2009-6-7 19:48追記)

僕は積極的な投げ銭派でして、

M.C.P.C.: はてな投げ銭機能で年間1500はてなポイント使った

という感じで投げ銭していました。

実験る~む 乱丁という言葉 [dslabo.blog4.fc2.com]

いやあれ、乱丁とはいわないような。ただのページ順ミス。

台割ミスとか、頁割り付けミスとか、言い方特に定まってなさそう。印刷用語なんて印刷事業者の数だけあってもおかしくないし。僕思うんですけれどもあちこちの印刷屋さんに出入りしている資材屋さんとか機材屋さんとか、印刷会社の地方による言葉のぶれまとめたブログ作ってくれるとおもろいと思う。4C/4色/4°/4℃の分布とかみてみたい。Google Mapsの上に4C/4色/4°/4℃の分布マップを投稿できるやつ作ったらみんな投稿する?

それはおいといて、乱丁の件ですけれども、一般の人は、「落丁・乱丁はお取り替えします」のフレーズしか知らないだろうし、あんだけあらゆる書籍にそう書かれていると、印刷用語として学習してしまうじゃないですか。事象を見て「これが噂に聞く乱丁かー」て思うのも無理もないなあ。

WikipediaのことをWikiっていうじゃないですか。あれも一度学習して獲得した用語は忘れないタイプの誤用になっているとおもいます。つまり一度「Wiki」という単語で覚えちゃったら忘れるのはむりぽげ。

この「落丁・乱丁はお取り替えします」のフレーズ、本が出版され続ける限り付いてまわるんだろうなーと思った。

ファルコム音楽フリー宣言 [www.falcom.co.jp]

こんな時に楽曲を利用することができます。

  • ピアノの演奏会でファルコムの楽曲を演奏したい
  • バンドのライブで演奏したい
  • 結婚式のBGMに使いたい
  • 文化祭の演劇で使いたい
  • ラジオ番組のBGMに使いたい
  • テレビCMの曲として使いたい
  • イベントやプレゼンのBGMとして使いたい、など

※利用例の詳細は《詳しい利用例》をご覧ください。

あるとおもいます!

スゲーファルコムのCD持っててよかった!

しかし……

アリスソフト配布フリー宣言

と語感が似ているのが気になる。年季の入ったソフトウェアハウスっていうのも共通しているのか。

Mac OS X 10.5でダウンロードした画像(DLsite.comとかよく使っています)を、全画面プレビューしようとするとき、Finderでフォルダの中の画像を全選択したあと、Command+Option+Yを押すとQuick Lookの全画面プレビューモードになるわけですが、このショートカットが覚えにくくて、よく、Command+Shift+Yを押してしまうわけです。

Stickies
▲大惨事(虹画像だけれども)

Command+Shift+Yはスティッキーズに貼付けるショートカットになっていて、しかもモノがモノだけにヤバい画像がべろべろスティッキーズ付箋に貼られてしまいます。

アップルはあまりにも不親切すぎやしないか。そもそも、僕スティッキーズまともに使ったことないよ。

実験る~む アップルストアでblogの宣伝をするいいチャンス! [dslabo.blog4.fc2.com]

ちなみに、今回どころか以前にも、2と3の告知が出てるとか、Vol.2のバナー貼ったりとか告知のことを助力っぽいことを一応してますが、いまだ協力サイト一覧に名前が出てきません。

あれに載っているところは、おそらくDTP Boosterとなんらかの形で連絡がなされているのじゃないかなと思います。

うちのブログM.C.P.C.に連絡がきたのは、デジクリで一回記事を書いたことがあってそんときのやり取りで実は自分のブログこれなんですよーなんて紹介させてもらったことがあって、それもあってか、先方様から協力依頼の案内をいただきました。

うちのブログとは別に、僕が関連しているサイトがありまして、告知を想定していた媒体が休刊になったりしていましたのでいい告知媒体になると考え、サイトの人間として連絡を取ったら、告知媒体としての協力依頼の案内をいただきました。

つうわけで、まずはコンタクトとればいいと思います。

あと、僕は実際にVol.1のタイムテーブルに自分のサイト名が掲載されていたかどうかわかんないですけれども、類似セミナーイベントで同様の仕組みで掲載があるのをみているので、それとおなじ感じで掲載されているんだろうなーぐらいに思っています。

んで、僕的には、このDTP Boosterイベントの告知媒体がアグリゲートされていくさまが面白いと思っていて、

M.C.P.C.: DTP Booster, Vol.1協力サイトの立ち位置を確認する

というコンテンツ作ったりして遊んでいたというわけです。DTPWORLDが死んだのと同じ時期に情報伝達網が一から作られていくのは出身学校のせいもあってすげー興奮するっちゅーもんです(あとスタートアップでどんな企業が集まってくるかも興味があった)。

そういえば学校にいたときグラフ理論とか教えていたツーカーとセルラー網の研究をしてるといっていた某教授、ツーカーあんななったんだけどどうしたんだろう。


イベント名 DTP Booster Vol.2
日時 2009年6月13日(土) 16:00-18:00
会場 アップルストア銀座(3F)
DTP Booster, Vol.2



イベント名 DTP Booster Vol.3
日時 2009年6月19日(金)19:00〜20:30
会場 アップルストア心斎橋(2F)
DTP Booster, Vol.3


詳しくはバナーリンク先でご確認を。

DTP Boosterの協力サイトとして告知協力をすると、当日のタイムテーブルに協力サイトとして掲載される仕組みです。

昨日どぶに落ちて擦りむいた肘のところにバンドエイドキズパワーパッドを貼って今日出勤したのですけれども、どうやら擦りむいた範囲が広めでバンドエイドキズパワーパッドでカバーできないぐらい広かったらしく夕方4時過ぎワイシャツのしたで傷口から吸い上げた組織液が破裂しまして、ジワーと広がる嫌な感覚、うんこ漏らしたまま脱げないようなあの感じのまま今日製版しなくちゃいけないPDFを処理しまくっていました。

においがしないのが救いでした。

月別 アーカイブ

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.2.7

このアーカイブについて

このページには、2009年6月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2009年5月です。

次のアーカイブは2009年7月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。