<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7170287906665164217</id><updated>2011-09-10T17:41:34.365+09:00</updated><category term='雑記'/><category term='計算機'/><category term='取材'/><title type='text'>String cat</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://string-cat.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>61</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-4912664231924980762</id><published>2011-09-10T17:30:00.004+09:00</published><updated>2011-09-10T17:41:34.401+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>ニノ前しいの使い方</title><content type='html'>うだうだしてないでいー加減何か書かないと、９月発売号が出てしまうので。&lt;br /&gt;＃あれ？ もう出てる？&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;先月から、サンデー超で連載をやらせてもらえることになりました。&lt;br /&gt;&lt;br /&gt;「ニノ前しいの使い方」&lt;br /&gt;&lt;br /&gt;というタイトルです。&lt;br /&gt;８月スタートなのに真冬の話になっているのは、ほんとは去年の冬あたりに始めようと言ってたのがうだうだやってるうちに春になり、夏になり…だったからです。&lt;br /&gt;タイトルにしても、「しい」が名前というのだけ決まっていて、最初はみんパイよろしく「みんなのしい」にしようとか、名著になぞらえ「はじめてのC」でコミックスを買ってくださる奇特なお方を赤面させてやりたいけどサンデーにはじあくあるしなとかなんだとか、うだうだやってるうちに上記のものとなりましたし、そもそもの名前も、CAFEBABEみたく「ADAC(44460号)」でエイダとCにかけていたのが、ブラウザのURL欄で「javascript:alert((28).toString(16))」して「ヤッターCが入ってる」みたいなことがあり、ニノ前しいに変更したんですが、「うわーぷらぷらの0xが11になってるー」とか、時代はgolangかなとか、クロージャ使えて並列強くてコンパイル系で、死ぬほど検索しにくいけど最強じゃねこれとか思ったりでうだうだうだうだうだうだ…。&lt;br /&gt;&lt;br /&gt;そうしてうだうだしているところへ、「おい猫砂、編集長が『まだー？』言ってる。そろそろまじやばいぜ」と担当さんに怒られ、スタートとなりました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;たぶん１０回前後で終わる短い連載となりますが、生暖かく見守っていただけたらと思います。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-4912664231924980762?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4912664231924980762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4912664231924980762'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2011/09/blog-post.html' title='ニノ前しいの使い方'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-6703657536090506490</id><published>2010-08-27T23:50:00.002+09:00</published><updated>2010-08-27T23:54:41.630+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>まんが用紙を作る</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/THfRGe8PbnI/AAAAAAAAAjo/lG2WkJ_Pn1c/s1600/20100827_234606.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 355px; height: 270px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/THfRGe8PbnI/AAAAAAAAAjo/lG2WkJ_Pn1c/s400/20100827_234606.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5510102578426244722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　前に作ったまんが用紙が微妙に使いにくかったので作り直し。前と同じでruby/cairo。てことでソースと出力したもの（pdf）晒しておきます。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cid-5142edd673fc161d.office.live.com/self.aspx/.Public/MangaScale.zip"&gt;ダウンロード（zipファイル）&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　前よりいくらかよくなったと思うけど使ってみるまでなんとも言えず。まあ印刷してネームろう。てか寝て起きたので一日経ったと思ってたけど今日二本目だこれ。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-6703657536090506490?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6703657536090506490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6703657536090506490'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/08/blog-post_1643.html' title='まんが用紙を作る'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/THfRGe8PbnI/AAAAAAAAAjo/lG2WkJ_Pn1c/s72-c/20100827_234606.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-5805264279894145607</id><published>2010-08-27T03:01:00.003+09:00</published><updated>2010-08-27T03:26:38.323+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>どうぶつしょうぎが面白い</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/THaxyO16vtI/AAAAAAAAAjg/Ojj_eBBcURE/s1600/20100827_032451.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 239px; height: 400px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/THaxyO16vtI/AAAAAAAAAjg/Ojj_eBBcURE/s400/20100827_032451.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5509786670670200530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　iPadアプリの&lt;a href="http://ja.wikipedia.org/wiki/%E3%81%A9%E3%81%86%E3%81%B6%E3%81%A4%E3%81%97%E3%82%87%E3%81%86%E3%81%8E" target="_blank"&gt;どうぶつしょうぎ&lt;/a&gt;がすごく面白くて、トイレ入ってるときナド黙々とやっています。あまり強い思考ルーチンではないのでよほどのことが無い限り負けませんが、だからこそわざと駒を取らせて王様単騎で突っ込んでみたりしてます。&lt;br /&gt;　で、面白いから自分もと、どうぶつしょうぎ互換なゲームをjavascriptで作ってみました。駒の動きを任意に変更できるようにしているので、「どうあがいても駒を動かせなくなったら負け」というルールを追加しています（ただし、リンク先で遊べるゲームは「動けない状態」にならないことが解明されてます）。&lt;br /&gt;&lt;br /&gt;○ &lt;a href="http://dl.dropbox.com/u/996796/MiniShogi/index.html" target="_blank"&gt;index.html(google chrome, firefoxで動作確認。一応iPadのtouchイベントにも対応。IEじゃたぶん動かない）&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;○ &lt;a href="http://dl.dropbox.com/u/996796/MiniShogi/MiniShogi.wgt" target="_blank"&gt;iPadのcloudreader用HTML5ウィジェット(wgtファイル)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　思考ルーチンはあんまり強くありません。強いのをどうやれば作れるのか知らないし。将棋に詳しければ書けるんでしょうが、私は将棋の「定石」が何なのかすらよくわかってないので無理です。&lt;br /&gt;　ちなみに内部的には頑張って駒情報へのビット演算で手筋を考えられるようにしたりしたんですが、大半作り終えた時点で&lt;a href="http://train.gomi.info/trainshogi/making/" target="_blank"&gt;ここ&lt;/a&gt;を発見。このリンクの方は強くて面白いどうぶつしょうぎを作っているのですが、そのプログラムの解説によると「駒単位で管理とかやめたほうがいい」そうな。やっぱ盤の配列を使ったほうがよかったのか。ビット演算のパラレル性でiPadでもサックサク！　とか思って書いたものの、さして早いわけじゃないし。&lt;br /&gt;　リンク先のコード、指す先の変数名に「to」とか使ってたりしていて「おお、けっこう近いとこまでは同じ考え」などとニヤニヤしたのですが……他方は強くてこっちは全然アレという結果になってしまいました。う～ん。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-5805264279894145607?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5805264279894145607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5805264279894145607'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/08/blog-post_27.html' title='どうぶつしょうぎが面白い'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/THaxyO16vtI/AAAAAAAAAjg/Ojj_eBBcURE/s72-c/20100827_032451.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-4243375717815715336</id><published>2010-08-20T07:35:00.005+09:00</published><updated>2010-08-20T07:49:17.244+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>急々如律令 1.7.6</title><content type='html'>　更新履歴を見たら二年ぶり。自作ランチャ「急々如律令」を少しいじったので公開します。私はFSFの支持者なので当然無料です。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cid-5142edd673fc161d.office.live.com/self.aspx/.Public/99.zip"&gt;ダウンロード&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/TG2yMEb-J4I/AAAAAAAAAjY/eII0Vdawoow/s1600/20100820_073508.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 325px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/TG2yMEb-J4I/AAAAAAAAAjY/eII0Vdawoow/s400/20100820_073508.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5507253839763220354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　私はいつも自作のランチャでソフトを起動してるのですが、さっき二年くらい放置していたそのプログラムの動作がむかつくシーンに遭遇したので修正しました。マルチモニタだとデスクトップをダブルクリックしたときランチャの動きがおかしくて、で、仕方ないのでデスクトップに対するフックをオフにしてたんだけどそれやると画面いっぱいにfirefoxを起動したとき困るという感じ。で、修正したんですが、ここんところCいじるときはstdioとstdlibとqtくらいしか使ってなかったので久しぶりに見たWinAPIがなんかキモかった。前は全然気にならなくて、キモイ言ってる人みかけると「そうかな？」と首捻ってたんですが、久しぶりに見た自分のコードが読めねぇ読めねぇでここは魔窟かと。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-4243375717815715336?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4243375717815715336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4243375717815715336'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/08/176.html' title='急々如律令 1.7.6'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/TG2yMEb-J4I/AAAAAAAAAjY/eII0Vdawoow/s72-c/20100820_073508.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-4207698721538382888</id><published>2010-08-01T06:43:00.004+09:00</published><updated>2010-08-01T07:03:07.520+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>末代まで！　三巻発売！</title><content type='html'>　早い書店さまなら昨日〜一昨日に入荷しているようですが、「末代まで！」の三巻（副題: 心霊温泉トレイニング・キャンプ）がスニーカー文庫より本日発売です！&lt;br /&gt;　最近公式サイトのアレがまったく更新できていないのでせめて文章で宣伝すると、三巻は、非実在青少年たちが真夏の島へ合宿に行って温泉やら保護やら勧誘やらをする話。要するに、サブタイに&lt;span style="font-weight:bold;"&gt;トレイニング&lt;/span&gt;とありますが、ぶっちゃけトレイニングはほとんどしてません。gooの辞書で「合宿」を調べたらトレイニングキャンプと出たので採用したってだけです。私はいっつもそんなんです。よろしくお願いします。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/TFSZYVujERI/AAAAAAAAAjI/oEdPilvVCEM/s1600/2010-08-01_a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/TFSZYVujERI/AAAAAAAAAjI/oEdPilvVCEM/s400/2010-08-01_a.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5500189688354509074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　ちなみに表紙は、お岩の髪の色が前と違う上、そもそもデザインが前例を踏襲していません。見つけにくいかもしれませんが、書店で見かけたさいはどうぞよろしくお願いします！&lt;br /&gt;&lt;span style="font-size:0.7em;"&gt;（書影を載せたいとこですが、私はファイルを持ってないし、持っててもブログに載せてよいか微妙なんで掲載は控えました。角川のサイトへ行けばどっかに書影がありますかね……？）&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/TFSaWLsT3fI/AAAAAAAAAjQ/k_8D7OTKjwI/s1600/2010-08-01_b.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/TFSaWLsT3fI/AAAAAAAAAjQ/k_8D7OTKjwI/s400/2010-08-01_b.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5500190750812659186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　iPadがどうとかで近況を晒すことをあんまりやってなかったので近況をば。&lt;br /&gt;　三巻が出たばかりですが、四巻用のプロットをさっき送りました。ほんとは昨日が締切りだったんですが一日遅れました。あとがきにも書きましたが三巻はわりとアレだったのでよかったなぁ……。&lt;br /&gt;　ちなみに、このあとはさらに別件のプロットなどを四本ほど考えます。MacのDockのMacVimとEvernoteのアイコンに火ィつきっぱです。&lt;br /&gt;　とりあえずメシだ、メシを食おう。昨日からあんぱん一個しか食ってない……。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-4207698721538382888?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4207698721538382888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4207698721538382888'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/08/blog-post.html' title='末代まで！　三巻発売！'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/TFSZYVujERI/AAAAAAAAAjI/oEdPilvVCEM/s72-c/2010-08-01_a.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-4706591572730407878</id><published>2010-07-18T17:26:00.004+09:00</published><updated>2010-07-18T17:41:41.081+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>iPadに手書き文字を認識させる</title><content type='html'>　お岩のついったーをいじってばかりで全然ブログ書いてないなぁ思ったので久々更新。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ACvoKo32G9I/TEK61ZxGC4I/AAAAAAAAAjA/3Df1qWNSWhQ/s1600/tegaki.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 253px;" src="http://4.bp.blogspot.com/_ACvoKo32G9I/TEK61ZxGC4I/AAAAAAAAAjA/3Df1qWNSWhQ/s400/tegaki.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5495159921958062978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　先日iPadのSDKを落としたので、上の画像のようなことをやってみました。zinniaというフリーのライブラリを使ってiPad/iPhoneで手書き文字を認識させてます。&lt;br /&gt;　で、以下はその手順のメモ（Mac OSX snow leopard, Xcode 3.2.3）。&lt;br /&gt;&lt;br /&gt;１）&lt;a href="http://zinnia.sourceforge.net/index-ja.html" target="_blank"&gt;zinnia&lt;/a&gt;のサイトからzinniaとモデルファイルをダウンロードしてくる。&lt;br /&gt;&lt;br /&gt;２）zinniaとモデルファイルをconfigureしたりmakeしたりなんだり。&lt;br /&gt;&lt;br /&gt;３）iPhone/iPadの適当なプロジェクトを作る。&lt;br /&gt;&lt;br /&gt;４）プロジェクトのあるフォルダ（~/Documents/Xcode/...）に（２）でmakeしたモデルファイルと、zinniaのソース・コードの*.hや*.cppをコピー。どーせmakeでターミナル開いてるんだからcp使うのが早いかと。&lt;br /&gt;&lt;br /&gt;５）コピーしたcppのうち、mainブロックを含むファイル以外をプロジェクトに追加。モデルファイルもプロジェクトの「Resources」に追加。&lt;br /&gt;&lt;br /&gt;６）config.hが読み込まれてないせいでエラーが起きるので、「#ifdef HAVE_CONFIG_H」で囲まれた「#include &amp;quot;config.h&amp;quot;」をどうにかする（VCならプロジェクト設定でどうにでもできるんだけど、Xcodeの使い方がよくわからなかったので私は#ifdefのコメント・アウトで対処した）。&lt;br /&gt;&lt;br /&gt;７）以上でおわり。適当にサブクラス化とかしたキャンパスを作り、Resourceにあるモデルファイルを読み込み、タッチ座標（線のデータ）を送れば認識してくれる。&lt;br /&gt;&lt;br /&gt;// モデルファイルを読み込む&lt;br /&gt;NSString *path = [[NSBundle mainBundle] pathForResource:@&amp;quot;handwriting-ja&amp;quot; ofType:@&amp;quot;model&amp;quot;];&lt;br /&gt;zinnia_recognizer_t *zrec = zinnia_recognizer_new();&lt;br /&gt;if (!zinnia_recognizer_open(zrec, [path cStringUsingEncoding:1])) NSLog(@&amp;quot;ERROR: %s&amp;quot;, zinnia_recognizer_strerror(zrec));&lt;br /&gt;&lt;br /&gt;// 解析結果をログへ（結果の文字コードはUTF8らしい）&lt;br /&gt;for (size_t i = 0; i &amp;lt; zinnia_result_size(result); ++i)&lt;br /&gt;NSLog(@&amp;quot;%02d: %@ (%f)&amp;quot;, i + 1, [NSString stringWithCString:zinnia_result_value(result, i) encoding:NSUTF8StringEncoding], zinnia_result_score(result, i));&lt;br /&gt;&lt;br /&gt;-----------------------------&lt;br /&gt;&lt;br /&gt;　iPad SDK、面白いけど実機でいじるにはおカネかかるのがなんとも。比較的豊かな日本とかはともかく、アレって物価安い国の人に「来んな」ってシステムじゃないですか？&lt;br /&gt;　てか、auからiPhoneみたいなデザインでandroid出ないかなぁ……。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-4706591572730407878?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4706591572730407878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4706591572730407878'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/07/ipad.html' title='iPadに手書き文字を認識させる'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ACvoKo32G9I/TEK61ZxGC4I/AAAAAAAAAjA/3Df1qWNSWhQ/s72-c/tegaki.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-717732259561356136</id><published>2010-06-06T11:20:00.004+09:00</published><updated>2010-06-06T11:46:01.106+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>i文庫HDで「!?」とか「!!」をまともに表示する</title><content type='html'>　iPadのキラーアプリとか言われているi文庫HDですが、あのソフトは縦中横に対応していません。「!?」や「?!」などの半角記号は全角一文字ぶん使って表示されてしまい（つまり縦に二文字ぶんスペースを取る）、読む人には表示が汚くて嫌でしょうし、私のように青空形式で小説を書いている人間にはものっすごく不便です。半角の疑問符感嘆符（!?）や二連続の半角感嘆符（!!）が全角二文字ぶん使ったせいで章の頭が一ページずれる、なんてこともざらにあるわけです。&lt;br /&gt;　ところで、青空文庫のテキストは規約でJISにしている（らしい）わけですが、i文庫HDはUTF-8に対応してくれていて、そのうえUTF-8には「!?」や「?!」の記号があります（&lt;a href="http://ja.wikipedia.org/wiki/%E6%84%9F%E5%98%86%E7%AC%A6%E7%96%91%E5%95%8F%E7%AC%A6" target="_blank"&gt;wikipedia - 疑問符感嘆符&lt;/a&gt;）。で、こんなのがあるってことは、&lt;br /&gt;&lt;br /&gt;「!?にi文庫の野郎が二文字使うってんなら、一文字にしちゃえばいい」&lt;br /&gt;&lt;br /&gt;　のではないでしょうか。さっそくそんなプログラムを組んでみました。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dl.dropbox.com/u/996796/iBunkoRep/index.html" target="_blank"&gt;i文庫HD 縦中横変換&lt;/a&gt;&lt;br /&gt;&lt;font size="1"&gt;&lt;a href="http://cid-5142edd673fc161d.skydrive.live.com/self.aspx/.Public/iBunkoRep.zip" target="_blank"&gt;ダウンロード用&lt;/a&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;　プログラムはウェブブラウザのFirefoxで動きます。&lt;br /&gt;　実行すると、!?などが一文字でまともに表示されるようなファイル（ユニコードテキスト）が無圧縮zipで生成されます。iPadでの動作画面を掲載したいとこですが……小説ファイルのキャプを見せたらたぶん怒られるのでブラウザの実行画面のキャプチャをば。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ACvoKo32G9I/TAsGExWI02I/AAAAAAAAAi0/oNGNJyIrgns/s1600/20100606_112056.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 183px;" src="http://1.bp.blogspot.com/_ACvoKo32G9I/TAsGExWI02I/AAAAAAAAAi0/oNGNJyIrgns/s400/20100606_112056.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5479480050661774178" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　タイトルを入れ、テキスト入力欄に青空文庫形式の文章を入れるとzipファイルへのリンクが出てくるので、ダウンロードしてそのままDropboxに入れるなり、中のテキストを取りだしてFTPで転送するなりしてください。青空形式で小説書く人は管理が楽なのでDropboxを使うのをお勧めします。なお、プログラムで生成されたzipのファイル名はユニなので、対応していない解凍ソフト(i文庫HD含む)だと日本語ファイル名が化けます。名前が化けても中身は大丈夫ですが、嫌な場合はユニに対応したソフトでいじりましょう。&lt;br /&gt;　動作確認はWindows Vista上のFirefoxのみです。zipに固めるライブラリがエラーを起こすのでgoogle chromeでは使えません。zipをダウンロードするのに使うData URIに対応していないのでIEでも使えません。Safariはchromeと同じwebkitなのでたぶんダメだと予想されます。Operaは使ってないのでわかんないです。面倒なんで調べてません。つか最近ブラウザ多すぎじゃないですか。&lt;br /&gt;&lt;br /&gt;　＊&lt;br /&gt;&lt;br /&gt;　しかし、上記のプログラムでどうにか「!?」「?!」「!!」「??」といったユニコードにある記号は表示できますが、連続した半角アルファベットや半角数字は寝ずに立って表示されてしまいます。!?にしても、デフォルトの明朝フォントがあまり上等ではなく、微妙にずれて表示されてしまいます。DropboxやGood readerから開けるようにzipにするのも少々面倒臭いですし……アップデートで解決して欲しいところです。&lt;br /&gt;　あとこれはi文庫HDに限らない話ですが、青空ビューアのタイトルの表示方法って規約で決まっていないんですかね？　昔「最初の二行をタイトル・著者名とする」というのを読んだ気がするのですが、ビューアによってべた書きテキストになったり一ページ丸々使ってタイトル・著者名を表示したりと、挙動がふらふらしています。で、しかたないので［＃改頁］でごまかすのですが、［＃改頁］が効かないビューアがあってがっかりという。青空文庫形式はvimなどのテキストエディタで書けてしかも汎用性がある、というのがとても便利なのですが、ビューアに統一感が無さすぎな気がします。&lt;br /&gt;　あと、i文庫HDを見習って他のビューアは全部ユニコードに対応するようにしてほしい。最初からユニで書いてしまえば上の変換なんて必要ないわけで。普段ＰＣで愛用しているarisu viewerは禁則やら行・文字数の設定ができて最高なのですが、sjisのみなのですよねぇ……印刷できないし。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-717732259561356136?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/717732259561356136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/717732259561356136'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/06/ihd.html' title='i文庫HDで「!?」とか「!!」をまともに表示する'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ACvoKo32G9I/TAsGExWI02I/AAAAAAAAAi0/oNGNJyIrgns/s72-c/20100606_112056.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-9147952676366000787</id><published>2010-05-29T00:39:00.003+09:00</published><updated>2010-05-29T01:11:45.197+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>iPad来た</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ACvoKo32G9I/S__jz7sLy3I/AAAAAAAAAis/hBxEkIZ6O88/s1600/ipad.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_ACvoKo32G9I/S__jz7sLy3I/AAAAAAAAAis/hBxEkIZ6O88/s400/ipad.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5476346153241660274" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　iPadが届きました。発売前のレビューで「予想以上のユーザー体験」云々というのをよく聞いていたわけですが、ほんとに予想以上の使い心地でした。パソコンぽいけどパソコンじゃないというか。&lt;br /&gt;　一番ぐっと来たのはメールソフトでしょうか。アップルストアで紹介を見たときは「微妙」と思っていたのですが、いざ起動してみるとこれがすげぇ使い易い。普段使っているgmailをサクサク読み込んでくれて、画面を適当にタッチすればメールが読めて文字が小さければピンチで高速に拡大・縮小できて……まあ、別に機能自体は大したことないんですけど、これらを指で直感的にやれるのが実に楽しいし、操作に迷うこともない。&lt;br /&gt;　わたしは最近ドラえもんをひたすら読んでいるのですが、これ、ドラえもんがポケットから出しそうだなと本気で思いました。&lt;br /&gt;　唯一の難点はソフトウェアキーボードですかね。「ものすごく打ちにくい」わけではないものの、iPadをいじったあとに普通のキーボードを触ると「自分こんなに早く打てたんだ」とか思う程度に打ちにくい。ついったーで教えてもらった情報によるとUSB接続で動くキーボードがあったりなかったりらしいのでUSBコネクタを買うべきですかね。ついでに言えばIMが単漢字の変換に弱い印象があるのでGoogle 日本語入力あたりがiPadに対応しねーかなと思ったり。&lt;br /&gt;　ちなみに、アップルストアで注文したとき覚悟してましたが、フラッシュが読めないのでクラブサンデーは表示できず。HTML5はこの記事の前の記事の数独ソフトを動かしたら無駄に重かったので、クラサンには是非とも専用のビューア・アプリを出してほしいですね。processing.jsもやってみたらクソ遅かったし、javascriptはたいしたことないっぽいですiPad。&lt;br /&gt;&lt;br /&gt;　締め切りあるのでまだアプリは一切インストールしていないんですが、このあと寝る前にちょっといじってみようかと思います。iBooksとi文庫HDが要チェックですかね。てかそれ以外に話題のアプリをよく知らない。&lt;br /&gt;　実はわたしは「iPadで無料ライトノベルを読もう」てことで、"iPadの発売にあわせて末代のボツになった短編をネットで無償公開しちゃおうぜ"という企画を担当さんと話していて、まあ計画自体は頓挫しちゃったんですがずっと電子書籍系アプリばっかチェックしてまして、結果、他にどんなアプリがあるのかよくわかってません。Evernoteって公式サイトに行くとiPhone版しか置いてないんだけどiPadに入れて平気なのかな？　app storeを起動して人気ソフトを表示させても知らないソフトばっかでした。&lt;br /&gt;&lt;br /&gt;　まあともかく、iPadはよいです。人をドキドキさせる力があるオモチャだなと思いました。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-9147952676366000787?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/9147952676366000787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/9147952676366000787'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/05/ipad.html' title='iPad来た'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ACvoKo32G9I/S__jz7sLy3I/AAAAAAAAAis/hBxEkIZ6O88/s72-c/ipad.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-1088207804813270961</id><published>2010-05-12T06:44:00.005+09:00</published><updated>2010-05-12T07:00:27.376+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>HTML5でナンプレ・プレイヤーを作る</title><content type='html'>　予約可能になったiPadをさっそく予約したんですが、とりあえず家にiPadが来たらsafariで勝手アプリしようとhtml5でナンプレを解くアプリを作ってみました→&lt;a href="http://bit.ly/dkqLYL" target="_blank"&gt;これ&lt;/a&gt;(問題データは&lt;a href="http://homepage3.nifty.com/funahashi/game/game651.html" target="_blank"&gt;ここ&lt;/a&gt;で生成)。&lt;br /&gt;　document.location.hrefに#で問題データをくっつけて（半角81文字。空白はゼロ）、読み込めば問題が描画されるぞ、と。で、わたしが注文したのはwi-fi16GBなのでhtml5のキャッシュもやってみたよ、と。そんな感じです。&lt;br /&gt;&lt;br /&gt;　iPadのsafariで動かそうと作ったわけですが、手持ちのwinにはsafariが無いので動作はchromeとfirefoxのみ。osxがジャガーの頃のめっさ不安定なsafariのイメージがぬぐえず、safariは未だにどうも好きじゃないです。iPadに乗ってるのはアレかと思うと少々萎える。&lt;br /&gt;　そういやIEはいつになったらcanvasタグに対応するんでしょうかね。まあ、OS買った時Firefoxを落とすのに使って以来まったく使ってないので対応しなくてもいいんですけど。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ACvoKo32G9I/S-nSqO8wNsI/AAAAAAAAAik/4xfPW7PRv0A/s1600/20100512_065616.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 282px;" src="http://4.bp.blogspot.com/_ACvoKo32G9I/S-nSqO8wNsI/AAAAAAAAAik/4xfPW7PRv0A/s400/20100512_065616.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5470134845427431106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　chromeのjavascriptコンソールが便利。ブレークポイントとか最高。でもchromeとfirefoxじゃfirefoxのほうが名前が可愛いからひたすらfirefoxを使ってます。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-1088207804813270961?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1088207804813270961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1088207804813270961'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/05/html5.html' title='HTML5でナンプレ・プレイヤーを作る'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ACvoKo32G9I/S-nSqO8wNsI/AAAAAAAAAik/4xfPW7PRv0A/s72-c/20100512_065616.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-7252302218501628873</id><published>2010-04-25T00:26:00.004+09:00</published><updated>2010-04-25T00:34:26.650+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>Google SketchUp7</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/S9MN8mY2KlI/AAAAAAAAAiE/PikNq-ke_FA/s1600/20100425_002514.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/S9MN8mY2KlI/AAAAAAAAAiE/PikNq-ke_FA/s400/20100425_002514.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5463726107678616146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　&lt;a href="http://sketchup.google.com/intl/ja/" target="_blank"&gt;Google SketchUp&lt;/a&gt;がいつのまにかバージョン７になっていたのでダウンロードしました。相変わらず異常なくらい操作しやすい。この世のすべての3Dソフトに見習って欲しい快適さ。何にも考えなくてもサクサク形を作ることができます。あと、６より７のほうがうちの環境では操作が軽く感じたのも嬉しい。調べてないから知らないけど処理を軽量化したんでしょうか。&lt;br /&gt;&lt;br /&gt;　しかしイマイチ使わないんですよねこのソフト。以前一生懸命モデルを作ってコミスタに読ませたら残念な感じになったりしたので。&lt;br /&gt;　７になってるし、探せば前よりよさげなエクスポートプラグインがあるだろうか。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-7252302218501628873?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/7252302218501628873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/7252302218501628873'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/04/google-sketchup7.html' title='Google SketchUp7'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/S9MN8mY2KlI/AAAAAAAAAiE/PikNq-ke_FA/s72-c/20100425_002514.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-3291721704029759025</id><published>2010-04-18T08:39:00.004+09:00</published><updated>2010-04-18T08:54:12.199+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>レナを般若心経で</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ACvoKo32G9I/S8pGssN2yPI/AAAAAAAAAh4/lXvX45bhkq4/s1600/20100418_083740.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 158px; height: 200px;" src="http://1.bp.blogspot.com/_ACvoKo32G9I/S8pGssN2yPI/AAAAAAAAAh4/lXvX45bhkq4/s200/20100418_083740.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5461255231737612530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　今はもう、昔ながらの網点に拘る時代じゃない――とか思って、トーンワークを探求してみました。まあ、ハーフトーンをいじって遊んだだけなんですけど。&lt;br /&gt;　なんかこう……もっと呪われる感じが欲しい。でも、GIMPでSchemeやPythonを叩けばもっと繊細な動作を指示できるだろうと思いつつ命令を覚えるのがだるい。&lt;br /&gt;&lt;br /&gt;　というか、vimで般若心経を整形しようとしたらcp932に設定しているせいで表示できない文字が。で、こういうことがあるたびutf8にしたいと思うんですが、それをやると執筆の友として愛用しているArisuViewerが使えなくなるというジレンマに陥ります。&lt;br /&gt;　ArisuViewerは対応文字コードが増えてマック版が出たらもう文句ないんですが、難しいんでしょうかね。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-3291721704029759025?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/3291721704029759025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/3291721704029759025'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/04/blog-post_18.html' title='レナを般若心経で'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ACvoKo32G9I/S8pGssN2yPI/AAAAAAAAAh4/lXvX45bhkq4/s72-c/20100418_083740.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-8635455621957941821</id><published>2010-04-01T12:26:00.003+09:00</published><updated>2010-04-01T19:13:10.401+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>二巻発売</title><content type='html'>　&lt;a href="http://twitter.com/oiwa_sneaker" target="_blank"&gt;ついったー&lt;/a&gt;のほうで告知してますが、こちらでも。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ACvoKo32G9I/S7QSYQgcFhI/AAAAAAAAAhY/Su6i_r-Sabg/s1600/20100401_122522.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 78px;" src="http://4.bp.blogspot.com/_ACvoKo32G9I/S7QSYQgcFhI/AAAAAAAAAhY/Su6i_r-Sabg/s400/20100401_122522.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5455005256609699346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　ということで、二巻出ました。よろしくお願いします。ちなみに、今アマゾンは送料無料らしいですね。最初聞いたときはエイプリルフールのネタかと思いましたが。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-8635455621957941821?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/8635455621957941821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/8635455621957941821'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/04/blog-post.html' title='二巻発売'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ACvoKo32G9I/S7QSYQgcFhI/AAAAAAAAAhY/Su6i_r-Sabg/s72-c/20100401_122522.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-9146019797667592436</id><published>2010-03-17T01:01:00.008+09:00</published><updated>2010-03-17T01:37:01.834+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>非実在青少年規制</title><content type='html'>　最近プログラムネタばっかやっていたので突然ですが、東京都が成立させようとしている、「非実在な女の子とイケナイことしたら発禁しちゃうぜネットとかも規制しまくるぜ条例」に私は反対です。&lt;br /&gt;　で、転載自由のまとまった文章を目にする機会があったので、このブログへも転載しておこうかと。&lt;br /&gt;&lt;br /&gt;&lt;BLOCKQUOTE&gt;&lt;br /&gt;●●●以下転載／ご自由にお持ち帰りください●●●&lt;br /&gt;&lt;br /&gt;　こいつも自由に転載して下さい。&lt;br /&gt;&lt;br /&gt;　ダンス・イン・ザ・ヴァンパイアバンドの作者、環望の日記。&lt;br /&gt;&lt;br /&gt;http://mixi.jp/view_diary.pl?id=1437518200&amp;owner_id=169340&lt;br /&gt;&lt;br /&gt;僕は締め切り前で参加できなかったんだけど、今日「非実在青少年規制」に対する反対集会がおこなわれた。&lt;br /&gt;その模様は知り合いの作家、井上純弌さんがblogでざっと語られているのだけれど、かなり深刻らしい。&lt;br /&gt;http://blog.livedoor.jp/keumaya/&lt;br /&gt;繰り返し申し上げますが、この「非実在青少年規制」は作家だけが圧迫される条例ではありません。&lt;br /&gt;むしろ読者の方がダメージを受けかねないものです。なぜならこれは規制対象がポルノだけではないからです。&lt;br /&gt;&lt;br /&gt;例えば「CROWS」。「BIOHAZARD」。「ONE PEACE」だってヤバいかもしれない。&lt;br /&gt;規制する側の恣意的な判断で、つまり「自分はこの漫画、ひどいと思う」と思えば、規制できてしまう、という安直さがあるのです。&lt;br /&gt;&lt;br /&gt;ご存知の方も多いでしょうが、以前僕はコンビニで売られるエロ漫画雑誌で連載しておりました。&lt;br /&gt;その頃から規制は頻繁に行われていましたが、不思議だったのは規制の基準がやたらとブレること。&lt;br /&gt;理由は簡単で、担当者が替わると規制もブレルのです。&lt;br /&gt;男性が検閲（と、僕は呼んでいた）担当だと、まあ普通の常識的な規制なのですが、女性、それもポルノなどを毛嫌いしてる方が担当だと、それこそ「？」と言いたくなるくらい厳しかった。&lt;br /&gt;全２０ページの漫画に占める「裸のあるコマ」の割合までも言い立てて、規制される。&lt;br /&gt;&lt;br /&gt;つまりこの国に於ける規制には明確な基準が存在しなくて、携わる人間の個人的常識、もっと言ってしまうと「好き嫌い」で決まってしまうのです。あまりに流動的で、不安定。&lt;br /&gt;そのため出版社は最終的に自主規制という名の「逃げ」を打たざるを得なくなります。&lt;br /&gt;ヤバそうなものは一切扱わない。&lt;br /&gt;コンビニ漫画はどれを読んでも同じ内容になってしまった。&lt;br /&gt;それを苦痛と感じながら描いてる作家も少なくないと思います。&lt;br /&gt;僕がエロ漫画から撤退したのもこれが理由の一つだったからです。&lt;br /&gt;同じ事が一般漫画や、ゲーム、アニメで起きるかもしれない。これも問題の一つです。&lt;br /&gt;&lt;br /&gt;何よりも納得いかないのは、誰とも知らない人から、自分が好きな作品を「読むに耐えない規制すべきもの」ときめつけられ、奪われるということ。&lt;br /&gt;人間の社会はお互いの好き嫌いを許容し合う多様性こそが命だと信じます。&lt;br /&gt;そして言論、出版の自由はその多様性を支える最も大きなファクターです。&lt;br /&gt;規制が必要なら話し合い、解決すべきだ。一方的に決めつけていいものではない。&lt;br /&gt;&lt;br /&gt;ながながと書きましたが、もしこれを読まれた読者の方は何か発言をお願いしたい。&lt;br /&gt;他人事ではありません。あなたの好きな作品を守るため。&lt;br /&gt;誰に何を発言すべきか、に関しては先ほどの井上純弐氏のblogにて具体的に書かれています。&lt;br /&gt;http://blog.livedoor.jp/keumaya/&lt;br /&gt;&lt;br /&gt;僕も少年画報社を始めとする出版社の抗議文書に連名で署名する事にした他、何人かの議員に手紙を書いてみようと思っています。　&lt;br /&gt;&lt;br /&gt;何しろ時間がない。&lt;br /&gt;後で後悔したくない。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　まんが家、海野蛍の日記。&lt;br /&gt;http://mixi.jp/view_diary.pl?id=1437548280&amp;owner_id=435281&lt;br /&gt;&lt;br /&gt;というわけで例の「青少年健全育成条例」改正、つまり「非実在青少年」の件で&lt;br /&gt;某都議に陳情＆「非実在青少年」規制を考える会で都庁に行ってきました。&lt;br /&gt;&lt;br /&gt;陳情は翻訳家の兼光ダニエル真さんが発起人で、他の参加者に&lt;br /&gt;あさりよしとお、有馬啓太郎、開田裕治・あや、玉置勉強、井上純弌、田巻久雄、&lt;br /&gt;森奈津子、葉月博規、研太郎、速水螺旋人、楯野恒雪、長谷円、野上武志、&lt;br /&gt;山本夜羽音、霜方降造、足立淳、えずろく、真銅努、さなづらひろゆき、清水清、&lt;br /&gt;藤田貴之、巫代凪遠、菊水、鳳翔伶、こいでたく、永山薫（順不同、敬称略）、&lt;br /&gt;そして自分。その他匿名希望含めると計32名。&lt;br /&gt;&lt;br /&gt;民主の某都議に陳情したんですが、ぶっちゃけその場の雰囲気からすると、&lt;br /&gt;予想以上にずっと状況はヤバイみたいです。&lt;br /&gt;このまんまだと十中八九この改正案は通ってしまいます。&lt;br /&gt;通ってしまった後の危機感はこの辺を読めば判るでしょうし、&lt;br /&gt;http://tokyo.cool.ne.jp/jfeug/siryou/togikai_eikyou.html&lt;br /&gt;それに対する集会の内容に関してはこの辺にまとまってます。&lt;br /&gt;http://togetter.com/li/9539&lt;br /&gt;&lt;br /&gt;むしろ今問題なのは改正後の心配ではなく、いかに今の危機を乗り越えるか。&lt;br /&gt;通ってしまったらどうなるって危機感もいいけど、&lt;br /&gt;とにかくまずは条例を通してはならないという危機感を持たないと。&lt;br /&gt;都議会内では民主、共産、生活者ネットで腹の探り合いをしてるらしく、&lt;br /&gt;反自公が全然まとまってないっぽいです。&lt;br /&gt;特に民主内に反対を云いづらい空気があるみたい。&lt;br /&gt;民共生が全て反対に回らないとこの改正案は通ってしまいます。&lt;br /&gt;&lt;br /&gt;というのも国会議員に比べて都議会議員はこの問題について不勉強だと&lt;br /&gt;その陳情した某都議も認めてましたし、ぶっちゃけ都議会内ではこの条例改正が&lt;br /&gt;表現の自由の侵害になるかどうかも把握してない都議が多い模様。&lt;br /&gt;改正反対＝児ポ法に反対と取られるのを怖れてるみたいです。&lt;br /&gt;ここで「某都議」という書き方をしなきゃならないとこからも、&lt;br /&gt;民主内での反対派への空気が感じられます。&lt;br /&gt;&lt;br /&gt;じゃあ我々に何が出来るかといえば、その陳情の場で出た意見では&lt;br /&gt;民主党の国会議員に陳情すること。&lt;br /&gt;国会議員は児ポ法関連で事の次第を把握してる人が多いので、&lt;br /&gt;その国会議員の方から都議に進言してもらうのが一番なんだそうで。&lt;br /&gt;それと、出来れば女性、それも子供のいる主婦からの意見は効果的だそうです。&lt;br /&gt;改正反対＝ロリコンという図式が根底にある人々ですから、&lt;br /&gt;男性からの反対意見よりもそちらの方が聞き入れてくれるだろうという意味で。&lt;br /&gt;&lt;br /&gt;とにかく、今週の木曜には改正案の是非が決まってしまいます。&lt;br /&gt;あと三日で何が出来るかをまずは考えないと。&lt;br /&gt;具体的な活動方法についてはここにまとまっています。&lt;br /&gt;http://hijituzai.ehoh.net/&lt;br /&gt;付け加えるなら、都議よりも都の国会議員に、&lt;br /&gt;子供のいる女性が陳情するのが効果的。&lt;br /&gt;&lt;br /&gt;　まんが家、あさりよしとおの日記&lt;br /&gt;http://mixi.jp/view_diary.pl?id=1432368400&amp;owner_id=178148&lt;br /&gt;&lt;br /&gt;現在、東京都では第二の治安維持法を制定しようとしております。&lt;br /&gt;&lt;br /&gt;「俺が気に入らないんだから、貴様、有罪。投獄。」&lt;br /&gt;&lt;br /&gt;という、全然法律にもなっていない法律。&lt;br /&gt;正しくは条例だけど、法は法。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;実際問題「ガキの分際で、エロ本読んでんじゃねぇ！」で済む話を、針小棒大、さも大変な事のように喧伝して、科学的根拠全く無しの思い付きで、とにかく『自分の気に入らない奴は有罪』という言語道断の法の成立が罷り通ろうとしているのです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&gt;一　青少年に対し、性的感情を刺激し、残虐性を助長し、又は自殺若しくは犯罪を誘発し、青少年の健全な成長を阻害するおそれがあるもの&lt;br /&gt;&lt;br /&gt;&gt;二　年齢又は服装、所持品、学年、背景その他の人の年齢を想起させる事項の表示又は音声による描写から十八歳未満として表現されていると認識されるもの（以下「非実在青少年」という。）を相手方とする又は非実在青少年による性交類似行為に係る非実在青少年の姿態を視覚により認識することができる方法でみだりに性的対象として肯定的に描写することにより、青少年の性に関する健全な判断能力の形成を阻害し、青少年の健全な成長を阻害するおそれがあるもの&lt;br /&gt;（略）&lt;br /&gt;&lt;br /&gt;もっともらしそうだけど、内容は何の線引きにもなっておらず、権力の行使側が「そうだ」と言ったらそうなってしまう、曖昧を通り越した出鱈目が並んでいる事がわかるはず。&lt;br /&gt;&lt;br /&gt;「非実在青少年」って何？&lt;br /&gt;要するに、架空の存在でも、その振る舞いが為政者の気に食わないと『有罪』って書いてあるのですよ。&lt;br /&gt;&lt;br /&gt;そんな杜撰かつインチキで、極め付けに危険な規制が始まろうとしているのです。&lt;br /&gt;これはフィクションの世界じゃないです。今の東京都で、実際に進んでいる出来事です。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;自身、こんな阿呆な話は、一部はねっ返り連中のアジだろうと思いつつも、パブリックコメントで「さらっと考えても『違憲』だろ。こんな事を審議している事自体が有害であり、税金泥棒だ」と送っておいたのだが、どうも都議会には、そういう道理のわかる、まともな人間が少数派だったらしい。&lt;br /&gt;&lt;br /&gt;かなり危機的状況です。&lt;br /&gt;&lt;br /&gt;問題を直視して下さい。&lt;br /&gt;そして、まだ知らない人には、教えてあげてください。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ウォッチャーのblog&lt;br /&gt;http://fr-toen.cocolog-nifty.com/blog/2010/02/post-cbc1.html&lt;br /&gt;&lt;br /&gt;●●●●●&lt;br /&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　自分自身が「自由に描けない」というだけなら、そこは創意工夫で立ち向かっていけると思うのですが、&lt;br /&gt;&lt;BLOCKQUOTE&gt;&lt;br /&gt;むしろ読者の方がダメージを受けかねないものです。なぜならこれは規制対象がポルノだけではないからです。&lt;br /&gt;&lt;br /&gt;例えば「CROWS」。「BIOHAZARD」。「ONE PEACE」だってヤバいかもしれない。&lt;br /&gt;規制する側の恣意的な判断で、つまり「自分はこの漫画、ひどいと思う」と思えば、規制できてしまう、という安直さがあるのです。&lt;br /&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;　これは問題ですね。すごく嫌です。&lt;br /&gt;　私は毎週ジャンプ・サンデー・チャンピオンを読んでますが、例えば「アニキが死んじゃったから腹いせにワンピース規制しちゃえ☆」なんてこともあるかもしれないわけです（まあ、さすがにないか）。&lt;br /&gt;&lt;br /&gt;　ともあれ、漫画を始めとする大衆娯楽が好きで、自身それに関わろうとしている者として、条例の成立にはなんとしても失敗してほしいと思います。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-9146019797667592436?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/9146019797667592436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/9146019797667592436'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/03/blog-post.html' title='非実在青少年規制'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-1699944190522289031</id><published>2010-03-15T02:04:00.012+09:00</published><updated>2010-03-15T02:32:38.517+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>vimを任意のimapでエスケープ</title><content type='html'>　オムニ補間について知りたくてvimのヘルプを見ていたら「&amp;lt;expr&amp;gt;」を発見したので以下のようなマクロを書いてみました。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;任意のキーでKaoriyaVimデフォルトのエスケープとほぼ同じ動作に&lt;br /&gt;let&amp;nbsp;g:im&amp;nbsp;=&amp;nbsp;0&lt;br /&gt;function!&amp;nbsp;SetIMIandESC()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;g:im&amp;nbsp;=&amp;nbsp;&amp;amp;imi&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;nbsp;return&amp;nbsp;&amp;lt;ESC&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&amp;quot;\x1b&amp;quot;&lt;br /&gt;endfunction&lt;br /&gt;au&amp;nbsp;InsertEnter&amp;nbsp;set&amp;nbsp;imi&amp;nbsp;=&amp;nbsp;g:im&lt;br /&gt;au&amp;nbsp;InsertLeave&amp;nbsp;*&amp;nbsp;let&amp;nbsp;g:im&amp;nbsp;=&amp;nbsp;&amp;amp;imi&amp;nbsp;|&amp;nbsp;set&amp;nbsp;imi&amp;nbsp;=&amp;nbsp;0&amp;nbsp;ims&amp;nbsp;=&amp;nbsp;0&amp;nbsp;imc&amp;nbsp;=&amp;nbsp;0&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;Ctrl+Jでエスケープ&lt;br /&gt;inoremap&amp;nbsp;&amp;lt;expr&amp;gt;&amp;nbsp;&amp;lt;C-j&amp;gt;&amp;nbsp;SetIMIandESC()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;　vim(Kaoriya)を使い始めたころ、例えば「imap &amp;lt;C-j&amp;gt; &amp;lt;ESC&amp;gt;」などとしてCtrl+JするとIMEの状態が保存されないのがすごくイヤで（プログラマならともかく、私はvimで日本語を打ちまくる）、win32のapiとか叩いてどうにかしようとしたりAutohotkeyを使ったりしていたのですが、そんなの必要なかったわけですね。asciiのESCの文字コードを返しているあたり、果てしなく「これでいいのかな？」って感じですが、上のやつを組み込んでみたらimの状態がアッサリ保存できた。てか、「&amp;lt;C-^&amp;gt;」を上手く使えばもっとスマートに同じ事ができる？&lt;br /&gt;　まあ、末代の２巻を書くとき「&amp;lt;C-[&amp;gt;」に慣れようとAutohotkeyの設定を消して書いたら二日で慣れたので、今はもう「&amp;lt;C-j&amp;gt;」なんてまったく使わないんですがね。VCのエディタで「Ctrl+[」を連打して首傾げたりしてます。ESCなんてどーでもよくて、次はdaw、cawに慣れたいですね。dwする癖がついているのですが、校正のとき助詞などをdawする癖をつければ余計なhjklwbeが必要無くなる。&lt;br /&gt;&lt;br /&gt;map dw :ec "やーい、ばーかばーか！"&amp;lt;CR&amp;gt;&lt;br /&gt;&lt;br /&gt;　とかで訓練か。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-1699944190522289031?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1699944190522289031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1699944190522289031'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/03/vimimap.html' title='vimを任意のimapでエスケープ'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-7496772801587992496</id><published>2010-03-12T23:29:00.005+09:00</published><updated>2010-03-12T23:56:17.522+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>snow leopardにopencvをインストールする</title><content type='html'>　ユキヒョウにOpenCV2.0を入れてみました。ウィンドウズ(vc++)だとテキトーにcmakeいじれば入るんですが、どうもsnow leopardとOpenCVは相性悪いらしく……以下、導入のメモ。&lt;br /&gt;&lt;br /&gt;◇◇◇&lt;br /&gt;&lt;br /&gt;まずはMacPortsとかXCodeとかインストール。&lt;br /&gt;で、どうやらMacPortsから入れるのはイクナイそうなのでOpenCVのサイトから圧縮ファイルを落として適当な場所に展開する。&lt;br /&gt;&lt;br /&gt;ほんで、&lt;br /&gt;&lt;br /&gt;$ sudo port install pkgconfig&lt;br /&gt;$ sudo port install jpeg libpng tiff&lt;br /&gt;$ cd OpenCV-2.0.0&lt;br /&gt;$ mkdir build&lt;br /&gt;$ cd build&lt;br /&gt;$ cmake ..&lt;br /&gt;$ ccmake .&lt;br /&gt;CMAKE_CXX_COMPILERを/usr/bin/g++-4.0 に&lt;br /&gt;CMAKE_C_COMPILERを/usr/bin/gcc-4.0 に&lt;br /&gt;c 押して e 押して g&lt;br /&gt;$ make -j8&lt;br /&gt;&lt;br /&gt;で良いらしいので、ノリノリで「須藤さーん」とか言いながらやってみるも、エラーが出てダメ。テンションが一気に下がる。&lt;br /&gt;ffmpegがどうのとエラーが出たので、&lt;br /&gt;&lt;br /&gt;$ sudo port install x264&lt;br /&gt;$ sudo port install faac&lt;br /&gt;$ sudo port install faad2&lt;br /&gt;$ sudo port install a52dec&lt;br /&gt;$ sudo port install ffmpeg +faac +faad +a52 +x264&lt;br /&gt;$ cd OpenCV-2.0.0&lt;br /&gt;$ mkdir build&lt;br /&gt;$ cd build&lt;br /&gt;$ cmake ..&lt;br /&gt;$ ccmake .&lt;br /&gt;$ make -j8&lt;br /&gt;&lt;br /&gt;しかし、うまくいかない。&lt;br /&gt;で、&lt;br /&gt;&lt;br /&gt;$ sudo port install ffmpeg +gpl +lame +extvorbis +faac +faad +xvid +x264 +a52&lt;br /&gt;&lt;br /&gt;するとよいらしいのでやってみるもダメ。&lt;br /&gt;じゃあmpegなんていらねーよと思い、&lt;br /&gt;&lt;br /&gt;$ ccmake ..&lt;br /&gt;&lt;br /&gt;からWITH_FFMPEGをオフに。&lt;br /&gt;このときOpenMPの項目がオフなのをみかけたので、ついででこっちはオンに。&lt;br /&gt;で、cてgしてmake -j8したらlibdc1394がねーよと出たので、&lt;br /&gt;&lt;br /&gt;$ port search libdc1394&lt;br /&gt;$ sudo port install libdc1394&lt;br /&gt;&lt;br /&gt;で、make -j8 したらopenmpのせいでなんかエラーが増えたので「いいい、いいわよっ！　ompなんていらないんだからね！」とオフに戻す。&lt;br /&gt;あと、もしかしてlibdc1394入れたからいけんじゃね？　と思ってffmpegをまたオンに戻す。&lt;br /&gt;&lt;br /&gt;$ make -j8&lt;br /&gt;&lt;br /&gt;やっぱりダメ。&lt;br /&gt;じゃあいよいわよっffmpegなんて消えちゃえっ。&lt;br /&gt;&lt;br /&gt;$ ccmake ..&lt;br /&gt;$ make -j8&lt;br /&gt;&lt;br /&gt;dc1394がどうのと出る。&lt;br /&gt;ハイハイ、じゃあいいよ。それもいらねーよ。&lt;br /&gt;WITH_1394をオフに。&lt;br /&gt;&lt;br /&gt;$ ccmake ..&lt;br /&gt;$ make -j8&lt;br /&gt;&lt;br /&gt;通ったっ！&lt;br /&gt;が、くそ遅いgccの出力を眺めていたさい、「ccmake」のあと「.」を二回打っていた自分に気付く。&lt;br /&gt;大丈夫な気もするけどなんかアレなので一旦opencvのフォルダを消し、せっかくなのでsvnからファイルを落とす。&lt;br /&gt;&lt;br /&gt;$ rm -r OpenCV-2.0.0&lt;br /&gt;$ svn co http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk ~/opencv&lt;br /&gt;$ cd opencv/opencv&lt;br /&gt;$ mkdir build&lt;br /&gt;$ cd build&lt;br /&gt;$ cmake ..&lt;br /&gt;$ ccmake .&lt;br /&gt;一回だけ「.」を打ち、コンパイラの設定をし、WITH_FFMPEG, WITH_1394をオフに&lt;br /&gt;&lt;br /&gt;$ make -j8&lt;br /&gt;&lt;br /&gt;ちゃんと通り、&lt;br /&gt;&lt;br /&gt;$ sudo make install&lt;br /&gt;&lt;br /&gt;はい、ようやく終わったー。&lt;br /&gt;つうことでテスト。&lt;br /&gt;&lt;br /&gt;$ cd ../samples/c&lt;br /&gt;$ vim build_all.sh&lt;br /&gt;&lt;br /&gt;「10Gea-4.0&amp;lt;ESC&amp;gt;14Ge.:wq&amp;lt;CR&amp;gt;」する。vimかわいいよvim。&lt;br /&gt;&lt;br /&gt;$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/&lt;br /&gt;$ sh build_all.sh&lt;br /&gt;$ ./drawing&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ACvoKo32G9I/S5pR2_MZNNI/AAAAAAAAAhQ/ZZHjtTYH_j0/s1600-h/drawing_opencv.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 289px;" src="http://1.bp.blogspot.com/_ACvoKo32G9I/S5pR2_MZNNI/AAAAAAAAAhQ/ZZHjtTYH_j0/s400/drawing_opencv.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5447756704376239314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;動いたー。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;◇◇◇&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　ウィンドウズで実行ファイルを落として「UACうざっ」とか思いながらインストーラを起動して……とかやってると「postコマンドは便利だなぁ」と思うわけですが、こうエラーばっか出るとインストーラでちゃらっとインストールできたらなあと思いますね。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-7496772801587992496?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/7496772801587992496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/7496772801587992496'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/03/snow-leopardopencv.html' title='snow leopardにopencvをインストールする'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ACvoKo32G9I/S5pR2_MZNNI/AAAAAAAAAhQ/ZZHjtTYH_j0/s72-c/drawing_opencv.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-6885354912914317660</id><published>2010-03-09T20:06:00.002+09:00</published><updated>2010-03-09T20:11:24.546+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>vimでSQLiteにメモを取る</title><content type='html'>　pythonに標準でsqliteが入ってるのを知って、データベースにメモを取るvimマクロを組んでみました。:Wで現在のテキストを書き込み、:Rで読み込む。SQLをいじるのは初めてだったので、ソートだのなんだの半時ほど戸惑いました。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="python"&gt;&lt;br /&gt;&amp;quot;----------------------------------------------------------------------------------&lt;br /&gt;&amp;quot;&amp;nbsp;SQL&amp;nbsp;MEMO&lt;br /&gt;&amp;quot;----------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;let&amp;nbsp;g:sql_logfilename&amp;nbsp;=&amp;nbsp;&amp;quot;C:/Users/～/My&amp;nbsp;Dropbox/Note/log.sqlite3&amp;quot;&lt;br /&gt;&lt;br /&gt;function!&amp;nbsp;s:SetSQL()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;tag&amp;nbsp;=&amp;nbsp;input(&amp;quot;Tag?&amp;nbsp;&amp;quot;,&amp;nbsp;&amp;quot;Memo&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;tag&amp;nbsp;==&amp;nbsp;&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;Cancel...&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endif&lt;br /&gt;python&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;EOF&lt;br /&gt;import&amp;nbsp;vim&lt;br /&gt;import&amp;nbsp;sqlite3&lt;br /&gt;import&amp;nbsp;datetime&lt;br /&gt;import&amp;nbsp;sys,&amp;nbsp;os&lt;br /&gt;&lt;br /&gt;enc&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;&amp;amp;enc&amp;quot;)&lt;br /&gt;tag&amp;nbsp;=&amp;nbsp;unicode(vim.eval(&amp;quot;tag&amp;quot;))&lt;br /&gt;date&amp;nbsp;=&amp;nbsp;datetime.datetime.today().strftime(&amp;quot;%Y-%m-%d&amp;nbsp;%H:%M:%S&amp;quot;)&lt;br /&gt;text&amp;nbsp;=&amp;nbsp;unicode('\n'.join(vim.current.buffer[:]),&amp;nbsp;enc)&lt;br /&gt;&lt;br /&gt;db_fn&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;g:sql_logfilename&amp;quot;)&lt;br /&gt;exist&amp;nbsp;=&amp;nbsp;os.path.exists(db_fn)&lt;br /&gt;&lt;br /&gt;db&amp;nbsp;=&amp;nbsp;sqlite3.connect(db_fn)&lt;br /&gt;if&amp;nbsp;not&amp;nbsp;exist:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;db.execute(&amp;quot;create&amp;nbsp;table&amp;nbsp;log(date&amp;nbsp;unique,&amp;nbsp;tag,&amp;nbsp;text)&amp;quot;)&lt;br /&gt;db.execute(&amp;quot;insert&amp;nbsp;or&amp;nbsp;replace&amp;nbsp;into&amp;nbsp;log&amp;nbsp;values(?,&amp;nbsp;?,&amp;nbsp;?)&amp;quot;,&amp;nbsp;[date,&amp;nbsp;tag,&amp;nbsp;text])&lt;br /&gt;&lt;br /&gt;db.commit()&lt;br /&gt;db.close()&lt;br /&gt;EOF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;nomod&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;Write&amp;nbsp;SQL&amp;nbsp;Database.&amp;quot;&lt;br /&gt;endfunction&lt;br /&gt;command&amp;nbsp;W&amp;nbsp;call&amp;nbsp;&amp;lt;SID&amp;gt;SetSQL()&lt;br /&gt;&lt;br /&gt;function!&amp;nbsp;s:GetSQL(...)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;n&amp;nbsp;=&amp;nbsp;5&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;a:0&amp;nbsp;&amp;gt;&amp;nbsp;0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;n&amp;nbsp;=&amp;nbsp;a:1&amp;nbsp;+&amp;nbsp;0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endif&lt;br /&gt;python&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;EOF&lt;br /&gt;import&amp;nbsp;vim&lt;br /&gt;import&amp;nbsp;sqlite3&lt;br /&gt;import&amp;nbsp;sys,&amp;nbsp;os&lt;br /&gt;&lt;br /&gt;db_fn&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;g:sql_logfilename&amp;quot;)&lt;br /&gt;exist&amp;nbsp;=&amp;nbsp;os.path.exists(db_fn)&lt;br /&gt;if&amp;nbsp;exist:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;enc&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;&amp;amp;enc&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;db&amp;nbsp;=&amp;nbsp;sqlite3.connect(db_fn)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c&amp;nbsp;=&amp;nbsp;db.cursor()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;=&amp;nbsp;int(vim.eval(&amp;quot;n&amp;quot;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.execute(&amp;quot;select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;log&amp;nbsp;order&amp;nbsp;by&amp;nbsp;date&amp;nbsp;DESC&amp;nbsp;limit&amp;nbsp;%d&amp;quot;&amp;nbsp;%&amp;nbsp;n)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;row&amp;nbsp;in&amp;nbsp;c:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print&amp;nbsp;&amp;quot;[&amp;quot;&amp;nbsp;+&amp;nbsp;row[0].encode(enc)&amp;nbsp;+&amp;nbsp;&amp;quot;]&amp;quot;,&amp;nbsp;row[1].encode(enc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print&amp;nbsp;row[2].encode(enc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print&amp;nbsp;&amp;quot;&amp;nbsp;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;db.close()&lt;br /&gt;EOF&lt;br /&gt;endfunction&lt;br /&gt;command&amp;nbsp;-nargs=?&amp;nbsp;R&amp;nbsp;call&amp;nbsp;&amp;lt;SID&amp;gt;GetSQL(&amp;lt;args&amp;gt;)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-6885354912914317660?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6885354912914317660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6885354912914317660'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/03/vimsqlite.html' title='vimでSQLiteにメモを取る'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-1451664981989456121</id><published>2010-02-25T21:52:00.004+09:00</published><updated>2010-02-25T22:06:37.915+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>QtのtabletEventが重くならないようがんばる法</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ACvoKo32G9I/S4Zyw10B0EI/AAAAAAAAAhE/RZrSbc_UxJ8/s1600-h/20100225_215017.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 278px;" src="http://1.bp.blogspot.com/_ACvoKo32G9I/S4Zyw10B0EI/AAAAAAAAAhE/RZrSbc_UxJ8/s400/20100225_215017.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5442163383128412226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　ペンタブでの描画がなぜか重かったお絵かきソフト。画像じゃまったく伝わりませんが、ペンタブでもサクサク描けるようになりました。ついでにマウスカーソルの挙動が変だった問題も解決。&lt;br /&gt;　これはQtのサンプルコードが悪いですね。サンプル通りやると重くなるわカーソルがバグるわでダメダメです。タブレット関係は、&lt;br /&gt;&lt;pre name="code" class="c"&gt;&lt;br /&gt;void CFoobar::tabletEvent(QTabletEvent *e)&lt;br /&gt;{&lt;br /&gt;  m_pressure = e-&amp;gt;pressure();&lt;br /&gt;  e-&amp;gt;ignore();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;　とでもして、筆圧などの必要な情報をゲットしたらignoreしてマウスイベントに飛ぶとバグらなくなりました。コードは毎日寝る前に三十分くらいいじっているんですが、昨日超眠い状態で酒飲みながらコーディングしてて発見しました。&lt;br /&gt;&lt;br /&gt;　saiやコミスタみたいに、マウス位置に向かってズームさせるのってどうやるんだろ？　QMatrixのある状態でどう計算させたものか迷う。それ思いついたら0.03公開しよう。&lt;br /&gt;&lt;br /&gt;　てことでハイジ見よ。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-1451664981989456121?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1451664981989456121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1451664981989456121'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/02/qt-void-cfoobartableteventqtabletevent.html' title='QtのtabletEventが重くならないようがんばる法'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ACvoKo32G9I/S4Zyw10B0EI/AAAAAAAAAhE/RZrSbc_UxJ8/s72-c/20100225_215017.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-2102358512857835319</id><published>2010-02-20T07:17:00.004+09:00</published><updated>2010-02-20T07:22:22.103+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>HogePaint ver0.02</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ACvoKo32G9I/S38OBx-IeJI/AAAAAAAAAg8/EJPaL-XQ0eU/s1600-h/2010-2-20_6-45-12.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 283px;" src="http://1.bp.blogspot.com/_ACvoKo32G9I/S38OBx-IeJI/AAAAAAAAAg8/EJPaL-XQ0eU/s400/2010-2-20_6-45-12.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5440082298643445906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cid-5142edd673fc161d.skydrive.live.com/self.aspx/.Public/HogePaint0.02.zip" target="_blank"&gt;Download(win/mac LGPL)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　Mouseにチェック入れた状態で消しゴムが使えなかったのとかマウスホイール対応とか。&lt;br /&gt;　そろそろレイヤーが欲しいけど、合成モードだの移動だの透明度保護だのを考えるのが面倒くさい……。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-2102358512857835319?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2102358512857835319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2102358512857835319'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/02/hogepaint-ver002.html' title='HogePaint ver0.02'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ACvoKo32G9I/S38OBx-IeJI/AAAAAAAAAg8/EJPaL-XQ0eU/s72-c/2010-2-20_6-45-12.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-5238889656894233590</id><published>2010-02-14T12:22:00.005+09:00</published><updated>2010-02-14T12:48:57.512+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>HogePaint 0.01</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/S3dsqpV6ZCI/AAAAAAAAAgs/Ne9h9zrnBhc/s1600-h/20100214_121911.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 280px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/S3dsqpV6ZCI/AAAAAAAAAgs/Ne9h9zrnBhc/s400/20100214_121911.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5437934554981229602" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/S3dvZ006qUI/AAAAAAAAAg0/ytyvSvStpcE/s1600-h/20100214_123411.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/S3dvZ006qUI/AAAAAAAAAg0/ytyvSvStpcE/s400/20100214_123411.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5437937564541167938" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　バレンタイン？　何ですかそれ。&lt;br /&gt;　てことでお絵かきソフトを改造しました。打ち合わせの際ちゃらっとペンタブでイメージを伝えたいことはよくあり、といってmacbookの画面はちっさいのでエレメンツは使いにくく、artrageは重いし……「画面を広く使えてローカル＆高解像度でdrawtwitterみたいな書き味のソフト」を目指して修正しました。&lt;br /&gt;　ver0.00のGUIが使いにくいうえ場所を取っていたので一新、転写とか、要らない機能はカット。OpenMPを導入。ボカシが欲しかったから行列フィルタを実装、アプリアイコンを設定したりしました。リージョンを使ってストローク描画を高速化したので文庫の口絵程度の解像度（2000x2000）ならサクサク編集できるようになりました。たいした処理じゃなし、ver0.00の時点でリージョンを使えばよかった。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cid-5142edd673fc161d.skydrive.live.com/self.aspx/.Public/HogePaint0.01.zip" target="_blank"&gt;Free Download(LGPL)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;WinVista, OSX snow leopardで動作確認。&lt;br /&gt;OpenMP対応のOSで実行すべきです。&lt;br /&gt;また、OpenMP対応のコンパイラでなければビルドできません。&lt;br /&gt;実行には、Qtや&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC&amp;displaylang=en" target="_blank"&gt;OpenMP&lt;/a&gt;のインストールが必要かもしれません。&lt;br /&gt;readmeに書き忘れたけどアイコンは&lt;a href="http://www.iconeasy.com/iconset/pages-ink-never-looked-so-good-icons/"&gt;ここ&lt;/a&gt;と&lt;a href="http://min.frexy.com/article/milky_a_free_vector_icon_set_part_1/"&gt;ここ&lt;/a&gt;のを流用しました。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-5238889656894233590?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5238889656894233590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5238889656894233590'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/02/hogepaint-001.html' title='HogePaint 0.01'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/S3dsqpV6ZCI/AAAAAAAAAgs/Ne9h9zrnBhc/s72-c/20100214_121911.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-5783247074349592143</id><published>2010-01-30T00:00:00.005+09:00</published><updated>2010-01-30T00:42:30.436+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>お絵かきソフト: Hoge Paint</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ACvoKo32G9I/S2L4XfEm3wI/AAAAAAAAAgg/s0EHp24snFk/s1600-h/20100129_234013.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://4.bp.blogspot.com/_ACvoKo32G9I/S2L4XfEm3wI/AAAAAAAAAgg/s0EHp24snFk/s400/20100129_234013.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5432177182923742978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　何か作るのに飽きてきたのですごい中途半端ながら作りかけのお絵かきソフトを公開してみます。当然フリーです。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cid-5142edd673fc161d.skydrive.live.com/self.aspx/.Public/hogepaint.zip" target="_blank"&gt;Free Download(win &amp;amp; mac)&lt;/a&gt;&lt;br /&gt;動作確認環境:&lt;br /&gt;Windows Vista(7や2000、XPもいけるはず）&lt;br /&gt;Mac OSX snow leopard(10.5でも大丈夫かも。私のmacはmacportで考えなしに色々落としているので、別途何かをインストールしなきゃいけない可能性あり）&lt;br /&gt;&lt;br /&gt;ライセンス: LGPL&lt;br /&gt;ソースが入っているので、バイナリは使わず自分でビルドしてもよいでしょう。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　ソフトは&lt;a href="http://ja.wikipedia.org/wiki/Qt" target="_blank"&gt;Qt&lt;/a&gt;ライブラリを使った簡易お絵かきソフトで、ぐちゃっとして見にくい上図は、Windows Vistaでの動作画面とMacでの動作画面をセットにしたものです。面倒なので確認していませんが、Linuxでもビルドすれば動くでしょう。&lt;br /&gt;　書き味は（ペンタブ筆圧＆軽いブレ補正つきで）&lt;a href="http://drawtwit.com/" target="_blank"&gt;ここ&lt;/a&gt;のdrawTwitっぽいです。てかこれをローカルに移植したくて、でもadobe airの仕様を調べるのが面倒くさくて、そんな感じで作ったのがこのソフトでした。あと、mac版が透けてますが、あれは&lt;a href="http://ringonoki.net/tool/paint/1bitpaper.php" target="_blank"&gt;1bitPaper&lt;/a&gt;の透明ウィンドウが欲しかったので導入。winでも透けます。&lt;br /&gt;&lt;br /&gt;　しかしQtが楽しい。適当にAPIを叩けばそれっぽい画面ができるし、複雑なGUIを作りたいときはどっかからコンポーネントを探してくればいいし。それは.NETやDelphiでいいんじゃないのと思いきやmacやlinuxでも動くし。&lt;br /&gt;　ろくにマニュアル読まずに手探りでコーディングしていて、SIGNALにSIGNALをつなげて良いと気付いたときは久々にプログラムが楽しかった。お絵かきみたいな「SAIあるじゃん」系でなく、なんかもっと局所を狙った変なものを作りたいですね。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-5783247074349592143?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5783247074349592143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5783247074349592143'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/01/hoge-paint.html' title='お絵かきソフト: Hoge Paint'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ACvoKo32G9I/S2L4XfEm3wI/AAAAAAAAAgg/s0EHp24snFk/s72-c/20100129_234013.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-8501232613946276490</id><published>2010-01-26T23:16:00.002+09:00</published><updated>2010-01-26T23:26:03.902+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>座標とか面倒臭ッ</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/S175eVNU47I/AAAAAAAAAgY/Jgjywm8Qffg/s1600-h/20100126_231448.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 358px; height: 400px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/S175eVNU47I/AAAAAAAAAgY/Jgjywm8Qffg/s400/20100126_231448.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5431052500139828146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　お絵かきソフトを継続してプログラミング。&lt;br /&gt;　毎回画像画面のすべてを書き換えているのでたかが512x512でも拡大＆ストロークすると重い。拡大しなければそんなに重くはないんだけど……どうしたものか。&lt;br /&gt;　ペンが通った位置だけ書き換えるようにすれば少しは速くなりそうだけど、ＡＰＩで線を引いているのでペンの太さが具体的に何ピクセルになるのかがわからない。調べるの面倒だし、計算も面倒だし、最近はCoreなんちゃらでＣＰＵがいっぱいあるし、手抜きしてスレッドかな……。乾燥だけでレイヤもないザコツールだし。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-8501232613946276490?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/8501232613946276490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/8501232613946276490'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/01/blog-post_26.html' title='座標とか面倒臭ッ'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/S175eVNU47I/AAAAAAAAAgY/Jgjywm8Qffg/s72-c/20100126_231448.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-5148490993135336324</id><published>2010-01-23T09:48:00.004+09:00</published><updated>2010-01-23T09:59:42.037+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>水彩ペンとかどう作るんだろ</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/S1pHa_43y5I/AAAAAAAAAgQ/RZVcIQgV5XI/s1600-h/20100123_094653.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 328px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/S1pHa_43y5I/AAAAAAAAAgQ/RZVcIQgV5XI/s400/20100123_094653.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5429730829900696466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　縦書きエディタを作るのに飽きたので、今度はC++でお絵かきソフトを作っています。カラーピッカーとか単純な平均計算によるぶれ補正付きの筆圧対応は終わったけど、まだスポイトもレイヤもアンドゥも無し。というのも、画像データをどう扱うかが全然決まってないので、レイヤやアンドゥの仕様も決めらないんです。&lt;br /&gt;　今はＡＰＩで描画しているけれど、解像度が300超えたら間違いなく使い物にならないはず。速度を出そうと思ったらブレゼンハムあたりで直接メモリに線を引くようにすべきなのでしょうが……よさげな情報がネットに無い。本のほうも、どうせならSIMDを描画部分に入れたくてこの前神保町の本屋を見てまわったら一冊８千円くらいする本しかなかった……。あとはOpenCLもいじってみたいところだけどあれも調べるのかったるいなぁ……。しぃペってソース公開されてなかったっけ？　思い違い？&lt;br /&gt;　saiだのイラスタだのあるので、自作する意味はまったくないとか思いつつ、思い立ってはいじっています。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-5148490993135336324?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5148490993135336324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5148490993135336324'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/01/blog-post_23.html' title='水彩ペンとかどう作るんだろ'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/S1pHa_43y5I/AAAAAAAAAgQ/RZVcIQgV5XI/s72-c/20100123_094653.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-2681100458055388121</id><published>2010-01-15T20:55:00.004+09:00</published><updated>2010-01-15T21:02:03.061+09:00</updated><title type='text'>キャラクターなんとか機</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ACvoKo32G9I/S1BXwkf4QFI/AAAAAAAAAfw/Xlh8XDm0dPA/s1600-h/20100115_205103.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 337px;" src="http://1.bp.blogspot.com/_ACvoKo32G9I/S1BXwkf4QFI/AAAAAAAAAfw/Xlh8XDm0dPA/s400/20100115_205103.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5426934042924171346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　先ほど偶然ネットで見つけたのですが、&lt;a href="http://khmix.sakura.ne.jp/download.shtml" target='_blank'&gt;キャラクターなんとか機&lt;/a&gt;というソフトが地味に楽しいです。死に装束とか片眼を隠せる素材が欲しい。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-2681100458055388121?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2681100458055388121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2681100458055388121'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/01/blog-post_15.html' title='キャラクターなんとか機'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ACvoKo32G9I/S1BXwkf4QFI/AAAAAAAAAfw/Xlh8XDm0dPA/s72-c/20100115_205103.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-340515254714718731</id><published>2010-01-07T04:37:00.005+09:00</published><updated>2010-01-07T04:54:58.885+09:00</updated><title type='text'>続きが気になる怪文書</title><content type='html'>　新年なのでハードディスクを整理していたら、一昨年の夏頃に自分が書いた、以下のようなテキストファイルをみつけました。&lt;br /&gt;&lt;Blockquote&gt;&lt;br /&gt;　僕らの住む村には、大昔から続く奇妙な祭りがある。年毎の節分の夜、村の大人が金槌を持って集まって、「何か」をして帰ってくるという祭りだ。一体何をしてくるのか。子供は来てはいけない決まりで、僕らは毎年、大人たちが祭りで「何」をやっているのかを噂しあっていた。どの家の子も例外なく「あの晩一体何をしているの？」と親に聞いて「教えちゃいけない決まりなんだ」と言われているので、その鬱憤もあってか、節分の頃になると、僕らの間での話題は決まって祭りの話になるのだった。「酒屋の○○さんが持ってきた特大の酒樽を金槌で割って飲む」とか、「神社の鐘の歪みを直す」とか、たわいもない噂をあれこれ話して、僕らは毎年の節分を過ごしていた。&lt;br /&gt;&lt;/Blockquote&gt;&lt;br /&gt;　ここまで書いて当時の私は書くのに飽きやがったらしく、文章は途中に改行すら挟まず、上の一行で終了。&lt;br /&gt;　確かこれ、あの頃「小学生の少年が村のお祭りに忍び込んで変な儀式を目撃して怖がり、怖がる自分を淡々とナレーションする夢」を見て、面白かったので書き留めたものだったはずなのだけれど……この続き、どうなるんだっけ？　村のお寺に大昔に悪いことをした奴のミイラがあって、そのミイラには頭に釘が刺さっていて、村人たちはミイラが蘇らないように釘を打ちに行っている（そういう宗教がある）……みたいなストーリーだった気がするけど子細はサッパリです。ファイル名も「怪談.txt」とかいうやる気のないタイトルだし。ドラえもん的公式で、このあと主人公の少年が太った同級生や細い同級生とともに祭りに乗り込み、大人を騙して祭りの様子を見物するエピソードがあった気がするんだけど……？&lt;br /&gt;　夢から起きてすぐ書き留めた記憶があるので、一昨年の私は途中でまた眠くなりやがったのでしょうが……ちゃんと最後までメモしておけばよかったなぁ。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-340515254714718731?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/340515254714718731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/340515254714718731'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/01/blog-post_07.html' title='続きが気になる怪文書'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-775466369647837951</id><published>2010-01-01T13:58:00.003+09:00</published><updated>2010-01-01T14:03:46.392+09:00</updated><title type='text'>あけまして</title><content type='html'>　おめでとうございます。２巻とか短編とかがそのうち出ると思うので、本年もどうかよろしくお願いします（図は、さっき作った今年の年賀状）。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/Sz2BKBrqyrI/AAAAAAAAAfk/GBCfEPJslm4/s1600-h/nenga2010.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 270px; height: 400px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/Sz2BKBrqyrI/AAAAAAAAAfk/GBCfEPJslm4/s400/nenga2010.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5421631535674215090" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-775466369647837951?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/775466369647837951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/775466369647837951'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2010/01/blog-post.html' title='あけまして'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/Sz2BKBrqyrI/AAAAAAAAAfk/GBCfEPJslm4/s72-c/nenga2010.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-7563893595968476916</id><published>2009-12-25T11:52:00.010+09:00</published><updated>2009-12-25T12:14:55.307+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>自作エディタ</title><content type='html'>　このままでは今月は何も書かずに終わりそうなので何か書く。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/SzQpDSFaA3I/AAAAAAAAAfc/n9NlHWI7XFA/s1600-h/20091225_115109.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 294px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/SzQpDSFaA3I/AAAAAAAAAfc/n9NlHWI7XFA/s400/20091225_115109.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5419001388004410226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　原稿の合間に縦書きエディタの自作に挑戦しています。Cで組むのは面倒なので、IMやら描画まわりだけCで書いてエディタの動作はPythonかv8に記述する方向で考えたり≒つまりまだキーボードから入力すらできない状態です。スクリプトを組み込んでIMからの入力やWM_CHARをそれに渡し、画面を更新すればエディタになるわけですが……Pythonのほうが自由度高そうだけど組み込みが面倒くさく、v8のほうが組み込みが楽だけど自由度低そう、とか考えてコーディングが進まず。表示のほうは、一応青空っぽいルールでルビと傍点表示に対応したけれど、キャレット位置の計算のことなんかを考えると無いほうが後々楽か。特にぶら下がり機能は消したほうが楽そう。&lt;br /&gt;　TEditなんかの出来合いを使うのではなく自分で一からエディタを作る試みはだいぶ前から「挑戦→挫折」を繰り返しているのですが、今回も面倒くさくて挫折しそうです。だれかFootyかTEditを青空対応な縦書きのコンポーネントにしてフリーで配布してくれないでしょうか（C#にTateBoxがあるけど自由度がイマイチ）。&lt;br /&gt;　それにしてもvc++使いにくい。dawコマンドが使えないのがつらい。vimからvc++にファイル渡すのってどうやるんだっけ。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-7563893595968476916?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/7563893595968476916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/7563893595968476916'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/12/blog-post.html' title='自作エディタ'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/SzQpDSFaA3I/AAAAAAAAAfc/n9NlHWI7XFA/s72-c/20091225_115109.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-1317336414639031173</id><published>2009-11-30T20:14:00.010+09:00</published><updated>2009-11-30T21:11:11.815+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='取材'/><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>お岩さんの墓と、怪しい遊戯の招待状</title><content type='html'>　ふと思い立ち、友人と一緒に東京・西巣鴨にある「妙行寺」という寺に行ってきました。寺は西巣鴨のビルの群れの中にひっそりと建っていて、その脇には並び立つ墓石。そしてその墓の奥には、&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/SxOpWmmiH9I/AAAAAAAAAeo/M-eTiJgndLI/s1600/20091130_201333.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/SxOpWmmiH9I/AAAAAAAAAeo/M-eTiJgndLI/s400/20091130_201333.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5409853783186481106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　画像ではわかりにくいですが、これ、お岩さんのお墓です。江戸時代に実在した（らしい）お岩さんは、現在巣鴨に眠っておるのですね。私は来月小説作業に入るので、その前に、今日はお岩さんのお墓参りをしてきたわけです。&lt;br /&gt;　朝起きたときふと「行こう」と思って行くことにしたのですが、おどろおどろしいというより都会の喧噪を知らない清浄な雰囲気の場所で、中々気分のよい寺でした。行ってよかった。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　で、まあ、それはそれとして。&lt;br /&gt;　お墓参りの道中、大塚の駅のベンチの上でこんなものを発見しました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ACvoKo32G9I/SxOrEFnfLRI/AAAAAAAAAew/6gRakEFRRdM/s1600/091130_1450~01.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_ACvoKo32G9I/SxOrEFnfLRI/AAAAAAAAAew/6gRakEFRRdM/s400/091130_1450~01.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5409855664117722386" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　携帯写真なので判別しにくいですが、これは封筒になっていまして、その表には、&lt;br /&gt;&lt;br /&gt;&lt;BLOCKQUOTE&gt;&lt;br /&gt;この手紙は落し物ではありません。&lt;br /&gt;だから届け出はしないでください。&lt;br /&gt;&lt;br /&gt;でもきっと、開けてはいけません。&lt;br /&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;　とのうさんくさいメッセージが。&lt;br /&gt;　地下鉄サリンや米国テロなどの影響で、全国の駅では「不審物を発見したさいはただちに係員に～」などというアナウンスが絶えないわけですが、この手紙こそまさにそれでしょう。これ以上無い不審極まる封筒です。私の中で、正義を愛する鋼鉄の心が燃えました。震えるぞハート。燃えつきるほどヒート！&lt;br /&gt;　さっそく私は封筒を手に取り、&lt;br /&gt;&lt;br /&gt;　駅員を呼んだりせず、ゲラゲラ笑いながら開けてみました。&lt;br /&gt;&lt;br /&gt;　まあ、封筒はごく薄いものでしたから、爆弾や毒物を仕掛ける余裕は無いはずですし、開けても平気と踏んだわけです。&lt;br /&gt;&lt;br /&gt;　開いてみると、中にはトランプのカードと、家庭用のプリンタで刷ったような怪しく簡素なプリントが一枚入っていて、その文面はというと、とある「ゲーム」へのお誘い。&lt;br /&gt;　同封のトランプはゲームの参加チケットで、「ゲームが始まるから、トランプを持って○○に来い」というのですね。実にドキドキするお誘いではありませんか。&lt;br /&gt;　文章の内容を詳しく書きたいところですが、たぶんそれは主催者の意図に反するでしょうからここではこれ以上書きません。が、しかし……なんというか、世の中にはすてきなことを考える人がいるものですね。漫画みたいな展開に、一時胸が激しく躍り、高鳴りました。すてきだ……すてきすぎる。&lt;br /&gt;&lt;br /&gt;　残念ながら締切があるので私は参加できませんが、この手紙は都市部（たぶん23区内でしょう）にばらまかれているそうなので、拾った方は参加してみるのも一興かと。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　詐欺臭さを感じるくらいメタクソ怪しい文書なので、自己責任が激しく問われますがねｗ&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-1317336414639031173?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1317336414639031173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1317336414639031173'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/11/blog-post_30.html' title='お岩さんの墓と、怪しい遊戯の招待状'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/SxOpWmmiH9I/AAAAAAAAAeo/M-eTiJgndLI/s72-c/20091130_201333.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-956281152346319327</id><published>2009-11-24T10:01:00.005+09:00</published><updated>2009-11-24T10:30:16.931+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>NodeBox</title><content type='html'>　最近「寝る前にpythonで遊ぶ」を日課にしているので、pythonでprocessingを楽しめる「NodeBox」を使ってみました。&lt;br /&gt;&lt;br /&gt;&lt;pre class="python" name="code"&gt;&lt;br /&gt;#&amp;nbsp;sin-tan&amp;nbsp;curve&lt;br /&gt;&lt;br /&gt;size(384,&amp;nbsp;240)&lt;br /&gt;speed(9)&lt;br /&gt;&lt;br /&gt;def&amp;nbsp;setup():&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;global&amp;nbsp;frame&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;frame&amp;nbsp;=&amp;nbsp;1&lt;br /&gt;&lt;br /&gt;def&amp;nbsp;draw():&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from&amp;nbsp;math&amp;nbsp;import&amp;nbsp;sin,&amp;nbsp;cos,&amp;nbsp;tan,&amp;nbsp;radians&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;global&amp;nbsp;frame&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;frame&amp;nbsp;+=&amp;nbsp;1.0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;frame&amp;nbsp;&amp;gt;&amp;nbsp;180&amp;nbsp;*&amp;nbsp;3:&amp;nbsp;frame&amp;nbsp;=&amp;nbsp;1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#print&amp;nbsp;frame&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fill(0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rect(0,&amp;nbsp;0,&amp;nbsp;WIDTH,&amp;nbsp;HEIGHT)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;i&amp;nbsp;in&amp;nbsp;range(32):&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nofill()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strokewidth(sin(radians(frame&amp;nbsp;%&amp;nbsp;180)))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rotate(12)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;nbsp;=&amp;nbsp;(i&amp;nbsp;+&amp;nbsp;1)&amp;nbsp;/&amp;nbsp;32.0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v&amp;nbsp;=&amp;nbsp;sin(radians(frame))&amp;nbsp;*&amp;nbsp;i&amp;nbsp;*&amp;nbsp;15&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#v2&amp;nbsp;=&amp;nbsp;cos(radians(frame))&amp;nbsp;*&amp;nbsp;i&amp;nbsp;*&amp;nbsp;20&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v3&amp;nbsp;=&amp;nbsp;tan(radians(frame))&amp;nbsp;*&amp;nbsp;i&amp;nbsp;*&amp;nbsp;10&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;autoclosepath(False)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;beginpath(WIDTH&amp;nbsp;/&amp;nbsp;2.0,&amp;nbsp;HEIGHT&amp;nbsp;/&amp;nbsp;2.0)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stroke(0.5,&amp;nbsp;f&amp;nbsp;-&amp;nbsp;0.1,&amp;nbsp;0.3&amp;nbsp;+&amp;nbsp;f,&amp;nbsp;f)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curveto(v,&amp;nbsp;-v,&amp;nbsp;v,&amp;nbsp;v,&amp;nbsp;frame,&amp;nbsp;frame)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#stroke(0.5,&amp;nbsp;0.3&amp;nbsp;+&amp;nbsp;f,&amp;nbsp;f&amp;nbsp;-&amp;nbsp;0.1,&amp;nbsp;f)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#curveto(v2,&amp;nbsp;-v2,&amp;nbsp;v2,&amp;nbsp;v2,&amp;nbsp;frame,&amp;nbsp;frame)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#stroke(0.5,&amp;nbsp;f&amp;nbsp;-&amp;nbsp;0.1,&amp;nbsp;0.3&amp;nbsp;+&amp;nbsp;f,&amp;nbsp;f)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curveto(v3,&amp;nbsp;-v3,&amp;nbsp;v3,&amp;nbsp;v3,&amp;nbsp;frame,&amp;nbsp;frame)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endpath()&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/SwsxIIrxU9I/AAAAAAAAAeg/MaES3SFaDJ4/s1600/091124.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 303px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/SwsxIIrxU9I/AAAAAAAAAeg/MaES3SFaDJ4/s400/091124.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5407469793428198354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　pythonで書けるのはすてきだけど、本家のprocessingと違って何かしようと思うたび英語サイトをめぐらなきゃならないのが面倒、という印象。&lt;br /&gt;　yieldを使って処理を分割して書けるので、pythonの練習がてら弾幕みたいな複雑でウヨウヨしたものを描かせてみようと思ったのですが、例えばカラーモードをHSBにするには？　と思って検索すると英語ばっかで萎えます。&lt;br /&gt;　あと、ダイアログから手軽に動画を描き出せるようになっていて、これ自体は大変すてきだと思うのだけど、たかが数十秒の動画のファイルサイズが300MB越えなのは何故なの。320x240くらいの画面で10フレーム/秒程度の動画なのに300MBて。ブログに動画のっけようと思って書き出ししたら300MBのドでかファイルが爆誕でした。設定が悪いんだと思うんだけど……じゃあどうやって設定すんのかとググると、これがやっぱり英語です。&lt;br /&gt;&lt;br /&gt;　お絵描きしたけりゃturtleとかTkinterを使って、本格的に遊びたいときは本家のprocessingを使ったほうがよさげですかね。ライブラリ多いし。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-956281152346319327?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/956281152346319327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/956281152346319327'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/11/nodebox.html' title='NodeBox'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/SwsxIIrxU9I/AAAAAAAAAeg/MaES3SFaDJ4/s72-c/091124.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-5491537918056393714</id><published>2009-11-07T05:37:00.006+09:00</published><updated>2009-11-07T05:52:20.336+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>脱引きこもり計画</title><content type='html'>　ノーパソ持って外で書いてきました。無人の暗い公園で、水筒に持参したコーヒーを飲みつつ、幽霊がどうのと小一時間キーボードを叩きました。&lt;br /&gt;　外はいいですね。空気がおいしいし、&lt;br /&gt;「これでもう、引きこもりとは言わせない。アウトドアだぜ私ッ！」&lt;br /&gt;　などとテンションも上がります。そんなわけで公園で撮ってきた写真を↓&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ACvoKo32G9I/SvSI7WcdM5I/AAAAAAAAAeY/mLFTQkW0BBk/s1600-h/2009117.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://1.bp.blogspot.com/_ACvoKo32G9I/SvSI7WcdM5I/AAAAAAAAAeY/mLFTQkW0BBk/s400/2009117.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5401092406342661010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　ええと……赤い矢印の先が顔に見えますね。でも心配ありません。私は科学の子ですから、ファッキンノングレアなツルツルのディスプレイに公園の林がいい感じで写って顔に見えるだけだと確信しています。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　ところで、ふと思ったのですが、openCVの顔認識でこういう写真を解析させたらどうなるんでしょうね？　雑多な写真の中から心霊写真を探すのって意外と面倒だと思うのですが、openCVを使えばサクサク怖い写真をゲットできそうじゃないですか？&lt;br /&gt;　一見何の変哲も無い写真をopenCVで解析させたら、顔に見える部分を示す矩形で悪魔的なまでに写真が埋め尽くされ、「うわぁ、なによこの写真！　怖いわジョージ！」……みたいな新型Ｂ級ホラーとか。&lt;br /&gt;　コーディングは面倒くさいので、portで落とせるopenCV顔認識ソフトが無いか探してみようか。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-5491537918056393714?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5491537918056393714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5491537918056393714'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/11/blog-post_07.html' title='脱引きこもり計画'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ACvoKo32G9I/SvSI7WcdM5I/AAAAAAAAAeY/mLFTQkW0BBk/s72-c/2009117.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-4119929421504556575</id><published>2009-11-04T18:40:00.000+09:00</published><updated>2009-11-07T04:07:32.436+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>macbook proを買いました</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/SvFQrB9fEyI/AAAAAAAAAeM/BXZnni5enUU/s1600-h/20091104_183902.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 250px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/SvFQrB9fEyI/AAAAAAAAAeM/BXZnni5enUU/s400/20091104_183902.jpg" alt="" id="BLOGGER_PHOTO_ID_5400186128384856866" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　昨日のことになるのですが、小説作業はエディタさえあれば外でできるので、外でやりたいと思ってmacbook proを買い、昨日から今日にかけていじり倒しています。&lt;br /&gt;　とりあえず、&lt;br /&gt;&lt;br /&gt;かわせみ&lt;br /&gt;xcode&lt;br /&gt;macport&lt;br /&gt;macvim&lt;br /&gt;gauche&lt;br /&gt;rcairo&lt;br /&gt;imagemagick&lt;br /&gt;dropbox&lt;br /&gt;artRage&lt;br /&gt;mpg123&lt;br /&gt;flex&lt;br /&gt;gimp&lt;br /&gt;inkscape&lt;br /&gt;openoffice&lt;br /&gt;quicksilver&lt;br /&gt;nodebox&lt;br /&gt;processing&lt;br /&gt;&lt;br /&gt;　をインストール。&lt;br /&gt;　入れた中では、一番最初の「かわせみ」がよさげでした。macで使えるim(インプットメソッド)なのですが、MS-IMEやAtokと違ってローマ字変換規則に記号類を使えるのが大変すばらしい。私はUSキーボードを使っているので、「'」と「"」にそれぞれ「……」と「――」を設定したりしました。&lt;br /&gt;　この二つ、いままでは「てん」やら「せん」で辞書登録し、変換で出すという面倒な作業をしていたのですが、この設定のおかげで、一回のキーストロークのみ＆変換ナシで入力可能に。神のごとき便利さです。かわせみはmac用のソフトなのが、windows/Atokでもこういうことをできるようにしてほしいものです。&lt;br /&gt;&lt;br /&gt;　もうひとつすばらしかったのが、リストの最後にある「processing」。簡単なプログラムでフラクタルなんかを描けるソフトで、マックでやらずともウィンドウズで動かせる、ＯＳを問わないオープンソースのフリーソフト……なのですが。&lt;br /&gt;　macbookにはハードディスクを保護するための加速度センサがついていまして、processingは外部ライブラリによってこのセンサの値を読めるのですよ。&lt;br /&gt;&lt;br /&gt;&lt;pre class="java" name="code"&gt;//&amp;nbsp;processingでリンゴの触覚を読み込む。&lt;br /&gt;//&amp;nbsp;要Sudden Motion Sensorライブラリ(http://www.shiffman.net/p5/sms/)&lt;br /&gt;&lt;br /&gt;import&amp;nbsp;processing.video.*;&amp;nbsp;//&amp;nbsp;mov&lt;br /&gt;import&amp;nbsp;sms.*;&amp;nbsp;//&amp;nbsp;xyz&lt;br /&gt;PFont&amp;nbsp;font;&lt;br /&gt;int&amp;nbsp;max0,&amp;nbsp;max1,&amp;nbsp;max2;&lt;br /&gt;int&amp;nbsp;min0,&amp;nbsp;min1,&amp;nbsp;min2;&lt;br /&gt;int&amp;nbsp;movx&amp;nbsp;=&amp;nbsp;3;&lt;br /&gt;int&amp;nbsp;movy&amp;nbsp;=&amp;nbsp;3;&lt;br /&gt;int&amp;nbsp;es&amp;nbsp;=&amp;nbsp;32;&lt;br /&gt;int&amp;nbsp;x1,&amp;nbsp;y1;&lt;br /&gt;Sippo&amp;nbsp;sippo1,&amp;nbsp;sippo2,&amp;nbsp;sippo3,&amp;nbsp;sippo4,&amp;nbsp;sippo5,&amp;nbsp;sippo6,&amp;nbsp;sippo7,&amp;nbsp;sippo8;&lt;br /&gt;&lt;br /&gt;//&amp;nbsp;動画に保存するか否か。trueで起動から終了までをキャプチャして保存。&lt;br /&gt;boolean&amp;nbsp;create_movie&amp;nbsp;=&amp;nbsp;false;&lt;br /&gt;&lt;br /&gt;MovieMaker&amp;nbsp;mm;&lt;br /&gt;&lt;br /&gt;void&amp;nbsp;setup()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;int&amp;nbsp;W&amp;nbsp;=&amp;nbsp;512;&lt;br /&gt;&amp;nbsp;&amp;nbsp;int&amp;nbsp;H&amp;nbsp;=&amp;nbsp;512;&lt;br /&gt;&amp;nbsp;&amp;nbsp;int&amp;nbsp;x&amp;nbsp;=&amp;nbsp;W&amp;nbsp;/&amp;nbsp;2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;int&amp;nbsp;y&amp;nbsp;=&amp;nbsp;H&amp;nbsp;/&amp;nbsp;2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;int&amp;nbsp;len&amp;nbsp;=&amp;nbsp;128;&lt;br /&gt;&amp;nbsp;&amp;nbsp;size(W,&amp;nbsp;H);&lt;br /&gt;&amp;nbsp;&amp;nbsp;smooth();&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;↓Toolsメニューからフォントを作る必要があります&lt;br /&gt;&amp;nbsp;&amp;nbsp;font&amp;nbsp;=&amp;nbsp;loadFont("Serif-48.vlw");&lt;br /&gt;&amp;nbsp;&amp;nbsp;textFont(font,&amp;nbsp;25);&lt;br /&gt;&amp;nbsp;&amp;nbsp;max0&amp;nbsp;=&amp;nbsp;max1&amp;nbsp;=&amp;nbsp;max2&amp;nbsp;=&amp;nbsp;min0&amp;nbsp;=&amp;nbsp;min1&amp;nbsp;=&amp;nbsp;min2&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;x1&amp;nbsp;=&amp;nbsp;y1&amp;nbsp;=&amp;nbsp;256;&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo1&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Sippo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo1.init(es,&amp;nbsp;x,&amp;nbsp;y,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;len);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo2&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Sippo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo2.init(es,&amp;nbsp;x,&amp;nbsp;y,&amp;nbsp;256,&amp;nbsp;128,&amp;nbsp;0,&amp;nbsp;len);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo3&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Sippo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo3.init(es,&amp;nbsp;x,&amp;nbsp;y,&amp;nbsp;256,&amp;nbsp;0,&amp;nbsp;128,&amp;nbsp;len);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo4&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Sippo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo4.init(es,&amp;nbsp;x,&amp;nbsp;y,&amp;nbsp;128,&amp;nbsp;0,&amp;nbsp;256,&amp;nbsp;len);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo5&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Sippo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo5.init(es,&amp;nbsp;x,&amp;nbsp;y,&amp;nbsp;0,&amp;nbsp;256,&amp;nbsp;128,&amp;nbsp;len);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo6&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Sippo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo6.init(es,&amp;nbsp;x,&amp;nbsp;y,&amp;nbsp;128,&amp;nbsp;256,&amp;nbsp;0,&amp;nbsp;len);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo7&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Sippo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo7.init(es,&amp;nbsp;x,&amp;nbsp;y,&amp;nbsp;256,&amp;nbsp;256,&amp;nbsp;256,&amp;nbsp;len);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo8&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Sippo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo8.init(es,&amp;nbsp;x,&amp;nbsp;y,&amp;nbsp;0,&amp;nbsp;128,&amp;nbsp;256,&amp;nbsp;len);&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;mov&lt;br /&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(create_movie)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;frameRate(15);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mm&amp;nbsp;=&amp;nbsp;new&amp;nbsp;MovieMaker(this,&amp;nbsp;width,&amp;nbsp;height,&amp;nbsp;"sms_test.mov",&amp;nbsp;15,&amp;nbsp;MovieMaker.H263,&amp;nbsp;MovieMaker.LOSSLESS);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;else&amp;nbsp;frameRate(30);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void&amp;nbsp;draw()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;int[]&amp;nbsp;vals&amp;nbsp;=&amp;nbsp;Unimotion.getSMSArray();&lt;br /&gt;&amp;nbsp;&amp;nbsp;fill(48);&lt;br /&gt;&amp;nbsp;&amp;nbsp;rect(0,&amp;nbsp;0,&amp;nbsp;width,&amp;nbsp;height);&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;pos&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo2.Draw(y1,&amp;nbsp;x1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo3.Draw(width&amp;nbsp;-&amp;nbsp;x1,&amp;nbsp;y1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo4.Draw(height&amp;nbsp;-&amp;nbsp;y1,&amp;nbsp;x1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo5.Draw(x1,&amp;nbsp;height&amp;nbsp;-&amp;nbsp;y1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo6.Draw(y1,&amp;nbsp;width&amp;nbsp;-&amp;nbsp;x1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo7.Draw(width&amp;nbsp;-&amp;nbsp;x1,&amp;nbsp;height&amp;nbsp;-&amp;nbsp;y1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo8.Draw(height&amp;nbsp;-&amp;nbsp;y1,&amp;nbsp;width&amp;nbsp;-&amp;nbsp;x1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;top&lt;br /&gt;&amp;nbsp;&amp;nbsp;sippo1.Draw(x1,&amp;nbsp;y1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(vals[0]&amp;nbsp;&amp;gt;&amp;nbsp;0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x1&amp;nbsp;-=&amp;nbsp;vals[0]&amp;nbsp;/&amp;nbsp;movx;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x1&amp;nbsp;+=&amp;nbsp;abs(vals[0])&amp;nbsp;/&amp;nbsp;movx;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(vals[1]&amp;nbsp;&amp;gt;&amp;nbsp;0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y1&amp;nbsp;+=&amp;nbsp;vals[1]&amp;nbsp;/&amp;nbsp;movy;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y1&amp;nbsp;-=&amp;nbsp;abs(vals[1])&amp;nbsp;/&amp;nbsp;movy;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;x1&amp;nbsp;=&amp;nbsp;min(width,&amp;nbsp;max(x1,&amp;nbsp;0));&lt;br /&gt;&amp;nbsp;&amp;nbsp;y1&amp;nbsp;=&amp;nbsp;min(height,&amp;nbsp;max(y1,&amp;nbsp;0));&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;line&lt;br /&gt;&amp;nbsp;&amp;nbsp;stroke(255);&lt;br /&gt;&amp;nbsp;&amp;nbsp;line(x1,&amp;nbsp;0,&amp;nbsp;x1,&amp;nbsp;height);&lt;br /&gt;&amp;nbsp;&amp;nbsp;line(0,&amp;nbsp;y1,&amp;nbsp;width,&amp;nbsp;y1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;noFill();&lt;br /&gt;&amp;nbsp;&amp;nbsp;ellipse(x1,&amp;nbsp;y1,&amp;nbsp;es,&amp;nbsp;es);&lt;br /&gt;&amp;nbsp;&amp;nbsp;ellipse(x1,&amp;nbsp;y1,&amp;nbsp;es&amp;nbsp;/&amp;nbsp;3&amp;nbsp;*&amp;nbsp;2,&amp;nbsp;es&amp;nbsp;/&amp;nbsp;3&amp;nbsp;*&amp;nbsp;2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;text&lt;br /&gt;&amp;nbsp;&amp;nbsp;fill(255);&lt;br /&gt;&amp;nbsp;&amp;nbsp;text(vals[0],&amp;nbsp;30,&amp;nbsp;50);&lt;br /&gt;&amp;nbsp;&amp;nbsp;text(vals[1],&amp;nbsp;30,&amp;nbsp;80);&lt;br /&gt;&amp;nbsp;&amp;nbsp;text(vals[2],&amp;nbsp;30,&amp;nbsp;110);&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;min/max&lt;br /&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(max0&amp;nbsp;&amp;lt;&amp;nbsp;vals[0])&amp;nbsp;max0&amp;nbsp;=&amp;nbsp;vals[0];&lt;br /&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(min0&amp;nbsp;&amp;gt;&amp;nbsp;vals[0])&amp;nbsp;min0&amp;nbsp;=&amp;nbsp;vals[0];&lt;br /&gt;&amp;nbsp;&amp;nbsp;text(max0&amp;nbsp;+&amp;nbsp;"&amp;nbsp;"&amp;nbsp;+&amp;nbsp;min0,&amp;nbsp;120,&amp;nbsp;50);&lt;br /&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(max1&amp;nbsp;&amp;lt;&amp;nbsp;vals[1])&amp;nbsp;max1&amp;nbsp;=&amp;nbsp;vals[1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(min1&amp;nbsp;&amp;gt;&amp;nbsp;vals[1])&amp;nbsp;min1&amp;nbsp;=&amp;nbsp;vals[1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;text(max1&amp;nbsp;+&amp;nbsp;"&amp;nbsp;"&amp;nbsp;+&amp;nbsp;min1,&amp;nbsp;120,&amp;nbsp;80);&lt;br /&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(max2&amp;nbsp;&amp;lt;&amp;nbsp;vals[2])&amp;nbsp;max2&amp;nbsp;=&amp;nbsp;vals[2];&lt;br /&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(min2&amp;nbsp;&amp;gt;&amp;nbsp;vals[2])&amp;nbsp;min2&amp;nbsp;=&amp;nbsp;vals[2];&lt;br /&gt;&amp;nbsp;&amp;nbsp;text(max2&amp;nbsp;+&amp;nbsp;"&amp;nbsp;"&amp;nbsp;+&amp;nbsp;min2,&amp;nbsp;120,&amp;nbsp;110);&lt;br /&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;mov&lt;br /&gt;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(create_movie)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mm.addFrame();&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class&amp;nbsp;Sippo&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;int[]&amp;nbsp;_x;&lt;br /&gt;&amp;nbsp;&amp;nbsp;int[]&amp;nbsp;_y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;float&amp;nbsp;si;&lt;br /&gt;&amp;nbsp;&amp;nbsp;int&amp;nbsp;len;&lt;br /&gt;&amp;nbsp;&amp;nbsp;int&amp;nbsp;r,&amp;nbsp;g,&amp;nbsp;b;&lt;br /&gt;&amp;nbsp;&amp;nbsp;void&amp;nbsp;init(float&amp;nbsp;s,&amp;nbsp;int&amp;nbsp;defx,&amp;nbsp;int&amp;nbsp;defy,&amp;nbsp;int&amp;nbsp;_r,&amp;nbsp;int&amp;nbsp;_g,&amp;nbsp;int&amp;nbsp;_b,&amp;nbsp;int&amp;nbsp;l)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;len&amp;nbsp;=&amp;nbsp;l;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_x&amp;nbsp;=&amp;nbsp;new&amp;nbsp;int[len];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_y&amp;nbsp;=&amp;nbsp;new&amp;nbsp;int[len];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;si&amp;nbsp;=&amp;nbsp;s;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;_r;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g&amp;nbsp;=&amp;nbsp;_g;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b&amp;nbsp;=&amp;nbsp;_b;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;len;&amp;nbsp;i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_x[i]&amp;nbsp;=&amp;nbsp;defx;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_y[i]&amp;nbsp;=&amp;nbsp;defy;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;void&amp;nbsp;Draw(int&amp;nbsp;x,&amp;nbsp;int&amp;nbsp;y)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;noStroke();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(i&amp;nbsp;=&amp;nbsp;1;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;len;&amp;nbsp;i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_x[i&amp;nbsp;-&amp;nbsp;1]&amp;nbsp;=&amp;nbsp;_x[i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_y[i&amp;nbsp;-&amp;nbsp;1]&amp;nbsp;=&amp;nbsp;_y[i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fill(r,&amp;nbsp;g,&amp;nbsp;b,&amp;nbsp;int(float(i)&amp;nbsp;/&amp;nbsp;float(len)&amp;nbsp;*&amp;nbsp;256.0));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;siz&amp;nbsp;=&amp;nbsp;int(float(i)&amp;nbsp;/&amp;nbsp;float(len)&amp;nbsp;*&amp;nbsp;si);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ellipse(_x[i],&amp;nbsp;_y[i],&amp;nbsp;siz,&amp;nbsp;siz);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fill(r,&amp;nbsp;g,&amp;nbsp;b,&amp;nbsp;255);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_x[len&amp;nbsp;-&amp;nbsp;1]&amp;nbsp;=&amp;nbsp;x;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_y[len&amp;nbsp;-&amp;nbsp;1]&amp;nbsp;=&amp;nbsp;y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ellipse(x,&amp;nbsp;y,&amp;nbsp;si,&amp;nbsp;si);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;　こんな感じのコードを書き込み、実行。macbook proをぶんぶん振り回すと、それに応じて画面が変化します。てことで下は、描画内容をキャプチャした映像。&lt;br /&gt;（振ってるところを取りたいところだけど外付けカメラが無いので無理でした）&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-339d0930514f9a6b" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqAAAAKXn9zyzXTyW6NoE_4ojujoslAhmWYW41AFUYeFJ7mTsxONjVLn-s5CT-G9F4dUNR8rUNH09h8Yz_DcrlhDO3FohQITGR-U5RsEYR5Ct35dkdVpobpYcZtuVbR0ykRyAHpYwOHAMSdNtjzWeCB5clzloDCcTUxz7hB_BgQ06FQ5sXA3_XuxKKE7gson37yiKrEPiF0vtuqRwLaNvzmKPM5EGNt4gYWPfzyx7jNo-RvsF%26sigh%3DFck5i7f9SVq9iFuTW0qgAmZKbO0%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D339d0930514f9a6b%26offsetms%3D5000%26itag%3Dw320%26sigh%3Dx5WQ4qEG2Ct_41-FQIMs7i6AFxA&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;embed width="320" height="266" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqAAAAKXn9zyzXTyW6NoE_4ojujoslAhmWYW41AFUYeFJ7mTsxONjVLn-s5CT-G9F4dUNR8rUNH09h8Yz_DcrlhDO3FohQITGR-U5RsEYR5Ct35dkdVpobpYcZtuVbR0ykRyAHpYwOHAMSdNtjzWeCB5clzloDCcTUxz7hB_BgQ06FQ5sXA3_XuxKKE7gson37yiKrEPiF0vtuqRwLaNvzmKPM5EGNt4gYWPfzyx7jNo-RvsF%26sigh%3DFck5i7f9SVq9iFuTW0qgAmZKbO0%26begin%3D0%26len%3D86400000%26docid%3D0&amp;amp;nogvlm=1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D339d0930514f9a6b%26offsetms%3D5000%26itag%3Dw320%26sigh%3Dx5WQ4qEG2Ct_41-FQIMs7i6AFxA&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　こういう風な、体を使って動作確認するようなプログラムは初めてなので、夢中になる面白さです。ああ、センサかわいいよセンサ。&lt;br /&gt;　執筆の合間に、もっと色々いじってやろうと思います。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-4119929421504556575?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4119929421504556575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4119929421504556575'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/11/macbook-pro.html' title='macbook proを買いました'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/SvFQrB9fEyI/AAAAAAAAAeM/BXZnni5enUU/s72-c/20091104_183902.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-3243822610665649867</id><published>2009-11-02T18:41:00.000+09:00</published><updated>2009-11-07T04:07:32.440+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>重版が決まりました</title><content type='html'>　お昼ごろ担当氏からメールがあって「一巻、なかなか調子がいいので重版が決まるかもしれない」と言われていたのですが、先ほど&lt;a href="http://twitter.com/tama_sneaker" target="_blank"&gt;ついったー&lt;/a&gt;のほうで正式に発表があり、&lt;br /&gt;&lt;br /&gt;　&lt;span style="font-weight:bold;"&gt;末代まで！　の第一巻が 緊 急 重 版 決 定 しました。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;　これも応援して下さったみなさまのおかげです。発売前に担当さん等から「重版……できるかなぁ？　できるといいですけどね。ははは」みたいに言われていたので、ほんとうに、ほんとうに嬉しいです。ありがとうございます。&lt;br /&gt;　しかし、発売日の翌日に重版決定って……大丈夫なんでしょうか。編集部は決断早すぎなんじゃないでしょうか。ついったーでの発表も、アレたぶん時間的に「編集部の会議で重版決定⇒会議室出て即座につぶやく」みたいな感じですよ？　あとで「やっぱ重版無し！」とかないですよね!?&lt;br /&gt;&lt;br /&gt;　ちなみに、昨日の夜に友人の作家さんに教えてもらったのですが、日本有数のアクセス数を誇るアキバblog様に&lt;a href="http://blog.livedoor.jp/geek/archives/50922009.html" target="_blank"&gt;末代の記事を書いていただいた&lt;/a&gt;ようで、&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/Su6rHmkIsWI/AAAAAAAAAeE/WtRbLc6IfXE/s1600-h/20091102_074236.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 240px; height: 132px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/Su6rHmkIsWI/AAAAAAAAAeE/WtRbLc6IfXE/s400/20091102_074236.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5399441150363349346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　このブログのアクセス数が笑えるくらい跳ね上がってます。ありがたいことです。&lt;a href="http://twitter.com/nekosuna" target="_blank"&gt;私のついったーのほう&lt;/a&gt;にもフォローが来たり「読みました」メッセージが来たり書評が来たり（！）していますし……応援して下さっている皆様の期待を裏切らないよう、&lt;br /&gt;&lt;br /&gt;「ぱんつをはかないで呪文を唱えると威力が増す」&lt;br /&gt;「精神力を鍛えるために全裸で野山を走る」&lt;br /&gt;「リサがまんカレに投稿する（萌えよペン）」&lt;br /&gt;※手持ちのメモより&lt;br /&gt;&lt;br /&gt;　火力を増して、がんばってはっちゃけていきたいと思います。&lt;br /&gt;&lt;br /&gt;　本当に、ありがとうございました。今後とも、どうかよろしくお願い致します。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-3243822610665649867?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/3243822610665649867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/3243822610665649867'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/11/blog-post.html' title='重版が決まりました'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/Su6rHmkIsWI/AAAAAAAAAeE/WtRbLc6IfXE/s72-c/20091102_074236.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-579796095288038891</id><published>2009-11-01T09:31:00.000+09:00</published><updated>2009-11-07T04:07:32.442+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>「末代まで！」の一巻が発売されました</title><content type='html'>　昨日いただいてきたアニメ店長がすげぇ面白い。金言が満載ですよ。たとえば、&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ACvoKo32G9I/SuzW6wlqBUI/AAAAAAAAAd8/mMmcE55CDR8/s1600-h/20091101_093128.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_ACvoKo32G9I/SuzW6wlqBUI/AAAAAAAAAd8/mMmcE55CDR8/s400/20091101_093128.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5398926358273983810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　というわけで、書店によっては２，３日前から並んでいたりするのですが、公式ではいよいよ今日が「末代まで！」の発売日。&lt;br /&gt;&lt;br /&gt;　どうしよう、いよいよ発売ですよ。ここはひとつ、この日を記念して何かやろう。やらねば！　やるべきだ！&lt;br /&gt;　……とか思っていたのですが、まあ、特にやることを思いつかなかったので、&lt;br /&gt;&lt;br /&gt;&lt;A href="http://dl.getdropbox.com/u/996796/Salamine/Salamine.html" target="_blank"&gt;はじめる&lt;/A&gt;&lt;br /&gt;&lt;br /&gt;　前に小説のために作ったミニゲームをアップしてみました。本当はこんなわけわかんないことをやるくらいなら堅実にamazonへのリンクを張ったりするべきなんでしょうが、そういうのは公式ＨＰとネタが被りそうなのでやめました。手続きの方法もよくわからないし。&lt;br /&gt;　このゲームは、以前ザ・スニーカー向けに末代の短編を書いた際に、作中に「芦屋先生はASでゲームを作っていた」云々という記述を入れたので、「短編発表に合わせてこのゲームの実物をブログにアップしよう」と作ったものです。が、肝心の短編がボツをくらい、今日までＨＤＤにお蔵入りしていたといういわくつきの物件。&lt;br /&gt;　発売された一巻とは何の関係もないものですが、まあ、記念ということで。相手に一点も与えずに勝つ完封勝利を目指して遊んでみてください。&lt;br /&gt;&lt;font style="font-size: 0.7em"&gt;&lt;br /&gt;※動作にはなるたけ最新のフラッシュプレイヤーが必要です。&lt;br /&gt;※このゲームはFlex3で作られました。ソースは&lt;A href="http://dl.getdropbox.com/u/996796/Salamine/Salamine.zip"&gt;ここから&lt;/A&gt;落とせます。対人対戦できない仕様やCPUの強さに不満がある方は勝手に改造してください。&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-579796095288038891?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/579796095288038891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/579796095288038891'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/11/blog-post_01.html' title='「末代まで！」の一巻が発売されました'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ACvoKo32G9I/SuzW6wlqBUI/AAAAAAAAAd8/mMmcE55CDR8/s72-c/20091101_093128.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-9182864393660537002</id><published>2009-10-31T21:11:00.000+09:00</published><updated>2009-11-07T04:07:32.444+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>秋葉原に行ってきました</title><content type='html'>　いよいよ末代が明日発売。&lt;br /&gt;　ということで、サイン本を書きに秋葉原のお店をまわってきました。&lt;br /&gt;　アニメイト、ゲーマーズ、とらのあな、有隣堂……。&lt;br /&gt;　当たり前ですが行ったのはどれも本屋さん。なので店頭には漫画がいっぱい並んでいました。欲しい本もいっぱいです。&lt;br /&gt;　……でも、我慢しなくてはなりません。大阪が万博でも我慢しなくてはなりません。だって私は今日、本を買いに来たわけじゃないんだから！　&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/SuwpflqpiqI/AAAAAAAAAd0/msmJNyrQimo/s1600-h/20091031_211114.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/SuwpflqpiqI/AAAAAAAAAd0/msmJNyrQimo/s400/20091031_211114.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5398735675974060706" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　なんて殊勝なことを考えられるほど私は大人ではありませんでした。朝、秋葉原に行く前におろしてきた万札が夢に消えましたよ。&lt;br /&gt;　ちなみに最上部のアニメ店長の漫画は、アニメイトの中にアニメ店長の本があるのを見て爆笑、即座に購入を決めレジに向かった私に書店員さんがプレゼントしてくださったものです。感謝です。次はサイン本作業をほったらかしてレジに並んだりせず、ちゃんと仕事を終えてからガチで買うので許して下さい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　ゲーマーズと有隣堂は秋葉原駅を出てすぐ、アニメイトととらのあなは電気街の大通りをちょっと歩いた先にあります。どのお店も東京都下のクソ田舎に住んでいる私には垂涎モノの品揃えなので、秋葉原に行く予定のある方はぜひ。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-9182864393660537002?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/9182864393660537002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/9182864393660537002'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/10/blog-post.html' title='秋葉原に行ってきました'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/SuwpflqpiqI/AAAAAAAAAd0/msmJNyrQimo/s72-c/20091031_211114.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-6986224129374887092</id><published>2009-10-26T01:09:00.000+09:00</published><updated>2009-11-07T04:07:32.446+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>雨の中</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/SuR4P2iNRRI/AAAAAAAAAds/RiBX6MqihiQ/s1600-h/20091026_010842.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/SuR4P2iNRRI/AAAAAAAAAds/RiBX6MqihiQ/s400/20091026_010842.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5396570467229058322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　資料用に、母校の学園祭に写真を撮りに行ってきました。私が通っていた高校では学園祭のあと夕暮れの校庭で後夜祭というものが行われるのですが、キャンプファイヤやらねぶたやら気球やら花火やら、毎年無駄にハデなことをするのでこれを写真に納めておこうかと。&lt;br /&gt;　が、天気はあいにくの雨。もう校庭がぐちゃぐちゃなのでそんなもんできるはずもなく、写真は撮れませんでした。……まあ、しかたないですね。図書室やらを適当に撮って帰ってきました。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-6986224129374887092?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6986224129374887092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6986224129374887092'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/10/blog-post_26.html' title='雨の中'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/SuR4P2iNRRI/AAAAAAAAAds/RiBX6MqihiQ/s72-c/20091026_010842.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-6624990743038245713</id><published>2009-10-21T02:08:00.000+09:00</published><updated>2009-11-07T04:07:32.448+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>new macbook</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/St3vIAUq60I/AAAAAAAAAdk/nra6IF39Amg/s1600-h/20091021_020549.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 204px; height: 250px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/St3vIAUq60I/AAAAAAAAAdk/nra6IF39Amg/s400/20091021_020549.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5394730849464412994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　we'll be back soon.&lt;br /&gt;　を寝ないで監視していたら、ついに出ました新型macbook。&lt;br /&gt;　（iMacとmac miniも出たらしいけどどうでもいい）&lt;br /&gt;&lt;br /&gt;　待ちに待った新型です。&lt;br /&gt;　気になる中身は、デザイン一新の上、cpu等はmacbook pro13インチとほぼ同じで、値段はproより２万円ほど安いというもの……だった、わけですが……。&lt;br /&gt;　これってつまり、proと２万円しか違わないってことで。&lt;br /&gt;「macbookの新型出たら買う！　絶対！」&lt;br /&gt;　と思っていたものの、どうしても「２万の差ならpro買ったほうがよくね？」という気持ちが消えません。スペック同じで、proならアルミでバックライトですよ？&lt;br /&gt;　こうしてみると、決して悪くはないけれど、特別よいというわけでもない。&lt;br /&gt;&lt;br /&gt;　どうしたものでしょう。外で原稿したかったので、５時間だったバッテリが７時間になったのは嬉しいけど……う～ん。やはりproと差が無いのがどうにも。&lt;br /&gt;　私は別にmacにこだわりがあるわけではないので、windows7にあわせて発売予定の、&lt;br /&gt;&lt;br /&gt;vaio x&lt;br /&gt;dynabook mx&lt;br /&gt;Pavilion dm3i&lt;br /&gt;&lt;br /&gt;　あたりも気になるところ。&lt;br /&gt;　これらはせいぜい７～８時間のmacbook(pro)に比べて10時間だの20時間だのという駆動時間が魅力ですが、メモリとかcpuを見てると「どうせモッサリなんだろ？」という疑念がぬぐえません。&lt;br /&gt;　それならまともに動きそうなmacbookにしておいたほうがよいとかなんだとか、macにしておけばXだのp言語だのデフォルトでウニっぽさを楽しめるけどcl.exeもautohotkeyもwin32apiも無いだとかなんだとか、眠くて思考がまとまりません。&lt;br /&gt;　結局のところ、gvimが動けばなんでもいいような気がしてきました。vimとテケトーなファイルシステムが入ってるワープロ（エディタ専用機）とか、どっかの会社が売りに出してくれないですかねぇ。&lt;br /&gt;&lt;br /&gt;　とりあえず寝て、起きてからmac系のサイトの購入レポートを漁ろうと思います。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-6624990743038245713?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6624990743038245713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6624990743038245713'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/10/new-macbook.html' title='new macbook'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/St3vIAUq60I/AAAAAAAAAdk/nra6IF39Amg/s72-c/20091021_020549.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-1928757322541417276</id><published>2009-10-20T22:20:00.000+09:00</published><updated>2009-11-07T04:07:32.451+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>さあ、はやくもどっておいで。</title><content type='html'>　昨日は小学館に行き、今日は飯田橋で打ち合わせ、みたいな感じだったのですが。&lt;br /&gt;　小説の一巻に関連した作業がほぼ一段落つき、このあとは短編小説とか短編漫画をやるぜぇみたいな感じなのですが。&lt;br /&gt;　ペン入れはさすがにメインＰＣでやりたいけど、私は漫画の下描きとかテキスト編集は外でやりたいと思っているのですが。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ACvoKo32G9I/St25SJfRuyI/AAAAAAAAAdc/__yQEd2K-O8/s1600-h/20091020_221933.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 212px;" src="http://1.bp.blogspot.com/_ACvoKo32G9I/St25SJfRuyI/AAAAAAAAAdc/__yQEd2K-O8/s400/20091020_221933.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5394671650095610658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　we'll be back soon?&lt;br /&gt;　いいからはやくもどっておいで。&lt;br /&gt;　iMacはどーでもいい。&lt;br /&gt;　macbookとmacbook proが重要ですよ？&lt;br /&gt;&lt;br /&gt;　もどってきたら、力一杯抱きしめてあげるから。&lt;br /&gt;　多少お高くても即買ってあげるから。&lt;br /&gt;　買ったその日から使い倒してあげるから。&lt;br /&gt;　御託はいいからはやくもどっておいで？&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　新型macbookを全裸待機なうです。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-1928757322541417276?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1928757322541417276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1928757322541417276'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/10/blog-post_20.html' title='さあ、はやくもどっておいで。'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ACvoKo32G9I/St25SJfRuyI/AAAAAAAAAdc/__yQEd2K-O8/s72-c/20091020_221933.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-643932016150743510</id><published>2009-10-16T02:27:00.000+09:00</published><updated>2009-11-07T04:07:32.454+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>おばけ2.0</title><content type='html'>　フライング情報になりますが。&lt;br /&gt;&lt;br /&gt;　９月ごろの打ち合わせの席で、「時代はweb2.0ですよ。最近のおばけはついったーくらい余裕で使いこなすはず」的なことを担当さんに言ったらそれが通り、&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ACvoKo32G9I/StdbpDOrTLI/AAAAAAAAAdU/5n4pP1er02M/s1600-h/20091015_195332.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 283px; height: 209px;" src="http://1.bp.blogspot.com/_ACvoKo32G9I/StdbpDOrTLI/AAAAAAAAAdU/5n4pP1er02M/s400/20091015_195332.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5392879839599086770" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　月末から&lt;a href="http://twitter.com/" target="_blank"&gt;ついったー&lt;/a&gt;にて、拙作「末代まで！」の公式ついったー（とでも言うべきモノ）が始まります。10月はザスニが出る月なので本格的な運用は来月からっぽいですが、ついったーをご利用の方々、よければフォローしてください。まだ具体的にいつ開始されるのかは知らないのですが、たぶん20日あたりには始まるはずです。&lt;br /&gt;&lt;br /&gt;　ちなみに、&lt;br /&gt;&lt;pre class="ruby" name="code"&gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;末代まで！　ついったー投稿用rubyスクリプト&lt;br /&gt;#&amp;nbsp;@nekosuna&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;文字コード変換のためのダミー&lt;br /&gt;#&lt;br /&gt;def&amp;nbsp;utf8henkan(foo)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;todo:&amp;nbsp;ここにデータベースの文字列をUTF8に変換する処理を書き込みます&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;データベースに利用するファイルの文字コードに合わせて、&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UTF8への変換処理を記述してください&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;変換した文字列はsystem関数で送信されることにも留意してください&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;foo&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;curlでつぶやく（例外処理無視）&lt;br /&gt;#&lt;br /&gt;def&amp;nbsp;post_data(post)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;「ID:pass\tメッセージ」というデータだと仮定します&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dat&amp;nbsp;=&amp;nbsp;post.split(/\t/)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;改行を削除&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dat[1]&amp;nbsp;=&amp;nbsp;dat[1].chomp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;文字コードの変換&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dat[1]&amp;nbsp;=&amp;nbsp;utf8henkan(dat[1])&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;送信&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;system('curl&amp;nbsp;-u&amp;nbsp;&amp;quot;'&amp;nbsp;+&amp;nbsp;dat[0]&amp;nbsp;+&amp;nbsp;'&amp;quot;&amp;nbsp;-d&amp;nbsp;status=&amp;quot;'&amp;nbsp;+&amp;nbsp;dat[1]&amp;nbsp;+&amp;nbsp;'&amp;quot;&amp;nbsp;http://twitter.com/statuses/update.xml')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;URLの最後を「update.xml?source=vim」などとすると&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;vimから投稿した、というふうにできます&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;main&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;引数に、「ID:pass\tメッセージ」という行が書き込まれたファイルを渡すと&lt;br /&gt;#&amp;nbsp;先頭行を切り取って送信します&lt;br /&gt;#&amp;nbsp;$&amp;nbsp;mdai_twit.rb&amp;nbsp;hoge.txt&lt;br /&gt;#&amp;nbsp;引数のファイルは破壊的に編集されます&lt;br /&gt;#&lt;br /&gt;ARGV.each&amp;nbsp;do&amp;nbsp;|file|&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;post&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;読み込み（例外処理無視）&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;open(file,&amp;nbsp;'r')&amp;nbsp;do&amp;nbsp;|f|&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;富豪的に、すべて読み込む&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;f.readlines&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;先頭の一行を取り出す&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;post&amp;nbsp;=&amp;nbsp;data.shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;送信&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;post_data(post)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;読んだ行を削除したものを保存（例外処理無視）&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;open(file,&amp;nbsp;'w')&amp;nbsp;do&amp;nbsp;|f|&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f.write&amp;nbsp;data&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;　言い出しっぺの責を取り、原稿の合間につぶやき投稿用のものっそい単純なrubyスクリプトを組んで送ったりしていたのですが、開始後しばらくの期間の運営は、角川書店の中の人が手動でやるらしいです。「大変じゃないですか？」と思いましたが、まあ、オフィシャルなんで間違いがあっちゃなんねーということなのでしょう。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-643932016150743510?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/643932016150743510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/643932016150743510'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/10/20.html' title='おばけ2.0'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ACvoKo32G9I/StdbpDOrTLI/AAAAAAAAAdU/5n4pP1er02M/s72-c/20091015_195332.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-2325438862714098695</id><published>2009-10-09T22:58:00.000+09:00</published><updated>2009-11-07T04:07:32.457+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>禁断症状</title><content type='html'>　角川書店に打ち合わせに行ってきたんですが、急に直さねばならない原稿が出来たため、社内にあったDellのPCを借りて会議室で書いてきました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/Ss9BlkIDF4I/AAAAAAAAAdM/xZJ5LYxBV88/s1600-h/091009_1810~01.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/Ss9BlkIDF4I/AAAAAAAAAdM/xZJ5LYxBV88/s400/091009_1810~01.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5390599392594171778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　キーボードは担当さんが私と同じHHK-US使いだったので借りられたのですが、エディタのほうは、借り物のwindowsPCにvimが入っているはずもなく、仕方ないのでワープロソフトの一太郎を使いました。&lt;br /&gt;　が、もうこれが使いにくいったらない。&lt;br /&gt;　一太郎にはメモ帳と違ってCtrl+Hでダイアログが開く糞仕様は無いんですが、慣れてないので検索すらできません。保存するときもとっさにはCtrl+Sが頭に浮かばず、「:w」しようとする自分を発見して愕然としたり。そろそろvim使い始めて一年になるけど、vimの依存性はマリファナといい勝負なんじゃないかなぁと思います。&lt;br /&gt;　まあ、文句言ってもしかたないので、タバコの吸えない会議室で、ニコチンとvimを夢に見ながらシコシコ原稿書いてきましたよ。&lt;br /&gt;&lt;br /&gt;　ちなみに、ネットがあればポータブルgvimを落として使えたんですが、会議室の隅にLANポートをみつけたのは、入稿を終えたあとでした。ちっ。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-2325438862714098695?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2325438862714098695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2325438862714098695'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/10/blog-post_09.html' title='禁断症状'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/Ss9BlkIDF4I/AAAAAAAAAdM/xZJ5LYxBV88/s72-c/091009_1810~01.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-3162799604678943268</id><published>2009-10-05T00:18:00.000+09:00</published><updated>2009-11-07T04:07:32.461+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>バナナ＼e</title><content type='html'>　私は&lt;a href="www.google.co.jp/ig" target="_blank"&gt;igoogle&lt;/a&gt;のデザイン設定を「日ごとに適当に変える」ものにしているんですが、さっきこんな画像が表示されました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/Ssi9MJvjnuI/AAAAAAAAAdE/BC99SPMRDFs/s1600-h/20091005_001704.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 315px; height: 223px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/Ssi9MJvjnuI/AAAAAAAAAdE/BC99SPMRDFs/s400/20091005_001704.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5388764970620264162" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　「バナナ＼e」に見えたのは、私がなんだかんだで日本人だからなんでしょうか。今週のサンデーのコナン君のやつは、最初から数字でなく解のほうに見えてたんですが。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-3162799604678943268?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/3162799604678943268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/3162799604678943268'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/10/e.html' title='バナナ＼e'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/Ssi9MJvjnuI/AAAAAAAAAdE/BC99SPMRDFs/s72-c/20091005_001704.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-7992294906441814981</id><published>2009-09-21T21:57:00.000+09:00</published><updated>2009-11-07T04:07:32.464+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>バベル</title><content type='html'>　作業がとても立て込んでいます。さっき積読タワーの高さを計ってみたら50cmありました。ジャンプ２冊とゲッサンと、クラサンの単行本にふしぎ遊戯の文庫全集に……という感じで、なかなか壮観ですよ。神様早くあのバベルの塔壊して。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ACvoKo32G9I/Srd4XcVN0LI/AAAAAAAAAc8/wEP-M0PkQdg/s1600-h/20090921_215648.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 254px; height: 166px;" src="http://4.bp.blogspot.com/_ACvoKo32G9I/Srd4XcVN0LI/AAAAAAAAAc8/wEP-M0PkQdg/s400/20090921_215648.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5383904223682220210" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　ネームを切ろうにも相変わらず漢字が書けないのでIMEに教えてもらっています。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-7992294906441814981?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/7992294906441814981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/7992294906441814981'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/09/blog-post.html' title='バベル'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ACvoKo32G9I/Srd4XcVN0LI/AAAAAAAAAc8/wEP-M0PkQdg/s72-c/20090921_215648.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-558807657815261297</id><published>2009-09-14T21:00:00.000+09:00</published><updated>2009-11-07T04:07:32.466+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>ポスターに神の字</title><content type='html'>　小説のほうでどっと予定が入ったため、この文章を書いてる現在、昨日の午後４時から寝てない状態なんですが、徹夜はまだよいとして、今日はその上小学館で打ち合わせでした。&lt;br /&gt;　死ぬほど大変ってわけじゃないんですが、道を歩いているとき電信柱にぶつかったり、神保町駅に電車が着き、電車のドアが開いているのに「早く着かないかなぁ」と開いたドアの前でぼーっとしたり。今もだいぶぼんやりした気分なんですが、居眠り運転で事故った人はこんな精神状態だったのかなぁ。&lt;br /&gt;&lt;br /&gt;　それはともかく。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ACvoKo32G9I/Sq4xs5AQ2RI/AAAAAAAAAc0/QceJIsJZiAk/s1600-h/20090914_210557.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_ACvoKo32G9I/Sq4xs5AQ2RI/AAAAAAAAAc0/QceJIsJZiAk/s400/20090914_210557.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5381293252040251666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　ぼーっとしていたおかげでしょうか。サンデーの打ち合わせブースのポスターに、漫画の神様・藤田先生の直筆らしき文字を見つけました。このポスター、わりと前から貼ってあったと思うのですが、こんな文字が書いてあることには今日の今日まで気付きませんでした。席に着いて、たまたま電話中だった担当さんを待っているとき、「眠いなぁ」とか思って虚ろな視線をフラフラさせていたのがよかったぽい。&lt;br /&gt;　神のサイン(?)が目の前に！　てことで、少し眠気が覚めました。&lt;br /&gt;&lt;br /&gt;　先週のジャンプとサンデーをまだ読んでいないので「少年サンデー、超読みたくね？」って感じなんですが、もうそろそろ徹夜30時間になるので寝ます。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-558807657815261297?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/558807657815261297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/558807657815261297'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/09/blog-post_14.html' title='ポスターに神の字'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ACvoKo32G9I/Sq4xs5AQ2RI/AAAAAAAAAc0/QceJIsJZiAk/s72-c/20090914_210557.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-6427666100578684071</id><published>2009-09-10T19:42:00.000+09:00</published><updated>2009-11-07T04:07:32.468+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>ベビースターラーメンのパッケージに毛</title><content type='html'>　小説作業の息抜きをかねて、ついさきほどぽてちを買いに百均まで行ってきたのですが、ぽてちを２，３袋カゴにぶちこんだあと、ふと「ベビースターラーメン」のパッケージが目に入り、愕然としました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ACvoKo32G9I/SqjYaL6F-nI/AAAAAAAAAck/9ViP2hnr64s/s1600-h/20090910_193911.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_ACvoKo32G9I/SqjYaL6F-nI/AAAAAAAAAck/9ViP2hnr64s/s400/20090910_193911.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5379787699278707314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　よく見て下さい。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ACvoKo32G9I/SqjYa61G-7I/AAAAAAAAAcs/Xb6AdTejju8/s1600-h/20090910_194129.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 219px; height: 320px;" src="http://4.bp.blogspot.com/_ACvoKo32G9I/SqjYa61G-7I/AAAAAAAAAcs/Xb6AdTejju8/s400/20090910_194129.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5379787711874268082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　&lt;span style="font-weight:bold;"&gt;これ、毛じゃね？&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　最初は拡大写真の部分のベビスタがヒビ割れていて、その陰が写ったのかなぁと思ったんですが、光の向きや黒い曲線の流れ的に、これ、毛ですよねたぶん。&lt;br /&gt;　――いやっほう、すげぇもん見つけた！&lt;br /&gt;　ってことで、ぽてちと一緒に即座に購入してきましたよ。パッケージを作った人、気付かなかったんですかねこれ？&lt;br /&gt;　てか、仮に上のが毛ではなくヒビだったとしても、食品のパッケージに毛に見えるヒビが写り込んでいるって問題じゃないですか。私は頭がアレなので「子ネタゲットだぜぇ」と面白がって買いましたが、これが子持ちのお母さんとかだったら「危険そうだからやめておこう」と考えそうです。&lt;br /&gt;&lt;br /&gt;　ちなみに、いま記事を書きながら袋を開けてみたところ、パッケージは毛入りですが、袋の中は無問題でした。有名企業の商品ですから当然ですが、ちゃんとラーメンだけが入ってます。&lt;br /&gt;　しかし、そのうち回収騒ぎとか起こったりしますかねぇ、これ？&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-6427666100578684071?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6427666100578684071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6427666100578684071'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/09/blog-post_10.html' title='ベビースターラーメンのパッケージに毛'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ACvoKo32G9I/SqjYaL6F-nI/AAAAAAAAAck/9ViP2hnr64s/s72-c/20090910_193911.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-5687047135620870141</id><published>2009-09-09T23:37:00.000+09:00</published><updated>2009-11-07T04:07:32.470+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>ゲラとかそういうの相談してきた</title><content type='html'>　小説の打ち合わせをしてきました。&lt;br /&gt;　喫茶店で日焼けパフェとかいう変な名前の普通のチョコパフェを食べ、沖縄料理店でゴーヤジュースを飲んできました。どっちも一見キワモノぽいですが意外にうまかった。&lt;br /&gt;　打ち合わせは、４時に始めて、ゲラを見ながら担当さんのiPhone借りて類語辞書を引き、「興奮」と同じ意味の単語を探したりなんだりで終わったのは11時。７時間もの打ち合わせでした。&lt;br /&gt;&lt;br /&gt;　米国でiPodのイベントが開催されています。打ち合わせを終えて家につき、ググったら、予想通りmacの情報がチラチラ出始めてました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ACvoKo32G9I/SqfAtUeZxkI/AAAAAAAAAcc/KO2pT_jEEO8/s1600-h/20090909_234935.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 112px;" src="http://4.bp.blogspot.com/_ACvoKo32G9I/SqfAtUeZxkI/AAAAAAAAAcc/KO2pT_jEEO8/s400/20090909_234935.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5379480164740220482" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　apple storeも更新中です。iPodはどうでもいいんだけど、mac tablet、出るのかなぁ。出たら買うんだけどなぁ。&lt;br /&gt;&lt;br /&gt;　それはともかく眠いのでもう寝ます。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-5687047135620870141?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5687047135620870141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5687047135620870141'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/09/blog-post_09.html' title='ゲラとかそういうの相談してきた'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ACvoKo32G9I/SqfAtUeZxkI/AAAAAAAAAcc/KO2pT_jEEO8/s72-c/20090909_234935.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-2538283527886949733</id><published>2009-09-06T01:22:00.000+09:00</published><updated>2009-11-07T04:07:32.479+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>ゲラを一休みして</title><content type='html'>　載せていいのかなこれ？　まあダメなら削除ということで。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/SqKQZrTAgdI/AAAAAAAAAcU/IDvtuYRsc3I/s1600-h/20090906_012136.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/SqKQZrTAgdI/AAAAAAAAAcU/IDvtuYRsc3I/s400/20090906_012136.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5378019675827372498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　ゲラを一通り見終わったのですが、もう一度見直す前に一旦休みを入れた方がよいだろってことで別の作業をやってます。あのお方はまゆげが太くて真っ直ぐな記憶があったのですが、太く描きすぎた気がします。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-2538283527886949733?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2538283527886949733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2538283527886949733'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/09/blog-post_06.html' title='ゲラを一休みして'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/SqKQZrTAgdI/AAAAAAAAAcU/IDvtuYRsc3I/s72-c/20090906_012136.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-1708194408489858349</id><published>2009-09-05T08:29:00.000+09:00</published><updated>2009-11-07T04:07:32.711+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>ボンクラの朝</title><content type='html'>　夜に起きて昼寝るという昼夜逆転生活をしつつ、ひたすらゲラをチェック中です。&lt;br /&gt;　私は基本的には「体内時計？　なんですかそれ」という生活をしているのですが、これはよくないリズムですね。私のPCのディスプレイはノングレアなのですが、私の部屋は朝日が上るころはちょうどよい角度で窓から真っ直ぐ画面に日が当たり、ノングレアでも見づらくなってイライラするレイアウトなんですよ。&lt;br /&gt;　午後の三時頃起きて、朝、日が昇るころに寝る生活のほうがPC作業はやりやすい。早いとこ生活リズムを「合理的にダメなリズム」に戻さなきゃ。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.co.jp/lh/photo/tZxFCCsx9HjlUuAXurKIFQ?authkey=Gv1sRgCJymrbv8tvLr6QE&amp;feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_ACvoKo32G9I/SqGi_3ScS3I/AAAAAAAAAb0/Qp-YUJ7smso/s800/20090905_082850.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　さきほど、&lt;a href="http://twitter.com/nekosuna" target="_blank"&gt;ついったー&lt;/a&gt;のタイムラインで朝からビール飲んでるやつにボンクラ呼ばわりされました。botなので投稿文章はほとんどランダムなんですが、kaiji_bot面白いなぁ。私もgoogle app engine使ってこんな感じの組んでみようかな。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-1708194408489858349?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1708194408489858349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1708194408489858349'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/09/blog-post_05.html' title='ボンクラの朝'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_ACvoKo32G9I/SqGi_3ScS3I/AAAAAAAAAb0/Qp-YUJ7smso/s72-c/20090905_082850.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-2534872461666912120</id><published>2009-09-02T23:40:00.000+09:00</published><updated>2009-11-07T04:07:32.749+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>他レーベルの方々と</title><content type='html'>　読み方のアイウエオ順で、ライトノベル作家のSOWさん、橘さん、伏見ひろゆき、宮沢さんと遊んできました。j-books＆メガミ、富士見、SD……スニーカーでないレーベルの方と遊ぶのは初めてです。&lt;br /&gt;　池袋の飲み屋でワイワイと、ここには書けない禁則事項とか橘さんのプロットのボツ案とかをおしゃべり。一番盛り上がったのが最近読んだ面白いラノベの話で、みなさん時に奇声を上げつつお気に入りの作品の魅力を絶叫。作家らしくキラリと光る形容表現で語りに語りまくりでした。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/Sp6D7X1FjPI/AAAAAAAAAbs/M3_TbMSoA9g/s1600-h/20090902_233934.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 205px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/Sp6D7X1FjPI/AAAAAAAAAbs/M3_TbMSoA9g/s400/20090902_233934.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5376880061159148786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　飲みの中、SOWさんに、メガミノベル大賞作品「みすぷり！」をプレゼントしてもらいました。書いてと頼んでサインも入れてもらってます。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-2534872461666912120?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2534872461666912120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2534872461666912120'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/09/blog-post_02.html' title='他レーベルの方々と'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/Sp6D7X1FjPI/AAAAAAAAAbs/M3_TbMSoA9g/s72-c/20090902_233934.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-5060092875205588933</id><published>2009-08-31T23:58:00.000+09:00</published><updated>2009-11-07T04:07:32.752+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>ゲラ</title><content type='html'>　ゲラをやっています。校正者さんが紙に「ママ」とか「トル」とか「許可を(y/n)」とか書いたものに「やっちまえ」と答えていく作業です。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/SpvlN6MNwNI/AAAAAAAAAbk/fD8fc2at3EM/s1600-h/20090831_235117.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/SpvlN6MNwNI/AAAAAAAAAbk/fD8fc2at3EM/s400/20090831_235117.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5376142607318368466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　図のごとく、生まれて初めてのゲラなので勝手が分からず、適当に黒のシャーペンで×などを30ページ近くカキカキしてたら&lt;a href="http://fusimihiroyuki.blogspot.com/" target="_blank"&gt;伏見ひろゆき&lt;/a&gt;に電話で「はぁ!?　シャーペンじゃダメだよ赤ペンだよ赤ペン何やってんの猫砂担当さんにやりかた教わらなかったの!?」と真実を教えてもらったので、これからファミマに赤ペン買いに行きます。ついでにSAI用のネットマネーを買って来よう。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-5060092875205588933?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5060092875205588933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5060092875205588933'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/08/blog-post.html' title='ゲラ'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/SpvlN6MNwNI/AAAAAAAAAbk/fD8fc2at3EM/s72-c/20090831_235117.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-2723213957390839490</id><published>2009-08-29T00:21:00.000+09:00</published><updated>2009-11-07T04:07:32.754+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>中国語ぽい</title><content type='html'>　今日はザスニの発売日。長きにわたる箝口令解除だー！　ってことで、公式らしくブログをすっごいリニューアルしたろと思ってたけどだるいので中止。テンプレをちょっといじったり記事の整理をしたりしたあたりで力尽きました。まあ、今度やることにしよ今度。&lt;br /&gt;　とりあえず、小説と漫画に区別をもうけることに意味が無くなったと思うので、作業のグチには全部「雑記」のタグを付けて行こうと思います。ダブルファングです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/Spf2JhX2veI/AAAAAAAAAbU/slXSVH0TKWg/s1600-h/20090829_002044.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 354px; height: 280px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/Spf2JhX2veI/AAAAAAAAAbU/slXSVH0TKWg/s400/20090829_002044.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5375035323727658466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　サンデーの方のネームをやっておるわけですが、小説で何万語と書いているくせに台詞のための漢字が全然思い出せません。で、IMEで漢字を出して書く、ということを繰り返したらどうよこれパッと見中国語。「痴漢」の綴りを知りたいのにAtokのアホが「置換」を出してむかついた歴史も刻まれていたり。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/Spf9AQqzNGI/AAAAAAAAAbc/k_a6bAwUi5o/s1600-h/20090829_005031.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 274px; height: 381px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/Spf9AQqzNGI/AAAAAAAAAbc/k_a6bAwUi5o/s400/20090829_005031.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5375042861206287458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　snow leopardも発売となり、いよいよmacが気になってしかたありません。macbook proを買うってのはほぼ決めているんですが、９月に新ハードが出るならそっちが欲しいなぁと。てか、mactabletが出るという噂はどこまで本当なのでしょうか。本当なら即買いなんですが。&lt;br /&gt;　あと、macvimがsnow leopardで動作不安定ってのは何日くらいしたら解決する問題なのでしょうね。winのgvimしか情報追ってないので更新ペースがわからない。基本小説編集用に買うので早く解決してほしいです（オープンソースなんだから自分でやれって話ではあるのですが）。&lt;br /&gt;　最近は暑いですね。汗でネーム用紙もへたっています。そんなくそ暑い中での「snow」というのは残暑お見舞いってことなんでしょうか。――というか、上のやつ雪がうんこに見えますね。ええ。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-2723213957390839490?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2723213957390839490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/2723213957390839490'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/08/blog-post_29.html' title='中国語ぽい'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/Spf2JhX2veI/AAAAAAAAAbU/slXSVH0TKWg/s72-c/20090829_002044.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-5743050876774543320</id><published>2009-08-19T00:00:00.000+09:00</published><updated>2009-11-07T04:07:32.756+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>クラブサンデーにショートカットを追加するgreasemonkeyスクリプト</title><content type='html'>　表題の通り、&lt;a href="http://club.shogakukan.co.jp/" target="_blank"&gt;クラブサンデー&lt;/a&gt;にショートカットを追加するgreasemonkeyスクリプトを組みました。以前ブックマークレットとして書いたものを（ブックマークレットは呼び出すのがめんどいので）greasemonkeyに移植したものです。&lt;br /&gt;　document.on～で関数オブジェクトの代入をやるとエラーだったり、クラサンに用意されているページ送りの関数を呼ぶとエラーだったりでちょっとイラつきましたが、基本ブックマークレットのコードを移すだけなので、３分程度で完成。&lt;br /&gt;　インストールすると、クラサンで漫画を表示させるたびにショートカットが自動設定され「j」「k」でページを移動できるようになります。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="js"&gt;&lt;br /&gt;//&amp;nbsp;==UserScript==&lt;br /&gt;//&amp;nbsp;@name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Clubsunday&amp;nbsp;shortcuts&lt;br /&gt;//&amp;nbsp;@namespace&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://string-cat.blogspot.com/&lt;br /&gt;//&amp;nbsp;@description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Clubsunday&amp;nbsp;shortcuts&lt;br /&gt;//&amp;nbsp;@include&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://club.shogakukan.co.jp/dor/*&lt;br /&gt;//&amp;nbsp;==/UserScript==&lt;br /&gt;&lt;br /&gt;document.addEventListener('keypress',&amp;nbsp;function(event)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;ch&amp;nbsp;=&amp;nbsp;(event.keyCode&amp;nbsp;!=&amp;nbsp;0?&amp;nbsp;event.keyCode:&amp;nbsp;event.charCode);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;flag&amp;nbsp;=&amp;nbsp;true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;switch(ch)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;default:&amp;nbsp;flag&amp;nbsp;=&amp;nbsp;false;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;&amp;quot;j&amp;quot;.charCodeAt(0):&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unsafeWindow.MoveLeftMouseDown();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;&amp;quot;k&amp;quot;.charCodeAt(0):&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unsafeWindow.MoveRightMouseDown();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(flag)&amp;nbsp;event.preventDefault();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;　greasemonkeyのメニューで新規ユーザースクリプトを選択し、上をコピペで動くはずです（あるいは、上をcs.user.jsなどの名前で上のテキストに保存して読み込む）。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-5743050876774543320?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5743050876774543320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5743050876774543320'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/08/greasemonkey.html' title='クラブサンデーにショートカットを追加するgreasemonkeyスクリプト'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-6875454990511610008</id><published>2009-08-14T18:56:00.000+09:00</published><updated>2009-11-07T04:07:32.758+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>16分割計画書</title><content type='html'>&lt;pre name="code" class="ruby"&gt;&lt;br /&gt;###################################################&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;name_thumb_scale.rb&lt;br /&gt;#&lt;br /&gt;###################################################&lt;br /&gt;&lt;br /&gt;require&amp;nbsp;'cairo'&lt;br /&gt;&lt;br /&gt;###################################################&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;準備&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;出力ファイル名&lt;br /&gt;#&amp;nbsp;出力されたファイルは、Foxit&amp;nbsp;Readerやgimpじゃないと開けないぽい&lt;br /&gt;filename&amp;nbsp;=&amp;nbsp;'name_thumb.pdf'&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;単位変換(mm&amp;nbsp;-&amp;gt;&amp;nbsp;pt)&lt;br /&gt;def&amp;nbsp;toPoint(n)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(n.to_f&amp;nbsp;*&amp;nbsp;360.0)&amp;nbsp;/&amp;nbsp;127.0&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;A4&lt;br /&gt;width&amp;nbsp;=&amp;nbsp;toPoint(210)&lt;br /&gt;height&amp;nbsp;=&amp;nbsp;toPoint(297)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;PDFキャンバスを作成&lt;br /&gt;sur&amp;nbsp;=&amp;nbsp;Cairo::PDFSurface.new(filename,&amp;nbsp;width,&amp;nbsp;height)&lt;br /&gt;sur.set_size(width,&amp;nbsp;height)&lt;br /&gt;ctx&amp;nbsp;=&amp;nbsp;Cairo::Context.new(sur)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###################################################&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;描画&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;太線を描く&lt;br /&gt;ctx.set_line_width(toPoint(0.7))&lt;br /&gt;&lt;br /&gt;ctx.move_to(width&amp;nbsp;/&amp;nbsp;2,&amp;nbsp;0)&lt;br /&gt;ctx.line_to(width&amp;nbsp;/&amp;nbsp;2,&amp;nbsp;height)&lt;br /&gt;ctx.stroke&lt;br /&gt;&lt;br /&gt;ctx.move_to(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0,&amp;nbsp;height&amp;nbsp;/&amp;nbsp;4&amp;nbsp;*&amp;nbsp;1)&lt;br /&gt;ctx.line_to(width,&amp;nbsp;height&amp;nbsp;/&amp;nbsp;4&amp;nbsp;*&amp;nbsp;1)&lt;br /&gt;ctx.stroke&lt;br /&gt;&lt;br /&gt;ctx.move_to(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0,&amp;nbsp;height&amp;nbsp;/&amp;nbsp;4&amp;nbsp;*&amp;nbsp;2)&lt;br /&gt;ctx.line_to(width,&amp;nbsp;height&amp;nbsp;/&amp;nbsp;4&amp;nbsp;*&amp;nbsp;2)&lt;br /&gt;ctx.stroke&lt;br /&gt;&lt;br /&gt;ctx.move_to(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0,&amp;nbsp;height&amp;nbsp;/&amp;nbsp;4&amp;nbsp;*&amp;nbsp;3)&lt;br /&gt;ctx.line_to(width,&amp;nbsp;height&amp;nbsp;/&amp;nbsp;4&amp;nbsp;*&amp;nbsp;3)&lt;br /&gt;ctx.stroke&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;細線を描く&lt;br /&gt;ctx.set_line_width(toPoint(0.5))&lt;br /&gt;ctx.set_dash([toPoint(0.1),&amp;nbsp;toPoint(0.9)],&amp;nbsp;0)&lt;br /&gt;&lt;br /&gt;ctx.move_to(width&amp;nbsp;/&amp;nbsp;4&amp;nbsp;*&amp;nbsp;1,&amp;nbsp;0)&lt;br /&gt;ctx.line_to(width&amp;nbsp;/&amp;nbsp;4&amp;nbsp;*&amp;nbsp;1,&amp;nbsp;height)&lt;br /&gt;ctx.stroke&lt;br /&gt;&lt;br /&gt;ctx.move_to(width&amp;nbsp;/&amp;nbsp;4&amp;nbsp;*&amp;nbsp;3,&amp;nbsp;0)&lt;br /&gt;ctx.line_to(width&amp;nbsp;/&amp;nbsp;4&amp;nbsp;*&amp;nbsp;3,&amp;nbsp;height)&lt;br /&gt;ctx.stroke&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###################################################&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;出力&lt;br /&gt;#&lt;br /&gt;ctx.show_page&lt;br /&gt;sur.finish&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://cid-5142edd673fc161d.skydrive.live.com/self.aspx/.Public/name|_thumb.pdf" target="_blank"&gt;出力結果&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　大きな紙に描く前に、サムネイルを描いてどう描くか考えてます。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-6875454990511610008?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6875454990511610008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6875454990511610008'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/08/16.html' title='16分割計画書'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-4568099842458937449</id><published>2009-08-06T04:25:00.000+09:00</published><updated>2009-11-07T04:07:32.760+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>ネーム用紙を作ってみた</title><content type='html'>　この前角川に行ったときのこと。資料として見せてもらった季刊誌に久米田先生のネームが掲載されていたんですが、ネームを描くためにネーム用紙のようなものを使っていて、それがなんかいい感じだったので似たものを作ってみました。&lt;br /&gt;　直線を等分したりするのでベクター系のソフトで作るべきなんですが、手頃なソフトを持ち合わせていないのでrubyのrcairoで泥臭くゴリゴリとコードを書いて作成しました。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="ruby"&gt;&lt;br /&gt;###################################################&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;sunday_name_scale.rb&lt;br /&gt;#&lt;br /&gt;###################################################&lt;br /&gt;&lt;br /&gt;require&amp;nbsp;'cairo'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###################################################&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;準備&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;出力ファイル名&lt;br /&gt;#&amp;nbsp;出力されたファイルは、Foxit&amp;nbsp;Readerやgimpじゃないと開けないぽい&lt;br /&gt;filename&amp;nbsp;=&amp;nbsp;&amp;quot;sunday_name_scale.pdf&amp;quot;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;単位変換(mm&amp;nbsp;-&amp;gt;&amp;nbsp;pt)&lt;br /&gt;def&amp;nbsp;toPoint(n)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(n.to_f&amp;nbsp;*&amp;nbsp;360.0)&amp;nbsp;/&amp;nbsp;127.0&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;A4&lt;br /&gt;width&amp;nbsp;=&amp;nbsp;toPoint(210)&lt;br /&gt;height&amp;nbsp;=&amp;nbsp;toPoint(297)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;PDFキャンバスを作成&lt;br /&gt;sur&amp;nbsp;=&amp;nbsp;Cairo::PDFSurface.new(filename,&amp;nbsp;width,&amp;nbsp;height)&lt;br /&gt;sur.set_size(width,&amp;nbsp;height)&lt;br /&gt;ctx&amp;nbsp;=&amp;nbsp;Cairo::Context.new(sur)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###################################################&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;まんが版面の描画&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;少年サンデーのまんが版面&lt;br /&gt;hanw&amp;nbsp;=&amp;nbsp;toPoint(180)&lt;br /&gt;hanh&amp;nbsp;=&amp;nbsp;toPoint(270)&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;線の設定&lt;br /&gt;ctx.set_line_width(toPoint(0.7))&lt;br /&gt;#ctx.set_dash([toPoint(0.1),&amp;nbsp;toPoint(0.9)],&amp;nbsp;0)&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;点線でメートル法定規を&lt;br /&gt;#&amp;nbsp;foxitだと印刷時にずれることがあるので、gimpでレンダリングしてから印刷するとよさげ&lt;br /&gt;ctx.set_dash([toPoint(0.1),&amp;nbsp;toPoint(0.9),&amp;nbsp;toPoint(0.1),&amp;nbsp;toPoint(0.9),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;toPoint(0.1),&amp;nbsp;toPoint(0.9),&amp;nbsp;toPoint(0.1),&amp;nbsp;toPoint(0.8),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;toPoint(0.3),&amp;nbsp;toPoint(0.8),&amp;nbsp;toPoint(0.1),&amp;nbsp;toPoint(0.9),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;toPoint(0.1),&amp;nbsp;toPoint(0.9),&amp;nbsp;toPoint(0.1),&amp;nbsp;toPoint(0.9),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;toPoint(0.1),&amp;nbsp;toPoint(0.7),&amp;nbsp;toPoint(0.5),&amp;nbsp;toPoint(0.7)],&amp;nbsp;toPoint(9))&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;描画&lt;br /&gt;hanx&amp;nbsp;=&amp;nbsp;(width&amp;nbsp;-&amp;nbsp;hanw)&amp;nbsp;/&amp;nbsp;2&lt;br /&gt;hany&amp;nbsp;=&amp;nbsp;(height&amp;nbsp;-&amp;nbsp;hanh)&amp;nbsp;/&amp;nbsp;2&lt;br /&gt;ctx.rectangle(hanx,&amp;nbsp;hany,&amp;nbsp;hanw,&amp;nbsp;hanh)&lt;br /&gt;ctx.stroke&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###################################################&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;等分割位置表示&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;３分割&lt;br /&gt;#&lt;br /&gt;radius&amp;nbsp;=&amp;nbsp;toPoint(1)&lt;br /&gt;y3&amp;nbsp;=&amp;nbsp;(hanh&amp;nbsp;/&amp;nbsp;3)&lt;br /&gt;&lt;br /&gt;step&amp;nbsp;=&amp;nbsp;2&amp;nbsp;*&amp;nbsp;Math::PI&amp;nbsp;*&amp;nbsp;radius&amp;nbsp;/&amp;nbsp;18&lt;br /&gt;ctx.set_line_width(toPoint(0.3))&lt;br /&gt;ctx.set_dash([step&amp;nbsp;-&amp;nbsp;0.3,&amp;nbsp;step&amp;nbsp;+&amp;nbsp;0.3],&amp;nbsp;0)&lt;br /&gt;ctx.set_line_cap(Cairo::LineCap::ROUND)&lt;br /&gt;off&amp;nbsp;=&amp;nbsp;toPoint(1)&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;左右&lt;br /&gt;ctx.arc(hanx&amp;nbsp;-&amp;nbsp;radius&amp;nbsp;-&amp;nbsp;off,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;y3,&amp;nbsp;radius,&amp;nbsp;0,&amp;nbsp;2&amp;nbsp;*&amp;nbsp;Math::PI)&lt;br /&gt;ctx.stroke&lt;br /&gt;ctx.arc(hanx&amp;nbsp;-&amp;nbsp;radius&amp;nbsp;-&amp;nbsp;off,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;hanh&amp;nbsp;-&amp;nbsp;y3,&amp;nbsp;radius,&amp;nbsp;0,&amp;nbsp;2&amp;nbsp;*&amp;nbsp;Math::PI)&lt;br /&gt;ctx.stroke&lt;br /&gt;ctx.arc(hanx&amp;nbsp;+&amp;nbsp;radius&amp;nbsp;+&amp;nbsp;off&amp;nbsp;+&amp;nbsp;hanw,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;y3,&amp;nbsp;radius,&amp;nbsp;0,&amp;nbsp;2&amp;nbsp;*&amp;nbsp;Math::PI)&lt;br /&gt;ctx.stroke&lt;br /&gt;ctx.arc(hanx&amp;nbsp;+&amp;nbsp;radius&amp;nbsp;+&amp;nbsp;off&amp;nbsp;+&amp;nbsp;hanw,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;hanh&amp;nbsp;-&amp;nbsp;y3,&amp;nbsp;radius,&amp;nbsp;0,&amp;nbsp;2&amp;nbsp;*&amp;nbsp;Math::PI)&lt;br /&gt;ctx.stroke&lt;br /&gt;&lt;br /&gt;#上下&lt;br /&gt;x3&amp;nbsp;=&amp;nbsp;(hanw&amp;nbsp;/&amp;nbsp;3)&lt;br /&gt;ctx.arc(hanx&amp;nbsp;+&amp;nbsp;x3,&amp;nbsp;hany&amp;nbsp;-&amp;nbsp;off&amp;nbsp;-&amp;nbsp;radius,&amp;nbsp;radius,&amp;nbsp;0,&amp;nbsp;2&amp;nbsp;*&amp;nbsp;Math::PI)&lt;br /&gt;ctx.stroke&lt;br /&gt;ctx.arc(hanx&amp;nbsp;+&amp;nbsp;hanw&amp;nbsp;-&amp;nbsp;x3,&amp;nbsp;hany&amp;nbsp;-&amp;nbsp;off&amp;nbsp;-&amp;nbsp;radius,&amp;nbsp;radius,&amp;nbsp;0,&amp;nbsp;2&amp;nbsp;*&amp;nbsp;Math::PI)&lt;br /&gt;ctx.stroke&lt;br /&gt;&lt;br /&gt;ctx.arc(hanx&amp;nbsp;+&amp;nbsp;x3,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;hanh&amp;nbsp;+&amp;nbsp;off&amp;nbsp;+&amp;nbsp;radius,&amp;nbsp;radius,&amp;nbsp;0,&amp;nbsp;2&amp;nbsp;*&amp;nbsp;Math::PI)&lt;br /&gt;ctx.stroke&lt;br /&gt;ctx.arc(hanx&amp;nbsp;+&amp;nbsp;hanw&amp;nbsp;-&amp;nbsp;x3,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;hanh&amp;nbsp;+&amp;nbsp;off&amp;nbsp;+&amp;nbsp;radius,&amp;nbsp;radius,&amp;nbsp;0,&amp;nbsp;2&amp;nbsp;*&amp;nbsp;Math::PI)&lt;br /&gt;ctx.stroke&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;４分割&lt;br /&gt;#&lt;br /&gt;def&amp;nbsp;getd(ang)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Math::PI&amp;nbsp;*&amp;nbsp;(ang&amp;nbsp;/&amp;nbsp;180.0)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def&amp;nbsp;tri(x,&amp;nbsp;y,&amp;nbsp;ang,&amp;nbsp;len,&amp;nbsp;c)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.move_to(x,&amp;nbsp;y)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xx&amp;nbsp;=&amp;nbsp;x&amp;nbsp;+&amp;nbsp;len&amp;nbsp;*&amp;nbsp;Math::cos(getd(ang))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yy&amp;nbsp;=&amp;nbsp;y&amp;nbsp;+&amp;nbsp;len&amp;nbsp;*&amp;nbsp;Math::sin(getd(ang))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.line_to(xx,&amp;nbsp;yy)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ang&amp;nbsp;+=&amp;nbsp;120&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xx&amp;nbsp;=&amp;nbsp;xx&amp;nbsp;+&amp;nbsp;len&amp;nbsp;*&amp;nbsp;Math::cos(getd(ang))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yy&amp;nbsp;=&amp;nbsp;yy&amp;nbsp;+&amp;nbsp;len&amp;nbsp;*&amp;nbsp;Math::sin(getd(ang))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.line_to(xx,&amp;nbsp;yy)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ang&amp;nbsp;+=&amp;nbsp;120&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xx&amp;nbsp;=&amp;nbsp;xx&amp;nbsp;+&amp;nbsp;len&amp;nbsp;*&amp;nbsp;Math::cos(getd(ang))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yy&amp;nbsp;=&amp;nbsp;yy&amp;nbsp;+&amp;nbsp;len&amp;nbsp;*&amp;nbsp;Math::sin(getd(ang))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.line_to(xx,&amp;nbsp;yy)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.stroke&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;ctx.set_dash(nil,&amp;nbsp;0)&lt;br /&gt;ctx.set_line_join(Cairo::LineJoin::MITER)&lt;br /&gt;tlen&amp;nbsp;=&amp;nbsp;toPoint(2)&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;左右&lt;br /&gt;tri(hanx&amp;nbsp;-&amp;nbsp;off,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;(hanh&amp;nbsp;/&amp;nbsp;2),&amp;nbsp;150,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;tri(hanx&amp;nbsp;+&amp;nbsp;off&amp;nbsp;+&amp;nbsp;hanw,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;(hanh&amp;nbsp;/&amp;nbsp;2),&amp;nbsp;-30,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;tri(hanx&amp;nbsp;-&amp;nbsp;off,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;(hanh&amp;nbsp;/&amp;nbsp;4),&amp;nbsp;150,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;tri(hanx&amp;nbsp;+&amp;nbsp;off&amp;nbsp;+&amp;nbsp;hanw,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;(hanh&amp;nbsp;/&amp;nbsp;4),&amp;nbsp;-30,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;tri(hanx&amp;nbsp;-&amp;nbsp;off,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;(hanh&amp;nbsp;/&amp;nbsp;4)&amp;nbsp;*&amp;nbsp;3,&amp;nbsp;150,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;tri(hanx&amp;nbsp;+&amp;nbsp;off&amp;nbsp;+&amp;nbsp;hanw,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;(hanh&amp;nbsp;/&amp;nbsp;4)&amp;nbsp;*&amp;nbsp;3,&amp;nbsp;-30,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;上下&lt;br /&gt;tri(hanx&amp;nbsp;+&amp;nbsp;(hanw&amp;nbsp;/&amp;nbsp;2),&amp;nbsp;hany&amp;nbsp;-&amp;nbsp;off,&amp;nbsp;150&amp;nbsp;+&amp;nbsp;90,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;tri(hanx&amp;nbsp;+&amp;nbsp;(hanw&amp;nbsp;/&amp;nbsp;2),&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;hanh&amp;nbsp;+&amp;nbsp;off,&amp;nbsp;-30&amp;nbsp;+&amp;nbsp;90,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;&lt;br /&gt;tri(hanx&amp;nbsp;+&amp;nbsp;(hanw&amp;nbsp;/&amp;nbsp;4),&amp;nbsp;hany&amp;nbsp;-&amp;nbsp;off,&amp;nbsp;150&amp;nbsp;+&amp;nbsp;90,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;tri(hanx&amp;nbsp;+&amp;nbsp;(hanw&amp;nbsp;/&amp;nbsp;4),&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;hanh&amp;nbsp;+&amp;nbsp;off,&amp;nbsp;-30&amp;nbsp;+&amp;nbsp;90,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;&lt;br /&gt;tri(hanx&amp;nbsp;+&amp;nbsp;(hanw&amp;nbsp;/&amp;nbsp;4)&amp;nbsp;*&amp;nbsp;3,&amp;nbsp;hany&amp;nbsp;-&amp;nbsp;off,&amp;nbsp;150&amp;nbsp;+&amp;nbsp;90,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;tri(hanx&amp;nbsp;+&amp;nbsp;(hanw&amp;nbsp;/&amp;nbsp;4)&amp;nbsp;*&amp;nbsp;3,&amp;nbsp;hany&amp;nbsp;+&amp;nbsp;hanh&amp;nbsp;+&amp;nbsp;off,&amp;nbsp;-30&amp;nbsp;+&amp;nbsp;90,&amp;nbsp;tlen,&amp;nbsp;ctx)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;ノンブル&lt;br /&gt;#&lt;br /&gt;ctx.set_font_size(10)&lt;br /&gt;ctx.select_font_face(&amp;quot;NSimSun&amp;quot;,&amp;nbsp;Cairo::FONT_SLANT_NORMAL,&amp;nbsp;Cairo::FONT_WEIGHT_NORMAL)&lt;br /&gt;str&amp;nbsp;=&amp;nbsp;&amp;quot;(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;quot;&lt;br /&gt;te&amp;nbsp;=&amp;nbsp;ctx.text_extents(str)&lt;br /&gt;ctx.move_to((hanx&amp;nbsp;+&amp;nbsp;(hanw&amp;nbsp;/&amp;nbsp;2))&amp;nbsp;-&amp;nbsp;(te.width&amp;nbsp;/&amp;nbsp;2)&amp;nbsp;-&amp;nbsp;te.x_bearing,&amp;nbsp;off&amp;nbsp;+&amp;nbsp;te.height&amp;nbsp;*&amp;nbsp;2.5)&lt;br /&gt;ctx.show_text(str)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###################################################&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;出力&lt;br /&gt;#&lt;br /&gt;ctx.show_page&lt;br /&gt;sur.finish&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p style="font-size: 0.7em; color: #008000"&gt;出力結果⇒&lt;a href="http://cid-5142edd673fc161d.skydrive.live.com/self.aspx/.Public/sunday|_name|_scale.pdf"&gt;sunday_name_scale.pdf(foxit reader推奨)&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　上のソースのコメントにも書いているけど、印刷はgimp経由でやるのがよさげ。&lt;br /&gt;　さあ、用紙も出来たしあとは描くだけですよ。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-4568099842458937449?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4568099842458937449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/4568099842458937449'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/08/blog-post_06.html' title='ネーム用紙を作ってみた'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-6115391920252729952</id><published>2009-07-17T00:43:00.000+09:00</published><updated>2009-11-07T04:07:32.763+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>Illuststudio用のコピック色見本</title><content type='html'>　&lt;a href="http://www.too.com/copic/download/" target="_blank"&gt;tooのホームページで配布されている色見本データ&lt;/a&gt;を元に、Illuststudio用のコピック色見本を作ってみました。&lt;br /&gt;　ヘルプをちゃんと読んでないのでアレですが、Illuststudioのメニューを見る限り、どうもフォトショの色見本やテキストデータから色見本を作ってくれる仕組みは無いっぽい。と言って、元となるデジタルデータが用意されているものを手で入力なんてのァ計算機に対する侮辱もいいところ。&lt;br /&gt;　そんなわけで、Illuststudioのデフォルトの色見本をバイナリエディタで見て、「たぶん」とか「きっと」とアタリをつけてC言語から色見本を書き出してみました。16進数をこんなに真面目に睨んだのは自作ランチャの独自形式データを作ってたとき以来です。0x0Cがlengthを示す値だとわかって「ウヒョー」みたいな。構造体を定義してfwriteで「ウヒョー」みたいな。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ACvoKo32G9I/Sl9Lj0LMtLI/AAAAAAAAAVY/fkGxSzlpYRY/s1600-h/20090717_004256.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 290px; height: 194px;" src="http://1.bp.blogspot.com/_ACvoKo32G9I/Sl9Lj0LMtLI/AAAAAAAAAVY/fkGxSzlpYRY/s400/20090717_004256.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5359085160267297970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　で、そんな試行錯誤の結果が上。&lt;br /&gt;　勘で書いたコードだったんですが、一発でちゃんと問題なく動く色見本を生成させることができました。&lt;br /&gt;　てことで、さっそく配布を……していいのかなこれ。たぶん大丈夫だと思うけど、ライセンス的にきわどい？&lt;br /&gt;　まあ、「やめてください」と言われたら即座に消すってことで。&lt;br /&gt;&lt;br /&gt;　&lt;a href="http://cid-5142edd673fc161d.skydrive.live.com/self.aspx/.Public/Illuststudio|_colorset|_generator.zip" target="_blank"&gt;ダウンロード&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　zipで固めてIlluststudioの色見本ファイル(clsファイル)が入っているので、Illuststudioのカラーセットのサブメニューから「読み込み」してください。一度読み込めばどっかにコピーが保存されるようで、元のファイルは必要なくなるみたいです。消したいときは、やっぱりメニューから。色見本の編集ダイアログから手軽に削除できます。&lt;br /&gt;　zipには、Cのソースも入れておきました。たいしたコードじゃないのでJavascriptに移植して、dataスキームで落とす感じにすればブラウザで動的に色見本生成＆ダウンロードとかできそうですねー。&lt;br /&gt;&lt;br /&gt;　ちなみに色見本のデータはリトルエンディアンで、コーディング中に「macよりwin(いんてる)重視の設計なんだなー」とか思ってたんですが、どうもIlluststudioはMac未対応らしい。なるほど。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-6115391920252729952?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6115391920252729952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/6115391920252729952'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/07/illuststudio.html' title='Illuststudio用のコピック色見本'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ACvoKo32G9I/Sl9Lj0LMtLI/AAAAAAAAAVY/fkGxSzlpYRY/s72-c/20090717_004256.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-3647987499874934660</id><published>2009-07-16T20:56:00.000+09:00</published><updated>2009-11-07T04:07:32.764+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>Intuos4のキーリピートをどうにかする</title><content type='html'>　原稿中、せっかく引いた線が何度も消えまくり、いい加減腹立ってきたので。&lt;br /&gt;&lt;br /&gt;　「Intuos4の横に付いてるボタンにCtrl+zを設定してうっかりボタンを長押しするとキーリピートでとんでもない過去までUndoしてしまい、Undoしてしまったのにそれに気付かないで線を引いてUndoバッファが消えてRedoできなくて、もうどうしようもなくてしょんぼり問題」&lt;br /&gt;&lt;br /&gt;　をソフトの力でどうにかしてみました。&lt;br /&gt;&lt;br /&gt;　使ったのは&lt;a href="http://www.autohotkey.com/" target="_blank"&gt;Autohotkey&lt;/a&gt;。そのスクリプトに、例えばComicstudio4exとIlluststudio1のUndoキー（どちらもCtrl+z）を呼び出す新たなキー（たとえば、Ctrl+Alt+Shift+z）を書き込み、そのキー経由でCtrl+zを送信、送信後700ミリ秒待たせる、ということをやってみました。&lt;br /&gt;　ペンタブにはCtrl+zの設定を消し、Autohotkeyにラップしたキーを新たに設定します（例では、Ctrl+Alt+Shift+z）。&lt;br /&gt;&lt;br /&gt;&lt;pre class="mycode"&gt;&lt;br /&gt;;&amp;nbsp;Illuststudio1&lt;br /&gt;#IfWinActive&amp;nbsp;ahk_class&amp;nbsp;IS10FrameWnd&lt;br /&gt;$^!+z::&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Send,^z&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep,&amp;nbsp;700&lt;br /&gt;return&lt;br /&gt;#IfWinActive&lt;br /&gt;&lt;br /&gt;;&amp;nbsp;Comicstudio4&lt;br /&gt;#IfWinActive&amp;nbsp;ahk_class&amp;nbsp;CS40FrameWnd&lt;br /&gt;$^!+z::&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Send,^z&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep,&amp;nbsp;700&lt;br /&gt;return&lt;br /&gt;#IfWinActive&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/Sl8W2VXgqzI/AAAAAAAAAVQ/u4u2zV6xke4/s1600-h/20090716_205530.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 222px; height: 164px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/Sl8W2VXgqzI/AAAAAAAAAVQ/u4u2zV6xke4/s400/20090716_205530.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5359027204298681138" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;font size="1"&gt;※仕様なのか、zがZになるばかりでShiftが表示されてないけど、「Ctrl+Alt+Shift+z」をUndo用に設定している。&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;　以上の設定で、ボタンを長押ししても一瞬にしてすっごい過去に飛んだりはしなくなりました。ウェイトの700ミリ秒はちょっと長すぎるかもしれないので、使いながら微調整ですね。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-3647987499874934660?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/3647987499874934660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/3647987499874934660'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/07/intuos4.html' title='Intuos4のキーリピートをどうにかする'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/Sl8W2VXgqzI/AAAAAAAAAVQ/u4u2zV6xke4/s72-c/20090716_205530.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-5496861923484678180</id><published>2009-06-30T16:35:00.000+09:00</published><updated>2009-11-07T04:07:32.766+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>vimでTwitterを読み書きする（改）</title><content type='html'>　vimrcにfenc=utf-8とか設定したついでで、以前書いた「&lt;a href="http://string-cat.blogspot.com/2009/05/vim.html" target="_blank"&gt;vimでついったー&lt;/a&gt;」を修正しました。&lt;br /&gt;　以前のものはcp932のユニ変換の過程で「～」を読み込んだり書き込んだりしようとすると落ちたりしてたので、これをUTF-8版に改良です。とりあえず今のところ投稿に「～」使っても平気だし、読み込める。同時に文字列の長さの判定もちゃんとユニに対応（できてると思う）。&lt;br /&gt;　回線が切れてると場合によってはvimごと落ちることがあるっぽいけど、こんなのは電話交換機が古くてADSLなのに電話が来ると回線が切れるウチのような環境じゃなきゃ困らないはず。早くユニに書き換えておけばよかった。&lt;br /&gt;　下のコードを「NekoTwitter.vim」なんてな名前のファイルに、適当な文字コード（cp932で保存しても問題なさげ）で保存すれば動きます。&lt;br /&gt;（動作確認: KaoriyaVim7, Python26, WinVista）&lt;br /&gt;&lt;br /&gt;&lt;pre class="mycode"&gt;&lt;br /&gt;&amp;quot;&lt;br /&gt;&amp;quot;&amp;nbsp;NekoTwitter.vim&lt;br /&gt;&amp;quot;&amp;nbsp;2009/07/18&amp;nbsp;Nekosuna&amp;nbsp;Ippei&amp;nbsp;(&amp;nbsp;http://twitter.com/nekosuna&amp;nbsp;)&lt;br /&gt;&amp;quot;&lt;br /&gt;&amp;quot;&amp;nbsp;python26などでmd5の警告が出る場合は、twitter.pyの「import&amp;nbsp;md5」を&lt;br /&gt;&amp;quot;&amp;nbsp;「import&amp;nbsp;hashlib」に書き換え、&lt;br /&gt;&amp;quot;&amp;nbsp;_GetPathの「hashed_key&amp;nbsp;=&amp;nbsp;md5.new(key).hexdigest()」を&lt;br /&gt;&amp;quot;&amp;nbsp;「hashed_key&amp;nbsp;=&amp;nbsp;hashlib.md5(key).hexdigest()」に書き換えてください。&lt;br /&gt;&amp;quot;&lt;br /&gt;&amp;quot;&amp;nbsp;また、twitter.pyのPostUpdateに「data['sourse']&amp;nbsp;=&amp;nbsp;'vim'」を付け加えると&lt;br /&gt;&amp;quot;&amp;nbsp;vimからの投稿を明示できます。&lt;br /&gt;&amp;quot;&lt;br /&gt;&amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;vimrcに下の二行を書く&lt;br /&gt;&amp;quot;&amp;nbsp;let&amp;nbsp;g:nekotw_user_name&amp;nbsp;=&amp;nbsp;'user_name'&lt;br /&gt;&amp;quot;&amp;nbsp;let&amp;nbsp;g:nekotw_user_pass&amp;nbsp;=&amp;nbsp;'pass'&lt;br /&gt;&lt;br /&gt;if&amp;nbsp;!exists('g:nekotw_user_name')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echoerr&amp;nbsp;&amp;quot;NekoTwitterError:&amp;nbsp;Please&amp;nbsp;set&amp;nbsp;g:nekotw_user_name&amp;nbsp;in&amp;nbsp;vimrc.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finish&lt;br /&gt;endif&lt;br /&gt;if&amp;nbsp;!exists('g:nekotw_user_pass')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echoerr&amp;nbsp;&amp;quot;NekoTwitterError:&amp;nbsp;Please&amp;nbsp;set&amp;nbsp;g:nekotw_user_pass&amp;nbsp;in&amp;nbsp;vimrc.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finish&lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;ウィンドウ作成&lt;br /&gt;function!&amp;nbsp;s:NekoTwitter()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;bufexists('ReadTwitter')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bdelete&amp;nbsp;NekoTwitter&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endif&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sil&amp;nbsp;bel&amp;nbsp;15new&amp;nbsp;NekoTwitter&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;set&amp;nbsp;fileencoding=utf-8&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;set&amp;nbsp;fileformat=unix&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call&amp;nbsp;s:SetSyn()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call&amp;nbsp;s:ReadTwitter()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;nomod&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;ro&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exe&amp;nbsp;&amp;quot;:normal&amp;nbsp;gg&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;nbsp;qで終了、iで投稿&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;noremap&amp;nbsp;&amp;lt;buffer&amp;gt;&amp;lt;silent&amp;gt;&amp;nbsp;q&amp;nbsp;:q&amp;lt;CR&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;noremap&amp;nbsp;&amp;lt;buffer&amp;gt;&amp;lt;silent&amp;gt;&amp;nbsp;i&amp;nbsp;:call&amp;nbsp;&amp;lt;SID&amp;gt;PostTwitter()&amp;lt;CR&amp;gt;&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;読み込み&lt;br /&gt;function!&amp;nbsp;s:ReadTwitter()&lt;br /&gt;python&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;EOF&lt;br /&gt;import&amp;nbsp;vim,&amp;nbsp;twitter,&amp;nbsp;simplejson,&amp;nbsp;re&lt;br /&gt;u&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;g:nekotw_user_name&amp;quot;)&lt;br /&gt;p&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;g:nekotw_user_pass&amp;quot;)&lt;br /&gt;e&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;&amp;amp;enc&amp;quot;)&lt;br /&gt;api&amp;nbsp;=&amp;nbsp;twitter.Api(u,&amp;nbsp;p)&lt;br /&gt;timeline&amp;nbsp;=&amp;nbsp;api.GetFriendsTimeline()&lt;br /&gt;for&amp;nbsp;t&amp;nbsp;in&amp;nbsp;timeline:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vim.current.buffer.append('@%s'&amp;nbsp;%&amp;nbsp;re.sub('\n',&amp;nbsp;'',&amp;nbsp;t.user.screen_name.encode(e)))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vim.current.buffer.append('&amp;nbsp;&amp;nbsp;%s'&amp;nbsp;%&amp;nbsp;re.sub('\n',&amp;nbsp;'',&amp;nbsp;t.text.encode(e)))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vim.current.buffer.append('&amp;nbsp;&amp;nbsp;[%s]'&amp;nbsp;%&amp;nbsp;t.relative_created_at.encode(e))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vim.current.buffer.append('')&lt;br /&gt;EOF&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;色&lt;br /&gt;function!&amp;nbsp;s:SetSyn()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;syntax&amp;nbsp;match&amp;nbsp;name&amp;nbsp;/^@[a-zA-Z_]*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;syntax&amp;nbsp;match&amp;nbsp;follow&amp;nbsp;/@[a-zA-Z_]*/&amp;nbsp;contains=name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;syntax&amp;nbsp;match&amp;nbsp;igno&amp;nbsp;/^C:\\.*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;syntax&amp;nbsp;match&amp;nbsp;come&amp;nbsp;/^&amp;nbsp;&amp;nbsp;\[[^\]]*]/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;highlight&amp;nbsp;link&amp;nbsp;name&amp;nbsp;Label&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;highlight&amp;nbsp;link&amp;nbsp;follow&amp;nbsp;Underlined&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;highlight&amp;nbsp;link&amp;nbsp;igno&amp;nbsp;Ignore&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;highlight&amp;nbsp;link&amp;nbsp;come&amp;nbsp;Comment&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;nbsp;単語の区切りに@を追加&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setlocal&amp;nbsp;iskeyword=@-90,97-122,48-57,_&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;投稿&lt;br /&gt;function!&amp;nbsp;s:PostTwitter()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;post&amp;nbsp;=&amp;nbsp;input(&amp;quot;twitter:&amp;nbsp;&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;strlen(substitute(post,&amp;nbsp;&amp;quot;.&amp;quot;,&amp;nbsp;&amp;quot;x&amp;quot;,&amp;nbsp;&amp;quot;g&amp;quot;))&amp;nbsp;&amp;gt;&amp;nbsp;140&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echoerr&amp;nbsp;&amp;quot;NekoTwitter&amp;nbsp;Error:&amp;nbsp;140&amp;nbsp;over&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;python&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;EOF&lt;br /&gt;import&amp;nbsp;vim,&amp;nbsp;twitter&lt;br /&gt;post&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;post&amp;quot;)&lt;br /&gt;u&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;g:nekotw_user_name&amp;quot;)&lt;br /&gt;p&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;g:nekotw_user_pass&amp;quot;)&lt;br /&gt;api&amp;nbsp;=&amp;nbsp;twitter.Api(u,&amp;nbsp;p)&lt;br /&gt;api.PostUpdate(unicode(post,&amp;nbsp;'UTF-8'))&lt;br /&gt;EOF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;Send&amp;nbsp;&amp;quot;.strlen(post).&amp;quot;&amp;nbsp;chars.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endif&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;:NekoTwitter&amp;lt;CR&amp;gt;&amp;nbsp;すると機能が呼び出されます&lt;br /&gt;command&amp;nbsp;NekoTwitter&amp;nbsp;:call&amp;nbsp;&amp;lt;SID&amp;gt;NekoTwitter()&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-5496861923484678180?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5496861923484678180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/5496861923484678180'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/06/vimtwitter.html' title='vimでTwitterを読み書きする（改）'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-8540572096516276792</id><published>2009-05-31T23:08:00.000+09:00</published><updated>2009-11-07T04:07:32.769+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>showwin</title><content type='html'>　改稿終了。てことで、ネットをプラプラしているのですが。&lt;br /&gt;&lt;br /&gt;　linuxなんかでおなじみのコマンドラインmp3プレイヤーである、&lt;a href="http://www.mpg123.de/download/win32/" target="_blank"&gt;mpg123&lt;/a&gt;をダウンロードしてみました。コマンドからmp3を再生できれば、例えばvistaになって明らかに使いにくくなったファイルダイアログを使わずとも、ワイルドカードやdirなんかでファイルを設定できます。&lt;br /&gt;　そんなことを考えながら落として見たところ……まあ、これが大変微妙。&lt;br /&gt;　再生中はDOS窓が表示されっぱになるので、ウザイから「start /B」でウィンドウを消したりするわけですが、windowsのコマンドプロンプトはプロセスをstartでバックグラウンド化できるもののフォアグラウンド化できません（イヤ、もしかしたら調べまくればやり方みつかるかもですが）。&lt;br /&gt;　てわけで、改稿も終わったし、指定した非表示ウィンドウを表示するコマンドラインプログラムを作ってみました。&lt;br /&gt;　Autohotkeyなんかで似たようなことができるんですが……まあ、一応⇒&lt;a href="http://cid-5142edd673fc161d.skydrive.live.com/self.aspx/.Public/showwin.zip" target="_blank"&gt;showwin.zip&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;○使い方&lt;br /&gt;　mpg123は、argvのゼロ番にでも依存しているのか、それとも私の環境が悪いのか、mpg123.exeをフルパスで呼び出さないと音楽を再生できないので、&lt;br /&gt;&lt;br /&gt;&lt;pre class="mycode"&gt;&lt;br /&gt;&amp;gt;&amp;nbsp;start&amp;nbsp;&amp;quot;mpg123&amp;quot;&amp;nbsp;/B&amp;nbsp;&amp;quot;C:/.../mpg123/mpg123.exe&amp;quot;&amp;nbsp;&amp;quot;C:/music/*.mp3&amp;quot;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;　てなカンジでコマンドを打つ。するとバックグラウンドで再生が始まります。&lt;br /&gt;　で、止めたくなったときは新たにコマンドプロンプトを開き、&lt;br /&gt;&lt;br /&gt;&lt;pre class="mycode"&gt;&lt;br /&gt;&amp;gt;&amp;nbsp;rem&amp;nbsp;showwinの呼び出し。&lt;br /&gt;&amp;gt;&amp;nbsp;rem&amp;nbsp;「-cmd」フラグを設定すればConsoleWindowClassは書かなくて良い。&lt;br /&gt;&amp;gt;&amp;nbsp;rem&amp;nbsp;SW_SHOWなどの定数を表す文字列は内部で数値に変換される。&lt;br /&gt;&lt;br /&gt;&amp;gt;&amp;nbsp;showwin.exe&amp;nbsp;-t&amp;nbsp;&amp;quot;mpg123&amp;quot;&amp;nbsp;-c&amp;nbsp;&amp;quot;ConsoleWindowClass&amp;quot;&amp;nbsp;SW_SHOW&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;　すればmpg123が表示されるので、Ctrl+Cで終了できます。あっけないですね。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　いやあ、しかしこうしてみると、&lt;span style="font-weight:bold;color:red;"&gt;やっぱfoobar2000が便利ですね&lt;/span&gt;（結論）。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-8540572096516276792?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/8540572096516276792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/8540572096516276792'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/05/showwin.html' title='showwin'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-7535838688623584475</id><published>2009-05-31T01:04:00.000+09:00</published><updated>2009-11-07T04:07:32.771+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>クラブサンデーをハックしてみた</title><content type='html'>　読みに行ったりはもちろん、私の場合は買い取ってもらったりもしている小学館の話題のWebサービス・&lt;a href="http://club.shogakukan.co.jp/" target="_blank"&gt;クラブサンデー&lt;/a&gt;をご存じですか。オンラインで漫画が読み放題で、好評につき無料期間延長という素晴らしいサイトです。&lt;br /&gt;&lt;br /&gt;　と、ほめておいた上で。&lt;br /&gt;&lt;br /&gt;　このステキサイトに、ついさっき（自分のを見ないように全神経を集中させながら）漫画を読みに行ったんですが、いざ読もうとすると、私が使っているHappy Hacking Keyboardにはカーソルキーが無いため、少し……てか超、イラっときました。たかがページをめくるだけの操作で、なぜに「Fn+;」を押さねばならないのかと。&lt;br /&gt;　……まあ、マニア向けのキーボードを使っている私が悪いっちゃあ悪いんでしょうが、そういうマニアな子のためにキーボード・カスタマイズを用意してくれればよいのに、クラサンの漫画ビューアにはキー・カスタマイズがありません。マウスで読む場合は、ムダにでかい緑のマウスカーソルが画面をうろついてイラっと来るし……正直何でこんな仕様にしているのか、意味がわからん作りになってます。&lt;br /&gt;&lt;br /&gt;　と、いうわけで、ちょっくらビューアをハックしてみることにしました。&lt;br /&gt;&lt;br /&gt;　やりたいことは、jでページをめくり、kでページを戻す、という、ただそれだけ。Ctrl+Uでソースを見ると、どうもMoveLeftMouseDown()という関数で漫画を表示しているフラッシュ動画にページをめくる指示を出しているようなので、漫画を表示している状態でブラウザのURL欄にonKeyPressを組み込むコードを直打ちです。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="js"&gt;javascript:document.onkeypress=function(event){var ch=event.keyCode!=0?event.keyCode:event.charCode;switch(ch){case "j".charCodeAt(0):MoveLeftMouseDown();break;case "k".charCodeAt(0):MoveRightMouseDown();break;}};void(0);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;　上のコードをURL欄に打ち込み、エンターしてみると……やりました。バッチリうまくいきました。&lt;br /&gt;　フラッシュにフォーカスが逝っている場合はページをめくれませんが、フラッシュを最大化せず、画面上部のボタンが並んでいる部分にフォーカスが当たっている状態ならjkでページを前後させることができます。&lt;br /&gt;　キーまわりの動作はOSやブラウザによってかなり違うらしいのに動作確認はFirefox3.0.10のみですが、クラサンユーザーでマウスやカーソルキーが嫌いでFirefoxマンセーな人は是非（上のコードをブックマークのURLに設定し、クラサンのビューアを表示した状態でブックマークを呼び出せばjkでページを送れます）。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://string-cat.blogspot.com/2009/08/greasemonkey.html"&gt;※greasemonkeyに移植してみたものがあります。&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-7535838688623584475?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/7535838688623584475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/7535838688623584475'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/05/blog-post.html' title='クラブサンデーをハックしてみた'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-500494532045187579</id><published>2009-05-30T03:26:00.000+09:00</published><updated>2009-11-07T04:07:32.774+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>rcairoでリサジュー</title><content type='html'>　改稿も四回目が終わったので、&lt;a href="http://string-cat.blogspot.com/2009/05/blog-post_29.html" target="_blank"&gt;昨日のjsプログラム&lt;/a&gt;を、さらにruby/cairoに移植してみました。pngの他、svgやpdfで出力できるので印刷バッチこいです。&lt;br /&gt;&lt;br /&gt;&lt;pre  name="code" class="ruby"&gt;&lt;br /&gt;#!&amp;nbsp;ruby&amp;nbsp;-Ks&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;lissajous.rb&lt;br /&gt;#&amp;nbsp;lissajous&amp;nbsp;curveを描画&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;C:\foo&amp;gt;ruby&amp;nbsp;lissajous.rb&amp;nbsp;hoge.svg&lt;br /&gt;#&amp;nbsp;などとして実行&lt;br /&gt;&lt;br /&gt;require&amp;nbsp;'cairo'&lt;br /&gt;$KCODE&amp;nbsp;=&amp;nbsp;'SJIS'&lt;br /&gt;&lt;br /&gt;_end&amp;nbsp;=&amp;nbsp;35.0&lt;br /&gt;ww&amp;nbsp;=&amp;nbsp;888&lt;br /&gt;hh&amp;nbsp;=&amp;nbsp;480&lt;br /&gt;w&amp;nbsp;=&amp;nbsp;ww&amp;nbsp;/&amp;nbsp;2.0&lt;br /&gt;h&amp;nbsp;=&amp;nbsp;hh&amp;nbsp;/&amp;nbsp;2.0&lt;br /&gt;cx&amp;nbsp;=&amp;nbsp;w&lt;br /&gt;cy&amp;nbsp;=&amp;nbsp;h&lt;br /&gt;a&amp;nbsp;=&amp;nbsp;15.0&lt;br /&gt;b&amp;nbsp;=&amp;nbsp;30.0&lt;br /&gt;deg&amp;nbsp;=&amp;nbsp;0.0&lt;br /&gt;step&amp;nbsp;=&amp;nbsp;0.1&lt;br /&gt;time&amp;nbsp;=&amp;nbsp;0.0&lt;br /&gt;x&amp;nbsp;=&amp;nbsp;0.0&lt;br /&gt;y&amp;nbsp;=&amp;nbsp;0.0&lt;br /&gt;fn&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;quot;&lt;br /&gt;surface&amp;nbsp;=&amp;nbsp;0;&lt;br /&gt;lw&amp;nbsp;=&amp;nbsp;0.3&lt;br /&gt;col&amp;nbsp;=&amp;nbsp;&amp;quot;#00008080&amp;quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;使い方表示&lt;br /&gt;def&amp;nbsp;usage()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;[&amp;nbsp;LISSAJOUS&amp;nbsp;CURVE&amp;nbsp;]&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;C:\\..\\usage&amp;gt;&amp;nbsp;ruby&amp;nbsp;lissajous.rb&amp;nbsp;[options...]&amp;nbsp;filename&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;filename:&amp;nbsp;*.png,&amp;nbsp;*.pdf,&amp;nbsp;or&amp;nbsp;*.svg&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;nbsp;--start&amp;nbsp;-S:&amp;nbsp;ループの初期値を設定。デフォルトはゼロ。&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;--end&amp;nbsp;-E:&amp;nbsp;ループの終了条件を設定。デフォルトは35.0。&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;nbsp;&amp;nbsp;--step&amp;nbsp;-s:&amp;nbsp;ループの増え幅を設定。デフォルトは0.1。&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;nbsp;--width&amp;nbsp;-W:&amp;nbsp;画像の幅を設定。デフォルトは888px。&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;--height&amp;nbsp;-H:&amp;nbsp;画像の高さを設定。デフォルトは480px。&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--a&amp;nbsp;-a:&amp;nbsp;揺れ幅aの値を設定。デフォルトは15.0。&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--b&amp;nbsp;-b:&amp;nbsp;揺れ幅bの値を設定。デフォルトは30.0。&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;--deg&amp;nbsp;-d:&amp;nbsp;degの値を設定。デフォルトは0.0。&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;nbsp;&amp;nbsp;--line&amp;nbsp;-l:&amp;nbsp;線の幅を設定。デフォルトは0.3。&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;nbsp;--color&amp;nbsp;-c:&amp;nbsp;線の色を設定。デフォルトは#00008080(#RRGGBBAA)。&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;nbsp;&amp;nbsp;--help&amp;nbsp;-h:&amp;nbsp;このヘルプを表示して終了。&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;1&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;引数処理&lt;br /&gt;if&amp;nbsp;ARGV.length&amp;nbsp;==&amp;nbsp;0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usage()&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;for&amp;nbsp;i&amp;nbsp;in&amp;nbsp;0&amp;nbsp;...&amp;nbsp;ARGV.length&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;ARGV[i]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;&amp;quot;--start&amp;quot;,&amp;nbsp;&amp;quot;-S&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time&amp;nbsp;=&amp;nbsp;ARGV[i].to_f&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;&amp;quot;--end&amp;quot;,&amp;nbsp;&amp;quot;-E&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_end&amp;nbsp;=&amp;nbsp;ARGV[i].to_f&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;&amp;quot;--width&amp;quot;,&amp;nbsp;&amp;quot;-W&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ww&amp;nbsp;=&amp;nbsp;ARGV[i].to_i&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;&amp;quot;--height&amp;quot;,&amp;nbsp;&amp;quot;-H&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hh&amp;nbsp;=&amp;nbsp;ARGV[i].to_i&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;&amp;quot;--a&amp;quot;,&amp;nbsp;&amp;quot;-a&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a&amp;nbsp;=&amp;nbsp;ARGV[i].to_f&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;&amp;quot;--b&amp;quot;,&amp;nbsp;&amp;quot;-b&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b&amp;nbsp;=&amp;nbsp;ARGV[i].to_f&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;&amp;quot;--deg&amp;quot;,&amp;nbsp;&amp;quot;-d&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deg&amp;nbsp;=&amp;nbsp;ARGV[i].to_f&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;&amp;quot;--step&amp;quot;,&amp;nbsp;&amp;quot;-s&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;step&amp;nbsp;=&amp;nbsp;ARGV[i].to_f&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;&amp;quot;--line&amp;quot;,&amp;nbsp;&amp;quot;-l&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lw&amp;nbsp;=&amp;nbsp;ARGV[i].to_f&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;&amp;quot;--color&amp;quot;,&amp;nbsp;&amp;quot;-c&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;col&amp;nbsp;=&amp;nbsp;ARGV[i]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;&amp;quot;--help&amp;quot;,&amp;nbsp;&amp;quot;-h&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fn&amp;nbsp;=&amp;nbsp;ARGV[i]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;#&amp;nbsp;case&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;filename&lt;br /&gt;if&amp;nbsp;fn&amp;nbsp;==&amp;nbsp;&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;Error:&amp;nbsp;no&amp;nbsp;filename&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;-1&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;surface&lt;br /&gt;if&amp;nbsp;fn&amp;nbsp;=~&amp;nbsp;/\.pdf/i&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;surface&amp;nbsp;=&amp;nbsp;Cairo::PDFSurface.new(fn,&amp;nbsp;ww,&amp;nbsp;hh)&lt;br /&gt;elsif&amp;nbsp;fn&amp;nbsp;=~&amp;nbsp;/\.svg/i&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;surface&amp;nbsp;=&amp;nbsp;Cairo::SVGSurface.new(fn,&amp;nbsp;ww,&amp;nbsp;hh)&lt;br /&gt;elsif&amp;nbsp;fn&amp;nbsp;=~&amp;nbsp;/\.png/i&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;surface&amp;nbsp;=&amp;nbsp;Cairo::ImageSurface.new(Cairo::FORMAT_ARGB32,&amp;nbsp;ww,&amp;nbsp;hh)&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;Error:&amp;nbsp;Unknown&amp;nbsp;filetype&amp;nbsp;'&amp;quot;&amp;nbsp;+&amp;nbsp;fn&amp;nbsp;+&amp;nbsp;&amp;quot;'&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;-2&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;if&amp;nbsp;!surface&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;Error:&amp;nbsp;cairo-surface&amp;nbsp;could&amp;nbsp;not&amp;nbsp;be&amp;nbsp;created.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;-3&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;context&lt;br /&gt;ctx&amp;nbsp;=&amp;nbsp;Cairo::Context.new(surface)&lt;br /&gt;if&amp;nbsp;!ctx&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts&amp;nbsp;&amp;quot;Error:&amp;nbsp;cairo-context&amp;nbsp;could&amp;nbsp;not&amp;nbsp;be&amp;nbsp;created.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;-4&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;init&lt;br /&gt;w&amp;nbsp;=&amp;nbsp;ww&amp;nbsp;/&amp;nbsp;2.0&lt;br /&gt;cx&amp;nbsp;=&amp;nbsp;w&lt;br /&gt;x&amp;nbsp;=&amp;nbsp;w&amp;nbsp;*&amp;nbsp;Math.sin(a&amp;nbsp;*&amp;nbsp;time&amp;nbsp;+&amp;nbsp;deg)&amp;nbsp;+&amp;nbsp;cx&lt;br /&gt;h&amp;nbsp;=&amp;nbsp;hh&amp;nbsp;/&amp;nbsp;2.0&lt;br /&gt;cy&amp;nbsp;=&amp;nbsp;h&lt;br /&gt;y&amp;nbsp;=&amp;nbsp;h&amp;nbsp;*&amp;nbsp;Math.sin(b&amp;nbsp;*&amp;nbsp;time)&amp;nbsp;+&amp;nbsp;cy&lt;br /&gt;ctx.line_width&amp;nbsp;=&amp;nbsp;lw&lt;br /&gt;ctx.set_source_color(col)&lt;br /&gt;ctx.move_to(x,&amp;nbsp;y)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;draw&lt;br /&gt;while&amp;nbsp;time&amp;nbsp;&amp;lt;&amp;nbsp;_end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time&amp;nbsp;=&amp;nbsp;time&amp;nbsp;+&amp;nbsp;step&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;=&amp;nbsp;w&amp;nbsp;*&amp;nbsp;Math.sin(a&amp;nbsp;*&amp;nbsp;time&amp;nbsp;+&amp;nbsp;deg)&amp;nbsp;+&amp;nbsp;cx&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y&amp;nbsp;=&amp;nbsp;h&amp;nbsp;*&amp;nbsp;Math.sin(b&amp;nbsp;*&amp;nbsp;time)&amp;nbsp;+&amp;nbsp;cy&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ctx.line_to(x,&amp;nbsp;y)&lt;br /&gt;end&lt;br /&gt;ctx.stroke()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&amp;nbsp;write&lt;br /&gt;if&amp;nbsp;fn&amp;nbsp;=~&amp;nbsp;/\.pdf/i&amp;nbsp;||&amp;nbsp;fn&amp;nbsp;=~&amp;nbsp;/\.svg/i&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ctx.show_page&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;surface.finish&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;surface.write_to_png(fn)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;exit&amp;nbsp;0&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;　しかし、Rubyはそれなりに便利なんだけど、どうしてもARGV.shiftとかは「……？」です。eachよりfor(;;)のほうが頭に馴染んでいる、というか。上でも結局Cみたいなループを使ってるし、いっそschemeみたいに、基本ループは再帰のみ、などとしてくれたほうが頭の切り替えが楽な気がします。あと、case/whenは違和感ありまくり。これって普通にC系のswitch文じゃダメだったんでしょうかね？&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-500494532045187579?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/500494532045187579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/500494532045187579'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/05/rcairo.html' title='rcairoでリサジュー'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-1593537322633203983</id><published>2009-05-29T02:46:00.000+09:00</published><updated>2009-11-07T04:07:32.776+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>リサジュー曲線</title><content type='html'>　こんなもんついったーに書くべきだけど、まあ、画像とセットで紹介したかったので。&lt;br /&gt;&lt;br /&gt;　リサジュー曲線をJavascript &amp;amp; Canvas(Firefox)で描いてみました。&lt;br /&gt;　参考にしたのは&lt;a href="http://blog.chikathreesix.com/2008/09/post-1.html" target="_blank"&gt;ここ&lt;/a&gt;のサイト。Actionscript3のコードをそのままjsに移植したら動きました（a、bなどのfloatなパラメータがフォームのvalueから直読みできなくて、parseFloatしないとダメなのに少しハマったけど）。&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ACvoKo32G9I/Sh7N7qlUg7I/AAAAAAAAAR4/qDtm1RNbdvQ/s1600-h/20090529_024450.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 180px; height: 333px;" src="http://3.bp.blogspot.com/_ACvoKo32G9I/Sh7N7qlUg7I/AAAAAAAAAR4/qDtm1RNbdvQ/s400/20090529_024450.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5340932633034785714" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;　ところで、リサジューてリサージュと言っちゃダメなんですかね？　リサージュで記憶してたんですが、Wikipediaとかを見るとリサジューが正式名称らしい。う～ん……。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-1593537322633203983?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1593537322633203983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1593537322633203983'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/05/blog-post_29.html' title='リサジュー曲線'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ACvoKo32G9I/Sh7N7qlUg7I/AAAAAAAAAR4/qDtm1RNbdvQ/s72-c/20090529_024450.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-1485281754502425088</id><published>2009-05-22T13:49:00.000+09:00</published><updated>2009-11-07T04:07:32.779+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>vimでついったーを読む</title><content type='html'>※修正版が&lt;a href="http://string-cat.blogspot.com/2009/06/vimtwitter.html"&gt;こちら&lt;/a&gt;にあります&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　なんか意外とサクサク進み、予定通り改稿が100%まで行けました。まあ、単に一回すべての改稿指示に目を通したってだけで、このあとまた１から読み返してさらに改稿しなきゃならないんですが。&lt;br /&gt;&lt;br /&gt;　で、改稿のときひたすらついったーにつぶやいていたので、一旦脳を休ませる意味合いも兼ね、vimでついったーのタイムラインを表示するスクリプトを組んでみました。さすがに今日は余計なダウンロードなどせず、最初からif_pythonで書こうと決めて書きましたよ。&lt;br /&gt;　たいして深く考えずに書いたものなので、探せばどっかに絶対これより優秀なスクリプトがあるでしょうが、まあ、頭の体操ということで。&lt;br /&gt;&lt;br /&gt;&lt;pre class="mycode"&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;vimでついったーを読む。要if_python &amp;amp; twitter.py&lt;br /&gt;&amp;quot;&amp;nbsp;vimはSJISで使っていると仮定&lt;br /&gt;&lt;br /&gt;function!&amp;nbsp;ReadTwitter()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bel&amp;nbsp;10new&amp;nbsp;twitter&lt;br /&gt;python&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;EOF&lt;br /&gt;import&amp;nbsp;vim,&amp;nbsp;twitter,&amp;nbsp;simplejson,&amp;nbsp;re&lt;br /&gt;#&amp;nbsp;TODO: ここに自分のユーザー名とパスワードを入れるべし&lt;br /&gt;api&amp;nbsp;=&amp;nbsp;twitter.Api('nekosuna',&amp;nbsp;'*****')&lt;br /&gt;timeline&amp;nbsp;=&amp;nbsp;api.GetFriendsTimeline()&lt;br /&gt;for&amp;nbsp;t&amp;nbsp;in&amp;nbsp;timeline:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vim.current.buffer.append('【%s】'&amp;nbsp;%&amp;nbsp;re.sub('\n',&amp;nbsp;'',&amp;nbsp;t.user.screen_name.encode('shift-jis')))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vim.current.buffer.append(re.sub('\n',&amp;nbsp;'',&amp;nbsp;t.text.encode('shift-jis')))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vim.current.buffer.append('')&lt;br /&gt;EOF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;nomod&lt;br /&gt;endfunction&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;　:call ReadTwitter()&amp;lt;CR&amp;gt;でついったー表示。自分やフォローしてる人たちのつぶやきが、ウィンドウ下部についっと出てきます。&lt;br /&gt;　ああ、pythonかわいいよpython。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;◇5/23追記&lt;br /&gt;　さらに改造してみた。&lt;br /&gt;　twitter.pyをいじって警告が出ないようにし、vimrcにはユーザー名とパスワードのみを記述。pythonコードはNekoTwitter.vimというファイルにまとめてpluginフォルダにぶち込んだ。&lt;br /&gt;　シンタックスやら何やらも追加。qでバッファを閉じたりなんだり。&lt;br /&gt;　ほんとは@の上でエンターすると投稿開始、みたくしたいけどもう面倒になってきた。&lt;br /&gt;&lt;br /&gt;&lt;pre class="mycode"&gt;&lt;br /&gt;&amp;quot;&lt;br /&gt;&amp;quot;&amp;nbsp;NekoTwitter.vim&lt;br /&gt;&amp;quot;&amp;nbsp;2009/05/23&amp;nbsp;Nekosuna&amp;nbsp;Ippei&amp;nbsp;(&amp;nbsp;http://twitter.com/nekosuna&amp;nbsp;)&lt;br /&gt;&amp;quot;&lt;br /&gt;&amp;quot;&amp;nbsp;python26などでmd5の警告が出る場合は、twitter.pyの「import&amp;nbsp;md5」を&lt;br /&gt;&amp;quot;&amp;nbsp;「import&amp;nbsp;hashlib」に書き換え、&lt;br /&gt;&amp;quot;&amp;nbsp;_GetPathの「hashed_key&amp;nbsp;=&amp;nbsp;md5.new(key).hexdigest()」を&lt;br /&gt;&amp;quot;&amp;nbsp;「hashed_key&amp;nbsp;=&amp;nbsp;hashlib.md5(key).hexdigest()」に書き換えてください。&lt;br /&gt;&amp;quot;&lt;br /&gt;&amp;quot;&amp;nbsp;また、twitter.pyのPostUpdateに「data['sourse']&amp;nbsp;=&amp;nbsp;'vim'」を付け加えると&lt;br /&gt;&amp;quot;&amp;nbsp;vimからの投稿を明示できます。&lt;br /&gt;&amp;quot;&lt;br /&gt;&amp;quot;&amp;nbsp;vimはwindows/cp932で使っているものとします&lt;br /&gt;&amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;vimrcに下の二行を書く&lt;br /&gt;&amp;quot;&amp;nbsp;let&amp;nbsp;g:nekotw_user_name&amp;nbsp;=&amp;nbsp;'user_name'&lt;br /&gt;&amp;quot;&amp;nbsp;let&amp;nbsp;g:nekotw_user_pass&amp;nbsp;=&amp;nbsp;'pass'&lt;br /&gt;&lt;br /&gt;if&amp;nbsp;!exists('g:nekotw_user_name')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echoerr&amp;nbsp;&amp;quot;NekoTwitterError:&amp;nbsp;Please&amp;nbsp;set&amp;nbsp;g:nekotw_user_name&amp;nbsp;in&amp;nbsp;vimrc.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finish&lt;br /&gt;endif&lt;br /&gt;if&amp;nbsp;!exists('g:nekotw_user_pass')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echoerr&amp;nbsp;&amp;quot;NekoTwitterError:&amp;nbsp;Please&amp;nbsp;set&amp;nbsp;g:nekotw_user_pass&amp;nbsp;in&amp;nbsp;vimrc.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finish&lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;ウィンドウ作成&lt;br /&gt;function!&amp;nbsp;s:NekoTwitter()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;bufexists('ReadTwitter')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bdelete&amp;nbsp;NekoTwitter&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endif&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bel&amp;nbsp;15new&amp;nbsp;NekoTwitter&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call&amp;nbsp;s:SetSyn()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call&amp;nbsp;s:ReadTwitter()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;nomod&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;ro&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exe&amp;nbsp;&amp;quot;:normal&amp;nbsp;gg&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;nbsp;qで終了、iで投稿&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;noremap&amp;nbsp;&amp;lt;buffer&amp;gt;&amp;nbsp;q&amp;nbsp;:q&amp;lt;CR&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;noremap&amp;nbsp;&amp;lt;buffer&amp;gt;&amp;nbsp;i&amp;nbsp;:call&amp;nbsp;&amp;lt;SID&amp;gt;PostTwitter()&amp;lt;CR&amp;gt;&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;読み込み&lt;br /&gt;function!&amp;nbsp;s:ReadTwitter()&lt;br /&gt;python&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;EOF&lt;br /&gt;import&amp;nbsp;vim,&amp;nbsp;twitter,&amp;nbsp;simplejson,&amp;nbsp;re&lt;br /&gt;u&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;g:nekotw_user_name&amp;quot;)&lt;br /&gt;p&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;g:nekotw_user_pass&amp;quot;)&lt;br /&gt;api&amp;nbsp;=&amp;nbsp;twitter.Api(u,&amp;nbsp;p)&lt;br /&gt;timeline&amp;nbsp;=&amp;nbsp;api.GetFriendsTimeline()&lt;br /&gt;for&amp;nbsp;t&amp;nbsp;in&amp;nbsp;timeline:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vim.current.buffer.append('@%s'&amp;nbsp;%&amp;nbsp;re.sub('\n',&amp;nbsp;'',&amp;nbsp;t.user.screen_name.encode('CP932')))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vim.current.buffer.append('　%s'&amp;nbsp;%&amp;nbsp;re.sub('\n',&amp;nbsp;'',&amp;nbsp;t.text.encode('CP932')))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vim.current.buffer.append('　[%s]'&amp;nbsp;%&amp;nbsp;t.relative_created_at.encode('CP932'))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vim.current.buffer.append('')&lt;br /&gt;EOF&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;色&lt;br /&gt;function!&amp;nbsp;s:SetSyn()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;syntax&amp;nbsp;match&amp;nbsp;name&amp;nbsp;/^@[a-zA-Z_]*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;syntax&amp;nbsp;match&amp;nbsp;follow&amp;nbsp;/@[a-zA-Z_]*/&amp;nbsp;contains=name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;syntax&amp;nbsp;match&amp;nbsp;igno&amp;nbsp;/^C:\\.*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;syntax&amp;nbsp;match&amp;nbsp;come&amp;nbsp;/^　\[[^\]]*]/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;highlight&amp;nbsp;link&amp;nbsp;name&amp;nbsp;Label&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;highlight&amp;nbsp;link&amp;nbsp;follow&amp;nbsp;Underlined&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;highlight&amp;nbsp;link&amp;nbsp;igno&amp;nbsp;Ignore&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;highlight&amp;nbsp;link&amp;nbsp;come&amp;nbsp;Comment&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;nbsp;単語の区切りに@を追加&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setlocal&amp;nbsp;iskeyword=@-90,97-122,48-57,_&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;投稿&lt;br /&gt;function!&amp;nbsp;s:PostTwitter()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;post&amp;nbsp;=&amp;nbsp;input(&amp;quot;twitter:&amp;nbsp;&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;strlen(post)&amp;nbsp;&amp;gt;&amp;nbsp;140&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echoerr&amp;nbsp;140&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;python&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;EOF&lt;br /&gt;import&amp;nbsp;vim,&amp;nbsp;twitter&lt;br /&gt;post&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;post&amp;quot;)&lt;br /&gt;u&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;g:nekotw_user_name&amp;quot;)&lt;br /&gt;p&amp;nbsp;=&amp;nbsp;vim.eval(&amp;quot;g:nekotw_user_pass&amp;quot;)&lt;br /&gt;api&amp;nbsp;=&amp;nbsp;twitter.Api(u,&amp;nbsp;p)&lt;br /&gt;api.PostUpdate(unicode(post,&amp;nbsp;'CP932'))&lt;br /&gt;EOF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endif&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;:NekoTwitter&amp;lt;CR&amp;gt;&amp;nbsp;すると機能が呼び出されます&lt;br /&gt;command&amp;nbsp;NekoTwitter&amp;nbsp;:call&amp;nbsp;&amp;lt;SID&amp;gt;NekoTwitter()&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-1485281754502425088?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1485281754502425088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/1485281754502425088'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/05/vim.html' title='vimでついったーを読む'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-8959748849154762757</id><published>2009-05-21T07:36:00.000+09:00</published><updated>2009-11-07T04:07:32.783+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>vimに400字で詰めさせる</title><content type='html'>　出力シートに書かれた改稿指示を見ながら一巻改稿中。今日一日で50%行けたので、同じペースで出来れば明日にはとりあえず100%になる、という取らぬ狸の皮算用してるんだけどどうだろ。まだ見てないからわからないけど、後半のほうが直しが多くなりそう。&lt;br /&gt;　てか、シートの中に担当さんがちょろちょろジョークを書き込んでいてオモロイ。真面目な改稿案が続いたかと思えば、「ここのシーン、ぼえーんとかどうよ？」とか書いてあって、爆笑しながら速攻で採用したり。こういう作業は漫画ではやったことが無かったので新鮮です。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　ところで。&lt;br /&gt;　小説にいつ合字やサンスクリットを埋め込みたくなってもよいよう、今日、改稿開始前にnkfをインストールしました。これでいつでもちょろっとコマンド打つだけでS-JISをUTF-8にできるぜぇ、とか喜んでいたんですが、ふと&lt;a href="http://hiki.cre.jp/write/?GenkouYousiMaisuuKansan" target="_blank"&gt;ここ&lt;/a&gt;に、nkfを使った原稿用紙換算スクリプトを発見。&lt;br /&gt;　私はWinVistaなのでwcもsedも無いため、早速UnxUtilsをダウンロードしてvimで「:echo str2nr(system("nkf -s -F40-5 ".shellescape(expand("%"))." | wc -l"), 10) / 20」してニヤニヤしていたんですが、そのとき思いました。&lt;br /&gt;&lt;br /&gt;　あれ？　nkfってrubyに入ってるんじゃね？&lt;br /&gt;&lt;br /&gt;　ああ、無駄な道。いろいろ落としてインスコして環境変数設定して……という時間を改稿に当てていれば、今日は70%くらいまで行けてたかもと激しく後悔。&lt;br /&gt;　ユーザーにこういう無駄な時間を取らせないよう、Kaoriyaのvimにはif_rubyってものが入っているのですよ猫砂さん！　つーかてめーperlとpythonもインスコしてんだからif_perlもif_pythonも使い放題だろアホがッ！&lt;br /&gt;　と自分を叱責しましたよ。&lt;br /&gt;&lt;br /&gt;　というわけで、vimで小説書いたりしている変態以外には一生縁の無いvimスクリプトを一応公開しておきます。&lt;br /&gt;&lt;br /&gt;&lt;pre class="mycode"&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;1行目から現在行までのテキストを400字詰め換算して表示するvimスクリプト&lt;br /&gt;&amp;quot;&amp;nbsp;※要 if_ruby&lt;br /&gt;&lt;br /&gt;function!&amp;nbsp;MyCnt()&lt;br /&gt;ruby&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;EOF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;require&amp;nbsp;'nkf'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$KCODE&amp;nbsp;=&amp;nbsp;'SJIS'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;i&amp;nbsp;in&amp;nbsp;(1&amp;nbsp;..&amp;nbsp;VIM::Buffer.current.line_number)&amp;nbsp;do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;$curbuf[i]&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;&amp;quot;\n&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;《》によるルビ指定を除去。私はルビは青空形式で書いてます。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str&amp;nbsp;=&amp;nbsp;str.gsub(/《[^》]*》/,&amp;nbsp;&amp;quot;&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;len&amp;nbsp;=&amp;nbsp;NKF.nkf(&amp;quot;-s&amp;nbsp;-F40-5&amp;quot;,&amp;nbsp;str).count(&amp;quot;\n&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VIM::message(&amp;quot;400字詰め換算:&amp;nbsp;#{len&amp;nbsp;/&amp;nbsp;20}枚&amp;nbsp;#{len&amp;nbsp;%&amp;nbsp;20}行,&amp;nbsp;総行数&amp;nbsp;#{len}&amp;quot;)&lt;br /&gt;EOF&lt;br /&gt;endfunction&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;ちゃっちゃと呼び出すmap&lt;br /&gt;noremap&amp;nbsp;,c&amp;nbsp;:call&amp;nbsp;MyCnt()&amp;lt;CR&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;quot;&amp;nbsp;小説ファイルを*.s.txtという名前にしている場合、保存時に換算枚数を表示&lt;br /&gt;au!&amp;nbsp;BufWritePost&amp;nbsp;*.s.txt&amp;nbsp;call&amp;nbsp;MyCnt()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;実行結果:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ACvoKo32G9I/ShSGHBc_QcI/AAAAAAAAARo/eJlV-U0Zum8/s1600-h/20090521_073512.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 78px;" src="http://2.bp.blogspot.com/_ACvoKo32G9I/ShSGHBc_QcI/AAAAAAAAARo/eJlV-U0Zum8/s400/20090521_073512.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5338038913548108226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　まあ、rubyかわいいよrubyってことで、前向きに考えよう。&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-8959748849154762757?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/8959748849154762757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/8959748849154762757'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/05/vim400.html' title='vimに400字で詰めさせる'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ACvoKo32G9I/ShSGHBc_QcI/AAAAAAAAARo/eJlV-U0Zum8/s72-c/20090521_073512.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7170287906665164217.post-476130351442786992</id><published>2009-04-28T18:21:00.000+09:00</published><updated>2009-11-07T04:07:32.790+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='計算機'/><title type='text'>フリーソフト配布所</title><content type='html'>猫砂は結構前から暇人らしくプログラムいじって遊んでいます。&lt;br /&gt;&lt;a href="http://www.oshiete-kun.net/archives/2007/06/05_0047.html" target="_blank"&gt;メニューランチャ・急々如律令&lt;/a&gt;等のプログラムは、以下のページで配布しています。&lt;br /&gt;いずれのソフトも未来永劫フリーソフトです。&lt;br /&gt;興味があれば気軽に使ってみてください。&lt;br /&gt;大抵のソフトはWindows専用です。&lt;br /&gt;なるたけ全部のWindowsで動かしたいと思ってますが、基本的には猫砂の環境（Vista Home）で動けばいいや、という作りになっています。&lt;br /&gt;なお、開発の方針として、配布しているすべてのソフトはレジストリを利用しません。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cid-5142edd673fc161d.skydrive.live.com/browse.aspx/.Public" target="_blank"&gt;http://cid-5142edd673fc161d.skydrive.live.com/browse.aspx/.Public&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
try {
var pageTracker = _gat._getTracker("UA-7584854-2");
pageTracker._trackPageview();
} catch(err) {}&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7170287906665164217-476130351442786992?l=string-cat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/476130351442786992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7170287906665164217/posts/default/476130351442786992'/><link rel='alternate' type='text/html' href='http://string-cat.blogspot.com/2009/04/blog-post.html' title='フリーソフト配布所'/><author><name>猫砂 一平</name><uri>http://www.blogger.com/profile/01680845113109261676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_ACvoKo32G9I/SUYLMvr2a6I/AAAAAAAAAAM/yyqAoRkPjYo/S220/myself_panda.png'/></author></entry></feed>
