2012年1月アーカイブ

Planet DTP@jp

http://dtpwiki.jp/planet/

というサイトがあるのですが、これはpythonのPLANET PLANETていうシステムで自動的に生成しているサイトで、もう7年ぐらいは稼働しているんだと思うんですけれども、1月27日から停止していました。

pythonのプログラムのエラーはよくわからんのですが、注意深く見ていると、とあるフィードのとあるitemを読もうとした時にエラーが発生しているようで、エラーメッセージの中にlink要素をハッシュのキーとして使おうとしているような感じになっていたのですが、そのlink要素、すなわちパーマリンクが、もう今のRSS内に存在しないものでした。

つまり、過去の情報を取得していて、それが変に残ってしまっているために、エラーになっているということです。

ここまでくれば、「過去の情報→キャッシュファイル!」という連想を働かせ、キャッシュファイルを消すことでPlanet DTP@jpが復活しました。

ファイルベースのキャッシュシステムは、キャッシュが壊れたときの検知ができなかったり、キャッシュが壊れることが想定されていなかったりするので、DISK I/Oが極端に遅くなったりして、ファイルの格納が不安定なシステムを使っている場合は要注意ですね。

先日TwitterでStuffItの日付バグの事を書いたらact2のアカウントからリプライがあったのでコンタクトを取ったのですけれども、技術的なサポートになるということでact2のサイトでログインした後にある技術サポートフォームに入力することになったわけですけれども、ログイン時にact2のオンラインストアポイントが700円あることに気付き、さらにVMWare Fusion 4が出ていることにも気づき、サポートの返事は音沙汰がないのだけれども、ついついVMWare Fusion 4の2012/1/31までの特別価格4900円を買ってしまったのでした。act2のTwitter担当はいい仕事したな。

というわけで、気になる人は駆け込みで買っておけばいいんじゃないかなと思います。以下のリンクはアフィリエイトリンクではないので(LinkShareにログインするのがめんどくさい)。

VMware Fusion 4 - Mac/Windows ソフト・iPhone/Android ガジェット&アクセサリ act2.com [www.act2.com]
※Mac OS X 10.6.7 Snow Leopard以上が必要

iTunesで購入した曲をAndroidで聞きたいので、個人使用の範疇で、ICレコーダにライン入力でつないで録音してMP3に変換しています。その際、数曲まとめて録音して、PC側で分割しているのですけれども、その際にSound Engine Freeを使ってます。

それで、この前Sound Engine Free 4.60がでていたのでダウンロードしてインストールしたのですが、MP3読み書きができなくなりました。そういえば、Sound Engine Free自体はMP3はサポートしていないので、アドオンで対応しているんだったな……

というわけで、検索して、Sound Engine Free 4.60でもMP3の読み書きができる方法を見つけました。

SoundEngine で MP3, AAC(m4a) を読み込む方法 知らなきゃ絶対損するPCマル秘ワザ [daredemopc.blog51.fc2.com]

これでMP3を読み込んで分割できるようになりました。おすすめ!

Googleから、また7500円分のGoogle Adwordsクーポンが郵送されて来ているわけだが。

ダイレクトメール送付業務では、送付対象の吟味をしっかりしないんだろうなあと想像はできるものの、「既にAdwordsアカウントをもっている人間」に送るのはさすがに意味ないってわかるだろ。

GMOからも同様にGoogle Adwords クーポンが送られてくるのはもう慣れっこになってるので速攻でゴミ箱行きなわけですけれども(いつも一方的だ)、Googleがこれをやるとシステムがおかしいんじゃねと疑うよね。

せめて、アカウントをもっている人間だったらすでに持っているAdWordsアカウントにクーポン分充足できる、とすればそんなに問題はないのになあとか思います。

そんなら別アカウント作ればいいんでね? とか思い、AdWordsのページに行ってみたら、Opera 11.6.1だとなぜか表示できなかった。このクーポン、どうすればいいんだ。

後先考えずに購入したPS Vitaの3Gバージョンで100h/180日無料のdocomo契約が付いてくるやつなんですけれども、ちょうど1ヶ月たったので、あとどれぐらい時間が残っているかなーとか思ったら、81時間38分残っていると出る。

Psvitadocomorest
▲結構使ったね

みんなといっしょしかやってねえぞ。100h/6ヶ月って結構使い切れてしまうものなのではないか。

180日後または100時間使いきったあたりで延長すると、4980円かかるんですよね。180日前に使いきってしまうなら、イオンSIMとかも検討したほうがいいのかもしれません。

昨日書いた、

HTML::AccountAutoDiscoveryがはてなブログbetaに対応していない件

で、HTML::AccountAutoDiscoveryを使わなければよくね? 的なアプローチではてなブックマークWebHook用投げ銭スクリプトがこちらとなります。

Filename: throw.cgi

#!/usr/bin/perl
 
# throw.cgi ブックマークしたら投げ銭します。
# 説明:http://blog.dtpwiki.jp/dtp/2009/06/web-hook-645b.html
# 2009-06-07 ver 0.0.1 ファーストポスト
# 2009-10-03 ver 0.0.2 最新のMechでも動くように
# 2012-01-26 ver 0.0.3 はてなブログ対応
 
 
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 );
  unless( @account ) { @account = find_hatenablog( $url ); }
   
  sub find_hatenablog {
    my $url = shift;
    use LWP::Simple;
    my @r;
    my $c = get( $url );
    $c =~ s/.+(<html.+?>).+/$1/so;
    if ( $c =~ m{data-admin-domain="http://blog.hatena.ne.jp"} ) {
      if ( $c =~ m{data-author="(.+)"} ) {
        push @r,{account => $1, service => 'http://blog.hatena.ne.jp' };
      }
    }
    return  @r;
  }
  
  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 => mech_encode('ログイン') );
  # ログイン画面に遷移済
  $mech->set_visible( $my_id, $password );
  $mech->submit();
  # ログイン済み画面に遷移済
  $mech->follow_link( text => mech_encode('こちら') );
  # 投げ銭画面に遷移済
  $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
    mech_encode( $send_message )
  );
  $mech->submit();
  # confirm画面に遷移済
  return unless $mech->title() eq mech_encode(
    'はてな ポイント付きメッセージ送信確認'); # 送信確認ページ?
  $mech->click_button( value => mech_encode('送信する') );
  #open my $fh, '>', 'log.html';
  #print $fh $mech->content();
  #close $fh;
  return;
}
 
sub mech_encode {
# WWW::Mechanize 1.21_01以降の挙動に対応
  my $str = shift;
  if ( ( $WWW::Mechanize::VERSION ) < 1.21 ) {
    $str = encode( 'utf8', $str );
  }
  return $str;
}
 
__END__

2009年10月に一度改定していて、WWW::Mechanizeのバージョンによる差異を吸収していたんだけれども、

M.C.P.C.: はてな自動投げ銭スクリプトを最新WWW::Mechanizeに対応させたが、Mechの動作が変わる境目のバージョンがわからない

その分はCodeReposにコミットするの忘れていたので今回はちゃんとコミットしたよ。

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

僕がはてなブックマークでブックマークをすると、はてなブックマークのAPIから僕のサーバ上のCGIにコールバックして、そのページがはてなアカウント所持者であった場合、はてなポイントをプレゼントしているのです。

ブックマーク対象ページがはてなアカウント所持者であるかどうか、というのを判別するために

HTML::AccountAutoDiscovery [search.cpan.org]

というモジュールを使っていまして、一定の書式でHTMLにアカウント名を埋め込んでおけば、このモジュールでアカウントを取得でき、無事にポイントをプレゼントできるという仕組みです。

しかし、この前から運用が始まったはてなブログbetaでは、このHTML::AccountAutoDiscoveryモジュールではてなのアカウント名が取得できません。

まあ、2005年の仕様を2012年のシステムに組み込まなかったということだと思うし、モジュール作った人ははてなを離れてGREEにいるわけだし、そういう意味でこのモジュールを使うのも時代遅れ、ということなのかもしれません。

ともあれ、はてなブログbetaであれば、ルート要素であるhtml要素にdata-author属性として記述されているので、パーザを動かすまでもなく正規表現でぶっこ抜けばいいですよね。

僕はこれでも一応エンジニアのはしくれだと思っているのですけれども、エンジニアにとって、自分の作ったシステムと同じものは残っても、それを構成するアーキテクチャが断絶すると悲しくなりませんか?

今日、ちょうど僕の周りの話で、過去に僕が作ったシステムのリストラクチャ(スクラップ&ビルド)がされるという話をされまして、確かに最近エンジニアリングとは縁遠いところにいるのですけれども、来るべき時が来たという感じがしました。

もうちょっとコンセプトを伝えることに力を注ぐべきでした。ひとまず、無念、とつぶやくほかない。

あるのが当たり前だと思っていたものが急に無くなると困ることってありますよね。

昨日、会社できている仕事着も含めた洗濯物をコインランドリーで乾燥機かけて、今朝仕事着を会社できてみたらファスナーの引っ張る金具(スライダーというそうです)がなくなっていた。やばい!

とりあえず、手でファスナーをぱちぱち留めて、上部はクリップで固定してごまかしましたが、そのうち社長にばれるなー

というわけで、さっきコインランドリーにもう一度行ってみたのですが当然あるわけないわな。掃除のおじさん捨てたよな。

おそらく1ヶ月くらいしたらファスナーを手で締めるのもうまくなっていると思います。役に立たない技術ばかり身に付くな……

戦姫絶唱シンフォギア面白いね! そのうちチバソングとかいう単位が出てこないか不安です。

でも、MS Pゴシック使っているので話題ですね。

Symphogear01
▲コメントと同じ書体にすんな

Windows 95時代のMS Pゴシックは、大文字のI(アイ)にはセリフが付いていなかったのですが、今のMS Pゴシックは、セリフつきです。これって、大文字のI(アイ)と小文字のl(エル)が区別付かなかったから改良したんですよね。でも、サンセリフ書体なのにデザイン的にはおかしい。

Symphogear02
▲Windows 98以降のMS Pゴシックはセリフが付いていてうざい

こうするべき。

Symphogear03
▲セリフをとった

そもそも面倒だからMS Pゴシック使わなければいいのにね。

よく週末に寿司屋に行くのですがそこの寿司屋さん値段高いので一人で行く時には寿司を頼まないわけですけれども(おめえ何しに行くんだよ)、そこのマスターがゴルフゲームが好きだというので、iPadにLet's GOLF 3を入れて持って行っているわけでございます。

ところで、幼少期の記憶というのはのちの性格に強く影響するもので、父が週末に釣りをやったりゴルフをやったり麻雀をやったりというのを見ていたもので僕は逆に釣りもゴルフも麻雀も嫌いになったのですけれども、今になってみてみるとこれ全部接待のために覚えたやつなんですね。そういう父は今はリタイアしてトマト作ったり鶏の卵売ったりして暮らしています。きいたれば、若いころは鳩レースが趣味だったとか。今の暮らしで長生きしてもらいたいものです。

そんで、ゴルフ嫌いな僕がゴルフゲームを接待用に入れているわけなのですが、このLet's GOLF 3は、どうやらゲーム内通貨を稼がないと先のホールまでプレイできないらしく、寿司屋のマスターはいつも途中でゲーム内通過がなくなってしまいプレイが終わってしまう。稼ぐ方法ねえかなーと思って検索したら、

「Let's GOLF3」を完全無料で遊ぶ方法 - だいたい日刊ぱぱ~ん [papaaaan.posterous.com]

ああ有料前提なのね、とか思いつつ、書かれている内容を実行するのはとても面倒であることがわかりました、第一ゴルフ嫌いなんで。

あしたから、一日一回ゲーム起動してポイントためることにします。

強力なプラスチック用接着剤が必要になって、ホームセンターのコメリに行ったのですけれども、ワゴンにとても安価なDVDが入っていたわけで、「どうせ版権切れものだろー」とか思ったら普通にレンタル上がりのもので、よく見たらアニメ全巻パックとかもあったので、見て見たれば、ToHeart2があったので、買ってきた。1話当り152円。ニコニコ動画の価格帯に近いかかな、とか思ったけどもふつーにマンガ倉庫や万代書店に行けば腐るほどありそうで値段的に果たして安かったかどうかわかりません。

ToHeart2における僕の推しメンは

         ∧_∧   ┌────────────
       ◯( ´∀` )◯ < 僕は、笹森花梨ちゃん!
        \    /  └────────────
       _/ __ \_
      (_/   \_)

なのですが、その話をすると皆一様に目をそらし後から「黄色削除パッチ」なるURLのつぶてが投げつけられてくるので、みんな塩素系と酸の洗剤を混ぜて塩化水素でひどい目に合った壮絶な経験の持ち主なんだと思います。同じオカルト系なのに芹香先輩となんでこんなに差がついた!

本物そっくり! ウェブブラウザで動くPhotoshopシミュレータ : ギズモード・ジャパン [www.gizmodo.jp]

を見てですね、昔、「DTPソフトのメニュー画面だけ動くシミュレータ」をつくろと思ったことがあることを思い出しました。

その昔、個人持ちのCreative Suiteを会社のPCに入れてはならないというお達しが出て(まあ当然だわな)、PCからCS3を抜かれたのに、顧客サポート業務に任命されて、「Photoshopの操作ができないのにPhotoshopのことを聞かれる」というおにすけな環境に置かれたことがあります。

「Photoshopがなければ、Photoshopもどきを作ればいいじゃない。」とか言って、メニューのキャプチャをとりまくっていたのですが、その後Creative Suiteが用意されたとともに顧客サポートの任も解かれたので、もー頭にきてキャプチャーを捨てた。

というわけで、リンク先のような機能の再現までは要りませんが、Adobeソフト群のメニューとダイアログの表示までできるウェブサイトがあるとすこぶるありがたいと思いますので、Adobeさんにはぜひ用意していただきたいものです。

今日はServersMan@VPSの仮想サーバがすこぶる重かった。LoadAverageを見たら15とか出よる。15CPUとかじゃないので当然異常なわけですけれども、同じ物理サーバに収容されていると思われる別の仮想サーバでも、LoadAverageが平均2~3。こっちは閑古鳥サーバなので、httpもそんな忙しいわけではなかったのにもうCPUを使いきっているっていうのはおかしいのです。

LoadAverage15を叩きだしたサーバはDTPWiki.jpやら、HWNDBasedPanelView.comとかを担当しているサーバなのですけれども、httpがまともに動かないので、httpdを停止させてみたら、LoadAverageが3~5に収まっている。そして、大量にディスクに書き込む系スクリプトがいつまでたってもメモリに残っている。これは、異常だ!

更に、コマンドラインでTABキーを押してコマンドの入力保管をすると、だんまりになる。どうやら、ストレージとのI/Oが入ると途端に時間がかかるような状態になっている模様。そういう意味では、httpdなんか、コンテンツをサーブするためにストレージから読み込むと同時に、ログを書き込むためストレージに書き込むわけで、結構アクセスが多いものですから、こんなに負荷が上がっていたのも納得です。

「原因は我にはなく、仮想サーバのストレージI/Oがおかしくなっているからである。」

原因がわかってしまっても、これは手が出ません。ServersMan@VPSのほうで何とかする問題である。ということで、こんなこともあろうかと用意していたAmazon EC2のTokyoリージョンのAmazon Linux AMIサーバに接続します。

企業ウェブサイトのホームページそのものに、企業の連絡先や所在地などをメタデータで埋め込んでしまえる仕組みは存在しており、僕が担当している某企業のサイトではちゃんと設定しているのですけれども、ほかの企業さんはそういうのは設定していないので、企業さんのサイトに行ってから「会社案内」「会社概要」などをたどって確認するのが一般的なのだと思います。しかし、面倒くさいものですから、そこら辺を自動で処理して、ホームページのURLを入れれば自動的に会社プロフィールがあるURLに進んでくれるぐらいの賢い仕組みを作ろうとプログラムを作り始めました。

んで、これっていわゆるスクレイピングソフトになりますので、テストは慎重にということで、自分が担当したサイトでテストをしていたのですが、

そのサイトでは、会社案内に行く時、JavaScript無効だと1段ページが挟まれてしまっており、スクレイピングソフトがそこから動けなくなりました……

水道の配管でいうところのシンクの下のS字トラップみたいになっているのです。気付かずにやってしまっていてすげえが自分がうざい。

というわけで、当分出来そうにありません。いつものことですが……

夏ごろセーブオン(略称:ブオン)でやっていたイカ娘のグッズが当たるくじみたいなのがサークルKで昨年11月ぐらいからやっていたわけなのだけれども、期間が終わってみたらイカ娘グッズが余ってしまっており、ワゴンにおつとめ品として値札が付けられているものの、いつまでたってもはけてない状況なわけです。

だから放映していないアニメのグッズで販促してもだめなんだってば!

まあ、土地柄的に客層は微妙に年輩の方が多い気がするからなあ……

コンビニでアニメグッズといえば、とある地方に出張したときでものすごくアニメグッズのはけがいいコンビニがあったので、ここはすごいなーとか思って位置情報付きツイートしたら個人情報なので消せとリプライ来てびっくりした。あれはいったい何だったんだろう……(個人情報かどうかはさておき不快みたいだったので消しておいた)。

クルマに乗って出かける際、PS Vitaを車内に持ち込むのですけれども、そうすると、運転中はプレイできませんから、Bluetoothで音楽流したりするのですけれども、僕のVitaは3G/Wi-Fiモデルですので、どこでもネットにつながるわけですから、Vitaでストリーミングラジオアプリがあればいいなあと思うわけです。

候補としては、

  • らじる★らじる NHKネットラジオ
  • radiko.jp
  • 超A&G

あたり。radiko.jpは地域による聴取制限があるのでほかのストリーミングラジオが聞ければ、コインランドリーでの待ち時間でも聞くことができるのでありがたいのですけれども、PS Vitaに関してはアプリの開発がメーカー主導だからなかなか難しそうですね。

とあるシステムを作っていまして、これがMovableTypeのサブセット版のTypePadで動かしていた経緯もあり、システムの大部分がRSS 1.0 feedによるシンジケーションで構成されているというものなのですけれども、末端のエントリに入っている緯度経度情報を、RSSを使って上位コンテンツに届けなくてはいけなくなりました。

RSS 1.0なので、ならばDublin Coreだろうということで(RSS 1.0はitemの作成日時を表すのにDublin Coreの語彙を使っています)、Dublin Coreの仕様書を調べてみるも、どうやらdc:coverageあたりが適当だと判断。

このRSSはWebに出回らない私家版なので、

    <dc:coverage>35.730349,139.711032</dc:coverage>

的な記述にしてみました。

私家版だったらDublin Coreにこだわることないんじゃないか、っていう向きもありますが、ボキャブラリ決まっているほうが思いだしやすいってことで。

タイトルは行殺♥新撰組というレトロゲームから。更に元ネタあるらしいね。

んで、おとといあたり鏡開きだったんですが、会社に飾ってあった鏡餅、僕が入社した時は鏡開きして、つゆ餅にしてみんなで食うていた記憶がありますけれども、最近はそういうこともせず、職場で処分するとのことだったのですけれども、一般家庭はさすがに自分ちにも餅があるわけで、逸般家庭である僕が全部持ち帰ることになったというお話。

んで、僕は餅に砂糖掛けるだけでするする食えてしまうので(変態だと言われた)、1週間分のファストフードをゲットしたことになります。やったね!

どうでもいいことですが、真空パックおもちメーカーのでかい鏡餅に子餅が入っているタイプ、お雑煮に入れることを想定して、関東だと四角餅で、関西だと丸餅らしいですね。四国地方を想定したあんこ入りタイプとかはあるのかな。

アドビ システムズ、Adobe Creative Suite 6へのアップグレード対象にCS3/CS4ユーザーを期間限定で追加すると発表 - MACお宝鑑定団 blog(羅針盤) [www.macotakara.jp]

なにー消費生活センターにTELするために年末に駆け込みでCS5.5買っておくんだった!

ていうわけで、使いもしないのにアップグレード権利喪失を突き付けられてCS 5.5買っちゃった人は、アドビが何か懐柔案を言ってくる前に国民生活センター案件にするべくお近くの消費生活センターにTELすべきです。

全国の消費生活センター等_国民生活センター [www.kokusen.go.jp]

それはそうと、「そんな無茶な!」というアップグレード可能世代を縮める方針が、今回覆ってしまったということで、アドビという会社にも「ユーザーの意見を聞く姿勢がある」ということが広く知れ渡ることになりましたね。

DTP分野でアドビシステムズ社との付き合いが長く、付き合い方が平凡なユーザーであれば、アドビシステムズ社はユーザーの意見はちっとも聞かない会社として認識ができ上っているのだと思いますけれども、今回アップグレード方針を覆すにあたりアドビシステムズ社の中でもコンシューマの意見を取り次いで本国へ働きかけてくれた方がいると思います。(もしいるのであれば)その方に賛辞を贈りたいと思います。

会社の方針をそう簡単に変えていいものか、という意見もあると思いますが、僕は適宜見直して意見を変える柔軟性がある方を支持したいと思います。知り合いに、「私は結婚をしない」宣言をしている女子がいるのですが、そういう子には言質を取ってあるからなとは言わず、後で結婚したくなったとかいっても生温かい目で見守ってあげたいものです。

最後に、今回の措置が単に株主からの要請だった、とかいう夢のない話だったりするかもしれませんし、実は全部茶番で、最初からアップグレード方針を元に戻すことが織り込み済みだった、とかいうとすげえ萎えるけど、これ世界的な決定だから、ちゃんと経緯とか出てくるかなーと思っております。

PS Vitaの「みんなといっしょ」では、「Twitter連携」をすると、自分のアバターにTwitterプロフィール画像を割り当てられるのですが、クライアントが必要な時にTwitterのサーバから取得するようなので、以前作った

M.C.P.C.: PerlでTwitterの自画像アイコンを分に応じて回転させる [blog.dtpwiki.jp]

を応用させると、自分のアイコンを変化させることができます。

少なくとも、自分のPS Vita上では、変化しています。

問題は、ほかの人のVita上で本当に変化しているもんだか確認できんことです。どうなっているんでしょうね……

印刷展示会PRIMEDEXのドメインが失効してほかのサイトになっているっていう情報をTwitterで見ました。

http://www.primedex.jp/

普通だったらpgrするところなのですが、かくゆう僕も去年の12/24で HWNDBasedPanelView.comのドメインを失効しちゃって、おとといこっそり復活したりしたものですから、笑えない。

ちなみに、なんでネタサイトのHWNDBasedPanelView.comなんてドメイン更新しているんだ、ていうことなのですが、これは、TwitPicのようなサイトを作れ、とか言われたときにひな型になるように設計してあるのです。

だけれども、そういうオファーは来ない。ソースほしい人がいたら差し上げますよ。

んで、PRIMEDEXはどうでもよくて、本題。

僕はTwitterクライアントを作れと言われたときにすぐ出せるようにTwitterクライアントを自作して使っているのですが、そのクライアントがCUIのコマンドライン入力なのでグラフィックとかが出せないものですから、結局TwitterのWebで見ていたりするのですけれども、そこで表示される広告欄で、「みんなのしおり.jp」ていうのがありました。

Minnanoshiori
▲みんなのしおり.jp のスクリーンショットです

どうやら、講談社がスティーブ・ジョブズ本の第3弾を出すにあたってのユーザ参加型のPRサイトらしいのです。

昨日書いたTitanium Mobileで生成できるRSS表示するアプリサンプルを、オブジェクトにまとめて書きなおしてみました。

でも、Titanium Mobileで想定している分割とは違うみたいです。そろそろ、サンプルアプリのKitchenSinkを参考にする時かな……

Titanium MobileというJavaScriptでスマートフォンアプリが作れてしまう開発環境を正月あたりからいじっているのですけれども、つまりスマートフォンサイトもいいけどスマートフォンアプリを作れるようになっておいた方がいいかなーということなんですけれども、まずは手始めに、RSSを読み込んで表示するやつを身につければいいかなーと思って、

Titanium Mobile を使って、シンプルなRSSリーダーを作る | バシャログ。 [c-brains.jp]

を参考にしてみたのですが、Web上のRSS表示だったら、RSSを全部読み込んで不必要な分を捨てるような富豪的なプログラムでいいのかもしれないですけれども、スマートフォンなので、なるべく必要な分の通信だけするようにすればいいのではないか、という方針で、YQLを使って、RSSをこまごまと読み込むようにしてみました。

Titaniummobilerss
▲テストアプリ実行画面

さっき気付いたのですけれども、先日買ったBELKINの車載用Bluetoothレシーバ

は、ダブルクリックで曲が飛ばせるのです。

ただし、ダブルクリックの判定がストリートファイターIIの必殺技コマンド並みにタイミングが厳しいので、慣れるまでは一時停止になってしまうという罠。

BELKINの車載用Bluetoothレシーバは再生と停止しか出来なさそうだしな……とか思っている方は、今一度検討してみたらどうでしょう。なかなか曲が飛ばなくてイライラするかもしれませんけどね!

わがアパートの前には自動車の駐車場が付いており、そこには消雪パイプが設置してあるのだけれども、新築当時から住んでいるけれどもかなりの年月がたっているので、今年は消雪パイプの穴の一部がふさがってしまっていました。それがよりにもよって、僕がクルマを停めているところが重点的に水が出ていません。ありえんだろ……

で、今晩重点的に雪が降りそうな気配があり、明日仕事なので雪が消えていた方がありがたいわけで、重い腰を上げて重点的に穴という穴を貫通させる旅に出たのでした。

さて、消雪パイプとは、パイプに一定間隔で穴をあけ、圧力がかかった水をふきこむことで穴から水を出し、水が出る角度とかをちゃんと計算して、積雪を融かしてしまおうという企画です。我が家の消雪パイプには、地下水が使われています。

しかし、地下水の成分的なものと、消雪パイプを固定しているセメントの成分的なものの影響で、パイプに空けた穴がふさがってしまうのです。一般に、冬季にしか使わない消雪パイプは、役目を終えると通水しませんので、消雪パイプ固定用のセメントからのCa的な成分とか、パイプ内の残留水に含まれるFe的な成分とかがCl的な成分と塩を構成し、結晶となりパイプの目をふさぎます。

というわけで、まずはふさがった目を探すところから始めるのですが、消雪パイプからの水の出る方向的な意味で、セメントで埋めてあるところぎりぎりのところに水が出る目があるというありさま。これだとセメント由来の成分で埋まるはずだわーとか言いながら、消雪パイプの穴開け職人の気持ちになって、水が出ている個所を見て、等間隔に穴をあけるはずだからと推理、見事1つ目の穴を発見しました。その穴は案の定灰色の謎の物質でふさがれているのですが、そこを安全ピンの危険な部位でつくべし、つくべし! 見事、水が出るようになりました。

これを、夜8時、しゃがんで、懐中電灯片手に、繰り返しているわけです。これは日中にやっておくべきだったな。

……ていうのを繰り返し、10この穴を貫通させました。穴の位置はいろんなタイプがあり、ものによってはまったく存在しなさそうに偽装されているものもありましたが、ものすごい推理を繰り返し何とかミッションをコンプリートした次第です。

さてかように消雪パイプが出たところで、実は激しい雪が降ったら全然効果がない、という事実もあるんですよね。雪かきは面倒だよなあ。

いろいろ仕事が目まぐるしく変わるのですが、今日はIllustratorでビジネスフォームをくみ上げる仕事が3本ぐらい入っていました。

もうすでに世の中IllustratorとInDesignしかないように見える時代でありますけれども、実はビジネスフォームを組むのであれば、それ用の専用ソフトを使った方がいいのであります。うちにも昔あったらしいけど今は使っていない。おそらくOSのバージョンアップに付いていけなかったんだろうな。専用ソフトではよくある話です。

今そのOSのバージョンアップに付いていけなくて振り落とされそうなのがEDICOLORじゃねえかと思います。

キヤノンITソリューションズ:エディカラー [ps.canon-its.jp]

あの対応方法の書き方といい、適切なtitleタグにしていないあたりといい、そろそろつらい感が漂っています……

とりあえずIllustratorで既存のビジネスフォームと同じように組む仕事は一応10年以上Illustratorやっているのでまあまあのスピードで組めるのですが、これを新人さんに教えなくちゃいけないとなったらちょっと考えるよなあ。

正月休みにうちをあけるということで、我が家はもうビデオ録画はしないし、24時間動かしているWebサーバはちゃんと外部に預けてあるので給電なしで行けるので、ブレーカーを落として外出したのです。

そして、昨日やっとの思いで帰ってきた後、ブレーカーを入れルーターに給電されたら、ルータの穴という穴から光が点滅しているのです。このルータは、4ポートのスイッチングハブも兼ねているので、LINK/ACTIVEのインジケータが付いているし、ほかにもステータスランプも付いているので、光る個所がいっぱいあるわけですが、光れるところは皆点滅していました。

僕がルータの設計者だったら、全てのランプが点滅するようにする場面は、電源投入後の自己診断の失敗時だよなあと思うので、このルータの寿命と判断しました。なむー

我が家には、買い置きとしてプラネックスのポータブルWi-FiルータMZK-RP150Nがあるので、昨日はそれでしのぎました。

今日、ちょっと時間があったので、我が家自体は数年前から基幹はギガビットイーサ環境になっているのですから、ここはギガビットイーサ対応のもので、せっかくiPad2やMacBookなどIEEE802.11a対応の端末があるのですから、多機能の無線ルータにしました。

結構前のモデルですよね……ケーズデンキであんしんパスポートの現金値引きで8300円ぐらいでした。

今、設定をしているのですが、我が家にWi-Fi機器が8台もあることが判明しまして、登録しなおすのが非常にめんどい。

5GHz帯のWi-Fiは使ったことがないので、どんなもんなのかこれから体験することになりそうです。

Titanium Mobile を使って、シンプルなRSSリーダーを作る | バシャログ。 [c-brains.jp]

を見て、Yahoo! Query Language(YQL)という便利なAPIがあり、これの使い方の一つとして、RSSをJavaScriptで取り扱いやすいJSONに変換してくれるという使い方があるので、今までJavaScriptでRSSを処理するためにサーバ側のCGIでわざわざJSONに変換していたところが全くいらなくなるという利点があるのでこれすげえなーとか思って、いろいろ使ってみているのですが、

Titanium Mobileで何回かYQLを使っていると、途端にYQLがデータを渡してくれなくなるようです。そうなると、ランタイムエラーが出るので美しくありません。ランタイムエラー自体は、コールバック関数内でe.dataが存在するかどうかで切り分けて、e.data.itemへのアクセスをしないようにすればいいのですが、一度YQLがエラーを返すようになってしまうと、なかなか復帰しないような感じです。

やっぱり、自前でRSSをXMLとしてパースして処理するのが確実なのかなあ。


(2011-01-03 23:54追記)

Androidのバーチャルマシンを立ち上げなおすと直りましたが、いつもこれで直るかどうかは、不明です。

実家の家族がドコモポイントが失効しないうちにスマートフォンを買ってしまいたいというので、(今のタイミングで買うの?とか思いながら)ドコモに行きました。

せっかく買うなら最新機種がいいとのことで、GALAXY S II LTEを選択していました。

ここ、2年後もクロッシィ(つまりLTE)使えないと思うよ。

そんで、契約中脇から見ていたんですけれども、いまどきって、契約中にGoogleアカウントを作るための情報を紙に書かせるんですね。ソーシャルハッキング怖いです。僕がHT-03A契約したときとは全く違う。

とどめに、液晶に輝点があり契約終わっていないのに初期交換と相成りました。年始から引きがいいですね。

はたして使いこなせるのか。なめこ栽培でもしてくれていればいいと思っています。

実家に帰ってきているのですが、テレビでPS VitaのコマーシャルをやっていてみんなのGOLF6のプレイ画面が出ていたところ、父が「そういえばお前にもPS Vitaってあるんだよな」的なことを言い始めたので、めんどくさくなって自分では絶対購入するタイプのゲームではないゴルフゲームの「みんなのGOLF6」を購入することにしました。こうやって購入したくもないのに購入させられることで「みんなのゴルフ6」の売り上げの一部はできているのですね、SCEの人は感謝するがいい。

みんなのGOLF 6 | プレイステーション® オフィシャルサイト [www.jp.playstation.com] (音出ます)

それで、ダウンロード販売で買おうと思ったのですが、どうやっても購入できない。というか、クレジットカードチャージができないのです。ネットワークがおかしいというエラーメッセージが出るので、FLETS光回線+Wi-Fiと、docomo 3Gの2回線で切り分けようとしても同じ。

というわけで、明日初売りでワンダーグーにでも行ってVitaカード版のみんなのゴルフ6でも買ってきます。PS Storeのエラーメッセージは相変わらずわかりにくいなあ。

月別 アーカイブ

ウェブページ

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

このアーカイブについて

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

前のアーカイブは2011年12月です。

次のアーカイブは2012年2月です。

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