<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>maaash.jp</title><link>https://maaash.jp/</link><description>Recent content on maaash.jp</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Wed, 11 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://maaash.jp/index.xml" rel="self" type="application/rss+xml"/><item><title>はやく目的のコードに辿り着く</title><link>https://maaash.jp/2026/02/reach-the-code-fast/</link><pubDate>Wed, 11 Feb 2026 00:00:00 +0000</pubDate><guid>https://maaash.jp/2026/02/reach-the-code-fast/</guid><description>&lt;p&gt;初めてこれがハッカーか、と感じたのは元同僚の &lt;a href="https://github.com/typester" class="external-link" target="_blank" rel="noopener"&gt;@typester&lt;/a&gt; だった。
2006年頃、彼の肩越しに覗くと、なにかコードを書いていた。
キーを打つたびに、黒い背景が半分に割れ、テキストのリストが現れ、打鍵のたびにハイライトが移動し絞り込まれていく。
ファイルを飛び回り、一つのファイルに数秒、そしてまた別のファイルへ。&lt;/p&gt;
&lt;p&gt;自分もそこそこの秀丸上級者だとは思っていたが、コードベースを駆け抜ける速さに圧倒された。&lt;br&gt;
なぜか画面に反映されるよりもはるかに多くのキーを打っていないか？とは思ったが（Emacs を使っていた :p）&lt;/p&gt;
&lt;p&gt;彼をフォローするように Mac を買い、 Emacs を使い始めた。&lt;/p&gt;
&lt;p&gt;このエピソードをきっかけに、そしてその後の経験から、
ソフトウェアエンジニアはコードを書くよりもはるかに多くのコードを読むことに時間を割く、&lt;/p&gt;
&lt;p&gt;書くはやさだけでなく&lt;br&gt;
はやく目的のコードに辿り着くことも重要だと考えるようになった。&lt;/p&gt;
&lt;h2 id="ターミナルとエディタの間の溝"&gt;
 ターミナルとエディタの間の溝
 &lt;a class="heading-link" href="#%e3%82%bf%e3%83%bc%e3%83%9f%e3%83%8a%e3%83%ab%e3%81%a8%e3%82%a8%e3%83%87%e3%82%a3%e3%82%bf%e3%81%ae%e9%96%93%e3%81%ae%e6%ba%9d"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;時は流れて2026年。Claude Code や Codex のような AI エージェントをターミナル上で使い、ターミナルとエディタを行き来する頻度が以前よりずっと増えた。&lt;/p&gt;
&lt;p&gt;しかし、ターミナルからエディタへのリンクが存在しない。&lt;br&gt;
ターミナルからエディタに切り替え、コピペしてもたもたしていると感じる。&lt;/p&gt;
&lt;h2 id="osc8-ターミナルのハイパーリンク"&gt;
 OSC8: ターミナルのハイパーリンク
 &lt;a class="heading-link" href="#osc8-%e3%82%bf%e3%83%bc%e3%83%9f%e3%83%8a%e3%83%ab%e3%81%ae%e3%83%8f%e3%82%a4%e3%83%91%e3%83%bc%e3%83%aa%e3%83%b3%e3%82%af"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda" class="external-link" target="_blank" rel="noopener"&gt;OSC8&lt;/a&gt; は、ターミナル出力にクリック可能なハイパーリンクを埋め込むための ANSI エスケープシーケンスだ。&lt;/p&gt;
&lt;p&gt;ターミナルにおけるHTML の &lt;code&gt;&amp;lt;a href=&amp;quot;...&amp;quot;&amp;gt;&lt;/code&gt; と同じようなもの。
最近のターミナルの多くがサポートしている: iTerm2、Ghostty (最近乗り換えた) など。&lt;/p&gt;
&lt;p&gt;OSC8 を知ってすぐ、ネイティブで OSC8 をサポートしているツールに切り替え始めた。例えば &lt;a href="https://github.com/eza-community/eza" class="external-link" target="_blank" rel="noopener"&gt;eza&lt;/a&gt; は ls の代替で、ファイルパスをハイパーリンクとして出力できる:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;alias l=&amp;#34;eza --hyperlink -la&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;しかし、各ツールが個別に実装する必要があり、多くのツールは対応していない。&lt;/p&gt;
&lt;h2 id="osc8wrap-あらゆる出力をリンク化する"&gt;
 osc8wrap: あらゆる出力をリンク化する
 &lt;a class="heading-link" href="#osc8wrap-%e3%81%82%e3%82%89%e3%82%86%e3%82%8b%e5%87%ba%e5%8a%9b%e3%82%92%e3%83%aa%e3%83%b3%e3%82%af%e5%8c%96%e3%81%99%e3%82%8b"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;どのツールが出力したかに関係なく、ターミナル上のすべてのファイルパスをクリック可能にしたかった。&lt;br&gt;
そこで &lt;a href="https://github.com/mash/osc8wrap" class="external-link" target="_blank" rel="noopener"&gt;osc8wrap&lt;/a&gt; を作った。&lt;/p&gt;</description></item><item><title>2026年のブログ生成ツール移行方法</title><link>https://maaash.jp/2026/02/blog-static-site-generator-migration-2026/</link><pubDate>Sun, 08 Feb 2026 00:00:00 +0000</pubDate><guid>https://maaash.jp/2026/02/blog-static-site-generator-migration-2026/</guid><description>&lt;p&gt;ブログをoctopressからhugoに移行した。&lt;/p&gt;
&lt;p&gt;前に記事を書いたのは4年前だったのでRubyのバージョンも古かったし
依存も動かなくなっているし
過去の記事はoctopressのプラグインを使ってコードのhighlightをしていたのを移行しないいけない、
などとしばらく前の自分なら躊躇していたが&lt;/p&gt;
&lt;p&gt;2026年には「なんとかなるだろ」と根拠のない楽観が通じるようになっているのを知っている。&lt;/p&gt;
&lt;p&gt;もちろん &lt;code&gt;[python]&lt;/code&gt; のようなコードブロックがあったり
昔書いていたmarkdownが壊れていたり
画像がなかったり
などといった問題もあったが&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;convert these code blocks [python] to code blocks&lt;br&gt;
hugo-site/content/posts/2008-07-03-git入門してみた.md is broken&lt;br&gt;
http://localhost:1313/2013/03/perl-app-prove-plugin-mysqlpool/ is broken i see ```&lt;br&gt;
are there other posts that have similar issues&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;この方向で全記事直して、というのが通る。&lt;/p&gt;
&lt;p&gt;maaash.jp のフォントが気に入らないなあ、いいのないかなと困ったら&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;now i want to revisit the top-left maaash.jp styling,&lt;br&gt;
can you make a page that shows maaash.jp in the same markup but with 100 different fonts&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;でこういうページをさっとつくってくれるし楽になったものだ。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://maaash.jp/2026/02/blog-static-site-generator-migration-2026/screenshot-2026-02-08-at-11.54.04.png" alt="Screenshot 2026-02-08 at 11.54.04.png" &gt;&lt;/p&gt;</description></item><item><title>more &lt;a&gt; tags in the terminal</title><link>https://maaash.jp/2026/02/more-a-tags-in-the-terminal/</link><pubDate>Sun, 08 Feb 2026 00:00:00 +0000</pubDate><guid>https://maaash.jp/2026/02/more-a-tags-in-the-terminal/</guid><description>&lt;p&gt;The first hacker I met was my ex-colleague &lt;a href="https://github.com/typester" class="external-link" target="_blank" rel="noopener"&gt;@typester&lt;/a&gt;.
It was around 2006. I peeked over his shoulder and saw him working on some code.
As he typed, the black background split in half, a list of text appeared, filtered down with each keystroke.
He jumped across files, few seconds in one file, and then another.&lt;/p&gt;
&lt;p&gt;He was hitting far more keystrokes than new characters appearing on screen (he was using Emacs :p),
but the speed at which he navigated the codebase blew me away.
I followed him and started using Emacs.&lt;/p&gt;</description></item><item><title>Ghost - build REST APIs from structs using Generics in Golang</title><link>https://maaash.jp/2022/06/ghost-build-rest-apis-from-structs-using-generics-in-golang/</link><pubDate>Wed, 15 Jun 2022 22:14:18 +0300</pubDate><guid>https://maaash.jp/2022/06/ghost-build-rest-apis-from-structs-using-generics-in-golang/</guid><description>&lt;p&gt;Go 1.18 has been out for a while now. Are you using Generics?&lt;/p&gt;
&lt;p&gt;At first, I was delighted, started gradually switching from map and filter-like for statements to &lt;a href="https://github.com/samber/lo" class="external-link" target="_blank" rel="noopener"&gt;github.com/samber/lo&lt;/a&gt; and
I created an internal slice package to add some more variants.&lt;/p&gt;
&lt;p&gt;However, somewhere in my heart, I felt frustration building up.
I felt like I was missing out on something like I didn&amp;rsquo;t understand its true value because I hadn&amp;rsquo;t used it to its fullest.
It is as if I have been given such an interesting toy and have not played with it to the fullest.&lt;/p&gt;</description></item><item><title>IRKitサービス終了しました</title><link>https://maaash.jp/2022/04/deprecating-irkit/</link><pubDate>Sat, 23 Apr 2022 08:41:16 +0300</pubDate><guid>https://maaash.jp/2022/04/deprecating-irkit/</guid><description>&lt;p&gt;IRKitのサービスを終了しました。
2022-12-10追記&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;IRKitの販売開始は2014年1月15日。自分が最後の1台を販売したのが2017年11月25日でした。開始してから8年が過ぎましたか。&lt;/p&gt;
&lt;p&gt;最終的には生産台数は 100+500+1000+1000+2000+2000+3200+3000 = 12800 台。&lt;/p&gt;
&lt;p&gt;サーバに接続しているIRKitの数を見てもそれらを通して赤外線信号を送っている人の数を見ても、0ではありませんが、そろそろ良いかな、という頃合いです。&lt;/p&gt;
&lt;p&gt;7ヶ月後の&lt;strong&gt;2022年11月末&lt;/strong&gt;を目処にサーバを停止しサービスを終了します。&lt;/p&gt;
&lt;p&gt;終了後、出荷時のファームウェアでお使いいただいている方は、IRKitのサーバを通して赤外線を送信することができなくなります。IRKitにはローカルネットワークのAPIがありますが、それは（工場出荷時のファームウェアでは）IRKitがサーバに接続している時に、ローカルネットワークからのレイテンシーを短くするために使うAPIで、サーバに接続できない場合には無効です。&lt;/p&gt;
&lt;p&gt;幸いにもIRKitのファームウェアはオープンソースであり、この問題を解決してくれた方がいらっしゃいます。
こちらのpull request &lt;a href="https://github.com/irkit/device/pull/6" class="external-link" target="_blank" rel="noopener"&gt;https://github.com/irkit/device/pull/6&lt;/a&gt; を書き込むと useCloudControl という設定をfalseにしてビルドすることで、サーバに接続する機能を停止します。この時ローカルネットワークは使えます。
そもそも今のMacやWindows PCからIRKitのファームウェアを書き込むことができるのかなど困難はあるでしょうが、ご希望であればお試しください。&lt;/p&gt;
&lt;p&gt;またIRKitはArduino Leonardoにインスパイアされて回路設計しました。IRKitとしては使わなくとも、Arduino Leonardoが手元に1台あるようなものです。日々の工作にうまく末長くお使いいただければと思います。&lt;/p&gt;
&lt;p&gt;外出先、音声アシスタントから家電を操作したい方は&lt;a href="https://nature.global/nature-remo/" class="external-link" target="_blank" rel="noopener"&gt;Nature Remoシリーズ&lt;/a&gt;がおすすめです。よろしければ。&lt;/p&gt;
&lt;p&gt;これまでどうもありがとうございました。感泣。&lt;/p&gt;</description></item><item><title>Natureに復帰しました</title><link>https://maaash.jp/2022/02/back-into-nature/</link><pubDate>Sun, 06 Feb 2022 00:21:26 +0200</pubDate><guid>https://maaash.jp/2022/02/back-into-nature/</guid><description>&lt;p&gt;Nature社に1エンジニアとして復帰して1ヶ月が経った。&lt;/p&gt;
&lt;p&gt;次どこで仕事をしようか、しばらく考えていた。&lt;a href="https://maaash.jp/2018/06/moved-to-estonia/" &gt;エストニアに引っ越した&lt;/a&gt;時にも書いたが復習しながらcriteriaを挙げると、&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;小さく柔軟な会社&lt;/p&gt;
&lt;p&gt;これまで勤めた体験から、自分の好みがわかってきている。
少ない人数で議論して決められる、時間をかけて正解を求めるよりはiterativeに前進する、歯車というよりはメンバーが自分の仕事の範囲を広めに捉えオーナーシップを持っている、社内の上司を説得するのではなくお客様に向きあっている。
そういうチームで働くのが好きなようです。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;何かしら世界を良くしようとするビジョンとロジックがあること&lt;/p&gt;
&lt;p&gt;自分のお金を使う、自分の時間を使うときに、ただその対価を得るよりは、お金や時間を払う対象を応援しているからこそその対象を選択するという考えが強くなってきている。
そして子供ができてから、自分の時間を使う、仕事をすることで特に地球環境の面でより良い世界を子供達に渡したいという考えも強くなってきている。&lt;/p&gt;
&lt;p&gt;「ロジックがあること」が大事。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;当たり前だが報酬が良い&lt;/p&gt;
&lt;p&gt;Equityもね。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;もちろん尊敬できるチームがいること&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;エストニアに引き続き住んでいるのでここから働けること&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;対して自分が提供できる価値は、主にソフトウェア開発(電気やメカの開発もIRKitでやったけど基本的にはソフトウェアエンジニアだよね)、プロダクトの開発、事業の開発。&lt;/p&gt;
&lt;p&gt;自分が提供できる価値と1~5の掛け算で考えると、あんまりないのでは？？？特に2。環境分野の事業でソフトウェアエンジニアが貢献できるところ。。。3,4,5も含めると、少ないですね。。&lt;/p&gt;
&lt;p&gt;&amp;hellip;&lt;/p&gt;
&lt;p&gt;Nature社に復帰して1ヶ月、スタートアップでは当たり前のこともあるだろうし「そんなこと？」という点もあるだろうが前職があれだったのか基本的なことがとても嬉しい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ミーティングがデフォルト30分。&lt;/li&gt;
&lt;li&gt;時間通り始まる。&lt;/li&gt;
&lt;li&gt;議事録がある。&lt;/li&gt;
&lt;li&gt;Slackチャンネルが基本的にpublicである。&lt;/li&gt;
&lt;li&gt;事業の数字が待っていても入ってくる状態にある(もちろん求めれば増えたりする)。&lt;/li&gt;
&lt;li&gt;ツールによる情報のflow/stockの違いが認識されている。&lt;/li&gt;
&lt;li&gt;イギリスやドイツで働いている人がいるなどリモートで仕事しやすい感じがある。&lt;/li&gt;
&lt;li&gt;心理的安全性を感じる。&lt;/li&gt;
&lt;li&gt;コミュニケーション能力が高い人が多い気がする。&lt;/li&gt;
&lt;li&gt;カスタマーサポートのメンバーが開発プロセスに入っている。&lt;/li&gt;
&lt;li&gt;自動化することが普通である。&lt;/li&gt;
&lt;li&gt;好きな発電所ありますか？って質問で盛り上がれるww&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;このあたりを魅力的に感じる方がいらっしゃいましたら、ご連絡ください。 &lt;a href="https://twitter.com/maaash/" class="external-link" target="_blank" rel="noopener"&gt;@maaash&lt;/a&gt;
Nature社では&lt;a href="https://nature.global/careers/" class="external-link" target="_blank" rel="noopener"&gt;絶賛エンジニア募集中&lt;/a&gt;です。&lt;/p&gt;
&lt;p&gt;Nature Remoシリーズについても、ご要望や応援メッセージ、直接ご意見いただくのも嬉しいタイプです。 &lt;a href="https://twitter.com/maaash/" class="external-link" target="_blank" rel="noopener"&gt;@maaash&lt;/a&gt; へどうぞ。&lt;/p&gt;</description></item><item><title>BambooRollとカーボンフットプリント</title><link>https://maaash.jp/2021/01/bambooroll-carbon-footprint/</link><pubDate>Mon, 18 Jan 2021 07:00:05 +0200</pubDate><guid>https://maaash.jp/2021/01/bambooroll-carbon-footprint/</guid><description>&lt;p&gt;次このブログに書く、「つくったもの」がトイレットペーパーとは思わなかったでしょう？&lt;/p&gt;
&lt;p&gt;&lt;a href="https://bambooroll.jp/" class="external-link" target="_blank" rel="noopener"&gt;BambooRoll - 竹でつくったトイレットペーパーの定期便&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;そこに&lt;a href="https://bambooroll.jp/blogs/study/bambooroll_carbonfootprint" class="external-link" target="_blank" rel="noopener"&gt;BambooRollのカーボンフットプリントを考察する&lt;/a&gt;という記事を書いた。&lt;br&gt;
ここの余談を拡張する。&lt;/p&gt;
&lt;p&gt;カーボンフットプリント、つまり製品のライフサイクルで排出される温室効果ガスをCO2量で表したもの&lt;br&gt;
が面白い！&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;カーボンフットプリントの算出は以下のようにして行う。製品のライフサイクルで様々なリソースを使用する。そのリソースについて、ある単位のリソースを使うとCO2に換算すると何kg排出しているか、予め算出してある二酸化炭素排出量原単位(以降、CO2排出原単位)を参照する。このデータベースには4)を使用する。使用したリソースの量に、CO2排出原単位をかけると、CO2排出量が求まる。製品のライフサイクルで使用するリソースについて、CO2排出量を求め積算していく。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;この4)は&lt;a href="https://s3-eu-west-1.amazonaws.com/static.bambooroll.jp/CO2kansanryo_db_ver4_jp_20120330.pdf" class="external-link" target="_blank" rel="noopener"&gt;カーボンフットプリント制度試行事業CO2換算量共通原単位データベースver. 4.0 (国内データ)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;例えばこうやって身近なモノや作業の換算CO2量を計算できる。&lt;br&gt;
水と給湯の原単位から&amp;hellip;&lt;/p&gt;
&lt;img src="https://live.staticflickr.com/65535/50847937846_68cc4e6ad6_3k.jpg" width="2812" height="134" alt="スクリーンショット 2021-01-18 7.26.42"&gt; 
&lt;img src="https://live.staticflickr.com/65535/50847937896_df05df1a80_3k.jpg" width="2806" height="186" alt="スクリーンショット 2021-01-18 7.27.17"&gt;
&lt;p&gt;お風呂につかるという行為の換算CO2量は以下のように計算できる。&lt;/p&gt;
&lt;p&gt;お風呂の水の量を200L、温度を40度、水道水の温度を年間平均の16度として、&lt;br&gt;
水は 0.2 [m3] x 3.48E-1 [kg-CO2e/m3] = 0.0696 [kg-CO2e]&lt;br&gt;
ガスは (40-16) [C] x 200 [L] x 3.39E-4 [kg-CO2e/C*L] = 1.6272 [kg-CO2e]&lt;br&gt;
合わせて &lt;strong&gt;1.6968&lt;/strong&gt; [kg-CO2e]&lt;/p&gt;
&lt;p&gt;次は、、焼肉。
牛と米と電気から&amp;hellip;&lt;/p&gt;
&lt;img src="https://live.staticflickr.com/65535/50848011666_eec9edee8e_k.jpg" width="2048" height="188" alt="スクリーンショット 2021-01-18 7.23.46"&gt; 
&lt;img src="https://live.staticflickr.com/65535/50847287563_7a6f41576e_k.jpg" width="2048" height="322" alt="スクリーンショット 2021-01-18 8.37.28"&gt; 
&lt;img src="https://live.staticflickr.com/65535/50848011961_f9422aa71e_k.jpg" width="2048" height="195" alt="スクリーンショット 2021-01-18 8.46.57"&gt;
&lt;p&gt;ホットプレートで焼肉を焼いて食べるという行為の換算CO2量は&lt;/p&gt;
&lt;p&gt;肉300gを1時間焼く、米200gを1時間炊く、ホットプレート1300W、&lt;a href="https://seihinjyoho.go.jp/frontguide/pdf/catalog/2019/catalog2019.pdf" class="external-link" target="_blank" rel="noopener"&gt;家庭用省エネ性能カタログ&lt;/a&gt;より炊飯時の消費電力は158Wh/回として、&lt;br&gt;
牛肉は 0.3 [kg] x 9.21 [kg-CO2e/kg] = 2.763 [kg-CO2e]&lt;br&gt;
ホットプレートは 1.3 [kW] x 1 [h] x 4.79E-01 [kg-CO2e/kWh] = 0.6227 [kg-CO2e]&lt;br&gt;
米は 0.2 [kg] x 1.59 [kg-CO2e/kg] = 0.318 [kg-CO2e]&lt;br&gt;
炊飯器では 0.158 [kWh] x 4.79E-01 [kg-CO2e/kWh] = 0.075 [kg-CO2e]&lt;br&gt;
合わせて &lt;strong&gt;3.7787&lt;/strong&gt; [kg-CO2e]&lt;/p&gt;</description></item><item><title>Uncomment JSON or using JSON5</title><link>https://maaash.jp/2020/11/uncomment-json/</link><pubDate>Fri, 06 Nov 2020 23:30:00 +0200</pubDate><guid>https://maaash.jp/2020/11/uncomment-json/</guid><description>&lt;p&gt;最近あるプロジェクトで階層構造のある設定ファイルが必要になり、コメントを入れる必要からYAMLフォーマットを選択した。
だがYAMLはoctalの罠にハマった嫌な思い出がある。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://yaml.org/type/int.html" class="external-link" target="_blank" rel="noopener"&gt;Integer Language-Independent Type for YAML™ Version 1.1&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Valid values must match the following regular expression, which may also be used for implicit tag resolution:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [-+]?0b[0-1_]+ # (base 2)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|[-+]?0[0-7_]+ # (base 8)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|[-+]?(0|[1-9][0-9_]*) # (base 10)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|[-+]?0x[0-9a-fA-F_]+ # (base 16)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|[-+]?[1-9][0-9_]*(:[0-5]?[0-9])+ # (base 60)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;0で始まり7までの数字だけであれば base 8 になり8以上の数字を含めば base 10 になるのは無しだろう。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://yaml.org/spec/1.2/spec.html#id2805071" class="external-link" target="_blank" rel="noopener"&gt;YAML 1.2&lt;/a&gt;ではこの罠は無いが&lt;/p&gt;
&lt;p&gt;それにどこかで読んだ、設定ファイルが途中で途切れたままデプロイされても文法エラーにならない、
という欠点は気になる。&lt;/p&gt;
&lt;p&gt;コメントさえ使えればJSON使うのに&amp;hellip; ということでシンプルなツールを書いた。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/mash/uncomment" class="external-link" target="_blank" rel="noopener"&gt;Uncomment | github.com/mash/uncomment&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;良いライブラリがあったので特に難しいことはしていない。
コマンドの引数やstdin,stdoutが他のツールと組み合わせやすいか、だけ気にして作った。&lt;/p&gt;
&lt;p&gt;元々のあるプロジェクトでは&lt;a href="https://github.com/spf13/viper" class="external-link" target="_blank" rel="noopener"&gt;viper&lt;/a&gt;を使っていたので何も変えずに設定ファイルの食わせ方を変えるだけでコメントを含んだ緩いJSONを使えるようになる。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;# パイプはよしなに扱う&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;% cat relaxed.json | uncomment | jq .
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;# -oでファイル名を指定するとstdoutにファイル名を書く&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;% &lt;span style="color:#e5c07b"&gt;command&lt;/span&gt; -c &lt;span style="color:#98c379"&gt;`&lt;/span&gt;uncomment -i relaxed.json -o strict.json&lt;span style="color:#98c379"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ライブラリ選定中に&lt;a href="https://json5.org/" class="external-link" target="_blank" rel="noopener"&gt;JSON5&lt;/a&gt;というのを発見して、「これジャン！」となり、こりゃ欲しいツールは既にあるだろうな心のどこかで思いながらも最後まで走りきって作ってしまった。
案の定似たようなツールは&lt;a href="https://github.com/stedolan/jq/wiki/FAQ#processing-not-quite-valid-json" class="external-link" target="_blank" rel="noopener"&gt;たくさんあった&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>BLE-Proximity for COVID-19 contact tracing</title><link>https://maaash.jp/2020/04/ble-proximity-for-covid-19-contact-tracing/</link><pubDate>Sun, 12 Apr 2020 00:00:01 +0300</pubDate><guid>https://maaash.jp/2020/04/ble-proximity-for-covid-19-contact-tracing/</guid><description>&lt;p&gt;コロナウィルスが広まり始めてから、自分の専門性を生かして何かできないかと考えていた。&lt;/p&gt;
&lt;p&gt;Bluetooth Low Energyを使ったスマートフォンアプリを配布し、誰と誰が近くにいたか履歴をとっておいて、後にアプリのユーザーの中から感染が確認されたら、そのユーザーが近くにいた他のユーザーに警告する、&lt;br&gt;
というアイディアがあることを知ったのは &lt;a href="http://minato.sip21c.org/im3r/20200403.html" class="external-link" target="_blank" rel="noopener"&gt;鐵人三國誌&lt;/a&gt; だったか。&lt;/p&gt;
&lt;p&gt;これは得意領域やん、と思い飛びつき、&lt;br&gt;
コロナのおかげで自分も時間が多少できたので(!?)&lt;br&gt;
そこから&lt;a href="https://www.gov.sg/article/help-speed-up-contact-tracing-with-tracetogether" class="external-link" target="_blank" rel="noopener"&gt;シンガポール/TraceTogether&lt;/a&gt;や&lt;a href="https://github.com/DP-3T/documents" class="external-link" target="_blank" rel="noopener"&gt;ヨーロッパ/Decentralized Privacy-Preserving Proximity Tracing&lt;/a&gt;で検討/実装されているアプリ &lt;a href="https://gdprhub.eu/index.php?title=Projects_using_personal_data_to_combat_SARS-CoV-2" class="external-link" target="_blank" rel="noopener"&gt;Projects using personal data to combat SARS-CoV-2&lt;/a&gt; をリサーチをしつつ、プライバシーを保護して、どうBLEを使えばBackgroundでしか使わないだろうこのアプリ間の通信が可能で、Androidも共存できて、小さく初めてすぐにリリースできて、アプリユーザーが増えてもサーバ負荷が軽そうな仕組みを考えていた。&lt;/p&gt;
&lt;p&gt;そして昨日 &lt;a href="https://www.apple.com/covid19/contacttracing" class="external-link" target="_blank" rel="noopener"&gt;Privacy-Preserving Contact Tracing&lt;/a&gt; を発見するまで一週間ばかり。&lt;/p&gt;
&lt;p&gt;Apple, Googleが5月に出すならそれを待とう、という空気だと思うので、この一週間ばりばり書いていたコードを公開して &lt;strong&gt;供養したい&lt;/strong&gt; 。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/mash/BLE-Proximity" class="external-link" target="_blank" rel="noopener"&gt;BLE-Proximity / BLE-Proximity implements contact tracing on iOS, to prevent COVID-19 transmissions.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;このプロジェクトは何もなければフリーズしますが、何か良い利用方法があれば協力したいです。右の連絡先にご連絡ください。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;考えていたアプリの仕組みは(英語で)レポジトリのREADMEに書いたがここでは日本語で。&lt;/p&gt;
&lt;p&gt;要約すると、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;UInt64のランダムな数をアプリ内で生成してuserIdとする&lt;/li&gt;
&lt;li&gt;Bluetooth Low Energyでこれを交換する&lt;/li&gt;
&lt;li&gt;定期的にuserIdは更新し、アプリ内に自分のuserIdの履歴を保存する&lt;/li&gt;
&lt;li&gt;BLEで受け取った相手のuserId(peerIdとする)も履歴を保存する&lt;/li&gt;
&lt;li&gt;履歴は4週間まで保存し古いものは捨てる&lt;/li&gt;
&lt;li&gt;COVID-19 positiveになった人は、自分のuserIdの履歴を、同意の後、(ここはTODOだったが)医者の電子署名(ができる国だったらよかったな〜)など信頼性を保証しつつサーバへ保存&lt;/li&gt;
&lt;li&gt;サーバではpositiveだった人のuserIdの履歴を公開&lt;/li&gt;
&lt;li&gt;アプリはpositive userIdリストをダウンロードして、アプリ内のpeerIdの履歴にマッチするものが無いか探す&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という感じ。&lt;/p&gt;
&lt;p&gt;サーバ側の開発が軽い、プライバシー面が安心(サーバに送る情報がpositiveでなければ何もない, BLEを通して送るuserIdもランダムだし更新する)、という意味で筋が良いと考えていた。&lt;/p&gt;
&lt;p&gt;そしてこのアプリの機能が広く多くの人に使ってもらえることを考えると、LINEやメルカリなど多くのユーザーがダウンロードしているアプリのアップデートとして使ってもらうのが最高だろう(もちろん自分の意思でオプトインしてね)。ということを考えてFrameworkとアプリを分けてFramework側にこの機能を実装していた。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.apple.com/covid19/contacttracing" class="external-link" target="_blank" rel="noopener"&gt;https://www.apple.com/covid19/contacttracing&lt;/a&gt; から辿れるApple, Googleのドラフト技術資料を見ると大きな違いは、&lt;/p&gt;
&lt;h3 id="1-bleではadvertisingにデータをのっける"&gt;
 1. BLEではAdvertisingにデータをのっける
 &lt;a class="heading-link" href="#1-ble%e3%81%a7%e3%81%afadvertising%e3%81%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e3%81%ae%e3%81%a3%e3%81%91%e3%82%8b"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;そりゃできたらそうするわ！&lt;br&gt;
iOSではAdvertising dataにアプリが(GATT ServiceのUUID以外の)任意のデータをのせられる公開APIは無い。&lt;/p&gt;</description></item><item><title>ラムネのあれ</title><link>https://maaash.jp/2019/07/ramune/</link><pubDate>Thu, 25 Jul 2019 22:25:22 +0300</pubDate><guid>https://maaash.jp/2019/07/ramune/</guid><description>&lt;p&gt;ラムネのあれを3Dプリンタでつくった。&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/maaash/48373290761/in/datetaken/" title="Untitled"&gt;&lt;img src="https://live.staticflickr.com/65535/48373290761_99370fc935_c.jpg" width="800" height="800" alt="Untitled"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/maaash/48373420707/in/datetaken/" title="Untitled"&gt;&lt;img src="https://live.staticflickr.com/65535/48373420707_9444be1263_c.jpg" width="800" height="800" alt="Untitled"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;iframe src="https://myhub.autodesk360.com/ue29f8fae/shares/public/SH56a43QTfd62c1cd9688365335fc4591cd4?mode=embed" width="1024" height="768" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" frameborder="0"&gt;&lt;/iframe&gt;
&lt;p&gt;「いつものより開けやすい」と好評です。&lt;/p&gt;</description></item><item><title>エストニアに引っ越した</title><link>https://maaash.jp/2018/06/moved-to-estonia/</link><pubDate>Tue, 26 Jun 2018 12:00:00 +0300</pubDate><guid>https://maaash.jp/2018/06/moved-to-estonia/</guid><description>&lt;p&gt;エストニアの首都タリンに引っ越してから5ヶ月たった。&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/maaash/42686071701/in/datetaken/" title="Untitled"&gt;&lt;img src="https://farm2.staticflickr.com/1756/42686071701_066de0225d_b.jpg" width="1024" height="768" alt="Untitled"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;タリン旧市街&lt;/p&gt;
&lt;p&gt;2013年にカヤックをやめた理由の1つがそれだったので、もう5年もずうっと海外に引っ越したいと考えていてやっと叶った。5年もかかったのは条件が厳しかったからだろう。&lt;/p&gt;
&lt;p&gt;仕事面では、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;小さく柔軟な会社&lt;/li&gt;
&lt;li&gt;何かしら世界を良くしようとするビジョンとロジックがあること&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;場所に対しては&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;英語教育がちゃんとしていること&lt;/li&gt;
&lt;li&gt;安全であること&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この両立。&lt;/p&gt;
&lt;p&gt;自分がウェブやスマホアプリの開発をやってきていたので、「やっぱりベイエリアに行って本場にいたい」と思っていたが、ビザ面でうまくいかなかった。&lt;/p&gt;
&lt;p&gt;アメリカの就労ビザを小さい会社がサポートするのは厳しい。&lt;br&gt;
H1Bは抽選だし、抽選に通っても給与の下限が賃金1000万円以上という条件があるので会社が小さすぎるときつい。&lt;br&gt;
Eビザもあるが、基本的には「アメリカで人を採用してくれるんだろうな？」ということなのでその計画がたっていないときつい。&lt;/p&gt;
&lt;p&gt;1年日本で仕事してLビザでアメリカへ行くのが手っ取り早そうだが、やはり1,2番目の条件に引っかかり踏み出せなかった。&lt;br&gt;
グリーンカード抽選が当たるほどラックにふられている設定ではなかったようだった。&lt;/p&gt;
&lt;p&gt;そうこうしているうちにトランプが大統領になり、アメリカでは学校での発砲事件が引き続き問題になっていて、&lt;br&gt;
「おいおいアメリカでいいのか？」と思うようになってきた。&lt;br&gt;
YouTubeでなんでもいいからトランプの演説を見てみるといい、このおっさんが大統領になるようではだめだ。&lt;/p&gt;
&lt;p&gt;逆にエストニア移住につながるきっかけがあり、エストニアになびいていった。&lt;br&gt;
エストニア移住プランは上記の条件を満たしていた。&lt;/p&gt;
&lt;p&gt;エストニアについて調べるとどんどん気になっていった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;E-Governmentの分野で先進的である&lt;br&gt;
E-Residencyというのが始まった。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;首都タリンの人口が40万人程度で小さい&lt;br&gt;
日本の藤沢市と同じくらいか、、と知ると急に親しみが湧いた。&lt;br&gt;
小さな島のようなコミュニティはむかしから好きだった。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;寒い&lt;br&gt;
札幌くらいか、、と知ると、スキーヤーなので(エストニアにはマウンテンスキーする山は無いが)雪が降る街か、、と急に楽しみになった。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;エストニアの大統領&lt;br&gt;
女性で46歳。&lt;br&gt;
トランプは72歳、安倍首相は63歳。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;見学に行った&lt;br&gt;
英語で授業をしている小学校を見て、町並みを見て、誘ってくれた会社のメンバーに会った。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ある時、もしかしたらエストニアは国レベルでスタートアップなのではないか？という考え方が生まれた(Exitはないから中小企業かもしれないが)。&lt;/p&gt;
&lt;p&gt;20万人以上社員のいる大企業(P)と、個人事業や2人創業者のスタートアップで働いた経験を、&lt;br&gt;
日本やアメリカとエストニアに照らしてみると、国に対しても会社選びと同じような嗜好で選べばいいんじゃないか、&lt;/p&gt;
&lt;p&gt;社員数 / 国の人口&lt;br&gt;
若いCEO / 若い大統領&lt;br&gt;
会社のプロダクト / 国の施策&lt;/p&gt;
&lt;p&gt;若いリーダーが率いる小さな国のメンバーになる、というのはおもしろい体験なのではないか？&lt;br&gt;
そういうリーダーを選べる国民がいる、というのはおもしろいんじゃないか？&lt;br&gt;
と思うようになってきた。&lt;/p&gt;
&lt;p&gt;中略&amp;hellip;&lt;/p&gt;
&lt;p&gt;まとめ&lt;/p&gt;
&lt;p&gt;タリンに引っ越しました。&lt;/p&gt;</description></item><item><title>SR-90サーボホーンのギザギザ付きをつくった</title><link>https://maaash.jp/2017/08/sr-90-servo-horn-with-gears/</link><pubDate>Tue, 15 Aug 2017 21:27:54 +0900</pubDate><guid>https://maaash.jp/2017/08/sr-90-servo-horn-with-gears/</guid><description>&lt;p&gt;&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/maaash/36417091022/in/datetaken/" title="SG-90 servo horn"&gt;&lt;img src="https://farm5.staticflickr.com/4379/36417091022_e0185fb657_c.jpg" width="800" height="409" alt="SG-90 servo horn"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;サーボを使った何かをつくっている。&lt;br&gt;
最も手に入りやすく安い &lt;a href="http://akizukidenshi.com/catalog/g/gM-08761/" class="external-link" target="_blank" rel="noopener"&gt;SG-90&lt;/a&gt; をいくつか買って、Arduino Unoから角度を変えてみたりしていると、付属のサーボホーンでは物足りなくなくなってきたので作ってみた。&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/maaash/35750493274/in/datetaken/" title="SG-90 near shot"&gt;&lt;img src="https://farm5.staticflickr.com/4368/35750493274_8347787c20_c.jpg" width="800" height="600" alt="SG-90 near shot"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;このようにサーボの先端には細かなギザギザがついていて、付属のサーボホーンはこのギザギザにマッチするギザギザが穴の内側にあるため、ネジを使用しなくてもサーボの先端に固定されてくれる。&lt;/p&gt;
&lt;p&gt;先駆者である &lt;a href="http://www.robotshop.com/letsmakerobots/modelling-a-servo-spline" class="external-link" target="_blank" rel="noopener"&gt;Modelling a Servo Spline&lt;/a&gt; を参考にしつつ、&lt;br&gt;
Fusion360でこんな感じで2等辺三角形を21個、円周上に繰り返すと敷き詰められる。&lt;br&gt;
contraintに式を使うと連動して全体が変わるのがおもしろい。&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/maaash/35750789284/in/datetaken/" title="Fusion360 constraints for SG-90 horn"&gt;&lt;img src="https://farm5.staticflickr.com/4340/35750789284_cdb986c3fa_c.jpg" width="800" height="566" alt="Fusion360 constraints for SG-90 horn"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;2等辺三角形の1辺の長さを変えると、円周上に並んだギザギザの高さが変わるので、&lt;br&gt;
これを3Dプリンタで出力してSG-90にはめてみては&lt;br&gt;
また2等辺三角形の1辺の長さを変えて、と3回繰り返したらいい感じにはまるのができた。&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/maaash/36586151925/in/datetaken/" title="IMG_1461"&gt;&lt;img src="https://farm5.staticflickr.com/4414/36586151925_1eb5c51f6f_c.jpg" width="800" height="600" alt="IMG_1461"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;Afinia H480, ABSを使用してうまくいったのが以下のファイル。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://a360.co/2uYns47" class="external-link" target="_blank" rel="noopener"&gt;SG-90&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Fusion360 archiveでダウンロードすると取り込んでconstraintを編集できそう。&lt;br&gt;
3Dプリンタや樹脂の素材で仕上がりが異なるだろうと思うので、2等辺三角形をご自由にいじったり、（そもそも穴がまだ空いてないので）ご自由にあけて使ってください。&lt;br&gt;
共有URLができるのはFusion360素晴らしいな！&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.thingiverse.com/thing:2484552" class="external-link" target="_blank" rel="noopener"&gt;SG-90 servo horn with gears&lt;/a&gt; on thingiverse&lt;/p&gt;</description></item><item><title>Prototyping Lab 第2版にIRKitを取り上げていただきました</title><link>https://maaash.jp/2017/01/prototyping-lab/</link><pubDate>Sat, 21 Jan 2017 20:52:56 +0900</pubDate><guid>https://maaash.jp/2017/01/prototyping-lab/</guid><description>&lt;p&gt;&lt;a href="https://www.amazon.co.jp/Prototyping-Lab-%E7%AC%AC2%E7%89%88-%E4%BD%9C%E3%82%8A%E3%81%AA%E3%81%8C%E3%82%89%E8%80%83%E3%81%88%E3%82%8B-%E3%81%9F%E3%82%81%E3%81%AEArduino%E5%AE%9F%E8%B7%B5%E3%83%AC%E3%82%B7%E3%83%94-Make/dp/4873117895/ref=as_li_ss_il?_encoding=UTF8&amp;amp;psc=1&amp;amp;refRID=5CJ99ZZ7DQAG2TV7ZT9Z&amp;amp;linkCode=li2&amp;amp;tag=masaishere-22&amp;amp;linkId=2f380baa04af01ce6765939bcfa77aee" class="external-link" target="_blank" rel="noopener"&gt;Prototyping Lab 第二版&lt;/a&gt;の作品紹介にIRKitを取り上げていただきました！&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/maaash/32045278260/in/datetaken/" title="Untitled"&gt;&lt;img src="https://c1.staticflickr.com/1/305/32045278260_7ff39aee30_z.jpg" width="640" height="480" alt="Untitled"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;IRKitをなぜ作ろうと思ったのかから、IRKitができあがっていくまでの軌跡がまとまっています。&lt;/p&gt;
&lt;p&gt;Orphe, Mesh, HACKberry, ベゼリーなどの作品紹介も楽しい。&lt;/p&gt;
&lt;p&gt;Orpheの、LEDストリップをサイドから底面向きに変更するエピソードは、一気に問題がいくつも解決するアイディアでありながら新たな問題が複数発生したんだろうなと想像できて熱くなる。
こういった、ハードウェア製品を作る際に立ちはだかった問題とこうやって解決した、っていうストーリーをもっと読みたいんだけれど、良い方法は無いものか。&lt;/p&gt;
&lt;p&gt;本はその後、入力（センサ）、出力、データ処理、、とArduinoのコードを交えてプロトタイプの作り方を紹介していくが、コードを読み書きせずに各レシピの概要を読むだけでも価値がある気がする。
ハードウェアを作るようになって実現できることの可能性が無限大とは思うものの、発想するアイディアの範囲は知識に限定されるので、知識をどう広げていくかが重要。&lt;/p&gt;
&lt;p&gt;それに、以下のように、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;センサの原理からくる得意/不得意な環境&lt;/li&gt;
&lt;li&gt;センサのキャリブレーション&lt;/li&gt;
&lt;li&gt;ノイズを含む入力にかけるフィルタ&lt;/li&gt;
&lt;li&gt;ヒステリシス&lt;/li&gt;
&lt;li&gt;状態遷移&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(いちいち説明するのがめんどくさい)エンジニアリングの基礎的な知識がまとまっていて、
エンジニアと会話できない非エンジニアにそっと渡したい、共通語彙集としても良い一冊かも。&lt;/p&gt;</description></item><item><title>Amazon Alexaにエアコンをつけてもらう</title><link>https://maaash.jp/2016/07/alexa-air-conditioner/</link><pubDate>Wed, 13 Jul 2016 13:41:14 +0900</pubDate><guid>https://maaash.jp/2016/07/alexa-air-conditioner/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Nature Remoは、機能的にはIRKitの正統な進化形と考えていただいてよいと思います。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://maaash.jp/2016/05/nature-remo-kickstarter/" class="external-link" target="_blank" rel="noopener"&gt;と書き先日告知したNature RemoのKickstarter&lt;/a&gt;が成功して終了しました！！&lt;br&gt;
応援していただいている方、ありがとうございます。&lt;/p&gt;
&lt;p&gt;昨日から、引き続き&lt;a href="http://makuake.com/project/nature-remo/" class="external-link" target="_blank" rel="noopener"&gt;Makuakeでクラウドファンディング&lt;/a&gt;を開始していますので、&lt;br&gt;
Kickstarterを逃した方はぜひ！！&lt;/p&gt;
&lt;p&gt;今日は、Kickstarterサイトでも提供すると約束していて、個人的にもすごく熱いと思っている、Alexa連携をIRKitで試してみました。&lt;br&gt;
Nature Remoで試すとサンプルコードまだ出せないのでね。&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/mUQiL27e2Eo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;p&gt;Alexaは様々な理由から&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Amazon Echoは国内で販売していない &lt;a href="http://amzn.to/29C9H6u" class="external-link" target="_blank" rel="noopener"&gt;Amazon Tapはあるようだなあ&amp;hellip;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Amazon.comアカウントが必要&lt;/li&gt;
&lt;li&gt;Amazon.co.jpのPrimeアカウントが使えない＞＜&lt;/li&gt;
&lt;li&gt;日本語対応していない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;日本では流行ってる話をほとんど聞きませんが、こないだ渡米した時に感動して買ってきてしまいました。&lt;/p&gt;
&lt;p&gt;感動ポイントはとにかく音声認識がすごいこと。&lt;/p&gt;
&lt;p&gt;遠くからでも、音楽再生するなど雑音環境下でも、ほとんど認識失敗にしない感覚があります。&lt;br&gt;
Siriだと、認識失敗したら「まだSiriにはできないか（落胆）」と感じるところ、&lt;br&gt;
Alexaだと、「あれ、自分の英語の発音が悪かったかな」ってなる。&lt;br&gt;
音声認識って使えるじゃん&lt;/p&gt;
&lt;p&gt;Alexaの認識対象の語彙を限定するルールベースのアプローチがしばらくは優位なんじゃないか&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;さて、Alexaに何か音声でしゃべりかけて外部サービス連携するためには、&lt;a href="https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit" class="external-link" target="_blank" rel="noopener"&gt;Alexa Skills Kit (ASK)&lt;/a&gt;を使います。&lt;/p&gt;
&lt;p&gt;Alexa Skills Kitの中には&lt;a href="https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/understanding-the-different-types-of-skills" class="external-link" target="_blank" rel="noopener"&gt;Custom SkillsとSmart Home Skillsがあり&lt;/a&gt;、&lt;br&gt;
まずは簡単なCustom Skillsで作ります。&lt;/p&gt;
&lt;p&gt;手順は&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://developer.amazon.com/edw/home.html#/" class="external-link" target="_blank" rel="noopener"&gt;Skillをつくる&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Invocation Nameを設定&lt;/p&gt;
&lt;p&gt;上のビデオの中で &amp;ldquo;Ask {IRKit} to turn on the air conditioner&amp;rdquo; と話していた {IRKit} の部分&lt;br&gt;
これはSmart Home Skillsでは操作対象が制限される分必要なくなるようだが、Custom Skillsには必要&lt;/p&gt;</description></item><item><title>USBRH Linux用ドライバをラズパイにインストールする</title><link>https://maaash.jp/2016/07/installing-usbrh-on-raspi/</link><pubDate>Wed, 06 Jul 2016 18:29:59 +0900</pubDate><guid>https://maaash.jp/2016/07/installing-usbrh-on-raspi/</guid><description>&lt;p&gt;&lt;a href="https://github.com/kimata/usbrh/blob/master/doc/readme.rst" class="external-link" target="_blank" rel="noopener"&gt;USBRH Linux用ドライバ&lt;/a&gt; をラズパイ上でビルドしインストールするまでのyak shavingの記録。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/kimata/usbrh/blob/master/src/Makefile#L3" class="external-link" target="_blank" rel="noopener"&gt;Makefile&lt;/a&gt; にあるように、ビルドしようとするラズパイのカーネルのソースが必要。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/notro/rpi-source/wiki" class="external-link" target="_blank" rel="noopener"&gt;github.com/notro/rpi-source/wiki&lt;/a&gt; を使用すると、よしなにソースを &lt;code&gt;/home/pi/linux-a7b329ab34dcea81650f5b5c9c77208907dde23c&lt;/code&gt; とかにダウンロードし、&lt;code&gt;/lib/modules/4.4.14+/build&lt;/code&gt; からそこへのシンボリックリンクを作るなどしてくれる。&lt;/p&gt;
&lt;p&gt;上記URLにあるようにgccのバージョンをあわせたり(&lt;a href="https://somewideopenspace.wordpress.com/2014/02/28/gcc-4-8-on-raspberry-pi-wheezy/" class="external-link" target="_blank" rel="noopener"&gt;Raspbian Wheezy上でgcc4.8.3以上を入れる&lt;/a&gt;)、ncurses-develを入れたりする。&lt;/p&gt;
&lt;p&gt;Raspi上で素のviが全然使えず諦めて&lt;code&gt;sudo apt-get install emacs&lt;/code&gt;した。&lt;/p&gt;</description></item><item><title>Nature RemoのKickstarterを開始しました</title><link>https://maaash.jp/2016/05/nature-remo-kickstarter/</link><pubDate>Tue, 24 May 2016 11:35:10 +0900</pubDate><guid>https://maaash.jp/2016/05/nature-remo-kickstarter/</guid><description>&lt;p&gt;IRKitを販売し始めたのは 2014年1月15日 なので、2年と4ヶ月ちょいになります。&lt;br&gt;
あっという間ですね。
その間製造したのは&amp;hellip;&lt;br&gt;
&lt;code&gt;100 + 500 + 1000 + 1000 + 2000 + 2000 + 3200 = 9800&lt;/code&gt;&lt;br&gt;
約1万台。なんで最後3400にしなかったのか、悔やみきれません。&lt;/p&gt;
&lt;p&gt;そして昨日の夜、新作である&lt;a href="https://www.kickstarter.com/projects/926103613/nature-remo-make-any-room-air-conditioner-smart?ref=home_social" class="external-link" target="_blank" rel="noopener"&gt;Nature RemoのKickstarter&lt;/a&gt;を開始しました！&lt;/p&gt;
&lt;iframe width="640" height="360" src="https://www.kickstarter.com/projects/926103613/nature-remo-make-any-room-air-conditioner-smart/widget/video.html" frameborder="0" scrolling="no"&gt; &lt;/iframe&gt;
&lt;p&gt;Nature Remoは、機能的にはIRKitの正統な進化形と考えていただいてよいと思います。&lt;br&gt;
IRKitの欠点として一番多くTwitterで見かけたりお問い合わせいただいたのは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;青いLEDが眩しすぎる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という点で、それを修正するのと(笑)、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;38kHz周辺のキャリア周波数のみ対応 -&amp;gt; より広いキャリア周波数の範囲に対応する&lt;/li&gt;
&lt;li&gt;赤外線が飛ぶ方向が前方2方向のみ -&amp;gt; 広い範囲に飛ぶように&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった基本的な機能の強化。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ArduinoIDE, 自作のアップデート用PCアプリを使ったファームウェアアップデート -&amp;gt; Over-The-Airアップデートできる&lt;/li&gt;
&lt;li&gt;いろんなセンサがついてる&lt;/li&gt;
&lt;li&gt;静電タッチセンサがついてる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;さらに&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ACアダプタが付属する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など(笑)、一般的な電気製品の様相を呈するようになっています。&lt;br&gt;
自分は意外とこのタッチセンサが好評になるんじゃないかと想像しています・・・&lt;/p&gt;
&lt;p&gt;電気回路やファームウェア全部がオープンソースになることは考えにくいですが、&lt;br&gt;
メジャーなものを使っているので、おそらく開けれb&amp;hellip;(略&lt;/p&gt;
&lt;p&gt;IRKitのAPIを使ってハックしていた方は、そのままNature Remoに移行できればいいなと考えています。&lt;br&gt;
が、、、まだどこまでできるか決まってはいません。&lt;br&gt;
Remo用のAPIを用意する、という非互換の修正を入れる良いチャンスにそうしないではいられないので、うまくバランスを取っていきたいです。&lt;/p&gt;
&lt;p&gt;長期的な構想も楽しみです。&lt;br&gt;
&lt;a href="http://itpro.nikkeibp.co.jp/atcl/news/16/052301464/?rt=nocnt" class="external-link" target="_blank" rel="noopener"&gt;一台で家中スマート化、米Natureが小型IoT機器、外からスマホで家電操作、電力の需給調整も&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;まとめると、&lt;br&gt;
KickstarterキャンペーンのEARLY BIRDの価格を考えると&lt;br&gt;
今ならIRKitより高機能なものがよりお安く手に入るかも？&lt;/p&gt;
&lt;p&gt;もしよろしければ応援お願いします！&lt;br&gt;
&lt;a href="https://www.kickstarter.com/projects/926103613/nature-remo-make-any-room-air-conditioner-smart?ref=home_social" class="external-link" target="_blank" rel="noopener"&gt;Nature RemoのKickstarter&lt;/a&gt;&lt;/p&gt;</description></item><item><title>メイカーズのエコシステム出版記念イベント＠３３３１</title><link>https://maaash.jp/2016/05/makers-ecosystem/</link><pubDate>Wed, 04 May 2016 23:26:06 +0900</pubDate><guid>https://maaash.jp/2016/05/makers-ecosystem/</guid><description>&lt;p&gt;&lt;a href="http://peatix.com/event/159004/view" class="external-link" target="_blank" rel="noopener"&gt;メイカーズのエコシステム出版記念イベント＠３３３１&lt;/a&gt;
に呼んでいただいて、IRKitの製造の話をしてきました。&lt;/p&gt;
&lt;p&gt;メーヴェ作っている八谷さんを始めおもしろい登壇者陣。&lt;/p&gt;
&lt;p&gt;7月末にやるという北海道のテストフライトは見に行きたいなあ。&lt;br&gt;
自分のロールモデルである。&lt;br&gt;
そのプレゼンに出ていた動画はこれ&lt;/p&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/-mlI_hZAS6U" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;「電波法の認証を、FCC認証とおってれば省略していいんじゃないか」&lt;br&gt;
っていうアイディアが最後質疑の中であったけど、&lt;br&gt;
日本が今後衰退していく中で置いてけぼりにならないためにもこういう工夫はしてほしいなあ&lt;/p&gt;
&lt;p&gt;自分の発表資料はこちら&lt;br&gt;
&lt;a href="https://docs.google.com/presentation/d/1xNxJMsiNyYrQMnncKvi1wjbTzoyY6XQzoo-BODtrE4w/edit?usp=sharing" class="external-link" target="_blank" rel="noopener"&gt;メイカーズのエコシステム出版記念イベント＠３３３１ IRKitの話&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;次期製品は今月中盤以降、Kickstarterに出す予定なので、乞うご期待！&lt;/p&gt;
&lt;p&gt;それでは &lt;a href="http://www.amazon.co.jp/gp/product/B01AXRCDTU/ref=as_li_tf_tl?ie=UTF8&amp;amp;camp=247&amp;amp;creative=1211&amp;amp;creativeASIN=B01AXRCDTU&amp;amp;linkCode=as2&amp;amp;tag=masaishere-22" class="external-link" target="_blank" rel="noopener"&gt;メイカーズのエコシステム　新しいモノづくりがとまらない。&lt;/a&gt; について。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;輪郭がはっきりしていない。&amp;rdquo; メイカームーブメントの輪郭、全容をつかめる一冊。&lt;br&gt;
最も印象に残っているのは (書籍内の引用の引用だが&amp;hellip;)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;メイカームーブメントによって、世界は良い方向に変わっていくと考えている。 中略&amp;hellip;&lt;br&gt;
重要なのは、メイカー全員がMakeすることによって、「ある変化」を体験することだ。&lt;br&gt;
いまの世の中には、コントロールできないものが多過ぎる。Makeのカルチャーは「コントロールできるものを自分たちの手に取り戻そう」という考え方だ。政治や経済は自分たちでコントロールできない。だが、ものを作ることは自分でコントロールできる。&lt;br&gt;
この「自分は何かをコントロールできる」という想いをいただくことを、メイカーはとても大事にしている。&lt;br&gt;
例えば、椅子を自作したとする。もちろん既成品より出来は劣る。しかし、自分で作った椅子には愛着が湧き、さらに「既成品の椅子が、どういう接着剤やネジを使って作られているか？」といった新しい視点が生まれる。それまでの人生では、作りの良い椅子を見ても特に何も感じなかったかもしれないが、実際に手を動かして関わってみることで、かつて無縁だったものに親しみが生まれ、まるで仲間が作ったもののように思えるようになる。&lt;br&gt;
こうした経験を積むことで、作り手に対する感謝や尊敬の念を持てるようになるのだろう。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;「そうなんだよ！」自分はこういった変化を促進しようとものづくりをしている。&lt;br&gt;
人の言葉でそれを語られてくすぐったいような嬉しい気持ちだ。&lt;br&gt;
自分で作ってみるからこそ、「これは自分には作れないなあ」とため息をついて、作れる人に対して尊敬の念が生じるのは気持ちがいい。&lt;br&gt;
何気なく見かけた電気製品を見て、「おお、こだわって作ってるなあ」と笑みを浮かべるのも気持ちがいい。&lt;/p&gt;
&lt;p&gt;メイカームーブメントってなんなんだろって思ってる人は手にとって見ると良いと思います。&lt;/p&gt;
&lt;iframe src="https://rcm-fe.amazon-adsystem.com/e/cm?t=masaishere-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=B01AXRCDTU&amp;ref=qf_sp_asin_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_top&amp;m=amazon&amp;lc1=0000FF&amp;bc1=FFFFFF&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;</description></item><item><title>IRKitが蔦屋家電で購入可能に</title><link>https://maaash.jp/2015/10/irkit-tsutaya-kaden/</link><pubDate>Thu, 15 Oct 2015 12:35:00 +0900</pubDate><guid>https://maaash.jp/2015/10/irkit-tsutaya-kaden/</guid><description>&lt;p&gt;&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/maaash/22190973371/in/album-72157639728308576/" title="IRKit 蔦屋家電"&gt;&lt;img src="https://farm1.staticflickr.com/729/22190973371_a53d25b003_z.jpg" width="640" height="442" alt="IRKit 蔦屋家電"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/maaash/22180718095/in/album-72157639728308576/" title="IRKit 蔦屋家電"&gt;&lt;img src="https://farm1.staticflickr.com/698/22180718095_d3b8e7b188_z.jpg" width="640" height="455" alt="IRKit 蔦屋家電"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;今週から、蔦屋家電さんでIRKitを購入いただけるようになりました！！！&lt;/p&gt;
&lt;p&gt;感動。&lt;/p&gt;
&lt;p&gt;まだIRKitをお持ちで無い方は、デモも体験できますのでぜひ足を運んでみてください！&lt;br&gt;
&lt;a href="http://real.tsite.jp/futakotamagawa/access/" class="external-link" target="_blank" rel="noopener"&gt;蔦屋家電はこちら&lt;/a&gt;&lt;/p&gt;</description></item><item><title>IRKitをiftttから使う時はMaker Channelを使いましょう</title><link>https://maaash.jp/2015/10/irkit-ifttt-maker-channel/</link><pubDate>Thu, 15 Oct 2015 12:30:00 +0900</pubDate><guid>https://maaash.jp/2015/10/irkit-ifttt-maker-channel/</guid><description>&lt;p&gt;&lt;a href="https://ifttt.com/maker" class="external-link" target="_blank" rel="noopener"&gt;Maker Channel[ifttt]&lt;/a&gt; についてはこちら&lt;/p&gt;
&lt;p&gt;詳しくは&lt;br&gt;
&lt;a href="http://soh335.hatenablog.com/entry/2015/06/23/123713" class="external-link" target="_blank" rel="noopener"&gt;ifttt の maker channel から irkit の api に request を投げる&lt;/a&gt;&lt;br&gt;
や&lt;br&gt;
&lt;a href="http://blog.hello-world.jp.net/irkit/3462/" class="external-link" target="_blank" rel="noopener"&gt;IFTTTのmaker channelを使ってIRKitを操作する&lt;/a&gt;&lt;br&gt;
をご覧ください。&lt;/p&gt;
&lt;p&gt;過去、まだMaker Channelが無い頃、&lt;br&gt;
&lt;a href="http://maaash.jp/2015/02/ifttt-irkit/" class="external-link" target="_blank" rel="noopener"&gt;IFTTTとIRKitを連携する&lt;/a&gt; という記事を書き、&lt;br&gt;
&lt;a href="http://ifttt.getirkit.com/" class="external-link" target="_blank" rel="noopener"&gt;IFTTT/IRKit Integration&lt;/a&gt; をつくりましたが、&lt;br&gt;
今後、IFTTTとIRKitの連携はMaker Channelを使ってください。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ifttt.getirkit.com は Deprecated とさせていただきます。&lt;/strong&gt;&lt;br&gt;
今から半年後以降に終了しますので、お使いいただいている方はMaker Channelへの移行をお願いします。&lt;/p&gt;
&lt;p&gt;IRKit自体は今後も変わりなくお使いいただけます。&lt;/p&gt;</description></item><item><title>IRKitの脆弱性とファームウェアアップデートのお願い</title><link>https://maaash.jp/2015/09/irkit-firmware-update/</link><pubDate>Mon, 07 Sep 2015 21:30:00 +0900</pubDate><guid>https://maaash.jp/2015/09/irkit-firmware-update/</guid><description>&lt;p&gt;IRKitはオープンソースであり公開されているAPIがあることから、多くの方が自分の好みの方法でリモコン信号を送れるようハックを行ってきました。&lt;/p&gt;
&lt;p&gt;任意のきっかけで自宅のコンピューターからcurlコマンドを実行してリモコン信号を送ったり、自分でデザインしたウェブサイトからリモコン信号を送れるようにしたり。&lt;/p&gt;
&lt;p&gt;ところが、ウェブサイトからリモコン信号を送ることのできる機能は、悪用されると、IRKitの使用者が意図しないタイミングでリモコン信号を送られる可能性があることがわかりました。
IRKitの使用者が、IRKitを接続しているネットワークと同一のネットワークに接続しているコンピューターを使い、ブラウザで攻撃者が用意したウェブサイトを開き、IRKitのIPアドレスを攻撃者が推測できる場合に、IRKitの使用者のインタラクション無しに、JavaScriptを利用してリモコン信号を送ることができます。&lt;br&gt;
具体的には例えば、IRKitを家のWi-Fiアクセスポイントに接続するようセットアップ済みの状態で、IRKitの接続しているものと同じアクセスポイントに接続したコンピューターやスマートフォンを使い、Twitterやメールで送られてきたURLをブラウザで開くと、リモコン信号を送られる可能性があります。&lt;/p&gt;
&lt;p&gt;この問題の発見者は自分です。この記事執筆時点までにこの問題を使用した攻撃は確認、報告されていません。&lt;/p&gt;
&lt;p&gt;この問題の対象となるIRKitは、2014年1月〜2015年8月頃に販売したIRKitです。2015年8月中旬以降販売したIRKitにはこの問題を修正済みのファームウェア(IRKit内部のソフトウェア)を使用しています。IRKitのバージョンを以下のように確認し、バージョン番号が &lt;code&gt;v3.0.0.gxxxxx&lt;/code&gt; 未満、つまり &lt;code&gt;v1.x.x.gxxxx&lt;/code&gt; または &lt;code&gt;v2.x.x.gxxxx&lt;/code&gt; と表示されている場合には、ファームウェアのアップデートを行ってください。&lt;/p&gt;
&lt;p&gt;&lt;a data-flickr-embed="true" data-header="false" data-footer="false" data-context="false" href="https://www.flickr.com/photos/99687464@N00/14023119426" title="IRKit-firmware-version"&gt;&lt;img src="https://farm6.staticflickr.com/5285/14023119426_aff8549745.jpg" width="282" height="500" alt="IRKit-firmware-version"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;上記バージョンが表示されていない場合には、IRKitXXXXと表示されているところをタップするとバージョン情報を再取得します。また、ご自身でIRKitのファームウェアを変更しアップデートを行っている場合にはバージョンが表示されない可能性があります。&lt;/p&gt;
&lt;p&gt;IRKitのファームウェアのアップデートは、これまでArduino IDEを使用した方法をご案内していましたが、Mac, Windowsのコンピューターで使える&lt;a href="https://github.com/irkit/updater" class="external-link" target="_blank" rel="noopener"&gt;IRKitのファームウェアアップデート用アプリケーション IRKit Updater&lt;/a&gt;を用意しましたので、お使いください。&lt;/p&gt;
&lt;p&gt;IRKit Updaterの動作環境は、以下のとおりです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mac OSX 10.8以降&lt;/li&gt;
&lt;li&gt;Windows 7以降&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以下にIRKit Updaterの使用方法を説明します。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://github.com/irkit/updater/releases/latest" class="external-link" target="_blank" rel="noopener"&gt;最新のIRKit Updaterをダウンロード&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ダウンロードしたzipファイルを展開&lt;/li&gt;
&lt;li&gt;IRKitをUSBケーブルを使ってコンピューターに接続&lt;/li&gt;
&lt;li&gt;Windowsをお使いの場合には、IRKitのドライバをインストール (Macをお使いの場合は必要ありません)
&lt;ol&gt;
&lt;li&gt;管理者としてログインします&lt;/li&gt;
&lt;li&gt;Windows 7, 8 の場合
&lt;ol&gt;
&lt;li&gt;スタート メニューから、コントロール パネル、システムとセキュリティ、の順にクリックし、システム の下の デバイス マネージャー をクリックします&lt;/li&gt;
&lt;li&gt;ほかのデバイス の下に IRKit が表れるので、IRKit を右クリック&lt;/li&gt;
&lt;li&gt;ドライバーソフトウェアの更新、コンピューターを参照してドライバー ソフトウェアを検索します、 を順にクリック&lt;/li&gt;
&lt;li&gt;次の場所でドライバー ソフトウェアを検索します の下にある参照ボタンをクリックし、IRKit Updaterを解凍したフォルダを選択&lt;/li&gt;
&lt;li&gt;サブフォルダーも検索する、にチェックをつけ、次へ をクリック&lt;/li&gt;
&lt;li&gt;ドライバー ソフトウェアの発行元を検証できません、と表示されたら このドライバー ソフトウェアをインストールします をクリック&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Windows 8.1 の場合
&lt;ol&gt;
&lt;li&gt;スタート メニューから、PC設定、保守と管理、回復、を順にクリックし、PCの起動をカスタマイズする の下にある 今すぐ再起動する をクリックします&lt;/li&gt;
&lt;li&gt;再起動後、トラブルシューティング、詳細オプション、スタートアップ設定、再起動、を順にクリックします&lt;/li&gt;
&lt;li&gt;スタートアップ設定 が表示されたら、7 を押す&lt;/li&gt;
&lt;li&gt;デスクトップの右下に テストモード と表示されます&lt;/li&gt;
&lt;li&gt;スタート メニューから、PC設定、コントロール パネル、システムとセキュリティ、システム、デバイス マネージャーを順にクリックします&lt;/li&gt;
&lt;li&gt;ほかのデバイス の下に IRKit が表れるので、IRKit を右クリック&lt;/li&gt;
&lt;li&gt;ドライバーソフトウェアの更新、コンピューターを参照してドライバー ソフトウェアを検索します、 を順にクリック&lt;/li&gt;
&lt;li&gt;次の場所でドライバー ソフトウェアを検索します の下にある参照ボタンをクリックし、IRKit Updaterを解凍したフォルダを選択&lt;/li&gt;
&lt;li&gt;サブフォルダーも検索する、にチェックをつけ、次へ をクリック&lt;/li&gt;
&lt;li&gt;ドライバー ソフトウェアの発行元を検証できません、と表示されたら このドライバー ソフトウェアをインストールします をクリック&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;IRKit Updater を実行&lt;br&gt;
Macの場合は &amp;ldquo;IRKit Updater.app&amp;rdquo; をダブルクリック、Windowsの場合は &amp;ldquo;IRKit Updater.exe&amp;rdquo; をダブルクリックしてください。
&lt;ul&gt;
&lt;li&gt;Windows 8.1 の場合、WindowsによってPCが保護されました、というダイアログが表れる場合があります。&lt;br&gt;
この場合には、このダイアログ上の、詳細情報、実行、を順にクリックして実行してください。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;以下のように表示されるので Update をクリック&lt;br&gt;
&lt;a data-flickr-embed="true" data-header="false" data-footer="false" data-context="false" href="https://www.flickr.com/photos/maaash/20891451740/in/dateposted/" title="スクリーンショット 2015-09-02 15.54.33"&gt;&lt;img src="https://farm6.staticflickr.com/5634/20891451740_df829ef82e_z.jpg" width="640" height="499" alt="スクリーンショット 2015-09-02 15.54.33"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/li&gt;
&lt;li&gt;Log areaに進行状況が詳しく表示されます。その後最後に以下のように表示されれば成功
&lt;a data-flickr-embed="true" data-header="false" data-footer="false" data-context="false" href="https://www.flickr.com/photos/maaash/21053384776/in/dateposted/" title="スクリーンショット 2015-09-02 16.01.47"&gt;&lt;img src="https://farm1.staticflickr.com/612/21053384776_c7b408988a_z.jpg" width="640" height="499" alt="スクリーンショット 2015-09-02 16.01.47"&gt;&lt;/a&gt;&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/li&gt;
&lt;li&gt;うまくいかなければ、画面の指示にしたがい再度IRKitを抜き差ししてやり直し、それでもうまくいかなければ Log area 右上の Copy をクリックして、以下のサポートメール &lt;a href="mailto:support@getirkit.com" &gt;support@getirkit.com&lt;/a&gt; 宛に、本文に貼り付けて送ってください。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;コンピューターをお持ちでなくアップデートができなければ、iPhone/Android向けのIRKit公式アプリ IRKit Simple Remote 内の設定画面の ご意見・ご要望・ご質問 からメールを送ってください。&lt;/p&gt;</description></item><item><title>iOS x BLE Core Bluetooth プログラミング</title><link>https://maaash.jp/2015/03/ios-ble/</link><pubDate>Wed, 18 Mar 2015 23:30:00 +0900</pubDate><guid>https://maaash.jp/2015/03/ios-ble/</guid><description>&lt;p&gt;堤さん、松村さんによる &lt;a href="http://www.amazon.co.jp/gp/product/4883379736/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;amp;camp=247&amp;amp;creative=1211&amp;amp;creativeASIN=4883379736&amp;amp;linkCode=as2&amp;amp;tag=masaishere-22" class="external-link" target="_blank" rel="noopener"&gt;iOS x BLE CoreBluetoothプログラミング本&lt;/a&gt;
をおすすめしよう。&lt;/p&gt;
&lt;p&gt;まず前書き&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「スマホアプリと外部デバイスと連携させるのは楽しい」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;そうだよね〜。&lt;br&gt;
IRKitも元はといえばCoreBluetoothというのが出てきて、MFi無しで手持ちのiPhoneと通信できるハードウェアがつくれるの！？何それ熱い！から入ったので親近感が沸く。&lt;br&gt;
(IRKitはその後Wi-Fiを使うように変更している)&lt;/p&gt;
&lt;p&gt;BLEを使いiPhoneと通信するハードウェアを開発しようとする時、&lt;br&gt;
まず身につけるべきは、問題が起きた時の切り分け能力だと思う。&lt;/p&gt;
&lt;p&gt;iPhone側はアプリから見るとCoreBluetoothという抽象化したレイヤなので、&lt;br&gt;
アプリ開発者は「scanFor&amp;hellip;してるのに見つからないよ？」&lt;br&gt;
デバイス側では「advertiseしてるよ？」&lt;br&gt;
となった時にすぐパケットロガーを出せると話が早い。&lt;/p&gt;
&lt;p&gt;この辺もちゃんと10章,10-3,10-4で書いてあってすばらしい。&lt;br&gt;
実戦をこなしている著者陣ならでは。&lt;br&gt;
自分はTIのCC2540のドングルを買ってWireSharkで眺めていたけれど、こんな方法もあったんだなあ&lt;/p&gt;
&lt;p&gt;次に、11章「ハマりどころ逆引き辞典」&lt;/p&gt;
&lt;p&gt;これはずるいよ。&lt;/p&gt;
&lt;p&gt;最後に、3章「BLEを理解する」&lt;/p&gt;
&lt;p&gt;ふわっとiOSアプリの作り方を解説するだけではなく、BLEについて詳しい3章があるのが心強い。&lt;br&gt;
ハードウェアを作るならば、Bluetooth4の仕様を読むことになるだろう。&lt;br&gt;
だが Core_V4.0.pdf は2302ページもあってしんどい。&lt;/p&gt;
&lt;p&gt;そんなときにまずこの3章を日本語で読んで挑めるとかなりスムーズになるだろう。
自分も仕様はところどころピックアップして読んだだけなので、3章はいざという時のためにあたためておきたい。&lt;/p&gt;
&lt;p&gt;BLEデバイスつくりたい。&lt;/p&gt;
&lt;p&gt;というあなたもぜひ&lt;br&gt;
&lt;a href="http://www.amazon.co.jp/gp/product/4883379736/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;amp;camp=247&amp;amp;creative=1211&amp;amp;creativeASIN=4883379736&amp;amp;linkCode=as2&amp;amp;tag=masaishere-22" class="external-link" target="_blank" rel="noopener"&gt;iOS x BLE CoreBluetoothプログラミング本&lt;/a&gt;&lt;/p&gt;</description></item><item><title>IRKitの公式Androidアプリが出たよ！！</title><link>https://maaash.jp/2015/03/irkit-android/</link><pubDate>Sat, 07 Mar 2015 17:00:00 -0800</pubDate><guid>https://maaash.jp/2015/03/irkit-android/</guid><description>&lt;img src="https://farm9.staticflickr.com/8605/16745165505_b0b785e887.jpg" width="500" height="161" alt="IRKitシンプルリモコン Android"&gt;
&lt;p&gt;IRKitの公式Androidアプリが出たよ！！&lt;br&gt;
&lt;a href="https://play.google.com/store/apps/details?id=com.getirkit.irkitsimpleremote&amp;amp;hl=ja" class="external-link" target="_blank" rel="noopener"&gt;IRKitシンプルリモコン [play.google.com]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;古巣の同僚、&lt;a href="https://github.com/iizukanao" class="external-link" target="_blank" rel="noopener"&gt;なおやん&lt;/a&gt;がつくってくれました！&lt;/p&gt;
&lt;p&gt;&amp;ldquo;IRKitのAndroidクライアントがようやく完成しました。&amp;rdquo; となおやんが言うので&lt;br&gt;
初めてのAndroid機となるNexus6をSimフリーで買って遊んでいますが、&lt;br&gt;
IRKitシンプルリモコン Android版めっちゃいいです。&lt;/p&gt;
&lt;p&gt;IRKitなどWi-Fiを使ったデバイスを家のWi-Fiアクセスポイントにつなぐ場合、&lt;br&gt;
&lt;a href="%28http://maaash.jp/2014/03/wifi-setup/%29" &gt;どうやって家のWi-FiのSSID,パスワードをデバイスに渡すか、という問題があります&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;購入直後、パッケージ開封の興奮の最中にめんどくさいセットアップ作業があるので、&lt;br&gt;
いくらデバイスの提供する機能が画期的でも、セットアップがくそだと第一印象としてくそになってしまいます。&lt;/p&gt;
&lt;p&gt;IRKitもそこには気をつけてつくっていて、&lt;br&gt;
iPhoneアプリではセットアップがスムーズな体験になるよう気をつけていますが、&lt;br&gt;
それでもセットアップの中で一度iOSの&amp;quot;設定&amp;quot;アプリを開く必要があったり、面倒です。&lt;/p&gt;
&lt;p&gt;Android版はそこがすばらしい。&lt;br&gt;
Androidは、接続するWi-Fiアクセスポイントをアプリ内で切り替えることができるらしい、とは聞いていたものの、こんなに気持ちがいい体験になるとは！&lt;/p&gt;
&lt;p&gt;AndroidユーザーでIRKitを使っている方はぜひ！&lt;br&gt;
&lt;a href="https://play.google.com/store/apps/details?id=com.getirkit.irkitsimpleremote&amp;amp;hl=ja" class="external-link" target="_blank" rel="noopener"&gt;IRKitシンプルリモコン [play.google.com]&lt;/a&gt;&lt;/p&gt;</description></item><item><title>IFTTTとIRKitを連携する</title><link>https://maaash.jp/2015/02/ifttt-irkit/</link><pubDate>Mon, 16 Feb 2015 23:27:00 +0000</pubDate><guid>https://maaash.jp/2015/02/ifttt-irkit/</guid><description>&lt;blockquote class="twitter-tweet" lang="ja"&gt;&lt;p&gt;&lt;a href="https://twitter.com/maaash"&gt;@maaash&lt;/a&gt; irkitのinternet http apiですが、POSTではなくGETで操作することはできませんか？　ifttt-webhookを用いてirkitを使いたいです。&lt;/p&gt;&amp;mdash; さく@ターャジス (@sakuacid) &lt;a href="https://twitter.com/sakuacid/status/566091770220388353"&gt;2015, 2月 13&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;というつぶやきをきっかけに、&lt;br&gt;
&lt;a href="http://ifttt.getirkit.com/" class="external-link" target="_blank" rel="noopener"&gt;IFTTT/IRKit Integration&lt;/a&gt; というページをつくった。&lt;/p&gt;
&lt;p&gt;なんで今までやらなかったんだろう&amp;hellip;&lt;/p&gt;
&lt;p&gt;さて、IFTTTは&amp;hellip; 省略&lt;/p&gt;
&lt;p&gt;こんなことや&lt;br&gt;
&lt;img src="http://ifttt.getirkit.com/images/time-tv.png" alt="time-tv" &gt;&lt;br&gt;
Turn on TV at 08:00 AM on Mon Tue Wed Thu Fri.&lt;/p&gt;
&lt;p&gt;こんなことが&lt;br&gt;
&lt;img src="http://ifttt.getirkit.com/images/twitter-aircon.png" alt="twitter-aircon" &gt;&lt;br&gt;
Turn on Air Conditioner when Bot Tweets.&lt;br&gt;
できそうですね！&lt;/p&gt;
&lt;p&gt;WordPressのXMLRPCのふりをするサーバ側コードはこんなです。&lt;/p&gt;
&lt;script src="https://gist.github.com/mash/4466fac3808daf8de8a7.js"&gt;&lt;/script&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description></item><item><title>ffmpegで動画に字幕を焼き込む</title><link>https://maaash.jp/2015/01/ffmpeg-hardsub/</link><pubDate>Tue, 20 Jan 2015 12:27:00 +0000</pubDate><guid>https://maaash.jp/2015/01/ffmpeg-hardsub/</guid><description>&lt;p&gt;動画と字幕ファイル(.srtファイル)を別々に受け取り、動画に字幕を焼き込む(ハードサブ)お仕事のmemo&lt;/p&gt;
&lt;h2 id="前提知識"&gt;
 前提知識
 &lt;a class="heading-link" href="#%e5%89%8d%e6%8f%90%e7%9f%a5%e8%ad%98"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;srtファイルは、テキストファイルに字幕のテキストと、その表示開始時刻、終了時刻を書いたテキストファイル&lt;/p&gt;
&lt;p&gt;assファイルは、srtファイルに加え、フォントやフォントサイズ、影などのスタイルを含んだテキストファイル&lt;/p&gt;
&lt;h2 id="事前準備"&gt;
 事前準備
 &lt;a class="heading-link" href="#%e4%ba%8b%e5%89%8d%e6%ba%96%e5%82%99"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;ffmpegを &lt;code&gt;--with-libass&lt;/code&gt; オプション付きでビルドする&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install ffmpeg --with-libass
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.aegisub.org/" class="external-link" target="_blank" rel="noopener"&gt;Aegisub Advanced Subtitle Editor&lt;/a&gt; をインストール&lt;/p&gt;
&lt;h2 id="作業"&gt;
 作業
 &lt;a class="heading-link" href="#%e4%bd%9c%e6%a5%ad"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;ffmpegを使って、以下のようにsrtファイルをassに変換することができる。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i subtitles.srt subtitles.ass
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ところがこれで生成されたassファイルを動画に焼き込もうとすると、&lt;br&gt;
(ffmpegが生成した)スタイルの指定に問題があってそれをffmpegがスルーするのか、&lt;br&gt;
スタイルの設定が反映されず、16ptのArialフォントになってしまう。&lt;/p&gt;
&lt;p&gt;ここで Aegisub を使う。&lt;br&gt;
Aegisubでsrtファイルを開くと、srtファイルに文法エラーがあった時に、行番号を丁寧にも教えてくれるのでsrtファイルを修正する。&lt;br&gt;
最後に &lt;code&gt;Save Subtitles as&lt;/code&gt; でassファイルに書き出す。&lt;/p&gt;
&lt;p&gt;で、焼き込む&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i in.mov -vf &lt;span style="color:#e06c75"&gt;subtitles&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;subtitles.ass out.mov
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とりあえずできた。&lt;/p&gt;</description></item><item><title>ニコ技シンセン深圳観察会に行ってきた #sz1208</title><link>https://maaash.jp/2014/12/shenzhen/</link><pubDate>Mon, 15 Dec 2014 16:09:00 +0000</pubDate><guid>https://maaash.jp/2014/12/shenzhen/</guid><description>&lt;p&gt;&lt;a href="https://www.facebook.com/groups/653199074763047/" class="external-link" target="_blank" rel="noopener"&gt;ニコ技シンセン深圳観察会&lt;/a&gt; というグループを発見、参加して、チームラボ高須さんに導かれ 2014-12-08 - 2014-12-13 と深圳に行ってきた。高須さんには本当に感謝。&lt;/p&gt;
&lt;p&gt;(追記 2014-12-23)&lt;br&gt;
他のみなさまのブログ記事も参考にどうぞ&lt;br&gt;
&lt;a href="http://ch.nicovideo.jp/tks/blomaga/ar689972" class="external-link" target="_blank" rel="noopener"&gt;第２回 ニコ技深圳観察会 2014年12月 感想まとめ(更新中) #sz1208&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;長い記事になりそうなので最初にまとめ&lt;/p&gt;
&lt;h3 id="生産者として"&gt;
 生産者として
 &lt;a class="heading-link" href="#%e7%94%9f%e7%94%a3%e8%80%85%e3%81%a8%e3%81%97%e3%81%a6"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.flickr.com/photos/maaash/15845577330" title="Untitled by Masakazu Ohtsuka, on Flickr"&gt;&lt;img src="https://farm9.staticflickr.com/8638/15845577330_7b637a17c5.jpg" width="375" height="500" alt="Untitled"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;プロトタイプまでは深圳でやるのが最速そうだ。&lt;br&gt;
&lt;a href="http://dangerousprototypes.com/" class="external-link" target="_blank" rel="noopener"&gt;dangerous prototypes&lt;/a&gt; のように深圳に住み、BBQをしてファーチャンペイの人達と信頼関係を育み、無限の玉石の中からよい部品屋さんを見つけられる関係性を築く。&lt;br&gt;
基板は発注すれば24時間で届く。&lt;br&gt;
haxlr8rの人達が一週間で一ヶ月分はかどるというのは控えめの表現だろう。&lt;br&gt;
魅力的だ。&lt;/p&gt;
&lt;p&gt;製品の生産はまだ日本でやりたい。&lt;br&gt;
信頼関係が損なわれたら粗悪品が混じるかもしれないところからは製品向けの部品は買えない。&lt;br&gt;
調達以降の工程も同様。&lt;br&gt;
自分は信頼できる工場が国内に既にあるし、生産は得意な人に任せ、ストレスなく進めることが自分にとっては優先度が高いので、多少高くても日本でやろう。&lt;br&gt;
もちろん日本の工場の人も偶然の積み重ねで出会えたわけで人次第。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.flickr.com/photos/maaash/15413189313" title="Untitled by Masakazu Ohtsuka, on Flickr"&gt;&lt;img src="https://farm8.staticflickr.com/7527/15413189313_f1dfc667e5.jpg" width="500" height="375" alt="Untitled"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="消費者として"&gt;
 消費者として
 &lt;a class="heading-link" href="#%e6%b6%88%e8%b2%bb%e8%80%85%e3%81%a8%e3%81%97%e3%81%a6"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.flickr.com/photos/maaash/15408646423" title="Untitled by Masakazu Ohtsuka, on Flickr"&gt;&lt;img src="https://farm8.staticflickr.com/7544/15408646423_dedfa34523.jpg" width="500" height="375" alt="Untitled"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;結果としてファーチャンペイで自分が買ったのは、カメラ＆microSDカードスロット付きクアッドコプター@5000円のみだった。&lt;br&gt;
小さなiPhoneやgoproコピーなどのように、機能に工夫を凝らしたコピーものはあるので、今後独自の発展を遂げて数年中には最新技術を使ったオリジナルの製品が果てしなく並ぶところになるだろう。&lt;br&gt;
電動1輪車はそのようなものの1つか。&lt;br&gt;
現時点で技術的に先端に近いものが最安で買えるのは確か。&lt;br&gt;
コピーであることやルールを無視する生産者にお金を払うのは、コピーされる側、ルールを守る側の気持ちを考え、応援する人にお金を払いたいという意味では抵抗がある。&lt;br&gt;
ハードウェアだけにお金を払う時代でもないが、、&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.flickr.com/photos/maaash/16031507792" title="Untitled by Masakazu Ohtsuka, on Flickr"&gt;&lt;img src="https://farm8.staticflickr.com/7582/16031507792_3f593e8c9a.jpg" width="500" height="375" alt="Untitled"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="生活する場所として"&gt;
 生活する場所として
 &lt;a class="heading-link" href="#%e7%94%9f%e6%b4%bb%e3%81%99%e3%82%8b%e5%a0%b4%e6%89%80%e3%81%a8%e3%81%97%e3%81%a6"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.flickr.com/photos/maaash/15845413788" title="Untitled by Masakazu Ohtsuka, on Flickr"&gt;&lt;img src="https://farm8.staticflickr.com/7509/15845413788_9576a73bb5.jpg" width="500" height="375" alt="Untitled"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>BLE Bootcampとwillpowerの話</title><link>https://maaash.jp/2014/09/blebootcamp-willpower/</link><pubDate>Wed, 24 Sep 2014 14:22:00 +0000</pubDate><guid>https://maaash.jp/2014/09/blebootcamp-willpower/</guid><description>&lt;p&gt;&lt;a href="http://peatix.com/event/49938/" class="external-link" target="_blank" rel="noopener"&gt;BLE Bootcamp&lt;/a&gt; というイベントで
&lt;a href="https://speakerdeck.com/maaash/1tai-1000tai-irkitfalseli" class="external-link" target="_blank" rel="noopener"&gt;1台-&amp;gt;1000台 IRKitの例&lt;/a&gt; という話をしてきました。&lt;/p&gt;
&lt;script async class="speakerdeck-embed" data-id="8836f18024ee01321f5106622b3e4870" data-ratio="1.41436464088398" src="//speakerdeck.com/assets/embed.js"&gt;&lt;/script&gt;
&lt;p&gt;振り返れば、「おれよくやったな〜」と思うほど大変でストレスフルな体験だったんだけれど、IRKitの販売までたどり着けたのは、&lt;strong&gt;willpowerをうまく使ったから&lt;/strong&gt; なんじゃないかなあと思ったので、willpowerを軸に話を展開してみました。&lt;/p&gt;
&lt;p&gt;willpowerとは、&lt;a href="http://www.apa.org/helpcenter/willpower.aspx" class="external-link" target="_blank" rel="noopener"&gt;What You Need to Know about Willpower:&amp;hellip;&lt;/a&gt; によれば、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Defining Willpower
We have many common names for willpower: determination, drive, resolve, self-discipline, self-control. But psychologists characterize willpower, or self-control, in more specific ways. According to most psychological scientists, willpower can be defined as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The ability to delay gratification, resisting short-term temptations in order to meet long-term goals.&lt;/li&gt;
&lt;li&gt;The capacity to override an unwanted thought, feeling or impulse.&lt;/li&gt;
&lt;li&gt;The ability to employ a “cool” cognitive system of behavior rather than a “hot” emotional system.&lt;/li&gt;
&lt;li&gt;Conscious, effortful regulation of the self by the self.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A limited resource capable of being depleted.&lt;/strong&gt; (強調は引用者による)&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;訳しつつ要約すると&lt;/p&gt;</description></item><item><title>colloさんと財布をつくった</title><link>https://maaash.jp/2014/08/wallet/</link><pubDate>Sun, 31 Aug 2014 12:10:00 +0000</pubDate><guid>https://maaash.jp/2014/08/wallet/</guid><description>&lt;p&gt;&lt;a href="http://collocollo.com/" class="external-link" target="_blank" rel="noopener"&gt;collo&lt;/a&gt; さんにフルオーダーで財布をつくっていただきました。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.flickr.com/photos/maaash/15076595191" title="Untitled by Masakazu Ohtsuka, on Flickr"&gt;&lt;img src="https://farm6.staticflickr.com/5587/15076595191_014791e894_z.jpg" width="640" height="480" alt="Untitled"&gt;&lt;/a&gt;&lt;br&gt;
数ヶ月使い込んだ今の姿&lt;/p&gt;
&lt;p&gt;前の財布は実に約20年前にもらったもので、&lt;br&gt;
ほぼ毎日使っていて思い入れも強く捨てられなかったのですが、&lt;/p&gt;
&lt;p&gt;あらゆるところから小銭がこぼれ落ちるほど革が破れてきて&lt;br&gt;
さすがにあれなのでcolloさんにお願いすることにしました。&lt;/p&gt;
&lt;p&gt;自分の財布の使い方を思い返すと&amp;hellip;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ずぼんの前ポケットに入れる&lt;br&gt;
通常の2つ折り財布くらいのサイズ以下であってほしい&lt;br&gt;
厚みは多少あっても問題無い&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;お金、カードを入れるものはいつでも財布1つだけ&lt;br&gt;
別に小銭入れや定期入れをもたない&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;カードのフォームファクタのものはいつでも10枚以上いれている&lt;br&gt;
クレジットカード、病院のカード、免許証、保険証、等&lt;br&gt;
そのうち半分くらいはよく使うもの&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;小銭は財布にあれば優先的に使うのでたくさん貯まることは少ないけれど、重なったりして取り出しにくいといらっとするので広めに確保したい
お札もそこそこ入れたい&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というところ。&lt;/p&gt;
&lt;p&gt;こんなレイアウトの財布を使っていて
&lt;a href="https://www.flickr.com/photos/maaash/15056884826" title="image by Masakazu Ohtsuka, on Flickr"&gt;&lt;img src="https://farm6.staticflickr.com/5567/15056884826_e8bcc67e01_z.jpg" width="640" height="480" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
写真の奥の、糸がぺろっと出てるのが先代&lt;br&gt;
特にカードが辛い。&lt;br&gt;
たくさん入れると革が突っ張るし、カードが革との摩擦で止まっているので落ちやすい。&lt;br&gt;
小銭ポケットが小さい、お札は余裕で入るがむしろ無駄&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;財布に何も入っていない状態が一番きれいに見えるようにデザインされてるんじゃないか？！&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;いつでもカードたくさん入ってるからその状態が一番きれいに見えるようにしたい。&lt;br&gt;
ということでcolloさんといっしょに考えました。&lt;br&gt;
これが楽しい。&lt;/p&gt;
&lt;p&gt;中略 colloさんの記事 &lt;a href="http://collocollo.com/?p=1597" class="external-link" target="_blank" rel="noopener"&gt;オーダー製作記/ 二つ折り財布&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.flickr.com/photos/maaash/15079608835" title="Untitled by Masakazu Ohtsuka, on Flickr"&gt;&lt;img src="https://farm6.staticflickr.com/5576/15079608835_f51d7122f1_z.jpg" width="640" height="480" alt="Untitled"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.flickr.com/photos/maaash/14893471238" title="o_8s-300x300 by Masakazu Ohtsuka, on Flickr"&gt;&lt;img src="https://farm4.staticflickr.com/3868/14893471238_5027b687ba_o.jpg" width="300" height="300" alt="o_8s-300x300"&gt;&lt;/a&gt;&lt;br&gt;
こちらの画像はcolloさんより&lt;/p&gt;
&lt;p&gt;こんな構造見たこと無い！？&lt;br&gt;
&lt;strong&gt;画期的や&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;カードたくさん入る！&lt;br&gt;
マチがついてるから取り出しやすい！&lt;br&gt;
カバーがあるからカードが落ちない！&lt;br&gt;
小銭のポケットが広いし大きく開く！&lt;br&gt;
にも関わらずレイアウトのおかげで縦横の長さが短くなってる！(分厚いけど)&lt;/p&gt;
&lt;p&gt;ということで満足してるしすごく楽しかった。&lt;br&gt;
自分の使い方からくる制約、素材の制約の中で自由に「こんなレイアウトどう？」とかって話しながら自分の満足を最大化する。&lt;br&gt;
違う分野のエンジニアリングに触れる楽しさもある。&lt;/p&gt;
&lt;p&gt;同じような財布の使い方をしている人は色違いやちょいカスタムで、&lt;br&gt;
そうでない人はお値段もお手頃なのでみんなオーダーすればいいと思う。
&lt;a href="http://collocollo.com/" class="external-link" target="_blank" rel="noopener"&gt;http://collocollo.com/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>mbed祭りに行ってきた</title><link>https://maaash.jp/2014/08/mbed-fest-2014/</link><pubDate>Sun, 31 Aug 2014 11:35:00 +0000</pubDate><guid>https://maaash.jp/2014/08/mbed-fest-2014/</guid><description>&lt;p&gt;&lt;a href="http://mbed.doorkeeper.jp/events/13698" class="external-link" target="_blank" rel="noopener"&gt;mbed祭り2014@夏の東銀座&lt;/a&gt; に行ってきた。&lt;/p&gt;
&lt;p&gt;積み基板大放出特設コーナー で &lt;a href="http://www.st.com/web/jp/catalog/tools/FM116/SC959/SS1532/PF253215" class="external-link" target="_blank" rel="noopener"&gt;STM32F0-Discovery&lt;/a&gt; をいただきましたー&lt;br&gt;
ありがとうございます！&lt;br&gt;
STM32はtokoro氏がいつも使っていて気になっていました。&lt;/p&gt;
&lt;p&gt;以下はメモ&lt;/p&gt;
&lt;h4 id="mbedの概要と最新情報"&gt;
 mbedの概要と最新情報
 &lt;a class="heading-link" href="#mbed%e3%81%ae%e6%a6%82%e8%a6%81%e3%81%a8%e6%9c%80%e6%96%b0%e6%83%85%e5%a0%b1"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;商用でも利用可能
オープンソース - Apache 2.0&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;IRKitはArduino派生でATMEGA32U4を使用しているけれど、&lt;br&gt;
入手しにくいしそのおかげか価格もスペックの割に高いしROM,RAM容量が辛いので乗り換えたいところ。&lt;/p&gt;
&lt;p&gt;mbed Enabledな製品ってもうあるのかな？&lt;br&gt;
(うおーるぼっとBLEがそうなるようだけれど)&lt;/p&gt;
&lt;p&gt;コミュニティが育ってArduinoを越えてほしいなー&lt;/p&gt;
&lt;h4 id="freescale"&gt;
 Freescale
 &lt;a class="heading-link" href="#freescale"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;何か作ったらフリスケに宣伝してもらえる&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;GoProにKinetis入ってる&lt;/p&gt;
&lt;p&gt;KL02(自分が持ってる)をmbed対応する予定ある？&lt;br&gt;
「無い」とのこと&lt;br&gt;
残念&lt;/p&gt;
&lt;h4 id="ニコニコ動画の新着動画表示器"&gt;
 ニコニコ動画の新着動画表示器
 &lt;a class="heading-link" href="#%e3%83%8b%e3%82%b3%e3%83%8b%e3%82%b3%e5%8b%95%e7%94%bb%e3%81%ae%e6%96%b0%e7%9d%80%e5%8b%95%e7%94%bb%e8%a1%a8%e7%a4%ba%e5%99%a8"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h4&gt;
&lt;p&gt;青mbed+有線LAN自分もやってて懐かしい。&lt;br&gt;
インターネットにつながるのが簡単なのがmbedのすごいところと思う。&lt;/p&gt;
&lt;p&gt;HTTPやJSONについて丁寧に解説してて違う世界に来たな〜って思った。&lt;/p&gt;
&lt;p&gt;Github連携したい！！&lt;/p&gt;
&lt;h4 id="mbedってなに"&gt;
 mbedってなに
 &lt;a class="heading-link" href="#mbed%e3%81%a3%e3%81%a6%e3%81%aa%e3%81%ab"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h4&gt;
&lt;h5 id="cmsis-dap"&gt;
 CMSIS-DAP
 &lt;a class="heading-link" href="#cmsis-dap"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h5&gt;
&lt;p&gt;debugアダプタと開発環境の組み合わせが複雑だったものを統一しよう&lt;br&gt;
普及してほしい&lt;/p&gt;
&lt;p&gt;ツボLink2ってなんだろ&lt;/p&gt;
&lt;h4 id="うおーるぼっとble"&gt;
 うおーるぼっとBLE
 &lt;a class="heading-link" href="#%e3%81%86%e3%81%8a%e3%83%bc%e3%82%8b%e3%81%bc%e3%81%a3%e3%81%a8ble"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h4&gt;
&lt;p&gt;熱い&lt;br&gt;
ほしい&lt;br&gt;
けど1万円以上だと高い印象ある..&lt;br&gt;
BLEモジュールはBL600だった&lt;/p&gt;
&lt;p&gt;&lt;a href="https://media.dmm-make.com/item/2147/" class="external-link" target="_blank" rel="noopener"&gt;壁走りロボットうおーるぼっとBLEはmbed Enabled！！&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="node-red--mqtt"&gt;
 node-red / MQTT
 &lt;a class="heading-link" href="#node-red--mqtt"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h4&gt;
&lt;p&gt;あとで調べる&lt;/p&gt;</description></item><item><title>IRLauncher - Mac使用時に最速でエアコンをつけるために</title><link>https://maaash.jp/2014/08/irlauncher/</link><pubDate>Tue, 12 Aug 2014 14:51:00 +0000</pubDate><guid>https://maaash.jp/2014/08/irlauncher/</guid><description>&lt;p&gt;&lt;a href="http://getirkit.com/" class="external-link" target="_blank" rel="noopener"&gt;IRKit&lt;/a&gt; というものを作るほど、エアコンに対する不満が強いようです。&lt;br&gt;
というわけで、Macを使用している時に最速でエアコンをつけるためのアプリ &lt;a href="https://github.com/irkit/osx-launcher" class="external-link" target="_blank" rel="noopener"&gt;IRLauncher&lt;/a&gt; をつくりました。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=Qex3yCzFVyA" class="external-link" target="_blank" rel="noopener"&gt;IRLauncher デモ動画&lt;/a&gt;をご覧くださいませ。&lt;br&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/Qex3yCzFVyA?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;Terminalにいる時には &lt;a href="http://shokai.org/blog/archives/8716" class="external-link" target="_blank" rel="noopener"&gt;ruby IRKit gemの提供するirkitコマンド&lt;/a&gt; が便利なのですが、&lt;br&gt;
Macに向かっている時にはTerminal以外にもChromeやXcode,Emacsがアクティブな場合が多いので、グローバルなショートカット経由でよくアクセスするQuicksilver(or Alfred)にのっかるのがいいかな〜と思いました。&lt;/p&gt;
&lt;p&gt;快適なエアコン生活をお楽しみください。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/irkit/osx-launcher" class="external-link" target="_blank" rel="noopener"&gt;IRLauncher : Launch IR signals from your favorite launcher (Quicksilver, Alfred, ..)&lt;/a&gt;&lt;/p&gt;</description></item><item><title>IRKitはiOSのアクセシビリティ(スイッチコントロール、VoiceOver)に対応しています</title><link>https://maaash.jp/2014/06/irkit-accessibility/</link><pubDate>Tue, 24 Jun 2014 10:05:00 +0000</pubDate><guid>https://maaash.jp/2014/06/irkit-accessibility/</guid><description>&lt;p&gt;iOSには、あまりメジャーでないかもしれませんが&lt;br&gt;
設定画面にアクセシビリティという機能があり、これがよくできています。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://itunes.apple.com/jp/app/irkit-simple-remote/id778790928?l=ja&amp;amp;ls=1&amp;amp;mt=8" class="external-link" target="_blank" rel="noopener"&gt;IRKitシンプルリモコンアプリ&lt;/a&gt; では、過去ご要望があり、アクセシビリティのうち、スイッチコントロールとVoiceOverに対応しています(iPhoneのみ。iPadは未対応)&lt;br&gt;
iOSの設定アプリ -&amp;gt; 一般 -&amp;gt; アクセシビリティ -&amp;gt; スイッチコントロール を開き、オンにした後、&lt;br&gt;
リモコンアプリを開くと、以下のように、ボタンそれぞれの周りに青く枠が付き、スイッチコントロールの外部ボタンで選択（＝赤外線信号を送信）できるようになります。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.flickr.com/photos/maaash/14510426493" title="IRKit simple remote Accessibility on Flickr"&gt;&lt;img src="https://farm3.staticflickr.com/2939/14510426493_045c0cc0f5.jpg" width="282" height="500" alt="IRKit simple remote Accessibility"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;また、iOSの設定アプリ -&amp;gt; 一般 -&amp;gt; アクセシビリティ -&amp;gt; VoiceOver を開き、オンにした後は同様に、&lt;br&gt;
このボタンの下に書いてある、「25暖房自然風」とかって文字列をiOSが音声合成して読み上げてくれます。&lt;/p&gt;
&lt;p&gt;これを実現するのに追加で書く必要のあるコードが少ないのがiOSが「よくできている」と思うポイントですが、以下のような変更でこの対応を行いました。&lt;/p&gt;
&lt;p&gt;この画面ではUICollectionViewを使っていて、各ボタンは、UICollectionViewCellを継承したクラスです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-objc" data-lang="objc"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;// SSButtonCell : UICollectionViewCell
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- (&lt;span style="color:#e5c07b"&gt;void&lt;/span&gt;)&lt;span style="color:#61afef;font-weight:bold"&gt;awakeFromNib&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;self&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;isAccessibilityElement&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;YES&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-objc" data-lang="objc"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;// SSMainViewController : UICollectionViewController
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- (&lt;span style="color:#e06c75"&gt;UICollectionViewCell&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;)&lt;span style="color:#61afef;font-weight:bold"&gt;collectionView:&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;UICollectionView&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;)&lt;span style="color:#e06c75"&gt;cv&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;cellForItemAtIndexPath:&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;NSIndexPath&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;)&lt;span style="color:#e06c75"&gt;indexPath&lt;/span&gt;; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;IRSignal&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;signal&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; [&lt;span style="color:#e06c75"&gt;_signals&lt;/span&gt; &lt;span style="color:#e06c75"&gt;objectAtIndex&lt;/span&gt;: &lt;span style="color:#e06c75"&gt;indexPath&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;row&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;SSButtonCell&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;cell&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; [&lt;span style="color:#e06c75"&gt;cv&lt;/span&gt; &lt;span style="color:#e06c75"&gt;dequeueReusableCellWithReuseIdentifier&lt;/span&gt;: &lt;span style="color:#98c379"&gt;@&amp;#34;SSButtonCell&amp;#34;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;forIndexPath&lt;/span&gt;: &lt;span style="color:#e06c75"&gt;indexPath&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;cell&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;label&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;text&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;signal&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;name&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;cell&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;accessibilityLabel&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;signal&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;name&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これだけだし、&lt;code&gt;accessibilityLabel&lt;/code&gt;のところを、漢字もうまく読み上げてくれるのだからすごい。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;accessibilityLabel&lt;/code&gt;が音声認識対象になって、アプリ内でSiriと話せるようになるとSiriも使えるし、&lt;br&gt;
多くのアプリがアクセシビリティに対応するようになるし一石二鳥でいいと思うんだけどな〜&lt;br&gt;
iOS9で待ってます。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/jp/technologies/ios/accessibility.html" class="external-link" target="_blank" rel="noopener"&gt;Accessibility in iOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.apple.com/jp/accessibility/ios/voiceover/" class="external-link" target="_blank" rel="noopener"&gt;VoiceOver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.techfirm.co.jp/2013/10/15/ios-7-%E6%96%B0%E3%81%97%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B7%E3%83%93%E3%83%AA%E3%83%86%E3%82%A3-%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%E3%82%B3%E3%83%B3%E3%83%88/" class="external-link" target="_blank" rel="noopener"&gt;[iOS 7] 新しくなったアクセシビリティ – スイッチコントロール&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;サービスをつくるときには
「こういうユーザー層にこういう使われ方をするだろう」
と考えてその予測の精度がよいと、
いい仕事をした、という満足感がありますが、&lt;br&gt;
（予測は当った上で）
さらに想像を越えたところで使われ、
自分の想像力の欠如をよい意味で裏切られるのも、
嬉しいものですね。&lt;/p&gt;</description></item><item><title>リモコンNKとIRKit対応アプリの申請方法</title><link>https://maaash.jp/2014/03/howto-submit-irkit-app-to-appstore/</link><pubDate>Sat, 29 Mar 2014 21:00:00 +0000</pubDate><guid>https://maaash.jp/2014/03/howto-submit-irkit-app-to-appstore/</guid><description>&lt;p&gt;自分以外の人がつくったIRKit対応アプリがAppStoreに出たよ！！！！&lt;br&gt;
&lt;a href="https://itunes.apple.com/jp/app/rimokonnk/id843238453?mt=8" class="external-link" target="_blank" rel="noopener"&gt;リモコンNK [AppStore]&lt;/a&gt;&lt;/p&gt;
&lt;blockquote class="twitter-tweet" lang="ja"&gt;&lt;p&gt;&lt;a href="https://twitter.com/search?q=%23IRKit&amp;amp;src=hash"&gt;#IRKit&lt;/a&gt; 用のiOSリモコンアプリをリリースしました。機能限定版は無料です。お試し下さい。iOS7専用ですが、iOS6対応版もリリースします。&amp;#10;&lt;a href="https://t.co/dnl6Bus9e6"&gt;https://t.co/dnl6Bus9e6&lt;/a&gt; &lt;a href="http://t.co/t8wHvoiEKE"&gt;pic.twitter.com/t8wHvoiEKE&lt;/a&gt;&lt;/p&gt;&amp;mdash; nakano tomoyuki (@nakano_koumuten) &lt;a href="https://twitter.com/nakano_koumuten/statuses/449464203795906560"&gt;2014, 3月 28&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;すごい！！！！！！！！！&lt;br&gt;
こちらのアプリは事前に聞いていなかったし驚きました！&lt;br&gt;
AppStoreに &amp;ldquo;家電操作&amp;rdquo; のカテゴリができる日も近い！&lt;/p&gt;
&lt;p&gt;公式アプリに対して &amp;ldquo;もっとボタンを置きたい&amp;rdquo; という要望をいただいておりますが&lt;br&gt;
開発者の &lt;a href="https://twitter.com/nakano_koumuten" class="external-link" target="_blank" rel="noopener"&gt;@nakano_koumuten&lt;/a&gt; さんもその点に気づいたのか&lt;br&gt;
公式アプリの不満点を解消してより高機能になっていますねー。&lt;/p&gt;
&lt;p&gt;さて、IRKitというデバイスとセットで動作するアプリをAppStoreに申請して、&lt;br&gt;
AppleにIRKitが無いのにどう審査するんだ？&lt;br&gt;
という話。&lt;/p&gt;
&lt;p&gt;自分の場合はデバイスが販売開始もしていないときだったので、 Review Notes (Optional) に以下のように書きました。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I&amp;rsquo;m going to manufacture IRKit device starting this Decemeber, and here&amp;rsquo;s some pictures of it. &lt;a href="http://www.flickr.com/photos/99687464@N00/11311616785/" class="external-link" target="_blank" rel="noopener"&gt;http://www.flickr.com/photos/99687464@N00/11311616785/&lt;/a&gt; And a demo video using IRKit prototype device with the app. &lt;a href="http://www.youtube.com/watch?v=4MdpfICnl3I&amp;amp;feature=youtu.be" class="external-link" target="_blank" rel="noopener"&gt;http://www.youtube.com/watch?v=4MdpfICnl3I&amp;feature=youtu.be&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;動画は、URLを知っている人だけが見られる限定公開設定にしておきます。&lt;br&gt;
こうすれば再生数を見て &amp;ldquo;Appleの人が動画を見たようだな&amp;rdquo; と知ることも可能！！&lt;/p&gt;
&lt;p&gt;リモコンNKの作者の &lt;a href="https://twitter.com/nakano_koumuten" class="external-link" target="_blank" rel="noopener"&gt;@nakano_koumuten&lt;/a&gt; さんは、以下の動画をのせたそうです。&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ueE6wQdkCro?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;p&gt;よくできていますね〜&lt;br&gt;
iMovieで字幕をつけたそうです。&lt;/p&gt;</description></item><item><title>IRKit 3rdロットとモールスWi-Fiセットアップの終了について</title><link>https://maaash.jp/2014/03/irkit-deprecates-morse/</link><pubDate>Mon, 24 Mar 2014 12:30:00 +0000</pubDate><guid>https://maaash.jp/2014/03/irkit-deprecates-morse/</guid><description>&lt;p&gt;&lt;a href="http://maaash.jp/2014/03/wifi-setup/" class="external-link" target="_blank" rel="noopener"&gt;Wi-Fi機能を備えたデバイスのセットアップ、そしてモールスWi-Fiセットアップについて&lt;/a&gt; のようにしてがんばって モールスWi-Fiセットアップをつくりましたが、&lt;br&gt;
非常に残念ながら、それを捨てるときが来ました。&lt;/p&gt;
&lt;p&gt;モールスWi-Fiセットアップ はIRKitの2nd Lotまでで役目を終え、&lt;br&gt;
今週からAmazonに入荷予定の3rd Lotからは外します。&lt;br&gt;
モールスに期待していたみなさまには本当に申し訳ないです。&lt;/p&gt;
&lt;p&gt;基板はしばらくはそのままですが、マイクやアンプ、マイク周りの周辺部品は未実装とします。&lt;/p&gt;
&lt;p&gt;理由はたくさんありますが、&lt;br&gt;
その最大のものは、部品の調達がしんどいから、です。&lt;/p&gt;
&lt;p&gt;1st Lotで使ったマイクは Hosiden の KUB2823 を使い、&lt;br&gt;
それが手に入りにくかったので、2nd Lotでは似た仕様の Kobitone の 254-ECM6044-RO に切り替えました。&lt;br&gt;
基板だってマイク調達の選択肢を増やすため、6mm径のマイクと4mm径のマイクがどちらでも実装できるように工夫してみました(これはうまくいかなかったが)。&lt;/p&gt;
&lt;p&gt;IRKitの仕様にあう特定のマイクの在庫を 500個 も抱えているところは無いし、部品を切り替えるためには評価することになるし、何ヶ月後に入荷するマイクをまとめて大量に買えるほど自信もない。&lt;br&gt;
マイクがなかったとしても、個人がデバイスをつくるにあたって部品調達が一番しんどい(と私は感じた)、ということは &lt;a href="http://www.slideshare.net/maaash/irkit" class="external-link" target="_blank" rel="noopener"&gt;IRKitの作り方&lt;/a&gt; にも書いたとおりです。&lt;br&gt;
なるべく部品を減らしたいのです。&lt;/p&gt;
&lt;p&gt;他の理由も。。。&lt;br&gt;
iPadやAndroidの機種達ではマイクの音量が大きく、IRKitの筐体の音響設計がなされていないためか、iPhone以外の対応機種を増やそうとすると認識精度を高く保つためにArduino側のマイク周りの回路やモールス信号デコード処理を改善する必要があるがプログラムメモリが足りない。&lt;br&gt;
Wi-Fiアクセスポイントに接続できなかった時にその理由がフィードバックされないので、モールスが失敗したんだろう、と思い込みやすい。実際にはパスワードを間違えただけであったとしても。&lt;br&gt;
などなど。&lt;/p&gt;
&lt;p&gt;多くの場合はうまくいくし、うまくいった時の感動は素晴らしいのですが、残念です。&lt;/p&gt;
&lt;p&gt;結局、これからはモールスの代わりに、&lt;br&gt;
&lt;a href="http://maaash.jp/2014/03/wifi-setup/" class="external-link" target="_blank" rel="noopener"&gt;先の記事&lt;/a&gt; の最初に書いた方法: IRKitがWi-Fiアクセスポイントになり、設定アプリからIRKitのアクセスポイントに接続する方法を使うことにします。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://fukasigi.com/2014/01/20/irkit/" class="external-link" target="_blank" rel="noopener"&gt;IRKitのアプリ側のデザイナーのしーほ&lt;/a&gt; の神デザインの助けもあり、この方法でも意外とスムーズにセットアップできるのではないか。&lt;br&gt;
むしろかなりスムーズであると思います。&lt;br&gt;
実際どうなのかは体験してみてください！&lt;br&gt;
&lt;a href="http://amazon.co.jp/gp/product/B00H91KK26" class="external-link" target="_blank" rel="noopener"&gt;IRKit on Amazon&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;さて、モールスが大好きなあなたにとっての参考情報です。&lt;br&gt;
IRKitはArduino派生商品であるので、IRKitの3rd Lotを購入し、モールスで遊ぶのに必要な以下の部品を購入し、&lt;a href="https://github.com/irkit/device" class="external-link" target="_blank" rel="noopener"&gt;IRKitの回路図&lt;/a&gt; を見ながら未実装であるパッドに部品をハンダ付けし、Arduinoのプログラムを書き込むとよいでしょう。&lt;/p&gt;
&lt;p&gt;回路図の下半分中央辺りに &amp;ldquo;MICROPHONE&amp;rdquo; と書かれたエリアがあります。&lt;br&gt;
その部品番号と以下の部品表が対応しています。&lt;br&gt;
少量購入する際に便利なショップのURLものせておきました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;R14, R15, R16, R18 : 2012パッケージの抵抗 &lt;a href="http://eleshop.jp/shop/g/g89G311/" class="external-link" target="_blank" rel="noopener"&gt;表面実装用チップ抵抗(詰め合わせパック) SMD0805&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;C16 : 2012パッケージの1uFのコンデンサ &lt;a href="http://eleshop.jp/shop/g/gD63366/" class="external-link" target="_blank" rel="noopener"&gt;チップ型積層セラミックコンデンサ 25V 2012サイズ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;C17 : &lt;a href="https://www.chip1stop.com/dispDetail.do?partId=PANA-0062635" class="external-link" target="_blank" rel="noopener"&gt;アルミ電解コンデンサ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;C18 : 2012パッケージの0.047uFのコンデンサ &lt;a href="http://www.chip1stop.com/dispDetail.do?partId=MURA-0032153" class="external-link" target="_blank" rel="noopener"&gt;セラミックコンデンサ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IC3 : &lt;a href="http://www.chip1stop.com/dispDetail.do?partId=TI01-0276620" class="external-link" target="_blank" rel="noopener"&gt;LM386M-1/NOPB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MIC : &lt;a href="http://www.chip1stop.com/dispDetail.do?partId=HOSI-0000732" class="external-link" target="_blank" rel="noopener"&gt;KUB2823&lt;/a&gt; or &lt;a href="http://jp.mouser.com/ProductDetail/Kobitone/254-ECM6044-RO/?qs=6siQ5y5nVCzLXYLj0ZcHRw==" class="external-link" target="_blank" rel="noopener"&gt;254-ECM6044-RO&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Wi-Fi機能を備えたデバイスのセットアップ、そしてモールスWi-Fiセットアップについて</title><link>https://maaash.jp/2014/03/wifi-setup/</link><pubDate>Thu, 20 Mar 2014 15:10:00 +0000</pubDate><guid>https://maaash.jp/2014/03/wifi-setup/</guid><description>&lt;p&gt;IRKitのように、スマートフォンとWi-Fiで接続するデバイスをつくる際には、&lt;br&gt;
どのように家のWi-FiのSSIDやセキュリティの設定(WPA2なのかWEPなのか等)、パスワードをどのようにスマートフォンからデバイスに伝えるのか、ということが問題になる。&lt;/p&gt;
&lt;p&gt;スマフォからは同時に1つのWi-Fiアクセスポイントにしか接続できないのだから、&lt;br&gt;
家でも使うデバイスなのであれば、デバイスが家のWi-Fiアクセスポイントに接続することになる。&lt;/p&gt;
&lt;p&gt;だがデバイスには入力用のインターフェースがない。&lt;/p&gt;
&lt;p&gt;一番思いつきやすいのが、デバイスがWi-Fiアクセスポイントになり、スマフォからそれに接続して家のWi-Fiアクセスポイントの情報を伝える、という方法。&lt;br&gt;
だがこれでは自分のアプリ内でセットアップが完結しない。iOSであれば一度設定アプリを開き、Wi-Fiの設定からデバイスのアクセスポイントを選択し、、となる。&lt;/p&gt;
&lt;p&gt;興味深い事例をいくつかご紹介すると、&lt;br&gt;
Eye-Fiカードでは、一度PCにつなぎ、PC上のセットアップツールを使い、Eye-Fiカードが接続するアクセスポイントの情報を直接カードに書き込む。&lt;/p&gt;
&lt;img src="https://farm4.staticflickr.com/3792/13281945845_35744e0357_c.jpg" /&gt;
&lt;p&gt;この方法だとアクセスポイントはプルダウンメニューから選択できるのでSSID等を手入力せずに済むし、Wi-Fiに接続できなかった場合にデバイスからのフィードバックもあるが、PCにつながくてもセットアップできるとなおよい。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://electricimp.com/" class="external-link" target="_blank" rel="noopener"&gt;Electric Imp&lt;/a&gt; というWi-Fiモジュールでは、光の点滅をデジタル信号のようにして使う &lt;a href="https://electricimp.com/product/blinkup/" class="external-link" target="_blank" rel="noopener"&gt;BlinkUp Technology&lt;/a&gt; を使う。&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/a8-G4m1LYWs?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;p&gt;スマフォのディスプレイがチカチカするのだ。かっこいい。&lt;br&gt;
オープンソースにはなっていないし、Wi-FiモジュールとしてElectric Impを採用する必要があったがIRKitではそれは別の理由でできない。TELECも2014年3月現在取得していない。&lt;/p&gt;
&lt;p&gt;IRKitをつくるときには、他のWi-Fiモジュールを使いつつこれをぱくろうかと最初は思ったが、&lt;br&gt;
Patent Pendingと強調されているし、探すと申請中の特許 &lt;a href="http://www.google.com/patents/US20140025795" class="external-link" target="_blank" rel="noopener"&gt;Optically configured modularized control system to enable wireless network control and sensing of other devices
&lt;/a&gt; も見つかったのでびびってやめておいた。&lt;/p&gt;
&lt;p&gt;光がだめなら音はどうか。&lt;br&gt;
モールス信号はかっこいい。&lt;/p&gt;
&lt;p&gt;(中略)ということで音でいこうと決めた。&lt;/p&gt;
&lt;p&gt;Arduinoでモールス信号の送受信を試している人も何人かいて &lt;a href="https://www.google.co.jp/search?q=morse&amp;#43;arduino" class="external-link" target="_blank" rel="noopener"&gt;google: arduino morse&lt;/a&gt; 、それらを参考に組んでみた。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Morse_code" class="external-link" target="_blank" rel="noopener"&gt;モールス信号&lt;/a&gt; は、長音と短音、無音区間の比率を規定するもので、速度は WPM という単位を使い、可変である。&lt;br&gt;
WPM は Words Per Minute の略。&lt;br&gt;
Word は &amp;ldquo;PARIS&amp;rdquo; を基準とする場合が多い。&lt;br&gt;
つまり &lt;code&gt;.__. ._ ._. .. ...&lt;/code&gt; (ただし &amp;lsquo;_&amp;rsquo; が長音, &amp;lsquo;.&amp;rsquo; が短音, &amp;rsquo; &amp;rsquo; が文字区切りとする) の長さである。&lt;br&gt;
長音1つは短音3つに相当し、&lt;br&gt;
各音の間には1短音分、文字区切りは3短音分、単語区切りは7短音分の無音区間があるので、&lt;br&gt;
&amp;ldquo;PARIS&amp;rdquo; は 50短音分の長さがあり、&lt;br&gt;
WPM は 1分間で 50短音分の長さ をいくつ再生できるのか、という速度の単位である。&lt;/p&gt;</description></item><item><title>Yokohama.pm #10に行ってきました</title><link>https://maaash.jp/2014/02/yokohamapm10/</link><pubDate>Fri, 28 Feb 2014 15:33:00 +0000</pubDate><guid>https://maaash.jp/2014/02/yokohamapm10/</guid><description>&lt;p&gt;&lt;a href="http://yokohama.pm.org/" class="external-link" target="_blank" rel="noopener"&gt;Yokohama.pm&lt;/a&gt; #10 で IRKitの作り方 というお話をさせていただきました。&lt;/p&gt;
&lt;iframe src="https://www.slideshare.net/slideshow/embed_code/31748531?rel=0" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px 1px 0; margin-bottom:5px; max-width: 100%;" allowfullscreen&gt; &lt;/iframe&gt; &lt;div style="margin-bottom:5px"&gt; &lt;strong&gt; &lt;a href="https://www.slideshare.net/maaash/irkit" title="IRKitの作り方" target="_blank"&gt;IRKitの作り方&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href="http://www.slideshare.net/maaash" target="_blank"&gt;Masakazu Ohtsuka&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;p&gt;やってみよう。&lt;/p&gt;</description></item><item><title>Conference With Developers2で話してきた</title><link>https://maaash.jp/2014/02/conference-with-developers2/</link><pubDate>Sat, 01 Feb 2014 18:11:00 +0000</pubDate><guid>https://maaash.jp/2014/02/conference-with-developers2/</guid><description>&lt;script src="https://gist.github.com/mash/8746322.js"&gt;&lt;/script&gt;
&lt;p&gt;&lt;a href="http://maaash.jp/2014/01/irkit-released/" class="external-link" target="_blank" rel="noopener"&gt;IRKit入荷予定はこちらで更新&lt;/a&gt; していきます&amp;hellip;&lt;/p&gt;</description></item><item><title>dstat経由でredis infoを眺めfluentdを通してgrowthforecastでグラフにする</title><link>https://maaash.jp/2014/01/dstat-redis/</link><pubDate>Thu, 23 Jan 2014 11:38:00 +0000</pubDate><guid>https://maaash.jp/2014/01/dstat-redis/</guid><description>&lt;p&gt;&lt;a href="https://github.com/dagwieers/dstat" class="external-link" target="_blank" rel="noopener"&gt;dstat&lt;/a&gt; が万能なのでredis infoのキーを眺められるプラグインをつくった。&lt;/p&gt;
&lt;p&gt;redis-cli info の total_commands_processed を眺める場合。&lt;/p&gt;
&lt;iframe src="https://www.flickr.com/photos/99687464@N00/12100464916/player/de3364a695" height="362" width="800" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;code&gt;DSTAT_REDIS_*&lt;/code&gt; な環境変数を設定することでなんでもできるし&lt;br&gt;
fluentd-plugin-dstatを使う場合には環境変数がいじりにくかったので同じディレクトリにある設定ファイルを使ってもいい。&lt;/p&gt;
&lt;script src="https://gist.github.com/8571829.js"&gt;&lt;/script&gt;
&lt;p&gt;次にこれを &lt;a href="https://github.com/shun0102/fluent-plugin-dstat" class="external-link" target="_blank" rel="noopener"&gt;fluent-plugin-dstat&lt;/a&gt; を使い &lt;a href="http://fluentd.org" class="external-link" target="_blank" rel="noopener"&gt;fluentd&lt;/a&gt; に流し込み、&lt;a href="https://github.com/tagomoris/fluent-plugin-growthforecast" class="external-link" target="_blank" rel="noopener"&gt;fluent-plugin-growthforecast&lt;/a&gt; を使って &lt;a href="https://github.com/kazeburo/GrowthForecast/" class="external-link" target="_blank" rel="noopener"&gt;GrowthForecast&lt;/a&gt; でグラフにしよう。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# td-agent/templates/default/td-agent.conf.erb
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;source&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type dstat
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; tag dstat.&amp;lt;%= node[:hostname] %&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; option --redis
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; delay 30
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;/source&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;match&lt;/span&gt; dstat.*&lt;span style="color:#e06c75"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type map
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; tag &amp;#34;mapped.&amp;#34; + tag
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; time time
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; record record[&amp;#34;dstat&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;/match&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;match&lt;/span&gt; mapped.dstat.*&lt;span style="color:#e06c75"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type flatten_hash
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; add_tag_prefix flattened.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;/match&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;match&lt;/span&gt; flattened.mapped.dstat.**&lt;span style="color:#e06c75"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; type growthforecast
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; gfapi_url http://growthforecast/api/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; service dstat
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; tag_for section
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; remove_prefix flattened.mapped.dstat
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name_key_pattern .*
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;/match&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;と、こうなる&lt;/p&gt;</description></item><item><title>IRKitリリース！そして再入荷予定について</title><link>https://maaash.jp/2014/01/irkit-released/</link><pubDate>Wed, 15 Jan 2014 13:00:00 +0000</pubDate><guid>https://maaash.jp/2014/01/irkit-released/</guid><description>&lt;p&gt;&lt;a href="http://amazon.co.jp/gp/product/B00H91KK26" class="external-link" target="_blank" rel="noopener"&gt;IRKit (Amazon)&lt;/a&gt; の再入荷予定はこのページの一番上に最新情報を掲載する形でしばらく更新していきます。&lt;br&gt;
&lt;a href="http://www.switch-science.com/catalog/1644/" class="external-link" target="_blank" rel="noopener"&gt;IRKit (switch-science)&lt;/a&gt; でも販売を開始いたしました。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;第5ロットを製造中です。&lt;br&gt;
現在Amazon,switch-scienceともに在庫がありませんが今週中には出荷予定です。&lt;br&gt;
少々お待ちくださいませ。&lt;/p&gt;
&lt;p&gt;2014-08-05 13:30追記&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;第3ロットを製造中＆随時Amazonおよびswitch-scienceへ納品中です。&lt;br&gt;
一時的に在庫が無い場合もありますが数日中には補充されると思います。&lt;/p&gt;
&lt;p&gt;2014-04-01 10:30追記&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;第2ロットが売り切れました！&lt;br&gt;
ありがとうございます。&lt;/p&gt;
&lt;p&gt;第3ロットの部品はほぼそろっていまして、1-2週間で出荷できる予定です。&lt;br&gt;
しばらくお待ちくださいませ。&lt;/p&gt;
&lt;p&gt;2014-03-18 11:30追記&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;基板の実装は完了したのですが検査プログラムに問題があり、出荷までもう少々かかりそうです。&lt;br&gt;
もう少々お待ちを&amp;hellip;&lt;/p&gt;
&lt;iframe src="https://www.flickr.com/photos/99687464@N00/12828550263/player/91dcea7317" height="800" width="532" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;2014-02-28 15:20追記&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;次のロットに向けた全部品がそろいそうです。&lt;br&gt;
在庫補充は3月1日頃を予定しています。&lt;br&gt;
部品についてご連絡いただいた方、お待ちいただいている方、ありがとうございます！&lt;br&gt;
2014-02-18 12:20追記&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;非常に残念ですが、2月14日頃の入荷はなくなりました。&lt;br&gt;
必要な部品 (ATMEGA32U4-AUというAtmel社のマイコン) が手に入りにくいためです。&lt;br&gt;
購入後 1月24日 納期を待っていたものが 2月26日 納期に延期になり、さらに先ほど5月になってしまいました！！&lt;br&gt;
なんということでしょう。&lt;br&gt;
様々なみなさまのご協力により少しずつかき集めて作りたいと思っていますが&lt;br&gt;
再入荷予定は、確実に見えてからまた更新するようにいたします。&lt;br&gt;
もし ATMEGA32U4-AU を入手できる方がいらっしゃいましたらご紹介ください。お願いいたします。&lt;br&gt;
2014-02-13 00:00追記&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;再入荷についてですが、最速で2月14日頃になりそうです。&lt;br&gt;
またこちらを更新する形でお知らせいたします。&lt;br&gt;
2014-02-01 18:30追記&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href="http://getirkit.com/" class="external-link" target="_blank" rel="noopener"&gt;IRKit&lt;/a&gt; を &lt;a href="http://amazon.co.jp/gp/product/B00H91KK26" class="external-link" target="_blank" rel="noopener"&gt;Amazonで販売開始しました&lt;/a&gt; ！&lt;/p&gt;
&lt;p&gt;が、2014-01-15 13:00現在在庫がありません。&lt;br&gt;
残念です。。&lt;/p&gt;
&lt;p&gt;製造と在庫の補充予定について。&lt;br&gt;
最初に100個/ロットつくりまして、様子を見てゆっくり100個/ロットを回していくか、&lt;br&gt;
それとも数を増やしていくかを考えようという予定でした。&lt;/p&gt;
&lt;p&gt;最初の100個のうち、20個ばかりがお試し期間中にお問い合わせいただいたり、&lt;br&gt;
こちらからお願いしてデバッグのような感じで(すんなり動かなかった方は本当にご協力ありがとうございました)&lt;br&gt;
先行販売/差し上げて使っていただきました。&lt;/p&gt;
&lt;p&gt;残り80個を 24 x 3 に分けて、&lt;br&gt;
ファームウェアに不具合があれば最後の最後に書き換えられるように(結局、書き換えていませんが)&lt;br&gt;
少しずつAmazonへ出荷しようと考えていて、その最初の24個が売り切れ、&lt;br&gt;
次の24個が到着、Amazonの納品作業待ちです。&lt;br&gt;
今日中には購入いただけるようになるでしょう。&lt;/p&gt;</description></item><item><title>IRKit Internet HTTP APIと販売開始に向けて</title><link>https://maaash.jp/2014/01/irkit-internet-http-api/</link><pubDate>Wed, 08 Jan 2014 15:20:00 +0000</pubDate><guid>https://maaash.jp/2014/01/irkit-internet-http-api/</guid><description>&lt;iframe src="https://www.flickr.com/photos/99687464@N00/11635753034/player/a0d405e712" height="532" width="800" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;外出先からエアコンつけたいですよね。&lt;br&gt;
そうですよね。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://getirkit.com/" class="external-link" target="_blank" rel="noopener"&gt;IRKit&lt;/a&gt; と&lt;a href="http://getirkit.com/#IRKit-Device-API" class="external-link" target="_blank" rel="noopener"&gt;同じWiFiアクセスポイントにつながっている時に、HTTP POSTで赤外線信号をIRKitに送ってもらうAPI仕様&lt;/a&gt; についてはもう書いてあったんですが、&lt;br&gt;
外出先から赤外線信号を送ってもらうためのAPIについても書きました。&lt;br&gt;
&lt;a href="http://getirkit.com/#IRKit-Internet-API" class="external-link" target="_blank" rel="noopener"&gt;IRKit Internet HTTP API&lt;/a&gt; と言います。(ちょっと長いですよね, でもデバイス側もHTTPサーバだしなんとも&amp;hellip;)&lt;/p&gt;
&lt;p&gt;赤外線信号を送るためのAPIは &lt;a href="http://getirkit.com/#IRKit-Internet-POST-1-messages" class="external-link" target="_blank" rel="noopener"&gt;POST /1/messages&lt;/a&gt; です。&lt;br&gt;
そのパラメータには送り元のクライアントを認証する &lt;code&gt;clientkey&lt;/code&gt; と、&lt;br&gt;
赤外線を送信するIRKitデバイスを特定するIDである &lt;code&gt;deviceid&lt;/code&gt; が必要です。&lt;br&gt;
どうやってこれらを手に入れましょうか。&lt;/p&gt;
&lt;p&gt;よくある使い方として考えているのは、&lt;br&gt;
IRKitを買っていただいて、公式アプリを使ってWiFiにつないで、普通に使えた！という後に、&lt;br&gt;
せっかくもっと楽しめるんだからインターネット越しに使ってみよう、という方。&lt;br&gt;
この場合には簡単です。&lt;/p&gt;
&lt;p&gt;デバイスに &lt;a href="http://getirkit.com/#IRKit-Device-POST-keys" class="external-link" target="_blank" rel="noopener"&gt;POST /keys&lt;/a&gt; とやると、一時的に有効な &lt;code&gt;clienttoken&lt;/code&gt; というのをもらえます。&lt;br&gt;
これをサーバ側に &lt;a href="http://getirkit.com/#IRKit-Internet-POST-1-keys" class="external-link" target="_blank" rel="noopener"&gt;POST /1/keys&lt;/a&gt; で送ると、&lt;br&gt;
サーバ側でこのIRKitデバイスと新しいクライアントの情報を関連づけて記録して &lt;code&gt;deviceid&lt;/code&gt;, &lt;code&gt;clientkey&lt;/code&gt; をもらえます。&lt;br&gt;
これをつけて &lt;a href="http://getirkit.com/#IRKit-Internet-POST-1-messages" class="external-link" target="_blank" rel="noopener"&gt;POST /1/messages&lt;/a&gt; すれば、messageをサーバ経由でデバイスに届けて、赤外線を送ってくれます。&lt;/p&gt;
&lt;p&gt;このやり方は &lt;code&gt;clienttoken&lt;/code&gt; を使うことでデバイスとクライアントを関連づける、デバイス -&amp;gt; クライアント のやり方です。&lt;br&gt;
クライアント -&amp;gt; デバイスのルートで関連づけを行うやり方もありまして、これが公式アプリやiOS SDKから使うモールス信号を使ったやり方ですが、、、&lt;/p&gt;
&lt;p&gt;ちなみに、IRKitは来週15日水曜日Amazonで販売開始予定です。&lt;br&gt;
試用はこの辺りで受付を中止いたします。試用していただいた方はありがとうございましたー！&lt;/p&gt;
&lt;p&gt;dkdk&lt;/p&gt;</description></item><item><title>IRKitを試したい人〜</title><link>https://maaash.jp/2013/12/irkit-preview/</link><pubDate>Sun, 29 Dec 2013 12:55:00 +0000</pubDate><guid>https://maaash.jp/2013/12/irkit-preview/</guid><description>&lt;p&gt;IRKitについていくつか記事を書いてきました。&lt;br&gt;
&lt;a href="http://maaash.jp/2013/12/manufacturing-irkit/" class="external-link" target="_blank" rel="noopener"&gt;IRKitの基板実装工場に行ってきた&lt;/a&gt;&lt;br&gt;
&lt;a href="http://maaash.jp/2013/12/fablabkamakura-irkit-factory-jig/" class="external-link" target="_blank" rel="noopener"&gt;fablabkamakuraでIRKitのプログラム書き込み用治具をつくった&lt;/a&gt;&lt;br&gt;
&lt;a href="http://maaash.jp/2013/08/yamaguchi-mini-maker-faire-2013/" class="external-link" target="_blank" rel="noopener"&gt;Yamaguchi Mini Maker Faire 2013&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ようやくできあがってきたので、&lt;br&gt;
IRKitとは何なのか、ちょっと恥ずかしい動画でご紹介いたします。ご覧ください。&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/itycbCRCJWk?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;p&gt;やってみたかったんだよねー、こういう海外だとよくありそうな、開発者がしゃべる動画。&lt;/p&gt;
&lt;p&gt;詳しいことは &lt;a href="http://getirkit.com/" class="external-link" target="_blank" rel="noopener"&gt;IRKitのwebsite&lt;/a&gt; にも書きましたが、こちらの最後にも転載します。&lt;/p&gt;
&lt;p&gt;2014/1月の初めに &lt;a href="http://www.amazon.co.jp/gp/product/B00H91KK26" class="external-link" target="_blank" rel="noopener"&gt;AmazonのIRKitの商品ページ&lt;/a&gt; から で購入できるようになるかと思いますが、&lt;/p&gt;
&lt;p&gt;早く使ってみたい！という方がいらっしゃいましたら&lt;br&gt;
お渡ししますので試してください！&lt;/p&gt;
&lt;p&gt;試していただけた方には、amazonを通さない分かなりお安くできるほか、場合によってはそのまま差し上げるかもしれません！
ぜひご興味があれば、以下までご連絡お願いしますー。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/maaash" class="external-link" target="_blank" rel="noopener"&gt;@maaash&lt;/a&gt; か&lt;br&gt;
&lt;a href="mailto:o.masakazu@gmail.com" &gt;o.masakazu@gmail.com&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="section-1"&gt;IRKitとは&lt;/h3&gt;
&lt;p&gt;IRKitは、WiFi機能の付いたオープンソースな赤外線リモコンデバイス。&lt;br /&gt;
 家庭のエアコンやテレビ、ライトなど、赤外線で操作できる家電を、&lt;br /&gt;
 WiFiをとおして、iPhoneやiPadなどから操作できるようにするものです。
&lt;/p&gt;
&lt;p&gt;&lt;img src="https://getirkit.com/images/composition.png" width="640" height="374"&gt;&lt;/p&gt;
&lt;p&gt;IRKitは、公式のリモコンアプリ(coming soon!)から操作できるほか、&lt;br /&gt;
 &lt;a href="https://github.com/irkit/ios-sdk"&gt;IRKit iOS-SDK&lt;/a&gt;を使えば、&lt;br /&gt;
 任意のタイミングで赤外線信号を送ることのできるiOSアプリを簡単につくることができます。&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;例えば&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;位置情報を使いiPhoneが家の近くに来たら自動でエアコンを付けるアプリ&lt;/li&gt;
 &lt;li&gt;1ボタンで家中の家電の電源を消すアプリ(寝る前に便利)&lt;/li&gt;
 &lt;li&gt;ソーシャルと連携してFacebook友だちの見ているテレビにチャンネルを合わせるアプリ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、家電を操作する様々なアプリの可能性があるでしょう。&lt;/p&gt;
&lt;p&gt;
 また、&lt;a href="http://jsdo.it/mash/IRKit-jQuery-Sample"&gt;JavaScriptを使ってブラウザから赤外線信号を送ったり&lt;/a&gt;&lt;br /&gt;
 &lt;a href="#section-5-POST"&gt;curlを使って黒い画面(Terminal)から赤外線信号を送る&lt;/a&gt;こともできます。&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
IRKitデバイス自体にHTTPサーバがあり、&lt;br /&gt;
JSON形式の赤外線情報を HTTP POSTリクエストにのせて送ることで、赤外線信号を送ることができるのです。&lt;br /&gt;
また、IRKitと同じWiFiにいなくても、外出先から赤外線信号を送るための、インターネット上にあるサーバのAPIも公開しています。&lt;br /&gt;
&lt;/p&gt;</description></item><item><title>IRKitの基板実装工場に行ってきた</title><link>https://maaash.jp/2013/12/manufacturing-irkit/</link><pubDate>Wed, 25 Dec 2013 21:39:00 +0000</pubDate><guid>https://maaash.jp/2013/12/manufacturing-irkit/</guid><description>&lt;p&gt;Merry Christmas!&lt;/p&gt;
&lt;p&gt;クリスマスイブにはIRKitの基板実装工場の近く、岐阜のビジネスホテルに泊まった。&lt;br&gt;
12/24 IN, 12/25 OUT&lt;br&gt;
今年の自分らしいね。&lt;/p&gt;
&lt;p&gt;IRKitの基板は、 &lt;a href="http://www.kutami.co.jp/" class="external-link" target="_blank" rel="noopener"&gt;久田見製作所&lt;/a&gt; に製造、実装、検査をお願いしています。&lt;br&gt;
基板にたくさん助言をくれた &lt;a href="http://kpd-jp.biz/" class="external-link" target="_blank" rel="noopener"&gt;基板設計者 加藤木さん&lt;/a&gt; も12/24なのにごいっしょしてくれました。&lt;br&gt;
岐阜県にある町工場に初めての訪問。&lt;/p&gt;
&lt;p&gt;クリスマスイブには、部品実装。&lt;br&gt;
マウンターで高速に基板上に置かれる部品達。&lt;br&gt;
ダダダダダダ&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/1LOtc1e5g8U?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;p&gt;リード部品(赤外線LED, 赤外線受信器, マイク, カラーLED) は指した後にハンダ槽を通す。&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/wyUxW_RVN2Y?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;p&gt;そしてケースも &lt;a href="http://www.miyoshi-mf.co.jp/" class="external-link" target="_blank" rel="noopener"&gt;ミヨシの杉山さん&lt;/a&gt; から、金型で出した仕上げ前のプロトタイプが届く！&lt;br&gt;
かっこいいよ &lt;a href="http://www.kayac.com/team/sasaki-tomoya" class="external-link" target="_blank" rel="noopener"&gt;佐々木さん&lt;/a&gt; ！&lt;br&gt;
もりあがってきたー&lt;/p&gt;</description></item><item><title>fablabkamakuraでIRKitのプログラム書き込み用治具をつくった</title><link>https://maaash.jp/2013/12/fablabkamakura-irkit-factory-jig/</link><pubDate>Mon, 23 Dec 2013 10:00:00 +0000</pubDate><guid>https://maaash.jp/2013/12/fablabkamakura-irkit-factory-jig/</guid><description>&lt;p&gt;IRKitというリモコンをつくっています。&lt;/p&gt;
&lt;p&gt;先週は工場でプログラム書き込み、電気検査を行う時に、
実装(=ハンダ付け)済の基板を置くための治具をつくりました。&lt;/p&gt;
&lt;iframe src="https://www.flickr.com/photos/99687464@N00/11434913156/player/276434bea6" height="532" width="800" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;かっこいいですね。&lt;/p&gt;
&lt;p&gt;IRKitは &lt;a href="http://blog.arduino.cc/2013/07/10/send-in-the-clones/" class="external-link" target="_blank" rel="noopener"&gt;Arduino派生&lt;/a&gt; で、&lt;br /&gt;
ATmega32U4マイコンへのプログラムの書き込みにはよくArduino ICSPヘッダと言われる6本のピンを使います。&lt;br /&gt;
また、Wifiモジュールへのプログラム書き込みには別の8本のピンを使います。&lt;/p&gt;
&lt;p&gt;工場では、これらのピンを通して基板にプログラムを書き込みます。&lt;/p&gt;
&lt;p&gt;基板にはピンヘッダもソケットも実装せず、ユーザーが実装できるようにスルーホールだけ空いている。&lt;br /&gt;
そんなスルーホールに対して電気的な接触を一時的にするための部品として、&lt;br /&gt;
switch-scienceさんで販売している&lt;a href="http://www.switch-science.com/catalog/841/" class="external-link" target="_blank" rel="noopener"&gt;コンスルー&lt;/a&gt; と、sparkfunさんで販売している&lt;a href="https://www.sparkfun.com/products/8870" class="external-link" target="_blank" rel="noopener"&gt;Pogo Pin&lt;/a&gt; というのがあります。&lt;/p&gt;
&lt;p&gt;Pogo Pinはこちらから買うと安いとのこと&lt;br /&gt;
&lt;a href="http://www.aliexpress.com/item/P75-E2-Dia-1-02mm-100g-Spring-Test-Probe-Pogo-Pin-100PCS-lot/1070222717.html" class="external-link" target="_blank" rel="noopener"&gt;P75-E2 Dia 1.02mm 100g Spring Test Probe Pogo Pin 100PCS/lot&lt;/a&gt; (thanks, tonu)&lt;/p&gt;
&lt;p&gt;それぞれ自分のところで製造している基板の書き込みに使われている様子。
&lt;a href="https://www.sparkfun.com/tutorials/138" class="external-link" target="_blank" rel="noopener"&gt;Testbed + Pogopins = Pogobed (sparkfun)&lt;/a&gt; &lt;br /&gt;
良記事。&lt;/p&gt;
&lt;p&gt;両方試して知人も使用経験のある後者を使おうと思っています。&lt;br /&gt;
どちらでもよさそうな。&lt;br /&gt;
こんな部品の存在も自分がこれを使うことになることも半年前には想像もしていなかった！&lt;/p&gt;
&lt;p&gt;IRKitの基板を上にのっけて、板で上から押さえつけるようにすると、ICSPの6本とWiFi用の8本が接触する。&lt;br /&gt;&lt;/p&gt;
&lt;iframe src="https://www.flickr.com/photos/99687464@N00/11476368333/player/9eeed9850b" height="532" width="800" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;そしてavrdudeやらを呼び出す &lt;strong&gt;batファイル&lt;/strong&gt; を書けば、1ダブルクリックで基板に息が吹き込まれる。&lt;br /&gt;
2013年内に &lt;strong&gt;batファイル&lt;/strong&gt; の書き方をこんなにぐぐることになるとも想像していなかった。&lt;/p&gt;
&lt;p&gt;ケースは、&lt;a href="http://www.fablabkamakura.com/" class="external-link" target="_blank" rel="noopener"&gt;fablabkamakura&lt;/a&gt;で、4mmの合板をレーザーカッターで切り出してつくりました。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.rhino3d.com/" class="external-link" target="_blank" rel="noopener"&gt;Rhino&lt;/a&gt;でモデリングし、イラレで合板を効率よく使うように配置した後、WindowsPCから &lt;strong&gt;印刷&lt;/strong&gt; を行うと、レーザーカッターが合板を切り抜いてくれます。&lt;br /&gt;
&lt;strong&gt;印刷&lt;/strong&gt; コマンドとはね。&lt;/p&gt;</description></item><item><title>KonashiでiPhoneに無線でつながるデバイスのプロトタイピング</title><link>https://maaash.jp/2013/11/konashi-ble-prototyping/</link><pubDate>Fri, 15 Nov 2013 13:26:00 +0000</pubDate><guid>https://maaash.jp/2013/11/konashi-ble-prototyping/</guid><description>&lt;p&gt;カヤックを退職し、リモコンと歯ブラシをつくっています。&lt;/p&gt;
&lt;p&gt;今日は歯ブラシの方、シャカシャカブラシの話をしましょう。&lt;/p&gt;
&lt;p&gt;Engadgetの &lt;a href="http://japanese.engadget.com/2013/07/18/8-engadget/" class="external-link" target="_blank" rel="noopener"&gt;「電子工作部」、スマホ連係ガジェットを作ろう！&lt;/a&gt; というイベントに(しばらく前に)行ってきました。
思うに、おもしろいな〜と思うサービスは必ず物理的なデバイスを伴うものであることが増えてきたように感じていて、
自分でもつくろうと思い立ちました。&lt;/p&gt;
&lt;p&gt;このイベントは、&lt;a href="http://konashi.ux-xu.com/" class="external-link" target="_blank" rel="noopener"&gt;konashi&lt;/a&gt; を使って「スマートフォンと連係するガジェットを作る」ワークショップ。
チームに分かれて、ブレストをして (間をはしょって) つくってものがこちら。&lt;/p&gt;
&lt;p&gt;この動画、感動ものですね。&lt;/p&gt;
&lt;p&gt;うちの子も歯磨きが苦手な時期があって、歯磨きをする時といえばいつも、&lt;br /&gt;
床に座って自分のまたの間に子供を寝かせて、足で腕を抑えて抵抗できないようにして、泣き叫びながら、口の中に指を入れて噛まれないように注意しながら歯磨きしていて、
ほんと虫歯を防ぐためでなければやりたくないです。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ameblo.jp/okamuraaki/entry-11458065196.html?frm_src=thumb_module" class="external-link" target="_blank" rel="noopener"&gt;まさにこれ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;シャカシャカブラシは、歯ブラシにつけたクマの形をしたガジェットで歯ブラシの動きを検出して、それをBLEでiPhone/iPadに送り、クマさんやきりんさんが出てくるゲームぽいアプリを子供に見せて歯磨きが終わるまで楽しんでもらおう、というもの。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/99687464@N00/10679210944/" title="DSCN4440.JPG by maaashjp, on Flickr"&gt;&lt;img src="https://farm4.staticflickr.com/3801/10679210944_25e49d1d21_z.jpg" width="640" height="480" alt="DSCN4440.JPG"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;konashi &lt;a href="http://www.amazon.co.jp/gp/product/B00FQAGWAG/ref=as_li_tf_tl?ie=UTF8&amp;amp;camp=247&amp;amp;creative=1211&amp;amp;creativeASIN=B00FQAGWAG&amp;amp;linkCode=as2&amp;amp;tag=masaishere-22" class="external-link" target="_blank" rel="noopener"&gt;Amazonでも買えるみたい&lt;/a&gt; は BLEを使ってプロトタイピングをするためのツールキットで、&lt;br /&gt;
Arduinoみたくデジタルやアナログの入出力のピンがあって、それにセンサなどをつなぐと、BLEを通してiPhoneから見えるようになる、というもの。&lt;/p&gt;
&lt;p&gt;このクマの歯ブラシには、歯磨きする時の動きをとるために、加速度センサをつけています。
加速度センサで取得した加速度を、konashiを使ってiPhoneに送ります。&lt;/p&gt;
&lt;p&gt;発表まで一週間と時間もないので、加速度センサは @SOMTD が持っていた(thanks!)、秋月でも売っていた(過去形&amp;hellip;) &lt;a href="http://akizukidenshi.com/catalog/g/gI-01425/" class="external-link" target="_blank" rel="noopener"&gt;KXM-1050&lt;/a&gt; を使いました。&lt;a href="http://akizukidenshi.com/catalog/g/gM-05153/" class="external-link" target="_blank" rel="noopener"&gt;３軸加速度センサモジュール　ＫＸＲ９４－２０５０&lt;/a&gt; が同じ仕様の後継かな??&lt;/p&gt;
&lt;p&gt;KXM-1050 は、3.3V を電源電圧として与えると、中央の 1.65V を 0G として感度 660mV/G で X,Y,Z 軸のアナログ電圧を出力してくれます。
これを konashi のアナログ入力電圧範囲 0-1.3V の範囲内に抵抗で分圧して収めます。&lt;/p&gt;
&lt;p&gt;電源は konashi のピンにある 3V (2.7-5.5VまでOK) を使い、
出力抵抗が 32k もあるので (これに気づかずしばらくはまりましたが&amp;hellip;)&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;3 x ( X / (32k + X) ) &amp;lt;= 1.3&lt;/code&gt;&lt;/p&gt;</description></item><item><title>nodefest2013 node-imagemagick-native and node-angel</title><link>https://maaash.jp/2013/10/nodefest2013/</link><pubDate>Sat, 26 Oct 2013 22:57:00 +0000</pubDate><guid>https://maaash.jp/2013/10/nodefest2013/</guid><description>&lt;p&gt;&lt;a href="http://nodefest.jp/2013/" class="external-link" target="_blank" rel="noopener"&gt;東京Node学園祭&lt;/a&gt; でLT枠をいただいたので&lt;/p&gt;
&lt;p&gt;ImageMagick&amp;rsquo;s Magick++ bindings for Node.js
&lt;a href="https://github.com/mash/node-imagemagick-native" class="external-link" target="_blank" rel="noopener"&gt;node-imagemagick-native&lt;/a&gt; と&lt;/p&gt;
&lt;p&gt;angel.js is a simple library to gracefully restart multi process net.Servers
&lt;a href="https://github.com/mash/node-angel" class="external-link" target="_blank" rel="noopener"&gt;node-angel&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;の紹介をさせていただきました。&lt;/p&gt;
&lt;iframe src="https://www.slideshare.net/slideshow/embed_code/27590545?rel=0" width="597" height="486" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen&gt; &lt;/iframe&gt; &lt;div style="margin-bottom:5px"&gt; &lt;strong&gt; &lt;a href="https://www.slideshare.net/maaash/nodefest2013" title="Nodefest2013 my npm modules" target="_blank"&gt;Nodefest2013 my npm modules&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href="http://www.slideshare.net/maaash" target="_blank"&gt;Masakazu Ohtsuka&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;p&gt;angel はやりたかった cli コマンドつくるところまで終わっていませんが、おいおい気分転換の時にでもやりましょう。&lt;/p&gt;
&lt;p&gt;いつか出そうと思っていたものを Conference Driven させてもらったよい機会をありがとうございました！&lt;/p&gt;
&lt;p&gt;フィードバックお待ちしております&amp;hellip;&lt;/p&gt;</description></item><item><title>ダイアログインザダークに行ってきた</title><link>https://maaash.jp/2013/10/dialog-in-the-dark/</link><pubDate>Fri, 18 Oct 2013 14:26:00 +0000</pubDate><guid>https://maaash.jp/2013/10/dialog-in-the-dark/</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/99687464@N00/10340412663/" title="image by maaashjp, on Flickr"&gt;&lt;img src="https://farm8.staticflickr.com/7453/10340412663_ecb6269be4_z.jpg" width="640" height="480" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dialoginthedark.com/" class="external-link" target="_blank" rel="noopener"&gt;Dialog In The Dark&lt;/a&gt; というイベントに参加した。&lt;/p&gt;
&lt;p&gt;真っ暗闇の中に7人で入り、1時間半くらい過ごす。
ほんとに真っ暗だから、目が &amp;ldquo;慣れる&amp;rdquo; ということがなく、いつまでたってもずっと何も見えない。&lt;/p&gt;
&lt;p&gt;中では最初は音を頼りにボールを転がして受け取ったり、
コミュニケーションをうまくとらないとこなせないグループワークをこなす。&lt;/p&gt;
&lt;p&gt;想像に難くないように、チームワークは育まれる。&lt;/p&gt;
&lt;p&gt;暗闇の中では、見た目とか上司/部下のような関係性よりも先に、
助け合わないと歩くこともできないから、&lt;br /&gt;
&amp;ldquo;宇宙/海を前にすればこんなちっぽけなことだったんだ&amp;rdquo; 的な意味で育まれる。&lt;/p&gt;
&lt;p&gt;でもそれ以上に、暗闇の中で感じた感覚は、初体験だっただけに衝撃的だった。&lt;/p&gt;
&lt;p&gt;せんべいの袋をぎざぎざのところから破いた時に、暗闇の中で手先が光ったように見えたこと。
あれは本当に小さく発光したのか、
それともあまりにも当たり前にせんべいの袋を開けられたから何か脳内で発火したのか。&lt;/p&gt;
&lt;p&gt;明るい部屋に出てくる時に世界が構築されていくようにぐらぐらとする感覚。&lt;/p&gt;
&lt;p&gt;知識の範囲内からしかアイディアは出ないと思っていて未体験ゾーンは常に攻めたいと思っている人、
UIについて考えている人
にはおすすめ。&lt;/p&gt;
&lt;p&gt;目で見えなくてもできること、目で見えないとできないこと、
っていうのは目が見える時には区別できないんだけど、
UIつくるときには意識すると違うんじゃないかなあと思ったり。&lt;/p&gt;</description></item><item><title>arduino development using ino</title><link>https://maaash.jp/2013/09/arduino-development-using-ino/</link><pubDate>Tue, 24 Sep 2013 09:45:00 +0000</pubDate><guid>https://maaash.jp/2013/09/arduino-development-using-ino/</guid><description>&lt;p&gt;&lt;a href="https://github.com/amperka/ino" class="external-link" target="_blank" rel="noopener"&gt;https://github.com/amperka/ino&lt;/a&gt;
を使うとArduinoのプログラムのビルドがはかどる。&lt;/p&gt;
&lt;p&gt;詳しくは &lt;a href="http://shokai.org/blog/archives/7454" class="external-link" target="_blank" rel="noopener"&gt;ino使うとCUIでArduinoをビルドできて便利&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Arduinoのスケッチ(.inoファイル)にinoがかけるプリプロセスが、
Arduino IDEが行うプリプロセスと異なっているために、&lt;/p&gt;
&lt;p&gt;複数ファイルあるプロジェクトが正常にビルドできなかったりして
pullreqしつつ自分のforkを使っていたのだが&lt;/p&gt;
&lt;p&gt;週末本家のアップデートがあり、
自分のプロジェクトのビルドも正常にとおるようになったのでお知らせ。&lt;/p&gt;
&lt;p&gt;便利。&lt;/p&gt;</description></item><item><title>Resize EAGLE windows using Slate</title><link>https://maaash.jp/2013/09/resize-eagle-windows-using-slate/</link><pubDate>Tue, 03 Sep 2013 00:22:00 +0000</pubDate><guid>https://maaash.jp/2013/09/resize-eagle-windows-using-slate/</guid><description>&lt;p&gt;Macな方は &lt;a href="http://www.cadsoftusa.com/eagle-pcb-design-software/product-overview/?language=en" class="external-link" target="_blank" rel="noopener"&gt;EAGLE&lt;/a&gt; で回路/基板設計を行う時、&lt;/p&gt;
&lt;p&gt;&lt;code&gt;open arduino-leonardo/Arduino_Leonardo-REV3b.sch&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;などとTerminalから打ち込んでEAGLEを起動することと思う。
この時、画面はこんなふうになると思う。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/99687464@N00/9653166893/" title="before by maaashjp, on Flickr"&gt;&lt;img src="https://farm6.staticflickr.com/5336/9653166893_a5c107dedf_o.png" width="1280" height="792" alt="before"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;これではだめだ。&lt;/p&gt;
&lt;p&gt;同時にボードの方も見たいと思ったら小さな&lt;code&gt;Generate/switch to board&lt;/code&gt;ボタンを押さないといけないし、ウィンドウの端を何度もドラッグしていい感じになるまで左右の回路図と基板図をリサイズすることになる。&lt;/p&gt;
&lt;p&gt;期待する見た目はこう。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/99687464@N00/9656402984/" title="after by maaashjp, on Flickr"&gt;&lt;img src="https://farm8.staticflickr.com/7306/9656402984_a57d810617_o.png" width="1280" height="800" alt="after"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;なんで今まで小さな&lt;code&gt;Generate/switch to board&lt;/code&gt;ボタンを押したり、ウィンドウの端をドラッグするなんてことができてたんだろう。&lt;/p&gt;
&lt;p&gt;今日、MacOSXで動き、JavaScriptでウィンドウのサイズ変更ができる &lt;a href="https://github.com/jigish/slate" class="external-link" target="_blank" rel="noopener"&gt;Slate&lt;/a&gt; を導入して、Terminalでお好みの&lt;code&gt;*.sch&lt;/code&gt;ファイルを開いた後、
&lt;code&gt;Ctrl+Cmd+E&lt;/code&gt; 一発で後者のスクリーンショットの状態にもっていけるようになった。&lt;/p&gt;
&lt;p&gt;Slateは↑のリンクより&lt;code&gt;*.dmg&lt;/code&gt;ファイルをダウンロードしてさくっと導入できる。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$HOME/.slate.js&lt;/code&gt; に以下のような内容のファイルを置く。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;function&lt;/span&gt; &lt;span style="color:#e06c75"&gt;findAppNamed&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;string&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;found&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;null&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;S&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;eachApp&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;app&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;app&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;name&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;===&lt;/span&gt; &lt;span style="color:#e06c75"&gt;string&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;found&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;app&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; });
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;found&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;S&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;bind&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;e:ctrl,cmd&amp;#34;&lt;/span&gt;, &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;win&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;eagleApp&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;findAppNamed&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;EAGLE&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;eagleApp&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;schematicWindow&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;boardWindow&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;eagleApp&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;eachWindow&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;(&lt;span style="color:#e5c07b"&gt;window&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e5c07b"&gt;window&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;title&lt;/span&gt;().&lt;span style="color:#e06c75"&gt;match&lt;/span&gt;(&lt;span style="color:#98c379"&gt;/Schematic/&lt;/span&gt;)) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;schematicWindow&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;window&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;else&lt;/span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e5c07b"&gt;window&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;title&lt;/span&gt;().&lt;span style="color:#e06c75"&gt;match&lt;/span&gt;(&lt;span style="color:#98c379"&gt;/Board/&lt;/span&gt;)) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;boardWindow&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;window&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;schematicWindow&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;boardWindow&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;schematicWindow&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;doOperation&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;S&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;operation&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;move&amp;#34;&lt;/span&gt;, {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;x&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;screenOriginX&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;y&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;screenOriginY&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;width&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#d19a66"&gt;908&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;height&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#d19a66"&gt;878&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; })
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;schematicWindow&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;focus&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;boardWindow&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;doOperation&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;S&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;operation&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;move&amp;#34;&lt;/span&gt;, {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;x&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;screenOriginX+583&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;y&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;screenOriginY&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;width&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#d19a66"&gt;855&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;height&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#d19a66"&gt;878&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; })
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;boardWindow&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;focus&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;});
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;微妙に回路図と基板図が中央付近でかぶっているのはお好みで調整してください。
また、Retinaでない人は高さなども調整してください。&lt;/p&gt;</description></item><item><title>Yamaguchi Mini Maker Faire 2013</title><link>https://maaash.jp/2013/08/yamaguchi-mini-maker-faire-2013/</link><pubDate>Tue, 13 Aug 2013 23:05:00 +0000</pubDate><guid>https://maaash.jp/2013/08/yamaguchi-mini-maker-faire-2013/</guid><description>&lt;p&gt;YMMF2013、行ってきました。
事務局の方、おつかれさまでした。&lt;/p&gt;
&lt;p&gt;アイディアは知識の範囲内でしか出ない、というのは真だと思う。
Maker Faireで出会うモノはいつでも自分の知識空間を超えていて、
また新しいアイディアがたくさん湧いてくるような錯覚のような、本物であってほしい感覚が得られて気持ちいい。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://irkit.github.io/" class="external-link" target="_blank" rel="noopener"&gt;IRKit&lt;/a&gt; というモノについて話した資料を置いておきます。&lt;/p&gt;
&lt;script async class="speakerdeck-embed" data-id="c5b60610e64f0130ff464a1f6e2706d1" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"&gt;&lt;/script&gt;
&lt;p&gt;MiniとはいえMaker Faireにしてはあまりにも前半の概念部分が長かったか。&lt;/p&gt;
&lt;p&gt;でも話す機会が欲しかったのだろう。&lt;/p&gt;
&lt;p&gt;ソフトウェアエンジニアとして、自分の書いたソフトウェアが意図通りに動く時、それがある機能として誰かの役に立ったり楽しませたりする時の喜び。&lt;/p&gt;
&lt;p&gt;電子回路を設計して基板ができあがり、形をもったデバイスの中におさまって自分の意図通りに動いた時の喜びは、それを軽く超越して神になったような気分だった。&lt;/p&gt;
&lt;p&gt;なんだってつくれるじゃないか！&lt;/p&gt;</description></item><item><title>octopress-ing</title><link>https://maaash.jp/2013/07/octopress-ing/</link><pubDate>Sat, 20 Jul 2013 22:15:00 +0000</pubDate><guid>https://maaash.jp/2013/07/octopress-ing/</guid><description>&lt;p&gt;&lt;a href="http://octopress.org/" class="external-link" target="_blank" rel="noopener"&gt;http://octopress.org/&lt;/a&gt; に移行。&lt;/p&gt;
&lt;p&gt;はまりどころがあったとすれば、
jekyll,octopressでは各記事のmarkdownファイルの先頭に
&lt;a href="http://jekyllrb.com/docs/frontmatter/" class="external-link" target="_blank" rel="noopener"&gt;yml&lt;/a&gt; 形式で記事の属性を設定するが、&lt;/p&gt;
&lt;p&gt;wordpressから記事を移行した際には&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;comments&lt;/span&gt;: &lt;span style="color:#e5c07b"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;というコメントを許可する設定が抜けていたために
Disqusが有効にならなかったことくらい。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.benjiegillam.com/2011/09/octopress-slash-disqus-issue-resolved/" class="external-link" target="_blank" rel="noopener"&gt;Octopress/Disqus Issue Resolved&lt;/a&gt; にあるように&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;for&lt;/span&gt; I in *.markdown; &lt;span style="color:#c678dd"&gt;do&lt;/span&gt; sed -i &lt;span style="color:#98c379"&gt;&amp;#39;&amp;#39;&lt;/span&gt; -e &lt;span style="color:#98c379"&gt;&amp;#39;:a&amp;#39;&lt;/span&gt; -e &lt;span style="color:#98c379"&gt;&amp;#39;N&amp;#39;&lt;/span&gt; -e &lt;span style="color:#98c379"&gt;&amp;#39;$!ba&amp;#39;&lt;/span&gt; -e &lt;span style="color:#98c379"&gt;&amp;#39;s/\n---\n/\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt;comments: true\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt;---\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt;/&amp;#39;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;$I&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;; &lt;span style="color:#c678dd"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とsedで&lt;code&gt;comments: true&lt;/code&gt;を埋めてやった。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;記事を書く時のメモ&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rake new_post&lt;span style="color:#56b6c2"&gt;[&lt;/span&gt;octopress-ing&lt;span style="color:#56b6c2"&gt;]&lt;/span&gt; &lt;span style="color:#7f848e"&gt;# 新しい記事のファイル名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rake isolate&lt;span style="color:#56b6c2"&gt;[&lt;/span&gt;octopress-ing&lt;span style="color:#56b6c2"&gt;]&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; rake generate &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; rake preview
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;open http://localhost:4000
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;# edit, edit, ..&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rake integrate &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; rake generate &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; rake deploy
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Redisを使ったレコメンド機能の実装</title><link>https://maaash.jp/2013/06/redis-similarity-lua/</link><pubDate>Sat, 01 Jun 2013 00:00:00 +0000</pubDate><guid>https://maaash.jp/2013/06/redis-similarity-lua/</guid><description>&lt;p&gt;それRedisでできるよ、期でしょうか。
最近Redisでレコメンド機能をつくってみたのでご紹介です。&lt;/p&gt;
&lt;p&gt;ここで”レコメンド機能”というのは、
Amazonでいう”この商品を見たお客様はこれも見ています”や、ブログの関連記事を出す機能のこと。&lt;/p&gt;
&lt;p&gt;user:1がproduct:Aをみたときに、product:Aに似ているproduct:Bをレコメンドしたい。
product:Aとproduct:Bがどれくらい似ているか:類似度 を算出した後は、
Redis得意のSorted Setを使って類似度のランキングをつくれば
似ているproductを出すことができます。&lt;/p&gt;
&lt;p&gt;類似度の算出にはいろいろ方法があるようですが、
Redisのデータ構造と相性のよい
&lt;a href="http://en.wikipedia.org/wiki/Jaccard_index" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://en.wikipedia.org/wiki/Jaccard_index']);"&gt;Jaccard [wikipedia]&lt;/a&gt;という方法を使いました。&lt;/p&gt;
&lt;p&gt;この例に適用すれば、
product:Aを見たユーザー群(RedisのSet)と、product:Bを見たユーザー群があった時に、
類似度 = (product:Aとproduct:Bを両方見た人数) / (product:Aまたはproduct:Bのいずれかを見た人数)
となります。&lt;/p&gt;
&lt;p&gt;productページを見た時に、ユーザーIDをproductのSetに追加しておけば、&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-redis" data-lang="redis"&gt;SADD product:A user:1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;類似度は&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;similarity = count(SINTER product:A product:B) / count(SUNION product:A product:B)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;となります。&lt;/p&gt;
&lt;p&gt;これをSorted Setに入れておきます。
AとBが似ているならばBとAも似ているので逆方向も。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-redis" data-lang="redis"&gt;ZADD similarity:product:A similarity product:B
ZADD similarity:product:B similarity product:A
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;similarity:product:A&lt;/code&gt; には、product:Aに似たproductのIDが入っているので
似ている順に10件とるのはお得意の&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-redis" data-lang="redis"&gt;ZREVRANGE similarity:product:A 0 9
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;さらに、ただいまなんでもluaスクリプト期でもあるので、Redisのluaスクリプティングを使いたくなる理由を考えます。&lt;/p&gt;
&lt;p&gt;SINTERとSUNIONは、Set同士のそれぞれANDとORをとって、その結果得られるSetの要素を返してくれますが、
ここで欲しいのは要素ではなく、要素数。
残念ながら、SINTER,SUNIONした結果の要素数だけとる方法はありません。
しかも要素数は単純に割り算した後すぐにSorted SetにZADDします。
これはアプリケーション側でやらずにRedis側でやった方が速そうです。&lt;/p&gt;
&lt;p&gt;下につけたluaスクリプトを書けばこう書けます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-redis" data-lang="redis"&gt;EVALSHA {sha1} 0 similarity:product:A product:A product:B product:B
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;product:A Setとproduct:B Setの類似度を計算し
similarity:product:A Sorted Setにその類似度をスコアとしてproduct:Bを追加します。&lt;/p&gt;</description></item><item><title>profiling node.js</title><link>https://maaash.jp/2013/05/profiling-nodejs/</link><pubDate>Wed, 22 May 2013 00:00:00 +0000</pubDate><guid>https://maaash.jp/2013/05/profiling-nodejs/</guid><description>&lt;p&gt;# build d8&lt;br&gt;
cd ~/.nave/src/0.8.18/deps/v8&lt;br&gt;
scons prof=on d8&lt;/p&gt;
&lt;p&gt;# d8, linux-tick-processor にパスを通す&lt;br&gt;
export PATH=&lt;del&gt;/.nave/src/0.8.18/deps/v8:&lt;/del&gt;/.nave/src/0.8.18/deps/v8/tools:$PATH&lt;/p&gt;
&lt;p&gt;# プロファイリングを取りたいところを限定するモジュール&lt;br&gt;
# &lt;a href="https://github.com/bnoordhuis/node-profiler" class="external-link" target="_blank" rel="noopener"&gt;https://github.com/bnoordhuis/node-profiler&lt;/a&gt;&lt;br&gt;
npm install profiler&lt;/p&gt;
&lt;p&gt;# プロファイリング対象をいろいろオプション付きで実行&lt;br&gt;
node –prof –prof_lazy –log –log_snapshot_positions 3.js&lt;/p&gt;
&lt;p&gt;# すると v8.log ができる&lt;br&gt;
# それを linux-tick-processor がレポートにしてくれる&lt;br&gt;
linux-tick-processor &amp;gt; 3.js.log&lt;/p&gt;
&lt;p&gt;# 元のコードはこんな&lt;br&gt;
cat 3.js&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;len&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;10000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;, &lt;span style="color:#e06c75"&gt;i&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;, &lt;span style="color:#e06c75"&gt;profiler&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;require&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;profiler&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;profiler&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;resume&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;while&lt;/span&gt; (&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt;&lt;span style="color:#e06c75"&gt;i&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;len&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;Date&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;now&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;profiler&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;pause&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;# プロファイリング結果はこんな&lt;br&gt;
cat 3.js.log&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Statistical profiling result from v8.log, (12 ticks, 12 unaccounted, 0 excluded).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [Unknown]:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ticks total nonlib name
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 12 100.0%
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [Shared libraries]:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ticks total nonlib name
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [JavaScript]:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ticks total nonlib name
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 11 91.7% 91.7% LazyCompile: *now native date.js:314
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 1 8.3% 8.3% LazyCompile: ~now native date.js:314
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [C++]:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ticks total nonlib name
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [GC]:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ticks total nonlib name
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0 0.0%
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [Bottom up (heavy) profile]:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Note: percentage shows a share of a particular caller in the total
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; amount of its parent calls.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Callers occupying less than 2.0% are not shown.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ticks parent name
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 11 91.7% LazyCompile: *now native date.js:314
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 11 100.0% Script: ~/home/*snip*/3.js
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 11 100.0% LazyCompile: ~Module._compile module.js:372
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 11 100.0% LazyCompile: ~Module._extensions..js module.js:465
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 11 100.0% LazyCompile: ~Module.load module.js:346
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 11 100.0% LazyCompile: Module._load module.js:275
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 1 8.3% LazyCompile: ~now native date.js:314
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 1 100.0% Script: ~/home/*snip*/3.js
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 1 100.0% LazyCompile: ~Module._compile module.js:372
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 1 100.0% LazyCompile: ~Module._extensions..js module.js:465
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 1 100.0% LazyCompile: ~Module.load module.js:346
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 1 100.0% LazyCompile: Module._load module.js:275
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;see: &lt;a href="https://code.google.com/p/v8/wiki/V8Profiler" class="external-link" target="_blank" rel="noopener"&gt;https://code.google.com/p/v8/wiki/V8Profiler&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Eagleの回路図にgitのコミットハッシュを埋め込む</title><link>https://maaash.jp/2013/04/eagle-git-commit-hash-ulp/</link><pubDate>Tue, 23 Apr 2013 00:00:00 +0000</pubDate><guid>https://maaash.jp/2013/04/eagle-git-commit-hash-ulp/</guid><description>&lt;p&gt;Eagleを使って回路設計、基板設計などをしはじめています。&lt;br&gt;
*.sch, *.brd, *.lbr を git レポジトリに追加して開発していると、&lt;br&gt;
pdfにしたり誰かに渡すときに、いつのバージョンのファイルを渡そうとしているのか、&lt;br&gt;
ファイルに記録したい場合があります。&lt;/p&gt;
&lt;p&gt;そんな時に、gitのコミットハッシュを埋め込めるといいんじゃないかと思いました。&lt;br&gt;
具体的には &lt;code&gt;git rev-parse --short HEAD&lt;/code&gt; の結果。&lt;/p&gt;
&lt;p&gt;Eagleには User Language Program という仕組みがあり、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The EAGLE User Language can be used to access the EAGLE data structures and to create a wide variety of output files.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;C言語ライクな書式で、回路図内のオブジェクトをいじれたりします。&lt;/p&gt;
&lt;p&gt;以下のようなファイルを git-revision.ulp というファイル名で&lt;br&gt;
/Application/EAGLE-6.4.0/ulp/git-revision.ulp に保存します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;string&lt;/span&gt; &lt;span style="color:#e06c75"&gt;cmd&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;s&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;version&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;count&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;string&lt;/span&gt; &lt;span style="color:#e06c75"&gt;git_dir&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;argv&lt;/span&gt;[ &lt;span style="color:#d19a66"&gt;1&lt;/span&gt; ];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;string&lt;/span&gt; &lt;span style="color:#e06c75"&gt;stdout&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;debug.log&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;string&lt;/span&gt; &lt;span style="color:#e06c75"&gt;revision_file&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;git-revision.log&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;string&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;GitRevision&lt;/span&gt; () {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;version&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;version&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;string&lt;/span&gt; &lt;span style="color:#e06c75"&gt;git_cmd&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;git --git-dir=&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;git_cmd&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;git_dir&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;git_cmd&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+=&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34; rev-parse --short HEAD &amp;gt; &amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;git_cmd&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;revision_file&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;result&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;system&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;git_cmd&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;result&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;dlgMessageBox&lt;/span&gt;( &lt;span style="color:#98c379"&gt;&amp;#34;git rev-parse failed&amp;#34;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;exit&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;-&lt;/span&gt;&lt;span style="color:#d19a66"&gt;1&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;fileread&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;version&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;revision_file&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;version&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#56b6c2"&gt;!&lt;/span&gt; &lt;span style="color:#e06c75"&gt;git_dir&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;dlgMessageBox&lt;/span&gt;( &lt;span style="color:#98c379"&gt;&amp;#34;provide .git directory as an argument&amp;#34;&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;OK&amp;#34;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;exit&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;-&lt;/span&gt;&lt;span style="color:#d19a66"&gt;1&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#61afef;font-weight:bold"&gt;output&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;stdout&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;wt&amp;#34;&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;schematic&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;schematic&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;S&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;S&lt;/span&gt;.&lt;span style="color:#61afef;font-weight:bold"&gt;parts&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;P&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;P&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;P&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;name&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;strstr&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;P&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;name&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;GIT-REVISION&amp;#34;&lt;/span&gt;) ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;sprintf&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;s&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;VALUE %s %s&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;P&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;name&lt;/span&gt;, &lt;span style="color:#61afef;font-weight:bold"&gt;GitRevision&lt;/span&gt;() );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;cmd&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;count&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;++&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#56b6c2"&gt;!&lt;/span&gt; &lt;span style="color:#e06c75"&gt;count&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;dlgMessageBox&lt;/span&gt;( &lt;span style="color:#98c379"&gt;&amp;#34;device named &lt;/span&gt;&lt;span style="color:#98c379"&gt;\&amp;#34;&lt;/span&gt;&lt;span style="color:#98c379"&gt;GIT-REVISION&lt;/span&gt;&lt;span style="color:#98c379"&gt;\&amp;#34;&lt;/span&gt;&lt;span style="color:#98c379"&gt; not found&amp;#34;&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;OK&amp;#34;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;exit&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;-&lt;/span&gt;&lt;span style="color:#d19a66"&gt;1&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#61afef;font-weight:bold"&gt;exit&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;cmd&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;また、nameが &lt;code&gt;GIT-REVISION&lt;/code&gt; であるような部品をつくり、frame の右下の方に置きます。&lt;br&gt;
以下のライブラリに入れています。&lt;br&gt;
&lt;a href="http://maaash.jp/lab/eagle-git-revision/git-revision.lbr" class="external-link" target="_blank" rel="noopener"&gt;git-revision.lbr&lt;/a&gt;&lt;/p&gt;</description></item><item><title>RedisのネストしたSETにSADDやSMEMBERSしやすくするluaスクリプトを書いた</title><link>https://maaash.jp/2013/03/redis-lua/</link><pubDate>Sun, 24 Mar 2013 00:00:00 +0000</pubDate><guid>https://maaash.jp/2013/03/redis-lua/</guid><description>&lt;p&gt;Redis v2.6.0から&lt;a href="http://redis.io/commands/script-load" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://redis.io/commands/script-load']);"&gt;luaスクリプトのロード&lt;/a&gt;、&lt;a href="http://redis.io/commands/evalsha" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://redis.io/commands/evalsha']);"&gt;実行&lt;/a&gt;ができるようになっていて、
luaの方に興味があって「いつか…」と思っていた。&lt;/p&gt;
&lt;p&gt;ところで、RedisのSETをネストした構造のようなものを使う時の話。
user has many entries.
entry has many tags.
以下のような構造のとき、以下のようになってしまう。&lt;/p&gt;
&lt;pre&gt;# input:
# my $users = {
# # user.id
# 1 =&gt; {
# # entry.id
# 10 =&gt; [
# # tag.id
# 100,
# 101
# ],
# 11 =&gt; [
# 110
# ],
# },
# 2 =&gt; {
# 20 =&gt; [
# 200
# ],
# }
# };
#
# output (1) - get all tags for user[1]'s entry[10]
# [ 100, 101 ]
#
# output (2) - get all tags for user[1]'s all entries
# [ 100, 101, 110 ]
#
# output (3) - get all tags
# [ 100, 101, 110, 200 ]
#
# output (4) - get all entry ids
# [ 10, 11, 20 ]

subtest 'normal' =&gt; sub {
 $redis-&gt;flushdb;

 $redis-&gt;multi;
 $redis-&gt;sadd( "users" =&gt; "1" );
 $redis-&gt;sadd( "users.1" =&gt; "10" );
 $redis-&gt;sadd( "users.1.10" =&gt; "100" );
 $redis-&gt;sadd( "users.1.10" =&gt; "101" );
 $redis-&gt;sadd( "users.1" =&gt; "11" );
 $redis-&gt;sadd( "users.1.11" =&gt; "110" );
 $redis-&gt;sadd( "users" =&gt; "2" );
 $redis-&gt;sadd( "users.2" =&gt; "20" );
 $redis-&gt;sadd( "users.2.20" =&gt; "200" );
 $redis-&gt;exec;

 is_deeply( [ $redis-&gt;smembers( 'users.1.10' ) ],
 [ 100, 101 ] );

 is_deeply( [ $redis-&gt;sunion(
 map {
 "users.1.$_"
 } $redis-&gt;smembers( 'users.1' )
 ) ],
 [ 100, 101, 110 ] );

 is_deeply( [ $redis-&gt;sunion(
 map {
 my $user_id = $_-&gt;[ 0 ];
 my $entry_ids = $_-&gt;[ 1 ];
 map { "users.$user_id.$_" } @$entry_ids;
 } map {
 [ $_ =&gt; [ $redis-&gt;smembers("users.$_") ] ]
 } $redis-&gt;smembers( 'users' )
 ) ],
 [ 100, 101, 110, 200 ] );

 is_deeply( [ $redis-&gt;sunion(
 map {
 "users.$_"
 } $redis-&gt;smembers( 'users' )
 ) ],
 [ 10, 11, 20 ] );
};
&lt;/pre&gt;
&lt;p&gt;ネストしたSET構造に直接SADDしたりネストした構造のある深さのSMEMBERSをとろうとするとめんどくさいので、
luaを使えばその辺うまくやれるカスタムコマンドをつくれるんじゃないかと思って書いてみた。&lt;/p&gt;</description></item><item><title>App::Prove::Plugin::MySQLPool #perl</title><link>https://maaash.jp/2013/03/perl-app-prove-plugin-mysqlpool/</link><pubDate>Thu, 14 Mar 2013 00:00:00 +0000</pubDate><guid>https://maaash.jp/2013/03/perl-app-prove-plugin-mysqlpool/</guid><description>&lt;p&gt;最初は、テスト用のmysqldを立ち上げっぱなしにしておいて、&lt;br&gt;
それを使うテストを &lt;code&gt;prove -lr t&lt;/code&gt; で走らせたものであった。&lt;/p&gt;
&lt;p&gt;そのテストに10分以上かかるようになると、我慢がならなくなり、&lt;br&gt;
&lt;a href="http://search.cpan.org/perldoc?Test%3A%3Amysqld" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://search.cpan.org/perldoc?Test%3A%3Amysqld']);"&gt;Test::mysqld&lt;/a&gt;を使い、&lt;br&gt;
&lt;code&gt;prove -lr -j4 t&lt;/code&gt; で走らせるようになった。&lt;/p&gt;
&lt;p&gt;それでも10分以上かかるようになると、また我慢がならなくなり、&lt;br&gt;
&lt;a href="https://github.com/mash/App-Prove-Plugin-MySQLPool" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://github.com/mash/App-Prove-Plugin-MySQLPool']);"&gt;App::Prove::Plugin::MySQLPool - github&lt;/a&gt;, &lt;a href="http://search.cpan.org/perldoc?App%3A%3AProve%3A%3APlugin%3A%3AMySQLPool" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://search.cpan.org/perldoc?App%3A%3AProve%3A%3APlugin%3A%3AMySQLPool']);"&gt;cpan&lt;/a&gt;&lt;br&gt;
というのを書き、&lt;br&gt;
&lt;code&gt;prove -lr -PMySQLPool=MyApp::Test::DB -j4 t&lt;/code&gt; でテストを走らせるようになった。&lt;/p&gt;
&lt;p&gt;App::Prove::Plugin::MySQLは、Test::mysqldを使ったテストが大量にある時に、&lt;br&gt;
テストの最初に &lt;code&gt;-j*&lt;/code&gt; 分のmysqldを起動し、&lt;br&gt;
それぞれの &lt;code&gt;*.t&lt;/code&gt; にはそのmysqld群の中から使っていないものを&lt;br&gt;
割り当てるproveプラグインである。&lt;/p&gt;
&lt;p&gt;Test::mysqldを使ったテストの最初では、CREATE TABLEをしまくったり、マスターデータをINSERTしまくったりするだろう。&lt;/p&gt;
&lt;p&gt;App::Prove::Plugin::MySQLは、&lt;code&gt;-j*&lt;/code&gt;分のmysqldを起動すると、それぞれに対して、&lt;br&gt;
&lt;code&gt;-PMySQLPool=MyApp::Test::DB&lt;/code&gt; として指定したモジュールの &lt;code&gt;prepare&lt;/code&gt; 関数を呼ぶ。&lt;br&gt;
（指定しない場合には何もしない。）&lt;/p&gt;
&lt;p&gt;その中で、&lt;a href="http://search.cpan.org/perldoc?GitDDL" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://search.cpan.org/perldoc?GitDDL']);" title="GitDDL"&gt;GitDDL&lt;/a&gt;を使って、&lt;/p&gt;
&lt;pre&gt;# MyApp::Test::DB
sub prepare {
 my ($package, $mysqld) = @_;
 my $gd = GitDDL-&gt;new( dsn =&gt; $mysqld-&gt;dsn, ... );
 $gd-&gt;deploy;
}
&lt;/pre&gt;
&lt;p&gt;というようにしてテストの前準備をすればいい。&lt;/p&gt;
&lt;p&gt;これが終わると、私のテストをやっと実行する。&lt;br&gt;
&lt;code&gt;$ENV{ PERL_TEST_MYSQLPOOL_DSN }&lt;/code&gt; にdsnがやってくるので&lt;br&gt;
こんなふうにして使う。&lt;/p&gt;
&lt;pre&gt;my $dbh = DBI-&gt;connect( $ENV{ PERL_TEST_MYSQLPOOL_DSN } );
$dbh-&gt;do( "TRUNCATE $_" ) for @tables;

... # your test code
&lt;/pre&gt;
&lt;p&gt;同じmysqldが使い回されてくるので、中身を毎度消してやる。&lt;/p&gt;</description></item><item><title>nodejsのrequestでログをはく</title><link>https://maaash.jp/2012/12/node-request-logger/</link><pubDate>Thu, 13 Dec 2012 00:00:00 +0000</pubDate><guid>https://maaash.jp/2012/12/node-request-logger/</guid><description>&lt;p&gt;nodejsを使っているみなさまは
http requestを簡単に発行するために &lt;a href="https://github.com/mikeal/request" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://github.com/mikeal/request']);"&gt;&lt;a href="https://github.com/mikeal/request" class="external-link" target="_blank" rel="noopener"&gt;https://github.com/mikeal/request&lt;/a&gt;&lt;/a&gt; を使っていると思いますが、&lt;/p&gt;
&lt;p&gt;そのソースを読んでいると、ふと以下のような行が目にとまりました。&lt;/p&gt;
&lt;pre&gt;if (process.logging) {
 var log = process.logging('request')
}
... 中略
if (log) log('%method %href', self)&lt;/pre&gt;
&lt;p&gt;ところが
process.logging の痕跡はどこにもありません。&lt;/p&gt;
&lt;p&gt;ということで、 log 関数に渡している引数を眺めて、以下のようなロガーをこさえてみました。&lt;/p&gt;
&lt;script src="https://gist.github.com/4276119.js"&gt;&lt;/script&gt;
&lt;p&gt;こんなログを吐きます。&lt;/p&gt;
&lt;pre&gt;// require('request').get( "http://google.com/" );
[request] GET http://google.com/
[request] Redirect to { protocol: 'http:',
 slashes: true,
 host: 'www.google.com',
 hostname: 'www.google.com',
 href: 'http://www.google.com/',
 pathname: '/',
 path: '/' }
[request] GET http://www.google.com/
[request] Redirect to { protocol: 'http:',
 slashes: true,
 host: 'www.google.co.jp',
 hostname: 'www.google.co.jp',
 href: 'http://www.google.co.jp/',
 pathname: '/',
 path: '/' }
[request] GET http://www.google.co.jp/&lt;/pre&gt;
&lt;p&gt;お手軽かも&lt;/p&gt;</description></item><item><title>zshのregionからpbcopy</title><link>https://maaash.jp/2012/11/zsh-region-pbcopy/</link><pubDate>Thu, 01 Nov 2012 00:00:00 +0000</pubDate><guid>https://maaash.jp/2012/11/zsh-region-pbcopy/</guid><description>&lt;p&gt;zshでCtrl+A,F,B,Eでカーソル移動して&lt;br&gt;
Ctrl+Spaceで範囲指定して&lt;br&gt;
Ctrl+Wでクリップボードにコピーしたい&lt;/p&gt;
&lt;pre&gt;x-copy-region-as-kill () {
 zle copy-region-as-kill
 REGION_ACTIVE=0
 print -rn $CUTBUFFER | pbcopy
}
zle -N x-copy-region-as-kill
bindkey '^W' x-copy-region-as-kill
&lt;/pre&gt;</description></item><item><title>NinNin - casual background processing for perl</title><link>https://maaash.jp/2012/09/ninnin-perl/</link><pubDate>Sat, 08 Sep 2012 00:00:00 +0000</pubDate><guid>https://maaash.jp/2012/09/ninnin-perl/</guid><description>&lt;p&gt;&lt;a href="https://github.com/mash/NinNin" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://github.com/mash/NinNin']);"&gt;&lt;a href="https://github.com/mash/NinNin" class="external-link" target="_blank" rel="noopener"&gt;https://github.com/mash/NinNin&lt;/a&gt;&lt;/a&gt; というのをつくった。&lt;/p&gt;
&lt;p&gt;よく&lt;a href="https://metacpan.org/module/Gearman::Worker" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','']);"&gt;Gearman::Worker&lt;/a&gt;を使うんだけれど&lt;br&gt;
&lt;a href="https://github.com/tokuhirom/gearman-starter.pl/blob/master/gearman-starter.pl" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://github.com/tokuhirom/gearman-starter.pl/blob/master/gearman-starter.pl']);"&gt;gearman-starter.pl&lt;/a&gt;のようなもので&lt;br&gt;
gearmanのworker poolをつくっていて&lt;br&gt;
裏(gearman worker)で動かしたいコードと、&lt;br&gt;
httpリクエストを同期的に処理してるコードの場所が離れるから行ったり来たりしたりするのが嫌だったりする。&lt;/p&gt;
&lt;p&gt;もっとカジュアルに裏にまわしたい！&lt;/p&gt;
&lt;p&gt;ということで、subroutine referenceを渡すと裏に回してくれるのが NinNin (ニンニン)。&lt;/p&gt;
&lt;p&gt;予めgearman worker poolを用意しておけば&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NinNin-&amp;gt;setup({
 backend =&amp;gt; NinNin::Backend::Gearman-&amp;gt;new({
 job_servers =&amp;gt; [ '127.0.0.1:4730' ]
 })
});
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;って感じでbackendを指定しておき、&lt;br&gt;
ちょっと時間かかるかもしれないから裏に回したいってコードがあったら&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ninnin(
 sub {
 my (@args) = @_;
 # run in gearman worker
 # ...heavy work...
 },
 (@args) # argument for sub
);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;のようにして裏に回す。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;my $coderef = ninnin( sub { ... } );
$coderef-&amp;gt;( @args );
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;インターフェースは↑の方がいいかも、とtypesterは言った。&lt;/p&gt;
&lt;p&gt;実装は&lt;br&gt;
&lt;a href="https://metacpan.org/module/B::Deparse" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','']);"&gt;B::Deparse&lt;/a&gt; でsubroutine referenceからソースコードに戻して、&lt;br&gt;
ソースコードと引数をまとめてjobにして、&lt;/p&gt;</description></item><item><title>FaceDetection - Integral Image</title><link>https://maaash.jp/2011/08/facedetection-integral-image/</link><pubDate>Fri, 26 Aug 2011 00:00:00 +0000</pubDate><guid>https://maaash.jp/2011/08/facedetection-integral-image/</guid><description>&lt;p&gt;昨日、Flashや画像や音声やらいろいろ強い人とお会いするきっかけがあり、&lt;br&gt;
今まで話したことが無かったので&lt;br&gt;
&lt;a href="http://www.libspark.org/wiki/mash/Marilena" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.libspark.org/wiki/mash/Marilena']);"&gt;Marilena (OpenCV顔認識のas3実装）&lt;/a&gt;をつくった時に感動した、&lt;br&gt;
&lt;a href="http://en.wikipedia.org/wiki/Integral_image" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://en.wikipedia.org/wiki/Integral_image']);"&gt;Integral Image&lt;/a&gt;というアルゴリズムについて話しました。&lt;/p&gt;
&lt;p&gt;一文で説明すると、&lt;br&gt;
二次元配列で表されるデータがある時に（この場合は顔検出する対象の画像の明るさ）&lt;br&gt;
二次元配列の中の矩形範囲のデータの合計を、高速に求める手法です。&lt;/p&gt;
&lt;p&gt;発表資料を置いておきますのでよろしければ&lt;br&gt;
&lt;a href="http://maaash.jp/wp-content/uploads/2011/08/integral_image_opencv_face_detection.pdf" onclick="javascript:_gaq.push(['_trackEvent','download','http://maaash.jp/wp-content/uploads/2011/08/integral_image_opencv_face_detection.pdf']);" title='integral_image_opencv_face_detection.pdf'&gt;integral_image_opencv_face_detection.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;計算してみるためのスプレッドシート&lt;br&gt;
&lt;a href="https://spreadsheets.google.com/spreadsheet/ccc?key=0AnD5zbjWqm3MdG1SRkdiRDdHQzZEVTBGUlA0Y2l6MUE&amp;amp;#038;hl=ja" class="external-link" target="_blank" rel="noopener"&gt;Integral Image Calculator&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;こちらの方がわかりやすいかもしれません&lt;br&gt;
&lt;a href="http://d.hatena.ne.jp/soh335/20110825/1314253597" class="external-link" target="_blank" rel="noopener"&gt;integral imageについて調べた&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;資料の中に数式が入るとどや顔の度が増しますね なおやんは寝てましたけど&lt;/p&gt;</description></item><item><title>UINavigationController pushViewControllerしてpopViewControllerした時のUIViewControllerのメソッドの呼ばれ方</title><link>https://maaash.jp/2011/05/uinavigationcontroller-pushviewcontroller%E3%81%97%E3%81%A6popviewcontroller%E3%81%97%E3%81%9F%E6%99%82%E3%81%AEuiviewcontroller%E3%81%AE%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E3%81%AE%E5%91%BC%E3%81%B0/</link><pubDate>Sat, 28 May 2011 00:00:00 +0000</pubDate><guid>https://maaash.jp/2011/05/uinavigationcontroller-pushviewcontroller%E3%81%97%E3%81%A6popviewcontroller%E3%81%97%E3%81%9F%E6%99%82%E3%81%AEuiviewcontroller%E3%81%AE%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E3%81%AE%E5%91%BC%E3%81%B0/</guid><description>&lt;p&gt;今さらながらmemo&lt;/p&gt;
&lt;p&gt;RootViewControllerがapp.navigationControllerの先頭にある&lt;/p&gt;
&lt;p&gt;2011-05-28 21:23:43.771 navcontrollertest[12548:207] RootViewController/viewDidLoad&lt;br&gt;
2011-05-28 21:23:43.773 navcontrollertest[12548:207] RootViewController/viewWillAppear:&lt;br&gt;
2011-05-28 21:23:43.775 navcontrollertest[12548:207] RootViewController/viewDidAppear:&lt;/p&gt;
&lt;p&gt;そこにSecondViewControllerをpush&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-objc" data-lang="objc"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;SecondViewController&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;c&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; [[&lt;span style="color:#e06c75"&gt;SecondViewController&lt;/span&gt; &lt;span style="color:#e06c75"&gt;alloc&lt;/span&gt;] &lt;span style="color:#e06c75"&gt;initWithNibName&lt;/span&gt;: &lt;span style="color:#e5c07b"&gt;nil&lt;/span&gt; &lt;span style="color:#e06c75"&gt;bundle&lt;/span&gt;: &lt;span style="color:#e5c07b"&gt;nil&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [ &lt;span style="color:#e5c07b"&gt;self&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;navigationController&lt;/span&gt; &lt;span style="color:#e06c75"&gt;pushViewController&lt;/span&gt;: &lt;span style="color:#e06c75"&gt;c&lt;/span&gt; &lt;span style="color:#e06c75"&gt;animated&lt;/span&gt;: &lt;span style="color:#e5c07b"&gt;YES&lt;/span&gt; ];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [ &lt;span style="color:#e06c75"&gt;c&lt;/span&gt; &lt;span style="color:#c678dd"&gt;release&lt;/span&gt; ];
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2011-05-28 21:23:47.191 navcontrollertest[12548:207] SecondViewController/viewDidLoad&lt;br&gt;
2011-05-28 21:23:47.192 navcontrollertest[12548:207] RootViewController/viewWillDisappear:&lt;br&gt;
2011-05-28 21:23:47.192 navcontrollertest[12548:207] SecondViewController/viewWillAppear:&lt;br&gt;
2011-05-28 21:23:47.548 navcontrollertest[12548:207] RootViewController/viewDidDisappear:&lt;br&gt;
2011-05-28 21:23:47.549 navcontrollertest[12548:207] SecondViewController/viewDidAppear:&lt;/p&gt;
&lt;p&gt;backボタンを押した&lt;/p&gt;
&lt;p&gt;2011-05-28 21:23:53.395 navcontrollertest[12548:207] SecondViewController/viewWillDisappear:&lt;br&gt;
2011-05-28 21:23:53.396 navcontrollertest[12548:207] RootViewController/viewWillAppear:&lt;br&gt;
2011-05-28 21:23:53.749 navcontrollertest[12548:207] SecondViewController/viewDidDisappear:&lt;br&gt;
2011-05-28 21:23:53.750 navcontrollertest[12548:207] RootViewController/viewDidAppear:&lt;br&gt;
2011-05-28 21:23:53.751 navcontrollertest[12548:207] SecondViewController/dealloc&lt;/p&gt;
&lt;p&gt;viewDidUnloadは呼ばれないが、deallocはちゃんと呼ばれている。&lt;/p&gt;</description></item><item><title>how twitter @anywhere works</title><link>https://maaash.jp/2011/05/how-twitter-anywhere-works/</link><pubDate>Sun, 15 May 2011 00:00:00 +0000</pubDate><guid>https://maaash.jp/2011/05/how-twitter-anywhere-works/</guid><description>&lt;p&gt;ということでOAuth2のImplicitGrant方式（または古いドラフトではUserAgent方式）ってのはどうなってるのか実例を見ようと、twitterの@anywhereのJSのソース(&lt;a href="http://platform.twitter.com/anywhere.js" onclick="javascript:_gaq.push(['_trackEvent','download','http://platform.twitter.com/anywhere.js']);"&gt;&lt;a href="http://platform.twitter.com/anywhere.js" class="external-link" target="_blank" rel="noopener"&gt;http://platform.twitter.com/anywhere.js&lt;/a&gt;&lt;/a&gt;)を読んでみた。&lt;/p&gt;
&lt;p&gt;JSがminifyされてるので &lt;a href="http://www.gosu.pl/decoder/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.gosu.pl/decoder/']);"&gt;JsDecoder&lt;/a&gt; で読みやすくしたり
ChromeのDeveloper ToolsでどんなURLにアクセスしてるのか見てさらに掘り進んでいったり。&lt;/p&gt;
&lt;p&gt;blog.twitter.comに@anywhereがはいってるのでそこで確認してみた。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;@Twitter にマウスオーバーするとオーバーレイが出て「フォローする」ってボタンがある&lt;/li&gt;
&lt;li&gt;それを押すとポップアップが開き、oauth2の、Clientを認証するか？って聞くダイアログが出るっぽいURL（https://oauth.twitter.com/2/authorize?oauth_callback_url=…略）だが、まずはTwitterにログインするためのTwitterID(またはメアド)とパスワードが聞かれるフォームが表示される、ただしsubmitボタンが「連携する」になってる&lt;/li&gt;
&lt;li&gt;「連携する」を押すと、リダイレクトされ、#以降に何やら入っているURLがちらっと表示された後に、ポップアップが閉じる&lt;/li&gt;
&lt;li&gt;何事もなかったかのようだが、もう一度 @Twitter にマウスオーバーすると、「フォローしている」と表示される&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ここでおもむろにConsoleで
localStorage.twttr_anywhere
とうつと、なにやらtokenがあるようだ。
localStorage.twttr_anywhere_expiry
というのもあって、2時間の有効期限を表して自分で無効化したりするのかな&lt;/p&gt;
&lt;p&gt;＠Twitterをフォローするリクエストは、これを使って行なわれたようだ。iframe使ったクロスドメインかな
Chrome Developer ToolsのNetworkタブに履歴が残っていたのでそれを再現すると、こんな感じ。&lt;/p&gt;
&lt;script src="https://gist.github.com/972385.js"&gt;&lt;/script&gt;
&lt;p&gt;OAuth2のaccess_tokenのような権力をもつtokenだがAuthorizationヘッダが必要な何かみたい。&lt;/p&gt;
&lt;p&gt;ということで、JSのみでaccess_tokenとってきたらlocalStorageにいれておいてあって、
それをフォローしたりするリクエストで使っていることがわかりました。
localStorageは&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;User agents must raise a SECURITY_ERR exception whenever any of the members of a Storage object originally returned by the localStorage attribute are accessed by scripts whose effective script origin is not the same as the origin of the Document of the Window object on which the localStorage attribute was accessed.&lt;/p&gt;</description></item><item><title>yokohama.pm #7行ってきた</title><link>https://maaash.jp/2011/05/yokohamapm-7%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%9F/</link><pubDate>Sat, 14 May 2011 00:00:00 +0000</pubDate><guid>https://maaash.jp/2011/05/yokohamapm-7%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%9F/</guid><description>&lt;p&gt;今日来てた人たちのモジュールやコードを使わせていただいているなー、&lt;br&gt;
っていろんな人の顔を見ながら思った！&lt;/p&gt;
&lt;p&gt;発表資料&lt;br&gt;
&lt;a href="http://jsdo.it/mash/fjFu/fullscreen" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://jsdo.it/mash/fjFu/fullscreen']);"&gt;yokohama.pm slide ナカマップのなにか&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最後の方のコードはいろいろおかしいので参考になさらないほうがよいでしょう。&lt;br&gt;
でもSocket.IOはクライアント側すごく短くかけてドメイン超えれるし魅力的だなー&lt;br&gt;
なんとかしたい&lt;/p&gt;
&lt;p&gt;なんとかしようと思ったときに、&lt;br&gt;
Authorization Code方式(またはImplicit Grant方式）でaccess_token取得した後に、&lt;br&gt;
そのaccess_tokenをSocket.IOのJavaScriptクライアントに渡せるとよいが、どういう経路で安全に渡すことができるんだろう。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dev.twitter.com/anywhere/begin" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://dev.twitter.com/anywhere/begin']);"&gt;Twitterの@anywhereのドキュメント&lt;/a&gt;には、&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;The higher the anywhere.js file is on the page, the sooner it can process the access token. 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ってある。&lt;/p&gt;
&lt;p&gt;OAuth2のImplicit Grant方式では&lt;br&gt;
Authorization Serverからリダイレクトされてきた時にaccess_tokenが#フラグメント以降に入ってるんだけど&lt;br&gt;
それを他のJavaScriptコードとかから読み取られる前（最初のscriptタグ）にanywhere.jsがあれば&lt;br&gt;
安全ってことなのかな？&lt;/p&gt;
&lt;p&gt;上の方にanywhere.js置いてね、って書いてあるけど&lt;br&gt;
スクリプト設置した人が下の方においたら、htmlの上から設置場所までの間にxssでなんか仕込めたらTwitterのaccess_tokenとられちゃうんだよね？&lt;/p&gt;
&lt;p&gt;access_tokenの有効期限が短いってことだけどそれでいいのかな？&lt;/p&gt;
&lt;p&gt;で@anywhere使ってTwitter認証してリダイレクトされてきたらTwitterにログイン状態で&lt;br&gt;
@anywhereの貼ってあるページ上で誰かをフォローできる、ってことは&lt;br&gt;
access_tokenなのか同様の力を持つものがブラウザにCookieなりlocalStorageなりで保存されてるってこと？&lt;br&gt;
CSRF対策用のトークンみたいなワンタイムな感じなのかな？&lt;/p&gt;
&lt;p&gt;わからないことが多すぎる＞＜&lt;br&gt;
anywhere.js を読んでみよう&lt;/p&gt;</description></item><item><title>Math::Random::MT benchmark</title><link>https://maaash.jp/2010/08/mathrandommt-benchmark/</link><pubDate>Thu, 19 Aug 2010 00:00:00 +0000</pubDate><guid>https://maaash.jp/2010/08/mathrandommt-benchmark/</guid><description>&lt;p&gt;randのばらつき方が均等になる、という理由で&lt;a href="http://search.cpan.org/~ams/Math-Random-MT-1.11/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://search.cpan.org/~ams/Math-Random-MT-1.11/']);"&gt;Math::Random::MT&lt;/a&gt;が使われているようです。（身近で&lt;/p&gt;
&lt;p&gt;macにXS版を入れようとすると&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;In file included from _mt.c:1:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mt.h:17: error: expected specifier-qualifier-list before &amp;#39;uint32_t&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mt.h:21: error: expected &amp;#39;)&amp;#39; before &amp;#39;seed&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mt.h:22: error: expected &amp;#39;)&amp;#39; before &amp;#39;*&amp;#39; token
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;_mt.c:17: error: expected declaration specifiers or &amp;#39;...&amp;#39; before &amp;#39;uint32_t&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;_mt.c: In function &amp;#39;mt_init_seed&amp;#39;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;_mt.c:20: error: &amp;#39;uint32_t&amp;#39; undeclared (first use in this function)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;_mt.c:20: error: (Each undeclared identifier is reported only once
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;_mt.c:20: error: for each function it appears in.)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;_mt.c:20: error: &amp;#39;mt&amp;#39; undeclared (first use in this function)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;_mt.c:22: error: &amp;#39;struct mt&amp;#39; has no member named &amp;#39;mt&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;_mt.c:23: error: &amp;#39;seed&amp;#39; undeclared (first use in this function)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;っていうようなエラーがでてmakeがこけるところは、&lt;/p&gt;</description></item><item><title>iTunesの重複曲を削除する - perl</title><link>https://maaash.jp/2010/08/itunes%E3%81%AE%E9%87%8D%E8%A4%87%E6%9B%B2%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B-perl/</link><pubDate>Wed, 04 Aug 2010 00:00:00 +0000</pubDate><guid>https://maaash.jp/2010/08/itunes%E3%81%AE%E9%87%8D%E8%A4%87%E6%9B%B2%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B-perl/</guid><description>&lt;p&gt;家のPCのWindowsを入れなおすついでに家のiTunesとmacbookのiTunesの中身を同期しようと思い、何も考えずにiTunesのホームネットワークに追加して曲をコピペしたら大量に重複曲ができていっこいっこ手で削除するなんてめんどくさくてできない場合の話。&lt;/p&gt;
&lt;p&gt;iTunesには「重複する項目を表示」って機能はあるのに重複してる曲を削除する、っていう便利機能は無い。&lt;/p&gt;
&lt;p&gt;ただし、同じアーティスト名、同じアルバム名（つまり同じディレクトリ）の同名曲は、
ファイル名の末尾に数字をつけてincrementしていく、ってルールでコピーしてきたファイルを置くようだ。&lt;/p&gt;
&lt;p&gt;そこで、perlで重複曲を削除してみる&lt;/p&gt;
&lt;script src="https://gist.github.com/507495.js"&gt;&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;% perl remove-duplicate.pl /Users/mash/Music/iTunes/iTunes&lt;span style="color:#98c379"&gt;\ &lt;/span&gt;Media/Music/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;って実行すると重複してるっぽい曲だけ消してくれる&lt;/p&gt;
&lt;p&gt;その後、実体が無いけど曲のリストがあるiTunesを開き、上から順に →カーソルキー を押しっぱなしにしたりすると&lt;/p&gt;
&lt;p&gt;&lt;img src="http://gyazo.com/927944080d5754616af10ffa74b63614.png" alt="" &gt;&lt;/p&gt;
&lt;p&gt;のようにびっくりマークがつくので、表示項目に「追加日」を追加して、
びっくりマークを目印に、複数選択しながら消していくとまあ許容できるめんどくささになった&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Term::Prompt&lt;/code&gt; がなんか楽しくて意味もなく &amp;ldquo;really?&amp;rdquo; とか聞くちょっとしたスクリプトを書く今日このごろ&lt;/p&gt;
&lt;p&gt;PS. iTunes Music Library.xml をいっしょに編集したりすればもっと簡単なのかもしれない&lt;/p&gt;</description></item><item><title>daemontoolsのmultilogでエラーだけ抜き出す</title><link>https://maaash.jp/2010/06/daemontools%E3%81%AEmultilog%E3%81%A7%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%A0%E3%81%91%E6%8A%9C%E3%81%8D%E5%87%BA%E3%81%99/</link><pubDate>Mon, 28 Jun 2010 00:00:00 +0000</pubDate><guid>https://maaash.jp/2010/06/daemontools%E3%81%AEmultilog%E3%81%A7%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%A0%E3%81%91%E6%8A%9C%E3%81%8D%E5%87%BA%E3%81%99/</guid><description>&lt;p&gt;ここ： &lt;a href="http://quox.org/tips/server/daemontools.html#multilog" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://quox.org/tips/server/daemontools.html#multilog']);"&gt;multilogによるログ収集&lt;/a&gt; を読みましょう&lt;/p&gt;
&lt;script src="https://gist.github.com/455677.js"&gt;&lt;/script&gt;
&lt;p&gt;この設定は：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;t: タイムスタンプつける&lt;/li&gt;
&lt;li&gt;全部の行をこのrunスクリプトのあるディレクトリに吐く ファイルサイズ最大16MBで１００世代まで&lt;/li&gt;
&lt;li&gt;[error]の含まれる行のみを errorsディレクトリ以下に吐く ファイルサイズ最大16MBで１００世代まで&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;svc -u /service/app/log
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ってするとmultilogが立ち上がって、runスクリプトのあるディレクトリ、errorsディレクトリにcurrentって空のファイルができる&lt;/p&gt;
&lt;p&gt;appのログに[error]の含まれる行が出てきたら、
errors/current ってファイルに書き込まれるので、
errors/current ってファイルを監視してれば眠れない夜になったりならなかったり&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;svc -a /service/app/log
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ってするとログローテーションされてcurrentはまた空ファイルになるのでいらっとしたらこれ。&lt;/p&gt;</description></item><item><title>WWW::Mechanize::Firefoxで簡単スクリーンショット</title><link>https://maaash.jp/2010/05/wwwmechanizefirefox%E3%81%A7%E7%B0%A1%E5%8D%98%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</link><pubDate>Wed, 19 May 2010 00:00:00 +0000</pubDate><guid>https://maaash.jp/2010/05/wwwmechanizefirefox%E3%81%A7%E7%B0%A1%E5%8D%98%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</guid><description>&lt;p&gt;&lt;a href="http://search.cpan.org/~corion/WWW-Mechanize-Firefox-0.18/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://search.cpan.org/~corion/WWW-Mechanize-Firefox-0.18/']);"&gt;WWW::Mechanize::Firefox-&lt;/a&gt;すごいな
&lt;a href="http://wiki.github.com/bard/mozrepl/tutorial" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wiki.github.com/bard/mozrepl/tutorial']);"&gt;mozrepl&lt;/a&gt;と組み合わせてこんなコードで簡単にスクリーンショットがとれる&lt;/p&gt;
&lt;script src="https://gist.github.com/406076.js"&gt;&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perl mechanize-firefox.pl &lt;span style="color:#98c379"&gt;&amp;#34;yahoo.co.jp&amp;#34;&lt;/span&gt; yahoo.png
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とかってやってとれたスクリーンショットはこんな
&lt;a href="http://www.flickr.com/photos/99687464@N00/4620564475/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.flickr.com/photos/99687464@N00/4620564475/']);" title="yahoo by maaashjp, on Flickr"&gt;&lt;img src="https://farm5.static.flickr.com/4054/4620564475_e162124ffa_m.jpg" width="240" height="203" alt="yahoo" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;write error: filehandle isn&amp;#39;t open at /path/to/MozRepl/Client.pm line 186&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とかって出たらFirefoxのmozreplが立ち上がってない。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;maximum input buffer length exceeded: 1048576 bytes at /path/to/MozRepl/Client.pm line 186&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とかって出たらmozreplとperlスクリプトのtelnetのバッファが足りないようなのでgistにあるbufsizeを大きめにとる&lt;/p&gt;
&lt;p&gt;PS: 開いてるFirefoxでとったのでMacBookProの解像度を活かしてサイズは(1899 x 1607)になってるのは自慢です&lt;/p&gt;</description></item><item><title>cant use webcam in Firefox3.6.3 + Flash Player 10 + Mac OSX10.6.3</title><link>https://maaash.jp/2010/05/cant-use-webcam-in-firefox363-flash-player-10-mac-osx1063/</link><pubDate>Thu, 13 May 2010 00:00:00 +0000</pubDate><guid>https://maaash.jp/2010/05/cant-use-webcam-in-firefox363-flash-player-10-mac-osx1063/</guid><description>&lt;p&gt;今日、奇妙なFirefoxのバグ？に遭遇&lt;/p&gt;
&lt;p&gt;ウェブカムを使うFlashで、Camera.getCameraしたCameraインスタンスをVideo.attachCameraしたりするときに、&lt;/p&gt;
&lt;p&gt;Flashの設定パネルが表示されて、&lt;br&gt;
&lt;img src="http://gyazo.com/b9516a686791a69ada7bec5d2e516bfa.png" alt="flash security panel" &gt;&lt;br&gt;
この「許可」をクリックするとカメラから画像がとれるようになるんですが、&lt;/p&gt;
&lt;p&gt;Firefox3.6.3 + Flash Player 10,0,42,34 + MacOSX 10.6.3&lt;br&gt;
で、これがクリック出来ないんですね。周りにも何人かいたから近いバージョンでも起こるっぽい。&lt;br&gt;
クリックできないから許可できないので進まない。&lt;/p&gt;
&lt;p&gt;HTMLの要素をカットして戻して、とかってやりながら原因を切り分けていくと、、原因、というかこうなおすと直った、のはCSS&lt;/p&gt;
&lt;p&gt;CSSの差分はこんな&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;667c673&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt;&lt;span style="color:#e06c75"&gt;674&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;width&lt;/span&gt;:&lt;span style="color:#61afef"&gt;465px&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#e06c75"&gt;---&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#7f848e"&gt;/* width:465px; */&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;text-align&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#e06c75"&gt;center&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;670c677&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;width&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#e06c75"&gt;465px&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#e06c75"&gt;---&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#7f848e"&gt;/* width: 465px; */&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;673c680&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;border-right&lt;/span&gt;:&lt;span style="color:#61afef"&gt;1px&lt;/span&gt; &lt;span style="color:#e06c75"&gt;solid&lt;/span&gt; #&lt;span style="color:#e06c75"&gt;e6e6e6&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#e06c75"&gt;---&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#7f848e"&gt;/* border-right:1px solid #e6e6e6; */&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これでFlash Playerからウェブカム使えるかどうか変わるとかありえねー&lt;br&gt;
けど実際ありえた&lt;/p&gt;
&lt;p&gt;参考になるだろうと思って最小のHTMLとCSSで再現パターンつくろうと思ったけど他にも周りの要素が関係してそうだったのでめんどくさくて断念。&lt;/p&gt;
&lt;p&gt;Firefox3.6.4のbetaでは起こらなかったようなので、一時的な不具合かもしれない。&lt;br&gt;
幸運をいのる。&lt;/p&gt;
&lt;p&gt;P.S. macにしましたよ&lt;/p&gt;</description></item><item><title>Context Free Art for Actionscript3/Flash</title><link>https://maaash.jp/2010/03/context-free-art-for-actionscript3flash/</link><pubDate>Sat, 20 Mar 2010 00:00:00 +0000</pubDate><guid>https://maaash.jp/2010/03/context-free-art-for-actionscript3flash/</guid><description>&lt;p&gt;FITC Amsterdam 2010で得た刺激を形にした1つ目&lt;/p&gt;
&lt;p&gt;Context Free Artをas3でつくるためのライブラリをつくりました。&lt;br&gt;
sourcecode: &lt;a href="http://github.com/mash/ContextFreeArt-AS3" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://github.com/mash/ContextFreeArt-AS3']);"&gt;&lt;a href="http://github.com/mash/ContextFreeArt-AS3" class="external-link" target="_blank" rel="noopener"&gt;http://github.com/mash/ContextFreeArt-AS3&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
sample:&lt;/p&gt;
&lt;div style="text-align:center;width:465px;"&gt;
 &lt;a href="http://wonderfl.net/code/65186c72f5cd41fa981dd6ed3177ad47cfac3dc7" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/65186c72f5cd41fa981dd6ed3177ad47cfac3dc7']);" title="faster Tree - ContextFreeArtAS3 - wonderfl build flash online"&gt;faster Tree &amp;#8211; ContextFreeArtAS3 &amp;#8211; wonderfl build flash online&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://contextfreeart.org/mediawiki/index.php/CFDG_HOWTO" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://contextfreeart.org/mediawiki/index.php/CFDG_HOWTO']);"&gt;cfdgは本家と同じフォーマット&lt;/a&gt;で記述して、&lt;br&gt;
StringをContextFreeArtクラスに渡してaddChildすれば描画されたContextFreeArtを見られる、という簡単仕様。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;art&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;ContextFreeArt&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;ContextFreeArt&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;cfdg&lt;/span&gt; ); 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;addChild&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;art&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://code.google.com/p/contextfree/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com/p/contextfree/']);"&gt;javascript+CanvasによるContext Free Artの実装&lt;/a&gt;があったのでそれを移植する＋Flash向けに最適化（&lt;a href="http://twitter.com/nutsu" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://twitter.com/nutsu']);"&gt;@nutsu&lt;/a&gt; ++）しただけですね&lt;br&gt;
&lt;a href="http://azarask.in/projects/contextfree/showcase.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://azarask.in/projects/contextfree/showcase.html']);"&gt;jsの方の例はこちら&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;再帰を繰り返してベクターが多くなってきた時に描画が重くなるのを解決できたらなー&lt;br&gt;
描画しおわった、removeChildされた後に掃除したりするのを追加したら、swcにしてwonderflにライブラリとして追加しようー&lt;br&gt;
ContextFreeArtクラスはただのSprite継承したものなので、ContextFreeArtをBox2Dの世界につっこんだり、マウスとインタラクションしたり、いろいろ試してほしいものです。&lt;br&gt;
まだ対応していない&lt;a href="http://github.com/mash/ContextFreeArt-AS3/blob/master/todo.txt" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://github.com/mash/ContextFreeArt-AS3/blob/master/todo.txt']);"&gt;cfdg文法もたくさんある&lt;/a&gt;ので、興味をもった方はgithubでforkしてほしいです！&lt;/p&gt;</description></item><item><title>FITC Amsterdam 2010で話してきました</title><link>https://maaash.jp/2010/03/fitc-amsterdam-2010%E3%81%A7%E8%A9%B1%E3%81%97%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/</link><pubDate>Sat, 20 Mar 2010 00:00:00 +0000</pubDate><guid>https://maaash.jp/2010/03/fitc-amsterdam-2010%E3%81%A7%E8%A9%B1%E3%81%97%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/</guid><description>&lt;p&gt;2/19～2/24だったのでもう1ヶ月になってしまいますね。びびる！&lt;br&gt;
ではプレゼン資料をどうぞ。&lt;/p&gt;
&lt;div style="width:425px" id="__ss_3280884"&gt;
 &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/maaash/fitc-amsterdam-2010" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.slideshare.net/maaash/fitc-amsterdam-2010']);" title="Fitc Amsterdam 2010"&gt;Fitc Amsterdam 2010&lt;/a&gt;&lt;/strong&gt; &lt;div style="padding:5px 0 12px"&gt;
 View more &lt;a href="http://www.slideshare.net/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.slideshare.net/']);"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/maaash" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.slideshare.net/maaash']);"&gt;Masakazu Ohtsuka&lt;/a&gt;.
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;@mariroomが&lt;a href="http://www.ustream.tv/recorded/4925201" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ustream.tv/recorded/4925201']);"&gt;iPhoneから撮ってくれた録画はこちら&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;slideshareでプレゼン資料からリンクしたい！けどできないので&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter/maaash" class="external-link" target="_blank" rel="noopener"&gt;http://twitter/maaash&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.kayac.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.kayac.com/']);"&gt;&lt;a href="http://www.kayac.com/" class="external-link" target="_blank" rel="noopener"&gt;http://www.kayac.com/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/']);"&gt;&lt;a href="http://wonderfl.net/" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Explore wonderfl&lt;br&gt;
&lt;a href="http://wonderfl.net/codes" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/codes']);"&gt;&lt;a href="http://wonderfl.net/codes" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/codes&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/tags" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/tags']);"&gt;&lt;a href="http://wonderfl.net/tags" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/tags&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;My Favorites&lt;br&gt;
&lt;a href="http://wonderfl.net/tag/graphics" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/tag/graphics']);"&gt;&lt;a href="http://wonderfl.net/tag/graphics" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/tag/graphics&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/code/b8ec2e7155357ddc65d21eb8b1fa2e94c8363cfc" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/b8ec2e7155357ddc65d21eb8b1fa2e94c8363cfc']);"&gt;&lt;a href="http://wonderfl.net/code/b8ec2e7155357ddc65d21eb8b1fa2e94c8363cfc" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/b8ec2e7155357ddc65d21eb8b1fa2e94c8363cfc&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/tag/particle" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/tag/particle']);"&gt;&lt;a href="http://wonderfl.net/tag/particle" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/tag/particle&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/code/6efe4c0d9b5e27e91db92b1175409f31e7005dca" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/6efe4c0d9b5e27e91db92b1175409f31e7005dca']);"&gt;&lt;a href="http://wonderfl.net/code/6efe4c0d9b5e27e91db92b1175409f31e7005dca" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/6efe4c0d9b5e27e91db92b1175409f31e7005dca&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/tag/3d" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/tag/3d']);"&gt;&lt;a href="http://wonderfl.net/tag/3d" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/tag/3d&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/code/d79cd85845773958620f42cb3e6cb363c2020c73" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/d79cd85845773958620f42cb3e6cb363c2020c73']);"&gt;&lt;a href="http://wonderfl.net/code/d79cd85845773958620f42cb3e6cb363c2020c73" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/d79cd85845773958620f42cb3e6cb363c2020c73&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/code/3e921a9e3eeedb891c2c09ca7792d77a94e6be7e" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/3e921a9e3eeedb891c2c09ca7792d77a94e6be7e']);"&gt;&lt;a href="http://wonderfl.net/code/3e921a9e3eeedb891c2c09ca7792d77a94e6be7e" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/3e921a9e3eeedb891c2c09ca7792d77a94e6be7e&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/tag/sound" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/tag/sound']);"&gt;&lt;a href="http://wonderfl.net/tag/sound" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/tag/sound&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/code/ce10335ea45949194f7b26b2a7906faf1860037d" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/ce10335ea45949194f7b26b2a7906faf1860037d']);"&gt;&lt;a href="http://wonderfl.net/code/ce10335ea45949194f7b26b2a7906faf1860037d" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/ce10335ea45949194f7b26b2a7906faf1860037d&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/code/a61ade6375f452e6dbcc873f241652ef0f80bb96" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/a61ade6375f452e6dbcc873f241652ef0f80bb96']);"&gt;&lt;a href="http://wonderfl.net/code/a61ade6375f452e6dbcc873f241652ef0f80bb96" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/a61ade6375f452e6dbcc873f241652ef0f80bb96&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/tag/game" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/tag/game']);"&gt;&lt;a href="http://wonderfl.net/tag/game" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/tag/game&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/code/e3ad9058e4ee2e00d7ff7a40e806e7ed82fdb0ef" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/e3ad9058e4ee2e00d7ff7a40e806e7ed82fdb0ef']);"&gt;&lt;a href="http://wonderfl.net/code/e3ad9058e4ee2e00d7ff7a40e806e7ed82fdb0ef" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/e3ad9058e4ee2e00d7ff7a40e806e7ed82fdb0ef&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Supported libraries&lt;br&gt;
&lt;a href="http://wonderfl.net/libraries" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/libraries']);"&gt;&lt;a href="http://wonderfl.net/libraries" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/libraries&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Fastest when you want samples&lt;br&gt;
&lt;a href="http://www.google.com/search?q=papervision3d" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.google.com/search?q=papervision3d']);"&gt;&lt;a href="http://www.google.com/search?q=papervision3d" class="external-link" target="_blank" rel="noopener"&gt;http://www.google.com/search?q=papervision3d&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/search?q=papervision3d" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/search?q=papervision3d']);"&gt;&lt;a href="http://wonderfl.net/search?q=papervision3d" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/search?q=papervision3d&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cool idea of actionscriptbible&lt;br&gt;
by Roger Braunstein&lt;br&gt;
&lt;a href="http://wonderfl.net/user/actionscriptbible" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/user/actionscriptbible']);"&gt;&lt;a href="http://wonderfl.net/user/actionscriptbible" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/user/actionscriptbible&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Collaboration example:&lt;br&gt;
&lt;a href="http://wonderfl.net/code/23552f1d7a0805e6a44c812715e89bf6b520e346" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/23552f1d7a0805e6a44c812715e89bf6b520e346']);"&gt;&lt;a href="http://wonderfl.net/code/23552f1d7a0805e6a44c812715e89bf6b520e346" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/23552f1d7a0805e6a44c812715e89bf6b520e346&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/code/6e076415a6d24cbe1c1ce65fb5db5fc9284e9c10" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/6e076415a6d24cbe1c1ce65fb5db5fc9284e9c10']);"&gt;&lt;a href="http://wonderfl.net/code/6e076415a6d24cbe1c1ce65fb5db5fc9284e9c10" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/6e076415a6d24cbe1c1ce65fb5db5fc9284e9c10&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/code/aa66ffdabd0d60b9b0f78bc98d35054860212703" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/aa66ffdabd0d60b9b0f78bc98d35054860212703']);"&gt;&lt;a href="http://wonderfl.net/code/aa66ffdabd0d60b9b0f78bc98d35054860212703" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/aa66ffdabd0d60b9b0f78bc98d35054860212703&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/code/685b39a67b560fd762e25fb805c7cb30780efb78" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/685b39a67b560fd762e25fb805c7cb30780efb78']);"&gt;&lt;a href="http://wonderfl.net/code/685b39a67b560fd762e25fb805c7cb30780efb78" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/685b39a67b560fd762e25fb805c7cb30780efb78&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/code/e40b7ab8221ba0b85632726091fc9211c5f503c4" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/code/e40b7ab8221ba0b85632726091fc9211c5f503c4']);"&gt;&lt;a href="http://wonderfl.net/code/e40b7ab8221ba0b85632726091fc9211c5f503c4" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/code/e40b7ab8221ba0b85632726091fc9211c5f503c4&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Flash LIVE Coding&lt;br&gt;
&lt;a href="http://wonderfl.net/live" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/live']);"&gt;&lt;a href="http://wonderfl.net/live" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/live&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>wonderfl本</title><link>https://maaash.jp/2009/12/wonderfl%E6%9C%AC/</link><pubDate>Wed, 23 Dec 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/12/wonderfl%E6%9C%AC/</guid><description>&lt;div class="amazlet-box" style="margin-bottom:0px;"&gt;
&lt;div class="amazlet-image" style="float:left;"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4862670776/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4862670776/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;&lt;img src="https://ecx.images-amazon.com/images/I/316QNrvuYzL._SL160_.jpg" alt="ブラウザで無料ではじめるActionScript 3.0 ―It's a wonderfl world―" style="border: none;" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"&gt;
&lt;div class="amazlet-name" style="margin-bottom:10px;line-height:120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4862670776/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4862670776/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;ブラウザで無料ではじめるActionScript 3.0 ―It&amp;#8217;s a wonderfl world―&lt;/a&gt; &lt;div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/4862670776/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/4862670776/masaishere-22/ref=nosim/']);" title="ブラウザで無料ではじめるActionScript 3.0 ―It's a wonderfl world―" target="_blank"&gt;amazlet&lt;/a&gt; at 09.12.23
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-detail"&gt;
 面白法人カヤック フォークビッツ &lt;br /&gt;ワークスコーポレーション &lt;br /&gt;売り上げランキング: 3750
&lt;/div&gt;
&lt;div class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4862670776/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4862670776/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-footer" style="clear: left"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;wonderfl本、出ましたね。自分は、「はじめに」と「１－１」を担当させていただきました。&lt;br&gt;
これからFlashやActionscript3をはじめたい、という初心者にとっては本当に役に立つサービス＆本だと思いますので、よろしければ読んでみてください。&lt;/p&gt;</description></item><item><title>DBICでcreate_relatedをoverrideする</title><link>https://maaash.jp/2009/11/dbic%E3%81%A7create_related%E3%82%92override%E3%81%99%E3%82%8B/</link><pubDate>Thu, 26 Nov 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/11/dbic%E3%81%A7create_related%E3%82%92override%E3%81%99%E3%82%8B/</guid><description>&lt;p&gt;DBICを使っています。&lt;br&gt;
User has_many Histories&lt;br&gt;
っていう関係のテーブルUserとHistoryがあった時に、&lt;br&gt;
Userの行それぞれに対して、最新のHistoryをUserの行の中にキャッシュしておくと便利なときがあります。&lt;br&gt;
そんな時に、$user-&amp;gt;add_to_histories ってやった時に $userもupdateしたい、という話です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;CREATE&lt;/span&gt; &lt;span style="color:#e06c75"&gt;TABLE&lt;/span&gt; &lt;span style="color:#e06c75"&gt;user&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;id&lt;/span&gt; &lt;span style="color:#e06c75"&gt;unsigned&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;not&lt;/span&gt; &lt;span style="color:#e06c75"&gt;null&lt;/span&gt; &lt;span style="color:#e06c75"&gt;auto_increment&lt;/span&gt;, &lt;span style="color:#56b6c2"&gt;**&lt;/span&gt;&lt;span style="color:#e06c75"&gt;中略&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;**&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;history&lt;/span&gt; &lt;span style="color:#e06c75"&gt;unsigned&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;not&lt;/span&gt; &lt;span style="color:#e06c75"&gt;null&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;CREATE&lt;/span&gt; &lt;span style="color:#e06c75"&gt;TABLE&lt;/span&gt; &lt;span style="color:#e06c75"&gt;history&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;id&lt;/span&gt; &lt;span style="color:#e06c75"&gt;unsigned&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;not&lt;/span&gt; &lt;span style="color:#e06c75"&gt;null&lt;/span&gt; &lt;span style="color:#e06c75"&gt;auto_increment&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;user&lt;/span&gt; &lt;span style="color:#e06c75"&gt;unsigned&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;not&lt;/span&gt; &lt;span style="color:#e06c75"&gt;null&lt;/span&gt;, &lt;span style="color:#56b6c2"&gt;**&lt;/span&gt;&lt;span style="color:#e06c75"&gt;中略&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;**&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;created_date&lt;/span&gt; &lt;span style="color:#e06c75"&gt;datetime&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;not&lt;/span&gt; &lt;span style="color:#e06c75"&gt;null&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;UserのRowクラスは&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;package&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Schema::Row::User&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;中略&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;__PACKAGE__&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;has_many&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;histories&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;Schema::Row::History&amp;#39;&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#39;user&amp;#39;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;HistoryのRowクラスは&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;package&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Schema::Row::History&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;中略&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;__PACKAGE__&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;belongs_to&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;user&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;Schema::Row::User&amp;#39;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;UserのRowクラスに追加されるadd_to_$relを使って&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;$user&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;add_to_histories&lt;/span&gt;({ &lt;span style="color:#e06c75"&gt;action&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;marriage&amp;#39;&lt;/span&gt; }); 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とかってやるわけです。&lt;/p&gt;
&lt;p&gt;HistoryのRowを追加する時にcreated_dateを意識せずに設定したいときとかに、&lt;br&gt;
HistoryのRowクラスに↓って書いておきます&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;sub&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;insert&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$self&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;shift&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;$self&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;created_date&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;DateTime&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;now&lt;/span&gt; ) &lt;span style="color:#c678dd"&gt;unless&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$self&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;created_date&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;$self&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#c678dd"&gt;next&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;method&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;@_&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$self&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これはよくやるんですが、同じタイミングでUserの方もupdateしたいって時に、&lt;/p&gt;
&lt;p&gt;UserのRowクラスに、&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;sub&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;create_related&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$self&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;shift&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;my&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;$rel&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;$col_data&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;@_&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$ret&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$self&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#c678dd"&gt;next&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;method&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;@_&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;$rel&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;eq&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;histories&amp;#39;&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;$self&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;update&lt;/span&gt;({ &lt;span style="color:#e06c75"&gt;history&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$ret&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;id&lt;/span&gt; }); &lt;span style="color:#7f848e"&gt;# とか、$col_data-&amp;gt;{action} とか&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$ret&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;って書いておくと、便利だわー&lt;/p&gt;
&lt;p&gt;typester++&lt;/p&gt;</description></item><item><title>[perl]32bit/64bitでメモリ使用量違うけど</title><link>https://maaash.jp/2009/11/perl32bit64bit%E3%81%A7%E3%83%A1%E3%83%A2%E3%83%AA%E4%BD%BF%E7%94%A8%E9%87%8F%E9%81%95%E3%81%86%E3%81%91%E3%81%A9/</link><pubDate>Thu, 12 Nov 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/11/perl32bit64bit%E3%81%A7%E3%83%A1%E3%83%A2%E3%83%AA%E4%BD%BF%E7%94%A8%E9%87%8F%E9%81%95%E3%81%86%E3%81%91%E3%81%A9/</guid><description>&lt;p&gt;同じperlのコードを、2台の違うサーバで動かした時に、やたらメモリ量が違うなぁと。&lt;/p&gt;
&lt;p&gt;サーバ1: 50MBくらい&lt;br&gt;
サーバ2: 200MBくらい&lt;/p&gt;
&lt;p&gt;なんでだろと調べる&lt;/p&gt;
&lt;p&gt;サーバ1で&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perl -V
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Platform:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;osname=linux, osvers=2.6.26-1-686, archname=i486-linux-gnu-thread-multi 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;... 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;use64bitint=undef, use64bitall=undef, uselongdouble=undef 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;... 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Compiler: 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cc=&amp;#39;cc&amp;#39;, ccflags =&amp;#39;-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64&amp;#39;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;optimize=&amp;#39;-O2 -g&amp;#39;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cppflags=&amp;#39;-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include&amp;#39; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ccversion=&amp;#39;&amp;#39;, gccversion=&amp;#39;4.3.2&amp;#39;, gccosandvers=&amp;#39;&amp;#39; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ivtype=&amp;#39;long&amp;#39;, ivsize=4, nvtype=&amp;#39;double&amp;#39;, nvsize=8, Off_t=&amp;#39;off_t&amp;#39;, lseeksize=8 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;alignbytes=4, prototype=define
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;サーバ2で&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Platform:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;osname=linux, osvers=2.6.26-1-vserver-amd64, archname=x86_64-linux-gnu-thread-multi 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;... 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;use64bitint=define, use64bitall=define, uselongdouble=undef 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;... 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Compiler: 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cc=&amp;#39;cc&amp;#39;, ccflags =&amp;#39;-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64&amp;#39;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;optimize=&amp;#39;-O2 -g&amp;#39;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cppflags=&amp;#39;-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include&amp;#39; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ccversion=&amp;#39;&amp;#39;, gccversion=&amp;#39;4.3.2&amp;#39;, gccosandvers=&amp;#39;&amp;#39; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ivtype=&amp;#39;long&amp;#39;, ivsize=8, nvtype=&amp;#39;double&amp;#39;, nvsize=8, Off_t=&amp;#39;off_t&amp;#39;, lseeksize=8 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;alignbytes=8, prototype=define 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;longsize, ptrsizeとかが違う&lt;br&gt;
32bit → 64bit！&lt;/p&gt;</description></item><item><title>IO::AIOお試し</title><link>https://maaash.jp/2009/10/ioaio%E3%81%8A%E8%A9%A6%E3%81%97/</link><pubDate>Thu, 22 Oct 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/10/ioaio%E3%81%8A%E8%A9%A6%E3%81%97/</guid><description>&lt;p&gt;AnyEvent/Coro期がわたしにもやってきましたよ。
ファイル書き込みを非同期でやりたいのでIO::AIO試してみました。&lt;/p&gt;
&lt;p&gt;Coro::AIO使えばcallback形式ではなく綺麗に書けるようだけれどとりあえずIO::AIOの書き方で。&lt;/p&gt;
&lt;script src="https://gist.github.com/215873.js"&gt;&lt;/script&gt;
&lt;p&gt;結果は、↓とかってなるから非同期的な感じだなぁっていうのはわかるんですが、
AnyEventの $cv-&amp;gt;send , $cv-&amp;gt;recv をとっぱらっても同じように動く。
なぜ？
Event loop integrationっていうのはそれが無い状態に対して、何してくれるの？&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perl try/anyevent_aio.pl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[pre] at try/anyevent_aio.pl line 5.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[aft] at try/anyevent_aio.pl line 13.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[opened]0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[opened]1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[opened]2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[opened]3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[opened]4
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[opened]5
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[opened]6
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[opened]7
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[opened]8
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[opened]9
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[wrote]0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[wrote]1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[wrote]2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[wrote]4
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[wrote]6
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[wrote]3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[wrote]7
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[wrote]5
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[wrote]8
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[closed]9:0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[closed]8:1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[closed]7:2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[closed]6:4
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[closed]5:6
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[closed]4:3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[closed]3:7
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[closed]2:5
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[wrote]9
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[closed]1:8
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[closed]0:9
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>going to Adobe MAX NA 2009</title><link>https://maaash.jp/2009/09/going-to-adobe-max-na-2009/</link><pubDate>Thu, 24 Sep 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/09/going-to-adobe-max-na-2009/</guid><description>&lt;p&gt;I’m going to Adobe MAX NA 2009!&lt;/p&gt;
&lt;p&gt;to give a talk about&lt;br&gt;
&lt;a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=100&amp;#038;presentation_id=1052" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.fitc.ca/events/presentations/presentation.cfm?event=100&amp;presentation_id=1052']);"&gt;wonderfl build flash online, the browser-based Actionscript IDE and community&lt;/a&gt;&lt;br&gt;
&lt;a href="http://wonderfl.net/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.net/']);" title="build flash online"&gt;&lt;a href="http://wonderfl.net/" class="external-link" target="_blank" rel="noopener"&gt;http://wonderfl.net/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;at the FITC Unconference room&lt;br&gt;
&lt;a href="http://www.fitc.ca/events/schedule/?event=100" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.fitc.ca/events/schedule/?event=100']);"&gt;&lt;a href="http://www.fitc.ca/events/schedule/?event=100" class="external-link" target="_blank" rel="noopener"&gt;http://www.fitc.ca/events/schedule/?event=100&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Wednesday October 7, 10:30 – 11:00&lt;/p&gt;
&lt;p&gt;might be hard to wake up to attend a 10:30 session if you’re having beer whole night long,&lt;br&gt;
but &lt;a href="http://www.fitc.ca/events/schedule/?event=100" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.fitc.ca/events/schedule/?event=100']);"&gt;FITC Unconference room has a FREE BEER for you&lt;/a&gt;,&lt;br&gt;
so why not have one in the morning?&lt;/p&gt;</description></item><item><title>おすすめのパスタレシピ本</title><link>https://maaash.jp/2009/06/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%91%E3%82%B9%E3%82%BF%E3%83%AC%E3%82%B7%E3%83%94%E6%9C%AC/</link><pubDate>Sat, 13 Jun 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/06/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%91%E3%82%B9%E3%82%BF%E3%83%AC%E3%82%B7%E3%83%94%E6%9C%AC/</guid><description>&lt;p&gt;家で料理をすることも週末は多いので、レシピの本を何冊か持っている。
ケンタロウさんの本や、&lt;a href="http://maaash.jp/taste/%E6%84%9F%E5%8B%95%E3%82%AC%E3%83%BC%E3%83%AA%E3%83%83%E3%82%AF%E3%83%88%E3%83%BC%E3%82%B9%E3%83%88%E3%83%AC%E3%82%B7%E3%83%94/" class="external-link" target="_blank" rel="noopener"&gt;にんにくのレシピ本&lt;/a&gt;や他のも。
レシピ本には、たいていレシピとできあがりの画像だけ載っている。
著者によって、使う素材が違ったり、にんにくばかり使うレシピだったり。&lt;/p&gt;
&lt;p&gt;先日&lt;a href="http://www.la-bettola.co.jp/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.la-bettola.co.jp/']);"&gt;ラ・ベットラ・ダ・オチアイ&lt;/a&gt;、という、落合さんがやってるイタリアンレストランに行って来た。
普段は長い行列のところ、何曜日だったか、その曜日に行けば並ばずに済む、という日。
スパゲッティも前菜もおいしくて、店主である落合さんの書いているレシピ本に気がついて、
ご飯を食べ終わった後しばらく読みふけり、帰ってからamazonでぽちっとした。&lt;/p&gt;
&lt;div class="amazlet-box" style="margin-bottom:0px;"&gt;
&lt;div class="amazlet-image" style="float:left;"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4344000854/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4344000854/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;&lt;img src="https://ecx.images-amazon.com/images/I/41R4D19JJ8L._SL160_.jpg" alt="ラ・ベットラの定番スパゲティ (ふたりでごはん)" style="border: none;" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"&gt;
&lt;div class="amazlet-name" style="margin-bottom:10px;line-height:120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4344000854/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4344000854/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;ラ・ベットラの定番スパゲティ (ふたりでごはん)&lt;/a&gt;
&lt;div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/4344000854/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/4344000854/masaishere-22/ref=nosim/']);" title="ラ・ベットラの定番スパゲティ (ふたりでごはん)" target="_blank"&gt;amazlet&lt;/a&gt; at 09.06.13
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-detail"&gt;
 落合 務 &lt;br /&gt;幻冬舎 &lt;br /&gt;売り上げランキング: 215921
&lt;/div&gt;
&lt;div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"&gt;
&lt;div class="amazlet-review-average" style="margin-bottom:5px"&gt;
 おすすめ度の平均: ⭐4.5
&lt;/div&gt;
&lt;pre&gt;&lt;code&gt; ⭐5 思ったよりシンプルでも本格的な味&amp;lt;br /&amp;gt;⭐3 やっぱりラ・ベットラ&amp;lt;br /&amp;gt;⭐5 作りやすいレシピです&amp;lt;br /&amp;gt;⭐4 ちょっと残念&amp;lt;br /&amp;gt;⭐5 スパゲティを極める
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4344000854/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4344000854/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-footer" style="clear: left"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;おすすめするのは、&lt;/p&gt;
&lt;blockquote&gt;
 何のためにワインを入れるのか、そしてせっかくワインを入れたのになぜ煮詰めなきゃいけないのか・・・。そういう”どうして？”をひとつひとつ解決できれば、もっとおいしい料理を作れるようになるはず。そういう理屈を知っていけば、料理はすごく楽しくなると思う。
&lt;/blockquote&gt;
&lt;p&gt;という考えが見えるから。
そういったロジックがレシピの前後にちょろっと書いてある。&lt;/p&gt;
&lt;p&gt;土日しか作らないから、先週つくって失敗したリベンジしようと思っても、
試行錯誤しておいしさのロジックを自分の身体で学んでいくほど味と手順を覚えていられないし、
至高の味を目指しているのにレシピの可能性は無限だ。
先人の知恵にすがるべきところ。&lt;/p&gt;
&lt;p&gt;スパゲッティ好きな人はみんな買うといいと思います。&lt;/p&gt;</description></item><item><title>県毎のiareaの数</title><link>https://maaash.jp/2009/05/%E7%9C%8C%E6%AF%8E%E3%81%AEiarea%E3%81%AE%E6%95%B0/</link><pubDate>Wed, 27 May 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/05/%E7%9C%8C%E6%AF%8E%E3%81%AEiarea%E3%81%AE%E6%95%B0/</guid><description>&lt;p&gt;memo&lt;/p&gt;
&lt;p&gt;宮城: 4&lt;br&gt;
茨城: 5&lt;br&gt;
北海道: 32&lt;br&gt;
福島: 4&lt;br&gt;
岩手: 3&lt;br&gt;
滋賀: 4&lt;br&gt;
三重: 8&lt;br&gt;
高知: 4&lt;br&gt;
東京: 99&lt;br&gt;
宮崎: 3&lt;br&gt;
長野: 12&lt;br&gt;
広島: 9&lt;br&gt;
沖縄: 3&lt;br&gt;
静岡: 15&lt;br&gt;
山梨: 3&lt;br&gt;
青森: 3&lt;br&gt;
山形: 4&lt;br&gt;
山口: 4&lt;br&gt;
京都: 20&lt;br&gt;
埼玉: 12&lt;br&gt;
熊本: 5&lt;br&gt;
福岡: 15&lt;br&gt;
和歌山: 8&lt;br&gt;
大阪: 27&lt;br&gt;
徳島: 4&lt;br&gt;
石川: 11&lt;br&gt;
千葉: 10&lt;br&gt;
愛媛: 4&lt;br&gt;
奈良: 4&lt;br&gt;
秋田: 3&lt;br&gt;
兵庫: 22&lt;br&gt;
神奈川: 31&lt;br&gt;
富山: 5&lt;br&gt;
新潟: 6&lt;br&gt;
福井: 5&lt;br&gt;
鹿児島: 7&lt;br&gt;
岐阜: 6&lt;br&gt;
大分: 5&lt;br&gt;
佐賀: 2&lt;br&gt;
岡山: 5&lt;br&gt;
群馬: 6&lt;br&gt;
島根: 6&lt;br&gt;
鳥取: 3&lt;br&gt;
長崎: 5&lt;br&gt;
香川: 4&lt;br&gt;
栃木: 6&lt;br&gt;
愛知: 39&lt;/p&gt;</description></item><item><title>Hoppyいいよ</title><link>https://maaash.jp/2009/05/hoppy%E3%81%84%E3%81%84%E3%82%88/</link><pubDate>Fri, 15 May 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/05/hoppy%E3%81%84%E3%81%84%E3%82%88/</guid><description>&lt;p&gt;Hoppyいい&lt;br&gt;
シリコンバレー行った時に参加した Flash Game Summit とかでも、FITC Toronto 2009でも、マルチプレーヤーFlash熱そうだったので自分の周りではきてる。&lt;br&gt;
&lt;a href="http://d.hatena.ne.jp/download_takeshi/20090425/1240641038" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://d.hatena.ne.jp/download_takeshi/20090425/1240641038']);"&gt;汎用的なXMLSocketサーバを書いた&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;POEとか使ったシングルプロセスシングルスレッドのデーモンでデータベース扱う時はどうするのがいいんだろう？&lt;br&gt;
裏にDB扱うためだけにhttpサーバ置いてデーモンからはそれに非同期でhttpリクエストするという方法がある。&lt;/p&gt;
&lt;p&gt;ということでまずはauthを非同期にしてみました。&lt;br&gt;
&lt;a href="http://github.com/mash/Hoppy/tree/master" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://github.com/mash/Hoppy/tree/master']);"&gt;&lt;a href="http://github.com/mash/Hoppy/tree/master" class="external-link" target="_blank" rel="noopener"&gt;http://github.com/mash/Hoppy/tree/master&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;$c-&amp;gt;handlerってtcp周りのイベントのハンドラってことでいいのかな。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;$c&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;regist_service&lt;/span&gt;( 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;auth&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;MyApp::Auth&amp;#39;&lt;/span&gt;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ってやると $c-&amp;gt;handler-&amp;gt;{auth} に入るのは気のせいかと思いたかったので&lt;br&gt;
s/handler/service/ してみました。めっちゃコアっぽいけどまぁいいか。&lt;/p&gt;
&lt;p&gt;ごめんねColinちゃん。&lt;/p&gt;</description></item><item><title>FITC Toronto 2009 presentation</title><link>https://maaash.jp/2009/05/fitc-toronto-2009-presentation/</link><pubDate>Sun, 03 May 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/05/fitc-toronto-2009-presentation/</guid><description>&lt;p&gt;my presentation is here.&lt;br&gt;
&lt;a href="http://maaash.jp/fitctoronto2009" class="external-link" target="_blank" rel="noopener"&gt;http://maaash.jp/fitctoronto2009&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The presentation uses my 1st Flash/as3 project, &lt;a href="http://pixie.blogdeco.jp/index_en.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://pixie.blogdeco.jp/index_en.html']);"&gt;pixie&lt;/a&gt;. Heavy, but OK.&lt;/p&gt;</description></item><item><title>FITC Toronto 2009 day 1,2</title><link>https://maaash.jp/2009/04/fitc-toronto-2009-day-12/</link><pubDate>Tue, 28 Apr 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/04/fitc-toronto-2009-day-12/</guid><description>&lt;p&gt;Some thoughts, memo of inspirations I got in these 2 days.&lt;br&gt;
And also, thanks for the guys who came to our presentation.&lt;/p&gt;
&lt;p&gt;### BEAUTIFUL ALGORITHMS: DESIGN FROM NATURE AND MATHEMATICS&lt;br&gt;
ALEC COVE&lt;br&gt;
WWW.COVE.ORG&lt;/p&gt;
&lt;p&gt;人には効率よいことを美しいと感じる性質がある&lt;br&gt;
keywords I got: “l-systems”, “reaction diffusion”, “harmonograph”, “buddhabrot”&lt;/p&gt;
&lt;p&gt;### THE TINKERER’S BOX&lt;br&gt;
MARIO KLINGEMANN&lt;br&gt;
WWW.QUASIMONDO.COM&lt;/p&gt;
&lt;p&gt;keywords “Stippling”&lt;br&gt;
Mario looked very FUN!&lt;br&gt;
When he was saying something like: “I can continue this for like,, 2minutes more”, while clicking on triangles and dividing them,&lt;br&gt;
I was pretty sure FUN is the point.&lt;br&gt;
If people just continue what they feel fun, that’s gonna take you to the top of the world.&lt;br&gt;
Even if it starts with just dividing triangles :-)&lt;/p&gt;</description></item><item><title>yokohama.pm 4回目行ってきた＆DI</title><link>https://maaash.jp/2009/04/yokohamapm-4%E5%9B%9E%E7%9B%AE%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%9F%EF%BC%86di/</link><pubDate>Tue, 21 Apr 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/04/yokohamapm-4%E5%9B%9E%E7%9B%AE%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%9F%EF%BC%86di/</guid><description>&lt;p&gt;いいまとめはこちら&lt;br&gt;
&lt;a href="http://d.hatena.ne.jp/hiratara/20090417/1239946298" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://d.hatena.ne.jp/hiratara/20090417/1239946298']);"&gt;&lt;a href="http://d.hatena.ne.jp/hiratara/20090417/1239946298" class="external-link" target="_blank" rel="noopener"&gt;http://d.hatena.ne.jp/hiratara/20090417/1239946298&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;DIがよくわからなかったなぁ&lt;br&gt;
Bread::Boardの感じだと結局コンストラクタに引数与えるのを書き方かえるだけに見えるけど&lt;/p&gt;
&lt;p&gt;外部のxmlファイルに記述したくない、って牧さんは言ってたけど、&lt;br&gt;
フォーマットがxmlかどうかは別として、javaをちょいちょい使ってる時の認識では、&lt;br&gt;
別ファイルであることがDIの本質なんじゃないのかなぁと思っていた。&lt;/p&gt;
&lt;p&gt;javaはコンパイルの必要な言語で、&lt;br&gt;
xmlを変えてもリコンパイルが必要無い、&lt;br&gt;
ってメリットがjavaではある&lt;/p&gt;
&lt;p&gt;使うときにオブジェクトを渡して、使う側ではインターフェースしか使ってない、&lt;br&gt;
こういうのもDIっていうかな&lt;br&gt;
これをいい感じに書けるのがBread::Boardなのかな&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;package&lt;/span&gt; &lt;span style="color:#e06c75"&gt;A&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Moose&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;has&lt;/span&gt; &lt;span style="color:#e06c75"&gt;cache&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&amp;gt;&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;isa&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;Cache::Cache&amp;#39;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;is&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;rw&amp;#39;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;required&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#d19a66"&gt;1&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;default&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#c678dd"&gt;sub&lt;/span&gt; { &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Cache::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;FileCache&lt;/span&gt; } );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;sub&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;fetch_something&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;my&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;$self&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;$key&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;@_&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$ret&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$self&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;cache&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;get&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;$key&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#56b6c2"&gt;!&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;defined&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;$ret&lt;/span&gt;) ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;$ret&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;fetch&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;$key&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;$self&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;cache&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;set&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;$key&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;$ret&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;$ret&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#d19a66"&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;飲み会行かれなくて残念&lt;/p&gt;</description></item><item><title>preventing cache stampedes</title><link>https://maaash.jp/2009/04/preventing-cache-stampedes/</link><pubDate>Thu, 09 Apr 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/04/preventing-cache-stampedes/</guid><description>&lt;p&gt;webサイトとかで、重いSQLを使ったページを快適に表示するために、重いSQLの結果をキャッシュするためにmemcachedとかをよく使います。&lt;br&gt;
キャッシュの有効期限が切れた後に、大量のリクエストに対応して大量の重いSQLが走ると困るので、どうしよう。&lt;br&gt;
これをthundering herd 問題といったり、cache stampede, database stampedeというそうです。&lt;br&gt;
キャッシュ切れた後にががっとくるやつ、です。&lt;/p&gt;
&lt;p&gt;A. キャッシュの有効期限が切れる&lt;br&gt;
B. SQL発行&lt;br&gt;
C. SQLの結果を受け取る&lt;br&gt;
D. キャッシュにつっこむ&lt;/p&gt;
&lt;p&gt;A-D.の間に大量のリクエストが来ると、重いSQLが走るので困ります。&lt;/p&gt;
&lt;p&gt;Kazuhookuさんが書いています。&lt;br&gt;
&lt;a href="http://labs.cybozu.co.jp/blog/kazuho/archives/2007/09/cache_and_thundering_herd.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://labs.cybozu.co.jp/blog/kazuho/archives/2007/09/cache_and_thundering_herd.php']);"&gt;キャッシュシステムの Thundering Herd 問題&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;　対策としては、以下の２種類の手段があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;バックエンドへの同一リクエストを束ねるような仕組みを実装する&lt;/li&gt;
&lt;li&gt;エクスパイヤ以前の残存時間が一定以下となった段階で、キャッシュエントリのアップデートを開始する&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;昨日memcachedの勉強をしている時のFAQの資料にもいろいろ書いてあったのですが、&lt;br&gt;
いくつか対策方法があるようです。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.google.com/p/memcached/wiki/FAQ#How_to_prevent_clobbering_updates,_stampeding_requests" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com/p/memcached/wiki/FAQ#How_to_prevent_clobbering_updates,_stampeding_requests']);"&gt;How to prevent clobbering updates, stampeding requests&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The easiest answer is to avoid the problem. Don’t set caches to expire, and update them via cron, or as data is updated. This does not eliminate the possibility of a stampede, but removes it from becoming the norm.&lt;/p&gt;</description></item><item><title>memcachedのメモリ確保について</title><link>https://maaash.jp/2009/04/memcached%E3%81%AE%E3%83%A1%E3%83%A2%E3%83%AA%E7%A2%BA%E4%BF%9D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</link><pubDate>Wed, 08 Apr 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/04/memcached%E3%81%AE%E3%83%A1%E3%83%A2%E3%83%AA%E7%A2%BA%E4%BF%9D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</guid><description>&lt;p&gt;実戦で使ってるmemcachedがいっぱいになってきてるっぽいので勉強中&lt;br&gt;
自分の理解を整理する。&lt;/p&gt;
&lt;p&gt;memcached-toolでstatsを見る。&lt;br&gt;
1MB_pagesはその1MB単位がいくつあるか&lt;/p&gt;
&lt;p&gt;[homepage@www scripts]$ ./memcached-tool *.*.*.*:11211&lt;br&gt;
# Item_Size Max_age 1MB_pages Count Full?&lt;br&gt;
2 136 B 443801 s 22 169620 yes&lt;br&gt;
3 176 B 550195 s 22 131053 yes&lt;br&gt;
4 224 B 538853 s 10 46810 yes&lt;br&gt;
5 280 B 580837 s 23 86112 yes&lt;br&gt;
6 352 B 725477 s 24 71471 yes&lt;br&gt;
7 440 B 816043 s 14 33362 yes&lt;br&gt;
8 552 B 650550 s 10 18989 yes&lt;br&gt;
9 696 B 734238 s 6 9036 yes&lt;br&gt;
10 872 B 776224 s 7 8414 yes&lt;br&gt;
11 1.1 kB 652671 s 14 13384 yes&lt;br&gt;
12 1.3 kB 747239 s 10 7619 yes&lt;br&gt;
13 1.7 kB 712451 s 8 4872 yes&lt;br&gt;
14 2.1 kB 764616 s 13 6331 yes&lt;br&gt;
15 2.6 kB 547465 s 22 8532 yes&lt;br&gt;
16 3.3 kB 603087 s 11 3410 yes&lt;br&gt;
17 4.1 kB 893787 s 44 10909 yes&lt;br&gt;
18 5.2 kB 492512 s 21 4158 yes&lt;br&gt;
19 6.4 kB 409549 s 20 3160 yes&lt;br&gt;
20 8.1 kB 436414 s 22 2794 yes&lt;br&gt;
21 10.1 kB 435327 s 22 2222 yes&lt;br&gt;
22 12.6 kB 437689 s 19 1539 yes&lt;br&gt;
23 15.8 kB 415113 s 21 1344 yes&lt;br&gt;
24 19.7 kB 421321 s 90 4590 yes&lt;br&gt;
25 24.6 kB 21065 s 77 3157 yes&lt;br&gt;
26 30.8 kB 31859 s 101 3333 yes&lt;br&gt;
27 38.5 kB 528086 s 150 3900 yes&lt;br&gt;
28 48.1 kB 413215 s 132 2772 yes&lt;br&gt;
29 60.2 kB 197636 s 43 731 yes&lt;br&gt;
30 75.2 kB 182637 s 15 195 yes&lt;br&gt;
31 94.0 kB 208702 s 10 99 yes&lt;br&gt;
32 117.5 kB 399556 s 7 54 yes&lt;br&gt;
33 146.9 kB 943288 s 5 28 yes&lt;br&gt;
34 183.6 kB 754818 s 2 10 yes&lt;br&gt;
35 229.5 kB 571672 s 4 16 yes&lt;br&gt;
36 286.9 kB 335096 s 2 4 yes&lt;br&gt;
37 358.6 kB 755830 s 3 6 yes&lt;br&gt;
38 448.2 kB 62570 s 1 2 yes&lt;br&gt;
39 1024.0 kB 279955 s 11 11 yes&lt;/p&gt;</description></item><item><title>FITC Toronto 2009でしゃべります</title><link>https://maaash.jp/2009/03/fitc-toronto-2009%E3%81%A7%E3%81%97%E3%82%83%E3%81%B9%E3%82%8A%E3%81%BE%E3%81%99/</link><pubDate>Sat, 28 Mar 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/03/fitc-toronto-2009%E3%81%A7%E3%81%97%E3%82%83%E3%81%B9%E3%82%8A%E3%81%BE%E3%81%99/</guid><description>&lt;p&gt;&lt;a href="http://www.fitc.ca/event_detail.cfm?festival_id=79" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.fitc.ca/event_detail.cfm?festival_id=79']);"&gt;FITC Toronto 2009&lt;/a&gt;でしゃべる機会をいただきましたので行って来ます！(まだだけど&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.fitc.ca/presentation_detail.cfm?festival_id=79&amp;#038;presentation_id=879" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.fitc.ca/presentation_detail.cfm?festival_id=79&amp;presentation_id=879']);"&gt;Cool Japanese Flash – Side A&lt;/a&gt;&lt;br&gt;
ねたは&lt;a href="http://wonderfl.kayac.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.kayac.com/']);" title="wonderfl build flash online"&gt;wonderfl build flash online&lt;/a&gt;です&lt;br&gt;
たーのしみー&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.fitc.ca/speaker_list.cfm?festival_id=79" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.fitc.ca/speaker_list.cfm?festival_id=79']);"&gt;FITC Toronto 2009 – Speakers&lt;/a&gt;&lt;br&gt;
こういうのに乗るとはねー&lt;/p&gt;
&lt;p&gt;宣伝でしたー&lt;/p&gt;</description></item><item><title>Silicon Valleyに来ています jtpa-conf編</title><link>https://maaash.jp/2009/03/silicon-valley%E3%81%AB%E6%9D%A5%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99-jtpa-conf%E7%B7%A8/</link><pubDate>Sat, 28 Mar 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/03/silicon-valley%E3%81%AB%E6%9D%A5%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99-jtpa-conf%E7%B7%A8/</guid><description>&lt;p&gt;もう帰ってきたんですが&lt;br&gt;
JTPAカンファレンスメモ&lt;/p&gt;
&lt;p&gt;聞いたことと考えたことをごっちゃに書いています。&lt;/p&gt;
&lt;p&gt;■ 梅田望夫&lt;/p&gt;
&lt;p&gt;自分の力と時代の力&lt;/p&gt;
&lt;p&gt;・世界経済の好況不況&lt;br&gt;
・日本の力&lt;br&gt;
・自分の得意分野の成熟度合い&lt;/p&gt;
&lt;p&gt;　日本は厳しいよ、自分に投資せよ&lt;br&gt;
　マクロでは厳しい、ミクロでは景気いいとこもある&lt;br&gt;
　マクロが見えることは大事か&lt;/p&gt;
&lt;p&gt;　今だったらIT分野に進むか？否。&lt;/p&gt;
&lt;p&gt;■ 大澤弘治&lt;/p&gt;
&lt;p&gt;entrepreneurship?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;恐怖心に打ち勝つ精神力&lt;/li&gt;
&lt;li&gt;クリエイティブ&lt;/li&gt;
&lt;li&gt;インテリジェンス&lt;br&gt;
　　自分に投資&lt;/li&gt;
&lt;li&gt;諦めない&lt;br&gt;
　　「成功する秘訣は成功するまでやめないこと」松下幸之助&lt;br&gt;
　　「あなたはすぐ諦めていませんか？」&lt;/li&gt;
&lt;li&gt;チームプレイ&lt;/li&gt;
&lt;li&gt;明るいこと&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;　質疑応答が印象深い。&lt;br&gt;
　諦めないこと、というのとビジネス的な判断というのは別物&lt;br&gt;
　信念みたいなものは諦めないが、ビジネスとして撤退すべきであればする&lt;br&gt;
　というのは答えになってないんじゃないかなぁ&lt;/p&gt;
&lt;p&gt;　判断する時に、情熱をどれくらい定量的に意識するか、ってことなのかなぁ。&lt;br&gt;
　例えば月１億の赤字を情熱ではカバーできないけど&lt;br&gt;
　月１００万なら情熱でカバーできる、みたいな。&lt;/p&gt;
&lt;p&gt;■ 金島秀人&lt;/p&gt;
&lt;p&gt;23andMe&lt;br&gt;
　個人に対する遺伝子解析サービス&lt;br&gt;
　個人に提供することで遺伝子のサンプルを集めやすい&lt;br&gt;
　　BIOのCGM。。。&lt;br&gt;
　どんどん情報が集まってくるビジネスモデル&lt;br&gt;
　　Googleが出資してる。。。なるほど&lt;/p&gt;
&lt;p&gt;Googleのビジネスモデルとは情報の量を増やしていけばあるレベルから量が質に転換する&lt;br&gt;
　わかっていたようで明言されると新鮮でわかりやすかった&lt;/p&gt;
&lt;p&gt;シリコンバレースピリット&lt;br&gt;
・個別の会社ではなく、その業界に就職しているというプロスポーツ選手の意識&lt;br&gt;
・自分の好きなこと、得意なことを仕事にする&lt;br&gt;
・他省略&lt;/p&gt;
&lt;p&gt;日本の閉塞感に関するfact&lt;br&gt;
　新しい産業が生まれにくい&lt;br&gt;
　　時価総額TOP100のうち、&lt;br&gt;
　　アメリカは50%が30年以内にできた会社&lt;br&gt;
　　日本では1社のみが30年以内にできた会社&lt;/p&gt;
&lt;p&gt;今シリコンバレーで投資を受けている分野&lt;br&gt;
・ヘルスケア&lt;br&gt;
・新エネルギー&lt;/p&gt;
&lt;p&gt;■ パネルトークとか&lt;/p&gt;
&lt;p&gt;シリコンバレーでは起業ってのは人生かけるほどのものではないもっと気軽なもの&lt;br&gt;
・つぶれても有限責任、再出発しやすい&lt;br&gt;
・アウトソースがしやすい&lt;br&gt;
　VCがお金をつっこむ&lt;br&gt;
　　自分のコア業務以外は積極的にアウトソース&lt;br&gt;
　　　さまざまな業務のフリーランスがいる&lt;/p&gt;
&lt;p&gt;リスクマネーの定義ができてる&lt;br&gt;
　日本は銀行の考え方のVC&lt;br&gt;
　　担保に対してお金を出す&lt;br&gt;
　　＝リスクをとっているわけではない&lt;br&gt;
　アメリカのVC&lt;br&gt;
　　ビジネスモデルに対して価値を見出して「投資」する&lt;/p&gt;
&lt;p&gt;「まず日本で始めて」という考え方を転換しよう&lt;br&gt;
　日本は市場環境が悪&lt;br&gt;
　　要求仕様が高い&lt;br&gt;
　　市場が下降&lt;/p&gt;</description></item><item><title>Silicon Valleyに来ています adaptivepath編</title><link>https://maaash.jp/2009/03/silicon-valley%E3%81%AB%E6%9D%A5%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99-adaptivepath%E7%B7%A8/</link><pubDate>Sun, 22 Mar 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/03/silicon-valley%E3%81%AB%E6%9D%A5%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99-adaptivepath%E7%B7%A8/</guid><description>&lt;p&gt;メモ&lt;br&gt;
聞いたことと感じたことをごっちゃに書いています&lt;/p&gt;
&lt;p&gt;■ 働き方&lt;br&gt;
　今日は金曜日&lt;br&gt;
　夕方から異業種交流パーティでお酒のんでゆっくり&lt;br&gt;
　技術者は誰も出社してなかった&lt;br&gt;
　金曜はweekendって言ってた。金曜は基本休みなのでは&lt;/p&gt;
&lt;p&gt;■ オフィス環境&lt;br&gt;
　白板がでかい、という共通点&lt;br&gt;
　白板がないところにはでっかなポストイットでメモをはりつけられる&lt;/p&gt;
&lt;p&gt;■ ビジネスモデル&lt;br&gt;
　トップページのリニューアル時のコンサルとか&lt;br&gt;
　ページレイアウト、ワイヤー、デザインのプロトタイプまではつくる&lt;br&gt;
　*****の実際の例を見たけれど、かなりプロトタイプに近いものがリリースされているようだ&lt;/p&gt;
&lt;p&gt;■ コンサル方法について&lt;br&gt;
　コンサルってうさんくさい感じを個人的に持っているのに対して、&lt;/p&gt;
&lt;p&gt;　ブレスト方法とか、結論を明確化してそれまでにいたるプロセスが体系化されていて、&lt;br&gt;
　ポストイットとか白板とか紙を使いながら&lt;br&gt;
　視覚的に進捗を表せて、&lt;br&gt;
　やりきった感がすごく客観的にも見えた&lt;/p&gt;
&lt;p&gt;　これならお金払う気になるんだろうなぁ&lt;br&gt;
　+++++さんが言ってたけど、社外に言ってただブレストしてアイディア出すような場合でも、&lt;br&gt;
　なんか形になるアウトプットがあれば、対価を払う気持ちになるんじゃないか&lt;/p&gt;
&lt;p&gt;■ なんでシリコンバレーは日本よりもいけてると感じるのか&lt;/p&gt;
&lt;p&gt;選択と集中をして人を突っ込んだところが成長する&lt;br&gt;
→ 選択と集中をするためのうまい仕組みが、ベンチャーキャピタル&lt;br&gt;
　ベンチャーキャピタルが評価したビジネスモデルが、他よりも成長する可能性が高い、という仮説&lt;br&gt;
　　いいフィルタになっているから、&lt;br&gt;
　　しょぼいところは出資されないからすぐ撤退&lt;br&gt;
　　いいところは一気にシリコンバレーの優秀なPH.Dとかを突っ込んで短期的に成長までもっていくから&lt;br&gt;
　　すごく見える頻度が高いのか&lt;/p&gt;
&lt;p&gt;　でも自分の考えでは、何が成功するのか、何が失敗するのかなんて誰にもわからない&lt;br&gt;
　集中さえすればなんでも成功する可能性は高まる、という仮説&lt;br&gt;
　願いはかなう、セレンディピティの起こる条件がかなうから必要なものはなんでもそろう&lt;br&gt;
　→ ベンチャーキャピタルが「多い」、というのがポイントなのでは。&lt;br&gt;
　　ベンチャーキャピタルはいいフィルタなのではなくて、&lt;br&gt;
　　ただ単にお金を使って人を突っ込む、起爆剤としての意味のみの価値。&lt;br&gt;
　　電気屋が多ければ電気街として有名になって違う産業がそこで起こるように、&lt;br&gt;
　　ベンチャーキャピタルが多ければ…みたいな話なのでは&lt;/p&gt;
&lt;p&gt;　それとともに、PH.Dをとって、問題解決能力を身に着けた人が多く輩出される土地柄。&lt;br&gt;
　ベンチャーを成功させた人は次の事業等で優秀な人材を必要とするから&lt;br&gt;
　大学に対して健全な需要/供給関係が成り立つ。&lt;br&gt;
　→ PH.Dを大学からお金を払ってでも出したい、という流れ&lt;/p&gt;
&lt;p&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;/p&gt;</description></item><item><title>Silicon Valleyに来ています PARC編</title><link>https://maaash.jp/2009/03/silicon-valley%E3%81%AB%E6%9D%A5%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99-parc%E7%B7%A8/</link><pubDate>Sun, 22 Mar 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/03/silicon-valley%E3%81%AB%E6%9D%A5%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99-parc%E7%B7%A8/</guid><description>&lt;p&gt;メモ&lt;br&gt;
聞いたことと感じたことをごっちゃに書いています&lt;/p&gt;
&lt;p&gt;■ 働き方&lt;br&gt;
　10:00ころに出社して16時ころには誰もいない&lt;br&gt;
　家で仕事してるんだろう&lt;/p&gt;
&lt;p&gt;■ オフィス環境&lt;br&gt;
　1人1部屋 6畳くらいの&lt;br&gt;
　ディスプレイは最低20インチ台後半～&lt;br&gt;
　　みんなでかいけど、でっかなディスプレイ1枚とかが普通&lt;br&gt;
　　もっと大きいと思ってたけどうそうでもない&lt;/p&gt;
&lt;p&gt;　白板がでかい&lt;br&gt;
　壁一面に書ける&lt;br&gt;
　天井も改造して上からプロジェクター吊るための天井壊して中の骨組みまるみえになってたり&lt;/p&gt;
&lt;p&gt;　建物の目的がしっかりしてる&lt;br&gt;
　　美は機能を追求する結果。&lt;/p&gt;
&lt;p&gt;■ 人事&lt;br&gt;
　評価は、論文、特許、メディアの反響、の３つ。&lt;/p&gt;
&lt;p&gt;　社員にとって、ずっと残ってPARCのmanagerになって、とかっていうのはそんなに魅力じゃない&lt;br&gt;
　自分の研究者としてのキャリアになるか、が最大のモチベーション&lt;/p&gt;
&lt;p&gt;　社長までみんな研究者あがり&lt;/p&gt;
&lt;p&gt;■ どんな人が多いのか&lt;br&gt;
　Ph.D&lt;/p&gt;
&lt;p&gt;■ monetize&lt;br&gt;
　research機能を外部委託する、というビジネスモデルはおいしいのか、技術者はうれしいのか&lt;/p&gt;
&lt;p&gt;　売り上げの半分以上が、外部から研究費をもらう委託&lt;br&gt;
　他は特許収入とか&lt;br&gt;
　開発した成果をどう流用するか&lt;br&gt;
　　委託元はもちろん制限なく使える&lt;br&gt;
　　PARCも、競合他社に提供しなければ、別分野とかで使ってもいい&lt;br&gt;
　　　PARCは研究開発機能に限定した組織（商品化はしない）なので、できる話なのかも&lt;/p&gt;
&lt;p&gt;　お客さんの半分は、、、、&lt;/p&gt;
&lt;p&gt;　researchというのはそもそもの定義が、&lt;br&gt;
　できるかどうかわからないことを仮説をたてて検証していくことにあるので、&lt;br&gt;
　失敗もたくさんある&lt;br&gt;
　失敗がなくちゃおかしい&lt;br&gt;
　その場合には、できなそう、というのがわかる時点でプロジェクトをKillすることもある&lt;br&gt;
　　これはアメリカ的ないい面だなぁ&lt;br&gt;
　　日本はかけた費用を回収するまでやめられないことが多い&lt;/p&gt;
&lt;p&gt;　お金になる可能性をどう考えるか、というのは時間とともにアップダウンがあるもの&lt;br&gt;
　お金になりそうなところばっかりやるのか、&lt;br&gt;
　お金になるかどうかわからないけれど技術的におもしろそうだし、ということなのか&lt;/p&gt;
&lt;p&gt;　今はPARCは前者が多いように見えた&lt;br&gt;
　お金を持っている外部とのコラボ、というやり方&lt;br&gt;
　それもひとつのやり方だろう、でも技術者はつまらないんじゃないか&lt;/p&gt;
&lt;p&gt;　社会学者、心理学者、文化人類学者も多い&lt;br&gt;
　全研究者の10%とか！すごい多い&lt;/p&gt;
&lt;p&gt;　そういう人間の心理とか考え方に関するプロが、&lt;br&gt;
　researchの最初の段階で、&lt;br&gt;
　テーマの中心にいる人を観察する&lt;br&gt;
　　例えばプリンタを改良しようとしているのであれば、&lt;br&gt;
　　プリンタを使っている人を１日観察する&lt;br&gt;
　　どう使っているのかとか&lt;br&gt;
　　　この辺りIDEOに共通する部分を感じた&lt;br&gt;
　　　自分が正月に言った話も。&lt;br&gt;
　　　　webサイトも、どれだけ使っている人の行動をイメージできるかが成功の秘訣なのでは。&lt;br&gt;
　　　　ユーザーは見えない、と思っているから&lt;br&gt;
　　　　お問い合わせを元に改良したりしてるけれど&lt;br&gt;
　　　　客層と思われる人をリアルに連れてきてどんなふうにブラウザを操作したりするのか&lt;br&gt;
　　　　観察、分析するフェーズがあってもいいかも&lt;br&gt;
　　　　　お金があればね。。&lt;/p&gt;
&lt;p&gt;■ シリコンバレー支社&lt;br&gt;
　部屋は空いてる&lt;/p&gt;
&lt;p&gt;　PARCの部屋に入居する方法はいくつかある&lt;br&gt;
　　ベンチャーがPARCに仕事を依頼しながら、ベンチャーの本社をPARC内に置くとか&lt;br&gt;
　　なんかしらコラボできれば&lt;br&gt;
　　　でも今のコラボの形では、お互い持ち出し、というのは無さそう&lt;br&gt;
　　　こっちから払う形&lt;/p&gt;</description></item><item><title>Silicon Valleyに来ています UCBerkley編</title><link>https://maaash.jp/2009/03/silicon-valley%E3%81%AB%E6%9D%A5%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99-ucberkley%E7%B7%A8/</link><pubDate>Sun, 22 Mar 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/03/silicon-valley%E3%81%AB%E6%9D%A5%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99-ucberkley%E7%B7%A8/</guid><description>&lt;p&gt;メモ&lt;br&gt;
聞いたことと感じたことをごっちゃに書いています&lt;/p&gt;
&lt;p&gt;■ 人&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LarryWall,Sunの創始者 他いっぱい&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;■ Ph.Dをアメリカは評価する&lt;br&gt;
　Ph.Dをとるというのは、問題解決のひととおりの流れを身につけていると考えられる。&lt;br&gt;
　※アメリカの大学を卒業するのは大変だからか&lt;br&gt;
　専門分野が異なったとしても価値を持つと信じていい&lt;br&gt;
　学歴社会ってのは悪いもんでもないんじゃないかなぁ&lt;br&gt;
　　もしそれがちゃんと実力を表すものなのであれば。&lt;br&gt;
　　これが日本とSiliconValleyの間で最もキーだと今感じている違い&lt;/p&gt;
&lt;p&gt;■ 産学連携&lt;br&gt;
基本企業からお金が出ている&lt;/p&gt;
&lt;p&gt;■ なぜBerkley&lt;br&gt;
　研究室&lt;br&gt;
　州立、なのでお金が無い 装置とかがしょぼい しょぼいがゆえにコラボレーションが盛ん&lt;br&gt;
　　簡単に他の学科といっしょにやったりする&lt;/p&gt;
&lt;p&gt;■ Ph.D1年目から給料っぽいものがもらえる&lt;br&gt;
　学部生を教えたり、&lt;br&gt;
　年間これくらいは給料がもらえるっていう額が最初にわかる&lt;br&gt;
　学費は免除&lt;br&gt;
　日本の学部卒から入れる&lt;br&gt;
　5年プログラム&lt;br&gt;
　flexible&lt;br&gt;
　結果出せばいいでしょ&lt;/p&gt;
&lt;p&gt;■ 使ってるサイトとか&lt;br&gt;
　GoogleScholorと有料論文検索システム（無料化）が統合？&lt;/p&gt;
&lt;p&gt;　Facebookで技術的な話題をすごくふかーくやってる&lt;br&gt;
　論文レベルの議論をGoogleGroupsでやってたり&lt;/p&gt;
&lt;p&gt;　日本のコミュニティには、知識が蓄積される、という面は少ないのでは&lt;/p&gt;
&lt;p&gt;　研究者の考え方として、論文に書かなければ&lt;br&gt;
　正式ではない？から自由にいろんな議論が行われる？&lt;/p&gt;</description></item><item><title>なんか最近ブログ書いてなかったら</title><link>https://maaash.jp/2009/03/%E3%81%AA%E3%82%93%E3%81%8B%E6%9C%80%E8%BF%91%E3%83%96%E3%83%AD%E3%82%B0%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%82%89/</link><pubDate>Thu, 19 Mar 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/03/%E3%81%AA%E3%82%93%E3%81%8B%E6%9C%80%E8%BF%91%E3%83%96%E3%83%AD%E3%82%B0%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%82%89/</guid><description>&lt;p&gt;書くしきいがあがってる気がしたからしきいを下げてみる。&lt;/p&gt;
&lt;p&gt;明日からシリコンバレー、サンフランシスコいってきます！&lt;/p&gt;
&lt;p&gt;iPhoneいじってたら機内モードでWiFiをON、っていう設定にできたのでこれで過ごそう。&lt;/p&gt;</description></item><item><title>Catalyst::Plugin::DumpRequired</title><link>https://maaash.jp/2009/02/catalystplugindumprequired/</link><pubDate>Sat, 28 Feb 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/02/catalystplugindumprequired/</guid><description>&lt;p&gt;fastcgi(Catalyst,perl)+lighttpdでよくウェブアプリをつくるのですが
Copy on Writeの恩恵を受け、メモリを節約するために、
fastcgiの親プロセスで網羅的にperlモジュールを読み込んでおき、
子プロセスの親プロセスとで共有するメモリを増やしたくなります。&lt;/p&gt;
&lt;p&gt;子プロセスでどんなモジュールをrequireしてるのか？
がわかればMyApp.pmでuseしておくことで親プロセスで読み込めます。&lt;/p&gt;
&lt;p&gt;それをわかりやすくするためのCatalystプラグインを作りました。&lt;/p&gt;
&lt;script src="https://gist.github.com/68027.js"&gt;&lt;/script&gt;
&lt;p&gt;MyApp.pmで&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;__PACKAGE__&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;setup&lt;/span&gt;(&lt;span style="color:#c678dd"&gt;do&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;@plugins&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;push&lt;/span&gt; &lt;span style="color:#e06c75"&gt;@plugins&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#39;StackTrace&amp;#39;&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#39;DumpRequired&amp;#39;&lt;/span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$ENV&lt;/span&gt;{&lt;span style="color:#e06c75"&gt;CATALYST_DEBUG&lt;/span&gt;};
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;@plugins&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;});
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とかするといいと思います。&lt;/p&gt;
&lt;p&gt;いろんなパスを通るようにrequest投げると $c-&amp;gt;log-&amp;gt;debug にrequireしたモジュールが出てきます。&lt;/p&gt;
&lt;p&gt;以下参考にさせていただきました。
&lt;a href="http://d.hatena.ne.jp/hideden/20080409" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://d.hatena.ne.jp/hideden/20080409']);"&gt;mod_perlで親プロセスとのCopy on Writeな共有メモリを増やす方法&lt;/a&gt;&lt;/p&gt;</description></item><item><title>adobemax2009でwonderflの話してきました</title><link>https://maaash.jp/2009/02/adobemax2009%E3%81%A7wonderfl%E3%81%AE%E8%A9%B1%E3%81%97%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/</link><pubDate>Mon, 02 Feb 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/02/adobemax2009%E3%81%A7wonderfl%E3%81%AE%E8%A9%B1%E3%81%97%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/</guid><description>&lt;p&gt;資料はこちら。&lt;br&gt;
&lt;a href="http://maaash.jp/adobemax2009/" class="external-link" target="_blank" rel="noopener"&gt;http://maaash.jp/adobemax2009/&lt;/a&gt;&lt;br&gt;
デモ中心ですので資料はなんてことありませんが、&lt;/p&gt;
&lt;p&gt;わたくしの初めてのas3作品＆PV3D作品：&lt;br&gt;
&lt;a href="http://pixie.blogdeco.jp/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://pixie.blogdeco.jp/']);"&gt;写真ブログパーツpixie&lt;/a&gt;を使用してプレゼンしましたよ。&lt;/p&gt;
&lt;p&gt;パワポでつくって、&lt;br&gt;
「ウェブページで保存」&lt;br&gt;
→「JPEGファイル交換形式」でスライド全体を保存&lt;br&gt;
→全部まとめてブログにアップ&lt;br&gt;
→pixieのタグを貼り付け&lt;/p&gt;
&lt;p&gt;でいい感じのプレゼン資料になりますよ&lt;br&gt;
よろしければ。&lt;/p&gt;</description></item><item><title>健全な市場</title><link>https://maaash.jp/2009/01/%E5%81%A5%E5%85%A8%E3%81%AA%E5%B8%82%E5%A0%B4/</link><pubDate>Wed, 28 Jan 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/01/%E5%81%A5%E5%85%A8%E3%81%AA%E5%B8%82%E5%A0%B4/</guid><description>&lt;p&gt;今日お昼話してて気づいたこと。&lt;/p&gt;
&lt;p&gt;QRコードで自分の連絡先を渡すためだけのiPhoneアプリが売れたりしているらしい。&lt;/p&gt;
&lt;p&gt;それは、iPhoneアプリをつくってフリーで公開して誰かに使ってもらうまで、の一連の流れに対して、&lt;/p&gt;
&lt;p&gt;ぽちっとワンクリックでiPhoneアプリを購入する、という方が簡単だから。&lt;/p&gt;
&lt;p&gt;アプリを購入することの簡単さ、と、&lt;/p&gt;
&lt;p&gt;developerは参加するけどフリーのアプリが大量に出回るほどにはdeveloperが増えない、というアプリの作りにくさ。&lt;/p&gt;
&lt;p&gt;お金になる、程度の一定の大きさの市場をつくって、この２点の絶妙なバランスを実現したAppleの勝利だなぁ。&lt;/p&gt;
&lt;p&gt;でもなんか納得いかない。&lt;/p&gt;
&lt;p&gt;健全なバランスの市場であってほしい。&lt;/p&gt;
&lt;p&gt;Windowsアプリみたく、開発のための情報は豊富で、&lt;/p&gt;
&lt;p&gt;そこそこ簡単につくれるからフリーのソフトがいっぱいあって、&lt;/p&gt;
&lt;p&gt;がんばれば作ってみようかな、とも思えたりして、&lt;br&gt;
それに対して機能が充実してたりする素敵なソフトは有料でもあって、&lt;/p&gt;
&lt;p&gt;その３つの選択肢から使う側が選べるのが健全な市場だと思う。&lt;/p&gt;
&lt;p&gt;そういう健全さを増すために自分の技術を使えるといいのかなぁ。&lt;/p&gt;
&lt;p&gt;健全な市場だと、つくる人も増える、と思う。&lt;/p&gt;
&lt;p&gt;不健全な市場を探そう。&lt;/p&gt;</description></item><item><title>adobemax2009でwonderflの話</title><link>https://maaash.jp/2009/01/adobemax2009%E3%81%A7wonderfl%E3%81%AE%E8%A9%B1/</link><pubDate>Fri, 23 Jan 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/01/adobemax2009%E3%81%A7wonderfl%E3%81%AE%E8%A9%B1/</guid><description>&lt;p&gt;&lt;a href="http://jp.max.adobe.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://jp.max.adobe.com/']);"&gt;adobemax2009&lt;/a&gt;で&lt;a href="http://wonderfl.kayac.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wonderfl.kayac.com/']);"&gt;wonderfl&lt;/a&gt;の話をちょっとすることになりました。&lt;/p&gt;
&lt;p&gt;真ん中辺りのミニステージというところで、&lt;/p&gt;
&lt;p&gt;1/29 15:25-15:40 辺りでしゃべってますのでもしよろしければ。&lt;/p&gt;
&lt;p&gt;何話しましょうかね&lt;/p&gt;</description></item><item><title>Template-Plugin-AddTimeというのをつくった</title><link>https://maaash.jp/2009/01/template-plugin-addtime%E3%81%A8%E3%81%84%E3%81%86%E3%81%AE%E3%82%92%E3%81%A4%E3%81%8F%E3%81%A3%E3%81%9F/</link><pubDate>Tue, 06 Jan 2009 00:00:00 +0000</pubDate><guid>https://maaash.jp/2009/01/template-plugin-addtime%E3%81%A8%E3%81%84%E3%81%86%E3%81%AE%E3%82%92%E3%81%A4%E3%81%8F%E3%81%A3%E3%81%9F/</guid><description>&lt;p&gt;codereposに置きました&lt;br&gt;
&lt;a href="http://svn.coderepos.org/share/lang/perl/Template-Plugin-AddTime/trunk/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://svn.coderepos.org/share/lang/perl/Template-Plugin-AddTime/trunk/']);"&gt;Template::Plugin::AddTime – TT filter plugin to add file modified time&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;# 正直あまり自信はないのですが&lt;/p&gt;
&lt;p&gt;jsとかcssとか、あまり変化しないのでブラウザにしっかりキャッシュしてほしいけど、&lt;br&gt;
ファイルを更新した時には再読み込みしてほしいって時に、&lt;/p&gt;
&lt;p&gt;expiresヘッダをつけないと、ブラウザの実装によってリクエストが来たり来なかったりして&lt;br&gt;
cssを更新したのに読み込まないクライアントは表示が崩れたりします。&lt;/p&gt;
&lt;p&gt;なのでexpiresヘッダをつけてしっかりブラウザにキャッシュして欲しいって時に、&lt;br&gt;
ファイルの更新時刻をくっつけたりバージョン番号をくっつけたりすることがあります。&lt;/p&gt;
&lt;p&gt;これはファイルの更新時刻をくっつけるためのTT Filterプラグインです。&lt;/p&gt;
&lt;p&gt;こんなふうに使います。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# or with a base path&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[% USE AddTime(&amp;#39;tmpl/static&amp;#39;) -%]&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[% &amp;#39;/js/prototype\.js&amp;#39; | addtime -%]&amp;lt;/p&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;p&amp;gt;# adds modified time of tmpl/static/js/prototype\.js&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/js/prototype\.js\?1231163490&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;こうしておいて、lighttpdの設定で&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;expire.url = (&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;/js/&amp;#34; =&amp;gt; &amp;#34;access 1 years&amp;#34;,&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とかってすれば&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Expires: Fri, 01 Jan 2010 00:42:29 GMT&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Cache-Control: max-age=31104000&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;こんなヘッダがくっついてくる。&lt;/p&gt;</description></item><item><title>Flash向けGoogle AJAX Feed API</title><link>https://maaash.jp/2008/12/flash%E5%90%91%E3%81%91google-ajax-feed-api/</link><pubDate>Mon, 15 Dec 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/12/flash%E5%90%91%E3%81%91google-ajax-feed-api/</guid><description>&lt;p&gt;こんなのがあった。&lt;/p&gt;
&lt;p&gt;Flash やその他 JavaScript を使用しない環境New!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.google.com/intl/ja/apis/ajaxfeeds/documentation/#fonje" class="external-link" target="_blank" rel="noopener"&gt;http://code.google.com/intl/ja/apis/ajaxfeeds/documentation/#fonje&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;crossdomain.xmlも * 指定だから&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ajax.googleapis.com/crossdomain.xml" class="external-link" target="_blank" rel="noopener"&gt;http://ajax.googleapis.com/crossdomain.xml&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; ?xml version=&amp;#34;1.0&amp;#34;?&amp;gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; !DOCTYPE cross-domain-policy SYSTEM &amp;#34;http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd&amp;#34;&amp;gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;cross&lt;/span&gt; -domain-policy&lt;span style="color:#e06c75"&gt;&amp;gt;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;allow&lt;/span&gt; -access-from &lt;span style="color:#e06c75"&gt;domain=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;*&amp;#34;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;/&amp;gt;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;/cross&amp;gt;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Flashだけで指定のRSS読めますね。&lt;/p&gt;</description></item><item><title>Adobe Stratusサンプルを読み解く</title><link>https://maaash.jp/2008/12/adobe-stratus%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%92%E8%AA%AD%E3%81%BF%E8%A7%A3%E3%81%8F/</link><pubDate>Sun, 14 Dec 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/12/adobe-stratus%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%92%E8%AA%AD%E3%81%BF%E8%A7%A3%E3%81%8F/</guid><description>&lt;p&gt;&lt;a href="http://labs.adobe.com/technologies/stratus/samples/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://labs.adobe.com/technologies/stratus/samples/']);"&gt;Stratus Sample Application&lt;/a&gt;&lt;br&gt;
がコードといっしょに公開されているので読んでみる。&lt;/p&gt;
&lt;p&gt;■NetConnectionでAdobeの提供しているrtmfpサーバstratusにつなぐ&lt;br&gt;
予めDeveloperKeyを手に入れておく。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;netConnection&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;NetConnection&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;netConnection&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addEventListener&lt;/span&gt;(&lt;span style="color:#e5c07b"&gt;NetStatusEvent&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;NET_STATUS&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#e06c75"&gt;netConnectionHandler&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;netConnection&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;connect&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;rtmfp://stratus.adobe.com/&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#e06c75"&gt;DeveloperKey&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;NetStatusEventの NetConnection.Connect.Sucess になると、&lt;br&gt;
NetConnection.nearID がとれる&lt;br&gt;
この64桁のIDが、他のPeerから自分につなぐために、&lt;br&gt;
相手が知る必要のある情報&lt;/p&gt;
&lt;p&gt;webサービスに登録しておいて、&lt;br&gt;
ユーザー名と照合できるようにしておく&lt;br&gt;
＃これがHttpIdManager.asのお仕事&lt;/p&gt;
&lt;p&gt;なんだろサンプルでは４つのNetStream使ってるけど、&lt;br&gt;
お互いの２つだけでいけそうだなぁ。&lt;/p&gt;
&lt;p&gt;■音声/映像のやり取り&lt;br&gt;
ユーザー名知ってる人に電話かけようかなと思ったら、&lt;br&gt;
webサービスに照合して、相手の64桁のIDをもらい、&lt;br&gt;
それをNetStreamに渡す(identity)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;incomingStream&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;NetStream&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;netConnection&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#e06c75"&gt;identity&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;incomingStream&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;play&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;media-callee&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;playすれば音が鳴るし、VideoにattachNetStreamすれば相手の映像が見える&lt;br&gt;
出す方は、DIRECT_CONNECTIONS設定してpublishする&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;outgoingStream&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;NetStream&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;netConnection&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;NetStream&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;DIRECT_CONNECTIONS&lt;/span&gt;); 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;outgoingStream&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;publish&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;media-caller&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;publish,playに渡す引数は、電話かける方はmedia-caller,受ける方はmedia-calleeとしてるけどなんでもよさそう。&lt;br&gt;
ルールを決めておけばよい。&lt;/p&gt;
&lt;p&gt;↓clientにonPeerConnectって関数を入れておくと、&lt;br&gt;
誰かPeerがつないできたときに、farIDが取れる。&lt;br&gt;
onPeerConnectがtrueを返せば接続ok、&lt;br&gt;
falseを返せば接続ngッぽいので、&lt;br&gt;
非接続側でもう一度webサービスにfarIDを照合して誰が電話かけてきたのか着信履歴表示や着信拒否ができそうだね&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;o&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;Object&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;Object&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;o&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;onPeerConnect&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;caller&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;NetStream&lt;/span&gt;)&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;Boolean&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;status&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;Callee connecting to media stream: &amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#e06c75"&gt;caller&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;farID&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;\n&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;true&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;outgoingStream&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;client&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;o&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;■RPC&lt;br&gt;
NetStream.sendを使えばPeer2PeerのRPCも簡単。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;outgoingStream&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;send&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;onIm&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#e06c75"&gt;userNameInput&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;text&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#e06c75"&gt;msg&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;受け側のNetStream.clientにぶらさがってる関数が呼び出される&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;i&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;onIm&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;name&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;String&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#e06c75"&gt;text&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;String&lt;/span&gt;)&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;void&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;textOutput&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;text&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;name&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;: &amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#e06c75"&gt;text&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;\n&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;■帯域&lt;br&gt;
NetStream.info.audioBytesPerSecond, NetSteam.info.videoBytesPerSecond,&lt;br&gt;
とか使うとどれくらい帯域使ってるのか見えるようだ。&lt;br&gt;
おー droppedFrames ってプロパティとかもある。&lt;/p&gt;
&lt;p&gt;■結論&lt;br&gt;
AIR1.5でもいけるようだし、こりゃ機能的にはSkypeレベルのものが簡単につくれそうだ。&lt;br&gt;
あとは映像や音声の品質がどれくらい出るか。&lt;/p&gt;
&lt;p&gt;Adobeの中の人のarticleもおもしろい&lt;/p&gt;</description></item><item><title>cpan authorになりました</title><link>https://maaash.jp/2008/12/cpan-author%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F/</link><pubDate>Sun, 14 Dec 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/12/cpan-author%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F/</guid><description>&lt;p&gt;mashあいてたー&lt;br&gt;
CPAN Recent Changesに自分の名前のるのうれしいなー&lt;/p&gt;
&lt;p&gt;意外に簡単でびびる。PAUSEも2日くらいで来たなぁ。&lt;br&gt;
最初からshipitのお世話になりました。いい。&lt;/p&gt;
&lt;p&gt;最初のモジュールは&lt;br&gt;
&lt;a href="http://search.cpan.org/~mash/Lingua-JA-Yomi-0.01/lib/Lingua/JA/Yomi.pm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://search.cpan.org/~mash/Lingua-JA-Yomi-0.01/lib/Lingua/JA/Yomi.pm']);"&gt;&lt;a href="http://search.cpan.org/~mash/Lingua-JA-Yomi-0.01/lib/Lingua/JA/Yomi.pm" class="external-link" target="_blank" rel="noopener"&gt;http://search.cpan.org/~mash/Lingua-JA-Yomi-0.01/lib/Lingua/JA/Yomi.pm&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://svn.coderepos.org/share/lang/perl/Lingua-JA-Yomi/trunk/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://svn.coderepos.org/share/lang/perl/Lingua-JA-Yomi/trunk/']);"&gt;&lt;a href="http://svn.coderepos.org/share/lang/perl/Lingua-JA-Yomi/trunk/" class="external-link" target="_blank" rel="noopener"&gt;http://svn.coderepos.org/share/lang/perl/Lingua-JA-Yomi/trunk/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ちょいちょいつくったものをupしてみますよ。&lt;br&gt;
誰かが便利になるといいですなぁ。&lt;/p&gt;
&lt;p&gt;よろしくお願いいたしますm(._.)m&lt;/p&gt;</description></item><item><title>Lingua::JA::Yomi 日本語読みモジュールをつくった</title><link>https://maaash.jp/2008/11/linguajayomi-%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%AA%AD%E3%81%BF%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E3%81%A4%E3%81%8F%E3%81%A3%E3%81%9F/</link><pubDate>Fri, 28 Nov 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/11/linguajayomi-%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%AA%AD%E3%81%BF%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E3%81%A4%E3%81%8F%E3%81%A3%E3%81%9F/</guid><description>&lt;p&gt;英語を手軽に日本語にしたいと思ってつくった。&lt;/p&gt;
&lt;p&gt;今あるモジュールだと、Lingua::JA::Kanaっていうのがあってローマ字→ひらがな変換はできる。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#!/usr/bin/env perl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;strict&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;warnings&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Lingua::JA::Kana&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;utf8&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Encode&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$hiragana&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;romaji2hiragana&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;aerosmith&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;hiragana: &amp;#39;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Encode::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;encode&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;utf8&amp;#39;&lt;/span&gt;,&lt;span style="color:#e06c75"&gt;$hiragana&lt;/span&gt;)&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;\n&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;\&lt;/span&gt;&lt;span style="color:#7f848e"&gt;# hiragana: あえろsみth&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;でもローマ字にあてはまらないのは上記のように残念な感じになるので、&lt;br&gt;
Lingua::JA::Yomi ってのをつくった。&lt;br&gt;
&lt;a href="http://coderepos.org/share/browser/lang/perl/Lingua-JA-Yomi/trunk" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://coderepos.org/share/browser/lang/perl/Lingua-JA-Yomi/trunk']);"&gt;&lt;a href="http://coderepos.org/share/browser/lang/perl/Lingua-JA-Yomi/trunk" class="external-link" target="_blank" rel="noopener"&gt;http://coderepos.org/share/browser/lang/perl/Lingua-JA-Yomi/trunk&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#!/usr/bin/env perl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;strict&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;warnings&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Test::More&lt;/span&gt; &lt;span style="color:#98c379"&gt;qw/no_plan/&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;utf8&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Lingua::JA::Yomi&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$converter&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Lingua::JA::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Yomi&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;is&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;$converter&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;convert&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;aerosmith&amp;#39;&lt;/span&gt;), &lt;span style="color:#98c379"&gt;&amp;#39;エアロウスミス&amp;#39;&lt;/span&gt;,&lt;span style="color:#98c379"&gt;&amp;#39;aerosmith&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ルー語インスパイアなので辞書は&lt;br&gt;
&lt;a href="http://www.argv.org/bep/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.argv.org/bep/']);"&gt;Bilingual Emacspeak Project&lt;/a&gt;&lt;br&gt;
のを使わせていただいております。&lt;/p&gt;
&lt;p&gt;今、あの紫の本を読んでるので、再帰処理で少しずつ変換していくとこを実装するのがたのしかったー&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;# pass in utf8 flagged string&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;sub&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;convert&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;my&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;$self&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;$roman&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;$remainder&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;@_&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;$remainder&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;||=&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; print &amp;#34;&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;convert&lt;/span&gt;]&lt;span style="color:#e06c75"&gt;roman:&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$roman&lt;/span&gt; &lt;span style="color:#e06c75"&gt;remainder:&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$remainder&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;\&lt;/span&gt;&lt;span style="color:#e06c75"&gt;n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34; if $self-&amp;gt;debug;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; return if ! $roman;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; $roman = uc $roman;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; if ( $roman =~ /^([^A-Z]+)(.*)/ ) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; \# preserve symbols
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; return $2 ? ( $1 . $self-&amp;gt;convert($2) ) : $1;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; elsif ( exists $self-&amp;gt;dic-&amp;gt;{$roman} ) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; print &amp;#34;&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;convert&lt;/span&gt;]&lt;span style="color:#e06c75"&gt;found:&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$roman&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;.Encode::encode(&amp;#39;utf8&amp;#39;,$self-&amp;gt;dic-&amp;gt;{$roman}).&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;\&lt;/span&gt;&lt;span style="color:#e06c75"&gt;n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34; if $self-&amp;gt;debug;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; if ( ! $remainder ) {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; return $self-&amp;gt;dic-&amp;gt;{$roman};
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; else {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; return $self-&amp;gt;dic-&amp;gt;{$roman} . $self-&amp;gt;convert( $remainder );
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; else {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; my $last_of_roman = chop( $roman );
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#98c379"&gt; return $self-&amp;gt;convert( $roman, $last_of_roman . ($remainder || &amp;#34;&lt;/span&gt;) );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;perl って何回まで再帰できるんだろ&lt;/p&gt;</description></item><item><title>FlashによるP2Pセッション確立用サーバStratus</title><link>https://maaash.jp/2008/11/flash%E3%81%AB%E3%82%88%E3%82%8Bp2p%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E7%A2%BA%E7%AB%8B%E7%94%A8%E3%82%B5%E3%83%BC%E3%83%90stratus/</link><pubDate>Tue, 18 Nov 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/11/flash%E3%81%AB%E3%82%88%E3%82%8Bp2p%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E7%A2%BA%E7%AB%8B%E7%94%A8%E3%82%B5%E3%83%BC%E3%83%90stratus/</guid><description>&lt;p&gt;って理解でいいのかな。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblogs.macromedia.com/akamijo/archives/2008/11/adobe_max_2008.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://weblogs.macromedia.com/akamijo/archives/2008/11/adobe_max_2008.html']);"&gt;Adobe MAX 2008 US での発表つづき&lt;/a&gt;&lt;br /&gt;
Stratusってなんだろって探すとある&lt;/p&gt;
&lt;p&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Stratus"&gt;Stratus&lt;/p&gt;
&lt;p&gt;http://labs.adobe.com/wiki/index.php/Stratus&lt;/p&gt;
&lt;p&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Flash Player 10 and Adobe AIR 1.5 introduce a new communications protocol called the Real-Time Media Flow Protocol (RTMFP). The most important features of RTMFP include low latency, end-to-end peering capability, security and scalability. These properties make RTMFP especially well suited for developing real-time collaboration applications by not only providing superior user experience but also reducing cost for operators.&lt;/p&gt;</description></item><item><title>dpkg: 解析エラー であせる</title><link>https://maaash.jp/2008/11/dpkg-%E8%A7%A3%E6%9E%90%E3%82%A8%E3%83%A9%E3%83%BC-%E3%81%A7%E3%81%82%E3%81%9B%E3%82%8B/</link><pubDate>Thu, 06 Nov 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/11/dpkg-%E8%A7%A3%E6%9E%90%E3%82%A8%E3%83%A9%E3%83%BC-%E3%81%A7%E3%81%82%E3%81%9B%E3%82%8B/</guid><description>&lt;p&gt;&lt;code&gt;dpkg: 解析エラー, ファイル `/var/lib/dpkg/available' の 21380 行目付近:&amp;lt;br /&amp;gt; package name が見つかりません&amp;lt;br /&amp;gt; E: Sub-process /usr/bin/dpkg returned an error code (2)&amp;lt;br /&amp;gt; &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://lists.debian.or.jp/debian-users/199905/msg00235.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://lists.debian.or.jp/debian-users/199905/msg00235.html']);"&gt;[debian-users:15343] Re: /var/lib/dpkg/available の解析エラー &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;sudo dselect&lt;br&gt;
からupdateして救われたー&lt;/p&gt;</description></item><item><title>C＃とアンマネージドC++のDLL間で文字列の配列をやり取りする</title><link>https://maaash.jp/2008/11/c%EF%BC%83%E3%81%A8%E3%82%A2%E3%83%B3%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%89c%E3%81%AEdll%E9%96%93%E3%81%A7%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E9%85%8D%E5%88%97%E3%82%92%E3%82%84%E3%82%8A/</link><pubDate>Mon, 03 Nov 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/11/c%EF%BC%83%E3%81%A8%E3%82%A2%E3%83%B3%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%89c%E3%81%AEdll%E9%96%93%E3%81%A7%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E9%85%8D%E5%88%97%E3%82%92%E3%82%84%E3%82%8A/</guid><description>&lt;p&gt;マネージド環境（C#）からアンマネージド環境になんか渡す時にマーシャリングというのが自動で起きて、&lt;br&gt;
変数の相互型変換をしてくれるようだ。&lt;br&gt;
名前がわかりにくすぎる。&lt;/p&gt;
&lt;p&gt;C#からC++に文字列の配列を渡すとこ&lt;/p&gt;
&lt;p&gt;C#でC++dllの関数使うよって宣言&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;[DllImport(&amp;#34;pcp.dll&amp;#34;)]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;private&lt;/span&gt; &lt;span style="color:#c678dd"&gt;static&lt;/span&gt; &lt;span style="color:#c678dd"&gt;extern&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;call_array&lt;/span&gt;([&lt;span style="color:#e06c75"&gt;MarshalAs&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;UnmanagedType&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;LPArray&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;ArraySubType&lt;/span&gt; = &lt;span style="color:#e06c75"&gt;UnmanagedType&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;LPWStr&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;SizeParamIndex&lt;/span&gt; = &lt;span style="color:#d19a66"&gt;1&lt;/span&gt;)]&lt;span style="color:#e5c07b"&gt;string&lt;/span&gt;[] &lt;span style="color:#e06c75"&gt;files&lt;/span&gt;, &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;length&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;C#側コード&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;string&lt;/span&gt;[] &lt;span style="color:#e06c75"&gt;files&lt;/span&gt; = &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;string&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;2&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;files&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;] = &lt;span style="color:#98c379"&gt;&amp;#34;日本語1&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;files&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;1&lt;/span&gt;] = &lt;span style="color:#98c379"&gt;&amp;#34;日本語2&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;ret&lt;/span&gt; = &lt;span style="color:#e06c75"&gt;call_array&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;files&lt;/span&gt;,&lt;span style="color:#d19a66"&gt;2&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;ret&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;C++側&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;call_array&lt;/span&gt;( &lt;span style="color:#e5c07b"&gt;wchar_t&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;**&lt;/span&gt; &lt;span style="color:#e06c75"&gt;files&lt;/span&gt;, &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;length&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;setlocale&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;LC_ALL&lt;/span&gt;,&lt;span style="color:#98c379"&gt;&amp;#34;japanese&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt; ( &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;length&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;wprintf&lt;/span&gt;(&lt;span style="color:#98c379"&gt;L&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;%d: %s&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;,&lt;span style="color:#e06c75"&gt;i&lt;/span&gt;,&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;files&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;+&lt;/span&gt;&lt;span style="color:#e06c75"&gt;i&lt;/span&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#d19a66"&gt;10&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;defファイルに書いとく。&lt;/p&gt;
&lt;p&gt;C++からC#のコールバックに文字列の配列を渡す&lt;/p&gt;
&lt;p&gt;C#のコールバック&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#c678dd"&gt;static&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;onReceivedFiles&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;IntPtr&lt;/span&gt; &lt;span style="color:#e06c75"&gt;ptr&lt;/span&gt;, &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;nVal&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;IntPtr&lt;/span&gt; &lt;span style="color:#e06c75"&gt;pptr&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;string&lt;/span&gt;[] &lt;span style="color:#e06c75"&gt;files&lt;/span&gt; = &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;string&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;nVal&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt;( &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;n&lt;/span&gt; = &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;n&lt;/span&gt; &amp;lt; &lt;span style="color:#e06c75"&gt;nVal&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;n&lt;/span&gt;++ ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// スタックに積まれて来るのはポインタのみなので&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;pptr&lt;/span&gt; = &lt;span style="color:#e06c75"&gt;Marshal&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;ReadIntPtr&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;ptr&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;n&lt;/span&gt; * &lt;span style="color:#d19a66"&gt;4&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;files&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;n&lt;/span&gt;] = &lt;span style="color:#e06c75"&gt;Marshal&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;PtrToStringAuto&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;pptr&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#d19a66"&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;コールバック関数を渡す先のC++側関数とdelegate&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[&lt;span style="color:#e06c75"&gt;DllImport&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;pcp.dll&amp;#34;&lt;/span&gt;)]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;private&lt;/span&gt; &lt;span style="color:#c678dd"&gt;static&lt;/span&gt; &lt;span style="color:#c678dd"&gt;extern&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;start&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;StringArrayCallback&lt;/span&gt; &lt;span style="color:#e06c75"&gt;cb&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#e06c75"&gt;delegate&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;StringArrayCallback&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;IntPtr&lt;/span&gt; &lt;span style="color:#e06c75"&gt;ptr&lt;/span&gt;, &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;nVal&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;C++にコールバック関数を渡す&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;StringArrayCallback&lt;/span&gt; &lt;span style="color:#e06c75"&gt;cb&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;StringArrayCallback&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;onReceivedFiles&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;ret&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;start&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;cb&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;C++からC＃のコールバック関数を呼ぶ&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;wstring&lt;/span&gt; &lt;span style="color:#e06c75"&gt;message1_&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#98c379"&gt;L&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;日本語1&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;wstring&lt;/span&gt; &lt;span style="color:#e06c75"&gt;message2_&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#98c379"&gt;L&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;日本語2&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;wchar_t&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;messages_&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;2&lt;/span&gt;] &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; { (&lt;span style="color:#e5c07b"&gt;wchar_t&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;)&lt;span style="color:#e06c75"&gt;message1_&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;c_str&lt;/span&gt;(), (&lt;span style="color:#e5c07b"&gt;wchar_t&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;)&lt;span style="color:#e06c75"&gt;message2_&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;c_str&lt;/span&gt;() };
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;ret_&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;callback&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;messages_&lt;/span&gt;, &lt;span style="color:#c678dd"&gt;sizeof&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;messages_&lt;/span&gt;)&lt;span style="color:#56b6c2"&gt;/&lt;/span&gt;&lt;span style="color:#c678dd"&gt;sizeof&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;messages_&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;]));
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>ExternalInterfaceで送れるデータの限界＆全ブラウザ対応のブラクラができた</title><link>https://maaash.jp/2008/10/externalinterface%E3%81%A7%E9%80%81%E3%82%8C%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E9%99%90%E7%95%8C%EF%BC%86%E5%85%A8%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E5%AF%BE%E5%BF%9C%E3%81%AE%E3%83%96/</link><pubDate>Sun, 26 Oct 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/10/externalinterface%E3%81%A7%E9%80%81%E3%82%8C%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E9%99%90%E7%95%8C%EF%BC%86%E5%85%A8%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E5%AF%BE%E5%BF%9C%E3%81%AE%E3%83%96/</guid><description>&lt;p&gt;最初はブラクラなんてつくる気無かったんですが。&lt;/p&gt;
&lt;p&gt;今度ExternalInterfaceを使って最大kBオーダーのテキストをjavascript→Flashに渡すようなアプリをつくるかもしれなくて、&lt;br&gt;
ExternalInterface.addCallbackの限界を試したかったんです。&lt;/p&gt;
&lt;p&gt;その結果は、IE7、FF2ともに 33,554,432[Byte]まではokだった。&lt;br&gt;
その２倍はNG。IE7,FF2ともにメモリが不足しています、っていってjsがエラーる。&lt;/p&gt;
&lt;p&gt;へー。&lt;/p&gt;
&lt;p&gt;そしたらExternalInterface.callでFlash→javascriptにどんだけ渡せるのか試したくなる。&lt;/p&gt;
&lt;p&gt;16,777,216[Byte]まではok。その２倍はIE7,FF2ともにNG。Flash側でメモリが足りなくなるようで、&lt;br&gt;
IE7,FF2ともに終了。&lt;/p&gt;
&lt;p&gt;へーへー。&lt;/p&gt;
&lt;p&gt;Opera9.*,Safari3(Windows)も死亡&lt;br&gt;
macは試してない&lt;/p&gt;
&lt;p&gt;しかし、意外とたくさん送れるもんだなぁ。&lt;/p&gt;
&lt;p&gt;検証コードはこんな&lt;/p&gt;
&lt;p&gt;actionscript3&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;package&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;import&lt;/span&gt; &lt;span style="color:#e06c75"&gt;flash&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;display&lt;/span&gt;.&lt;span style="color:#e5c07b"&gt;Sprite&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;import&lt;/span&gt; &lt;span style="color:#e06c75"&gt;flash&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;system&lt;/span&gt;.&lt;span style="color:#e5c07b"&gt;Security&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;import&lt;/span&gt; &lt;span style="color:#e06c75"&gt;flash&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;external&lt;/span&gt;.&lt;span style="color:#e5c07b"&gt;ExternalInterface&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;import&lt;/span&gt; &lt;span style="color:#e06c75"&gt;flash&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;utils&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;setTimeout&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#c678dd"&gt;class&lt;/span&gt; &lt;span style="color:#e06c75"&gt;RPCClient&lt;/span&gt; &lt;span style="color:#c678dd"&gt;extends&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;Sprite&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;private&lt;/span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;debug&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;Boolean&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;true&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;Security&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;allowDomain&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;*&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt; &lt;span style="color:#e06c75"&gt;RPCClient&lt;/span&gt;(){
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;ExternalInterface&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addCallback&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;xi_send&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#e06c75"&gt;xi_send&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;message&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;String&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;a&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;setTimeout&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;void&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;message&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;message&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#e06c75"&gt;message&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;ExternalInterface&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;call&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;show_length_of(&amp;#39;&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;+&lt;/span&gt;&lt;span style="color:#e06c75"&gt;message&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;+&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&amp;#39;)&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;setTimeout&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;arguments&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;callee&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#d19a66"&gt;50&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#d19a66"&gt;50&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;private&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt; &lt;span style="color:#e06c75"&gt;xi_send&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;st&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;String&lt;/span&gt; ) &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;void&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;logger&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;[xi_send]len: &amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;+&lt;/span&gt;&lt;span style="color:#e06c75"&gt;st&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;length&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;private&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt; &lt;span style="color:#e06c75"&gt;logger&lt;/span&gt;(... &lt;span style="color:#e06c75"&gt;args&lt;/span&gt;)&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;void&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;(&lt;span style="color:#56b6c2"&gt;!&lt;/span&gt;&lt;span style="color:#e06c75"&gt;debug&lt;/span&gt;){ &lt;span style="color:#c678dd"&gt;return&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;log&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;apply&lt;/span&gt;(&lt;span style="color:#e5c07b"&gt;null&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt;(&lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;Array&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;[RPCClient]&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt;&lt;span style="color:#c678dd"&gt;this&lt;/span&gt;)).&lt;span style="color:#e06c75"&gt;concat&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;args&lt;/span&gt;)); &lt;span style="color:#7f848e"&gt;// to firebug
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//ExternalInterface.call(&amp;#34;alert(&amp;#39;&amp;#34;+args+&amp;#34;&amp;#39;)&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;javascript&lt;br&gt;
require prototype.js&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;RPC&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;clientid&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;externalRPCClient&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;client&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;init&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;so&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;SWFObject&lt;/span&gt;( &lt;span style="color:#98c379"&gt;&amp;#39;/swf/RPCClient.swf&amp;#39;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;clientid&lt;/span&gt;, &lt;span style="color:#d19a66"&gt;1&lt;/span&gt;, &lt;span style="color:#d19a66"&gt;1&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;9&amp;#34;&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;#FFFFFF&amp;#34;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;so&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addParam&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;allowScriptAccess&amp;#34;&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;always&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;so&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addParam&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;align&amp;#34;&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;middle&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;so&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addParam&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;wmode&amp;#34;&lt;/span&gt;,&lt;span style="color:#98c379"&gt;&amp;#34;transparent&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;so&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addVariable&lt;/span&gt;( &lt;span style="color:#98c379"&gt;&amp;#34;key&amp;#34;&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;whatever&amp;#34;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;so&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;write&lt;/span&gt;( &lt;span style="color:#98c379"&gt;&amp;#34;rpc_container&amp;#34;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;start&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;this&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;client&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;navigator&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;userAgent&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;match&lt;/span&gt;(&lt;span style="color:#98c379"&gt;/MSIE/&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;?&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;window&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;clientid&lt;/span&gt;] &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;document&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;clientid&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#56b6c2"&gt;!&lt;/span&gt;&lt;span style="color:#c678dd"&gt;this&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;client&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;||&lt;/span&gt; &lt;span style="color:#c678dd"&gt;typeof&lt;/span&gt;(&lt;span style="color:#c678dd"&gt;this&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;client&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;xi_send&lt;/span&gt;)&lt;span style="color:#56b6c2"&gt;!=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;function&amp;#34;&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;console&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;log&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;[start]not ready&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;sending_message&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;a&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; (&lt;span style="color:#c678dd"&gt;function&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;sending_message&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;sending_message&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#e06c75"&gt;sending_message&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;this&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;client&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;xi_send&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;sending_message&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;setTimeout&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;arguments&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;callee&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;bind&lt;/span&gt;(&lt;span style="color:#c678dd"&gt;this&lt;/span&gt;), &lt;span style="color:#d19a66"&gt;50&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }.&lt;span style="color:#e06c75"&gt;bind&lt;/span&gt;(&lt;span style="color:#c678dd"&gt;this&lt;/span&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; };
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;document&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;observe&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;dom:loaded&amp;#34;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;RPC&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;init&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;bind&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;RPC&lt;/span&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;function&lt;/span&gt; &lt;span style="color:#e06c75"&gt;show_length_of&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;message&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;alert&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;[show_length_of]&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;+&lt;/span&gt;&lt;span style="color:#e06c75"&gt;message&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;length&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//console.log(&amp;#34;[show_length_of]&amp;#34;+message.length);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;デモ&lt;br&gt;
※注意。ブラウザが強制終了します&lt;/p&gt;</description></item><item><title>libjingleでportaudioを使ったmediaengineをつくった</title><link>https://maaash.jp/2008/10/libjingle%E3%81%A7portaudio%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9Fmediaengine%E3%82%92%E3%81%A4%E3%81%8F%E3%81%A3%E3%81%9F/</link><pubDate>Sat, 18 Oct 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/10/libjingle%E3%81%A7portaudio%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9Fmediaengine%E3%82%92%E3%81%A4%E3%81%8F%E3%81%A3%E3%81%9F/</guid><description>&lt;p&gt;置いておこう。&lt;/p&gt;
&lt;p&gt;portaudioが、マイクからデータが取れたとき、スピーカーに音を流せるとき、にcallbackを呼んでくれる形なので、&lt;br&gt;
・マイクから音をとってくるところ&lt;br&gt;
・スピーカーに音を流すところ&lt;br&gt;
にバッファを持っている。&lt;/p&gt;
&lt;p&gt;覚えたてのC++のSTLの明示的cast、queueを使っています。&lt;br&gt;
C++おもろいなー&lt;/p&gt;
&lt;p&gt;libjingleが確保してくれたP2Pセッションに音声データを流すときに、&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;network_interface_&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;SendPacket&lt;/span&gt;(&lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;void&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;size_t&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ってのを呼ぶんだけど、&lt;br&gt;
queue&lt;float&gt;をconst void*に変換するとこが気持ち悪い。こんなもんなのかなぁ&lt;/p&gt;
&lt;p&gt;音声は生のwavを送っているので、遅延は&lt;br&gt;
DirectAudioを使ってたらそこで50msくらい（らしい？）&lt;br&gt;
＋バッファ分の遅延、&lt;br&gt;
＋portaudioの遅延&lt;br&gt;
＋通信の遅延&lt;br&gt;
くらいなのかな。なんか体感かなり遅延してるのは後で調べる。&lt;/p&gt;
&lt;p&gt;portaudiomediaengine.cc&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;#34;talk/third_party/mediastreamer/mediastream.h&amp;#34;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;fcntl .h&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;#34;talk/base/logging.h&amp;#34;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;#34;talk/base/thread.h&amp;#34;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;#34;talk/session/phone/codec.h&amp;#34;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;#34;talk/session/phone/portaudiomediaengine.h&amp;#34;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;sstream&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;iomanip&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;string&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;queue&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;#34;portaudio.h&amp;#34;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;time .h&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;using&lt;/span&gt; &lt;span style="color:#c678dd"&gt;namespace&lt;/span&gt; &lt;span style="color:#e06c75"&gt;cricket&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;static&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;playbackCallback&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;inputBuffer&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;outputBuffer&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;unsigned&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;long&lt;/span&gt; &lt;span style="color:#e06c75"&gt;framesPerBuffer&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PaStreamCallbackTimeInfo&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;timeInfo&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;PaStreamCallbackFlags&lt;/span&gt; &lt;span style="color:#e06c75"&gt;statusFlags&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;userData&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;channel&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;static_cast&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;portaudiomediachannel&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&amp;gt;&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;userData&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;inputBuffer&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;!=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;channel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;saveFromMicrophone&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;static_cast&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;float&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&amp;gt;&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;inputBuffer&lt;/span&gt;), &lt;span style="color:#e06c75"&gt;framesPerBuffer&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;channel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;pushToSpeaker&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;static_cast&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;float&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&amp;gt;&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;outputBuffer&lt;/span&gt;), &lt;span style="color:#e06c75"&gt;framesPerBuffer&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;channel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;SignalReadFromMicEvent&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;channel&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paContinue&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;PortAudioMediaEngine&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;eng&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;pt_&lt;/span&gt;(&lt;span style="color:#56b6c2"&gt;-&lt;/span&gt;&lt;span style="color:#d19a66"&gt;1&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;audio_stream_&lt;/span&gt;(&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;engine_&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;eng&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;PaStreamParameters&lt;/span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_GetDefaultInputDevice&lt;/span&gt;(); &lt;span style="color:#7f848e"&gt;/* default input device */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoDevice&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;,&lt;span style="color:#98c379"&gt;&amp;#34;Error: No default input device.&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//goto done;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;channelCount&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;2&lt;/span&gt;; &lt;span style="color:#7f848e"&gt;/* stereo input */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;sampleFormat&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PA_SAMPLE_TYPE&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;suggestedLatency&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_GetDeviceInfo&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; )&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;defaultLowInputLatency&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;hostApiSpecificStreamInfo&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;PaStreamParameters&lt;/span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_GetDefaultOutputDevice&lt;/span&gt;(); &lt;span style="color:#7f848e"&gt;/* default output device */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoDevice&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;,&lt;span style="color:#98c379"&gt;&amp;#34;Error: No default output device.&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//goto done;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;channelCount&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;2&lt;/span&gt;; &lt;span style="color:#7f848e"&gt;/* stereo output */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;sampleFormat&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PA_SAMPLE_TYPE&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;suggestedLatency&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_GetDeviceInfo&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; )&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;defaultLowOutputLatency&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;hostApiSpecificStreamInfo&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;SignalReadFromMicEvent&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;connect&lt;/span&gt;(&lt;span style="color:#c678dd"&gt;this&lt;/span&gt;, &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;OnReadFromMic&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// Initialize PortAudio
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_OpenStream&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;stream_&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;SAMPLE_RATE&lt;/span&gt;, &lt;span style="color:#7f848e"&gt;// 44100
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;paFramesPerBufferUnspecified&lt;/span&gt;, &lt;span style="color:#7f848e"&gt;// FRAMES_PER_BUFFER
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;paClipOff&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;playbackCallback&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;this&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoError&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;Error creating a PortAudio stream: %s&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;Pa_GetErrorText&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;err&lt;/span&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::~&lt;/span&gt;&lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;stream_&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;Pa_CloseStream&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stream_&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;SetCodecs&lt;/span&gt;(&lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;vector&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;codec&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;codecs&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;bool&lt;/span&gt; &lt;span style="color:#e06c75"&gt;first&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;true&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;vector&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#e06c75"&gt;codec&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;codec&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;const_iterator&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;i&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;codecs&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;begin&lt;/span&gt;(); &lt;span style="color:#e06c75"&gt;i&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;codecs&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;end&lt;/span&gt;(); &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#56b6c2"&gt;!&lt;/span&gt;&lt;span style="color:#e06c75"&gt;engine_&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;FindCodec&lt;/span&gt;(&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;i&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;continue&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;first&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;LOG&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;LS_INFO&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;Using &amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;name&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;/&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;clockrate&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;pt_&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;id&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;first&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;first&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// We&amp;#39;re being asked to set an empty list of codecs. This will only happen when
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// working with a buggy client; let&amp;#39;s try PCMU.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;LOG&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;LS_WARNING&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;Received empty list of codces; using PCMU/8000&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;// マイクから新しいデータがとれたら、リモートに送る
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;OnReadFromMic&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;channel&lt;/span&gt; )
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//char *buf[max_size];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;size&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PORTAUDIO_PACKET_LENGTH&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;float&lt;/span&gt; &lt;span style="color:#e06c75"&gt;buff&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;PORTAUDIO_PACKET_LENGTH&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;/&lt;/span&gt;&lt;span style="color:#d19a66"&gt;4&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;len&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;talk_base&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;CritScope&lt;/span&gt; &lt;span style="color:#e06c75"&gt;cs&lt;/span&gt;(&lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;crit_microphone&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;size&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;/&lt;/span&gt;&lt;span style="color:#c678dd"&gt;sizeof&lt;/span&gt;(&lt;span style="color:#e5c07b"&gt;float&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!&lt;/span&gt;&lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;empty&lt;/span&gt;(); &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;buff&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;i&lt;/span&gt;] &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;front&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;pop&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;network_interface_&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!&lt;/span&gt;&lt;span style="color:#e06c75"&gt;mute_&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;buf&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;static_cast&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;void&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&amp;gt;&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;buff&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;network_interface_&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;SendPacket&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;buff&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;i&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#c678dd"&gt;sizeof&lt;/span&gt;(&lt;span style="color:#e5c07b"&gt;float&lt;/span&gt;) );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;char&lt;/span&gt; &lt;span style="color:#e06c75"&gt;dateStr&lt;/span&gt; [&lt;span style="color:#d19a66"&gt;9&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;_strtime&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;dateStr&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;cout&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;[&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;dateStr&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;][OnReadFromMic]qu_microphone.size(): &amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;size&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;endl&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;// 届いたパケットをスピーカーのバッファに送る
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;OnPacketReceived&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;data&lt;/span&gt;, &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;len&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;float&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;reader&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;static_cast&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;float&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&amp;gt;&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;data&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;talk_base&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;CritScope&lt;/span&gt; &lt;span style="color:#e06c75"&gt;cs&lt;/span&gt;(&lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;crit_speaker&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;LOG&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;INFO&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;[PMC]OnPacketReceived data: &amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;setprecision&lt;/span&gt;(&lt;span style="color:#d19a66"&gt;3&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;reader&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;] &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34; len: &amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;len&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;qu_speaker.size(): &amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;size&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt; ( &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;len&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;/&lt;/span&gt;&lt;span style="color:#d19a66"&gt;4&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;push&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;reader&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;reader&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;SetPlayout&lt;/span&gt;(&lt;span style="color:#e5c07b"&gt;bool&lt;/span&gt; &lt;span style="color:#e06c75"&gt;playout&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#56b6c2"&gt;!&lt;/span&gt;&lt;span style="color:#e06c75"&gt;stream_&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;play_&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!&lt;/span&gt;&lt;span style="color:#e06c75"&gt;playout&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;Pa_IsStreamActive&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stream_&lt;/span&gt;) ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_StopStream&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stream_&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoError&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;Error stopping PortAudio stream: %s&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;Pa_GetErrorText&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;err&lt;/span&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;LOG&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;LS_INFO&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;Error stopping PortAudio stream: %s&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;Pa_GetErrorText&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;err&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;play_&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;else&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;if&lt;/span&gt; (&lt;span style="color:#56b6c2"&gt;!&lt;/span&gt;&lt;span style="color:#e06c75"&gt;play_&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;playout&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#56b6c2"&gt;!&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Pa_IsStreamActive&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stream_&lt;/span&gt;) ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_StartStream&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stream_&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoError&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;Error starting PortAudio stream: %s&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;Pa_GetErrorText&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;err&lt;/span&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;LOG&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;LS_INFO&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;Error starting PortAudio stream: %s&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;Pa_GetErrorText&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;err&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;play_&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;true&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;SetSend&lt;/span&gt;(&lt;span style="color:#e5c07b"&gt;bool&lt;/span&gt; &lt;span style="color:#e06c75"&gt;send&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;mute_&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!&lt;/span&gt;&lt;span style="color:#e06c75"&gt;send&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;GetOutputLevel&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#d19a66"&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;// bufにlen分だけ書き込む =&amp;gt; 音が出る
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;// リモートから届いたのを書き込む
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;pushToSpeaker&lt;/span&gt;( &lt;span style="color:#e5c07b"&gt;float&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;buf&lt;/span&gt;, &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;len&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;talk_base&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;CritScope&lt;/span&gt; &lt;span style="color:#e06c75"&gt;cs&lt;/span&gt;(&lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;crit_speaker&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// 遅延が大きかったら古いの消す
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;while&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;size&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;MAX_SPEAKER_QUEUE_SIZE&lt;/span&gt;) ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;pop&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;len&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;size&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;buf&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;front&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;pop&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;NUM_CHANNELS&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#d19a66"&gt;2&lt;/span&gt; ){
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;buf&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;front&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;pop&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;bool&lt;/span&gt; &lt;span style="color:#e06c75"&gt;is_empty&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#e06c75"&gt;i&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;len&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;is_empty&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;true&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;buf&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;SAMPLE_SILENCE&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;NUM_CHANNELS&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#d19a66"&gt;2&lt;/span&gt; ){
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;buf&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;SAMPLE_SILENCE&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;char&lt;/span&gt; &lt;span style="color:#e06c75"&gt;dateStr&lt;/span&gt; [&lt;span style="color:#d19a66"&gt;9&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;_strtime&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;dateStr&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;is_empty&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;cout&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;[&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;dateStr&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;][pushToSpeaker]empty!!&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;endl&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;cout&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;[&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;dateStr&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;][pushToSpeaker]qu_speaker.size(): &amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;size&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;endl&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;// マイクから来たのをためとく
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PortAudioMediaChannel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;saveFromMicrophone&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;float&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;buf&lt;/span&gt;, &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;len&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;talk_base&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;CritScope&lt;/span&gt; &lt;span style="color:#e06c75"&gt;cs&lt;/span&gt;(&lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;crit_microphone&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt;( &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;len&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;push&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;buf&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;NUM_CHANNELS&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#d19a66"&gt;2&lt;/span&gt; ){
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;push&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;buf&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;char&lt;/span&gt; &lt;span style="color:#e06c75"&gt;dateStr&lt;/span&gt; [&lt;span style="color:#d19a66"&gt;9&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;_strtime&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;dateStr&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;cout&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;[&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;dateStr&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;][saveFromMicrophone]qu_microphone.size(): &amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;size&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;endl&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;portaudiomediaengine.h&lt;/p&gt;</description></item><item><title>speex+portaudioを使ったechoアプリを書いてみた</title><link>https://maaash.jp/2008/10/speexportaudio%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9Fecho%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%BF%E3%81%9F/</link><pubDate>Sat, 18 Oct 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/10/speexportaudio%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9Fecho%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%BF%E3%81%9F/</guid><description>&lt;p&gt;マイク → speexエンコーダ → speexデコーダ → スピーカー&lt;br&gt;
だけの。&lt;br&gt;
speexエンコーダ、speexデコーダ無しだと問題ないところ、ありにすると、&lt;br&gt;
なんか高音のノイズが入るのはなぜ？&lt;/p&gt;
&lt;p&gt;speex-devのMLに質問中。。。&lt;/p&gt;
&lt;p&gt;コードはこんな&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;#34;stdafx.h&amp;#34;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;queue&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;portaudio .h&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt; #include &amp;lt;speex /speex.h&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;/speex&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt;&amp;lt;speex /speex_callbacks.h&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#define USE_SPEEX
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#define SAMPLE_RATE (44100)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#define FRAMES_PER_BUFFER (256)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#define NUM_SECONDS (10)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;//#define NUM_CHANNELS (2)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#define NUM_CHANNELS (1) &lt;/span&gt;&lt;span style="color:#7f848e"&gt;// try mono first
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;/* #define DITHER_FLAG (paDitherOff) */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#define DITHER_FLAG (0) &lt;/span&gt;&lt;span style="color:#7f848e"&gt;/**/&lt;/span&gt;&lt;span style="color:#7f848e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;/* Select sample format. */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#define PA_SAMPLE_TYPE paFloat32
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;typedef&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;float&lt;/span&gt; &lt;span style="color:#e06c75"&gt;SAMPLE&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#define SAMPLE_SILENCE (0.0f)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#define PRINTF_S_FORMAT &amp;#34;%.8f&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;typedef&lt;/span&gt; &lt;span style="color:#c678dd"&gt;struct&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;frameIndex&lt;/span&gt;; &lt;span style="color:#7f848e"&gt;/* Index into sample array. */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;maxFrameIndex&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;queue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;sample&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;queue&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;char&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speex&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;queue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;sample&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#e06c75"&gt;paTestData&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;// speex globals
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;SpeexBits&lt;/span&gt; &lt;span style="color:#e06c75"&gt;encoder_bits&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;SpeexBits&lt;/span&gt; &lt;span style="color:#e06c75"&gt;decoder_bits&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;encoder_state&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;decoder_state&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;unsigned&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;speex_frame_size&lt;/span&gt;; &lt;span style="color:#7f848e"&gt;// 320 or 640 or ..
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;unsigned&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;speex_packet_size&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;74&lt;/span&gt;; &lt;span style="color:#7f848e"&gt;// 74 or something
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;/* This routine will be called by the PortAudio engine when audio is needed.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;** It may be called at interrupt level on some machines so don&amp;#39;t do anything
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;** that could mess up the system like calling malloc() or free().
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;static&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;echo&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;inputBuffer&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;outputBuffer&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;unsigned&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;long&lt;/span&gt; &lt;span style="color:#e06c75"&gt;framesPerBuffer&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PaStreamCallbackTimeInfo&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;timeInfo&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;PaStreamCallbackFlags&lt;/span&gt; &lt;span style="color:#e06c75"&gt;statusFlags&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;void&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;userData&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;paTestData&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;data&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;paTestData&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;)&lt;span style="color:#e06c75"&gt;userData&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e06c75"&gt;SAMPLE&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;rptr&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; (&lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e06c75"&gt;SAMPLE&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;)&lt;span style="color:#e06c75"&gt;inputBuffer&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;SAMPLE&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;wptr&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;SAMPLE&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;)&lt;span style="color:#e06c75"&gt;outputBuffer&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#ifdef USE_SPEEX
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;queue&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#e06c75"&gt;sample&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;sample&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&amp;amp;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;queue&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;char&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&amp;amp;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speex&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;qu_speex&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;queue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;sample&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&amp;amp;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#else
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;queue&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#e06c75"&gt;sample&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;sample&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&amp;amp;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//std::queue&amp;lt;char&amp;gt;&amp;amp; qu_speex = data-&amp;gt;qu_speex;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;queue&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;sample&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;gt;&amp;amp;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;; &lt;span style="color:#7f848e"&gt;// point at the same queue, to feed the speaker what we got from the microphone
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#endif
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;long&lt;/span&gt; &lt;span style="color:#e06c75"&gt;framesToCalc&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;long&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;finished&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;unsigned&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;long&lt;/span&gt; &lt;span style="color:#e06c75"&gt;framesLeft&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;maxFrameIndex&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;-&lt;/span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;frameIndex&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;framesLeft&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;framesPerBuffer&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;framesToCalc&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;framesLeft&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;finished&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paComplete&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;framesToCalc&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;framesPerBuffer&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;finished&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paContinue&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// process input from mic
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;rptr&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;framesToCalc&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;push&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;rptr&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;NUM_CHANNELS&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#d19a66"&gt;2&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;push&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;rptr&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#ifdef USE_SPEEX
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// speex encoder
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;while&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;size&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;speex_frame_size&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;float&lt;/span&gt; &lt;span style="color:#e06c75"&gt;input&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;1000&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;char&lt;/span&gt; &lt;span style="color:#e06c75"&gt;encoded&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;1000&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt; ( &lt;span style="color:#e5c07b"&gt;unsigned&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;speex_frame_size&lt;/span&gt; ; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;input&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;i&lt;/span&gt;] &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;front&lt;/span&gt;(); &lt;span style="color:#e06c75"&gt;qu_microphone&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;pop&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_bits_reset&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;encoder_bits&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_encode&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;encoder_state&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;input&lt;/span&gt;, &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;encoder_bits&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_packet_size&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;speex_bits_write&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;encoder_bits&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;encoded&lt;/span&gt;, &lt;span style="color:#d19a66"&gt;1000&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt; ( &lt;span style="color:#e5c07b"&gt;unsigned&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;speex_packet_size&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;qu_speex&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;push&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;encoded&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;i&lt;/span&gt;] );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// speex decoder
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;while&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;qu_speex&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;size&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;&amp;gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;speex_packet_size&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;float&lt;/span&gt; &lt;span style="color:#e06c75"&gt;output&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;1000&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;char&lt;/span&gt; &lt;span style="color:#e06c75"&gt;encoded&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;1000&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;nbBytes&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;speex_packet_size&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt; ( &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;nbbytes&lt;/span&gt; ; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;encoded&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;i&lt;/span&gt;] &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speex&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;front&lt;/span&gt;(); &lt;span style="color:#e06c75"&gt;qu_speex&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;pop&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_bits_read_from&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;decoder_bits&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;encoded&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;nbBytes&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_decode&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;decoder_state&lt;/span&gt;, &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;decoder_bits&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;output&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt; ( &lt;span style="color:#e5c07b"&gt;unsigned&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;speex_frame_size&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;push&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;output&lt;/span&gt;[&lt;span style="color:#e06c75"&gt;i&lt;/span&gt;] );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#endif
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// pop to speaker
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;for&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;framesToCalc&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;size&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;wptr&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;front&lt;/span&gt;(); &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;pop&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;wptr&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;SAMPLE_SILENCE&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;NUM_CHANNELS&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#d19a66"&gt;2&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;size&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;wptr&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;front&lt;/span&gt;(); &lt;span style="color:#e06c75"&gt;qu_speaker&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;pop&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;wptr&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;++&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;SAMPLE_SILENCE&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;frameIndex&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;framesToCalc&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;finished&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;/*******************************************************************/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;main&lt;/span&gt;(&lt;span style="color:#e5c07b"&gt;void&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;PaStreamParameters&lt;/span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;PaStream&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;stream&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;PaError&lt;/span&gt; &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoError&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;totalFrames&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;std&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;cout&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;patest_record.c&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;paTestData&lt;/span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;maxFrameIndex&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;totalFrames&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;NUM_SECONDS&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;SAMPLE_RATE&lt;/span&gt;; &lt;span style="color:#7f848e"&gt;/* Record for a few seconds. */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;frameIndex&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;numSamples&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;totalFrames&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#e06c75"&gt;NUM_CHANNELS&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;numBytes&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;numSamples&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt; &lt;span style="color:#c678dd"&gt;sizeof&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;SAMPLE&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;tmp&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// encoder
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;encoder_state&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;speex_encoder_init&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;speex_lib_get_mode&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;SPEEX_MODEID_UWB&lt;/span&gt;) );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;tmp&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_encoder_ctl&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;encoder_state&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;SPEEX_SET_VBR&lt;/span&gt;, &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;tmp&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;tmp&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;8&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_encoder_ctl&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;encoder_state&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;SPEEX_SET_QUALITY&lt;/span&gt;, &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;tmp&lt;/span&gt;); &lt;span style="color:#7f848e"&gt;// 8: 27,800[bps]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;tmp&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;3&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_encoder_ctl&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;encoder_state&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;SPEEX_SET_COMPLEXITY&lt;/span&gt;, &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;tmp&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// 320[samples] = 20ms? according to http://www.speex.org/docs/manual/speex-manual/node7.html
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_encoder_ctl&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;encoder_state&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;SPEEX_GET_FRAME_SIZE&lt;/span&gt;, &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;speex_frame_size&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_bits_init&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;encoder_bits&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// decoder
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;decoder_state&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;speex_decoder_init&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;speex_lib_get_mode&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;SPEEX_MODEID_UWB&lt;/span&gt;) );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;SpeexCallback&lt;/span&gt; &lt;span style="color:#e06c75"&gt;callback&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;callback&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;callback_id&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;SPEEX_INBAND_CHAR&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;callback&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;func&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;speex_std_char_handler&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;callback&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;data&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_decoder_ctl&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;decoder_state&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;SPEEX_SET_HANDLER&lt;/span&gt;, &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;callback&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;tmp&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#d19a66"&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_decoder_ctl&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;decoder_state&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;SPEEX_SET_ENH&lt;/span&gt;, &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;tmp&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_bits_init&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;decoder_bits&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_Initialize&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoError&lt;/span&gt; ) &lt;span style="color:#c678dd"&gt;goto&lt;/span&gt; &lt;span style="color:#e06c75"&gt;done&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_GetDefaultInputDevice&lt;/span&gt;(); &lt;span style="color:#7f848e"&gt;/* default input device */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoDevice&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;,&lt;span style="color:#98c379"&gt;&amp;#34;Error: No default input device.&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;goto&lt;/span&gt; &lt;span style="color:#e06c75"&gt;done&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;channelCount&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;NUM_CHANNELS&lt;/span&gt;; &lt;span style="color:#7f848e"&gt;/* stereo input */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;sampleFormat&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PA_SAMPLE_TYPE&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;suggestedLatency&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_GetDeviceInfo&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; )&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;defaultLowInputLatency&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;hostApiSpecificStreamInfo&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_GetDefaultOutputDevice&lt;/span&gt;(); &lt;span style="color:#7f848e"&gt;/* default output device */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoDevice&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;,&lt;span style="color:#98c379"&gt;&amp;#34;Error: No default output device.&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;goto&lt;/span&gt; &lt;span style="color:#e06c75"&gt;done&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;channelCount&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;NUM_CHANNELS&lt;/span&gt;; &lt;span style="color:#7f848e"&gt;/* stereo output */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;sampleFormat&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PA_SAMPLE_TYPE&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;suggestedLatency&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_GetDeviceInfo&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;device&lt;/span&gt; )&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;defaultLowOutputLatency&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;hostApiSpecificStreamInfo&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;/* start echo ----------------------------- */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_OpenStream&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;stream&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;inputParameters&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;outputParameters&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;SAMPLE_RATE&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;FRAMES_PER_BUFFER&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;paClipOff&lt;/span&gt;, &lt;span style="color:#7f848e"&gt;/* we won&amp;#39;t output out of range samples so don&amp;#39;t bother clipping them */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;echo&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;data&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoError&lt;/span&gt; ) &lt;span style="color:#c678dd"&gt;goto&lt;/span&gt; &lt;span style="color:#e06c75"&gt;done&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_StartStream&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;stream&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoError&lt;/span&gt; ) &lt;span style="color:#c678dd"&gt;goto&lt;/span&gt; &lt;span style="color:#e06c75"&gt;done&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;printf&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;Now recording!!&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;); &lt;span style="color:#e06c75"&gt;fflush&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stdout&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;while&lt;/span&gt;( ( &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_IsStreamActive&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;stream&lt;/span&gt; ) ) &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#d19a66"&gt;1&lt;/span&gt; )
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;Pa_Sleep&lt;/span&gt;(&lt;span style="color:#d19a66"&gt;1000&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;printf&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;index = %d&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;frameIndex&lt;/span&gt; ); &lt;span style="color:#e06c75"&gt;fflush&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stdout&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt; ) &lt;span style="color:#c678dd"&gt;goto&lt;/span&gt; &lt;span style="color:#e06c75"&gt;done&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Pa_CloseStream&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;stream&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoError&lt;/span&gt; ) &lt;span style="color:#c678dd"&gt;goto&lt;/span&gt; &lt;span style="color:#e06c75"&gt;done&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;done&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// destruct speex
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_encoder_destroy&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;encoder_state&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_bits_destroy&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;encoder_bits&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_decoder_destroy&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;decoder_state&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;speex_bits_destroy&lt;/span&gt;( &lt;span style="color:#56b6c2"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;decoder_bits&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;Pa_Terminate&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;!=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;paNoError&lt;/span&gt; )
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;An error occured while using the portaudio stream&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;Error number: %d&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#34;Error message: %s&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;Pa_GetErrorText&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; ) );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;err&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;1&lt;/span&gt;; &lt;span style="color:#7f848e"&gt;/* Always return 0 or 1, but no other return codes. */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;err&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;/nbbytes&gt;&amp;lt;/speex_frame_size&amp;gt;&lt;/sample&gt;&lt;/char&gt;&lt;/sample&gt;&lt;/char&gt;&lt;/sample&gt;&lt;/char&gt;&lt;/sample&gt;&lt;/speex&gt;&lt;/portaudio&gt;&lt;/iostream&gt;&lt;/queue&gt;&lt;/p&gt;</description></item><item><title>mysql/tritonnのinsertベンチマーク</title><link>https://maaash.jp/2008/10/mysqltritonn%E3%81%AEinsert%E3%83%99%E3%83%B3%E3%83%81%E3%83%9E%E3%83%BC%E3%82%AF/</link><pubDate>Sun, 12 Oct 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/10/mysqltritonn%E3%81%AEinsert%E3%83%99%E3%83%B3%E3%83%81%E3%83%9E%E3%83%BC%E3%82%AF/</guid><description>&lt;p&gt;&lt;a href="http://qwik.jp/tritonn/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://qwik.jp/tritonn/']);"&gt;tritonn&lt;/a&gt;使おうかな。&lt;/p&gt;
&lt;p&gt;これがいい&lt;br&gt;
&lt;a href="http://qwik.jp/tritonn/about.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://qwik.jp/tritonn/about.html']);"&gt;Tritonnを使うとMySQLはどう変わるの？&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;従いまして、MySQLにこのパッチを適用した場合、変わるのは基本的にはMyISAMのFULLTEXTインデックスの振る舞いのみで、後はこれまでと同様となっています。またこの図をご覧頂くとお分かりになるかと思いますが、MySQLへアクセスするアプリケーションから見ると、MySQLの上位層がSennaを隠蔽しているため、アプリケーション側で特にSennaを意識する必要はありません。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;MATCH/AGAINSTを使ったSELECTでちょっぱやになる代わりに、&lt;/p&gt;
&lt;p&gt;気になるのは、&lt;br&gt;
INSERT時にどれだけ遅くなるのか？&lt;br&gt;
実データに近い環境で計測してみる&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;test table&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+--------------+---------------------------+------+-----+---------------------+----------------+&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| Field | Type | Null | Key | Default | Extra |&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+--------------+---------------------------+------+-----+---------------------+----------------+&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| id | int(10) unsigned | NO | PRI | NULL | auto_increment |&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;中略&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| title | varchar(255) | NO | | | |&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| description | text | YES | | NULL | |&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;中略&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+--------------+---------------------------+------+-----+---------------------+----------------+&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;14 rows in set (0.00 sec)&amp;lt;/p&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;p&amp;gt;mysql&amp;gt; select count(*) from test;&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+----------+&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| count(*) |&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+----------+&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| 16648 |&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+----------+&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1 row in set (0.00 sec)&amp;lt;/p&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;p&amp;gt;santrini% mysqldump testdb test -u root -p &amp;#34;--where=id &amp;gt;=19000&amp;#34; &amp;gt; mysqldump_test_over_19000.log&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;このあとinsert文だけにしておく&amp;lt;/p&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;p&amp;gt;mysql&amp;gt; delete from test where id&amp;gt;=19000;&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Query OK, 887 rows affected (0.90 sec)&amp;lt;/p&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;p&amp;gt;santrini% /usr/sbin/mysqld --version&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/usr/sbin/mysqld Ver 5.0.51a-9+lenny2-log for debian-linux-gnu on x86_64 ((Debian))&amp;lt;/p&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;p&amp;gt;santrini% cat bench.sh&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mysql testdb -u root --password=*********** &amp;lt; mysqldump_test_over_19000.log&amp;lt;/p&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;p&amp;gt;santrini% /usr/bin/time ./bench.sh&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;0.02user 0.01system 0:00.19elapsed 16%CPU (0avgtext+0avgdata 0maxresident)k&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;time/insert = 0.19[s] / 887[rows] = 0.000214[s]&lt;/p&gt;</description></item><item><title>Firebugのconsole.logが動かないなぁ</title><link>https://maaash.jp/2008/10/firebug%E3%81%AEconsolelog%E3%81%8C%E5%8B%95%E3%81%8B%E3%81%AA%E3%81%84%E3%81%AA%E3%81%81/</link><pubDate>Thu, 09 Oct 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/10/firebug%E3%81%AEconsolelog%E3%81%8C%E5%8B%95%E3%81%8B%E3%81%AA%E3%81%84%E3%81%AA%E3%81%81/</guid><description>&lt;p&gt;as3から&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;ExternalInterface&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;call&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;console.log&amp;#39;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#e06c75"&gt;obj&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;って呼んでるのがたまにスルーされるなーと困ってた@Firebug1.2&lt;/p&gt;
&lt;p&gt;&lt;a href="http://getfirebug.com/releases/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://getfirebug.com/releases/']);"&gt;&lt;a href="http://getfirebug.com/releases/" class="external-link" target="_blank" rel="noopener"&gt;http://getfirebug.com/releases/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://getfirebug.com/releases/firebug/1.3/firebug-1.3.0a4.xpi" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://getfirebug.com/releases/firebug/1.3/firebug-1.3.0a4.xpi']);"&gt;&lt;a href="http://getfirebug.com/releases/firebug/1.3/firebug-1.3.0a4.xpi" class="external-link" target="_blank" rel="noopener"&gt;http://getfirebug.com/releases/firebug/1.3/firebug-1.3.0a4.xpi&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
1.3.0a4でok&lt;/p&gt;</description></item><item><title>libjingleのNAT越えの様子</title><link>https://maaash.jp/2008/10/libjingle%E3%81%AEnat%E8%B6%8A%E3%81%88%E3%81%AE%E6%A7%98%E5%AD%90/</link><pubDate>Sun, 05 Oct 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/10/libjingle%E3%81%AEnat%E8%B6%8A%E3%81%88%E3%81%AE%E6%A7%98%E5%AD%90/</guid><description>&lt;p&gt;またlibjingleいじり。&lt;br&gt;
callサンプルはGIPS Media Engineが手に入らないし多分ただで商用アプリに使えなさそうだし、LinphoneもVisualC++環境ではコンパイルできないので、さくっとは動かない！&lt;/p&gt;
&lt;p&gt;pcp（ファイル転送）サンプルの動きを見る。&lt;/p&gt;
&lt;p&gt;コマンドラインオプションで -d をつけてpcpサンプルを動かすと、UDPホールパンチングの様子がログに流れる。&lt;br&gt;
libjingleはLOG4Jっぽくログレベルを設定したりできていい感じ。&lt;/p&gt;
&lt;p&gt;少しログ出力をカスタマイズしながら眺める。&lt;br&gt;
基本的には、流れはこんな感じ。&lt;br&gt;
自分のマシンの全てのローカルIP＋STUNサーバから取得したグローバルIPと、&lt;br&gt;
相手の同じ情報、の全ての組み合わせを、優先度つけながら試していく。&lt;br&gt;
ローカルIP &amp;gt; STUNで得られたグローバルIP ( &amp;gt; リレーサーバのIP )&lt;br&gt;
これがICEって仕組みかな？&lt;br&gt;
&lt;a href="http://ietfreport.isoc.org/all-ids/draft-ietf-mmusic-ice-19.txt" class="external-link" target="_blank" rel="noopener"&gt; Interactive Connectivity Establishment (ICE): A Protocol for Network&lt;br&gt;
Address Translator (NAT) Traversal for Offer/Answer Protocols&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:114.emobile:1116-&amp;gt;private-1:local:192.168.174.1:2584|C-w|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:114.emobile:1116-&amp;gt;private-1:local:5.rem_hamachi:2586|C-w|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:5.loc_hamachi:1119-&amp;gt;private-1:local:192.168.0.2:2580|C-w|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Error(port.cc:310): [J]Port[private-1:stun:Net[0:114.emobile]]: Received STUN response with bad username2 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:5.loc_hamachi:1119-&amp;gt;private-1:local:192.168.88.1:2582|C-w|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:5.loc_hamachi:1119-&amp;gt;private-1:local:192.168.174.1:2584|C-w|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:5.loc_hamachi:1119-&amp;gt;private-1:local:5.rem_loc_hamachi:2586|C-w|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:114.emobile:1116-&amp;gt;private-1:stun:61.stun_global:2581|C-w|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:5.loc_hamachi:1119-&amp;gt;private-1:stun:61.stun_global:2581|C-w|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:stun:114.emobile:1118-&amp;gt;private-1:local:192.168.0.2:2580|C-w|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:stun:114.emobile:1118-&amp;gt;private-1:local:61.stun_global:2580|CRw|udp]: [r]CRw 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:5.loc_hamachi:1119-&amp;gt;private-1:local:61.stun_global:2580|CRw|udp]: [r]CRw 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:114.emobile:1116-&amp;gt;private-1:local:61.stun_global:2580|CRw|udp]: [r]CRw 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Port[private-1:local:Net[0:114.emobile]]: got request, send response 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:5.loc_hamachi:1119-&amp;gt;private-1:local:61.stun_global:2580|CRw|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:114.emobile:1116-&amp;gt;private-1:local:61.stun_global:2580|CRw|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:stun:114.emobile:1118-&amp;gt;private-1:local:192.168.88.1:2582|C-w|udp]: sendstun 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:114.emobile:1116-&amp;gt;private-1:local:61.stun_global:2580|CRw|udp]: got valid STUN response 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[J]Conn[0:private-1:local:114.emobile:1116-&amp;gt;private-1:local:61.stun_global:2580|CRW|udp]: [w]CRW
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;IPの下３桁はemobileとかstun_globalとかに置換してあります。&lt;br&gt;
hamachiもいたりして、失敗してる。&lt;/p&gt;</description></item><item><title>クロスプラットフォームな音声IO portaudioを試す</title><link>https://maaash.jp/2008/10/%E3%82%AF%E3%83%AD%E3%82%B9%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AA%E9%9F%B3%E5%A3%B0io-portaudio%E3%82%92%E8%A9%A6%E3%81%99/</link><pubDate>Sun, 05 Oct 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/10/%E3%82%AF%E3%83%AD%E3%82%B9%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AA%E9%9F%B3%E5%A3%B0io-portaudio%E3%82%92%E8%A9%A6%E3%81%99/</guid><description>&lt;p&gt;週末にもりもり更新されるブログです。&lt;br&gt;
クロスプラットフォームとかほんとめんどくさいけどやってみるよ。&lt;/p&gt;
&lt;p&gt;音声のとこもマイクからの入力とか再生とかプラットフォーム依存だよなーと思ってたら&lt;a href="http://www.portaudio.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.portaudio.com/']);"&gt;portaudio&lt;/a&gt;がよいかも。&lt;br&gt;
&lt;a href="http://www.portaudio.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.portaudio.com/']);"&gt;PortAudio – portable cross-platform Audio API &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;自分と同じように&lt;a href="http://code.google.com/apis/talk/libjingle/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com/apis/talk/libjingle/index.html']);"&gt;libjingle&lt;/a&gt;使ってみてる人がいて&lt;br&gt;
&lt;a href="http://el-tramo.be/blog/jingle-osx" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://el-tramo.be/blog/jingle-osx']);"&gt;Libjingle for Mac OS X&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Support for OS X was written several months ago, by defining a new sound card type in mediastreamer (a third-party framework included in libjingle), making use of the cross-platform PortAudio API to do interaction with the audio hardware. We never tested it, so we assumed it didn’t work. Fortunately, a quick test proved that wrong ! So now we are down to one unsupported platform: Windows. Because PortAudio is cross-platform, it should in theory work on other platforms as well, including Windows.&lt;/p&gt;</description></item><item><title>gist embed お試し</title><link>https://maaash.jp/2008/10/gist-embed-%E3%81%8A%E8%A9%A6%E3%81%97/</link><pubDate>Fri, 03 Oct 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/10/gist-embed-%E3%81%8A%E8%A9%A6%E3%81%97/</guid><description>&lt;p&gt;最新から拾ってきただけ&lt;/p&gt;
&lt;script src="https://gist.github.com/14524.js"&gt;&lt;/script&gt;</description></item><item><title>tabmixplusをFF3.0.1,2,3に</title><link>https://maaash.jp/2008/09/tabmixplus%E3%82%92ff30123%E3%81%AB/</link><pubDate>Sun, 28 Sep 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/09/tabmixplus%E3%82%92ff30123%E3%81%AB/</guid><description>&lt;p&gt;やっぱこれ必須だわ&lt;br&gt;
まだ正式対応してなくていろいろ&lt;br&gt;
&lt;a href="http://de-lab.com/article/firefox30-addon/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://de-lab.com/article/firefox30-addon/']);"&gt;&lt;a href="http://de-lab.com/article/firefox30-addon/" class="external-link" target="_blank" rel="noopener"&gt;http://de-lab.com/article/firefox30-addon/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
とか見たけどリンク先はFF3まででFF3.0.1はNGだったので&lt;br&gt;
&lt;a href="http://tmp.garyr.net/dev-builds/tab_mix_plus-0.3.7pre.080920.xpi" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://tmp.garyr.net/dev-builds/tab_mix_plus-0.3.7pre.080920.xpi']);"&gt;&lt;a href="http://tmp.garyr.net/dev-builds/tab_mix_plus-0.3.7pre.080920.xpi" class="external-link" target="_blank" rel="noopener"&gt;http://tmp.garyr.net/dev-builds/tab_mix_plus-0.3.7pre.080920.xpi&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
これならいける！&lt;/p&gt;</description></item><item><title>第3回オーバレイネットワーク研究会とGnutella調査中</title><link>https://maaash.jp/2008/09/%E7%AC%AC3%E5%9B%9E%E3%82%AA%E3%83%BC%E3%83%90%E3%83%AC%E3%82%A4%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E7%A0%94%E7%A9%B6%E4%BC%9A%E3%81%A8gnutella%E8%AA%BF%E6%9F%BB%E4%B8%AD/</link><pubDate>Sun, 28 Sep 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/09/%E7%AC%AC3%E5%9B%9E%E3%82%AA%E3%83%BC%E3%83%90%E3%83%AC%E3%82%A4%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E7%A0%94%E7%A9%B6%E4%BC%9A%E3%81%A8gnutella%E8%AA%BF%E6%9F%BB%E4%B8%AD/</guid><description>&lt;p&gt;第3回オーバレイネットワーク研究会行ってきました。&lt;br /&gt;
&lt;a href="http://wslash.com/?p=1928" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wslash.com/?p=1928']);"&gt;http://wslash.com/?p=1928&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://mixi.jp/view_event.pl?id=34638897&amp;#038;comm_id=6936" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mixi.jp/view_event.pl?id=34638897&amp;amp;comm_id=6936']);"&gt;http://mixi.jp/view_event.pl?id=34638897&amp;#038;comm_id=6936&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ISP側からの話がおもしろかったなぁ、考えたことも無かったので。&lt;br /&gt;
P2Pは一見ネットワークに優しそうだけれど&lt;br /&gt;
物理的なネットワークトポロジーによってはそうでもないよ、ってのが自分的には新しかった。&lt;/p&gt;
&lt;p&gt;Server to Client&lt;br /&gt;
A &amp;#8212;-&gt; B&lt;br /&gt;
A &amp;#8212;-&gt; C&lt;br /&gt;
A &amp;#8212;-&gt; D&lt;/p&gt;
&lt;p&gt;P2Pで例えばこうやってdeliverしようとしたら、&lt;br /&gt;
A &amp;#8212;-&gt; B&lt;br /&gt;
 B -&gt; C&lt;br /&gt;
 B -&gt; D&lt;/p&gt;
&lt;p&gt;という話で、&lt;br /&gt;
実は物理的な距離として↓こんなだったら、&lt;br /&gt;
A&amp;#8211;CD&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8211;B&lt;/p&gt;
&lt;p&gt;P2Pの場合は&lt;br /&gt;
B-&gt;C,B-&gt;Dの分、Server to Clientの方が実は全体的には効率的だよね。って話。&lt;br /&gt;
きっとかなりはしょってるんだろうけれど感覚的に理解できました。&lt;/p&gt;
&lt;p&gt;そのためのP4Pという構想。&lt;br /&gt;
プレゼン後に、クライアント同士がtracerouteうちあえばできるんじゃね？&lt;br /&gt;
というのもおもしろそうだった。&lt;/p&gt;
&lt;p&gt;あと、IPアドレスとLocation情報の組み合わせってお金で買えるんだけど、&lt;br /&gt;
っていうのもなんかうまくやり方がありそうだなぁ。&lt;/p&gt;
&lt;p&gt;帰りがけ、「GnutellaもNAT越え実装してるよ、コード参考になるかもしれないね」&lt;br /&gt;
ってお名前を失念したどなたかに教えていただいたので、&lt;br /&gt;
（NAT越えできてない先入観があったので今さらだけど）&lt;br /&gt;
Gnutellaも調べる&lt;/p&gt;
&lt;p&gt;&lt;a href=" http://en.wikipedia.org/wiki/Gnutella"&gt;&lt;/p&gt;
&lt;p&gt;http://en.wikipedia.org/wiki/Gnutella&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;詳しい&lt;/p&gt;
&lt;p&gt;peerは以下のいずれかに分類される&lt;br /&gt;
leaf node / ultra node&lt;/p&gt;</description></item><item><title>クロスプラットフォームのローカルアプリ開発はC#（mono）か</title><link>https://maaash.jp/2008/09/%E3%82%AF%E3%83%AD%E3%82%B9%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AE%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E3%81%AFc/</link><pubDate>Tue, 23 Sep 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/09/%E3%82%AF%E3%83%AD%E3%82%B9%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AE%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E3%81%AFc/</guid><description>&lt;p&gt;「mac対応しないとか今時ねーよ」みたいなことをtypesterが言うので、調べた。&lt;/p&gt;
&lt;p&gt;C#がいいかなぁ&lt;br&gt;
&lt;a href="http://www.mono-project.com/Main_Page" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.mono-project.com/Main_Page']);"&gt;What is Mono?&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;今年の3月にでたMono 1.9で&lt;br&gt;
# System.Media implemented.&lt;br&gt;
というのもGJ&lt;/p&gt;
&lt;p&gt;試す&lt;br&gt;
debian lennyならaptパッケージがある&lt;br&gt;
System.Windows.Forms使うなら&lt;br&gt;
libmono-winforms2.0-cil もお忘れなく。&lt;/p&gt;
&lt;p&gt;まずはc#でhelloworld&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;santrini&lt;/span&gt;% &lt;span style="color:#e06c75"&gt;cat&lt;/span&gt; &lt;span style="color:#e06c75"&gt;helloworld&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;cs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;using&lt;/span&gt; &lt;span style="color:#e06c75"&gt;System&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;using&lt;/span&gt; &lt;span style="color:#e06c75"&gt;System.Windows.Forms&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#c678dd"&gt;class&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;HelloWorld&lt;/span&gt; : &lt;span style="color:#e06c75"&gt;Form&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;static&lt;/span&gt; &lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#c678dd"&gt;void&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Main&lt;/span&gt; ()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;Application&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;Run&lt;/span&gt; (&lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;HelloWorld&lt;/span&gt; ());
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#e06c75"&gt;HelloWorld&lt;/span&gt; ()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;Text&lt;/span&gt; = &lt;span style="color:#98c379"&gt;&amp;#34;Hello Mono World&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;santrini&lt;/span&gt;% &lt;span style="color:#e06c75"&gt;gmcs&lt;/span&gt; &lt;span style="color:#e06c75"&gt;helloworld&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;cs&lt;/span&gt; -&lt;span style="color:#e06c75"&gt;r&lt;/span&gt;:&lt;span style="color:#e06c75"&gt;System&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;Windows&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;Forms&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;dll&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;santrini&lt;/span&gt;% &lt;span style="color:#e06c75"&gt;export&lt;/span&gt; &lt;span style="color:#e06c75"&gt;DISPLAY&lt;/span&gt;=&lt;span style="color:#e06c75"&gt;localhost&lt;/span&gt;:&lt;span style="color:#d19a66"&gt;51.0&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;mono&lt;/span&gt; &lt;span style="color:#e06c75"&gt;helloworld&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;exe&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;こんな&lt;br&gt;
&lt;img src="http://farm4.static.flickr.com/3020/2880404953_67b31c51b6.jpg?v=0" alt="mono" &gt;&lt;/p&gt;</description></item><item><title>XMPPでP2Pの音声チャットセッションを確立する方法4</title><link>https://maaash.jp/2008/09/xmpp%E3%81%A7p2p%E3%81%AE%E9%9F%B3%E5%A3%B0%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%954/</link><pubDate>Sun, 21 Sep 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/09/xmpp%E3%81%A7p2p%E3%81%AE%E9%9F%B3%E5%A3%B0%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%954/</guid><description>&lt;p&gt;&lt;a href="http://maaash.jp/p2p/xmpp%e3%81%a7p2p%e3%81%ae%e9%9f%b3%e5%a3%b0%e3%83%81%e3%83%a3%e3%83%83%e3%83%88%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3%e3%82%92%e7%a2%ba%e7%ab%8b%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%953/" class="external-link" target="_blank" rel="noopener"&gt;XMPPでP2Pの音声チャットセッションを確立する方法3&lt;/a&gt;&lt;br&gt;
の続き&lt;/p&gt;
&lt;p&gt;libjingleでcallサンプル（P2Pの音声電話）を動かしてみて、&lt;br&gt;
ログみてどういうxmpp stanza送りあってるのかなぁ、見てみる。&lt;/p&gt;
&lt;p&gt;call.exe に -d オプションをつけて動かすとデバッグ情報がログに出てくる&lt;/p&gt;
&lt;p&gt;libjingleではGIPSMediaEngineとlinphoneというのにデフォルト対応していますが&lt;br&gt;
GIPSMediaEngine手に入らないし&lt;br&gt;
linphoneはWindows上でうまくbuildできないので&lt;br&gt;
とりあえず適当なpayload-typeを指定しています。&lt;br&gt;
IPアドレスも適当にしています&lt;/p&gt;
&lt;p&gt;XMPPのJIDはこんな感じ&lt;br&gt;
caller：　o.masakazu@gmail.com/callB3B38FB3&lt;br&gt;
callee：　o.masakazu@gmail.com/call7DA716D7&lt;/p&gt;
&lt;p&gt;ところで悲しいことに、、&lt;br&gt;
&lt;a href="http://code.google.com/apis/talk/libjingle/developer_guide.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com/apis/talk/libjingle/developer_guide.html']);"&gt;libjingle Developer Guide&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;libjingle was created at about the same time as the Jingle XMPP extension (XEP-0166). The libjingle team created their own protocol to handle session negotiation, and later worked with the XMPP Standards Foundation to standardize Jingle; thus, although the libjingle protocol and Jingle are very similar, they are not the same, and are not interoperable.&lt;/p&gt;</description></item><item><title>UDPホールパンチング整理（わかったかも）</title><link>https://maaash.jp/2008/09/udp%E3%83%9B%E3%83%BC%E3%83%AB%E3%83%91%E3%83%B3%E3%83%81%E3%83%B3%E3%82%B0%E6%95%B4%E7%90%86%EF%BC%88%E3%82%8F%E3%81%8B%E3%82%93%E3%81%AA%E3%81%84%EF%BC%89/</link><pubDate>Sat, 20 Sep 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/09/udp%E3%83%9B%E3%83%BC%E3%83%AB%E3%83%91%E3%83%B3%E3%83%81%E3%83%B3%E3%82%B0%E6%95%B4%E7%90%86%EF%BC%88%E3%82%8F%E3%81%8B%E3%82%93%E3%81%AA%E3%81%84%EF%BC%89/</guid><description>&lt;p&gt;わかったのかも → コメント参照&lt;/p&gt;
&lt;p&gt;symmetric NAT以外の話、つまりFull Cone NAT,Restricted Cone NAT,Port-Restricted Cone NATなら&lt;br&gt;
UDPホールパンチングを使って外から中向けのセッションを張れるようだ。&lt;/p&gt;
&lt;p&gt;Full Cone NATとは&lt;br&gt;
NAT内からNAT外へ出る(UDP)パケットを送って、マッピングをつくったら、&lt;br&gt;
NAT外のどのIP,ポートからでも、そのマッピングを利用してNAT内にパケットを送ることのできるNAT。&lt;/p&gt;
&lt;p&gt;Restricted Cone NATとは&lt;br&gt;
Full Cone NATに加えて、一度NAT内からパケットが送信されたIPからのみ、そのマッピングを利用できるNAT。&lt;/p&gt;
&lt;p&gt;Port-Restricted Cone NATとは&lt;br&gt;
Restricted Cone NATに加えて、一度NAT内からパケットが送信されたIPとポートからのみ、そのマッピングを利用できるNAT。&lt;/p&gt;
&lt;p&gt;Symmetric NATとは&lt;br&gt;
NAT内からNAT外へ出るパケットを送って、マッピングを作っても、&lt;br&gt;
その同じ宛先からのみ、マッピングを利用できるNAT。&lt;br&gt;
逆に言うと、&lt;br&gt;
NAT内からNAT外へ出るパケットを送って、マッピングを作っても、&lt;br&gt;
違うIPとポートの組み合わせからはそのマッピング（＝NATの外側のIPとポート）からはNAT内にパケットを送れないNAT。&lt;br&gt;
こいつに対してはTURNを使う。&lt;/p&gt;
&lt;p&gt;簡略化のためIPは省略、Full Cone NATもRestricted Cone NATもPort-Restricted Cone NATも同じだから&lt;br&gt;
一番厳しいPort-Restricted Cone NATだと思って考える&lt;/p&gt;
&lt;p&gt;図&lt;/p&gt;
&lt;p&gt;A&amp;lt; ——–&amp;gt;NAT1(port6000)&amp;lt; ——–&amp;gt;STUNサーバ&amp;lt; ——–&amp;gt;(port10000)NAT2&amp;lt; ——–&amp;gt;B&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;まず、AとSTUNサーバ、BとSTUNサーバは別々につながってる。&lt;br&gt;
AはNAT1の外側ポート6000番を通してSTUNサーバと、&lt;br&gt;
BはNAT2の外側ポート10000番を通してSTUNサーバとつながってる&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A&amp;lt; ——–&amp;gt;NAT1(port6000)&amp;lt; ——–&amp;gt;STUNサーバ&amp;lt; ——–&amp;gt;(port10000)NAT2&amp;lt; ——–&amp;gt;B&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;STUNサーバが外側ポートを教える&lt;br&gt;
STUNサーバは、Aに対して、「BはNAT2のport10000番にいるよ」って言う&lt;br&gt;
STUNサーバは、Bに対して、「AはNAT1のport6000番にいるよ」って言う&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A&amp;lt; ——–&amp;gt;NAT1(port6000)&amp;lt; ——–&amp;gt;STUNサーバ&amp;lt; ——–&amp;gt;(port10000)NAT2&amp;lt; ——–&amp;gt;B&lt;br&gt;
A———&amp;gt;NAT1(port6002)————–&amp;gt;—————&amp;gt;x(port10000)NAT2                      B&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;AはNAT2のport10000に送ってみる&lt;br&gt;
だがNAT2内からNAT1宛てにパケットが送られていないのでマッピングが無い。&lt;br&gt;
NAT2ではじかれる&lt;br&gt;
ここで、AからNAT2へ向けていったパケットは、NAT1の&lt;strong&gt;6002&lt;/strong&gt;とか、6000ではない番号から出て行くだろう？&lt;br&gt;
NATの外側ポートって変わらないのかな？&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A&amp;lt; ——–&amp;gt;NAT1(port6000)&amp;lt; ——–&amp;gt;STUNサーバ&amp;lt; ——–&amp;gt;(port10000)NAT2&amp;lt; ——–&amp;gt;B&lt;br&gt;
A                 NAT1(port6000)x&amp;lt; —————————–(port10002)NAT2&amp;lt;———B&lt;/p&gt;</description></item><item><title>XMPPでP2Pの音声チャットセッションを確立する方法1</title><link>https://maaash.jp/2008/09/xmpp%E3%81%A7p2p%E3%81%AE%E9%9F%B3%E5%A3%B0%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%951/</link><pubDate>Sat, 20 Sep 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/09/xmpp%E3%81%A7p2p%E3%81%AE%E9%9F%B3%E5%A3%B0%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%951/</guid><description>&lt;p&gt;頭を整理するためのMemo&lt;/p&gt;
&lt;p&gt;GoogleTalkで使われているというjingle&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.xmpp.org/extensions/xep-0166.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.xmpp.org/extensions/xep-0166.html']);"&gt;XEP-0166: Jingle&lt;/a&gt;&lt;br&gt;
XMPP protocol extension for initiating and managing peer-to-peer media sessions between two XMPP entities in a way that is interoperable with existing Internet standards&lt;br&gt;
既存のInternet標準と共存できる方法で、２つのXMPPentities間でP2Pメディアセッションを確立、管理するためのXMPPプロトコルの拡張。&lt;/p&gt;
&lt;p&gt;In essence, Jingle enables two XMPP entities (e.g., &lt;a href="mailto:romeo@montague.lit" &gt;romeo@montague.lit&lt;/a&gt; and &lt;a href="mailto:juliet@capulet.lit" &gt;juliet@capulet.lit&lt;/a&gt;) to set up, manage, and tear down a multimedia session. The negotiation takes place over XMPP, and the media transfer takes place outside of XMPP. The simplest session flow is as follows:&lt;br&gt;
セッションのnegotiationはXMPPで、メディアはXMPP外で。&lt;/p&gt;</description></item><item><title>XMPPでP2Pの音声チャットセッションを確立する方法2</title><link>https://maaash.jp/2008/09/xmpp%E3%81%A7p2p%E3%81%AE%E9%9F%B3%E5%A3%B0%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%952/</link><pubDate>Sat, 20 Sep 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/09/xmpp%E3%81%A7p2p%E3%81%AE%E9%9F%B3%E5%A3%B0%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%952/</guid><description>&lt;p&gt;これの続き&lt;br&gt;
&lt;a href="http://maaash.jp/p2p/xmpp%e3%81%a7p2p%e3%81%ae%e9%9f%b3%e5%a3%b0%e3%83%81%e3%83%a3%e3%83%83%e3%83%88%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3%e3%82%92%e7%a2%ba%e7%ab%8b%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%951/" class="external-link" target="_blank" rel="noopener"&gt;XMPPでP2Pの音声チャットセッションを確立する方法1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;jingleで使用するXMPP stanza(?)の中に、&lt;description&gt;ってのがある&lt;br&gt;
# stanzaってこういう使い方でいいのかな？&lt;/description&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;content creator=&amp;#34;initiator&amp;#34; name=&amp;#34;voice&amp;#34;&amp;gt; 
&amp;lt;description xmlns=&amp;#34;urn:xmpp:tmp:jingle:apps:rtp&amp;#34; media=&amp;#34;audio&amp;#34;&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;/content&amp;gt;&amp;lt;payload id=&amp;#34;97&amp;#34; name=&amp;#34;speex&amp;#34; clockrate=&amp;#34;8000&amp;#34;&amp;gt;&amp;lt;/payload&amp;gt; &amp;lt;payload id=&amp;#34;18&amp;#34; name=&amp;#34;G729&amp;#34;&amp;gt;&amp;lt;/payload&amp;gt; &amp;lt;transport xmlns=&amp;#34;urn:xmpp:tmp:jingle:transports:ice-udp&amp;#34;&amp;gt;&amp;lt;candidate component=&amp;#34;1&amp;#34;&amp;gt;
foundation=&amp;#39;1&amp;#39; 
generation=&amp;#39;0&amp;#39; 
ip=&amp;#39;192.0.2.3&amp;#39; 
network=&amp;#39;1&amp;#39; 
port=&amp;#39;45664&amp;#39; 
priority=&amp;#39;1678246398&amp;#39; 
protocol=&amp;#39;udp&amp;#39; 
pwd=&amp;#39;asd88fgpdd777uzjYhagZg&amp;#39; 
type=&amp;#39;srflx&amp;#39; 
ufrag=&amp;#39;8hhy&amp;#39;/&amp;gt; 
&amp;lt;/candidate&amp;gt; &amp;lt;/transport&amp;gt;&amp;lt;description&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;の中身は&lt;br&gt;
&lt;a href="http://www.xmpp.org/extensions/xep-0166.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.xmpp.org/extensions/xep-0166.html']);"&gt;XEP-0166: Jingle&lt;/a&gt;&lt;br&gt;
では扱ってない。&lt;/description&gt;&lt;/p&gt;
XEP-0166の中で、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Naturally, more complex scenarios are probable; such scenarios are described in other specifications, such as XEP-0167 for voice chat.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ってのがあるのでポインタの先に飛んでみる&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.xmpp.org/extensions/xep-0167.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.xmpp.org/extensions/xep-0167.html']);"&gt;XEP-0167: Jingle RTP Sessions&lt;/a&gt;&lt;br&gt;
This specification defines a Jingle application type for negotiating one or more sessions that use the Real-time Transport Protocol (RTP) to exchange media such as voice or video. The application type includes a straightforward mapping to Session Description Protocol (SDP) for interworking with SIP media endpoints.&lt;br&gt;
音声や映像などを交換するためにRTPを使用する、１つ以上のセッションのnegotiationをするためのapplication typeについて定義する。&lt;br&gt;
application typeはSIPと互換性をもてるよう、SDPと１対１対応するマッピングを含む。&lt;/p&gt;</description></item><item><title>XMPPでP2Pの音声チャットセッションを確立する方法3</title><link>https://maaash.jp/2008/09/xmpp%E3%81%A7p2p%E3%81%AE%E9%9F%B3%E5%A3%B0%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%953/</link><pubDate>Sat, 20 Sep 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/09/xmpp%E3%81%A7p2p%E3%81%AE%E9%9F%B3%E5%A3%B0%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%953/</guid><description>&lt;p&gt;&lt;a href="http://maaash.jp/xmpp/xmpp%E3%81%A7p2p%E3%81%AE%E9%9F%B3%E5%A3%B0%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%952/" class="external-link" target="_blank" rel="noopener"&gt;XMPPでP2Pの音声チャットセッションを確立する方法2&lt;/a&gt;&lt;br&gt;
これの続き。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.xmpp.org/extensions/xep-0176.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.xmpp.org/extensions/xep-0176.html']);"&gt;XEP-0176: Jingle ICE-UDP Transport Method&lt;/a&gt;&lt;br&gt;
を読む。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This specification defines a Jingle transport method that results in sending media data using raw datagram sockets via the User Datagram Protocol (UDP). This transport method is negotiated via the Interactive Connectivity Establishment (ICE) methodology defined by the IETF and thus provides robust NAT traversal for media traffic.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;これと並列なものとして、&lt;br&gt;
&lt;a href="http://www.xmpp.org/extensions/xep-0177.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.xmpp.org/extensions/xep-0177.html']);"&gt;XEP-0177: Jingle Raw UDP Transport Method&lt;/a&gt;&lt;br&gt;
というのもある&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This specification defines a Jingle transport method that results in sending media data using raw datagram sockets via the User Datagram Protocol (UDP). This simple transport method does not provide NAT traversal, and the ICE-UDP transport method should be used if NAT traversal is required.&lt;/p&gt;</description></item><item><title>第十二回SIProp勉強会行ってきた</title><link>https://maaash.jp/2008/09/%E7%AC%AC%E5%8D%81%E4%BA%8C%E5%9B%9Esiprop%E5%8B%89%E5%BC%B7%E4%BC%9A%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%9F/</link><pubDate>Sat, 20 Sep 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/09/%E7%AC%AC%E5%8D%81%E4%BA%8C%E5%9B%9Esiprop%E5%8B%89%E5%BC%B7%E4%BC%9A%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%9F/</guid><description>&lt;p&gt;全員初めてなのになんとかなりましたね。&lt;br&gt;
みなさま（お酒が入ったせいか）話やすい人たちでよかったです。&lt;br&gt;
ありがとうございました！&lt;/p&gt;
&lt;p&gt;今日せんえつながら発言したadobeのP2Pのことは&lt;br&gt;
&lt;a href="http://maaash.jp/red5/flashplayer10%E3%81%AEp2p/" class="external-link" target="_blank" rel="noopener"&gt;FlashPlayer10&lt;/a&gt;のP2Pに過去書きましたよ。&lt;br&gt;
正直P2P界では今Adobeに一番注目してます。&lt;/p&gt;
&lt;p&gt;セキュリティの話とかちんぷんかんぷんでしたが、&lt;br&gt;
P2PSIPはあれだなぁ、ってみんな思ってるってことはわかりましたｗ&lt;br&gt;
標準は泥臭いところから生まれる方が現実的なモノができやすいのでしょう。&lt;/p&gt;
&lt;p&gt;ということで、セッション層はXMPP使うことにする。&lt;br&gt;
まだ悩むのはlibjingleをがんばって使うか、C#で自分で実装しにいくか、、&lt;/p&gt;
&lt;p&gt;トランスポート層はUDPかなぁ&lt;br&gt;
TCPのNAT越えは&lt;br&gt;
&lt;a href="http://nutss.gforge.cis.cornell.edu/pub/imc05-tcpnat/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://nutss.gforge.cis.cornell.edu/pub/imc05-tcpnat/']);"&gt;Characterization and Measurement of TCP Traversal through NATs and Firewalls&lt;/a&gt;&lt;br&gt;
がちゃんとしたまとめっぽいけど、実現方法がきもいよなぁ、&lt;br&gt;
今日もTCPがNAT超えられるの5割程度って言ってたしUDPでなんとかしよう&lt;/p&gt;
&lt;p&gt;UDPのSTUNの仕組みがまだ理解できてないなぁ&lt;/p&gt;
&lt;p&gt;フルコーンNAT → STUNサーバ にパケット送ってNATにマップを作らせることで&lt;br&gt;
外部IP → フルコーンNAT内 方向が到達できる、ってのはわかったし実験できたんですが、&lt;/p&gt;
&lt;p&gt;SymmetricじゃないNAT（IP制限のみかポート制限のみ）内から、SymmetricじゃないNAT内にメッセージを送る手順がわからない。&lt;br&gt;
まずSTUN＝UDPホールパンチングだと思ってたけど、今日の話の流れを考えると違うっぽいな&lt;br&gt;
もうちょい調べよう&lt;/p&gt;
&lt;p&gt;その上はRTPでSPEEXを包めばいいかなぁ、&lt;br&gt;
FlashPlayer10でSPEEX対応した時に、ローカルアプリからブラウザのFP10にSPEEXストリーム流せたらすごい&lt;/p&gt;</description></item><item><title>ffmpegでnellymoserデコード</title><link>https://maaash.jp/2008/08/ffmpeg%E3%81%A7nellymoser%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89/</link><pubDate>Fri, 29 Aug 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/08/ffmpeg%E3%81%A7nellymoser%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89/</guid><description>&lt;p&gt;こんな感じ&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;santrini% ffmpeg -i 2008_08_29_11_17_49.flv -ar 44100 2008_08_29_11_17_49.mpg 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;FFmpeg version git-c0390c6, Copyright (c) 2000-2008 Fabrice Bellard, et al. 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;configuration: 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;libavutil 49.10. 0 / 49.10. 0 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;libavcodec 51.69. 0 / 51.69. 0 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;libavformat 52.21. 0 / 52.21. 0 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;libavdevice 52. 1. 0 / 52. 1. 0 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;built on Aug 29 2008 11:49:02, gcc: 4.3.1 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Input #0, flv, from &amp;#39;2008_08_29_11_17_49.flv&amp;#39;: 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Duration: 00:00:23.21, start: 0.000000, bitrate: N/A 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Stream #0.0: Video: flv, yuv420p, 320x240, 1000.00 tb(r) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Stream #0.1: Audio: nellymoser, 8000 Hz, mono, s16 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Output #0, mpeg, to &amp;#39;2008_08_29_11_17_49.mpg&amp;#39;: 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Stream #0.0: Video: mpeg1video, yuv420p, 320x240, q=2-31, 200 kb/s, 60.00 tb(c) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Stream #0.1: Audio: mp2, 44100 Hz, mono, s16, 64 kb/s 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Stream mapping: 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Stream #0.0 -&amp;gt; #0.0 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Stream #0.1 -&amp;gt; #0.1 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Press [q] to stop encoding 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;frame= 1381 fps= 0 q=5.5 Lsize= 1108kB time=23.00 bitrate= 394.6kbits/s 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;video:913kB audio:181kB global headers:0kB muxing overhead 1.223595% 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;red5で録画＆録音したflvをmpgに。&lt;br&gt;
-ar 44100 はオーディオのサンプリングレート。nellymoserの8000Hzじゃmp2にエンコードできないよって怒られるから。&lt;br&gt;
ffmpegは &lt;a href="http://ffmpeg.mplayerhq.hu/download.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://ffmpeg.mplayerhq.hu/download.html']);"&gt;FFmpeg Download and SVN&lt;/a&gt;&lt;br&gt;
から&lt;/p&gt;</description></item><item><title>nellymoser encoderに期待</title><link>https://maaash.jp/2008/08/nellymoser-encoder%E3%81%AB%E6%9C%9F%E5%BE%85/</link><pubDate>Fri, 29 Aug 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/08/nellymoser-encoder%E3%81%AB%E6%9C%9F%E5%BE%85/</guid><description>&lt;p&gt;ffmpegのnellymoserデコーダー試そうと思っていろいろみてたら&lt;br&gt;
Google Summer of Code 2008で&lt;br&gt;
&lt;a href="http://code.google.com/soc/2008/ffmpeg/appinfo.html?csaid=29C3B8A01A12DDE" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com/soc/2008/ffmpeg/appinfo.html?csaid=29C3B8A01A12DDE']);"&gt;Title Nellymoser Encoder&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;abstract: The Nellymoser Asao codec is a proprietary single-channel (mono) format optimized for low-bitrate transmission of audio, developed by Nellymoser Inc. The codec optimized for real-time and low-latency encoding of audio. Adobe Flash Player clients, when recording audio from a user’s microphone, use the Nellymoser Asao codec and do not allow Flash programmers to select any other codec. &lt;strong&gt;My main goal will be writing Nellymoser encoder.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Debian Linux に Skype をインストールする備忘録</title><link>https://maaash.jp/2008/07/debian-linux-%E3%81%AB-skype-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E5%82%99%E5%BF%98%E9%8C%B2/</link><pubDate>Thu, 31 Jul 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/07/debian-linux-%E3%81%AB-skype-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E5%82%99%E5%BF%98%E9%8C%B2/</guid><description>&lt;p&gt;&lt;a href="http://www.skype.com/intl/ja/download/skype/linux/choose/" class="external-link" target="_blank" rel="noopener"&gt;http://www.skype.com/intl/ja/download/skype/linux/choose/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;このページの Debian Etch クリックしてダウンロードできるdebパッケージは&lt;br&gt;
こうなる&lt;/p&gt;
&lt;p&gt;euboea% sudo dpkg -i skype-debian_2.0.0.72-1_i386.deb&lt;br&gt;
dpkg: skype-debian_2.0.0.72-1_i386.deb.ng の処理中にエラーが発生しました (–install):&lt;br&gt;
パッケージアーキテクチャ (i386) がシステム (amd64) と一致しません&lt;br&gt;
以下のパッケージの処理中にエラーが発生しました:&lt;br&gt;
skype-debian_2.0.0.72-1_i386.deb&lt;/p&gt;
&lt;p&gt;Dynamicをダウンロードして解凍、skypeを実行すると&lt;br&gt;
こうなる&lt;/p&gt;
&lt;p&gt;euboea% ./skype&lt;br&gt;
./skype: error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory&lt;/p&gt;
&lt;p&gt;euboea% locate libasound.so.2&lt;br&gt;
/usr/lib/libasound.so.2&lt;br&gt;
/usr/lib/libasound.so.2.0.0&lt;br&gt;
euboea% ldd skype&lt;br&gt;
linux-gate.so.1 =&amp;gt; (0xffffe000)&lt;br&gt;
libasound.so.2 =&amp;gt; not found&lt;br&gt;
libXv.so.1 =&amp;gt; not found&lt;br&gt;
libXss.so.1 =&amp;gt; not found&lt;br&gt;
librt.so.1 =&amp;gt; /lib32/librt.so.1 (0xf7f67000)&lt;br&gt;
libQtDBus.so.4 =&amp;gt; not found&lt;br&gt;
libQtGui.so.4 =&amp;gt; not found&lt;br&gt;
libQtNetwork.so.4 =&amp;gt; not found&lt;br&gt;
libQtCore.so.4 =&amp;gt; not found&lt;br&gt;
libpthread.so.0 =&amp;gt; /lib32/libpthread.so.0 (0xf7f4f000)&lt;br&gt;
libstdc++.so.6 =&amp;gt; not found&lt;br&gt;
libm.so.6 =&amp;gt; /lib32/libm.so.6 (0xf7f2a000)&lt;br&gt;
libgcc_s.so.1 =&amp;gt; /usr/lib32/libgcc_s.so.1 (0xf7f1d000)&lt;br&gt;
libc.so.6 =&amp;gt; /lib32/libc.so.6 (0xf7dd6000)&lt;br&gt;
/lib/ld-linux.so.2 (0xf7f7a000)&lt;br&gt;
libX11.so.6 =&amp;gt; not found&lt;br&gt;
libXext.so.6 =&amp;gt; not found&lt;/p&gt;</description></item><item><title>[perl]TheSchwartzのWorkerにIDをつける</title><link>https://maaash.jp/2008/07/perltheschwartz%E3%81%AEworker%E3%81%ABid%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B/</link><pubDate>Sat, 26 Jul 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/07/perltheschwartz%E3%81%AEworker%E3%81%ABid%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B/</guid><description>&lt;p&gt;こういうときはどうやってやるのがいいのかなぁ&lt;br&gt;
・なんか限れられた数のリソース（例えば、DISPLAYとか？、）があって、リソースにはTheSchwartzのWorkerを１対１対応させて、Workerを動かしたい&lt;br&gt;
・Jobをinsertする方はどのWorkerに仕事させるか意識したくない&lt;/p&gt;
&lt;p&gt;Jobをinsertする方はこんな&lt;br&gt;
feeder.pl&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#!/usr/bin/env perl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;strict&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;warnings&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;FindBin&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;File::Spec&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;YAML::Syck&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;TheSchwartz&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$conf&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;LoadFile&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;File::Spec&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;catfile&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;$&lt;/span&gt;&lt;span style="color:#e06c75"&gt;FindBin::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Bin&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#39;..&amp;#39;&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#39;myapp.yml&amp;#39;&lt;/span&gt;) );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$pool&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;TheSchwartz&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#c678dd"&gt;new&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;%&lt;/span&gt;{ &lt;span style="color:#e06c75"&gt;$conf&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;{&lt;span style="color:#e06c75"&gt;TheSchwartz&lt;/span&gt;}{&lt;span style="color:#e06c75"&gt;args&lt;/span&gt;} } );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;$pool&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;insert&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;MyApp::SleepWorker&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#d19a66"&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;0～9秒間の間でランダムな秒数寝るだけのWorkerを起動させるpl。&lt;br&gt;
こいつを複数プロセス動かして、それぞれは自分に割り当てられてるリソースを知っている、っていう状態をつくりたい。&lt;br&gt;
workの引数になんか入れてもだめっぽいので、、&lt;/p&gt;
&lt;p&gt;worker.pl&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#!/usr/bin/env perl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;strict&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;warnings&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;FindBin&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;File::Spec&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;lib&lt;/span&gt; &lt;span style="color:#e06c75"&gt;File::Spec&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;catfile&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;$&lt;/span&gt;&lt;span style="color:#e06c75"&gt;FindBin::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Bin&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#39;..&amp;#39;&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#39;lib&amp;#39;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;YAML::Syck&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;TheSchwartz&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;MyApp::SleepWorker&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$conf&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;LoadFile&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;File::Spec&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;catfile&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;$&lt;/span&gt;&lt;span style="color:#e06c75"&gt;FindBin::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Bin&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#39;..&amp;#39;&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#39;myapp.yml&amp;#39;&lt;/span&gt;) );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$worker&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;TheSchwartz&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#c678dd"&gt;new&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;%&lt;/span&gt;{ &lt;span style="color:#e06c75"&gt;$conf&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;{&lt;span style="color:#e06c75"&gt;TheSchwartz&lt;/span&gt;}{&lt;span style="color:#e06c75"&gt;args&lt;/span&gt;} } );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;$worker&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;can_do&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;MyApp::SleepWorker&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;$worker&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;work&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#d19a66"&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;環境変数なのかなぁ&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;package&lt;/span&gt; &lt;span style="color:#e06c75"&gt;MyApp::SleepWorker&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;strict&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;warnings&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;base&lt;/span&gt; &lt;span style="color:#98c379"&gt;qw/TheSchwartz::Worker/&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;sub&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;work&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;my&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;$class&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;$job&lt;/span&gt; ) &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;@_&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;my&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;$data&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$job&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;arg&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$worker_id&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$ENV&lt;/span&gt;{&lt;span style="color:#e06c75"&gt;WORKER_ID&lt;/span&gt;};
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;[$worker_id]worker start\n&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$sleep_time&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt;(&lt;span style="color:#e5c07b"&gt;rand&lt;/span&gt;(&lt;span style="color:#d19a66"&gt;10&lt;/span&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;[$worker_id]sleep: $sleep_time\n&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;sleep&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;$sleep_time&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;[$worker_id]end\n&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;$job&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;completed&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#d19a66"&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;boot_worker1, boot_worker2&lt;/p&gt;</description></item><item><title>オープンソースなbittorrent-trackerまとめ</title><link>https://maaash.jp/2008/07/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AAbittorrent-tracker%E3%81%BE%E3%81%A8%E3%82%81/</link><pubDate>Sat, 19 Jul 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/07/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AAbittorrent-tracker%E3%81%BE%E3%81%A8%E3%82%81/</guid><description>&lt;p&gt;trackerとは、torrentファイルDLした後につなぎにいって、本体ファイルをDLするための接続先ピアの一覧を返すサーバ。&lt;br&gt;
どれがいいんだろ&lt;/p&gt;
&lt;p&gt;○公式bittorrentのbittorrent-trackerサーバ&lt;br&gt;
　maybe slow..&lt;br&gt;
　&lt;a href="http://www.bittorrent.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.bittorrent.com/']);"&gt;&lt;a href="http://www.bittorrent.com/" class="external-link" target="_blank" rel="noopener"&gt;http://www.bittorrent.com/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
　&lt;a href="http://download.bittorrent.com/dl/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://download.bittorrent.com/dl/']);"&gt;&lt;a href="http://download.bittorrent.com/dl/" class="external-link" target="_blank" rel="noopener"&gt;http://download.bittorrent.com/dl/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
　pythonで動いてる&lt;br&gt;
　./bittorrent-tracker.py –port 6969 –dfile dstate&lt;/p&gt;
&lt;p&gt;○apache2とmod_btの組み合わせ&lt;br&gt;
　&lt;a href="http://www.crackerjack.net/mod_bt/mod_bt.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.crackerjack.net/mod_bt/mod_bt.html']);"&gt;&lt;a href="http://www.crackerjack.net/mod_bt/mod_bt.html" class="external-link" target="_blank" rel="noopener"&gt;http://www.crackerjack.net/mod_bt/mod_bt.html&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
　裏でlibbttrackerを使用&lt;br&gt;
　Net::BitTorrent::LibBT::Tracker これでそこにつなげるかも&lt;/p&gt;
&lt;p&gt;○Net::BitTorrent::LibBT::Tracker 使って自前perlサーバ&lt;br&gt;
　mod_bt の libbttrackerのperlから使う&lt;/p&gt;
&lt;p&gt;○Open Tracker&lt;br&gt;
　&lt;a href="http://erdgeist.org/arts/software/opentracker/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://erdgeist.org/arts/software/opentracker/']);"&gt;&lt;a href="http://erdgeist.org/arts/software/opentracker/" class="external-link" target="_blank" rel="noopener"&gt;http://erdgeist.org/arts/software/opentracker/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
　&lt;a href="http://opentracker.blog.h3q.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://opentracker.blog.h3q.com/']);"&gt;&lt;a href="http://opentracker.blog.h3q.com/" class="external-link" target="_blank" rel="noopener"&gt;http://opentracker.blog.h3q.com/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
　It aims for minimal resource usage and is intended to run at your wlan router.&lt;/p&gt;
&lt;p&gt;○The Hydra Project&lt;br&gt;
　A Distributed, private BitTorrent tracker framework with goals of:&lt;br&gt;
　… user privacy, anonymity, survivability &amp;amp; distributed ratio maintainability.&lt;br&gt;
　The primary goal of this project is to replace the aging TorrentBits code employed by most private torrent trackers today.&lt;br&gt;
　&lt;a href="http://code.google.com/p/hydraproject/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com/p/hydraproject/']);"&gt;&lt;a href="http://code.google.com/p/hydraproject/" class="external-link" target="_blank" rel="noopener"&gt;http://code.google.com/p/hydraproject/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
　ruby on rails&lt;/p&gt;</description></item><item><title>FlashPlayer10のP2P</title><link>https://maaash.jp/2008/07/flashplayer10%E3%81%AEp2p/</link><pubDate>Sat, 12 Jul 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/07/flashplayer10%E3%81%AEp2p/</guid><description>&lt;p&gt;&lt;a href="http://justin.everett-church.com/index.php/2008/05/23/astrop2p/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://justin.everett-church.com/index.php/2008/05/23/astrop2p/']);"&gt;Peer to Peer (P2P) in Flash Player 10 beta&lt;/a&gt;&lt;br&gt;
ho-&lt;/p&gt;
&lt;p&gt;利用シーンに関わる部分はここ。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Will RTMFP enable massive file-sharing applications through Flash Player 10 beta?&lt;/strong&gt;&lt;br&gt;
No. Large-scale file-sharing network applications rely on the ability to read from and write to the hard drive constantly to only load parts of files into memory when needed. In Flash Player 10 beta you can load files from the desktop to the Flash Player runtime, but the file would need to be loaded manually by the end-user and remain in memory for the entire time the file would be needed. The drain on system resources would make this style of application impractical.&lt;/p&gt;</description></item><item><title>[git]gitに入門してみた</title><link>https://maaash.jp/2008/07/gitgit%E3%81%AB%E5%85%A5%E9%96%80%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/</link><pubDate>Thu, 03 Jul 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/07/gitgit%E3%81%AB%E5%85%A5%E9%96%80%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/</guid><description>&lt;p&gt;svn使ってます&lt;br&gt;
myappの下には、trunk, tags, branches がある状態&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git svn init -s https://path/to/myapp/ myapp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;cd&lt;/span&gt; myapp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git svn fetch
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これに時間かかる&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git checkout trunk
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これがちょっぱやでびびるなぁ&lt;/p&gt;
&lt;p&gt;編集した後、&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git add file1 file2 file3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git commit -m&lt;span style="color:#98c379"&gt;&amp;#34;[edited file1,2,3]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ローカルへのコミットは気軽にしていいみたい&lt;/p&gt;
&lt;p&gt;perlのcatalystアプリで、myapp_local.yml とかもろもろローカルで変更しているのがあるので、&lt;br&gt;
そいつらがある状態で&lt;br&gt;
svnにコミットしようとすると、&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Cannot dcommit with a dirty index. Commit your changes first, or stash them with \`git stash&amp;#39;.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;って怒られる&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git stash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ってやるとmyapp_local.ymlとかdirtyなファイル達がどっかに退避されるみたい&lt;/p&gt;
&lt;p&gt;そこで&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git svn dcommit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;するとsvnにコミットできる&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git stash apply
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ってやると退避したのが帰ってくる。&lt;/p&gt;
&lt;p&gt;そして&lt;br&gt;
&lt;a href="http://unknownplace.org/memo/2008/02/19#e002" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://unknownplace.org/memo/2008/02/19#e002']);"&gt;18:09 zsh の prompt に git のブランチ情報を表示&lt;/a&gt;&lt;br&gt;
これやるべし、と思ったけど、書いてあるようにハッシュ値が出ますよ！&lt;br&gt;
今のcoderepos版でも。&lt;/p&gt;</description></item><item><title>[skype api]skypeで電話をかけ指定のwavを再生して切断</title><link>https://maaash.jp/2008/07/skype-apiskype%E3%81%A7%E9%9B%BB%E8%A9%B1%E3%82%92%E3%81%8B%E3%81%91%E6%8C%87%E5%AE%9A%E3%81%AEwav%E3%82%92%E5%86%8D%E7%94%9F%E3%81%97%E3%81%A6%E5%88%87%E6%96%AD/</link><pubDate>Tue, 01 Jul 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/07/skype-apiskype%E3%81%A7%E9%9B%BB%E8%A9%B1%E3%82%92%E3%81%8B%E3%81%91%E6%8C%87%E5%AE%9A%E3%81%AEwav%E3%82%92%E5%86%8D%E7%94%9F%E3%81%97%E3%81%A6%E5%88%87%E6%96%AD/</guid><description>&lt;p&gt;skypeで電話をかけ指定のwavを再生して切断。&lt;br&gt;
フレームレート16kHz、16bitサンプリングのwavを再生できる。&lt;br&gt;
44.1kHzのはNGでした。&lt;br&gt;
skypeは&lt;br&gt;
DISPLAY=127.0.0.1:0.0&lt;br&gt;
で立ち上がっている。&lt;/p&gt;
&lt;p&gt;再生できるんだけど、&lt;br&gt;
再生開始後の数秒間、音程が異常に崩れる。。&lt;br&gt;
なんかおまじないがあるのかなぁ&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#!/usr/bin/python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# -*- coding: utf-8 -*-&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# コマンドラインで指定したskypeidに電話をかける&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;import&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Skype4Py&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;import&lt;/span&gt; &lt;span style="color:#e06c75"&gt;sys&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;import&lt;/span&gt; &lt;span style="color:#e06c75"&gt;os&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;os&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;environ&lt;/span&gt;[&lt;span style="color:#98c379"&gt;&amp;#39;DISPLAY&amp;#39;&lt;/span&gt;] &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;127.0.0.1:0.0&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# This variable will get its actual value in OnCall handler&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;CallStatus&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# Here we define a set of call statuses that indicate a call has been either aborted or finished&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;CallIsFinished&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;set&lt;/span&gt; ([&lt;span style="color:#e06c75"&gt;Skype4Py&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;clsFailed&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;Skype4Py&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;clsFinished&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;Skype4Py&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;clsMissed&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;Skype4Py&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;clsRefused&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;Skype4Py&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;clsBusy&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;Skype4Py&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;clsCancelled&lt;/span&gt;]);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;def&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;AttachmentStatusText&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;status&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;skype&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Convert&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;AttachmentStatusToText&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;status&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;def&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;CallStatusText&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;status&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;skype&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Convert&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;CallStatusToText&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;status&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# This handler is fired when status of Call object has changed&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;def&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;OnCall&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;call&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;status&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;global&lt;/span&gt; &lt;span style="color:#e06c75"&gt;CallStatus&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;CallStatus&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;status&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;Call status: &amp;#39;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#e06c75"&gt;CallStatusText&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;status&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; &lt;span style="color:#e06c75"&gt;status&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Skype4Py&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;clsInProgress&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39; playing wav&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;call&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;InputDevice&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;Skype4Py&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;callIoDeviceTypeFile&lt;/span&gt; ,&lt;span style="color:#98c379"&gt;&amp;#39;/home/mash/skype/01_16bit_16kHz.wav&amp;#39;&lt;/span&gt; )
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;HasConnected&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;False&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;def&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;OnInputStatusChanged&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;call&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;status&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;global&lt;/span&gt; &lt;span style="color:#e06c75"&gt;HasConnected&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;InputStatusChanged: &amp;#39;&lt;/span&gt;,&lt;span style="color:#e06c75"&gt;call&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;InputDevice&lt;/span&gt;(),&lt;span style="color:#e06c75"&gt;call&lt;/span&gt;,&lt;span style="color:#e06c75"&gt;status&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39; inputdevice: &amp;#39;&lt;/span&gt;,&lt;span style="color:#e06c75"&gt;call&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;InputDevice&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \&lt;span style="color:#7f848e"&gt;# 一度CallInputStatusがTrueになった後、Falseになったら、ファイルの再生が終了してる（はず）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; &lt;span style="color:#e06c75"&gt;status&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;True&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;HasConnected&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; &lt;span style="color:#e06c75"&gt;status&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;False&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;and&lt;/span&gt; &lt;span style="color:#e06c75"&gt;HasConnected&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;True&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39; play finished&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;call&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Finish&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# This handler is fired when Skype attatchment status changes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;def&lt;/span&gt; &lt;span style="color:#61afef;font-weight:bold"&gt;OnAttach&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;status&lt;/span&gt;):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;API attachment status: &amp;#39;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#e06c75"&gt;AttachmentStatusText&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;status&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; &lt;span style="color:#e06c75"&gt;status&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Skype4Py&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;apiAttachAvailable&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;skype&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Attach&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# Let&amp;#39;s see if we were started with a command line parameter..&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;try&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;CmdLine&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;sys&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;argv&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;1&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;except&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;Missing command line parameter&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;sys&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;exit&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# Creating Skype object and assigning event handlers..&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;skype&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Skype4Py&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Skype&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;skype&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;OnAttachmentStatus&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;OnAttach&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;skype&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;OnCallStatus&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;OnCall&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;skype&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;OnCallInputStatusChanged&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;OnInputStatusChanged&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# Starting Skype if it&amp;#39;s not running already..&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;if&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;not&lt;/span&gt; &lt;span style="color:#e06c75"&gt;skype&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Client&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;IsRunning&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;Starting Skype..&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;skype&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Client&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Start&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# Attatching to Skype..&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;Connecting to Skype..&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;skype&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Attach&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# Checking if what we got from command line parameter is present in our contact list&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;Found&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;False&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;for&lt;/span&gt; &lt;span style="color:#e06c75"&gt;F&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;in&lt;/span&gt; &lt;span style="color:#e06c75"&gt;skype&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Friends&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; &lt;span style="color:#e06c75"&gt;F&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Handle&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e06c75"&gt;CmdLine&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;Found&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;Calling &amp;#39;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#e06c75"&gt;F&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Handle&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;..&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;skype&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;PlaceCall&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;CmdLine&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;break&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;if&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;not&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Found&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;Call target not found in contact list&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;sys&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;.&lt;/span&gt;&lt;span style="color:#e06c75"&gt;exit&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#7f848e"&gt;# Loop until CallStatus gets one of &amp;#34;call terminated&amp;#34; values in OnCall handler&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;while&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;not&lt;/span&gt; &lt;span style="color:#e06c75"&gt;CallStatus&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;in&lt;/span&gt; &lt;span style="color:#e06c75"&gt;CallIsFinished&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;pass&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>hilight2skype irssiのhilightをSkypeへ通知</title><link>https://maaash.jp/2008/06/hilight2skype-irssi%E3%81%AEhilight%E3%82%92skype%E3%81%B8%E9%80%9A%E7%9F%A5/</link><pubDate>Sat, 28 Jun 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/06/hilight2skype-irssi%E3%81%AEhilight%E3%82%92skype%E3%81%B8%E9%80%9A%E7%9F%A5/</guid><description>&lt;p&gt;みんなircで呼ばれた時、どうやって気づいてるんだろう？&lt;br&gt;
mash:&lt;br&gt;
って呼ばれてもputtyは３つのディスプレイの１つに表示されてるだけなので気づけないです。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://im.kayac.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://im.kayac.com/']);"&gt;&lt;a href="http://im.kayac.com/" class="external-link" target="_blank" rel="noopener"&gt;http://im.kayac.com/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
をtypesterが使ってるの見てて、やっぱデスクトップでぴこーんってされるのはいいな、と思ってたんだけど&lt;br&gt;
GoogleTalk使ってないしなぁ、Skype版つくるべ、ってことでつくりました。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://coderepos.org/share/wiki/Skype4IRC" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://coderepos.org/share/wiki/Skype4IRC']);"&gt;Skype4IRC&lt;/a&gt;ってのもありますが、&lt;br&gt;
こちらは、Skypeに届いたチャットメッセージをircに転送するもの。&lt;br&gt;
hilight2skypeとは逆ですね。&lt;/p&gt;
&lt;p&gt;■動かし方&lt;br&gt;
skype for linuxインストール&lt;/p&gt;
&lt;p&gt;skype4py（skypeAPIのpythonラッパー）インストール&lt;/p&gt;
&lt;p&gt;以下をチェックアウト&lt;br&gt;
&lt;a href="http://coderepos.org/share/browser/lang/perl/irssi/scripts/hilight2skype.pl" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://coderepos.org/share/browser/lang/perl/irssi/scripts/hilight2skype.pl']);"&gt;&lt;a href="http://coderepos.org/share/browser/lang/perl/irssi/scripts/hilight2skype.pl" class="external-link" target="_blank" rel="noopener"&gt;http://coderepos.org/share/browser/lang/perl/irssi/scripts/hilight2skype.pl&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://coderepos.org/share/browser/lang/perl/irssi/scripts/hilight2skype/send_chat_message.py" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://coderepos.org/share/browser/lang/perl/irssi/scripts/hilight2skype/send_chat_message.py']);"&gt;&lt;a href="http://coderepos.org/share/browser/lang/perl/irssi/scripts/hilight2skype/send_chat_message.py" class="external-link" target="_blank" rel="noopener"&gt;http://coderepos.org/share/browser/lang/perl/irssi/scripts/hilight2skype/send_chat_message.py&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;$HOME/.irssi/scripts/autorun に入れる&lt;/p&gt;
&lt;p&gt;hilight2skype.pl のskype名を自分のに修正&lt;/p&gt;
&lt;p&gt;linuxでskypeを立ち上げるんですが、skypeを立ち上げるのにDISPLAY環境変数が必要なので、&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Xvnc -query localhost -geometry 1024x768 -depth &lt;span style="color:#d19a66"&gt;16&lt;/span&gt; -fp /usr/share/fonts/X11/100dpi/,/usr/share/fonts/X11/misc &lt;span style="color:#e06c75"&gt;securitytypes&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;none
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;vncサーバ立ち上げる&lt;/p&gt;
&lt;p&gt;一度つないでシェルから&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;echo&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$DISPLAY&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ってすると、&lt;/p&gt;
&lt;p&gt;うちは&lt;br&gt;
127.0.0.1:0.0&lt;br&gt;
になってたので、&lt;/p&gt;
&lt;p&gt;vncクライアントは落として、コンソールから&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;export&lt;/span&gt; &lt;span style="color:#e06c75"&gt;DISPLAY&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;127.0.0.1:0.0 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./skype-2.0.0.6/skype 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ってやるとskype立ち上がる&lt;/p&gt;
&lt;p&gt;準備OK&lt;br&gt;
irssi起動すると hilight2skype ってscriptを自動でロードしてくれる&lt;br&gt;
hilight指定されてるメッセージが流れてくると、&lt;br&gt;
skypeがぴこーん！&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[irssi #チャンネル名] &amp;lt; 送ってきた人&amp;gt; ircのメッセージ 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;って感じのメッセージがSkypeに届きます。&lt;/p&gt;
&lt;p&gt;初めてちょっとだけpython書いたー&lt;/p&gt;
&lt;p&gt;vncサーバとDISPLAY環境変数付きでSkype起動できればいいので、&lt;br&gt;
daemontoolsで監視できそう。&lt;br&gt;
なんかサービスつくる？&lt;/p&gt;</description></item><item><title>2001年宇宙の旅の1x4x9</title><link>https://maaash.jp/2008/06/2001%E5%B9%B4%E5%AE%87%E5%AE%99%E3%81%AE%E6%97%85%E3%81%AE1x4x9/</link><pubDate>Thu, 26 Jun 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/06/2001%E5%B9%B4%E5%AE%87%E5%AE%99%E3%81%AE%E6%97%85%E3%81%AE1x4x9/</guid><description>&lt;p&gt;16bitのメモリ付き累算器？&lt;br /&gt;
&lt;a href="http://knexcomputer.blogspot.com/2007/02/memory-accumulator.html"&gt;Memory + Accumulator = New Plan&lt;br /&gt;
&lt;img src="https://bp1.blogger.com/_PwI1ZcfLfXw/Rcd1PrxCqqI/AAAAAAAAAAc/AJ3GcuAy4Ak/s400/Monolith+1.JPG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;We finally completed work on the 16-bits of Data Memory, and attached it to the Accumulator. The final result is a rather attractive looking tower of K&amp;#8217;NEX. The dimensions of it are almost exactly 1&amp;#8242; x 4&amp;#8242; x 9&amp;#8242; (&lt;strong&gt;an interesting coincidence for anyone who has read &amp;#8220;2001: A Space Odyssey&amp;#8221;&lt;/strong&gt;).&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;wow&lt;/p&gt;</description></item><item><title>コンテキストマッチするamazonアフィリエイトを</title><link>https://maaash.jp/2008/06/%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%9E%E3%83%83%E3%83%81%E3%81%99%E3%82%8Bamazon%E3%82%A2%E3%83%95%E3%82%A3%E3%83%AA%E3%82%A8%E3%82%A4%E3%83%88%E3%82%92/</link><pubDate>Tue, 17 Jun 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/06/%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%9E%E3%83%83%E3%83%81%E3%81%99%E3%82%8Bamazon%E3%82%A2%E3%83%95%E3%82%A3%E3%83%AA%E3%82%A8%E3%82%A4%E3%83%88%E3%82%92/</guid><description>&lt;ol&gt;
&lt;li&gt;Yahoo PipesのFetchPageでブログのhtmlまたはRSSをとってきてテキスト部分を正規表現で抽出して&lt;br&gt;
　（ブログに貼ってあるjavascript使ってとってきてもいいか）&lt;/li&gt;
&lt;li&gt;Yahoo Pipes使ってYahoo Japanの日本語形態素解析Webサービスに突っ込んで&lt;/li&gt;
&lt;li&gt;JSONPで結果を受け取って&lt;/li&gt;
&lt;li&gt;Amazon Webサービスをxslt使ってJSONP&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;したら、サーバサイドを書かずに＆だれかに依存せずに（YahooやAmazonにはするけど、。）&lt;br&gt;
コンテキストマッチするAmazonアフィリエイトをつくれるなぁ&lt;/p&gt;</description></item><item><title>[as3]FlexSDKでGoogleMaps API for Flash</title><link>https://maaash.jp/2008/06/as3flexsdk%E3%81%A7googlemaps-api-for-flash/</link><pubDate>Thu, 12 Jun 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/06/as3flexsdk%E3%81%A7googlemaps-api-for-flash/</guid><description>&lt;p&gt;&lt;a href="http://code.google.com/apis/maps/documentation/flash/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://code.google.com/apis/maps/documentation/flash/']);"&gt;Google Maps API for Flash&lt;/a&gt;お試し中&lt;br&gt;
例によってFlexSDK。&lt;br&gt;
ver: map_flex_1_4.swc&lt;/p&gt;
&lt;p&gt;いくつか異常に重い処理がある&lt;br&gt;
呼び出し順によってなんでこんなに違うんだ！？なんかよくわからないけど直った。&lt;/p&gt;
&lt;p&gt;Flex[23]SDKでやるとUIComponentの中に入れないから、Mapのサイズを手動設定しないといけない（？）んだけどそのタイミングによっては異常に時間がかかる（？）&lt;/p&gt;
&lt;p&gt;以下のならok&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;map&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Map&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;key&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Params&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;key&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;addChild&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;map&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addEventListener&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;MapEvent&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;MAP_READY&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;e&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;MapEvent&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;void&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;removeEventListener&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;MapEvent&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;MAP_READY&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#c678dd"&gt;arguments&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;callee&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;setSize&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;Point&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stage&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;stageWidth&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt;&lt;span style="color:#e06c75"&gt;stage&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;stageHeight&lt;/span&gt;) );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;setCenter&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;LatLng&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;Params&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;MAP_INITIAL_CENTER_LAT&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Params&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;MAP_INITIAL_CENTER_LNG&lt;/span&gt;)&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#d19a66"&gt;3&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;MapType&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;HYBRID_MAP_TYPE&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;enableScrollWheelZoom&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;enableContinuousZoom&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addControl&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PositionControl&lt;/span&gt;() );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addControl&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;ZoomControl&lt;/span&gt;() );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addControl&lt;/span&gt;( &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;MapTypeControl&lt;/span&gt;() );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;});
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addEventListener&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;MapMoveEvent&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;MOVE_END&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;e&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;MapMoveEvent&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;void&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//mapRefreshed();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;});
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;map&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;addEventListener&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;MapMouseEvent&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;CLICK&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;e&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;MapMouseEvent&lt;/span&gt;)&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;void&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;logger&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;[CLICK]pos: &amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;+&lt;/span&gt;&lt;span style="color:#e06c75"&gt;e&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;latLng&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;});
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;keyはこんなふうに設定するのがいいのかなぁ&lt;br&gt;
Paramsクラス&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#c678dd"&gt;static&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt; &lt;span style="color:#c678dd"&gt;get&lt;/span&gt; &lt;span style="color:#e06c75"&gt;key&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;String&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;loadedFrom&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;String&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;stage&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;loaderInfo&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;loaderURL&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;match&lt;/span&gt;(&lt;span style="color:#98c379"&gt;/^(https?:\/\/[^\/]+)/&lt;/span&gt;)[&lt;span style="color:#d19a66"&gt;1&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;flashvars&lt;/span&gt;[&lt;span style="color:#98c379"&gt;&amp;#34;key&amp;#34;&lt;/span&gt;] ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#e06c75"&gt;flashvars&lt;/span&gt;[&lt;span style="color:#98c379"&gt;&amp;#34;key&amp;#34;&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;switch&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;loadedFrom&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;case&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;http://production.com&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;key_for_production&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;case&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;http://dev.production.com&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;key_for_dev&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#34;key_for_localhost&amp;#34;&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>IEでlocation.hashがついてるとFlashにフォーカスが移った時にdocument.titleがlocation.hashに</title><link>https://maaash.jp/2008/06/ie%E3%81%A7locationhash%E3%81%8C%E3%81%A4%E3%81%84%E3%81%A6%E3%82%8B%E3%81%A8flash%E3%81%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%82%AB%E3%82%B9%E3%81%8C%E7%A7%BB%E3%81%A3%E3%81%9F%E6%99%82%E3%81%ABdocument/</link><pubDate>Fri, 06 Jun 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/06/ie%E3%81%A7locationhash%E3%81%8C%E3%81%A4%E3%81%84%E3%81%A6%E3%82%8B%E3%81%A8flash%E3%81%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%82%AB%E3%82%B9%E3%81%8C%E7%A7%BB%E3%81%A3%E3%81%9F%E6%99%82%E3%81%ABdocument/</guid><description>&lt;p&gt;なっちゃう。&lt;/p&gt;
&lt;p&gt;IE6,IE7で発生&lt;br&gt;
FF2はok&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.deftrash.com/blog/archives/2006/02/post_18.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.deftrash.com/blog/archives/2006/02/post_18.html']);"&gt;ウィンドウのタイトルが変わってしまう[flash]&lt;/a&gt;&lt;br&gt;
Flashにフォーカスが移った、ってのをFlash側のイベント使って検出してjs経由でdocument.title書き換える？&lt;/p&gt;</description></item><item><title>[as3]Marilena Object Detection in AS3</title><link>https://maaash.jp/2008/06/as3marilena-object-detection-in-as3/</link><pubDate>Thu, 05 Jun 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/06/as3marilena-object-detection-in-as3/</guid><description>&lt;p&gt;出しました。&lt;br&gt;
&lt;a href="http://www.libspark.org/wiki/mash/Marilena" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.libspark.org/wiki/mash/Marilena']);"&gt;&lt;a href="http://www.libspark.org/wiki/mash/Marilena" class="external-link" target="_blank" rel="noopener"&gt;http://www.libspark.org/wiki/mash/Marilena&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://level0.cuppy.co.jp/2008/06/marilena_object_detection_in_a.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://level0.cuppy.co.jp/2008/06/marilena_object_detection_in_a.php']);"&gt;&lt;a href="http://level0.cuppy.co.jp/2008/06/marilena_object_detection_in_a.php" class="external-link" target="_blank" rel="noopener"&gt;http://level0.cuppy.co.jp/2008/06/marilena_object_detection_in_a.php&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;詳しくは上の２つを見ていただくとして。&lt;br&gt;
実装してておもしろかったのは、&lt;br&gt;
&lt;a href="http://www.libspark.org/browser/as3/Marilena/trunk/src/jp/maaash/ObjectDetection/TargetImage.as" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.libspark.org/browser/as3/Marilena/trunk/src/jp/maaash/ObjectDetection/TargetImage.as']);"&gt;&lt;a href="http://www.libspark.org/browser/as3/Marilena/trunk/src/jp/maaash/ObjectDetection/TargetImage.as" class="external-link" target="_blank" rel="noopener"&gt;http://www.libspark.org/browser/as3/Marilena/trunk/src/jp/maaash/ObjectDetection/TargetImage.as&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
この辺り。&lt;br&gt;
最初全くわからなかったんだけれど、Integral Image というのを使って、ある範囲内の輝度の積分を高速に計算しています。&lt;/p&gt;
&lt;p&gt;integral imageについてはこちらが詳しい&lt;br&gt;
&lt;a href="http://www.ais.fraunhofer.de/~surmann/papers/icra2005/node12.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ais.fraunhofer.de/~surmann/papers/icra2005/node12.html']);"&gt;Feature Detection using Integral Images&lt;/a&gt;&lt;br&gt;
物体認識とかって技術の裏では、こういった算数のような細かい計算の高速化が大きなブレイクスルーだったりするんだなー、って感動した。&lt;/p&gt;</description></item><item><title>snmp/mrtgでプロセスの開いているファイルディスクリプタ数を監視</title><link>https://maaash.jp/2008/05/snmpmrtg%E3%81%A7%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E9%96%8B%E3%81%84%E3%81%A6%E3%81%84%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97/</link><pubDate>Fri, 30 May 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/05/snmpmrtg%E3%81%A7%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E9%96%8B%E3%81%84%E3%81%A6%E3%81%84%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97/</guid><description>&lt;p&gt;してみる&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#!/usr/bin/perl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;strict&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;warnings&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Unix::Lsof&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;use&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Unix::PID&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$pid&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Unix::PID&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#c678dd"&gt;new&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$red5_pid&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;$pid&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;get_pidof&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;search for a process by this string&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;unless&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;$red5_pid&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;print&lt;/span&gt; &lt;span style="color:#98c379"&gt;&amp;#39;0&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;exit&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;my&lt;/span&gt; ( &lt;span style="color:#e06c75"&gt;$output&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;$error&lt;/span&gt; ) &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;lsof&lt;/span&gt;( &lt;span style="color:#98c379"&gt;&amp;#39;-p&amp;#39;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;$red5_pid&lt;/span&gt;, &lt;span style="color:#98c379"&gt;&amp;#39;-w&amp;#39;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;my&lt;/span&gt; &lt;span style="color:#e06c75"&gt;@vals&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;values&lt;/span&gt; &lt;span style="color:#e06c75"&gt;%&lt;/span&gt;{&lt;span style="color:#e06c75"&gt;$output&lt;/span&gt;};
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;print&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;scalar&lt;/span&gt; &lt;span style="color:#e06c75"&gt;@&lt;/span&gt;{ &lt;span style="color:#e06c75"&gt;$vals&lt;/span&gt;[&lt;span style="color:#d19a66"&gt;0&lt;/span&gt;]{&lt;span style="color:#e06c75"&gt;files&lt;/span&gt;} };
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;snmpd.conf に&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;exec fd_mon /path/to/fd_mon.pl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;mrtg.cfg に&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Target[fd]: .1.3.6.1.4.1.2021.8.1.101.1&amp;amp;.1.3.6.1.4.1.2021.8.1.101.1:public@localhost 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;MaxBytes[fd]: 2000 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;YLegend[fd]: File Descriptors 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ShortLegend[fd]: 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LegendI[fd]: / File Descriptors 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LegendO[fd]: / 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Legend1[fd]: / File Descriptors 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Legend2[fd]: / 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Title[fd]: File Descriptors 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PageTop[fd]:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# File Descriptors
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>WindowsでC++からlibxml2を使う</title><link>https://maaash.jp/2008/05/windows%E3%81%A7c%E3%81%8B%E3%82%89libxml2%E3%82%92%E4%BD%BF%E3%81%86/</link><pubDate>Thu, 22 May 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/05/windows%E3%81%A7c%E3%81%8B%E3%82%89libxml2%E3%82%92%E4%BD%BF%E3%81%86/</guid><description>&lt;p&gt;環境は&lt;br&gt;
VisualC++2005ExpressEdition&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.zlatkovic.com/pub/libxml/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.zlatkovic.com/pub/libxml/']);"&gt;&lt;a href="http://www.zlatkovic.com/pub/libxml/" class="external-link" target="_blank" rel="noopener"&gt;http://www.zlatkovic.com/pub/libxml/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
こちらからWindows用バイナリをDL&lt;br&gt;
今のバージョンは libxml2-2.6.32+.win32.zip&lt;/p&gt;
&lt;p&gt;C/C++ 追加のインクルードディレクトリに libxml2/include　を追加&lt;br&gt;
リンカ 追加のライブラリディレクトリに libxml2/lib を追加&lt;/p&gt;
&lt;p&gt;こんなRSSを&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; ?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;rss&lt;/span&gt; &lt;span style="color:#e06c75"&gt;version=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;2.0&amp;#34;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;channel&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;&amp;lt;copyright&amp;gt;&lt;/span&gt;Copyright 2007-2008, ...&lt;span style="color:#e06c75"&gt;&amp;lt;/copyright&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snip..
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;こんな感じでパースできる&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;#include&lt;/span&gt; &lt;span style="color:#7f848e"&gt;&amp;lt;libxml /xmlmemory.h&amp;gt;&lt;/span&gt;&lt;span style="color:#7f848e"&gt; #include &amp;lt;/libxml&amp;gt; &amp;lt;libxml /parser.h&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;XMLParser&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;::&lt;/span&gt;&lt;span style="color:#e06c75"&gt;parse&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;string&lt;/span&gt; &lt;span style="color:#e06c75"&gt;filename&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;xmlDocPtr&lt;/span&gt; &lt;span style="color:#e06c75"&gt;doc&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;xmlParseFile&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;filename&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;c_str&lt;/span&gt;() );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;doc&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;NULL&lt;/span&gt; ) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;,&lt;span style="color:#98c379"&gt;&amp;#34;Document not parsed successfully. &lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;xmlNodePtr&lt;/span&gt; &lt;span style="color:#e06c75"&gt;cur&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;xmlDocGetRootElement&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;doc&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;cur&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;NULL&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;,&lt;span style="color:#98c379"&gt;&amp;#34;empty document&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;xmlFreeDoc&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;doc&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;xmlStrcmp&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;cur&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#e06c75"&gt;name&lt;/span&gt;, (&lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e06c75"&gt;xmlChar&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;) &lt;span style="color:#98c379"&gt;&amp;#34;rss&amp;#34;&lt;/span&gt;)) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;fprintf&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;stderr&lt;/span&gt;,&lt;span style="color:#98c379"&gt;&amp;#34;document of the wrong type, root node != rss&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;xmlFreeDoc&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;doc&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#d19a66"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;xmlChar&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;&lt;span style="color:#e06c75"&gt;version&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;xmlGetProp&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;cur&lt;/span&gt;, (&lt;span style="color:#c678dd"&gt;const&lt;/span&gt; &lt;span style="color:#e06c75"&gt;xmlChar&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;*&lt;/span&gt;)&lt;span style="color:#98c379"&gt;&amp;#34;version&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;printf&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;version: %s&lt;/span&gt;&lt;span style="color:#98c379"&gt;\n&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;version&lt;/span&gt;); &lt;span style="color:#7f848e"&gt;// &amp;#34;2.0&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;xmlFree&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;version&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;xmlFreeDoc&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;doc&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#d19a66"&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;めんどくさい&lt;/libxml&gt;&lt;/channel&gt;&lt;/rss&gt;&lt;/p&gt;</description></item><item><title>[as3][umap]PositionControlの位置を動かす</title><link>https://maaash.jp/2008/04/as3umappositioncontrol%E3%81%AE%E4%BD%8D%E7%BD%AE%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99/</link><pubDate>Wed, 09 Apr 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/04/as3umappositioncontrol%E3%81%AE%E4%BD%8D%E7%BD%AE%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99/</guid><description>&lt;p&gt;memo&lt;/p&gt;
&lt;p&gt;UMapラッパー自前クラスのコンストラクタはこんな&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;package&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// 省略
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#c678dd"&gt;class&lt;/span&gt; &lt;span style="color:#e06c75"&gt;MyUMap&lt;/span&gt; &lt;span style="color:#c678dd"&gt;extends&lt;/span&gt; &lt;span style="color:#e06c75"&gt;UMap&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// 省略
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;st&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;s&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;super&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;setSize&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;st&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;stageWidth&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt;&lt;span style="color:#e06c75"&gt;st&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;stageHeight&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//setMapType(&amp;#34;hybrid&amp;#34;); // normal / satellite
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;setCenter&lt;/span&gt;(&lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;LatLng&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;Params&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;MAP_INITIAL_CENTER_LAT&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Params&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;MAP_INITIAL_CENTER_LNG&lt;/span&gt;)&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#d19a66"&gt;2&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;animatePan&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;true&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;animateZoom&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;true&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;panSpeed&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#d19a66"&gt;10&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;enableScrollWheelZoom&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;false&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt; &lt;span style="color:#7f848e"&gt;// do this manually cause it zooms too much
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//zoomAtPointer = true; // looks like its useful when enabledScrollWheelZoom==true
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// define GoogleProvider with custom paths
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;settings&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;URLRequest&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;URLRequest&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;http://www.afcomponents.com/components/g_map_as3/settings.xml?rand=&amp;#34;&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;+&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;Math&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;random&lt;/span&gt;());
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;language&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;URLRequest&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;URLRequest&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;http://maps.google.com/maps?file=api&amp;amp;v=2&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;copyright&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;URLRequest&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;URLRequest&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#34;http://www.afcomponents.com/proxy/g_map_as3/copyright.php&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;control&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;provider&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;GoogleProvider&lt;/span&gt;(&lt;span style="color:#e5c07b"&gt;false&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#e06c75"&gt;settings&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#e06c75"&gt;language&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#e06c75"&gt;copyright&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;pc&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;PositionControl&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;PositionControl&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;pc&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;autoRepeat&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;true&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//pc.y = 50; // ng
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//pc.stackAlignment = PositionControl.RIGHT; // ng
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//pc.stackAlignment = PositionControl.CENTER; // ng
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//pc.stackPadding = new Point(100,100); // ボタンが離れる！
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;pc&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;offset&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Offset&lt;/span&gt;( &lt;span style="color:#d19a66"&gt;100&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt; &lt;span style="color:#d19a66"&gt;100&lt;/span&gt; ); &lt;span style="color:#7f848e"&gt;// positioncontrolが左上から100,100に
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;//pc.align = new Align( Align.RIGHT, Align.TOP ); // this is also ok
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;pc&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;refresh&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;addControl&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;pc&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;addControl&lt;/span&gt;(&lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;ZoomControl&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Becky!とPOPFileでアンチスパムまとめ（SSLの場合）</title><link>https://maaash.jp/2008/03/becky%E3%81%A8popfile%E3%81%A7%E3%82%A2%E3%83%B3%E3%83%81%E3%82%B9%E3%83%91%E3%83%A0%E3%81%BE%E3%81%A8%E3%82%81%EF%BC%88ssl%E3%81%AE%E5%A0%B4%E5%90%88%EF%BC%89/</link><pubDate>Fri, 28 Mar 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/03/becky%E3%81%A8popfile%E3%81%A7%E3%82%A2%E3%83%B3%E3%83%81%E3%82%B9%E3%83%91%E3%83%A0%E3%81%BE%E3%81%A8%E3%82%81%EF%BC%88ssl%E3%81%AE%E5%A0%B4%E5%90%88%EF%BC%89/</guid><description>&lt;p&gt;聞かれることが多いので。&lt;/p&gt;
&lt;p&gt;最新のBecky!をダウンロード&lt;br&gt;
&lt;a href="http://www.rimarts.co.jp/becky-j.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.rimarts.co.jp/becky-j.htm']);" title="Becky! Internet Mail"&gt; Becky! Internet Mail&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最新のPOPFileをダウンロード&lt;br&gt;
&lt;a href="http://getpopfile.org/docs/jp:download" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','']);"&gt;POPFile のダウンロード&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最新のBkPOPFileConをダウンロード&lt;br&gt;
&lt;a href="http://www.vector.co.jp/soft/dl/win95/net/se358355.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.vector.co.jp/soft/dl/win95/net/se358355.html']);"&gt;BkPOPFileCon&lt;/a&gt;&lt;br&gt;
（Becky!からPOPFileのスパム判定を修正するためのBecky!プラグイン）&lt;/p&gt;
&lt;p&gt;Becky!をインストール&lt;br&gt;
POPFileをインストール&lt;br&gt;
mecabの辞書とかとってくるのでネットにつながった状態で。&lt;/p&gt;
&lt;p&gt;POPFileインストール中に、&lt;br&gt;
コンポーネントを選んでください、と出るので、&lt;br&gt;
Optional Modules の下の SSL Support にチェック&lt;br&gt;
（2007/12月にリリースされた版からかな、これで楽になりました）&lt;/p&gt;
&lt;p&gt;インストール後、&lt;br&gt;
POPFileインストールオプション、というのが出てくる&lt;br&gt;
ユーザーインターフェースに使用するポート番号を選んでください、&lt;br&gt;
のところで、&lt;br&gt;
8080 だと他のソフトとぶつかる可能性があるので、&lt;br&gt;
8081 とかにする&lt;br&gt;
Windowsの起動時にPOPFileを自動的に起動、にチェック。&lt;/p&gt;
&lt;p&gt;それ以外は 次へ、次へ、ってやってると完了する。&lt;br&gt;
POPFileのユーザーインターフェースを起動する。&lt;br&gt;
ブラウザで。&lt;/p&gt;
&lt;p&gt;ここでバケツを作成します。ビジネスメール/個人メールとか、振り分けもできるんだけど&lt;br&gt;
自分はそういうふうには使っていないので、&lt;br&gt;
ひとまずデフォルトのバケツを全部削除して&lt;br&gt;
spam&lt;br&gt;
not_spam&lt;br&gt;
を作成。&lt;/p&gt;
&lt;p&gt;サマリーのところに、spam、not_spamが出てくるので&lt;br&gt;
件名の変更、隔離、のチェックをはずす。（これは好みか&lt;br&gt;
X-Text-Classificationヘッダー、X-POPFile-Linkヘッダーのチェックをつける。&lt;br&gt;
変更を適用、をクリック （これ忘れがち&lt;br&gt;
POPFileコントロールセンターの操作はここまで。&lt;/p&gt;
&lt;p&gt;Becky!を起動。&lt;/p&gt;
&lt;p&gt;Becky!の設定。&lt;br&gt;
ツール→メールボックスの設定→基本設定 のところ&lt;br&gt;
POP3サーバーのIPアドレスをどこかに書き留める。&lt;br&gt;
POP3サーバーを 127.0.0.1 に。&lt;br&gt;
POP3Sのチェックをはずす。&lt;br&gt;
SMTPサーバーはそのまま。ここではPOPFileをSMTPサーバとしては使いません。&lt;br&gt;
ユーザーIDに、&lt;br&gt;
ほんとのPOP3サーバのIPアドレス（↑で書きとめたやつ）:（コロン）ポート番号（995とか）：（コロン）ユーザーID：（コロン）ssl（小文字でエスエスエル）&lt;/p&gt;
&lt;p&gt;詳細タブへ。&lt;br&gt;
POP3のポート番号は110&lt;br&gt;
（127.0.0.1の110にPOPFileがいます）&lt;/p&gt;
&lt;p&gt;これでメール受信すると、メールが取れる（はず）。&lt;br&gt;
取れたメールを選んでみる（ここで選択しとくと、あとのフィルタリングマネージャでそのヘッダでサジェストしてくれるので選ぶだけ選んどくといい&lt;/p&gt;
&lt;p&gt;スパム用のフォルダを作成&lt;/p&gt;
&lt;p&gt;フィルタリングマネージャで、振り分け設定をつくります。&lt;br&gt;
Becky!のメニュー→ツール→フィルタリングマネージャ&lt;br&gt;
新規ルール をクリック&lt;br&gt;
条件の追加 をします&lt;/p&gt;</description></item><item><title>[as3][umap]Markerはvisibleな時のみx,yが更新される</title><link>https://maaash.jp/2008/03/as3umapmarker%E3%81%AFvisible%E3%81%AA%E6%99%82%E3%81%AE%E3%81%BFxy%E3%81%8C%E6%9B%B4%E6%96%B0%E3%81%95%E3%82%8C%E3%82%8B/</link><pubDate>Sun, 23 Mar 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/03/as3umapmarker%E3%81%AFvisible%E3%81%AA%E6%99%82%E3%81%AE%E3%81%BFxy%E3%81%8C%E6%9B%B4%E6%96%B0%E3%81%95%E3%82%8C%E3%82%8B/</guid><description>&lt;p&gt;Markerがvisibleでなければ、x,yが地図のpanやzoomしても再計算されない。最後にvisibleだった時のx,yのまま。&lt;/p&gt;
&lt;p&gt;多分地図範囲外に出たマーカーの位置計算を省略しようみたいな事だと思う。&lt;/p&gt;
&lt;p&gt;自分でマーカーのvisibleを切り替えたりしつつ消えてるマーカーとなにかをhitTestObjectしたときに、当らないな～って。&lt;/p&gt;
&lt;p&gt;そもそもhitTestObjectが、visibleでないものとできる、という点もmemo..&lt;/p&gt;
&lt;p&gt;UMap、オープンソースになりやがれ ！&lt;/p&gt;</description></item><item><title>[as3][umap]地図の左上からのピクセル数を取得</title><link>https://maaash.jp/2008/03/as3umap%E5%9C%B0%E5%9B%B3%E3%81%AE%E5%B7%A6%E4%B8%8A%E3%81%8B%E3%82%89%E3%81%AE%E3%83%94%E3%82%AF%E3%82%BB%E3%83%AB%E6%95%B0%E3%82%92%E5%8F%96%E5%BE%97/</link><pubDate>Wed, 19 Mar 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/03/as3umap%E5%9C%B0%E5%9B%B3%E3%81%AE%E5%B7%A6%E4%B8%8A%E3%81%8B%E3%82%89%E3%81%AE%E3%83%94%E3%82%AF%E3%82%BB%E3%83%AB%E6%95%B0%E3%82%92%E5%8F%96%E5%BE%97/</guid><description>&lt;p&gt;memo&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;package&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#c678dd"&gt;class&lt;/span&gt; &lt;span style="color:#e06c75"&gt;MyMarker&lt;/span&gt; &lt;span style="color:#c678dd"&gt;extends&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Marker&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt; &lt;span style="color:#e06c75"&gt;MyMarker&lt;/span&gt;(){}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// get x,y from left top of map
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;public&lt;/span&gt; &lt;span style="color:#c678dd"&gt;function&lt;/span&gt; &lt;span style="color:#e06c75"&gt;getXY&lt;/span&gt;()&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e5c07b"&gt;Point&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;mapBounds&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Bounds&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;core&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;getBoundsXY&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;myBounds&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#e06c75"&gt;Bounds&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;getBoundsXY&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;return&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;Point&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;myBounds&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;min&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;x&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&lt;/span&gt;&lt;span style="color:#e06c75"&gt;mapBounds&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;min&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;x&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;,&lt;/span&gt;&lt;span style="color:#e06c75"&gt;myBounds&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;min&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;y&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;-&lt;/span&gt;&lt;span style="color:#e06c75"&gt;mapBounds&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;min&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;y&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>google calendarをブログに貼り付けるテスト</title><link>https://maaash.jp/2008/03/google-calendar%E3%82%92%E3%83%96%E3%83%AD%E3%82%B0%E3%81%AB%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91%E3%82%8B%E3%83%86%E3%82%B9%E3%83%88/</link><pubDate>Mon, 17 Mar 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/03/google-calendar%E3%82%92%E3%83%96%E3%83%AD%E3%82%B0%E3%81%AB%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91%E3%82%8B%E3%83%86%E3%82%B9%E3%83%88/</guid><description>&lt;p&gt;2008/03/17に予定をたくさんいれてみました。&lt;/p&gt;</description></item><item><title>flex2sdkからFlashCS3のコンポーネントを使う</title><link>https://maaash.jp/2008/03/flex2sdk%E3%81%8B%E3%82%89flashcs3%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%82%92%E4%BD%BF%E3%81%86/</link><pubDate>Sun, 16 Mar 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/03/flex2sdk%E3%81%8B%E3%82%89flashcs3%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%82%92%E4%BD%BF%E3%81%86/</guid><description>&lt;p&gt;memo&lt;/p&gt;
&lt;p&gt;UMapを使ってて、&lt;br&gt;
umap.addControl( new PositionControl )&lt;br&gt;
でloadできないみたいな変なエラーが出るなと思ったら&lt;/p&gt;
&lt;p&gt;PositionControl は fl.core.UIComponent を継承している、って&lt;br&gt;
APIDocumentationに書いてある&lt;/p&gt;
&lt;p&gt;fl.coreとかを使うために、、&lt;/p&gt;
&lt;p&gt;&lt;a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=kb401493" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://kb.adobe.com/selfservice/viewContent.do?externalId=kb401493']);"&gt;Flex 2.0.1 patch for Adobe Flash CS3 Professional compatibility&lt;/a&gt;&lt;br&gt;
でpatchをdlしてあてる&lt;/p&gt;
&lt;p&gt;&lt;a href="http://labs.thesedays.com/2007/04/16/flash-cs3-swc-for-flexbuilder/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://labs.thesedays.com/2007/04/16/flash-cs3-swc-for-flexbuilder/']);"&gt;Flash CS3 swc for Flexbuilder&lt;/a&gt;&lt;br&gt;
からswcをdlして使う&lt;/p&gt;
&lt;p&gt;→ OK&lt;/p&gt;</description></item><item><title>irssi in iso-2022-jp</title><link>https://maaash.jp/2008/03/irssi-in-iso-2022-jp/</link><pubDate>Fri, 14 Mar 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/03/irssi-in-iso-2022-jp/</guid><description>&lt;p&gt;memo&lt;/p&gt;
&lt;p&gt;Execute&lt;br&gt;
&lt;tt&gt;/recode add #japanese ISO-2022-JP&lt;/tt&gt;&lt;br&gt;
which lets Irssi use ISO-2022-JP for the channel #japanese.&lt;br&gt;
by &lt;a href="http://www.japanese-irc.net/index.php/Channel:Encoding#Using_ISO-2022-JP_encoding_for_the_whole_network" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','']);"&gt;&lt;a href="http://www.japanese-irc.net/index.php/Channel:Encoding#Using_ISO-2022-JP_encoding_for_the_whole_network" class="external-link" target="_blank" rel="noopener"&gt;http://www.japanese-irc.net/index.php/Channel:Encoding#Using_ISO-2022-JP_encoding_for_the_whole_network&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>svkでファイルシステムが壊れています</title><link>https://maaash.jp/2008/03/svk%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%8C%E5%A3%8A%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99/</link><pubDate>Sat, 08 Mar 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/03/svk%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%8C%E5%A3%8A%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99/</guid><description>&lt;p&gt;added 20:32&lt;br&gt;
これは間違ってたっぽい、、、&lt;br&gt;
結局、&lt;br&gt;
svk remove //mirror/blah&lt;br&gt;
svk co &lt;a href="https://path.to/myrepos/blah" class="external-link" target="_blank" rel="noopener"&gt;https://path.to/myrepos/blah&lt;/a&gt; //mirror/blah&lt;br&gt;
した。。&lt;/p&gt;
&lt;p&gt;memo&lt;/p&gt;
&lt;p&gt;santrini% svk up blah.swf&lt;/p&gt;
&lt;p&gt;Syncing //mirror/blah/web/swf/blah.swf(/mirror/blah/web/swf/blah.swf) in /home/mo/blah/web/swf/blah.swf to 1019.&lt;br&gt;
ファイルシステムが壊れています: 表現の読み込み時にチェックサムが一致しませんでした:&lt;br&gt;
期待: 5799553f75a2fd8f392eb7da48992770&lt;br&gt;
実際: ebfb23b1d2e19bc7ad78fa40e3983cac&lt;/p&gt;
&lt;p&gt;ぎゃ&lt;/p&gt;
&lt;p&gt;&lt;a href="http://svn.haxx.se/users/archive-2007-03/0673.shtml" class="external-link" target="_blank" rel="noopener"&gt;http://svn.haxx.se/users/archive-2007-03/0673.shtml&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.opensubscriber.com/message/users@subversion.tigris.org/8537116.html" class="external-link" target="_blank" rel="noopener"&gt;http://www.opensubscriber.com/message/users@subversion.tigris.org/8537116.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;この辺りを参考に&lt;/p&gt;
&lt;p&gt;/home/mo/.svk/local/db/revs/1018&lt;br&gt;
の中のチェックサムを探して&lt;/p&gt;
&lt;p&gt;5799553f75a2fd8f392eb7da48992770&lt;br&gt;
↓&lt;br&gt;
00000000000000000000000000000000&lt;br&gt;
にしてみる&lt;/p&gt;
&lt;p&gt;santrini% svk st&lt;br&gt;
Use of uninitialized value in string ne at /usr/share/perl5/SVK/XD.pm line 1228.&lt;br&gt;
Use of uninitialized value in string ne at /usr/share/perl5/SVK/XD.pm line 1248.&lt;br&gt;
M swf/blah.swf&lt;/p&gt;
&lt;p&gt;この状態でもどうしようもないので、&lt;/p&gt;
&lt;p&gt;santrini% svk ci –direct blah.swf -m”[blah]trying to recover from corrupt”&lt;br&gt;
Use of uninitialized value in string ne at /usr/share/perl5/SVK/XD.pm line 1228.&lt;br&gt;
Use of uninitialized value in string ne at /usr/share/perl5/SVK/XD.pm line 1248.&lt;br&gt;
Use of uninitialized value in string ne at /usr/share/perl5/SVK/XD.pm line 1228.&lt;br&gt;
Use of uninitialized value in string ne at /usr/share/perl5/SVK/XD.pm line 1248.&lt;br&gt;
Committed revision 1020.&lt;/p&gt;</description></item><item><title>dbicadminの使い方memo</title><link>https://maaash.jp/2008/02/dbicadmin%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9memo/</link><pubDate>Fri, 29 Feb 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/02/dbicadmin%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9memo/</guid><description>&lt;p&gt;DBIx::Class::ResultSetのdelete_allを使って消してくれるから使うべし&lt;br&gt;
memo&lt;/p&gt;
&lt;p&gt;dbicadmin –op=delete –schema=MyClass::Schema –class=MyClass::Schema::TableName –connect=’[&amp;ldquo;dbi:mysql:dbname&amp;rdquo;,&amp;ldquo;username&amp;rdquo;,&amp;ldquo;password&amp;rdquo;,{&amp;ldquo;on_connect_do&amp;rdquo;:[&amp;ldquo;SET NAMES utf8&amp;rdquo;]}]’ –where=’{“me.id”:”338″}’&lt;/p&gt;
&lt;p&gt;何行消すかconfirmしてくれる&lt;/p&gt;
&lt;p&gt;そのまんまだと依存モジュールが代わっちゃったのか、–op=selectの時にみれないから&lt;br&gt;
/usr/local/bin/dbicadmin&lt;br&gt;
の99行目とかをコメントアウトして自分でダンプしてみる&lt;br&gt;
use YAML;&lt;br&gt;
print Dump(@fields).”|n”;&lt;/p&gt;</description></item><item><title>red5-0.6.3のインストールがivy:resolveでつまづいたら</title><link>https://maaash.jp/2008/02/red5-063%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%8Civyresolve%E3%81%A7%E3%81%A4%E3%81%BE%E3%81%A5%E3%81%84%E3%81%9F%E3%82%89/</link><pubDate>Thu, 21 Feb 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/02/red5-063%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%8Civyresolve%E3%81%A7%E3%81%A4%E3%81%BE%E3%81%A5%E3%81%84%E3%81%9F%E3%82%89/</guid><description>&lt;p&gt;red5-0.6.3はjava6でしかコンパイルできない&lt;/p&gt;
&lt;p&gt;build.xmlのあるフォルダでantってやると&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;retrieve:&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [echo] Ivy conf name: java5&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;No ivy:settings found for the default reference &amp;#39;ivy.instance&amp;#39;. A default instance will be used&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[ivy:resolve] :: Ivy 2.0.0-beta1 - 20071206070608 :: http://ant.apache.org/ivy/ ::&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;:: loading settings :: file = /home/mo/tmp/red5-20080221/ivysettings.xml&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[ivy:resolve] :: resolving dependencies :: red5#server;working@santrini&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[ivy:resolve] confs: [java5]&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[ivy:resolve] You probably access the destination server through a proxy server that is not well configured.&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[ivy:resolve] You probably access the destination server through a proxy server that is not well configured.&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;...略...&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;BUILD FAILED&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/home/mo/tmp/red5-20080221/build.xml:206: The following error occurred while executing this line:&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/home/mo/tmp/red5-20080221/build.xml:232: The following error occurred while executing this line:&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/home/mo/tmp/red5-20080221/build.xml:165: impossible to resolve dependencies:&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; resolve failed - see output for details&amp;lt;/p&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;p&amp;gt;Total time: 5 seconds&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ってなったらjava6をいれろってこと&lt;/p&gt;</description></item><item><title>mysqldumpでwhere節</title><link>https://maaash.jp/2008/02/mysqldump%E3%81%A7where%E7%AF%80/</link><pubDate>Wed, 06 Feb 2008 00:00:00 +0000</pubDate><guid>https://maaash.jp/2008/02/mysqldump%E3%81%A7where%E7%AF%80/</guid><description>&lt;p&gt;memo&lt;/p&gt;
&lt;p&gt;mysqldump dbname tablename “–where=id in(’3046′,’3047′,’3048′,’3049′,’3050′,’3051′,’3052′,’3053′)” -u username -p&lt;/p&gt;</description></item><item><title>Firefox3をFirefox2と共存させながら入れる方法</title><link>https://maaash.jp/2007/12/firefox3%E3%82%92firefox2%E3%81%A8%E5%85%B1%E5%AD%98%E3%81%95%E3%81%9B%E3%81%AA%E3%81%8C%E3%82%89%E5%85%A5%E3%82%8C%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Sat, 22 Dec 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/12/firefox3%E3%82%92firefox2%E3%81%A8%E5%85%B1%E5%AD%98%E3%81%95%E3%81%9B%E3%81%AA%E3%81%8C%E3%82%89%E5%85%A5%E3%82%8C%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;p&gt;インストール先は、デフォルトの、&lt;br&gt;
C:\Program Files\Mozilla Firefox 3 Beta 2&lt;/p&gt;
&lt;p&gt;今すぐ起動する、のチェックを「外す」！！！&lt;/p&gt;
&lt;p&gt;firefox.exeを起動しないまま！！、今後の作業を進める&lt;/p&gt;
&lt;p&gt;C:\Program Files\Mozilla Firefox 3 Beta 2のフォルダを開く&lt;/p&gt;
&lt;p&gt;firefox.exeのショートカットを作成&lt;/p&gt;
&lt;p&gt;作成したfirefox.exeのショートカットを右クリック→プロパティを開いて、&lt;br&gt;
リンク先を “C:\Program Files\Mozilla Firefox 3 Beta 2\firefox.exe” -p ff3.0&lt;br&gt;
とか、最後にプロファイル名を設定して、OK&lt;/p&gt;
&lt;p&gt;そのショートカットから起動&lt;/p&gt;
&lt;p&gt;新しいプロファイルを作成&lt;/p&gt;
&lt;p&gt;さっき入れた ff3.0 を入力&lt;/p&gt;
&lt;p&gt;それを選択して、firefoxを起動&lt;/p&gt;
&lt;p&gt;FF2.0の起動ショートカットを作成&lt;br&gt;
“C:\Program Files\Mozilla Firefox\firefox.exe” -p default&lt;/p&gt;
&lt;p&gt;デフォルトにしない方のFFのショートカットに、&lt;br&gt;
“C:\Program Files\Mozilla Firefox\firefox.exe” -p default -no-remote をつける&lt;br&gt;
多重起動可能に。&lt;/p&gt;
&lt;p&gt;このままだと、FF3.0に対応したプラグインしか入れられないので、ちょっとしたhack&lt;br&gt;
ff3.0 で about:config を開いて↓のキーを作成（真偽値）してfalseに設定&lt;br&gt;
extensions.checkUpdateSecurity&lt;br&gt;
extensions.checkCompatibility&lt;br&gt;
これ入れるとバージョンの確認をすっとばすらしい（自己責任でどうぞ）&lt;/p&gt;
&lt;p&gt;FirebugはFF3.0対応のをいれる&lt;/p&gt;
&lt;p&gt;&lt;a href="http://fireclipse.xucia.com/#Downloads" class="external-link" target="_blank" rel="noopener"&gt;http://fireclipse.xucia.com/#Downloads&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;greasemonkey &lt;a href="http://youngpup.net/z_dropbox/greasemonkey-0.8.20071208.0.xpi" class="external-link" target="_blank" rel="noopener"&gt;http://youngpup.net/z_dropbox/greasemonkey-0.8.20071208.0.xpi&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;jautopagerize&lt;/p&gt;
&lt;p&gt;&lt;a href="http://svn.coderepos.org/share/lang/javascript/userscripts/jautopagerize.user.js" class="external-link" target="_blank" rel="noopener"&gt;http://svn.coderepos.org/share/lang/javascript/userscripts/jautopagerize.user.js&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;typester++&lt;/p&gt;</description></item><item><title>linux版hamachi起動memo</title><link>https://maaash.jp/2007/11/linux%E7%89%88hamachi%E8%B5%B7%E5%8B%95memo/</link><pubDate>Sun, 18 Nov 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/11/linux%E7%89%88hamachi%E8%B5%B7%E5%8B%95memo/</guid><description>&lt;p&gt;sudo /sbin/tuncfg&lt;br&gt;
hamachi start&lt;/p&gt;
&lt;p&gt;tuncfgを忘れちゃうんだ&lt;/p&gt;</description></item><item><title>IE7のフィッシング詐欺検出の誤検出を防ぐ</title><link>https://maaash.jp/2007/09/ie7%E3%81%AE%E3%83%95%E3%82%A3%E3%83%83%E3%82%B7%E3%83%B3%E3%82%B0%E8%A9%90%E6%AC%BA%E6%A4%9C%E5%87%BA%E3%81%AE%E8%AA%A4%E6%A4%9C%E5%87%BA%E3%82%92%E9%98%B2%E3%81%90/</link><pubDate>Sat, 29 Sep 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/09/ie7%E3%81%AE%E3%83%95%E3%82%A3%E3%83%83%E3%82%B7%E3%83%B3%E3%82%B0%E8%A9%90%E6%AC%BA%E6%A4%9C%E5%87%BA%E3%81%AE%E8%AA%A4%E6%A4%9C%E5%87%BA%E3%82%92%E9%98%B2%E3%81%90/</guid><description>&lt;p&gt;最近つくってたサイトで、IE7のフィッシング詐欺検出の誤検出をされた。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.exconn.net/Blogs/windows/archive/2006/05/12/10695.aspx" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.exconn.net/Blogs/windows/archive/2006/05/12/10695.aspx']);"&gt;IE7 – フィッシング詐欺検出機能&lt;/a&gt;&lt;br&gt;
このページにある、「疑いのあるウェブサイト」っていうアラート。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;一方、マイクロソフトのサーバーで管理するフィッシングサイト リストに該当するものはないものの、サイトの特徴からフィッシングサイトと高い確率で疑われるサイトは次のように警告画面が表示されます。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;少し調べたけど、フィッシング詐欺検出のアルゴリズムに関する詳細は見つからないけれど、&lt;br&gt;
&lt;a href="http://blogs.msdn.com/ie/archive/2005/09/09/463204.aspx" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://blogs.msdn.com/ie/archive/2005/09/09/463204.aspx']);"&gt;Phishing Filter in IE7&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Phishing Filter has a machine learning filter and it uses heuristics to determine if a particular web site looks suspicious or not by looking for characteristics in the page that are common in phishing scams. Since the Phishing Filter heuristics are based on a learning machine, there might be a case where an actual phishing site may not even be flagged as suspicious (false negatives) and some sites which are legitimate could be marked as suspicious (false positive).&lt;/p&gt;</description></item><item><title>Flickrのピンクのr</title><link>https://maaash.jp/2007/09/flickr%E3%81%AE%E3%83%94%E3%83%B3%E3%82%AF%E3%81%AEr/</link><pubDate>Sun, 23 Sep 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/09/flickr%E3%81%AE%E3%83%94%E3%83%B3%E3%82%AF%E3%81%AEr/</guid><description>&lt;p&gt;ひさびさにFlickrAPIでなんかしてみたいなと思って&lt;a href="http://flickr.com/services/api/tos/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://flickr.com/services/api/tos/']);"&gt;Flickr APIs Terms of Use&lt;/a&gt;をみてみた&lt;/p&gt;
&lt;p&gt;“flickr”または、その前に”e”の無いピンクの”r”をアプリのホスト名に使ってはならない。&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol start="3"&gt;
&lt;li&gt;
&lt;p&gt;Attribution.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You shall not use “flickr” or a pink “r” without a preceding “e” in the hostname of your application, i.e. flickr.mydomain.com&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;おもろい。hostnameの話にpinkとかってあれだけど&lt;/p&gt;</description></item><item><title>as3で「この API を使用して RTMP コンテンツにアクセスすることはできません。」なエラー</title><link>https://maaash.jp/2007/09/as3%E3%81%A7%E3%80%8C%E3%81%93%E3%81%AE-api-%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6-rtmp-%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99/</link><pubDate>Sat, 22 Sep 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/09/as3%E3%81%A7%E3%80%8C%E3%81%93%E3%81%AE-api-%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6-rtmp-%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99/</guid><description>&lt;p&gt;Debug版FlashPlayer使ってたらこんなエラーが出てた。&lt;/p&gt;
&lt;p&gt;SecurityError: Error #2135: セキュリティサンドボックス侵害 : BitmapData.draw:http://………….swf は null にアクセスできません。この API を使用して RTMP コンテンツにアクセスすることはできません。&lt;br&gt;
at flash.display::BitmapData/draw()&lt;br&gt;
at PanelPlay/::onEnterFrameDemo()&lt;/p&gt;
&lt;p&gt;なんだろうクロスドメインでもないしと思ってたら&lt;/p&gt;
&lt;p&gt;Event.ENTER_FRAMEのイベントで&lt;br&gt;
VideoをbitmapDataにマトリクス使いながらdrawしてたんだけど、&lt;br&gt;
このVideoにattachNetStreamでひもづいてた&lt;br&gt;
NetStreamをcloseした後にdrawしてエラーってたっぽい。&lt;br&gt;
videoをcloseした後drawしなくすればok&lt;/p&gt;</description></item><item><title>計算機プログラムの構造と解釈第二版 備考おもろい</title><link>https://maaash.jp/2007/09/%E8%A8%88%E7%AE%97%E6%A9%9F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E6%A7%8B%E9%80%A0%E3%81%A8%E8%A7%A3%E9%87%88%E7%AC%AC%E4%BA%8C%E7%89%88-%E5%82%99%E8%80%83%E3%81%8A%E3%82%82%E3%82%8D/</link><pubDate>Sat, 22 Sep 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/09/%E8%A8%88%E7%AE%97%E6%A9%9F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E6%A7%8B%E9%80%A0%E3%81%A8%E8%A7%A3%E9%87%88%E7%AC%AC%E4%BA%8C%E7%89%88-%E5%82%99%E8%80%83%E3%81%8A%E3%82%82%E3%82%8D/</guid><description>&lt;p&gt;ゆっくり。&lt;br&gt;
また備考がおもしろい&lt;/p&gt;
&lt;p&gt;p.29&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ランダムに選んだ非常に大きい数の素数性のテストで, Fermatテストをだます数に遭遇する確率は, 宇宙線が計算機の「正しい」アルゴリズムに誤りを生じさせる確率より小さい. アルゴリズムが前の理由から不適切であり, 後の理由からとしないのは, 数学と工学の違いを見せる.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>SoundMixer.computeSpectrumをrtmpで動かしたい</title><link>https://maaash.jp/2007/09/soundmixercomputespectrum%E3%82%92rtmp%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%97%E3%81%9F%E3%81%84/</link><pubDate>Sun, 09 Sep 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/09/soundmixercomputespectrum%E3%82%92rtmp%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%97%E3%81%9F%E3%81%84/</guid><description>&lt;p&gt;red5で録画/録音した直後にFFTして見せたいんだけど&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;SecurityError: Error #2135: セキュリティサンドボックス侵害 : SoundMixer.computeSpectrum:http://192.168.0.85/swf/VoicePlayer.swf は rtmp://192.168.0.85/messageRecorder にアクセスできません。この API を使用して RTMP コンテンツにアクセスすることはできません。&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	at flash.media::SoundMixer$/computeSpectrum()&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	at VoicePlayer/::onEnterFrame()&amp;lt;br /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とかエラーダイアログ出る。&lt;/p&gt;
&lt;p&gt;どうすりゃいいんだ誰かおしえてください！！&lt;/p&gt;
&lt;p&gt;red5のstreamsフォルダをシンボリックリンクでドキュメントルートの下に置いて、&lt;br&gt;
rtmpじゃなくて読みに行けばいけるけど、なんか負けた気がする..&lt;/p&gt;
&lt;p&gt;あと Microphone.activityLevel みたいなのって再生時に取れないのかな、再生してる音声の音量。&lt;br&gt;
SoundMixer.computeSpectrum を積分するかな。&lt;/p&gt;</description></item><item><title>計算機プログラムの構造と解釈 第二版 読み始めた</title><link>https://maaash.jp/2007/09/%E8%A8%88%E7%AE%97%E6%A9%9F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E6%A7%8B%E9%80%A0%E3%81%A8%E8%A7%A3%E9%87%88-%E7%AC%AC%E4%BA%8C%E7%89%88-%E8%AA%AD%E3%81%BF%E5%A7%8B%E3%82%81%E3%81%9F/</link><pubDate>Sun, 09 Sep 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/09/%E8%A8%88%E7%AE%97%E6%A9%9F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E6%A7%8B%E9%80%A0%E3%81%A8%E8%A7%A3%E9%87%88-%E7%AC%AC%E4%BA%8C%E7%89%88-%E8%AA%AD%E3%81%BF%E5%A7%8B%E3%82%81%E3%81%9F/</guid><description>&lt;p&gt;まだ最初の方、なにげに備考がおもしろいな&lt;/p&gt;
&lt;p&gt;p.12&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「その考え方は,解釈系を十分技巧的にし,プログラムが指定した「何である」の知識があれば,自動的に「どうする」の知識が生成できるようにしようというのである. これは一般的には出来ないが,進展の見えた重要な領域もある.」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;すげー、期待。&lt;/p&gt;
&lt;p&gt;p.13&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「多くのLispの実装では,あまり違いはないが,MITのSchemeでは,正確な整数と小数は区別し,二つの整数の除算は小数ではなく,有理数を作る.例えば10を6で割ると5/3になるが,10.0を6.0で割ると1.66666[引用略]7になる.」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Schemeすげーーーーーーーー&lt;br&gt;
Schemeはじめる。&lt;/p&gt;
&lt;div class="amazlet-box" style="margin-bottom:0px;"&gt;
&lt;div class="amazlet-image" style="float:left;"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/489471163X/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/489471163X/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/G/09/icons/books/comingsoon_books.gif" alt="計算機プログラムの構造と解釈" style="border: none;" alt="no image" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"&gt;
&lt;div class="amazlet-name" style="margin-bottom:10px;line-height:120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/489471163X/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/489471163X/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;計算機プログラムの構造と解釈&lt;/a&gt; &lt;div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/489471163X/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/489471163X/masaishere-22']);" title="計算機プログラムの構造と解釈" target="_blank"&gt;amazlet&lt;/a&gt; on 07.09.09
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-detail"&gt;
 ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン Gerald Jay Sussman Julie Sussman Harold Abelson 和田 英一 &lt;br /&gt;ピアソンエデュケーション (2000/02)&lt;br /&gt;売り上げランキング: 26191
&lt;/div&gt;
&lt;div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"&gt;
&lt;div class="amazlet-review-average" style="margin-bottom:5px"&gt;
 おすすめ度の平均: ⭐3.0
&lt;/div&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;⭐1 この第２版の日本語訳は大変よくない&lt;br /&gt;⭐3 原著の対訳本としてなら&lt;br /&gt;⭐3 洋書で読みましょう&lt;/div&gt; &lt;div class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/489471163X/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/489471163X/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;div class="amazlet-footer" style="clear: left"&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
 訳がよくないのには同意。
 &amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>AirGuitarWorldChampionships2007</title><link>https://maaash.jp/2007/09/airguitarworldchampionships2007/</link><pubDate>Thu, 06 Sep 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/09/airguitarworldchampionships2007/</guid><description>&lt;p&gt;&lt;a href="http://www.airguitarworldchampionships.com/home" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.airguitarworldchampionships.com/home']);"&gt;AirGuitarWorldChampionships&lt;/a&gt;&lt;br&gt;
略してAGWC.&lt;br&gt;
AGWC2007は9/7（あした！）にGrandFinalらしい。&lt;/p&gt;
&lt;p&gt;AiｒGuitarの世界一はOchi “Dainoji” Yosukeって日本人らしい..&lt;/p&gt;
&lt;p&gt;ギター上に放り投げて返ってくるとかすげー&lt;br&gt;
これは去年優勝したときの動画かな&lt;/p&gt;</description></item><item><title>FlashDevelop3.0.0Beta3、もうすぐブレークポイント貼れるっぽい</title><link>https://maaash.jp/2007/09/flashdevelop300beta3%E3%80%81%E3%82%82%E3%81%86%E3%81%99%E3%81%90%E3%83%96%E3%83%AC%E3%83%BC%E3%82%AF%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E8%B2%BC%E3%82%8C%E3%82%8B%E3%81%A3%E3%81%BD%E3%81%84/</link><pubDate>Sat, 01 Sep 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/09/flashdevelop300beta3%E3%80%81%E3%82%82%E3%81%86%E3%81%99%E3%81%90%E3%83%96%E3%83%AC%E3%83%BC%E3%82%AF%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E8%B2%BC%E3%82%8C%E3%82%8B%E3%81%A3%E3%81%BD%E3%81%84/</guid><description>&lt;p&gt;いい感じ。&lt;br&gt;
Outlineタブでクラスの継承っぷりとか見れるのは便利だけど、コード補完ならemacsでもできるしなー&lt;/p&gt;
&lt;p&gt;ExternalInterfaceが利かないのは痛いかも。&lt;br&gt;
組み込みのFlashPlayerでは、ExternalInterface.availableはtrueを返すけど、&lt;br&gt;
ExternalInterface.callはスルーされる。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-actionscript" data-lang="actionscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e5c07b"&gt;ExternalInterface&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;call&lt;/span&gt;( &lt;span style="color:#98c379"&gt;&amp;#34;function(){ alert(&amp;#39;c&amp;#39;); }&amp;#34;&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とか書いてもしれーっと次の行に進む。&lt;/p&gt;
&lt;p&gt;F5で実行すると、Outputタブにはこんなふうにでてる。&lt;br&gt;
Adobe fdb (Flash Player Debugger) [ビルド 159086]&lt;br&gt;
Copyright (c) 2004-2006 Adobe, Inc. All rights reserved.&lt;br&gt;
(fdb) run&lt;br&gt;
Player が接続するのを待っています&lt;br&gt;
Player が接続されました。セッションを開始しています。&lt;br&gt;
ブレークポイントを設定して「continue」と入力し、セッションを再開してください。&lt;br&gt;
[SWF] C:\works_data\flex2\mysrc\TestFlashDevelop\TestFlashDevelop.swf – 4,863 バイト (解凍後)&lt;br&gt;
(fdb) continue&lt;br&gt;
ほー&lt;/p&gt;
&lt;p&gt;FlashDevelopのフォーラムに、&lt;br&gt;
&lt;a href="http://www.flashdevelop.org/community/viewtopic.php?t=1619&amp;#038;start=0&amp;#038;sid=004fe466ac68a0e3de81f859f2db4d09" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.flashdevelop.org/community/viewtopic.php?t=1619&amp;start=0&amp;sid=004fe466ac68a0e3de81f859f2db4d09']);"&gt;where is the debugger or host application running?&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Good news everyone – in the latest development releases you’ll see I managed to host the Flex debugger for traces capture (breakpoints debugging is planned in the future)&lt;/p&gt;</description></item><item><title>アイディアとは</title><link>https://maaash.jp/2007/09/%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A3%E3%82%A2%E3%81%A8%E3%81%AF/</link><pubDate>Sat, 01 Sep 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/09/%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A3%E3%82%A2%E3%81%A8%E3%81%AF/</guid><description>&lt;p&gt;&lt;a href="http://www.1101.com/iwata/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.1101.com/iwata/index.html']);"&gt;アイディアとはなにか？[1101.com]&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;宮本さんによれば、&lt;br&gt;
「アイデアというのは&lt;br&gt;
　複数の問題を一気に解決するものである」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;なるほどそうかも。&lt;/p&gt;</description></item><item><title>鎌倉山らい亭でお蕎麦と散歩</title><link>https://maaash.jp/2007/08/%E9%8E%8C%E5%80%89%E5%B1%B1%E3%82%89%E3%81%84%E4%BA%AD%E3%81%A7%E3%81%8A%E8%95%8E%E9%BA%A6%E3%81%A8%E6%95%A3%E6%AD%A9/</link><pubDate>Fri, 31 Aug 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/08/%E9%8E%8C%E5%80%89%E5%B1%B1%E3%82%89%E3%81%84%E4%BA%AD%E3%81%A7%E3%81%8A%E8%95%8E%E9%BA%A6%E3%81%A8%E6%95%A3%E6%AD%A9/</guid><description>&lt;p&gt;夏休み、思いたって鎌倉山らい亭へお蕎麦を食べに。&lt;br&gt;
蕎麦は普通だけれど、庭が素敵なのと、店の人がいい人だ。&lt;/p&gt;
&lt;p&gt;庭は写真のとおり。京都の清水寺かと。細部まで期待を裏切ることが無い。&lt;br&gt;
人も同じ。言葉の使い方、表情からなにから心地よい。&lt;br&gt;
自然に囲まれてると人もよくなるんだろうな。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://imatt.jp/wp-content/uploads/2007/08/20070831141319.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://imatt.jp/wp-content/uploads/2007/08/20070831141319.jpg']);" title="鎌倉山らい亭"&gt;&lt;img src="https://imatt.jp/wp-content/uploads/2007/08/20070831141319.thumbnail.jpg" alt="鎌倉山らい亭" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://imatt.jp/wp-content/uploads/2007/08/20070831141345.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://imatt.jp/wp-content/uploads/2007/08/20070831141345.jpg']);" title="鎌倉山らい亭"&gt;&lt;img src="https://imatt.jp/wp-content/uploads/2007/08/20070831141345.jpg" alt="鎌倉山らい亭" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://imatt.jp/wp-content/uploads/2007/08/20070831141417.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://imatt.jp/wp-content/uploads/2007/08/20070831141417.jpg']);" title="鎌倉山らい亭"&gt;&lt;img src="https://imatt.jp/wp-content/uploads/2007/08/20070831141417.jpg" alt="鎌倉山らい亭" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://imatt.jp/wp-content/uploads/2007/08/20070831141951.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://imatt.jp/wp-content/uploads/2007/08/20070831141951.jpg']);" title="鎌倉山らい亭"&gt;&lt;img src="https://imatt.jp/wp-content/uploads/2007/08/20070831141951.jpg" alt="鎌倉山らい亭" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://imatt.jp/wp-content/uploads/2007/08/20070831144139.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://imatt.jp/wp-content/uploads/2007/08/20070831144139.jpg']);" title="鎌倉山らい亭"&gt;&lt;img src="https://imatt.jp/wp-content/uploads/2007/08/20070831144139.jpg" alt="鎌倉山らい亭" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://imatt.jp/wp-content/uploads/2007/08/20070831144553.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://imatt.jp/wp-content/uploads/2007/08/20070831144553.jpg']);" title="鎌倉山らい亭"&gt;&lt;img src="https://imatt.jp/wp-content/uploads/2007/08/20070831144553.jpg" alt="鎌倉山らい亭" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://imatt.jp/wp-content/uploads/2007/08/20070831144722.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://imatt.jp/wp-content/uploads/2007/08/20070831144722.jpg']);" title="鎌倉山らい亭"&gt;&lt;img src="https://imatt.jp/wp-content/uploads/2007/08/20070831144722.jpg" alt="鎌倉山らい亭" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://imatt.jp/wp-content/uploads/2007/08/20070831145109.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://imatt.jp/wp-content/uploads/2007/08/20070831145109.jpg']);" title="鎌倉山らい亭"&gt;&lt;img src="https://imatt.jp/wp-content/uploads/2007/08/20070831145109.jpg" alt="鎌倉山らい亭" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;全身10ヶ所くらい蚊に食われたけど。&lt;/p&gt;</description></item><item><title>音と周波数</title><link>https://maaash.jp/2007/08/%E9%9F%B3%E3%81%A8%E5%91%A8%E6%B3%A2%E6%95%B0/</link><pubDate>Thu, 30 Aug 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/08/%E9%9F%B3%E3%81%A8%E5%91%A8%E6%B3%A2%E6%95%B0/</guid><description>&lt;p&gt;ちょっとリサーチ。&lt;/p&gt;
&lt;p&gt;音：ラは440Hz。１オクターブ上がると880Hz&lt;br&gt;
他の音でも、１オクターブ上がると倍になる&lt;br&gt;
半音を含めると、ラから１オクターブ上のラまでは１２音ある&lt;br&gt;
それを均等に割る&lt;br&gt;
∴半音あがると、2の1/12乗倍になる&lt;br&gt;
これを１２等分平均律という&lt;/p&gt;
&lt;p&gt;その計算結果の表がこちら。internet-archive素敵&lt;br&gt;
&lt;a href="http://web.archive.org/web/20060313144239/http://members.at.infoseek.co.jp/ongakugaku/back/pitch.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','']);"&gt;音程と周波数の対応表&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ただし、１２等分平均律では、和音のはもりがいまいち。&lt;br&gt;
人間は、２つの音が整数の分数から為る比率をもつ時、心地よく感じるらしいけど、&lt;br&gt;
2の1/12乗倍だと、その割合にはならないから。&lt;br&gt;
それに対して、純正律、という音/周波数のマップを使えば、心地いい。でも・・・&lt;/p&gt;
&lt;p&gt;ご参考&lt;br&gt;
&lt;a href="http://homepage1.nifty.com/toshio-k/inspi/interval.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://homepage1.nifty.com/toshio-k/inspi/interval.html']);"&gt;音程について&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;間違ってたら訂正くださーい&lt;/p&gt;</description></item><item><title>Opera9.23でwmode=transparentだとExternalInterface.callが動かない</title><link>https://maaash.jp/2007/08/opera923%E3%81%A7wmodetransparent%E3%81%A0%E3%81%A8externalinterfacecall%E3%81%8C%E5%8B%95%E3%81%8B%E3%81%AA%E3%81%84/</link><pubDate>Mon, 27 Aug 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/08/opera923%E3%81%A7wmodetransparent%E3%81%A0%E3%81%A8externalinterfacecall%E3%81%8C%E5%8B%95%E3%81%8B%E3%81%AA%E3%81%84/</guid><description>&lt;p&gt;wmode=transparent指定はずすとExternalInterface.call動く&lt;br&gt;
ExternalInterface.availableはtrueを返してくる&lt;/p&gt;
&lt;p&gt;Operaのバグ?&lt;br&gt;
&lt;a href="http://my.opera.com/japanese/forums/topic.dml?id=190765" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://my.opera.com/japanese/forums/topic.dml?id=190765']);"&gt;9.21でFlashPlayerの不具合？&lt;/a&gt;&lt;br&gt;
Opera–&lt;/p&gt;</description></item><item><title>faviconつくった</title><link>https://maaash.jp/2007/08/favicon%E3%81%A4%E3%81%8F%E3%81%A3%E3%81%9F/</link><pubDate>Sun, 26 Aug 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/08/favicon%E3%81%A4%E3%81%8F%E3%81%A3%E3%81%9F/</guid><description>&lt;p&gt;ここで、ドット絵描いてつくった&lt;br&gt;
&lt;a href="http://www.degraeve.com/favicon/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.degraeve.com/favicon/']);"&gt; &lt;a href="http://www.degraeve.com/favicon/" class="external-link" target="_blank" rel="noopener"&gt;http://www.degraeve.com/favicon/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ドメイン名の imatt.jp に点が３つあって、それをモチーフにしてみた&lt;/p&gt;</description></item><item><title>wordpress,lighttpdのpermalink設定</title><link>https://maaash.jp/2007/08/wordpresslighttpd%E3%81%AEpermalink%E8%A8%AD%E5%AE%9A/</link><pubDate>Sun, 26 Aug 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/08/wordpresslighttpd%E3%81%AEpermalink%E8%A8%AD%E5%AE%9A/</guid><description>&lt;p&gt;デフォルトの &lt;a href="http://imatt.jp/?p=123" class="external-link" target="_blank" rel="noopener"&gt;http://imatt.jp/?p=123&lt;/a&gt; こんなのじゃかっこわるいので変える。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://imatt.jp/" class="external-link" target="_blank" rel="noopener"&gt;http://imatt.jp/&lt;/a&gt;_category_name_/_entry_name_/&lt;/p&gt;
&lt;p&gt;にしてみる&lt;br&gt;
カスタム構造: /%category%/%postname%/&lt;/p&gt;
&lt;p&gt;lighttpdの設定はこの辺りを参考に&lt;br&gt;
&lt;a href="http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/']);"&gt;&lt;a href="http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/" class="external-link" target="_blank" rel="noopener"&gt;http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;カテゴリーをタグのように使っていこうと思っているので、&lt;br&gt;
複数カテゴリーに入れた時にどんなurlになるか、&lt;br&gt;
&lt;a href="http://codex.xwd.jp/index.php/Using_Permalinks" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://codex.xwd.jp/index.php/Using_Permalinks']);"&gt;&lt;a href="http://codex.xwd.jp/index.php/Using_Permalinks" class="external-link" target="_blank" rel="noopener"&gt;http://codex.xwd.jp/index.php/Using_Permalinks&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;エントリーに複数カテゴリを指定している場合の%category%タグの挙動&lt;br&gt;
エントリーに複数カテゴリを指定している場合、パーマリンクにはもっとも番号の若いカテゴリーのみが表示されます。 (Manage Categoriesを参照のこと). ただし、どちらのカテゴリーを指定してもアクセスは可能です。&lt;br&gt;
たとえば、wp1というカテゴリとwp2というカテゴリを指定している場合、通常表示されるのは番号の若い/wp1/%postname%/のみですが、/wp1/%postname%/でも/wp2/%postname%/でもアクセスは可能となります。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>wordpressプラグイン入れた</title><link>https://maaash.jp/2007/08/wordpress%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E5%85%A5%E3%82%8C%E3%81%9F/</link><pubDate>Sun, 26 Aug 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/08/wordpress%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E5%85%A5%E3%82%8C%E3%81%9F/</guid><description>&lt;p&gt;&lt;strong&gt;&lt;a href="http://leekelleher.com/wordpress/plugins/category-cloud-widget/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://leekelleher.com/wordpress/plugins/category-cloud-widget/']);" title="プラグイン解説ページへ"&gt;Category Cloud Widget&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
タグクラウドのプラグインもあるけど、カテゴリーでできるならそれでいいじゃん&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.arnebrachhold.de/2005/06/05/google-sitemaps-generator-v2-final" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.arnebrachhold.de/2005/06/05/google-sitemaps-generator-v2-final']);" title="プラグイン解説ページへ"&gt;Google Sitemaps&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://mnm.uib.es/gallir/wp-cache-2/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mnm.uib.es/gallir/wp-cache-2/']);" title="プラグイン解説ページへ"&gt;wp-cache&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;後でキャッシュの更新タイミング調べる&lt;br&gt;
とりあえずサイドバーの構成変えてもキャッシュクリアされてなかった&lt;/p&gt;</description></item><item><title>Hello world! w. WordPress</title><link>https://maaash.jp/2007/08/hello-world/</link><pubDate>Sat, 25 Aug 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/08/hello-world/</guid><description>&lt;p&gt;WordPressはじめた。&lt;/p&gt;
&lt;p&gt;MT4選ばなかったのは、lighttpd+FastCGI+MT4の情報が少なかったから。&lt;/p&gt;
&lt;p&gt;第一印象、tiny_mceが使いにくい。。コードタブで記事編集しよう。&lt;/p&gt;</description></item><item><title>運営者変更について</title><link>https://maaash.jp/2007/05/%E9%81%8B%E5%96%B6%E8%80%85%E5%A4%89%E6%9B%B4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</link><pubDate>Wed, 02 May 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/05/%E9%81%8B%E5%96%B6%E8%80%85%E5%A4%89%E6%9B%B4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</guid><description>&lt;p&gt;本サイト、ドメインの運営者が変わります。&lt;br&gt;
ここで配布していたアプリは今までどおりのメールアドレスで今までどおりのサポートを行います。&lt;/p&gt;
&lt;p&gt;slightlyblue.com に移ってから、約1年かー、長いようで、あっという間でしたね。&lt;/p&gt;
&lt;p&gt;では、またいつか、どこかで。&lt;/p&gt;</description></item><item><title>FlashLite1.1の限界と携帯版Gmailで添付ファイルを見る方法</title><link>https://maaash.jp/2007/04/flashlite11%E3%81%AE%E9%99%90%E7%95%8C%E3%81%A8%E6%90%BA%E5%B8%AF%E7%89%88gmail%E3%81%A7%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%A6%8B%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Fri, 20 Apr 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/04/flashlite11%E3%81%AE%E9%99%90%E7%95%8C%E3%81%A8%E6%90%BA%E5%B8%AF%E7%89%88gmail%E3%81%A7%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%A6%8B%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;p&gt;&lt;a href="http://b.hatena.ne.jp/entry/http://mfv.kayac.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','']);"&gt;Mobile File Viewer　-携帯でPCのドキュメントが無料で見られるツール-&lt;/a&gt;&lt;br&gt;
これはすごい。&lt;/p&gt;
&lt;p&gt;FlashLite1.1の限界に近いと思う。&lt;br&gt;
FlashLite1.1って、webでリッチな表現をしようと思った時に、&lt;br&gt;
htmlの次に、リーチが広いプログラミング言語だと思うんですよね。&lt;br&gt;
PCと携帯の台数を含めて考えて。&lt;/p&gt;
&lt;p&gt;さて、携帯版Gmailが始まって普通に使い始めたけど、&lt;br&gt;
添付ファイルを開いてみたいなって思う。&lt;/p&gt;
&lt;p&gt;メールを転送、&lt;br&gt;
あて先を mfv あっと kayac.com にして、&lt;br&gt;
本文に自分のメアドをコピペして、&lt;br&gt;
送ると閲覧用のurlが送られてきますー&lt;/p&gt;</description></item><item><title>安藤忠雄 2006年の現場 悪戦苦闘</title><link>https://maaash.jp/2007/04/%E5%AE%89%E8%97%A4%E5%BF%A0%E9%9B%84-2006%E5%B9%B4%E3%81%AE%E7%8F%BE%E5%A0%B4-%E6%82%AA%E6%88%A6%E8%8B%A6%E9%97%98/</link><pubDate>Thu, 19 Apr 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/04/%E5%AE%89%E8%97%A4%E5%BF%A0%E9%9B%84-2006%E5%B9%B4%E3%81%AE%E7%8F%BE%E5%A0%B4-%E6%82%AA%E6%88%A6%E8%8B%A6%E9%97%98/</guid><description>&lt;p&gt;今日はまとめてブログ書くかな。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.2121designsight.jp/schedule/program.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.2121designsight.jp/schedule/program.html']);"&gt;安藤忠雄 2006年の現場 悪戦苦闘&lt;/a&gt;&lt;br&gt;
先週行ってきた。&lt;/p&gt;
&lt;p&gt;たまたま安藤忠雄さんがその場にいて、わりと近くでお話を聞くことができた。&lt;br&gt;
聴衆は学生が多く、彼らのために、建てる側の現場監督さんと共に、&lt;br&gt;
建築家の現実を伝えたい、って感じ。&lt;/p&gt;
&lt;p&gt;印象に残ったのはQ&amp;amp;A。多少意訳のところがあります。&lt;/p&gt;
&lt;p&gt;Q 建築家として最も重要な資質は？&lt;br&gt;
A 協調性。建築は一人で建つものじゃない、建築家がいて、現場監督がいて、なんとか工って熟練した技能を持った人たちが、それぞれの仕事をやりきってやっと建つもの。&lt;br&gt;
コミュニケーション大事。&lt;/p&gt;
&lt;p&gt;Q ガッツポーズをするような瞬間は？&lt;br&gt;
A 無い。建築は依頼をされたりコンペを行ったりして仕事をとっていく。依頼されたら、お客さんが求めるものをつくるし、コンペもそれを狙ってたんたんと進める。そんな、いちいちガッツポーズしてられない。&lt;/p&gt;
&lt;p&gt;すごく、仕事人的な印象を受けた。&lt;br&gt;
建築って、受託なんだなー、とも。&lt;br&gt;
現場監督の人を信頼している姿も見られて、いっしょに仕事したいって人たちといっしょに建てる過程が楽しいんだろうな、って思った。&lt;br&gt;
世の中に認められる建築を続々と作っていながらも、自分は賃貸マンションに住んでる辺りも。&lt;/p&gt;
&lt;p&gt;だけどやっぱり、安藤忠雄さんが、自分のために建てた家っていうのを見たい。&lt;/p&gt;</description></item><item><title>PageRank高いページに広告</title><link>https://maaash.jp/2007/03/pagerank%E9%AB%98%E3%81%84%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AB%E5%BA%83%E5%91%8A/</link><pubDate>Thu, 22 Mar 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/03/pagerank%E9%AB%98%E3%81%84%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AB%E5%BA%83%E5%91%8A/</guid><description>&lt;p&gt;ページランクが高いところに広告（直リンク）を置いて欲しい、ということがあるようです。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://color.slightlyblue.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://color.slightlyblue.com/']);"&gt;Flickr Color Selectr&lt;/a&gt;&lt;br&gt;
PageRank:6&lt;/p&gt;
&lt;p&gt;このページ&lt;br&gt;
PageRank:5&lt;/p&gt;
&lt;p&gt;お問い合わせは直接メールへ&lt;/p&gt;</description></item><item><title>PercusienFaと大萩康司</title><link>https://maaash.jp/2007/03/percusienfa%E3%81%A8%E5%A4%A7%E8%90%A9%E5%BA%B7%E5%8F%B8/</link><pubDate>Sun, 04 Mar 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/03/percusienfa%E3%81%A8%E5%A4%A7%E8%90%A9%E5%BA%B7%E5%8F%B8/</guid><description>&lt;p&gt;昨日ライブで聞いた大萩くんのそのあくる日も最高だったけど、これもキテルな～&lt;/p&gt;
&lt;p class="amazlet-box" style="margin-bottom: 0px"&gt;
 &amp;nbsp;
&lt;/p&gt;
&lt;p class="amazlet-image" style="float: left"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000M7FQDC/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000M7FQDC/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/P/B000M7FQDC.09.MZZZZZZZ.jpg" alt="アクアレル" style="border: medium none " /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%"&gt;
 &amp;nbsp;
&lt;/p&gt;
&lt;p class="amazlet-name" style="margin-bottom: 10px; line-height: 120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000M7FQDC/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000M7FQDC/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;アクアレル&lt;/a&gt;
&lt;/p&gt;
&lt;p class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/B000M7FQDC/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/B000M7FQDC/masaishere-22']);" title="アクアレル" target="_blank"&gt;amazlet&lt;/a&gt; on 07.03.04
&lt;/p&gt;
&lt;p class="amazlet-detail"&gt;
 大萩康司 ジスモンティ アサド&lt;br /&gt; ビクターエンタテインメント (2007/02/21)&lt;br /&gt; 売り上げランキング: 370
&lt;/p&gt;
&lt;p class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000M7FQDC/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000M7FQDC/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;
&lt;/p&gt;
&lt;embed src="https://www.youtube.com/v/aUQzXQhAgvw" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;
&lt;/embed&gt;stumbleuponが気づいたら進化してて、
&lt;p&gt;&lt;a href="http://video.stumbleupon.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://video.stumbleupon.com/']);"&gt;StumbleVideo&lt;/a&gt;で発見、これはひまつぶしに最適。&lt;br&gt;
やっぱり人が直接推薦する仕組みが高いクオリティの秘訣かも。&lt;/p&gt;</description></item><item><title>javascript開発者のためのproxomitronローカルプロキシのすすめ</title><link>https://maaash.jp/2007/02/javascript%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEproxomitron%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%83%97%E3%83%AD%E3%82%AD%E3%82%B7%E3%81%AE%E3%81%99%E3%81%99%E3%82%81/</link><pubDate>Tue, 27 Feb 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/02/javascript%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEproxomitron%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%83%97%E3%83%AD%E3%82%AD%E3%82%B7%E3%81%AE%E3%81%99%E3%81%99%E3%82%81/</guid><description>&lt;p&gt;設定の備忘録。&lt;/p&gt;
&lt;p&gt;javascriptの開発で、Firebugの次に大事な開発ツール。&lt;br&gt;
ローカルプロキシ。&lt;/p&gt;
&lt;p&gt;最速の人は&lt;br&gt;
&lt;a href="http://la.ma.la/blog/diary_200607172004.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://la.ma.la/blog/diary_200607172004.htm']);"&gt;萌ディタとSleipnirとWEBrickを使って人のサイトのCSSをリアルタイム編集するデモ&lt;/a&gt;&lt;br&gt;
WEBrick使うようですが、ruby（まだ）よくわからない私は、&lt;br&gt;
&lt;a href="http://www.pluto.dti.ne.jp/~tengu/proxomitron/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.pluto.dti.ne.jp/~tengu/proxomitron/']);"&gt;proxomitron&lt;/a&gt;&lt;br&gt;
さくっとローカルプロキシ環境を入れられます。&lt;br&gt;
&lt;a href="http://www.pluto.dti.ne.jp/~tengu/proxomitron/download.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.pluto.dti.ne.jp/~tengu/proxomitron/download.html']);"&gt;ダウンロードはこちら&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;使い方としては、&lt;br&gt;
ローカルにapache立てておいて、リモートのjsファイルを全部ローカルのapacheに302リダイレクト。&lt;br&gt;
それ以外は全部スルー。&lt;br&gt;
完成度あがってきたらチェックイン。&lt;/p&gt;
&lt;p&gt;設定はこんな感じ。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/proxomitron.gif" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/proxomitron.gif']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/proxomitron.gif" alt="proxomitron.gif" height="277" width="470" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/images/proxomitron2.gif" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/proxomitron2.gif']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/proxomitron2.gif" alt="proxomitron2.gif" height="275" width="517" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/images/proxomitron3.gif" class="external-link" target="_blank" rel="noopener"&gt;&lt;img src="https://slightlyblue.com/blog/images/proxomitron3.gif" alt="proxomitron3.gif" height="255" width="351" /&gt;&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;設定がちゃんとしてると、Firebugで見るとこんな感じ。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/firebug.gif" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/firebug.gif']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/firebug.gif" alt="firebug.gif" height="210" width="751" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;javascript開発者だけじゃなく、CSSやFlash開発者にもいいかもしれません。&lt;/p&gt;
&lt;p&gt;Firefoxで、ツールバーから簡単にプロキシを変更できる拡張も必須&lt;br&gt;
&lt;a href="http://mozmonkey.com/switchproxy/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mozmonkey.com/switchproxy/']);"&gt;SwitchProxy 1.3&lt;/a&gt;&lt;br&gt;
ここにproxomitron追加しておいて、開発時だけプロキシ変更する。&lt;/p&gt;
&lt;p&gt;あとはエディタの保存と同時にFirefoxにリロード送れば完璧。&lt;/p&gt;</description></item><item><title>QステアとUSB赤外線学習リモコン</title><link>https://maaash.jp/2007/02/q%E3%82%B9%E3%83%86%E3%82%A2%E3%81%A8usb%E8%B5%A4%E5%A4%96%E7%B7%9A%E5%AD%A6%E7%BF%92%E3%83%AA%E3%83%A2%E3%82%B3%E3%83%B3/</link><pubDate>Fri, 02 Feb 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/02/q%E3%82%B9%E3%83%86%E3%82%A2%E3%81%A8usb%E8%B5%A4%E5%A4%96%E7%B7%9A%E5%AD%A6%E7%BF%92%E3%83%AA%E3%83%A2%E3%82%B3%E3%83%B3/</guid><description>&lt;p class="amazlet-box" style="margin-bottom: 0px"&gt;
&lt;p class="amazlet-image" style="float: left"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000KE7QR6/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000KE7QR6/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;&lt;img src="https://ec2.images-amazon.com/images/P/B000KE7QR6.01._AA280_SCLZZZZZZZ_V35547822_.jpg" style="border: medium none " alt="Qステア QSS11 フェアレディZ（Z33）　（C/D）" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%"&gt;
&lt;p class="amazlet-name" style="margin-bottom: 10px; line-height: 120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000KE7QR6/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000KE7QR6/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;Qステア QSS11 フェアレディZ（Z33）　（C/D）&lt;/a&gt;
&lt;/p&gt;
&lt;p class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/B000KE7QR6/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/B000KE7QR6/masaishere-22']);" title="Qステア QSS11 フェアレディZ（Z33）　（C/D）" target="_blank"&gt;amazlet&lt;/a&gt; on 07.02.02
&lt;/p&gt;
&lt;p class="amazlet-detail"&gt;
 タカラトミー (2006/12/28)&lt;br /&gt; 売り上げランキング: 951
&lt;/p&gt;
&lt;p class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px"&gt;
&lt;p class="amazlet-review-average" style="margin-bottom: 5px"&gt;
 おすすめ度の平均: ⭐5.0
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
 ⭐5 大人テイスト
 &amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000KE7QR6/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000KE7QR6/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
 Zかわいい！
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 届いたけどまだ開けてないです。&amp;lt;br /&amp;gt; 開けるのは、いっしょに買ったUSB赤外線学習リモコンが届いてから。&amp;lt;br /&amp;gt; キーボードのテンキーで動かすのが待ち遠しいです。&amp;lt;br /&amp;gt; 動くかな～
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 技術者っぽい楽しみ方？&amp;lt;br /&amp;gt; きっとその先にもっと楽しいことが待っている。&amp;lt;br /&amp;gt; 結果レポートはします。
 &amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>カスタマイズ地図のMy地図をベータに</title><link>https://maaash.jp/2007/01/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E5%9C%B0%E5%9B%B3%E3%81%AEmy%E5%9C%B0%E5%9B%B3%E3%82%92%E3%83%99%E3%83%BC%E3%82%BF%E3%81%AB/</link><pubDate>Sun, 21 Jan 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/01/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E5%9C%B0%E5%9B%B3%E3%81%AEmy%E5%9C%B0%E5%9B%B3%E3%82%92%E3%83%99%E3%83%BC%E3%82%BF%E3%81%AB/</guid><description>&lt;p&gt;ちょっとしたバグ修正。&lt;br&gt;
しばらく放置していたカスタマイズできる地図サービス My地図.comをなんとなくアルファ→ベータにしてみた。&lt;/p&gt;</description></item><item><title>電力線通信導入とガンバリーニ</title><link>https://maaash.jp/2007/01/%E9%9B%BB%E5%8A%9B%E7%B7%9A%E9%80%9A%E4%BF%A1%E5%B0%8E%E5%85%A5%E3%81%A8%E3%82%AC%E3%83%B3%E3%83%90%E3%83%AA%E3%83%BC%E3%83%8B/</link><pubDate>Sun, 21 Jan 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/01/%E9%9B%BB%E5%8A%9B%E7%B7%9A%E9%80%9A%E4%BF%A1%E5%B0%8E%E5%85%A5%E3%81%A8%E3%82%AC%E3%83%B3%E3%83%90%E3%83%AA%E3%83%BC%E3%83%8B/</guid><description>&lt;p&gt;引越しして、電力線通信導入。&lt;br&gt;
IOと松下とあったけどIO。&lt;br&gt;
&lt;a href="http://www.iodata.jp/prod/network/plcadapter/2006/plc-etm/aaa_camp.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.iodata.jp/prod/network/plcadapter/2006/plc-etm/aaa_camp.htm']);"&gt;PLCアダプター発売記念!! PLC AAAキャンペーン(～2007年2月28日まで)&lt;/a&gt;&lt;br&gt;
でつながらなかったら返金してくれるって。&lt;/p&gt;
&lt;p&gt;２階に設置して、１階の電話線からADSL。&lt;br&gt;
最初は、１階のPCにpingうって25%しか届かなくて、唖然としたけどつなぐコンセントを変えたらすいすい。&lt;/p&gt;
&lt;p&gt;ノートPC使っててもそんなに動かないなら、無線LANより体感いい。&lt;/p&gt;
&lt;p class="amazlet-box" style="margin-bottom: 0px"&gt;
&lt;p class="amazlet-image" style="float: left"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000LB0MZQ/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000LB0MZQ/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;&lt;img src="https://ec2.images-amazon.com/images/P/B000LB0MZQ.01._AA280_SCLZZZZZZZ_V47567026_.jpg" style="border: medium none " alt="HD-PLC 高速電力線通信アダプター スターターパック" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%"&gt;
&lt;p class="amazlet-name" style="margin-bottom: 10px; line-height: 120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000LB0MZQ/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000LB0MZQ/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;HD-PLC 高速電力線通信アダプター スターターパック&lt;/a&gt;
&lt;/p&gt;
&lt;p class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/B000LB0MZQ/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/B000LB0MZQ/masaishere-22']);" title="HD-PLC 高速電力線通信アダプター スターターパック" target="_blank"&gt;amazlet&lt;/a&gt; on 07.01.21
&lt;/p&gt;
&lt;p class="amazlet-detail"&gt;
 アイ・オー・データ (2006/12/31)&lt;br /&gt; 売り上げランキング: 4108
&lt;/p&gt;
&lt;p class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px"&gt;
&lt;p class="amazlet-review-average" style="margin-bottom: 5px"&gt;
 おすすめ度の平均: ⭐4.0
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
 ⭐4 すぐに。便利に。&amp;lt;br /&amp;gt; ⭐2 残念！&amp;lt;br /&amp;gt; ⭐5 親孝行者
 &amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000LB0MZQ/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000LB0MZQ/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
 今日の買い物は追加でこれ。&amp;lt;br /&amp;gt; がんばってる自分に。&amp;lt;br /&amp;gt; Roberta Gambarini&amp;lt;br /&amp;gt; ガンバリーニ！
 &amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p class="amazlet-box" style="margin-bottom: 0px"&gt;
&lt;p class="amazlet-image" style="float: left"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000FBHCP0/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000FBHCP0/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/P/B000FBHCP0.09.MZZZZZZZ.jpg" alt="Easy to Love" style="border: medium none " /&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>[iCalMobile] Ver.1.03 省電力化 待ち受け起動時, 2分無操作でSleep</title><link>https://maaash.jp/2007/01/icalmobile-ver103-%E7%9C%81%E9%9B%BB%E5%8A%9B%E5%8C%96-%E5%BE%85%E3%81%A1%E5%8F%97%E3%81%91%E8%B5%B7%E5%8B%95%E6%99%82-2%E5%88%86%E7%84%A1%E6%93%8D%E4%BD%9C%E3%81%A7sleep/</link><pubDate>Wed, 03 Jan 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/01/icalmobile-ver103-%E7%9C%81%E9%9B%BB%E5%8A%9B%E5%8C%96-%E5%BE%85%E3%81%A1%E5%8F%97%E3%81%91%E8%B5%B7%E5%8B%95%E6%99%82-2%E5%88%86%E7%84%A1%E6%93%8D%E4%BD%9C%E3%81%A7sleep/</guid><description>&lt;p&gt;またバージョンアップです。&lt;/p&gt;
&lt;p&gt;Ver.1.03 省電力化 待ち受け起動時, 2分無操作でSleep&lt;/p&gt;
&lt;p&gt;携帯「iCalビューアー」としてはだんだん満足してきました。&lt;/p&gt;
&lt;p&gt;関連：&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2007/01/icalmobile_ver102_ical.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2007/01/icalmobile_ver102_ical.html']);"&gt;[iCalMobile] Ver.1.02 定例イベント限定対応, 複数iCal対応&lt;/a&gt;&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2006/12/icalmobile_icali_2.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/12/icalmobile_icali_2.html']);"&gt;PC向けiCalMobile紹介ページへ&lt;/a&gt;&lt;br&gt;
&lt;a href="http://slightlyblue.com/lab/iCalMobile/Download.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/lab/iCalMobile/Download.html']);"&gt;NTTDoCoMo携帯電話向けiCalMobile紹介、ダウンロードページへ&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ChaCha the NEXT search engine</title><link>https://maaash.jp/2007/01/chacha-the-next-search-engine/</link><pubDate>Wed, 03 Jan 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/01/chacha-the-next-search-engine/</guid><description>&lt;p&gt;&lt;a href="http://www.chacha.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.chacha.com/']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/betalogo-home-lg.gif" alt="betalogo-home-lg.gif" height="66" width="175" /&gt;&lt;/a&gt;&lt;br&gt;
試してみた。これはすごい。&lt;/p&gt;
&lt;p&gt;検索語を入れて、「Search With Guide」の方をクリックすると、左にGuide Sessionって枠が表れて、現実の人とつながる。&lt;br&gt;
Guideさんはアメリカにいるんでしょうか、日本は昼間なのに、&lt;br&gt;
“Hi, how can I help you tonight?”って。&lt;/p&gt;
&lt;p&gt;大体理想的な検索結果が予想できるような質問をする、&lt;br&gt;
「javascript の prototypeフレームワークの完璧なリファレンスを欲しい」&lt;br&gt;
Guideのあげてきた検索結果は、prototypeフレームワークのホームページ、2番目に期待していた結果。&lt;br&gt;
素晴らしい。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/images/chacha1.gif" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/chacha1.gif']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/chacha1-thumb.gif" alt="chacha1.gif" height="130" width="200" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;結果に満足したら、「I’m Done」をクリック、「NickW」には「Great」の評価を。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.chacha.com/info/about" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.chacha.com/info/about']);"&gt;ChaCha Aboutより&lt;/a&gt;&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/chacha2.gif" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/chacha2.gif']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/chacha2-thumb.gif" alt="chacha2.gif" height="145" width="200" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Another reason is that everybody knows a lot about something – ChaCha is able to connect you with the somebody who knows the something you want to know. Not only can they point you in the right direction, we’ve often found that communicating with a Guide can expand your general knowledge on the subject or even turn you on to new or different information that’s even more relevant to what you’re searching for.&lt;/p&gt;</description></item><item><title>[iCalMobile] Ver.1.02 定例イベント限定対応, 複数iCal対応</title><link>https://maaash.jp/2007/01/icalmobile-ver102-%E5%AE%9A%E4%BE%8B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E9%99%90%E5%AE%9A%E5%AF%BE%E5%BF%9C-%E8%A4%87%E6%95%B0ical%E5%AF%BE%E5%BF%9C/</link><pubDate>Tue, 02 Jan 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/01/icalmobile-ver102-%E5%AE%9A%E4%BE%8B%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E9%99%90%E5%AE%9A%E5%AF%BE%E5%BF%9C-%E8%A4%87%E6%95%B0ical%E5%AF%BE%E5%BF%9C/</guid><description>&lt;p&gt;バージョンアップです。&lt;/p&gt;
&lt;p&gt;Ver.1.01 -&amp;gt; Ver.1.02 定例イベント限定対応, 複数iCal対応&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[定例イベント限定対応]&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;携帯で日本の休日を見たいなと思ったので。&lt;br&gt;
iCalの定例イベントの仕様が複雑なので、&lt;br&gt;
Google Calendarの&lt;a href="http://www.google.com/calendar/embed?src=japanese%40holiday.calendar.google.com" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.google.com/calendar/embed?src=japanese%40holiday.calendar.google.com']);"&gt;Japanese Holidays[Google HTML]&lt;/a&gt; &lt;a href="http://www.google.com/calendar/ical/japanese%40holiday.calendar.google.com/public/basic.ics" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.google.com/calendar/ical/japanese%40holiday.calendar.google.com/public/basic.ics']);"&gt;Japanese Holidays[Google iCal]&lt;/a&gt;&lt;br&gt;
だけ見れればいいかな、という意味で限定対応です。&lt;br&gt;
Yearlyの定例イベントは対応してます。&lt;br&gt;
それより間隔の短い定例イベントはスルーしてます。ご了承ください。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[複数iCal対応]&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Google Calendarをプライベート/仕事で「マイカレンダー」を使い分けてたりするので、&lt;br&gt;
さらに日本の休日も含めて携帯で見たいな、と。&lt;br&gt;
3つまでokです。&lt;/p&gt;
&lt;p&gt;新しいスクリーンショットはこんな。&lt;br&gt;
&lt;img src="http://slightlyblue.com/lab/iCalMobile/normal2.gif" alt="" &gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://slightlyblue.com/lab/iCalMobile/config2.gif" alt="" &gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2006/12/icalmobile_icali_2.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/12/icalmobile_icali_2.html']);"&gt;PC向けiCalMobile紹介ページへ&lt;/a&gt;&lt;br&gt;
&lt;a href="http://slightlyblue.com/lab/iCalMobile/Download.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/lab/iCalMobile/Download.html']);"&gt;NTTDoCoMo携帯電話向けiCalMobile紹介、ダウンロードページへ&lt;/a&gt;&lt;/p&gt;</description></item><item><title>あけましておめでとうございます。</title><link>https://maaash.jp/2007/01/%E3%81%82%E3%81%91%E3%81%BE%E3%81%97%E3%81%A6%E3%81%8A%E3%82%81%E3%81%A7%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82/</link><pubDate>Mon, 01 Jan 2007 00:00:00 +0000</pubDate><guid>https://maaash.jp/2007/01/%E3%81%82%E3%81%91%E3%81%BE%E3%81%97%E3%81%A6%E3%81%8A%E3%82%81%E3%81%A7%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82/</guid><description>&lt;p&gt;2007年もどうぞよろしく。&lt;/p&gt;
&lt;p&gt;RSSリーダーの方はどうぞブログへ。&lt;/p&gt;</description></item><item><title>おいしいクルトンレシピ</title><link>https://maaash.jp/2006/12/%E3%81%8A%E3%81%84%E3%81%97%E3%81%84%E3%82%AF%E3%83%AB%E3%83%88%E3%83%B3%E3%83%AC%E3%82%B7%E3%83%94/</link><pubDate>Tue, 26 Dec 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/12/%E3%81%8A%E3%81%84%E3%81%97%E3%81%84%E3%82%AF%E3%83%AB%E3%83%88%E3%83%B3%E3%83%AC%E3%82%B7%E3%83%94/</guid><description>&lt;p&gt;がんばって技術的な事を書いていても、&lt;br&gt;
Googleからやってくる人で一番多い検索語が&lt;br&gt;
「&lt;a href="http://www.google.com/search?q=%E3%82%AC%E3%83%BC%E3%83%AA%E3%83%83%E3%82%AF%E3%83%88%E3%83%BC%E3%82%B9%E3%83%88&amp;hl=ja&amp;sourceid=gd&amp;rls=GGLD,GGLD:2006-18,GGLD:ja" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','']);"&gt;ガーリックトースト[google]&lt;/a&gt;」な当ブログ&lt;br&gt;
ひさびさにレシピです。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2005/01/post.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/01/post.html']);"&gt;ガーリックトースト[slightlyblue]&lt;/a&gt;をちゃんとレシピを見てつくりたくなるような客層は、&lt;br&gt;
私に似て、&lt;br&gt;
きっとクルトンもちゃんとしたおいしいものをつくって食べたい方々でしょう。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AB%E3%83%88%E3%83%B3" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AB%E3%83%88%E3%83%B3']);"&gt;クルトン[wikipedia]&lt;/a&gt;のレシピって調べると、角切りパンを&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;オーブンで焼く&lt;/li&gt;
&lt;li&gt;オリーブオイルで揚げる&lt;br&gt;
がありますが、結論から言うと後者の方がおいしいです。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;パン。&lt;br&gt;
試したのは薄めだったけれど、分厚い方がうまいかも。&lt;br&gt;
（クリックすると大きくなります）&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/crouton1.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/crouton1.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/crouton1.jpg" alt="crouton1.jpg" width="100" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;これも大きく切った方がおいしい。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/crouton2.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/crouton2.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/crouton2.jpg" alt="crouton2.jpg" width="100" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;オーブンレシピ。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/crouton3.jpg" class="external-link" target="_blank" rel="noopener"&gt;&lt;img src="https://slightlyblue.com/blog/images/crouton3.jpg" alt="crouton3.jpg" width="100" /&gt;&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;オリーブオイル揚げレシピ。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/crouton4.jpg" class="external-link" target="_blank" rel="noopener"&gt;&lt;img src="https://slightlyblue.com/blog/images/crouton4.jpg" alt="crouton4.jpg" width="100" /&gt;&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
揚げといっても、角切りパンが漬かる程の油が必要ではなくて、&lt;br&gt;
フライパン傾けながらはしっこで転がす感じで。&lt;br&gt;
大さじ2程度でいいんじゃないでしょうか。&lt;br&gt;
炒めてるのに近いです。&lt;br&gt;
バジルやガーリックをみじん切りにして加えてもおいしそうです。&lt;/p&gt;
&lt;p&gt;揚げレシピの方が、サラダにかけてドレッシングをかけた後、カリッとした感じのモチがいいです。&lt;br&gt;
さらにオリーブオイルの香りがGJ。&lt;/p&gt;
&lt;p&gt;揚げレシピの方が、揚げた分、&lt;br&gt;
パンの周囲の気泡みたいな空気がたまってるところを油でふさいでくれてるんでしょうね。&lt;br&gt;
クルトンは カリッ 命。&lt;/p&gt;
&lt;p&gt;いかが？&lt;/p&gt;</description></item><item><title>[iCalMobile] Ver.1.01 省電力化</title><link>https://maaash.jp/2006/12/icalmobile-ver101-%E7%9C%81%E9%9B%BB%E5%8A%9B%E5%8C%96/</link><pubDate>Thu, 14 Dec 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/12/icalmobile-ver101-%E7%9C%81%E9%9B%BB%E5%8A%9B%E5%8C%96/</guid><description>&lt;p&gt;早速バージョンアップです。&lt;br&gt;
一日常駐アプリにしておくと電池無くなってたので。。&lt;/p&gt;
&lt;p&gt;Ver.1.0 -&amp;gt; Ver.1.01 折りたたみ携帯を閉じるとSleep&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2006/12/icalmobile_icali_2.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/12/icalmobile_icali_2.html']);"&gt;PC向けiCalMobile紹介ページへ&lt;/a&gt;&lt;br&gt;
&lt;a href="http://slightlyblue.com/lab/iCalMobile/Download.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/lab/iCalMobile/Download.html']);"&gt;NTTDoCoMo携帯電話向けiCalMobile紹介、ダウンロードページへ&lt;/a&gt;&lt;/p&gt;</description></item><item><title>[iCalMobile] 携帯iCalビューアーiアプリ スクリーンショット</title><link>https://maaash.jp/2006/12/icalmobile-%E6%90%BA%E5%B8%AFical%E3%83%93%E3%83%A5%E3%83%BC%E3%82%A2%E3%83%BCi%E3%82%A2%E3%83%97%E3%83%AA-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</link><pubDate>Wed, 13 Dec 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/12/icalmobile-%E6%90%BA%E5%B8%AFical%E3%83%93%E3%83%A5%E3%83%BC%E3%82%A2%E3%83%BCi%E3%82%A2%E3%83%97%E3%83%AA-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</guid><description>&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2006/12/icalmobile_icali.html" class="external-link" target="_blank" rel="noopener"&gt;PC向けiCalMobile紹介ページへ&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
&lt;a href="http://slightlyblue.com/lab/iCalMobile/Download.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/lab/iCalMobile/Download.html']);"&gt;NTTDoCoMo携帯電話向けiCalMobile紹介、ダウンロードページへ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;待受け画面&lt;br&gt;
&lt;img src="http://slightlyblue.com/lab/iCalMobile/wait.gif" alt="" &gt;&lt;/p&gt;
&lt;p&gt;通常画面&lt;br&gt;
&lt;img src="http://slightlyblue.com/lab/iCalMobile/normal2.gif" alt="" &gt;&lt;/p&gt;
&lt;p&gt;スケジュール詳細画面&lt;br&gt;
&lt;img src="http://slightlyblue.com/lab/iCalMobile/detail.gif" alt="" &gt;&lt;/p&gt;
&lt;p&gt;設定画面&lt;br&gt;
&lt;img src="http://slightlyblue.com/lab/iCalMobile/config2.gif" alt="" &gt;&lt;/p&gt;
&lt;p&gt;HELP&lt;br&gt;
&lt;img src="http://slightlyblue.com/lab/iCalMobile/HELP.gif" alt="" &gt;&lt;/p&gt;</description></item><item><title>[iCalMobile] 携帯iCalビューアーiアプリαリリース</title><link>https://maaash.jp/2006/12/icalmobile-%E6%90%BA%E5%B8%AFical%E3%83%93%E3%83%A5%E3%83%BC%E3%82%A2%E3%83%BCi%E3%82%A2%E3%83%97%E3%83%AA%CE%B1%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9/</link><pubDate>Wed, 13 Dec 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/12/icalmobile-%E6%90%BA%E5%B8%AFical%E3%83%93%E3%83%A5%E3%83%BC%E3%82%A2%E3%83%BCi%E3%82%A2%E3%83%97%E3%83%AA%CE%B1%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9/</guid><description>&lt;p&gt;&lt;strong&gt;[iCalMobile] 携帯iCalビューアーiアプリαリリース&lt;/strong&gt;&lt;br&gt;
です。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/lab/iCalMobile/Download.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/lab/iCalMobile/Download.html']);"&gt;iアプリをダウンロード（NTTDoCoMoの携帯電話用ページ）&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2006/12/icalmobile_icali_1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/12/icalmobile_icali_1.html']);"&gt;スクリーンショット&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;iCalMobileは、&lt;br&gt;
・iCalendarフォーマットのカレンダー、スケジュールを携帯電話で軽快に操作、表示するためのiアプリです。&lt;br&gt;
・フリーのiアプリです。&lt;/p&gt;
&lt;p&gt;参考: iCalendarフォーマットは、GoogleCalendar等メジャーなオンラインカレンダーツールで採用されているカレンダー、スケジュール用のファイルフォーマットです。&lt;/p&gt;
&lt;p&gt;関連：&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2007/01/icalmobile_ver102_ical.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2007/01/icalmobile_ver102_ical.html']);"&gt;[iCalMobile] Ver.1.02 定例イベント限定対応, 複数iCal対応&lt;/a&gt;&lt;/p&gt;</description></item><item><title>携帯iアプリ開発ではまったところ</title><link>https://maaash.jp/2006/12/%E6%90%BA%E5%B8%AFi%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E3%81%A7%E3%81%AF%E3%81%BE%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D/</link><pubDate>Tue, 12 Dec 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/12/%E6%90%BA%E5%B8%AFi%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E3%81%A7%E3%81%AF%E3%81%BE%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D/</guid><description>&lt;p&gt;ひさびさにNTTDoCoMo向けiアプリをつくってました。&lt;br&gt;
もうすぐα版出そうと思うので、はまったところのノウハウ紹介。&lt;/p&gt;
&lt;p&gt;JavaSDKは、最新版ではだめ&lt;br&gt;
「サポートされていないエンコーディングです: SJIS_i」&lt;br&gt;
とかってエラーが出ます。&lt;br&gt;
&lt;a href="https://sdlc5a.sun.com/ECom/EComActionServlet;jsessionid=DE4FE0AFFAEF3B5F9F79C334941E9B76" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://sdlc5a.sun.com/ECom/EComActionServlet;jsessionid=DE4FE0AFFAEF3B5F9F79C334941E9B76']);"&gt;j2sdk-1_4_2_12-windows-i586-p.exe&lt;/a&gt;&lt;br&gt;
これで開発できてます。&lt;/p&gt;
&lt;p&gt;一番はまったのが、iαppliTool for DoJa-4.0(FOMA) って&lt;br&gt;
携帯電話のJava環境の、PC上で動くエミュレータでは問題無く動くのに、&lt;br&gt;
携帯にダウンロードして動かすと、&lt;br&gt;
「αエラーが発生しました」&lt;br&gt;
ってエラーが出て落ちる時がありました。。&lt;/p&gt;
&lt;p&gt;開発環境と実機で動きが違う故のバグって、&lt;br&gt;
実機では落ちる時の情報も取れないので厄介なもの。&lt;/p&gt;
&lt;p&gt;現象は、ネットにつなごうとするときに落ちる。&lt;br&gt;
地道に切り分けていきます。。&lt;/p&gt;
&lt;p&gt;結局、原因はサーバの返すHTTPヘッダの「Content-Length」が間違っていたこと。&lt;br&gt;
iアプリは携帯からアクセスできるサーバが、&lt;br&gt;
そのiアプリをダウンロードしたサーバに限定されるので、&lt;br&gt;
サーバ側も自分で開発していたのですが、それがバグってた。。&lt;/p&gt;
&lt;p&gt;ご参考までにiアプリ側のJavaコードはこんな感じ&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;try&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;String&lt;/span&gt; &lt;span style="color:#e06c75"&gt;param&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;com&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;nttdocomo&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;net&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;URLEncoder&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;encode&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;param_unencoded&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;String&lt;/span&gt; &lt;span style="color:#e06c75"&gt;url&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;url_base&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;+&lt;/span&gt;&lt;span style="color:#e06c75"&gt;param&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;HttpConnection&lt;/span&gt; &lt;span style="color:#e06c75"&gt;conn&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;HttpConnection&lt;/span&gt;)&lt;span style="color:#e06c75"&gt;Connector&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;open&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;url&lt;/span&gt;,&lt;span style="color:#e06c75"&gt;Connector&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;READ&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;conn&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;setRequestMethod&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;HttpConnection&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;GET&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;conn&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;connect&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#c678dd"&gt;if&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;conn&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;getResponseCode&lt;/span&gt;() &lt;span style="color:#56b6c2"&gt;==&lt;/span&gt; &lt;span style="color:#e06c75"&gt;HttpConnection&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;HTTP_OK&lt;/span&gt;){
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;InputStream&lt;/span&gt; &lt;span style="color:#e06c75"&gt;in&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;conn&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;openInputStream&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;InputStreamReader&lt;/span&gt; &lt;span style="color:#e06c75"&gt;isr&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;InputStreamReader&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;in&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;int&lt;/span&gt; &lt;span style="color:#e06c75"&gt;contentLength&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; (&lt;span style="color:#e5c07b"&gt;int&lt;/span&gt;)&lt;span style="color:#e06c75"&gt;conn&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;getLength&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e5c07b"&gt;char&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;[]&lt;/span&gt; &lt;span style="color:#e06c75"&gt;data&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;char&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;[&lt;/span&gt;&lt;span style="color:#e06c75"&gt;contentLength&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;]&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;isr&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;read&lt;/span&gt;( &lt;span style="color:#e06c75"&gt;data&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;0&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;contentLength&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e06c75"&gt;ret&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;String&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;data&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#7f848e"&gt;// retを使ってごにょごにょ&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;PC上のエミュレータでは、誤ったContent-Lengthでも動いちゃってたものが、&lt;br&gt;
携帯実機上では許されなかった、と。&lt;/p&gt;
&lt;p&gt;よく考えると、ネットワーク関連の機能って、&lt;br&gt;
PC上のエミュレータと携帯とでは実装が異なるはずです。&lt;br&gt;
エミュレータはPCのネットワークを使ってるし、携帯は自力でDoCoMoのネットワークにつなげる。&lt;br&gt;
ネットワーク関連は全部HttpConnectionってクラスに抽象化されてるのですが、&lt;br&gt;
そこの設計がしょぼいのかもしれませんね。&lt;/p&gt;
&lt;p&gt;入出力系、注意。&lt;/p&gt;</description></item><item><title>一人乗りヘリコプター</title><link>https://maaash.jp/2006/11/%E4%B8%80%E4%BA%BA%E4%B9%97%E3%82%8A%E3%83%98%E3%83%AA%E3%82%B3%E3%83%97%E3%82%BF%E3%83%BC/</link><pubDate>Fri, 17 Nov 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/11/%E4%B8%80%E4%BA%BA%E4%B9%97%E3%82%8A%E3%83%98%E3%83%AA%E3%82%B3%E3%83%97%E3%82%BF%E3%83%BC/</guid><description>&lt;p&gt;&lt;a href="http://gen-corp.jp/product.html" class="external-link" target="_blank" rel="noopener"&gt;&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/pic10026mini.jpg" alt="pic10026mini.jpg" height="320" width="240" /&gt;&lt;br&gt;
一人乗りヘリコプター&lt;br&gt;
GEN　H-4&lt;br&gt;
販売価格&lt;br&gt;
￥３,６００,０００&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;安いな。&lt;br&gt;
これなら車買うよりヘリ買うよ。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;# 日本国内での飛行にあたっては航空局の許可が必要です。&lt;br&gt;
# 許可申請についてはお客様ご自身がおこなっていただきます&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;これってどれくらいめんどくさいんだろう。。&lt;/p&gt;
&lt;p&gt;ということで調べてみた。&lt;br&gt;
&lt;a href="http://www.mlit.go.jp/koku/04_outline/02_anzen/03_keiryo/01_about/index.html#anchor02" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.mlit.go.jp/koku/04_outline/02_anzen/03_keiryo/01_about/index.html#anchor02']);"&gt;国土交通省航空局：自作航空機とは&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.mlit.go.jp/koku/04_outline/02_anzen/03_keiryo/02_anzen/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.mlit.go.jp/koku/04_outline/02_anzen/03_keiryo/02_anzen/index.html']);"&gt;国土交通省航空局：超軽量動力機等の安全確保について&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;（２）取得が必要な許可&lt;/p&gt;
&lt;p&gt;１．機体&lt;br&gt;
超軽量動力機を航空の用に供するためには、耐空証明に代わって機体の安全性等を確認するため、航空法第１１条第１項ただし書きの許可を受けることが必要です。&lt;br&gt;
（手続きの詳細については、以下のｐｄｆファイルをご覧下さい。）&lt;br&gt;
・　超軽量動力機又はジャイロプレーンに関する試験飛行等の許可について&lt;br&gt;
・　自作航空機に関する試験飛行等の許可について&lt;/p&gt;
&lt;p&gt;２．操縦者&lt;br&gt;
超軽量動力機を操縦するためには、技能証明に代わって操縦者の技量等を確認するため、航空法第２８条第３項の許可を受けることが必要です。&lt;br&gt;
（手続きの詳細については、以下のｐｄｆファイルをご覧下さい。）&lt;br&gt;
・　超軽量動力機等に関する航空法第２８条第３項の許可の手続き等について&lt;br&gt;
・　超軽量動力機等に関する航空法第２８条第３項の許可の手続き等に関する事務処理要領&lt;br&gt;
・　ホームビルド機の航空法第２８条第３項の飛行許可について&lt;/p&gt;
&lt;p&gt;３．離着陸の場所&lt;br&gt;
超軽量動力機を航空法で規定する飛行場以外の場所で離着陸させるためには離着陸行為の安全性等を確認するため、航空法第７９条ただし書きの許可を受けることが必要です。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://www.mlit.go.jp/koku/04_outline/02_anzen/03_keiryo/02_anzen/ulpm.pdf" onclick="javascript:_gaq.push(['_trackEvent','download','http://www.mlit.go.jp/koku/04_outline/02_anzen/03_keiryo/02_anzen/ulpm.pdf']);"&gt;超軽量動力機等に関する航空法第２８条第３項の許可の手続き等について&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;そんなに夢想でもない気がしてきた。。&lt;/p&gt;</description></item><item><title>オーストリアからオーストリーへ</title><link>https://maaash.jp/2006/11/%E3%82%AA%E3%83%BC%E3%82%B9%E3%83%88%E3%83%AA%E3%82%A2%E3%81%8B%E3%82%89%E3%82%AA%E3%83%BC%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%81%B8/</link><pubDate>Thu, 16 Nov 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/11/%E3%82%AA%E3%83%BC%E3%82%B9%E3%83%88%E3%83%AA%E3%82%A2%E3%81%8B%E3%82%89%E3%82%AA%E3%83%BC%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%81%B8/</guid><description>&lt;p&gt;ひさびさ。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://private.ceek.jp/archives/002336.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://private.ceek.jp/archives/002336.html']);"&gt;オーストリアからオーストリーに呼称変更&lt;/a&gt;&lt;br&gt;
国の呼称って変えられるものなんだ。。&lt;/p&gt;
&lt;p&gt;もう少し年とってからでもいいかな、いつか行ってみたい国。&lt;/p&gt;</description></item><item><title>MyChizuα About[English]</title><link>https://maaash.jp/2006/10/mychizu%CE%B1-aboutenglish/</link><pubDate>Sat, 14 Oct 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/10/mychizu%CE%B1-aboutenglish/</guid><description>&lt;p&gt;&lt;a href="http://mychizu.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mychizu.com/']);"&gt;MyChizu.com&lt;/a&gt; α released.&lt;br&gt;
&lt;img src="http://slightlyblue.com/blog/images/mychizu_20060925.jpg" alt="" &gt;&lt;br&gt;
MyChizu.com is a tool to easily create a customized map.&lt;br&gt;
“Chizu” means “map” in Japanese.&lt;/p&gt;
&lt;p&gt;Arrange your travel photos on a map,&lt;br&gt;
Place your wanna-go restaurants on a map,&lt;br&gt;
Tell your girlfriend the landmark or meeting place for a date on a map,&lt;br&gt;
Easily.&lt;/p&gt;
&lt;p&gt;Try it!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2006/09/my_mychizu_demo.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/09/my_mychizu_demo.html']);"&gt;MyChizu Demos are here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Every map has a unique url, but unless you &lt;strong&gt;[LOCK]&lt;/strong&gt; it, anyone can edit the map ( if they can access the url ). If your map get linked, search engine crawlers might find your map, so unless you want to edit the map with others, you’d better [LOCK] your map after some editing.&lt;/li&gt;
&lt;li&gt;I might delete maps which doesn’t have access for a while. I will mail you if it’s [LOCK]ed, before deleting. Your e-mail address won’t be used for other purposes.&lt;/li&gt;
&lt;li&gt;MyChizu specification may change without an announce.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>チベット写真と旅行記と旅行人補足</title><link>https://maaash.jp/2006/10/%E3%83%81%E3%83%99%E3%83%83%E3%83%88%E5%86%99%E7%9C%9F%E3%81%A8%E6%97%85%E8%A1%8C%E8%A8%98%E3%81%A8%E6%97%85%E8%A1%8C%E4%BA%BA%E8%A3%9C%E8%B6%B3/</link><pubDate>Fri, 13 Oct 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/10/%E3%83%81%E3%83%99%E3%83%83%E3%83%88%E5%86%99%E7%9C%9F%E3%81%A8%E6%97%85%E8%A1%8C%E8%A8%98%E3%81%A8%E6%97%85%E8%A1%8C%E4%BA%BA%E8%A3%9C%E8%B6%B3/</guid><description>&lt;p&gt;チベットから帰ってきました。&lt;/p&gt;
&lt;p&gt;旅行人のチベット本、頼りになるやつです。&lt;/p&gt;
&lt;div class="amazlet-box" style="margin-bottom:0px;"&gt;
&lt;div class="amazlet-image" style="float:left;"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4947702567/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4947702567/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/P/4947702567.09.MZZZZZZZ.jpg" alt="チベット―全チベット文化圏完全ガイド" style="border: none;" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"&gt;
&lt;div class="amazlet-name" style="margin-bottom:10px;line-height:120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4947702567/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4947702567/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;チベット―全チベット文化圏完全ガイド&lt;/a&gt; &lt;div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/4947702567/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/4947702567/masaishere-22']);" title="チベット―全チベット文化圏完全ガイド" target="_blank"&gt;amazlet&lt;/a&gt; on 06.10.12
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-detail"&gt;
 旅行人編集部 &lt;br /&gt;旅行人
&lt;/div&gt;
&lt;div class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4947702567/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4947702567/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-footer" style="clear: left"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;さすがにいつまでも完全では無いので、&lt;br&gt;
最新情報と写真をどうぞ。&lt;/p&gt;
&lt;p&gt;中国からチベットへ入ったのですが、&lt;br&gt;
中国へ北京から入って北京から出るまで15日間という短期間。&lt;br&gt;
15日間は、現時点でぎりぎりビザのいらない期間なので、&lt;br&gt;
&lt;strong&gt;ビザ無しで&lt;/strong&gt;全行程行っています。&lt;br&gt;
チベット内ももちろん。行けます。&lt;/p&gt;
&lt;p&gt;ただ、宿のおばさんやゴルムドのCITS等、パスポートを見られる時に、&lt;br&gt;
ビザの番号もいっしょに控えようとして、&lt;br&gt;
見つからないな～、的な素振りを毎回され、&lt;br&gt;
ビザいらないんだよ、って英語や筆談で伝えるのがめんどくさいので、&lt;br&gt;
とりあえず取っておいた方がよさそう。&lt;/p&gt;
&lt;p&gt;ビデオも途中にいくつかあるので、&lt;br&gt;
写真見終わったら戻ってビデオもどうぞ。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/tibet/01.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/tibet/01.jpg"&lt;/a&gt; title=&amp;ldquo;1/41&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;なんとなく、チベット行くなら陸路だろ、って。&lt;/p&gt;
&lt;p&gt;北京→西寧は飛んで、&lt;br /&gt;
西寧→(14時間)→ゴルムド、&lt;br /&gt;
ゴルムド→(24時間)→ラサはバスです。&lt;br /&gt;
こんな。&lt;/p&gt;
&lt;p&gt;狭いし、四方からタバコの煙来るし、&lt;br /&gt;
隙間風は寒いし、で風邪引いた。&lt;br /&gt;
ひどい。無理。&lt;br /&gt;
漢民族強靭すぎ。&lt;/p&gt;
&lt;p&gt;陸路にこだわる人も、&lt;br /&gt;
ゴルムドにも空港あるっぽいのでそこまで飛ぶことをおすすめ。&lt;br /&gt;
っていうか空路で入ったら？&lt;/p&gt;
&lt;p&gt;青蔵鉄道ができたので乗る案もありましたが、&lt;br /&gt;
当日、次の日までいっぱいだったので、&lt;br /&gt;
ゴルムドで2日つぶすわけにもいかず、バスを採用。&lt;br /&gt;
本数が少ないためか混んでいるので御注意。&lt;/p&gt;
&lt;p&gt;ちなみにゴルムドのCITSで買ったチベット入境パーミットは1440元。&lt;br /&gt;
ラサで4泊とガイド込み、ラサへの交通手段抜き。&lt;br /&gt;
電車をおすすめされて、いっぱいだから電車無理だよ！って言ったら&lt;br /&gt;
バスを手配してくれて180元。&lt;/p&gt;
&lt;p&gt;さらにちなみに、ラサについてみると&lt;br /&gt;
ガイドさんが成都の故郷に帰るとかで都合悪くガイドできないから&lt;br /&gt;
お金返す、って200元戻ってきた。ラッキー&lt;/p&gt;
&lt;p&gt;" rel="lightbox[tibet]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/tibet/01.jpg" width=100/&gt;&lt;/a&gt; 
1/41
&lt;p&gt;なんとなく、チベット行くなら陸路だろ、って。&lt;/p&gt;</description></item><item><title>My地図 使い方＆デモ MyChizu DEMO</title><link>https://maaash.jp/2006/09/my%E5%9C%B0%E5%9B%B3-%E4%BD%BF%E3%81%84%E6%96%B9%EF%BC%86%E3%83%87%E3%83%A2-mychizu-demo/</link><pubDate>Mon, 25 Sep 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/09/my%E5%9C%B0%E5%9B%B3-%E4%BD%BF%E3%81%84%E6%96%B9%EF%BC%86%E3%83%87%E3%83%A2-mychizu-demo/</guid><description>&lt;p&gt;&lt;a href="http://mychizu.com/demo/demo1.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mychizu.com/demo/demo1.htm']);"&gt;DEMO1&lt;/a&gt;&lt;br&gt;
・新しい地図の作成 ( Create a new map )&lt;br&gt;
・住所を入力して地点の作成 ( Input an address and create a new point )&lt;br&gt;
・地点の色や説明文、位置の変更 ( Change color, explanation, position of a point )&lt;br&gt;
・地図をクリックして地点の作成 ( Create a new point by clicking on a map )&lt;br&gt;
・画像へのリンクを説明文に入れて画像の表示 ( Display an image )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mychizu.com/demo/demo2.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mychizu.com/demo/demo2.htm']);"&gt;DEMO2&lt;/a&gt;&lt;br&gt;
・Bookmarkletを使った地点の作成 ( Create a new point with a BOOKMARKLET )&lt;br&gt;
・urlを説明文に入れてリンクの作成 ( Create a link )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mychizu.com/demo/demo3.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mychizu.com/demo/demo3.htm']);"&gt;DEMO3&lt;/a&gt;&lt;br&gt;
・自分のページに貼り付ける ( Post the map on your web site )&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2006/09/my.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/09/my.html']);"&gt;→ My地図を貼り付けたページ ( the web site with a map posted )&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My地図 自分のページに貼り付ける デモ＆テスト投稿</title><link>https://maaash.jp/2006/09/my%E5%9C%B0%E5%9B%B3-%E8%87%AA%E5%88%86%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AB%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91%E3%82%8B-%E3%83%87%E3%83%A2%EF%BC%86%E3%83%86%E3%82%B9%E3%83%88%E6%8A%95/</link><pubDate>Mon, 25 Sep 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/09/my%E5%9C%B0%E5%9B%B3-%E8%87%AA%E5%88%86%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AB%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91%E3%82%8B-%E3%83%87%E3%83%A2%EF%BC%86%E3%83%86%E3%82%B9%E3%83%88%E6%8A%95/</guid><description>&lt;p&gt;My地図.comα / 東北旅行2006&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mychizu.com/tqMDHJ4m1MbyEcvZIqwB" class="external-link" target="_blank" rel="noopener"&gt;http://mychizu.com/tqMDHJ4m1MbyEcvZIqwB&lt;/a&gt;&lt;/p&gt;</description></item><item><title>My地図α リリース　このサービスについて</title><link>https://maaash.jp/2006/09/my%E5%9C%B0%E5%9B%B3%CE%B1-%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%80%80%E3%81%93%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</link><pubDate>Mon, 25 Sep 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/09/my%E5%9C%B0%E5%9B%B3%CE%B1-%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%80%80%E3%81%93%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</guid><description>&lt;p&gt;&lt;a href="http://mychizu.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mychizu.com/']);"&gt;My地図.com&lt;/a&gt; αリリースです。&lt;br&gt;
&lt;img src="http://slightlyblue.com/blog/images/mychizu_20060925.jpg" alt="" &gt;&lt;br&gt;
My地図.com は、カスタマイズした地図を簡単につくるためのツールです。&lt;/p&gt;
&lt;p&gt;旅行先の写真を地図上で整理したり、&lt;br&gt;
コンパの飲み屋候補を並べたり、&lt;br&gt;
いつか行きたかったレストランを貯めておいたり、&lt;br&gt;
今週末のデートの待ち合わせ場所や目印をおしえたり、&lt;br&gt;
というようなことが簡単にできます。&lt;/p&gt;
&lt;p&gt;お使いください(･ω･)ノ&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2006/09/my_mychizu_demo.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/09/my_mychizu_demo.html']);"&gt;My地図デモはこちら&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;注：&lt;br&gt;
・それぞれの地図は、推測しにくいユニークなurlにありますが、 &lt;strong&gt;[LOCK]&lt;/strong&gt; しないと、誰にでも編集できてしまいます。リンクされていたら検索エンジンからもアクセスされる可能性があるので、複数人で編集したい場合を除き、ひととおりの編集後は [LOCK] することをオススメします。&lt;br&gt;
・作成後一定期間アクセスの無い地図は削除する場合があります。[LOCK] 済みのMy地図の場合、登録いただいたメールアドレスに事前に御連絡いたします。メールアドレスは、削除時等の御連絡以外の目的では使用いたしません。&lt;br&gt;
・仕様は予告なしに変更される場合があります。&lt;/p&gt;</description></item><item><title>チベットへ</title><link>https://maaash.jp/2006/09/%E3%83%81%E3%83%99%E3%83%83%E3%83%88%E3%81%B8/</link><pubDate>Mon, 25 Sep 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/09/%E3%83%81%E3%83%99%E3%83%83%E3%83%88%E3%81%B8/</guid><description>&lt;p&gt;行ってきます！&lt;/p&gt;</description></item><item><title>始まり。</title><link>https://maaash.jp/2006/09/%E5%A7%8B%E3%81%BE%E3%82%8A%E3%80%82/</link><pubDate>Sat, 23 Sep 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/09/%E5%A7%8B%E3%81%BE%E3%82%8A%E3%80%82/</guid><description>&lt;blockquote&gt;
&lt;p&gt;はてなダイアリー – 努力とは&lt;br&gt;
「夢のある苦労の事を努力と言う」&lt;/p&gt;
&lt;p&gt;memo..&lt;br&gt;
そろそろ、夢を思い出そうと思います。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;と&lt;a href="http://slightlyblue.com/blog/2006/03/post.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/03/post.html']);"&gt;自分で書いて&lt;/a&gt;から、6ヶ月。&lt;/p&gt;
&lt;p&gt;この短い一行を書くのにすごく時間をかけた覚えがある。&lt;br&gt;
blogに書いたおかげで忘れなかった。&lt;/p&gt;
&lt;p&gt;転職を決め、引継ぎを終えた。&lt;br&gt;
規模にして、前の会社に比べ、 1/5000 。&lt;br&gt;
小さな会社だ。&lt;/p&gt;
&lt;p&gt;安定を求める気持ち、&lt;br&gt;
それを補強するように生まれた、&lt;br&gt;
仕事はお金を得るための手段であり楽しさおもしろさは仕事外に求めればいい、という考えがあった。&lt;/p&gt;
&lt;p&gt;一日24時間あって、睡眠時間を除くと18時間くらい、意識が目覚めている時間があって、&lt;br&gt;
会社にいる時間が9～14時間くらい。&lt;br&gt;
一日の50～80%を仕事に使っている。&lt;/p&gt;
&lt;p&gt;素直に考えて、その長時間に妥協することはできなくなった。&lt;br&gt;
今の生活は自分らしいのか？&lt;/p&gt;
&lt;p&gt;やりたいことをやろう。&lt;br&gt;
100%。&lt;br&gt;
そうやって今まで生きてきただろ？&lt;br&gt;
自分らしさを取り戻そう。&lt;br&gt;
楽しみだ。&lt;/p&gt;</description></item><item><title>wikipediaのランダムページへ飛ぶ</title><link>https://maaash.jp/2006/09/wikipedia%E3%81%AE%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%B8%E9%A3%9B%E3%81%B6/</link><pubDate>Wed, 13 Sep 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/09/wikipedia%E3%81%AE%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%B8%E9%A3%9B%E3%81%B6/</guid><description>&lt;p&gt;wikipediaが随分定着してきたようだ。&lt;br&gt;
&lt;a href="http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%AA%E3%82%AC%E3%83%AA%E5%90%9B" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%AA%E3%82%AC%E3%83%AA%E5%90%9B']);"&gt;ガリガリくんの種類なんかも調べられる&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;世界の知識の量は無尽蔵なので、好奇心貪欲な人に便利な、&lt;br&gt;
&lt;a href="http://ja.wikipedia.org/wiki/Special:Randompage" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','']);"&gt;wikipediaのランダムページへ飛ぶ&lt;/a&gt;方法を発見(via &lt;a href="http://lifehacker.com/software/wikipedia/learn-something-new-every-day-with-wikipedias-randompage-199285.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://lifehacker.com/software/wikipedia/learn-something-new-every-day-with-wikipedias-randompage-199285.php']);"&gt;Lifehacker Learn something new every day with Wikipedia’s Randompage&lt;/a&gt;)&lt;br&gt;
日本版wikipediaのランダムページ：　&lt;a href="http://ja.wikipedia.org/wiki/Special:Randompage" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','']);"&gt;&lt;a href="http://ja.wikipedia.org/wiki/Special:Randompage" class="external-link" target="_blank" rel="noopener"&gt;http://ja.wikipedia.org/wiki/Special:Randompage&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
英語版wikipediaのランダムページ：　&lt;a href="http://en.wikipedia.org/wiki/Special:Randompage" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','']);"&gt;&lt;a href="http://en.wikipedia.org/wiki/Special:Randompage" class="external-link" target="_blank" rel="noopener"&gt;http://en.wikipedia.org/wiki/Special:Randompage&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ブラウザのホームページに設定しておいたりすると日々新鮮かもしれませんね。&lt;/p&gt;</description></item><item><title>Javascript Linker - Janitorで未使用関数を除去する</title><link>https://maaash.jp/2006/09/javascript-linker-janitor%E3%81%A7%E6%9C%AA%E4%BD%BF%E7%94%A8%E9%96%A2%E6%95%B0%E3%82%92%E9%99%A4%E5%8E%BB%E3%81%99%E3%82%8B/</link><pubDate>Fri, 01 Sep 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/09/javascript-linker-janitor%E3%81%A7%E6%9C%AA%E4%BD%BF%E7%94%A8%E9%96%A2%E6%95%B0%E3%82%92%E9%99%A4%E5%8E%BB%E3%81%99%E3%82%8B/</guid><description>&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2006/08/batjavascript.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/08/batjavascript.html']);"&gt;batファイルでjavascriptコード圧縮&lt;/a&gt; で&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;それより、ライブラリのうち未使用の関数を省くようなの、欲しいな。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;と言いましたが、そう思ってる方は他にも多くいらっしゃるようです。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.dojotoolkit.org/2006/08/30/js-linker-in-dojo" class="external-link" target="_blank" rel="noopener"&gt;8/30 JS Linker in Dojo&lt;br&gt;
The JS Linker was just committed to the Dojo repository.&lt;/a&gt;&lt;br&gt;
Javascript Linkerとは、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The purpose of JavaScript Linker is to process HTML/JavaScript code base to prepare code for deployment by reducing file size, create source code documentation, obfuscate source code to protect intellectual property, and help gather source code metrics for source code analysis &amp;amp; improvements.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://archive.dojotoolkit.org/nightly/tools/jslinker/docs/readme.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://archive.dojotoolkit.org/nightly/tools/jslinker/docs/readme.html']);"&gt; JavaScript Linker (JSL) – Alpha 1 : Readme&lt;/a&gt; より&lt;br&gt;
JavascriptLinkerは、HTML/JavaScriptのファイルサイズ削減やコードのドキュメント、知的財産を守るためのコード難読化、ソースコード解析のためのメトリクス収集、のためのプリプロセスを行うことを目的とする。&lt;/p&gt;</description></item><item><title>おしゃれな英語</title><link>https://maaash.jp/2006/09/%E3%81%8A%E3%81%97%E3%82%83%E3%82%8C%E3%81%AA%E8%8B%B1%E8%AA%9E/</link><pubDate>Fri, 01 Sep 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/09/%E3%81%8A%E3%81%97%E3%82%83%E3%82%8C%E3%81%AA%E8%8B%B1%E8%AA%9E/</guid><description>&lt;p&gt;&lt;a href="http://ant.apache.org/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://ant.apache.org/']);"&gt;Apache Ant is a Java-based build tool. In theory, it is kind of like Make, but without Make’s wrinkles.&lt;/a&gt;&lt;br&gt;
wrinkles: しわ&lt;/p&gt;</description></item><item><title>巨大にんにくとチンゲン菜炒めとあんかけとシチュー</title><link>https://maaash.jp/2006/09/%E5%B7%A8%E5%A4%A7%E3%81%AB%E3%82%93%E3%81%AB%E3%81%8F%E3%81%A8%E3%83%81%E3%83%B3%E3%82%B2%E3%83%B3%E8%8F%9C%E7%82%92%E3%82%81%E3%81%A8%E3%81%82%E3%82%93%E3%81%8B%E3%81%91%E3%81%A8%E3%82%B7%E3%83%81/</link><pubDate>Fri, 01 Sep 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/09/%E5%B7%A8%E5%A4%A7%E3%81%AB%E3%82%93%E3%81%AB%E3%81%8F%E3%81%A8%E3%83%81%E3%83%B3%E3%82%B2%E3%83%B3%E8%8F%9C%E7%82%92%E3%82%81%E3%81%A8%E3%81%82%E3%82%93%E3%81%8B%E3%81%91%E3%81%A8%E3%82%B7%E3%83%81/</guid><description>&lt;p&gt;今日はなんとなく料理ブログ。クリックすると大きくなったり。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/images/garlic_20060901.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/garlic_20060901.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/garlic_20060901.jpg" alt="garlic_20060901.jpg" width="200" /&gt;&lt;/a&gt;&lt;br&gt;
先日、巨大なにんにくをもらいましたよ。&lt;/p&gt;
&lt;p&gt;普通のにんにくなら弱火でじっくり炒めてパスタに入れたり、かりかりにしたりするのだけれど、&lt;br&gt;
巨大なにんにくにはそれなりのレシピを。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/images/chingen_20060901.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/chingen_20060901.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/chingen_20060901.jpg" alt="chingen_20060901.jpg" width="200" /&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://slightlyblue.com/recipe/index.cgi?name=%E3%81%A1%E3%82%93%E3%81%92%E3%82%93%E3%81%95%E3%81%84" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/recipe/index.cgi?name=%E3%81%A1%E3%82%93%E3%81%92%E3%82%93%E3%81%95%E3%81%84']);"&gt;旬のチンゲン菜&lt;/a&gt;と合わせて最初から強火＆ごま油で炒める。&lt;br&gt;
味付けは醤油＋小海老＋胡椒。&lt;br&gt;
調理時間数分。&lt;br&gt;
うまい。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/images/ankake_20060901.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/ankake_20060901.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/ankake_20060901.jpg" alt="ankake_20060901.jpg" width="200" /&gt;&lt;/a&gt;&lt;br&gt;
関係無いけどおこげにあんかけ。&lt;br&gt;
いい感じにカメラのレンズが曇っておいしそうでは。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/images/stew_20060901.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/stew_20060901.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/stew_20060901.jpg" alt="stew_20060901.jpg" width="200" /&gt;&lt;/a&gt;&lt;br&gt;
これも関係ないけどシチュー。&lt;br&gt;
うちで育て始めたバジルが鮮やかに映えてます。&lt;br&gt;
いつも4人前を2人で平らげる。&lt;br&gt;
シチュー用のブロック状の肉でなく、薄切りの牛を使うこと。&lt;br&gt;
バジルは成長が早いし、香りが食欲をそそるのでおすすめ。&lt;/p&gt;</description></item><item><title>batファイルでjavascriptコード圧縮</title><link>https://maaash.jp/2006/08/bat%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A7javascript%E3%82%B3%E3%83%BC%E3%83%89%E5%9C%A7%E7%B8%AE/</link><pubDate>Wed, 30 Aug 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/08/bat%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A7javascript%E3%82%B3%E3%83%BC%E3%83%89%E5%9C%A7%E7%B8%AE/</guid><description>&lt;p&gt;javascriptを書いてると、圧縮してあげたくなります。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://d.hatena.ne.jp/llamerada/20051204/1133674702" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://d.hatena.ne.jp/llamerada/20051204/1133674702']);"&gt;Makeを利用したJavaScriptファイルの結合・圧縮&lt;/a&gt;&lt;br&gt;
がとってもスマートなのだけれど、Windows環境だしMakefile手書きしたこと無いので、&lt;br&gt;
bat（バッチ）ファイルで。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-batch" data-lang="batch"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;set&lt;/span&gt; &lt;span style="color:#e06c75"&gt;u&lt;/span&gt;=union.js 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;set&lt;/span&gt; &lt;span style="color:#e06c75"&gt;c&lt;/span&gt;=comp.js 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;del&lt;/span&gt; &lt;span style="color:#e06c75"&gt;%u%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;del&lt;/span&gt; &lt;span style="color:#e06c75"&gt;%c%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;copy&lt;/span&gt; *.js &lt;span style="color:#e06c75"&gt;%u%&lt;/span&gt; /B 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;java -jar custom_rhino.jar -c &lt;span style="color:#e06c75"&gt;%u%&lt;/span&gt; &amp;gt; &lt;span style="color:#e06c75"&gt;%c%&lt;/span&gt; &lt;span style="color:#d19a66"&gt;2&lt;/span&gt;&amp;gt;&amp;amp;&lt;span style="color:#d19a66"&gt;1&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;これをjsファイルのあるフォルダに保存して compressjs.bat とかって名前付けて保存&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://dojotoolkit.org/docs/compressor_system.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://dojotoolkit.org/docs/compressor_system.html']);"&gt;custom_rhino.jar&lt;/a&gt;をダウンロードして同じフォルダに保存（JavaRuntimeは入れておく）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;batファイルをダブルクリック&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;フォルダ内の.jsファイルを union.js にまとめた後、圧縮してできた comp.js が最終的なコード。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;jsファイルのあるフォルダがちらばってる場合には、こんな感じ（’+&amp;lsquo;区切りでパスをつなぐ）。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-batch" data-lang="batch"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;copy&lt;/span&gt; *.js &lt;span style="color:#e06c75"&gt;%u%&lt;/span&gt; /B 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;↓ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;copy&lt;/span&gt; js1\\myjs.js+js2\\myjs2.js &lt;span style="color:#e06c75"&gt;%u%&lt;/span&gt; /B 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;さらに、&lt;a href="http://hail2u.net/blog/webdesign/save-css-file-and-reload-browser.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://hail2u.net/blog/webdesign/save-css-file-and-reload-browser.html']);"&gt;CSSファイルを保存すると同時にブラウザをリロード&lt;/a&gt; にならって秀丸の保存にフック(?)できると快適！&lt;/p&gt;
&lt;p&gt;javascript圧縮エンジンは &lt;a href="http://dojotoolkit.org/docs/compressor_system.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://dojotoolkit.org/docs/compressor_system.html']);"&gt;Dojo’s Compressor&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;日本語について。&lt;br&gt;
&lt;a href="http://dojotoolkit.org/docs/compressor_system.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://dojotoolkit.org/docs/compressor_system.html']);"&gt;Makeを利用したJavaScriptファイルの結合・圧縮&lt;/a&gt; では&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Dojo’s Compressorでは日本語文字列はうまく扱えないようなので、日本語文字列は別ファイルに記述する必要がある。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;って書いてあるけれど改善されたのか、問題無し（圧縮前はUTF-8で保存した状態で確認）。&lt;br&gt;
ただし、「\u7e3a\uff7e\u7e3a\ufffd」になって日本語は逆に容量増えちゃいますが。&lt;/p&gt;
&lt;p&gt;いまいちコード削減量が大した事無かったのと、&lt;br&gt;
使わせてもらっているjavascriptライブラリの権利周りをそのままにしておきたいので、&lt;br&gt;
とりあえず未採用…&lt;/p&gt;
&lt;p&gt;それより、ライブラリのうち未使用の関数を省くようなの、欲しいな。&lt;/p&gt;</description></item><item><title>一人乗りヘリコプターと最高のスピーチ</title><link>https://maaash.jp/2006/08/%E4%B8%80%E4%BA%BA%E4%B9%97%E3%82%8A%E3%83%98%E3%83%AA%E3%82%B3%E3%83%97%E3%82%BF%E3%83%BC%E3%81%A8%E6%9C%80%E9%AB%98%E3%81%AE%E3%82%B9%E3%83%94%E3%83%BC%E3%83%81/</link><pubDate>Wed, 30 Aug 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/08/%E4%B8%80%E4%BA%BA%E4%B9%97%E3%82%8A%E3%83%98%E3%83%AA%E3%82%B3%E3%83%97%E3%82%BF%E3%83%BC%E3%81%A8%E6%9C%80%E9%AB%98%E3%81%AE%E3%82%B9%E3%83%94%E3%83%BC%E3%83%81/</guid><description>&lt;p&gt;memo..&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.technologie-entwicklung.de/Gasturbines/Monocopter/monocopter.html"&gt;Andreas’ Personal Flying Suit (“Monocopter”) Project&lt;br /&gt;
&lt;img src="https://slightlyblue.com/blog/images/17-suit1.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
ジェットについたアクチュエータがかっこいい&amp;#8230;&lt;br /&gt;
そろそろタケコプタープロトタイプか？&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.knowhr.com/blog/2006/08/21/top-10-best-presentations-ever/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.knowhr.com/blog/2006/08/21/top-10-best-presentations-ever/']);"&gt;Top 10 Best Presentations Ever&lt;/a&gt;&lt;br /&gt;
最高のスピーチを観て、腕を鍛えましょうか。&lt;/p&gt;
&lt;p&gt;..&lt;br /&gt;
やばい、スピーチわかりやすい。。&lt;br /&gt;
&lt;a href="http://video.google.com/videoplay?docid=8631701936876784775" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://video.google.com/videoplay?docid=8631701936876784775']);"&gt;Intro mac&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.identity20.com/media/OSCON2005/oscon_videos/oscon_qt_lg.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.identity20.com/media/OSCON2005/oscon_videos/oscon_qt_lg.html']);"&gt;OSCON 2005 Keynote &amp;#8211; Identity 2.0&lt;/a&gt;&lt;br /&gt;
良いスピーチは、言語さえ共通でなかったとしても、意図が伝わるんですね。&lt;/p&gt;
&lt;p&gt;GuyKawasaki、、やばい。&lt;br /&gt;
&lt;a href="http://blog.guykawasaki.com/2006/06/the_art_of_the_.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://blog.guykawasaki.com/2006/06/the_art_of_the_.html']);"&gt;The Art of the Start Video&lt;/a&gt;&lt;br /&gt;
スピーチテクすごすぎ。&lt;br /&gt;
40分、まーだまされたと思ってみてみ。&lt;/p&gt;</description></item><item><title>ブロック要素の中で滑らかスクロールする方法（javascript）2</title><link>https://maaash.jp/2006/08/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E8%A6%81%E7%B4%A0%E3%81%AE%E4%B8%AD%E3%81%A7%E6%BB%91%E3%82%89%E3%81%8B%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%EF%BC%88ja/</link><pubDate>Sun, 27 Aug 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/08/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E8%A6%81%E7%B4%A0%E3%81%AE%E4%B8%AD%E3%81%A7%E6%BB%91%E3%82%89%E3%81%8B%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%EF%BC%88ja/</guid><description>&lt;p&gt;昨日の &lt;a href="http://slightlyblue.com/blog/2006/08/javascript_1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/08/javascript_1.html']);"&gt;ブロック要素の中で滑らかスクロールする方法（javascript） &lt;/a&gt; はつくってて楽しかった♪&lt;br&gt;
Flashアプリとかつくる人にとっては当たり前な気がしますが。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;usage：&lt;/strong&gt;&lt;br&gt;
&lt;a href="http://slightlyblue.com/lab/t20060827/smoothscroll.js" onclick="javascript:_gaq.push(['_trackEvent','download','http://slightlyblue.com/lab/t20060827/smoothscroll.js']);"&gt;&lt;a href="http://slightlyblue.com/lab/t20060827/smoothscroll.js" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/lab/t20060827/smoothscroll.js&lt;/a&gt;&lt;/a&gt; を読み込んで、&lt;br&gt;
SmoothScroll.scrollTo( ‘target id’, ‘parent id’, options);&lt;br&gt;
‘parent id’ はスクロールしようとしているブロック要素のid&lt;br&gt;
‘target id’ は ‘parent id’ブロック内にあるスクロール目標（=スクロール後にブロックの一番上に表示させたい行）のid&lt;br&gt;
options は { time : 500, unit : 50 } 等と指定する&lt;br&gt;
options.time は スクロール完了までの時間&lt;br&gt;
options.unit は スクロール完了までに何ms単位で細かくスクロールするか&lt;br&gt;
映画のフレームレート：24fps(40ms/frame)が映像を滑らかに見せるぎりぎりのラインだと思うので、それくらいを目安に。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;point1：&lt;/strong&gt;&lt;br&gt;
滑らかなスクロールは、&lt;br&gt;
$(‘parent id’).scrollTop を options.unit 毎に更新することで実現します。&lt;br&gt;
更新毎の移動量は、線形に漸減する方式になっています。&lt;/p&gt;
&lt;p&gt;目標の距離に対して、options.time / options.unit 回に分けてスクロールするので、&lt;br&gt;
目標の距離 / ( options.time / options.unit ) だけ一度に動かすと、速度変化は起きません。&lt;/p&gt;
&lt;p&gt;線形に漸減させるためには、&lt;br&gt;
一回の移動量 = 目標の距離 / ( options.time / options.unit ) * 2&lt;br&gt;
x2すればいいのです。&lt;br&gt;
この三角形を意識すれば簡単。&lt;br&gt;
&lt;img src="http://slightlyblue.com/blog/images/explain_20060827.GIF" alt="" &gt;&lt;br&gt;
4分の1円形状に速度が落ちていったらかっこいいかな、なんて考えたりすると楽しい。。&lt;/p&gt;</description></item><item><title>StumbleUponとポジティブスパイラル</title><link>https://maaash.jp/2006/08/stumbleupon%E3%81%A8%E3%83%9D%E3%82%B8%E3%83%86%E3%82%A3%E3%83%96%E3%82%B9%E3%83%91%E3%82%A4%E3%83%A9%E3%83%AB/</link><pubDate>Wed, 23 Aug 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/08/stumbleupon%E3%81%A8%E3%83%9D%E3%82%B8%E3%83%86%E3%82%A3%E3%83%96%E3%82%B9%E3%83%91%E3%82%A4%E3%83%A9%E3%83%AB/</guid><description>&lt;img src="https://slightlyblue.com/blog/images/access_20060823.jpg" alt="access_20060823.jpg" height="376" width="321" /&gt; 
アクセスが 2日で 8倍 になったのでなにかな、と。 
世界中から来てるし。
&lt;p&gt;&lt;a href="http://www.stumbleupon.com/about.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.stumbleupon.com/about.html']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/stumble_20060823.jpg" alt="stumble_20060823.jpg" height="75" width="363" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;と思ったら、stumbleupon.com から、 &lt;a href="http://color.slightlyblue.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://color.slightlyblue.com/']);"&gt;Flickr Color Selectr&lt;/a&gt; へものすごいアクセスがありましたよ。&lt;/p&gt;
&lt;p&gt;stumbleupon.com は、あるサイトを ‘ I like it ‘ と表明し、似た人の ‘ I like it ‘ サイトをお互いに紹介しあうことで、みんな上質なサイトに出会えてうれしくなれる、というサイト。&lt;br&gt;
ちなみにstumble uponは英語で、偶然出会う、というような意味。素敵な偶然、というか必然ですね。&lt;/p&gt;
&lt;p&gt;‘ I like it ‘ したサイトには、&lt;a href="http://www.stumbleupon.com/url/color.slightlyblue.com" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.stumbleupon.com/url/color.slightlyblue.com']);"&gt;コメントを残す&lt;/a&gt;ことができ、それを見た私はあまりにも素敵な多彩なお褒めの言葉に感動してついついstumbleuponにSignUpするとともに、良質なサイトをみなさまに御紹介することを心に誓ったのでした。&lt;br&gt;
なんというポジティブスパイラル！！&lt;/p&gt;
&lt;p&gt;感動した。&lt;br&gt;
I live for this.&lt;/p&gt;
&lt;p&gt;Firefoxな方なら&lt;a href="https://addons.mozilla.org/firefox/138/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://addons.mozilla.org/firefox/138/']);"&gt;addon&lt;/a&gt; を追加すると、ツールバーが追加されて、いつでもStumble!(似た好みの人の’I like it’サイトを紹介してもらう)できます。&lt;/p&gt;
&lt;p&gt;こんな、つくったものによって、ちょっと世界をよくできたら幸せですね。&lt;/p&gt;</description></item><item><title>メガスターⅡ＠川崎とプラネタリウムの進化</title><link>https://maaash.jp/2006/08/%E3%83%A1%E3%82%AC%E3%82%B9%E3%82%BF%E3%83%BC%E2%85%A1%EF%BC%A0%E5%B7%9D%E5%B4%8E%E3%81%A8%E3%83%97%E3%83%A9%E3%83%8D%E3%82%BF%E3%83%AA%E3%82%A6%E3%83%A0%E3%81%AE%E9%80%B2%E5%8C%96/</link><pubDate>Fri, 18 Aug 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/08/%E3%83%A1%E3%82%AC%E3%82%B9%E3%82%BF%E3%83%BC%E2%85%A1%EF%BC%A0%E5%B7%9D%E5%B4%8E%E3%81%A8%E3%83%97%E3%83%A9%E3%83%8D%E3%82%BF%E3%83%AA%E3%82%A6%E3%83%A0%E3%81%AE%E9%80%B2%E5%8C%96/</guid><description>&lt;p&gt;&lt;a href="http://www.nature-kawasaki.jp/event/megatu06.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.nature-kawasaki.jp/event/megatu06.htm']);"&gt;メガスターII特別講座　メガスター通(つう)！？ &lt;/a&gt;を観てきた。&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/planetarium_20060818.jpg" alt="planetarium_20060818.jpg" height="384" width="288" /&gt;&lt;br&gt;
感動した。（手前の黒い箱に入ってるのがメガスターⅡ）&lt;/p&gt;
&lt;p&gt;メガスター「通」というだけあって、星座（の形）の投影は無し、専門用語の解説も少なめ、とマニアックな展開。&lt;br&gt;
従来のGM IIというプラネタリウムとメガスターⅡの差異、メガスターⅡとリアルの星空の差異、おまけに川崎青少年科学館のメガスターⅡと日本科学未来館等にある他のメガスターⅡとの差異、に注目した構成だった。&lt;/p&gt;
&lt;p&gt;実力が高いからこそできること。&lt;br&gt;
双眼鏡で、天の川を構成する星々の細かさを観たり、&lt;br&gt;
普通のプラネタリウム番組?では取り上げないような、メガスターでさえ肉眼ではほとんど見えないような、M（メシエ[&lt;a href="http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%B7%E3%82%A8" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%B7%E3%82%A8']);"&gt;wikipedia&lt;/a&gt;]）いくつ、と名のつく&lt;a href="http://www.kahaku.go.jp/exhibitions/vm/resource/tenmon/space/nebula/nebula03.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.kahaku.go.jp/exhibitions/vm/resource/tenmon/space/nebula/nebula03.html']);"&gt;球状星雲や散開星雲&lt;/a&gt;の再現性を確かめたり。&lt;/p&gt;
&lt;p&gt;よくプラネタリウムで、スバルはいくつの星からできているか？って聞かれて5個だ6個だって答えるクイズがあるけれど、、メガスターで観ると無数に星はあって。&lt;br&gt;
星の細かさ、それによる天の川や細かな星雲の美しさ、ため息ものでした。&lt;/p&gt;
&lt;p&gt;だが、好意でか終わりがけに天体望遠鏡で&lt;a href="http://www91.sakura.ne.jp/~kay2/photo/lyr-epsilon.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www91.sakura.ne.jp/~kay2/photo/lyr-epsilon.htm']);"&gt;ダブルダブル&lt;/a&gt;や&lt;a href="http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AB%E3%83%93%E3%83%AC%E3%82%AA" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AB%E3%83%93%E3%83%AC%E3%82%AA']);"&gt;アルビレオ&lt;/a&gt;を観たり、リアルの星空を双眼鏡で観て思った。&lt;br&gt;
メガスターもまだまだだなーって。&lt;/p&gt;
&lt;p&gt;解説員の方も話していたが、メガスターⅡは、まだ星の明るさをバックライトを通す穴の大きさで決めている。明るい星を映すためには大きな穴を明けるのだ。&lt;br&gt;
だがリアルの星空では、明るい星は暗い星と同じ大きさ（点）のまま、明るいのだ（たいてい）。&lt;br&gt;
メガスターを観てひとしきり感動した後、少し明るい川崎の空の星を観て、その綺麗さに再度感動してしまった！&lt;/p&gt;
&lt;p&gt;そうなると、プラネタリウムの進化について考えちゃいます。&lt;br&gt;
進化の方向としては、正等路線として、小さくても明るい星を映せるようにしたいだろう。そうすると星雲や天の川の表現力がさらに増す。&lt;br&gt;
つまり、星の光量と大きさを独立に制御したい。&lt;/p&gt;
&lt;p&gt;ひとつのアプローチとして、TVの方式がある。&lt;br&gt;
液晶素材（やプラズマやEL他平面TVを実現する素材）を使えば、画素単位で明るさを黒～白まで変化させられる。プラネタリウム内面全体を平面TVにすればよい。&lt;br&gt;
星雲を表現するためには高い解像度が必要とされるが、ドームを大きくして観客との距離をとれれば（コストは高くなるが）敷き詰めるディスプレイの解像度は下げられる。&lt;br&gt;
コスト次第で実現できそうな気が！&lt;/p&gt;
&lt;p&gt;もうひとつ、&lt;br&gt;
いまのプラネタリウムの構造に似たイメージで、発光体を覆っている膜に穴を明けて星を形成するところを、膜を削る（透過率の低い膜の厚さを薄くする）ことで星を形成するようにしては？&lt;br&gt;
膜は、もともとの厚さでは光が完全に遮られていて、星のあるところでは、星の明るさと膜を削る深さが比例するようにする。&lt;br&gt;
うまい素材が思いつかないけれど…&lt;/p&gt;
&lt;p&gt;こうやって、違う業界のイノベーションを目の当たりにすると、頭がリフレッシュされるようでうれしい。&lt;br&gt;
話は戻って。川崎青少年科学館は空いていてメガスター見学にかなりおすすめです。お台場のあれは大変混んでいるので。&lt;br&gt;
ぜひ。&lt;/p&gt;</description></item><item><title>岩手～秋田（小岩井牧場,乳頭温泉,竿燈祭,象潟の牡蠣,川原毛大湯滝）</title><link>https://maaash.jp/2006/08/%E5%B2%A9%E6%89%8B%EF%BD%9E%E7%A7%8B%E7%94%B0%EF%BC%88%E5%B0%8F%E5%B2%A9%E4%BA%95%E7%89%A7%E5%A0%B4%E4%B9%B3%E9%A0%AD%E6%B8%A9%E6%B3%89%E7%AB%BF%E7%87%88%E7%A5%AD%E8%B1%A1%E6%BD%9F%E3%81%AE/</link><pubDate>Mon, 07 Aug 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/08/%E5%B2%A9%E6%89%8B%EF%BD%9E%E7%A7%8B%E7%94%B0%EF%BC%88%E5%B0%8F%E5%B2%A9%E4%BA%95%E7%89%A7%E5%A0%B4%E4%B9%B3%E9%A0%AD%E6%B8%A9%E6%B3%89%E7%AB%BF%E7%87%88%E7%A5%AD%E8%B1%A1%E6%BD%9F%E3%81%AE/</guid><description>&lt;p&gt;週末に岩手～秋田へ小旅行。&lt;br&gt;
2泊2日のみ、でできることって意外と多いです。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/akita/01.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/akita/01.jpg"&lt;/a&gt; title=&amp;ldquo;1/21&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;盛岡着1泊&lt;br /&gt;
朝レンタカーを借りて小岩井牧場へ&lt;/p&gt;
&lt;p&gt;木陰で集まってメー&lt;/p&gt;
&lt;p&gt;しかしソフトクリームがコクがあっておいしかった！&lt;/p&gt;
&lt;p&gt;" rel="lightbox[akita]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/akita/01.jpg" width=100/&gt;&lt;/a&gt; 
1/21
&lt;p&gt;盛岡着1泊&lt;br&gt;
朝レンタカーを借りて小岩井牧場へ&lt;/p&gt;
&lt;p&gt;木陰で集まってメー&lt;/p&gt;
&lt;p&gt;しかしソフトクリームがコクがあっておいしかった！&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/akita/02.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/akita/02.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[akita]&amp;rdquo; title=&amp;ldquo;2/21&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;車を走らせ乳頭温泉へ。&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/akita/02.jpg" width=100/&gt;&lt;/a&gt; 
2/21
&lt;p&gt;車を走らせ乳頭温泉へ。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/akita/03.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/akita/03.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[akita]&amp;rdquo; title=&amp;ldquo;3/21&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;鮮やか。&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/akita/03.jpg" width=100/&gt;&lt;/a&gt; 
3/21
&lt;p&gt;鮮やか。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/akita/04.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/akita/04.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[akita]&amp;rdquo; title=&amp;ldquo;4/21&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;夏なので空いてる乳頭温泉。&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/akita/04.jpg" width=100/&gt;&lt;/a&gt; 
4/21
&lt;p&gt;夏なので空いてる乳頭温泉。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/akita/05.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/akita/05.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[akita]&amp;rdquo; title=&amp;ldquo;5/21&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;あったまった後は小川に足をつけて涼む。&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/akita/05.jpg" width=100/&gt;&lt;/a&gt; 
5/21
&lt;p&gt;あったまった後は小川に足をつけて涼む。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/akita/06.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/akita/06.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[akita]&amp;rdquo; title=&amp;ldquo;6/21&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;シンプル。&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/akita/06.jpg" width=100/&gt;&lt;/a&gt; 
6/21
&lt;p&gt;シンプル。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/akita/07.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/akita/07.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[akita]&amp;rdquo; title=&amp;ldquo;7/21&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/akita/07.jpg" width=100/&gt;&lt;/a&gt; 
7/21
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/akita/08.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/akita/08.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[akita]&amp;rdquo; title=&amp;ldquo;8/21&lt;/p&gt;</description></item><item><title>ホーキング博士と人類次の100年</title><link>https://maaash.jp/2006/08/%E3%83%9B%E3%83%BC%E3%82%AD%E3%83%B3%E3%82%B0%E5%8D%9A%E5%A3%AB%E3%81%A8%E4%BA%BA%E9%A1%9E%E6%AC%A1%E3%81%AE100%E5%B9%B4/</link><pubDate>Thu, 03 Aug 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/08/%E3%83%9B%E3%83%BC%E3%82%AD%E3%83%B3%E3%82%B0%E5%8D%9A%E5%A3%AB%E3%81%A8%E4%BA%BA%E9%A1%9E%E6%AC%A1%E3%81%AE100%E5%B9%B4/</guid><description>&lt;p&gt;Yahoo! Answers(米国Yahooの教えてグーみたいなやつ)に、本物のDr. Stephen Hawkingが質問を投げています。というか回答を得てResolve(解決)してしまっています。&lt;/p&gt;
&lt;p&gt;質問は、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“How can the human race survive the next hundred years?”&lt;br&gt;
“In a world that is in chaos politically, socially and environmentally, how can the human race sustain another 100 years? “&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;人類は次の100年をどうやって生き延びられるか？　政治的、社会的、環境面での混沌にあって、さらに100年人類はどう耐えられるのか？&lt;/p&gt;
&lt;p&gt;初日1日だけで15000もの回答があり、現時点で25000超の回答が返って来ています。&lt;br&gt;
この反響の多さ！&lt;br&gt;
一瞬でも25000もの人（重複無ければ..）が一瞬でも人類の現状と未来に想いをはせたなら、彼のこの質問が少し人類を救ったのかもしれません。&lt;br&gt;
Knowledge Basedっていうの?、こういうシステムの可能性を感じた気がします。&lt;/p&gt;
&lt;p&gt;私も知人の代弁をしておきました。&lt;br&gt;
“get small.” と。&lt;br&gt;
まー文字通り受け取ればあほかと（いやどうかな）。&lt;br&gt;
でも深読みすればするほどおいしさが出てくる回答です。&lt;/p&gt;
&lt;p&gt;さて、実はホーキング博士はひとつの回答を選び出して”Best Answer”を決めて回答を締め切って（Resoved!!!）しています。&lt;br&gt;
本当に、いつまでも締め切らないで欲しかったと思いますが。&lt;/p&gt;
&lt;p&gt;ちょっとショックだったので回答の一部を引用してみましょう。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Of course, the speed that everything progresses at has increased. Will we be able to adapt in time? Perhaps not for a lot of us, but consider that in the 14th century, the Black Death wiped out over a third of Europe’s population. Yet Europe survived and prospered. We may again have a catastophe that has similarly devestating effects, but I feel confident that after the catastrophe, humankind will prosper.&lt;/p&gt;</description></item><item><title>リアルハートの写真</title><link>https://maaash.jp/2006/08/%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%8F%E3%83%BC%E3%83%88%E3%81%AE%E5%86%99%E7%9C%9F/</link><pubDate>Thu, 03 Aug 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/08/%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%8F%E3%83%BC%E3%83%88%E3%81%AE%E5%86%99%E7%9C%9F/</guid><description>&lt;p&gt;20余年のこれまでの人生で最高の写真は、&lt;br&gt;
偶然の産物でもある PepsiAngel だと思っています。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/photo/g2/32.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/g2/32.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/photo/g2/32.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;が、それに匹敵するヤツを発見！！&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/partyof5/147537202/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.flickr.com/photos/partyof5/147537202/']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/heart_20060803.jpg" alt="heart_20060803.jpg" height="67" width="100" /&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://blog.flickr.com/flickrblog/2006/08/the_blink_of_an.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://blog.flickr.com/flickrblog/2006/08/the_blink_of_an.html']);"&gt;Flickr Blog の The Blink of an Eye 経由&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Flickr Blogや&lt;a href="http://slightlyblue.com/blog/2006/07/post_14.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/07/post_14.html']);"&gt;かわいいサイト&lt;/a&gt;等写真ベースのブログをいくつかRSSリーダー（Livedoor Reader）に登録して普段使いのフォルダに入れておくと、ちょっとした癒しになっておすすめです。&lt;/p&gt;</description></item><item><title>B.F.R. Download</title><link>https://maaash.jp/2006/08/bfr-download/</link><pubDate>Wed, 02 Aug 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/08/bfr-download/</guid><description>&lt;p&gt;Becky! 用の Feed　Reader plugin をつくっています。&lt;/p&gt;
&lt;p&gt;V1.08betaのダウンロードはこちらから。&lt;br&gt;
V1.07のダウンロードはこちらから。&lt;/p&gt;
&lt;p&gt;v1.07 → v1.08 は、パーサーが落ちる不具合修正と、一部読めないATOMフィードがあったのを読めるように修正いたしました。&lt;br&gt;
評価ができていないのでbetaとしておきます。&lt;/p&gt;
&lt;p&gt;–追記&lt;br&gt;
2004/06/26 : v1.01 にVUPしました。&lt;br&gt;
2004/10/10 : v1.02 にVUPしました。&lt;br&gt;
2004/11/19 : v1.03 にVUPしました。お待たせした方、すみませんでした….&lt;br&gt;
2004/11/28 : v1.04 にVUPしました。&lt;br&gt;
2004/12/12 : v1.05 にVUPしました。&lt;br&gt;
2005/03/21 : v1.06 にVUPしました。&lt;br&gt;
2005/08/27 : v1.07 にVUPしました。&lt;br&gt;
2006/08/02 : v1.08betaにVUPしました。&lt;br&gt;
2007/08/31 : ダウンロードできなくしました。LivedoorReader使いましょうｂ&lt;/p&gt;</description></item><item><title>factio Blog Parts Generator beta</title><link>https://maaash.jp/2006/07/factio-blog-parts-generator-beta/</link><pubDate>Sun, 30 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/factio-blog-parts-generator-beta/</guid><description>&lt;p&gt;&lt;a href="http://factio.slightlyblue.com/" class="external-link" target="_blank" rel="noopener"&gt;factio Blog Parts Generator beta&lt;br&gt;
factio ブログ パーツ ジェネレーター ベータ&lt;/a&gt;&lt;br&gt;
つくりました。&lt;/p&gt;
&lt;p&gt;↓こういうものがお手軽につくれるツールです。&lt;/p&gt;
&lt;p class="fbp_contents" style="border: medium none ; position: relative; width: 300px; text-align: left"&gt;
 &lt;img src="https://img03.shop-pro.jp/PA01005/691/product/1637695.jpg" onmouseover="document.getElementById('fbp_popupL_1637695').style.display='block';" class="fbp_ppic" height="150" width="150" /&gt;
&lt;/p&gt;
&lt;p class="fbp_desc" style="padding: 0pt 0pt 0pt 5px; position: absolute; left: 150px; top: 0px"&gt;
 &amp;nbsp;
&lt;/p&gt;
&lt;p class="fbp_pname" style="margin: 0pt 5px 0pt 0pt; font-size: 1em; font-weight: bold"&gt;
 &lt;a href="http://factio.jp/?pid=1637695" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://factio.jp/?pid=1637695']);"&gt;taptap　Tシャツ&lt;/a&gt;
&lt;/p&gt;
&lt;p class="fbp_bname" style="font-size: 0.9em"&gt;
 by &lt;a href="http://de.factio.jp/?eid=79713" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://de.factio.jp/?eid=79713']);"&gt;slightlyblue&lt;/a&gt;
&lt;/p&gt;
&lt;p class="fbp_explain" style="font-size: 0.9em"&gt;
 タップTシャツ。
&lt;/p&gt;
&lt;p class="fbp_price" style="font-size: 0.8em"&gt;
 &lt;span class="fbp_pdesc" style="font-weight: bold"&gt;価格&lt;/span&gt;: &lt;span class="fbp_pp" style="font-weight: bold; color: red"&gt;2,625円(税125円)&lt;/span&gt;
&lt;/p&gt;
&lt;p class="fbp_link" style="font-size: 0.8em"&gt;
 &lt;a href="http://factio.jp/?pid=1637695" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://factio.jp/?pid=1637695']);"&gt;購入ページ&lt;/a&gt; | &lt;a href="http://de.factio.jp/?eid=43528" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://de.factio.jp/?eid=43528']);"&gt;サイズ&lt;/a&gt;
&lt;/p&gt;
&lt;p class="fbp_credit" style="font-size: 0.7em"&gt;
 AD by &lt;a href="http://slightlyblue.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/']);"&gt;slightlyblue&lt;/a&gt;
&lt;/p&gt;
&lt;p id="fbp_popupL_1637695" style="display: none; position: absolute; top: 0pt; left: 0pt; height: 300px; width: 300px" onmouseout="document.getElementById('fbp_popupL_1637695').style.display='none';"&gt;
 &lt;img src="https://img03.shop-pro.jp/PA01005/691/product/1637695.jpg" height="300" width="300" /&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;factioの商品ページの縮小版をBlogに貼り付けるためのツールです&lt;/li&gt;
&lt;li&gt;黒点線の内側(点線を含まない)までが本ブログパーツのhtmlコードで表現されています&lt;/li&gt;
&lt;li&gt;htmlコードをコピーし、ブログのサイドバー等にはりつけてください&lt;/li&gt;
&lt;li&gt;htmlコードは自由に編集して使っていただいてokです&lt;/li&gt;
&lt;li&gt;“AD by slightlyblue”は残しておいていただけるとうれしいです&lt;/li&gt;
&lt;li&gt;写真や商品説明文の転載許可はデザイナーさんから得てくださいね&lt;/li&gt;
&lt;li&gt;factio officialが登場するまでのbetaです&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;工夫としては、&lt;br&gt;
マウスオーバー時の画像拡大（縮小表示→等倍表示）を行わせるjavascriptも生成してブログパーツに含めていること、かな。&lt;/p&gt;</description></item><item><title>少年時代と口コミ</title><link>https://maaash.jp/2006/07/%E5%B0%91%E5%B9%B4%E6%99%82%E4%BB%A3%E3%81%A8%E5%8F%A3%E3%82%B3%E3%83%9F/</link><pubDate>Sun, 30 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/%E5%B0%91%E5%B9%B4%E6%99%82%E4%BB%A3%E3%81%A8%E5%8F%A3%E3%82%B3%E3%83%9F/</guid><description>&lt;p&gt;子から大人になり、なにかを忘れたとすれば、それはこの本に書いてあることだっただろう。&lt;br&gt;
そんな本でした。&lt;/p&gt;
&lt;p&gt;ちょっと長いけど印象に残ったところを引用&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「みんな大人になったように見えるかもしれませんよ」と、彼女はつづけた。「だけどそれは見せかけなの。時間がこしらえた粘土細工にすぎないの。男も女も、心のずっと深いところではいぜんとして子供なんです。大人たちも飛んだり跳ねたりして遊びまわりたいと思っているのだけれど、重い粘土のせいどそれができないの。世の中が押し付けてくるいろんな束縛をふるい落としてしまいたい、腕時計をはずし、ネクタイを取り、日曜日用の靴なんか脱いで、裸になって川の淵で泳いでみたい、たとえ一日だけでもいいから、と思っているの。」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;そうに違いない。&lt;br&gt;
夏に読むべき1冊にふさわしい。&lt;/p&gt;
&lt;div class="amazlet-box" style="margin-bottom:0px;"&gt;
&lt;div class="amazlet-image" style="float:left;"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/478972607X/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/478972607X/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/P/478972607X.09.MZZZZZZZ.jpg" alt="少年時代〈上〉" style="border: none;" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"&gt;
&lt;div class="amazlet-name" style="margin-bottom:10px;line-height:120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/478972607X/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/478972607X/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;少年時代〈上〉&lt;/a&gt; &lt;div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/478972607X/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/478972607X/masaishere-22']);" title="少年時代〈上〉" target="_blank"&gt;amazlet&lt;/a&gt; on 06.07.30
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="amazlet-detail"&gt;
 ロバート マキャモン Robert McCammon 二宮 磬 &lt;br /&gt;ソニーマガジンズ (2005/07)&lt;br /&gt;売り上げランキング: 17,570
&lt;/div&gt;
&lt;div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"&gt;
&lt;div class="amazlet-review-average" style="margin-bottom:5px"&gt;
 おすすめ度の平均: ⭐5
&lt;/div&gt;
&lt;p&gt;
⭐5 子供の頃、世界が今とは全然違って見えていた頃へ&lt;/div&gt; &lt;div class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/478972607X/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/478972607X/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class="amazlet-footer" style="clear: left"&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
本やCDはもうamazonでしか買わなくなった。&lt;br /&gt; そして必ず口コミの評判を見て、買うようになった。ネットで簡単になったからね。&lt;br /&gt; そして買った本と、口コミとをペアでメモするようにしている。リピーターになるための備え。
&lt;/p&gt;
&lt;p&gt;
今回は、↓ここが口コミの出典でした。&lt;br /&gt; &lt;a href="http://q.hatena.ne.jp/1142426391" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://q.hatena.ne.jp/1142426391']);"&gt;人力検索はてな &amp;#8211; 高校生になります。本が大好きなのですが、この本をもっと早く読んでればよかった！！！と後悔した&amp;#8230;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
それ以外にもはてなはよく使います。&lt;br /&gt; &lt;a href="http://b.hatena.ne.jp/yto/5%e5%86%8a%e6%9c%ac/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://b.hatena.ne.jp/yto/5%e5%86%8a%e6%9c%ac/']);"&gt;はてなブックマーク &amp;#8211; ブックマークたつを / 5冊本&lt;/a&gt;&lt;br /&gt; &lt;a href="http://q.hatena.ne.jp/1089166041" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://q.hatena.ne.jp/1089166041']);"&gt;ハードSFとバカミステリが好きです。こんな私におすすめの本を紹介してください。&lt;/a&gt;&lt;br /&gt; &lt;a href="http://news19.2ch.net/test/read.cgi/news/1127918810/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://news19.2ch.net/test/read.cgi/news/1127918810/']);"&gt;ピアノだけなのに神な曲教えて&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>快適キーボード生活とカナル型イヤホン生活</title><link>https://maaash.jp/2006/07/%E5%BF%AB%E9%81%A9%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E7%94%9F%E6%B4%BB%E3%81%A8%E3%82%AB%E3%83%8A%E3%83%AB%E5%9E%8B%E3%82%A4%E3%83%A4%E3%83%9B%E3%83%B3%E7%94%9F%E6%B4%BB/</link><pubDate>Thu, 20 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/%E5%BF%AB%E9%81%A9%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E7%94%9F%E6%B4%BB%E3%81%A8%E3%82%AB%E3%83%8A%E3%83%AB%E5%9E%8B%E3%82%A4%E3%83%A4%E3%83%9B%E3%83%B3%E7%94%9F%E6%B4%BB/</guid><description>&lt;p&gt;一人暮らしなもので、こじんまりと直径65cmの丸テーブル上で生活が成り立つようにしている。&lt;br&gt;
19inchディスプレイ、ステレオスピーカー、キーボード、書類、iPod、本や手紙を置いていると、どうしても食事時にパスタのソースを本に飛ばしたりしてしまう。&lt;/p&gt;
&lt;p&gt;そこで小さいキーボードを試していたのだが、このたびHHKLiteを購入し。&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/keyboard_20060720.jpg" alt="keyboard_20060720.jpg" height="307" width="410" /&gt;&lt;br&gt;
上の方のヤツです。&lt;/p&gt;
&lt;p&gt;今まで使ってたのはキーピッチが小さすぎてコロンとカッコ閉じの押し間違いとかが無視できないストレスに…&lt;br&gt;
HHKLite。漆黒、深いキータッチ、スペースを無駄無く利用した感じ、なかなかよさげ。&lt;/p&gt;
&lt;p&gt;さて、週末プログラミング加速していきましょうか！&lt;/p&gt;
&lt;p&gt;隣には、Etymotic Research ER-6I カナル型イヤホン。&lt;br&gt;
周囲の音が聴こえないと、こんなにも音がきびきびしてるなんて。&lt;br&gt;
感動。&lt;/p&gt;
&lt;p&gt;なにげに携帯音楽プレイヤーずっと使ってる人にはわかるおすすめはこの白いクリップ。&lt;br&gt;
iPodも白いイヤホンケーブルが長ったらしくて引っかかるので、胸辺りにクリップがあると便利ですよね。&lt;br&gt;
歩行中に車に轢かれないように、だけは気を付けましょう。&lt;/p&gt;
&lt;p class="amazlet-box" style="margin-bottom: 0px"&gt;
&lt;p class="amazlet-image" style="float: left"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00008B61F/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B00008B61F/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/P/B00008B61F.09.MZZZZZZZ.jpg" alt="Happy Hacking Keyboard Lite2 USB JP 黒" style="border: medium none " /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%"&gt;
&lt;p class="amazlet-name" style="margin-bottom: 10px; line-height: 120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00008B61F/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B00008B61F/masaishere-22/ref=nosim/']);" title="amazletlink" name="amazletlink" target="_blank"&gt;Happy Hacking Keyboard Lite2 USB JP 黒&lt;/a&gt;
&lt;/p&gt;
&lt;p class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/B00008B61F/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/B00008B61F/masaishere-22']);" title="Happy Hacking Keyboard Lite2 USB JP 黒" target="_blank"&gt;amazlet&lt;/a&gt; on 06.07.20
&lt;/p&gt;
&lt;p class="amazlet-detail"&gt;
 PFU&lt;br /&gt; 売り上げランキング: 1,004
&lt;/p&gt;
&lt;p class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px"&gt;
&lt;p class="amazlet-review-average" style="margin-bottom: 5px"&gt;
 おすすめ度の平均: ⭐3.56
&lt;/p&gt;</description></item><item><title>Flickr Color Selectr</title><link>https://maaash.jp/2006/07/flickr-color-selectr/</link><pubDate>Sun, 16 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/flickr-color-selectr/</guid><description>&lt;p&gt;&lt;a href="http://color.slightlyblue.com/" class="external-link" target="_blank" rel="noopener"&gt;Flickr Color Selectr&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/color_20060716.jpg" alt="color_20060716.jpg" height="336" width="497" /&gt;&lt;/a&gt;&lt;br&gt;
つくってみました。&lt;/p&gt;
&lt;p&gt;Flickrから、CreativeCommonsのライセンスの付いた、色の似た画像をとってきます。&lt;br&gt;
これは楽しいです。&lt;/p&gt;
&lt;p&gt;既出なのは承知で。画像を使ったWEBアプリの練習台。&lt;/p&gt;
&lt;p&gt;AJAX的な画面遷移、星を使ったレイティング辺り、今風の王道かしら。&lt;br&gt;
YUIのスライダー＋LyaseView Javascriptテンプレート＋Prototypeフレームワーク＋FlickrAPI＋MySQL＋Perl＋Image::Magick＋私。&lt;/p&gt;
&lt;p&gt;どうぞ。&lt;/p&gt;</description></item><item><title>かわいい４コマ</title><link>https://maaash.jp/2006/07/%E3%81%8B%E3%82%8F%E3%81%84%E3%81%84%EF%BC%94%E3%82%B3%E3%83%9E/</link><pubDate>Wed, 12 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/%E3%81%8B%E3%82%8F%E3%81%84%E3%81%84%EF%BC%94%E3%82%B3%E3%83%9E/</guid><description>&lt;p&gt;なにこのかわいいサイト&lt;br&gt;
&lt;a href="http://www.kawaiinot.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.kawaiinot.com/']);"&gt;&lt;a href="http://www.kawaiinot.com/" class="external-link" target="_blank" rel="noopener"&gt;http://www.kawaiinot.com/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.kawaiinot.com/index.php?p=42" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.kawaiinot.com/index.php?p=42']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/kawaii_20060712.jpg" alt="kawaii_20060712.jpg" height="513" width="137" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;blackが適度でとてもよいです。&lt;/p&gt;</description></item><item><title>かわいいサイトとかわいさの進化</title><link>https://maaash.jp/2006/07/%E3%81%8B%E3%82%8F%E3%81%84%E3%81%84%E3%82%B5%E3%82%A4%E3%83%88%E3%81%A8%E3%81%8B%E3%82%8F%E3%81%84%E3%81%95%E3%81%AE%E9%80%B2%E5%8C%96/</link><pubDate>Tue, 11 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/%E3%81%8B%E3%82%8F%E3%81%84%E3%81%84%E3%82%B5%E3%82%A4%E3%83%88%E3%81%A8%E3%81%8B%E3%82%8F%E3%81%84%E3%81%95%E3%81%AE%E9%80%B2%E5%8C%96/</guid><description>&lt;p&gt;&lt;a href="http://www.thecuteproject.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.thecuteproject.com/']);"&gt;The Cute Project&lt;/a&gt;&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/cute_20060710.jpg" alt="cute_20060710.jpg" height="208" width="234" /&gt;&lt;br&gt;
&lt;a href="http://feeds.feedburner.com/TheCuteProject" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://feeds.feedburner.com/TheCuteProject']);"&gt;見つけにくいRSSはこちら&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Welcome to The Cute Project, dedicated to collecting and featuring the world’s cutest photos, art, games and videos. Get ready for your daily cuteness injection!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;世界の最もかわいい写真、芸術、ゲームやビデオを集めたサイト。&lt;br&gt;
最後の文、特に”injection”をどう意訳したらいいのか微妙だな、誰かおしえて。&lt;br&gt;
「日々のかわいさ補給スタート！」って感じ？&lt;/p&gt;
&lt;p&gt;なぜ子供はかわいいのか、かわいいと感じるのか、って気になるところ。&lt;br&gt;
かわいい、って主観的な感情なのに、普遍的と言っていいほどの割合の高さで多くの人がそれを感じる。&lt;/p&gt;
&lt;p&gt;子孫をより多く残すためにいつからかそう進化したのだろうか。&lt;/p&gt;
&lt;p&gt;進化したのは、かわいいと感じる主観的な感情を生み出す脳だろうか、&lt;br&gt;
それとも、かわいいと感じさせる条件は過去から一貫していて、子供時代?にその条件を満たしながら育つようになった形状だろうか。&lt;/p&gt;
&lt;p&gt;思えば、かわいい、と感じるのはcute projectのサイトを見ても、哺乳類ばかりな気がする。魚類や鳥類、爬虫類は綺麗（異性をひきつけるための色彩）とは感じてもかわいくはない。&lt;br&gt;
量の卵生から質の胎生に進化した時に、創発的に生まれた特徴なのかも知れません。&lt;/p&gt;
&lt;p&gt;興味は尽きませんね。&lt;/p&gt;</description></item><item><title>鳥肌がたった。</title><link>https://maaash.jp/2006/07/%E9%B3%A5%E8%82%8C%E3%81%8C%E3%81%9F%E3%81%A3%E3%81%9F%E3%80%82/</link><pubDate>Tue, 11 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/%E9%B3%A5%E8%82%8C%E3%81%8C%E3%81%9F%E3%81%A3%E3%81%9F%E3%80%82/</guid><description>&lt;p&gt;idea*idea &lt;a href="http://www.ideaxidea.com/archives/2006/07/11.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ideaxidea.com/archives/2006/07/11.html']);"&gt;驚愕の11歳！&lt;/a&gt;より&lt;/p&gt;
&lt;p&gt;鳥肌がたった。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=fVU27eLOclU" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.youtube.com/watch?v=fVU27eLOclU']);"&gt;Amazing 11 year old!!!&lt;/a&gt;&lt;/p&gt;</description></item><item><title>iPod用FMトランスミッター Princeton</title><link>https://maaash.jp/2006/07/ipod%E7%94%A8fm%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%83%9F%E3%83%83%E3%82%BF%E3%83%BC-princeton/</link><pubDate>Sun, 09 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/ipod%E7%94%A8fm%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%83%9F%E3%83%83%E3%82%BF%E3%83%BC-princeton/</guid><description>&lt;p&gt;iPodをやっと車につけました。&lt;/p&gt;
&lt;p&gt;iPod用FMトランスミッター、いろいろある中で選んだのはこれ。&lt;/p&gt;
&lt;div class="amazlet-box" style="margin-bottom:0px;"&gt;
&lt;div class="amazlet-image" style="float:left;"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000AL1KEE/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000AL1KEE/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/P/B000AL1KEE.09.MZZZZZZZ.jpg" alt="Princetoni Pod専用FMトランスミッター PCK-FMIP ホワイト" style="border: none;" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"&gt;
&lt;div class="amazlet-name" style="margin-bottom:10px;line-height:120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000AL1KEE/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000AL1KEE/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;Princetoni Pod専用FMトランスミッター PCK-FMIP ホワイト&lt;/a&gt; &lt;div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/B000AL1KEE/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/B000AL1KEE/masaishere-22']);" title="Princetoni Pod専用FMトランスミッター PCK-FMIP ホワイト" target="_blank"&gt;amazlet&lt;/a&gt; on 06.07.09
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-detail"&gt;
 プリンストンテクノロジー (2005/07/15)&lt;br /&gt;売り上げランキング: 1,226
&lt;/div&gt;
&lt;div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"&gt;
&lt;div class="amazlet-review-average" style="margin-bottom:5px"&gt;
 おすすめ度の平均: ⭐3.62
&lt;/div&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;⭐5 文句なし！！&lt;br /&gt;⭐5 最高&lt;br /&gt;⭐4 お勧めです！&lt;/div&gt; &lt;div class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000AL1KEE/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000AL1KEE/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;div class="amazlet-footer" style="clear: left"&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
 つないのだはこれ。
 &amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class="amazlet-box" style="margin-bottom:0px;"&gt;
&lt;div class="amazlet-image" style="float:left;"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000AJ9SWM/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000AJ9SWM/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/P/B000AJ9SWM.09.MZZZZZZZ.jpg" alt="Apple iPod 30GB ブラック [MA146J/A]" style="border: none;" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"&gt;
&lt;div class="amazlet-name" style="margin-bottom:10px;line-height:120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000AJ9SWM/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000AJ9SWM/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;Apple iPod 30GB ブラック [MA146J/A]&lt;/a&gt; &lt;div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/B000AJ9SWM/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/B000AJ9SWM/masaishere-22']);" title="Apple iPod 30GB ブラック [MA146J/A]" target="_blank"&gt;amazlet&lt;/a&gt; on 06.07.09
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-detail"&gt;
 アップルコンピュータ (2005/10/20)
&lt;/div&gt;
&lt;div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"&gt;
&lt;div class="amazlet-review-average" style="margin-bottom:5px"&gt;
 おすすめ度の平均: ⭐3.89
&lt;/div&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;⭐4 さほど期待してはいなかったのですが&lt;br /&gt;⭐3 外見が重要というなら&lt;br /&gt;⭐4 動画の可能性&lt;/div&gt; &lt;div class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000AJ9SWM/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B000AJ9SWM/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;&lt;/p&gt;</description></item><item><title>トマトのファルシーのレシピ</title><link>https://maaash.jp/2006/07/%E3%83%88%E3%83%9E%E3%83%88%E3%81%AE%E3%83%95%E3%82%A1%E3%83%AB%E3%82%B7%E3%83%BC%E3%81%AE%E3%83%AC%E3%82%B7%E3%83%94/</link><pubDate>Sun, 09 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/%E3%83%88%E3%83%9E%E3%83%88%E3%81%AE%E3%83%95%E3%82%A1%E3%83%AB%E3%82%B7%E3%83%BC%E3%81%AE%E3%83%AC%E3%82%B7%E3%83%94/</guid><description>&lt;p&gt;トマト、どちらかと言えば嫌いなんだけれど、食べ方を選べばおいしくなるって不思議な位置づけの食材。&lt;br&gt;
しかし&lt;a href="http://t-select.livedoor.com/works/detail.php?sid=24772" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://t-select.livedoor.com/works/detail.php?sid=24772']);"&gt;トマトのTシャツ&lt;/a&gt;も着てることだし、&lt;a href="http://slightlyblue.com/recipe/index.cgi?name=%E3%83%88%E3%83%9E%E3%83%88" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/recipe/index.cgi?name=%E3%83%88%E3%83%9E%E3%83%88']);"&gt;トマトは旬でもあるし&lt;/a&gt;、トマトの流れであることは確か。&lt;/p&gt;
&lt;p&gt;ということで、トマトのファルシーです。&lt;br&gt;
調理前：&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/tomato_20060709_2.jpg" alt="tomato_20060709_2.jpg" height="305" width="346" /&gt;&lt;/p&gt;
&lt;p&gt;調理後：&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/tomato_20060709.jpg" alt="tomato_20060709.jpg" height="328" width="411" /&gt;&lt;/p&gt;
&lt;p&gt;レシピは、&lt;a href="http://www.benikou.com/monitor/tomato_sasahara/recipe.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.benikou.com/monitor/tomato_sasahara/recipe.html']);"&gt;感激のトマト比較実験レシピ編&lt;/a&gt;をベースに独自改良を加えています。&lt;br&gt;
材料は、&lt;br&gt;
厚切りベーコン、スライスチーズ、パン粉、卵黄、オリーブオイル、たまねぎ、塩コショウ、オリーブオイル、バター、パセリ、トマト。&lt;br&gt;
トマトは甘く無くてもok。&lt;/p&gt;
&lt;p&gt;素材の限界をレシピの力で超えた、ひさびさの体験でした。&lt;/p&gt;
&lt;p&gt;お試しあれ。&lt;/p&gt;</description></item><item><title>ドラえもんの空気砲の作り方</title><link>https://maaash.jp/2006/07/%E3%83%89%E3%83%A9%E3%81%88%E3%82%82%E3%82%93%E3%81%AE%E7%A9%BA%E6%B0%97%E7%A0%B2%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9/</link><pubDate>Sun, 09 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/%E3%83%89%E3%83%A9%E3%81%88%E3%82%82%E3%82%93%E3%81%AE%E7%A9%BA%E6%B0%97%E7%A0%B2%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9/</guid><description>&lt;p&gt;さて、ドラえもんの&lt;a href="http://ja.wikipedia.org/wiki/%E7%A9%BA%E6%B0%97%E7%A0%B2" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://ja.wikipedia.org/wiki/%E7%A9%BA%E6%B0%97%E7%A0%B2']);"&gt;空気砲[wikipedia]&lt;/a&gt;です。&lt;br&gt;
小学生ながらどうつくったらいいのか空想したような気もします。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.amisane.org/index.php?mypage=airvortex&amp;amp;subpage=rants" class="external-link" target="_blank" rel="noopener"&gt;How to make your own Airzooka type thingy(out of a waste paper bin)&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/airzooka_20060709.jpg" alt="airzooka_20060709.jpg" height="160" width="250" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.firebox.com/index.html?dir=firebox&amp;action=product&amp;pid=567&amp;src_t=sbk&amp;src_id=airzooka" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.firebox.com/index.html?dir=firebox&amp;action=product&amp;pid=567&amp;src_t=sbk&amp;src_id=airzooka']);"&gt;こんな商品も。&lt;/a&gt;&lt;br&gt;
&lt;a href="http://videos.firebox.com/v/airzooka_cups2.wmv" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://videos.firebox.com/v/airzooka_cups2.wmv']);"&gt;動画だけでも。&lt;/a&gt;&lt;br&gt;
あの頃の興奮がよみがえってきます。？&lt;/p&gt;</description></item><item><title>タップダンスTシャツ第一弾</title><link>https://maaash.jp/2006/07/%E3%82%BF%E3%83%83%E3%83%97%E3%83%80%E3%83%B3%E3%82%B9t%E3%82%B7%E3%83%A3%E3%83%84%E7%AC%AC%E4%B8%80%E5%BC%BE/</link><pubDate>Wed, 05 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/%E3%82%BF%E3%83%83%E3%83%97%E3%83%80%E3%83%B3%E3%82%B9t%E3%82%B7%E3%83%A3%E3%83%84%E7%AC%AC%E4%B8%80%E5%BC%BE/</guid><description>&lt;p&gt;&lt;a href="http://factio.jp/?pid=1637695" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://factio.jp/?pid=1637695']);"&gt;タップダンスTシャツ&lt;/a&gt;つくりました。&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/1637695_o1.jpg" alt="1637695_o1.jpg" height="300" width="300" /&gt;&lt;/p&gt;
&lt;img src="https://slightlyblue.com/blog/images/1637695_o2.jpg" alt="1637695_o2.jpg" height="300" width="300" /&gt;
&lt;img src="https://slightlyblue.com/blog/images/1637695_o3.jpg" alt="1637695_o3.jpg" height="300" width="300" /&gt;
&lt;p&gt;タップダンスっていまやメジャースポーツなのに（ぉ&lt;br&gt;
タップを題材にしたTシャツって見かけないですよね。&lt;/p&gt;
&lt;p&gt;これからの時期、必要なのでつくっちゃいました。&lt;/p&gt;
&lt;p&gt;factioさん、いいですよ。&lt;br&gt;
2500円で自作Tシャツ買えちゃうって価格破壊。&lt;br&gt;
これからリアルの店舗でTシャツ買うことは無くなりそうな。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://factio.jp/?pid=1637695" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://factio.jp/?pid=1637695']);"&gt;まー1枚どうぞ。&lt;/a&gt;&lt;br&gt;
&lt;a href="http://de.factio.jp/?eid=43528" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://de.factio.jp/?eid=43528']);"&gt;Tシャツのサイズ表記はここで。&lt;/a&gt;&lt;/p&gt;</description></item><item><title>痛みに価格をつけるなら</title><link>https://maaash.jp/2006/07/%E7%97%9B%E3%81%BF%E3%81%AB%E4%BE%A1%E6%A0%BC%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E3%81%AA%E3%82%89/</link><pubDate>Mon, 03 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/%E7%97%9B%E3%81%BF%E3%81%AB%E4%BE%A1%E6%A0%BC%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E3%81%AA%E3%82%89/</guid><description>&lt;p&gt;やばいサイトを見つけました。&lt;br&gt;
&lt;a href="http://shocktheman.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://shocktheman.com/']);"&gt;Shock The Man .Com – A Social Experiment In Pain / Prevention&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For the next three months I will be wearing a dog obedience shock collar around my neck or ankle. During this period you have the choice to shock me or prevent a shock from occurring. There are four levels of intensity to choose from, each progressively more painful.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;今後3ヶ月、犬の首輪（遠隔操作でショックを与えられるやつ！！&lt;a href="http://images.google.com/images?hl=ja&amp;lr=lang_ja&amp;q=shock%20collar&amp;sa=N&amp;tab=wi" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://images.google.com/images?hl=ja&amp;lr=lang_ja&amp;q=shock%20collar&amp;sa=N&amp;tab=wi']);"&gt;[googleimage]&lt;/a&gt;）を首か足首に巻くので、その間4段階の痛みを”与える”か、”防ぐ”かできる。&lt;/p&gt;
&lt;img src="https://slightlyblue.com/blog/images/shock_20060703.jpg" alt="shock_20060703.jpg" height="224" width="454" /&gt; 
webカムが着いている辺り、本気っぽいです(・o・)
&lt;p&gt;っていうか&lt;a href="http://shocktheman.com/video.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://shocktheman.com/video.html']);"&gt;ビデオ！！！！！&lt;/a&gt;&lt;br&gt;
こんなまじめそうなお兄さんが…&lt;br&gt;
そしてこれが彼の決めた4ドルの価値。&lt;br&gt;
痛みを”与える”と”防ぐ”が拮抗してぼろもうけってことになってもいいよ。。&lt;/p&gt;</description></item><item><title>BMemoとはてぶ同時登録スクリプト</title><link>https://maaash.jp/2006/07/bmemo%E3%81%A8%E3%81%AF%E3%81%A6%E3%81%B6%E5%90%8C%E6%99%82%E7%99%BB%E9%8C%B2%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88/</link><pubDate>Sat, 01 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/bmemo%E3%81%A8%E3%81%AF%E3%81%A6%E3%81%B6%E5%90%8C%E6%99%82%E7%99%BB%E9%8C%B2%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88/</guid><description>&lt;p&gt;&lt;a href="http://watcher.moe-nifty.com/memo/2006/06/post_dd2c.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://watcher.moe-nifty.com/memo/2006/06/post_dd2c.html']);"&gt;複数のソーシャルブックマークサービスに同時に投稿するスクリプト&lt;/a&gt;発見。&lt;br&gt;
便利だけれども、チェックボックスを選ぶワンクッションと、BMemo非対応＞＜ なので自分用をつくっちゃいました。&lt;/p&gt;
&lt;p&gt;気になったサイトをメモするために、&lt;br&gt;
拙作&lt;a href="http://slightlyblue.com/blog/develop/bmemo/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/develop/bmemo/']);"&gt;BMemo&lt;/a&gt;と同時&lt;a href="http://b.hatena.ne.jp/mxg/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://b.hatena.ne.jp/mxg/']);"&gt;にはてなBookmark&lt;/a&gt;も使っている。&lt;/p&gt;
&lt;p&gt;役割分担としては、&lt;br&gt;
会社、自宅のいずれかにのみ関連性が高い || 近い将来再訪問しそうな || 重要な情報の記録&lt;br&gt;
　→ BMemo&lt;br&gt;
それ以外&lt;br&gt;
　→ はてぶ&lt;/p&gt;
&lt;p&gt;BMemoの役割のうち最後のやつを除いては、将来のはてぶ閲覧にとってのノイズになる可能性はあるが、まーはてぶしておいてもいい気もする。&lt;/p&gt;
&lt;p&gt;と言うことで、どうぞ(BMemoインストール済みの方へ)。&lt;br&gt;
&lt;a href="http://slightlyblue.com/dl/bmemo/becky+hatenabookmark/bmemo_script.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/dl/bmemo/becky+hatenabookmark/bmemo_script.htm']);"&gt;BMemoとはてぶ同時登録スクリプト&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Becky!のプラグインフォルダ（たいていC:\Program Files\RimArts\B2\PlugIns辺り）の　bmemo_script.htm を上書きしてください。&lt;/p&gt;
&lt;p&gt;ところで、window.open でIEがたちあがるのを、デフォルトのブラウザ（Lunascape）が立ち上がるようにするにはどうすればいいの？&lt;/p&gt;</description></item><item><title>ジャグリング</title><link>https://maaash.jp/2006/07/%E3%82%B8%E3%83%A3%E3%82%B0%E3%83%AA%E3%83%B3%E3%82%B0/</link><pubDate>Sat, 01 Jul 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/07/%E3%82%B8%E3%83%A3%E3%82%B0%E3%83%AA%E3%83%B3%E3%82%B0/</guid><description>&lt;p&gt;&lt;a href="http://video.google.com/videoplay?docid=4776181634656145640&amp;pl=true" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://video.google.com/videoplay?docid=4776181634656145640&amp;pl=true']);"&gt;Amazing Juggling Finale[google video]&lt;/a&gt;&lt;br&gt;
&lt;embed src="https://video.google.com/googleplayer.swf?docId=4776181634656145640" style="width: 400px; height: 326px" id="VideoPlayback" type="application/x-shockwave-flash" allowscriptaccess="sameDomain" quality="best" bgcolor="#ffffff" scale="noScale" salign="TL" flashvars="playerMode=embedded" align="middle"&gt;
&lt;/embed&gt;4min.27sec.&lt;/p&gt;
&lt;p&gt;it’s worth time.&lt;/p&gt;</description></item><item><title>Becky!でGTD？ToDo管理？</title><link>https://maaash.jp/2006/06/becky%E3%81%A7gtd%EF%BC%9Ftodo%E7%AE%A1%E7%90%86%EF%BC%9F/</link><pubDate>Thu, 29 Jun 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/06/becky%E3%81%A7gtd%EF%BC%9Ftodo%E7%AE%A1%E7%90%86%EF%BC%9F/</guid><description>&lt;p&gt;なにつくろうか、ということで、&lt;br&gt;
Becky!でGTD、というかToDo管理できたらうれしいですかね？&lt;/p&gt;
&lt;p&gt;メールって返信を期待されている点ToDoリストに近い。&lt;br&gt;
メールとは関係ないToDoをメーラーで管理できたらうれしいかな。&lt;/p&gt;
&lt;p&gt;そもそもToDoに求められる要件ってなんだろう？&lt;br&gt;
・ToDoリストを一望できること&lt;br&gt;
・一望できる範囲に内容、〆切、重要度、状態が含まれること&lt;br&gt;
・重要度順、〆切順などで並べ替え、見栄えの区別ができること&lt;br&gt;
・ToDo項目毎に詳細を書き込めること&lt;br&gt;
・完了後に完了済としてどこかに保存できること&lt;br&gt;
・How to make it doneを書き込めること&lt;br&gt;
・どこからでもアクセスできること&lt;br&gt;
こんなもん？&lt;/p&gt;
&lt;p&gt;最後のを除けば（最後のも工夫次第だが）&lt;br&gt;
メーラーのインターフェースってわりとよいのでは。&lt;/p&gt;
&lt;p&gt;いしなおさんも過去に&lt;br&gt;
&lt;a href="http://tdiary.ishinao.net/20050720.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://tdiary.ishinao.net/20050720.html']);"&gt;IMAPを使ってGTDを管理できないか&lt;/a&gt;&lt;br&gt;
考えたことがあるようですが、今このアイディアはどうなっちゃったんでしょう？&lt;/p&gt;
&lt;p&gt;今、&lt;a href="http://slightlyblue.com/blog/2005/11/post_ss_memomail.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/11/post_ss_memomail.html']);"&gt;BMemoのメモメールでToDo管理しているが&lt;/a&gt;、、&lt;br&gt;
それより便利だろうか・・・&lt;br&gt;
しばし想像してみよー&lt;br&gt;
ほしい人います？&lt;/p&gt;</description></item><item><title>AJAX的 旬レシピ検索</title><link>https://maaash.jp/2006/06/ajax%E7%9A%84-%E6%97%AC%E3%83%AC%E3%82%B7%E3%83%94%E6%A4%9C%E7%B4%A2/</link><pubDate>Fri, 23 Jun 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/06/ajax%E7%9A%84-%E6%97%AC%E3%83%AC%E3%82%B7%E3%83%94%E6%A4%9C%E7%B4%A2/</guid><description>&lt;p&gt;素材が料理の限界を規定する。&lt;br&gt;
なので、その時最もおいしい素材を求めることは、おいしさの探求者として、一料理人として当然のこと。&lt;/p&gt;
&lt;p&gt;というわけで、&lt;br&gt;
&lt;a href="http://slightlyblue.com/recipe/" class="external-link" target="_blank" rel="noopener"&gt;旬レシピ http://slightlyblue.com/recipe/&lt;br&gt;
&amp;lt;img src=&amp;quot; onclick=&amp;ldquo;javascript:_gaq.push([&amp;rsquo;_trackEvent&amp;rsquo;,&amp;lsquo;outbound-article&amp;rsquo;,&amp;lsquo;http://slightlyblue.com/recipe/br/imgsrc=&amp;rsquo;]);&amp;ldquo;http://slightlyblue.com/blog/images/recipe_20060623.jpg&amp;rdquo; alt=&amp;ldquo;recipe_20060623.jpg&amp;rdquo; height=&amp;ldquo;399&amp;rdquo; width=&amp;ldquo;512&amp;rdquo; /&amp;gt;&lt;/a&gt;&lt;br&gt;
公開です。&lt;/p&gt;
&lt;p&gt;今日なにを作ろうか。&lt;br&gt;
レシピを決めるまでには、2つのステップがあると思う。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;なに食べようか。&lt;/li&gt;
&lt;li&gt;どうやってつくろうか。&lt;br&gt;
世の中には、両方詰め込んでごちゃごちゃしてるレシピサイトが山ほどあるように感じます。&lt;br&gt;
旬レシピは、1.の方に重点を置いています。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;シンプルな、直感的なインターフェースで、&lt;br&gt;
食感をそそるレシピを見つけてください！&lt;/p&gt;
&lt;p&gt;ゆっくりと調べてきたいくつかの技術を寄せ集めてつくっています。&lt;br&gt;
・&lt;a href="http://slightlyblue.com/blog/2006/06/_by_javascriptcss.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/06/_by_javascriptcss.html']);"&gt;複数月選択インターフェース by Javascript,CSS&lt;/a&gt;&lt;br&gt;
・&lt;a href="http://slightlyblue.com/blog/2006/05/javascript.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/05/javascript.html']);"&gt;javascriptテンプレートエンジンまとめ::lyase_view&lt;/a&gt;&lt;br&gt;
・&lt;a href="http://prototype-window.xilinus.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://prototype-window.xilinus.com/']);"&gt;Prototype Window Class&lt;/a&gt;&lt;br&gt;
・&lt;a href="http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html']);"&gt;prototypeフレームワーク&lt;/a&gt;&lt;/p&gt;</description></item><item><title>BMemo Download</title><link>https://maaash.jp/2006/06/bmemo-download/</link><pubDate>Fri, 23 Jun 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/06/bmemo-download/</guid><description>&lt;p&gt;BMemo正式版 Version2.02 公開いたします！&lt;/p&gt;
&lt;p&gt;ぜひ、お使いいただき感想等お寄せいただけるとうれしいです。&lt;/p&gt;
&lt;p&gt;ダウンロードはこちら ↓&lt;br&gt;
&lt;a href="http://slightlyblue.com/dl/bmemo/BMemo202.zip" onclick="javascript:_gaq.push(['_trackEvent','download','http://slightlyblue.com/dl/bmemo/BMemo202.zip']);"&gt;BMemo version 2.02&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;–追記&lt;br&gt;
2006/06/22 : 正式版v2.02&lt;br&gt;
　文字化け不具合修正&lt;br&gt;
　「Bookmarkメール」の更新キャンセルを可能に。&lt;br&gt;
　英語モード&lt;br&gt;
　連絡先変更&lt;br&gt;
2005/11/03 : 正式版v2.01　不具合修正&lt;br&gt;
2005/11/03 : 正式版v2.00&lt;br&gt;
web取込時にActiveXを取り込まない&lt;br&gt;
デスクトップ検索から添付ファイルへ飛ぶ、複数添付ファイル等、本対応&lt;br&gt;
GoogleDesktopSearchPlugin対応&lt;br&gt;
メールリンク機能追加&lt;br&gt;
Bookmark機能追加&lt;br&gt;
D&amp;amp;D Undo機能追加&lt;br&gt;
ヘッダ編集機能追加&lt;br&gt;
デスクトップ検索機能、我ながらすごいと思うので、名前にもつけてみました(･ω･)&lt;br&gt;
2005/07/24 : 正式版v1.04　メモメールの「日付を10年後に飛ばす」をオプションに&lt;br&gt;
2005/07/19 : 正式版v1.03　不具合修正、省メモリ化&lt;br&gt;
2005/07/04 : 正式版v1.02　添付ファイルのデスクトップ検索機能追加&lt;br&gt;
2005/06/29 : 正式版v1.01 初期設定追加&lt;br&gt;
2005/06/01 : 正式版v1.00公開&lt;br&gt;
2005/02/09 : v0.20に同梱されているファイルに問題がありました。&lt;br&gt;
　同じバージョンのまま差し替えましたので、&lt;br&gt;
お手数ですが、再度ダウンロードお願いいたします。&lt;br&gt;
2005/02/08 : v0.20 にVUPしました&lt;/p&gt;</description></item><item><title>ツリーハウス</title><link>https://maaash.jp/2006/06/%E3%83%84%E3%83%AA%E3%83%BC%E3%83%8F%E3%82%A6%E3%82%B9/</link><pubDate>Thu, 22 Jun 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/06/%E3%83%84%E3%83%AA%E3%83%BC%E3%83%8F%E3%82%A6%E3%82%B9/</guid><description>&lt;p&gt;COULDさんの&lt;a href="http://www.yasuhisa.com/could/entries/000966.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.yasuhisa.com/could/entries/000966.php']);"&gt;21世紀型木造建築&lt;/a&gt;より..&lt;br&gt;
&lt;a href="http://www.o2sustainability.com/o2sustainability.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.o2sustainability.com/o2sustainability.html']);"&gt;&lt;img alt="o2_20060622.jpg" src="https://slightlyblue.com/blog/images/o2_20060622.jpg" width="261" height="170" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;デザイナーである Dustin Fieder 氏が考案したO2 Sustainability Treehouse 木の実を連想させる球体の家のような場所。100%リサイクル製品で作られているだけでなく、釘やネジを使わず木にはめ込むような形をとっているので木を傷つけることもありません&lt;/p&gt;
バックミンスターフラーのテンセグリティを木の上に設置しているような建築。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;目的がsustainabilityだけあって、最小の建築素材で最大の容積を得られるテンセグリティ構造に着目した点、理論的帰結が美につながる感じ、好きです。&lt;/p&gt;
&lt;p&gt;そういえば、ツリーハウス、行きたいと思いつつ実行していなかった。&lt;/p&gt;
&lt;p&gt;ということで、ツリーハウスリンク集memo・・・&lt;br&gt;
&lt;a href="http://www.asagiri-kantoku.com/facilities.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.asagiri-kantoku.com/facilities.html']);"&gt;ハートランド・朝霧&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.geocities.co.jp/NatureLand/7426/panf.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.geocities.co.jp/NatureLand/7426/panf.htm']);"&gt;ガンコ山ツリーハウスビレッジ&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www1.neweb.ne.jp/wa/kira-/page/enjoy.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www1.neweb.ne.jp/wa/kira-/page/enjoy.html']);"&gt;ペンションきら星　ツリーハウスの樹上テラス&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www6.ocn.ne.jp/~ogidani/treehs01.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www6.ocn.ne.jp/~ogidani/treehs01.htm']);"&gt;ACN大鬼谷オートキャンプ場&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;年内。&lt;/p&gt;</description></item><item><title>ヨーダさんバックパック</title><link>https://maaash.jp/2006/06/%E3%83%A8%E3%83%BC%E3%83%80%E3%81%95%E3%82%93%E3%83%90%E3%83%83%E3%82%AF%E3%83%91%E3%83%83%E3%82%AF/</link><pubDate>Wed, 21 Jun 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/06/%E3%83%A8%E3%83%BC%E3%83%80%E3%81%95%E3%82%93%E3%83%90%E3%83%83%E3%82%AF%E3%83%91%E3%83%83%E3%82%AF/</guid><description>&lt;img src="https://slightlyblue.com/blog/images/yoda_backpack_add1.jpg" alt="yoda_backpack_add1.jpg" width="200" /&gt; 
&lt;a href="http://japanese.engadget.com/2006/06/20/yoda-backpack/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://japanese.engadget.com/2006/06/20/yoda-backpack/']);"&gt;ヨーダさんバックパック[engadget japanese]&lt;/a&gt; 
&lt;a href="http://www.thinkgeek.com/homeoffice/gear/817c/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.thinkgeek.com/homeoffice/gear/817c/']);"&gt;Yoda Plush Backpack&lt;/a&gt; 
ヨーダのバッグ！？ 
背中にしょって森の中を走り抜けたい気がちょっとします。
&lt;p&gt;参考：&lt;a href="http://slightlyblue.com/blog/2005/04/yodish.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/04/yodish.html']);"&gt;ヨーダ語&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ケンモチさんの音楽</title><link>https://maaash.jp/2006/06/%E3%82%B1%E3%83%B3%E3%83%A2%E3%83%81%E3%81%95%E3%82%93%E3%81%AE%E9%9F%B3%E6%A5%BD/</link><pubDate>Tue, 20 Jun 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/06/%E3%82%B1%E3%83%B3%E3%83%A2%E3%83%81%E3%81%95%E3%82%93%E3%81%AE%E9%9F%B3%E6%A5%BD/</guid><description>&lt;p&gt;だいぶ前のDesignFestaVol.23でもらってきたいろいろを整理。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.h-kenmochi.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.h-kenmochi.com/']);"&gt;Kenmochi Hidefumi&lt;/a&gt;, いいじゃない！&lt;/p&gt;
&lt;p&gt;今年はアンテナに埃が積もっていたのか、なにも買わずに帰ってきてしまいましたが、タイムラグの末に気持ちいい音楽を再発見。&lt;br&gt;
音楽の編集技術が優れているのかもしれませんね、メロディの裏で鳴ってる音がとても自然です。&lt;/p&gt;
&lt;p&gt;音楽は、ケンモチさんのページの左下&lt;br&gt;
&lt;a href="http://www.h-kenmochi.com/audio/tigerlily.mp3" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.h-kenmochi.com/audio/tigerlily.mp3']);"&gt;直リンクしちゃうとここ&lt;/a&gt;&lt;br&gt;
もし迷惑だったらコメントください..&lt;/p&gt;
&lt;p&gt;ちなみに最近よく聴いてるのはKeithJarretです。&lt;/p&gt;
&lt;div class="amazlet-box" style="margin-bottom:0px;"&gt;
&lt;div class="amazlet-image" style="float:left;"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0000262WI/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B0000262WI/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/P/B0000262WI.09.MZZZZZZZ.jpg" alt="The Köln Concert" style="border: none;" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"&gt;
&lt;div class="amazlet-name" style="margin-bottom:10px;line-height:120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0000262WI/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B0000262WI/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;The Köln Concert&lt;/a&gt; &lt;div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/B0000262WI/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/B0000262WI/masaishere-22']);" title="The Köln Concert" target="_blank"&gt;amazlet&lt;/a&gt; on 06.06.20
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-detail"&gt;
 Keith Jarrett &lt;br /&gt;Ecm Records (1999/11/16)&lt;br /&gt;売り上げランキング: 74,122
&lt;/div&gt;
&lt;div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"&gt;
&lt;div class="amazlet-review-average" style="margin-bottom:5px"&gt;
 おすすめ度の平均: ⭐5
&lt;/div&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;⭐5 背中で弾く音楽&lt;br /&gt;⭐5 美しく透明でいてパワーがある&lt;br /&gt;⭐5 最高のソロピアノ&lt;/div&gt; &lt;div class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0000262WI/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B0000262WI/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;div class="amazlet-footer" style="clear: left"&gt;
&lt;/div&gt;&lt;/div&gt;</description></item><item><title>うに、2貫</title><link>https://maaash.jp/2006/06/%E3%81%86%E3%81%AB%E3%80%812%E8%B2%AB/</link><pubDate>Sun, 18 Jun 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/06/%E3%81%86%E3%81%AB%E3%80%812%E8%B2%AB/</guid><description>&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/images/uni20060618.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/uni20060618.jpg']);"&gt;&lt;img alt="uni20060618.jpg" src="https://slightlyblue.com/blog/images/uni20060618.jpg" height="200" /&gt;&lt;/a&gt;&lt;br&gt;
うに、2貫。&lt;/p&gt;
&lt;p&gt;都内でこんなうにをいただけるなんて。&lt;/p&gt;</description></item><item><title>中国　-上海、同里、アモイ、客家円楼- @2004/12</title><link>https://maaash.jp/2006/06/%E4%B8%AD%E5%9B%BD%E3%80%80-%E4%B8%8A%E6%B5%B7%E3%80%81%E5%90%8C%E9%87%8C%E3%80%81%E3%82%A2%E3%83%A2%E3%82%A4%E3%80%81%E5%AE%A2%E5%AE%B6%E5%86%86%E6%A5%BC-200412/</link><pubDate>Fri, 09 Jun 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/06/%E4%B8%AD%E5%9B%BD%E3%80%80-%E4%B8%8A%E6%B5%B7%E3%80%81%E5%90%8C%E9%87%8C%E3%80%81%E3%82%A2%E3%83%A2%E3%82%A4%E3%80%81%E5%AE%A2%E5%AE%B6%E5%86%86%E6%A5%BC-200412/</guid><description>&lt;p&gt;古い写真の移行を進めます・・・&lt;br&gt;
クリックすると大きくなります。&lt;/p&gt;
&lt;p&gt;中国　–上海、同里、アモイ、客家円楼– @2004/12&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/china/01.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/china/01.jpg"&lt;/a&gt; title=&amp;ldquo;1/15&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;上海の夜景です。&lt;/p&gt;
&lt;p&gt;" rel="lightbox[china]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/china/01.jpg" width=100/&gt;&lt;/a&gt; 
1/15
&lt;p&gt;上海の夜景です。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/china/02.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/china/02.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[china]&amp;rdquo; title=&amp;ldquo;2/15&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;昼間はこんなです&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/china/02.jpg" width=100/&gt;&lt;/a&gt; 
2/15
&lt;p&gt;昼間はこんなです&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/china/03.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/china/03.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[china]&amp;rdquo; title=&amp;ldquo;3/15&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;金茂大厦（ジンマオタワー）の展望台&lt;br /&gt;
からタワーの中を見下ろす。&lt;br /&gt;
底はまだ53階だというからため息もの..&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/china/03.jpg" width=100/&gt;&lt;/a&gt; 
3/15
&lt;p&gt;金茂大厦（ジンマオタワー）の展望台&lt;br&gt;
からタワーの中を見下ろす。&lt;br&gt;
底はまだ53階だというからため息もの..&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/china/04.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/china/04.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[china]&amp;rdquo; title=&amp;ldquo;4/15&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;上海近郊の”同里”という水郷地帯へ遊びに行きました。&lt;br /&gt;
世界文化遺産である退思園。&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/china/04.jpg" width=100/&gt;&lt;/a&gt; 
4/15
&lt;p&gt;上海近郊の”同里”という水郷地帯へ遊びに行きました。&lt;br&gt;
世界文化遺産である退思園。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/china/05.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/china/05.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[china]&amp;rdquo; title=&amp;ldquo;5/15&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;世界文化遺産の中で、&lt;br /&gt;
筝？のお稽古をしています。&lt;br /&gt;
さすが中国。&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/china/05.jpg" width=100/&gt;&lt;/a&gt; 
5/15
&lt;p&gt;世界文化遺産の中で、&lt;br&gt;
筝？のお稽古をしています。&lt;br&gt;
さすが中国。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/china/06.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/china/06.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[china]&amp;rdquo; title=&amp;ldquo;6/15&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;同里の街並み。&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/china/06.jpg" width=100/&gt;&lt;/a&gt; 
6/15
&lt;p&gt;同里の街並み。&lt;/p&gt;</description></item><item><title>Visited Countries</title><link>https://maaash.jp/2006/06/visited-countries/</link><pubDate>Tue, 06 Jun 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/06/visited-countries/</guid><description>&lt;p&gt;趣味のひとつに海外旅行をあげるからには、&lt;br&gt;
やっておくべし。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/images/visitedcountries_20060606.gif" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/visitedcountries_20060606.gif']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/visitedcountries_20060606.gif" width=300/&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="http://douweosinga.com/projects/visitedcountries" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://douweosinga.com/projects/visitedcountries']);"&gt;create your own visited countries map&lt;/a&gt;&lt;br&gt;
or &lt;a href="http://www.tonjafabritz.com" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.tonjafabritz.com']);"&gt;vertaling Duits Nederlands&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;中央のグレーの大陸が妙に目から離れませんが。。&lt;/p&gt;</description></item><item><title>複数月選択インターフェース by Javascript,CSS</title><link>https://maaash.jp/2006/06/%E8%A4%87%E6%95%B0%E6%9C%88%E9%81%B8%E6%8A%9E%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9-by-javascriptcss/</link><pubDate>Sun, 04 Jun 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/06/%E8%A4%87%E6%95%B0%E6%9C%88%E9%81%B8%E6%8A%9E%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9-by-javascriptcss/</guid><description>&lt;p&gt;今つくっているなにかのために、&lt;br&gt;
月を選択するインターフェースが必要なので、作ってみました。&lt;br&gt;
滑らかで自然かな、と。&lt;/p&gt;
&lt;p&gt;・単月の選択も&lt;br&gt;
・複数月の選択も&lt;br&gt;
・年を越えた複数月の選択も&lt;br&gt;
できる直感的なI/Fかな、と。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/lab/t20060602/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/lab/t20060602/']);"&gt;複数月選択インターフェースdemo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/lab/t20060602/prototype.js" onclick="javascript:_gaq.push(['_trackEvent','download','http://slightlyblue.com/lab/t20060602/prototype.js']);"&gt;prototype.js&lt;/a&gt; と、以下の3ファイルを同フォルダに入れれば動作します。&lt;br&gt;
&lt;a href="http://slightlyblue.com/lab/t20060602/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/lab/t20060602/index.html']);"&gt;index.html&lt;/a&gt;&lt;br&gt;
&lt;a href="http://slightlyblue.com/lab/t20060602/selectmonth.js" onclick="javascript:_gaq.push(['_trackEvent','download','http://slightlyblue.com/lab/t20060602/selectmonth.js']);"&gt;selectmonth.js&lt;/a&gt;&lt;br&gt;
&lt;a href="http://slightlyblue.com/lab/t20060602/selectmonth.css" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/lab/t20060602/selectmonth.css']);"&gt;selectmonth.css&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;lightbox v2.02を参考にして初Javascriptライブラリをつくってみました。&lt;/p&gt;</description></item><item><title>超伝導。</title><link>https://maaash.jp/2006/06/%E8%B6%85%E4%BC%9D%E5%B0%8E%E3%80%82/</link><pubDate>Thu, 01 Jun 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/06/%E8%B6%85%E4%BC%9D%E5%B0%8E%E3%80%82/</guid><description>&lt;p&gt;超伝導って、ロマンな感じ。&lt;/p&gt;</description></item><item><title>Lyase_Viewで405MethodNotAllowedと言われたら</title><link>https://maaash.jp/2006/05/lyase_view%E3%81%A7405methodnotallowed%E3%81%A8%E8%A8%80%E3%82%8F%E3%82%8C%E3%81%9F%E3%82%89/</link><pubDate>Tue, 30 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/lyase_view%E3%81%A7405methodnotallowed%E3%81%A8%E8%A8%80%E3%82%8F%E3%82%8C%E3%81%9F%E3%82%89/</guid><description>&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2006/05/javascript.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/05/javascript.html']);"&gt;javascriptテンプレートエンジンまとめ&lt;/a&gt;のうち、&lt;a href="http://inforno.net/articles/2006/02/15/the-embed-javascript-implementation" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://inforno.net/articles/2006/02/15/the-embed-javascript-implementation']);"&gt;Lyase_View&lt;/a&gt;を使って遊んでいます。&lt;/p&gt;
&lt;p&gt;ちょっとはまった話。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;var&lt;/span&gt; &lt;span style="color:#e06c75"&gt;rendered&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Lyase&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;View&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;render&lt;/span&gt;({&lt;span style="color:#e06c75"&gt;file&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;./images.jhtml&amp;#34;&lt;/span&gt;}, &lt;span style="color:#e06c75"&gt;yresult&lt;/span&gt; ); 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;こんなふうにテンプレート使ってみてたら、&lt;br&gt;
“405 Method Not Allowed”&lt;br&gt;
というhttpエラーが。&lt;/p&gt;
&lt;p&gt;そんなエラー見たこと無かったので調べてみると、&lt;br&gt;
images.jhtml に対してPOSTメソッド使っちゃだめですよ、という感じらしい。&lt;br&gt;
lolipopのapacheの設定でしょう、拡張子で制限かけてそうです。&lt;/p&gt;
&lt;p&gt;回避はこんな。&lt;br&gt;
88行目を&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;before&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;template&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; (&lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Ajax&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;Request&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;options&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;file&lt;/span&gt;,{&lt;span style="color:#e06c75"&gt;asynchronous&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;false&lt;/span&gt;})).&lt;span style="color:#e06c75"&gt;transport&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;responseText&lt;/span&gt;; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;after&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;template&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;=&lt;/span&gt; (&lt;span style="color:#c678dd"&gt;new&lt;/span&gt; &lt;span style="color:#e06c75"&gt;Ajax&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;Request&lt;/span&gt;(&lt;span style="color:#e06c75"&gt;options&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;file&lt;/span&gt;,{&lt;span style="color:#e06c75"&gt;asynchronous&lt;/span&gt; &lt;span style="color:#56b6c2"&gt;:&lt;/span&gt; &lt;span style="color:#e5c07b"&gt;false&lt;/span&gt;, &lt;span style="color:#e06c75"&gt;method&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#39;get&amp;#39;&lt;/span&gt;})).&lt;span style="color:#e06c75"&gt;transport&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;responseText&lt;/span&gt;; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;prototype.js のAjax.RequestってデフォルトPOSTメソッド使うんですね。知りませんでした。&lt;/p&gt;</description></item><item><title>MAX or アドルフの画集</title><link>https://maaash.jp/2006/05/max-or-%E3%82%A2%E3%83%89%E3%83%AB%E3%83%95%E3%81%AE%E7%94%BB%E9%9B%86/</link><pubDate>Sun, 28 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/max-or-%E3%82%A2%E3%83%89%E3%83%AB%E3%83%95%E3%81%AE%E7%94%BB%E9%9B%86/</guid><description>&lt;p&gt;「アドルフの画集」（邦題。原題は「MAX」）よかった。&lt;/p&gt;
&lt;div class="amazlet-box" style="margin-bottom:0px;"&gt;
&lt;div class="amazlet-image" style="float:left;"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0002HNQD4/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B0002HNQD4/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/P/B0002HNQD4.09.MZZZZZZZ.jpg" alt="アドルフの画集" style="border: none;" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"&gt;
&lt;div class="amazlet-name" style="margin-bottom:10px;line-height:120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0002HNQD4/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B0002HNQD4/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;アドルフの画集&lt;/a&gt; &lt;div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/B0002HNQD4/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/B0002HNQD4/masaishere-22']);" title="アドルフの画集" target="_blank"&gt;amazlet&lt;/a&gt; on 06.05.28
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-detail"&gt;
 アミューズソフトエンタテインメント (2004/08/27)&lt;br /&gt;売り上げランキング: 5,127
&lt;/div&gt;
&lt;div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"&gt;
&lt;div class="amazlet-review-average" style="margin-bottom:5px"&gt;
 おすすめ度の平均: ⭐4
&lt;/div&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;⭐4 精巧に作り上げられた作品&lt;br /&gt;⭐4 人間味あふれる&lt;br /&gt;⭐5 誰でも「アドルフ」になり得る&lt;/div&gt; &lt;div class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0002HNQD4/masaishere-22/ref=nosim/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B0002HNQD4/masaishere-22/ref=nosim/']);" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;div class="amazlet-footer" style="clear: left"&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
 &amp;lt;a href=http://www.eigaseikatu.com/title/4330/&amp;gt;アドルフの画集＠映画生活
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 アドルフ・ヒトラーがデビューする前までは画家を目指していた、その時期の話。
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 ヒトラーの芸術的なスピーチが、絵画と対照的に使われているのもあって、&amp;lt;br /&amp;gt; よい言葉が使われている。&amp;lt;br /&amp;gt; アクセントもはっきりしていて、気持ちいい。
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 一番おもしろかったのは、予告編。
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 MAXはヒトラーの絵画面の才能を開かせようとしていた人で、&amp;lt;br /&amp;gt; 映画もどちらかといえば彼の登場シーンの方が多く、&amp;lt;br /&amp;gt; 原題が「MAX」なのもうなづけるし、&amp;lt;br /&amp;gt; 海外向け予告編も映画どおりの印象。
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 ところが邦題は「アドルフの画集」で、&amp;lt;br /&amp;gt; 国内向け予告編に使われているカットも共通点が少なく&amp;lt;br /&amp;gt; まるで違う映画。&amp;lt;br /&amp;gt; 両方の予告編見たら起承転結全部ねたばれ。
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 えー！&amp;lt;br /&amp;gt; 「MAX」的にはクライマックスのシーンを「アドルフの画集」的には予告編で見せちゃってもいいの！&amp;lt;br /&amp;gt; って。
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 日本人って・・・&amp;lt;br /&amp;gt; 業界にはどう見られているんだろう？？&amp;lt;br /&amp;gt; それとも海外ではヒトラーを少しでも肯定的に見る視点が厭われるからかな。
 &amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Mario Brothers - Live -</title><link>https://maaash.jp/2006/05/mario-brothers-live/</link><pubDate>Fri, 26 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/mario-brothers-live/</guid><description>&lt;p&gt;give me your 5 minutes.&lt;br&gt;
&lt;embed src="https://video.google.com/googleplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DtgAAAG7ggqAHSiJjpW0D3w4aYTWY42tBFvbo36gIduTUnm65XHH_lLVsONOLulfWur32C_BbDnQ84psTfR0G2cn0uu0B_YGjFKw49jLV1R9nnbjhUqlBoQkQzS5hI4InGqg0ZQ6gKWGA-MgkDhT4hF99bUJLPNRXd-WCm6bgtKSCSmg-ESAkr2dsA936HRBAzMMQiSGYoy0YUCKtGVW7Ij-eQFhPHMkfJFKzfqXONdU_xpz3xRgleF9Y9niGQxbodNySKg%26sigh%3DN_AznPFh50uwDprES67chsvTkYA%26begin%3D0%26len%3D298130%26docid%3D-2139555376132383479&amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer%3Fapp%3Dvss%26contentid%3D26f79c68163461eb%26second%3D5%26itag%3Dw320%26urlcreated%3D1148652800%26sigh%3DYaLdcbMxBypqcsvXWI1wTpJ6NdA&amp;playerId=-2139555376132383479" style="width: 400px; height: 326px" id="VideoPlayback" type="application/x-shockwave-flash" allowscriptaccess="sameDomain" quality="best" bgcolor="#ffffff" scale="noScale" wmode="window" salign="TL" flashvars="playerMode=embedded" align="middle"&gt;
&lt;/embed&gt;&lt;/p&gt;</description></item><item><title>sushi tips</title><link>https://maaash.jp/2006/05/sushi-tips/</link><pubDate>Wed, 24 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/sushi-tips/</guid><description>&lt;p&gt;Sushi Otaku による&lt;br&gt;
&lt;a href="http://sushiotaku.blogspot.com/2006/05/sushi-tips-how-to-eat-sushi-or.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://sushiotaku.blogspot.com/2006/05/sushi-tips-how-to-eat-sushi-or.html']);"&gt;“Sushi Tips – How to Eat Sushi (or Expected Etiquette)” &lt;/a&gt;&lt;br&gt;
を見つけた。&lt;/p&gt;
&lt;p&gt;外国人による寿司のエチケットですが、&lt;br&gt;
改めて白紙から寿司の食べ方を再構築しているようで&lt;br&gt;
興味深い点がいっぱいあります。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In more traditional sushi-ya, if you are not given a spoon for your soup, do not ask for one. You are expected to pick up your bowl to drink the soup, using your chopsticks to direct the solid pieces to your mouth.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;そっか、スプーンのついて来ないスープって、ちょっとびっくりするものなのかもしれません。&lt;br&gt;
とか。&lt;/p&gt;
&lt;p&gt;ちょっと気になったのでコメントを残して見ました。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hi, I’m a Japanese, and also for me, these were interesting.&lt;/p&gt;</description></item><item><title>今日感じた未来。パパとキャッチボールしたあの頃</title><link>https://maaash.jp/2006/05/%E4%BB%8A%E6%97%A5%E6%84%9F%E3%81%98%E3%81%9F%E6%9C%AA%E6%9D%A5%E3%80%82%E3%83%91%E3%83%91%E3%81%A8%E3%82%AD%E3%83%A3%E3%83%83%E3%83%81%E3%83%9C%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9F%E3%81%82%E3%81%AE/</link><pubDate>Thu, 18 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/%E4%BB%8A%E6%97%A5%E6%84%9F%E3%81%98%E3%81%9F%E6%9C%AA%E6%9D%A5%E3%80%82%E3%83%91%E3%83%91%E3%81%A8%E3%82%AD%E3%83%A3%E3%83%83%E3%83%81%E3%83%9C%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9F%E3%81%82%E3%81%AE/</guid><description>&lt;p&gt;小さいころ、父親とキャッチボールして遊んだりしたようなしなかったような。&lt;br&gt;
野球でなく、アメフトのレモンの形のあれで遊んでたような。&lt;br&gt;
中にはサッカーボール蹴りあってた子もいるでしょう。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://journal.mycom.co.jp/articles/2006/05/17/robocup/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://journal.mycom.co.jp/articles/2006/05/17/robocup/']);"&gt;ロボット界のナカタ、シュンスケ現る? ロボカップ2006国内大会&lt;/a&gt;&lt;br&gt;
&lt;a href="http://journal.mycom.co.jp/articles/2006/05/17/robocup/images/012.wmv" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://journal.mycom.co.jp/articles/2006/05/17/robocup/images/012.wmv']);"&gt;&lt;img src="https://journal.mycom.co.jp/articles/2006/05/17/robocup/images/012.jpg" width="250" /&gt;&lt;/a&gt;&lt;br&gt;
サッカーくらいなら今やロボットがしてくれる！&lt;/p&gt;
&lt;p&gt;キャッチボール、ましてやレモンはもう少しかかりそうですが、5年後くらいにはバッティングセンターにキャッチボールロボットがいそうな。&lt;/p&gt;</description></item><item><title>javascriptテンプレートエンジンまとめ</title><link>https://maaash.jp/2006/05/javascript%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%81%BE%E3%81%A8%E3%82%81/</link><pubDate>Tue, 16 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/javascript%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%81%BE%E3%81%A8%E3%82%81/</guid><description>&lt;p&gt;ちょっとjavascriptのテンプレートエンジンの調査・・・&lt;/p&gt;
&lt;p&gt;ご紹介とテンプレートのコーディングスタイル：&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ajax-pages.sourceforge.net/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://ajax-pages.sourceforge.net/']);"&gt;ajax pages&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; % for ( i=0; i&amp;lt;&lt;span style="color:#e06c75"&gt;5&lt;/span&gt;; &lt;span style="color:#e06c75"&gt;i&lt;/span&gt;++ ) { %&amp;gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Hello World 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt; % } %&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://trimpath.com/project/wiki/JavaScriptTemplates" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://trimpath.com/project/wiki/JavaScriptTemplates']);"&gt;TrimPath&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#e06c75"&gt;textarea&lt;/span&gt; &lt;span style="color:#e06c75"&gt;id&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;cart_jst&amp;#34;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;style&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;display: none&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt; Hello ${customer.first} ${customer.last}.&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt; Your shopping cart has ${products.length} item(s):&amp;lt;/&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;table&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;tr&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt;Name&amp;lt;/&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt;Description&amp;lt;/&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt;Price&amp;lt;/&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt;Quantity &amp;amp; Alert&amp;lt;/&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt; &amp;lt;/&lt;span style="color:#e06c75"&gt;tr&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt; {for p in products}&amp;lt;/&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;tr&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt;${p.name|capitalize}&amp;lt;/&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt;${p.desc}&amp;lt;/&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt;$${p.price}&amp;lt;/&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt;${p.quantity} : ${p.alert|default:&amp;#34;&amp;#34;|capitalize}&amp;lt;/&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt; &amp;lt;/&lt;span style="color:#e06c75"&gt;tr&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt; {forelse}&amp;lt;/&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;tr&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;td&lt;/span&gt; &lt;span style="color:#e06c75"&gt;colspan&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;4&amp;#34;&lt;/span&gt;&amp;gt;No products in your cart.&amp;lt;/&lt;span style="color:#e06c75"&gt;td&lt;/span&gt;&amp;gt; &amp;lt;/&lt;span style="color:#e06c75"&gt;tr&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt; {/for}&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt; &amp;lt;/&lt;span style="color:#e06c75"&gt;table&lt;/span&gt;&amp;gt; &amp;lt;&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt; {if customer.level == &amp;#34;gold&amp;#34;}&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt; We love you! Please check out our Gold Customer specials!&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt; {else}&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt; Become a Gold Customer by buying more stuff here.&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt; {/if}&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt; &amp;lt;/&lt;span style="color:#e06c75"&gt;textarea&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>ガーリックトーストとシチューとワインとバックミンスターフラーと</title><link>https://maaash.jp/2006/05/%E3%82%AC%E3%83%BC%E3%83%AA%E3%83%83%E3%82%AF%E3%83%88%E3%83%BC%E3%82%B9%E3%83%88%E3%81%A8%E3%82%B7%E3%83%81%E3%83%A5%E3%83%BC%E3%81%A8%E3%83%AF%E3%82%A4%E3%83%B3%E3%81%A8%E3%83%90%E3%83%83%E3%82%AF/</link><pubDate>Sun, 14 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/%E3%82%AC%E3%83%BC%E3%83%AA%E3%83%83%E3%82%AF%E3%83%88%E3%83%BC%E3%82%B9%E3%83%88%E3%81%A8%E3%82%B7%E3%83%81%E3%83%A5%E3%83%BC%E3%81%A8%E3%83%AF%E3%82%A4%E3%83%B3%E3%81%A8%E3%83%90%E3%83%83%E3%82%AF/</guid><description>&lt;p&gt;ひさびさ料理ねたとなんかいろいろを。&lt;/p&gt;
&lt;p&gt;ガーリックトースト+シチューはもう18番認定です。&lt;/p&gt;
&lt;p&gt;ガーリックトーストレシピは自分の。（&lt;a href="http://slightlyblue.com/blog/2005/01/post.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/01/post.html']);"&gt;感動ガーリックトースト+レシピ&lt;/a&gt;）&lt;br&gt;
生姜のみじん切りをにんにくに混ぜるとさらにおいしくなります。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/060513garlic.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/060513garlic.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/060513garlic.jpg" width=200/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;そしてシチュー。&lt;br&gt;
ブロッコリーは定番の具になってきました。&lt;br&gt;
ほんとは、型崩れさせないならじゃがいもと同じタイミングくらいがいいみたいですが、&lt;br&gt;
ニンジンと同じタイミングくらいに入れて柔らかくしちゃってもおいしいです。&lt;br&gt;
今回のポイントはたまねぎ。&lt;br&gt;
新たまねぎを1個半。&lt;br&gt;
そのうち半分はみじん切り、残りはフツーに。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/060513stew.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/060513stew.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/060513stew.jpg" width=200/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;GEWRUZTRAMINER.&lt;br&gt;
ぶどうの種です。&lt;br&gt;
フランスのアルザスがメインの産地で、チリなんかでも作ってます。&lt;br&gt;
スパイシーな味わいがGOOD&lt;br&gt;
もっとメジャーになっていろんな店で置いてほしい。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/060513gewurz.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/060513gewurz.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/060513gewurz.jpg" width=200/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ベトナムのお土産。&lt;br&gt;
1つ。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/060513piece.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/060513piece.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/060513piece.jpg" width=200/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;完成系。&lt;br&gt;
曲線が素敵です。&lt;br&gt;
バックミンスターフラーを思い出します。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/060513sphere.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/060513sphere.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/060513sphere.jpg" width=200/&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>lolipopのインストール済みperlモジュール</title><link>https://maaash.jp/2006/05/lolipop%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%B8%88%E3%81%BFperl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB/</link><pubDate>Mon, 08 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/lolipop%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%B8%88%E3%81%BFperl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB/</guid><description>&lt;p&gt;lolipopのレンタルサーバを借りてから、perlでごにょごにょ始めてます。&lt;/p&gt;
&lt;p&gt;そんな時に便利だったのが、&lt;br&gt;
&lt;a href="http://www.futomi.com/library/servana.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.futomi.com/library/servana.html']);"&gt;サーバーアナライザー&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;お使いのサーバの仕様って分かってますか？意外と、サービス事業者のページは技術的に細かいことまでは掲載されていないことが多いですよね。サーバアナライザーは、サーバの仕様を自動的に調査し、ブラウザー上に表示します。どんな Perl モジュールが使えるのか、このコマンドのパスは？等などの疑問が解消できるでしょう。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;lolipop検討中の方へ、調査結果から一部参照してお届け。&lt;/p&gt;</description></item><item><title>An Answer To "What's Web 3.0?"</title><link>https://maaash.jp/2006/05/an-answer-to-whats-web-30/</link><pubDate>Sun, 07 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/an-answer-to-whats-web-30/</guid><description>&lt;p&gt;最近、情報収集のソースを少しずつ海外へシフトしている。。&lt;/p&gt;
&lt;p&gt;“web2.0″がはやっていますね。&lt;br&gt;
その定義は、その発明者の一人Tim O’Reillyが&lt;br&gt;
&lt;a href="http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html']);"&gt;What Is Web 2.0&lt;/a&gt;に書いていたり、&lt;br&gt;
いろんな人が自分なりの解釈をしたりしています。&lt;br&gt;
&lt;a href="http://book.shinchosha.co.jp/foresight/web_kikaku/u111.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://book.shinchosha.co.jp/foresight/web_kikaku/u111.html']);"&gt;梅田望夫 善･清･可能性を信じる「Web 2.0」の考え方&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;私の理解では、web2.0のポイントは&lt;br&gt;
content generating : web coders → everyone&lt;br&gt;
です。&lt;/p&gt;
&lt;p&gt;さて、Tim O’Reillyのweb3.0に対する言及です。&lt;br&gt;
&lt;a href="http://radar.oreilly.com/archives/2006/05/instrumenting_the_world_1_cell.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://radar.oreilly.com/archives/2006/05/instrumenting_the_world_1_cell.html']);"&gt;Instrumenting the World #1 (Cell Tower Rainfall Detection)&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Recently, whenever people ask me “What’s Web 3.0?” I’ve been saying that it’s when we apply all the principles we’re learning about aggregating human-generated data and turning it into collective intelligence, and apply that to sensor-generated (machine-generated) data.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;最初の方はweb2.5くらいな気がしますね、&lt;br&gt;
すとんと理解できるのは、web3.0とは、&lt;br&gt;
&lt;strong&gt;and apply that to sensor-generated (machine-generated) data.&lt;/strong&gt;&lt;br&gt;
です。&lt;/p&gt;</description></item><item><title>Lightbox JS v2.02のコメント/タイトル欄</title><link>https://maaash.jp/2006/05/lightbox-js-v202%E3%81%AE%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%E6%AC%84/</link><pubDate>Thu, 04 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/lightbox-js-v202%E3%81%AE%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%E6%AC%84/</guid><description>&lt;p&gt;またまたLightboxJSv2.02ねた。&lt;/p&gt;
&lt;p&gt;ギリシャ&amp;amp;ドイツ写真＠2003秋
で、初めてLightboxでオーバーラップ表示した画像の下にある
コメント（タイトル?）欄を使ってみました。&lt;/p&gt;
&lt;p&gt;書式が小さなフォントのboldだったので、
見やすくなるようにいじってみました。&lt;/p&gt;
&lt;p&gt;lightbox.css のline.68辺り&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;pre&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;#&lt;span style="color:#e06c75"&gt;imageData&lt;/span&gt; #&lt;span style="color:#e06c75"&gt;caption&lt;/span&gt;{ &lt;span style="color:#c678dd"&gt;font-weight&lt;/span&gt;: &lt;span style="color:#e5c07b"&gt;bold&lt;/span&gt;; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;aft&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;#&lt;span style="color:#e06c75"&gt;imageData&lt;/span&gt; #&lt;span style="color:#e06c75"&gt;caption&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;font-size&lt;/span&gt;: &lt;span style="color:#e5c07b"&gt;x-small&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ちなみにMovable Typeのエントリー投稿画面での入力の仕方memo&lt;/p&gt;
&lt;p&gt;ギリシャ&amp;amp;ドイツ写真＠2003秋
のエントリーは以下のように書いてます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#e06c75"&gt;a&lt;/span&gt; &lt;span style="color:#e06c75"&gt;href&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;http://slightlyblue.com/blog/photo/g2/01.jpg&amp;#34;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;onclick&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;javascript:_gaq.push([&amp;#39;_trackEvent&amp;#39;,&amp;#39;outbound-article&amp;#39;,&amp;#39;http://slightlyblue.com/blog/photo/g2/01.jpg&amp;#39;]);&amp;#34;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;title&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;1/32&amp;lt;/p&amp;gt; &amp;lt;p&amp;gt;成田発アエロフロート便モスクワ経由アテネ着早朝&amp;lt;/p&amp;gt; &amp;lt;p&amp;gt;そのまま朝の便でミコノス島へ&amp;lt;/p&amp;gt; &amp;lt;p&amp;gt;フェリーを降りて拉致られるようにして着いた宿が&amp;lt;br /&amp;gt; ここ&amp;lt;/p&amp;gt; &amp;lt;p&amp;gt;部屋の窓からの景色。&amp;lt;/p&amp;gt; &amp;lt;p&amp;gt;Oh, yeah!&amp;lt;br /&amp;gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;rel&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;lightbox[g2]&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style="color:#e06c75"&gt;img&lt;/span&gt; &lt;span style="color:#e06c75"&gt;src&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;https://slightlyblue.com/blog/photo/g2/01.jpg&amp;#34;&lt;/span&gt; &lt;span style="color:#e06c75"&gt;width&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;100&amp;#34;&lt;/span&gt; /&amp;gt;&amp;lt;/&lt;span style="color:#e06c75"&gt;a&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1/32&amp;lt;/&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt;成田発アエロフロート便モスクワ経由アテネ着早朝&amp;lt;/&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt;そのまま朝の便でミコノス島へ&amp;lt;/&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt;フェリーを降りて拉致られるようにして着いた宿が&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ここ&amp;lt;/&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt;部屋の窓からの景色。&amp;lt;/&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#e06c75"&gt;p&lt;/span&gt;&amp;gt;Oh, yeah!&amp;lt;&lt;span style="color:#e06c75"&gt;br&lt;/span&gt; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>ギリシャ&amp;ドイツ写真＠2003秋</title><link>https://maaash.jp/2006/05/%E3%82%AE%E3%83%AA%E3%82%B7%E3%83%A3%E3%83%89%E3%82%A4%E3%83%84%E5%86%99%E7%9C%9F%EF%BC%A02003%E7%A7%8B/</link><pubDate>Thu, 04 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/%E3%82%AE%E3%83%AA%E3%82%B7%E3%83%A3%E3%83%89%E3%82%A4%E3%83%84%E5%86%99%E7%9C%9F%EF%BC%A02003%E7%A7%8B/</guid><description>&lt;p&gt;古い写真の移行を進めます・・・&lt;br&gt;
クリックすると大きくなります。&lt;/p&gt;
&lt;p&gt;ギリシャ～ドイツ＠2003/10&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/g2/01.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/g2/01.jpg"&lt;/a&gt; title=&amp;ldquo;1/32&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;成田発アエロフロート便モスクワ経由アテネ着早朝&lt;/p&gt;
&lt;p&gt;そのまま朝の便でミコノス島へ&lt;/p&gt;
&lt;p&gt;フェリーを降りて拉致られるようにして着いた宿が&lt;br /&gt;
ここ&lt;/p&gt;
&lt;p&gt;部屋の窓からの景色。&lt;/p&gt;
&lt;p&gt;Oh, yeah!&lt;br /&gt;
" rel="lightbox[g2]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/g2/01.jpg" width=100/&gt;&lt;/a&gt; 
1/32
&lt;p&gt;成田発アエロフロート便モスクワ経由アテネ着早朝&lt;/p&gt;
&lt;p&gt;そのまま朝の便でミコノス島へ&lt;/p&gt;
&lt;p&gt;フェリーを降りて拉致られるようにして着いた宿が&lt;br&gt;
ここ&lt;/p&gt;
&lt;p&gt;部屋の窓からの景色。&lt;/p&gt;
&lt;p&gt;Oh, yeah!&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/g2/02.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/g2/02.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[g2]&amp;rdquo; title=&amp;ldquo;2/32&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;街。&lt;br /&gt;
真っ白。&lt;br /&gt;
花が引き立つ。&lt;br /&gt;
"&gt;&lt;img src="https://slightlyblue.com/blog/photo/g2/02.jpg" width=100/&gt;&lt;/a&gt; 
2/32
&lt;p&gt;街。&lt;br&gt;
真っ白。&lt;br&gt;
花が引き立つ。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/g2/03.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/g2/03.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[g2]&amp;rdquo; title=&amp;ldquo;3/32&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;この坂を&lt;br /&gt;
登ると、、、&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/g2/03.jpg" width=100/&gt;&lt;/a&gt; 
3/32
&lt;p&gt;この坂を&lt;br&gt;
登ると、、、&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/g2/04.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/g2/04.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[g2]&amp;rdquo; title=&amp;ldquo;4/32&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;どん。&lt;/p&gt;
&lt;p&gt;"&gt;&lt;img src="https://slightlyblue.com/blog/photo/g2/04.jpg" width=100/&gt;&lt;/a&gt; 
4/32
&lt;p&gt;どん。&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href="http://slightlyblue.com/blog/photo/g2/05.jpg%22" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/blog/photo/g2/05.jpg"&lt;/a&gt; rel=&amp;ldquo;lightbox[g2]&amp;rdquo; title=&amp;ldquo;5/32&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;公衆電話もこんな背景の中では絵になったり&lt;br /&gt;
"&gt;&lt;img src="https://slightlyblue.com/blog/photo/g2/05.jpg" width=100/&gt;&lt;/a&gt; 
5/32
&lt;p&gt;公衆電話もこんな背景の中では絵になったり&lt;/p&gt;</description></item><item><title>AJAX + Lightbox JS v2.02</title><link>https://maaash.jp/2006/05/ajax-lightbox-js-v202/</link><pubDate>Wed, 03 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/ajax-lightbox-js-v202/</guid><description>&lt;p&gt;AJAXでもLightbox JS v2.02を使えるようにしてみた。&lt;/p&gt;
&lt;p&gt;ポイントは、&lt;br&gt;
AJAX.RequestがonCompleteするときに呼ぶ&lt;br&gt;
myLightbox.initialize();&lt;/p&gt;
&lt;p id="t20060503_load"&gt;
 Loading&amp;#8230;
&lt;/p&gt;
&lt;p id="t20060503_container"&gt;
 &lt;p class="t20060503_tabs" id="tab1"&gt;
 Tab 1
 &lt;/p&gt;
 &lt;p class="t20060503_tabs" id="tab2"&gt;
 Tab 2
 &lt;/p&gt;
 &lt;p class="t20060503_tabs" id="tab3"&gt;
 Tab 3
 &lt;/p&gt;
 &lt;p id="t20060503_content"&gt;
 initial value&lt;br /&gt; &lt;a href="http://slightlyblue.com/blog/photo/chichi/01.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/01.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/01.jpg" width="300" /&gt;&lt;/a&gt;
 &lt;/p&gt;
 &lt;p&gt;
 &lt;/p&gt;
 &lt;p&gt;
 サーバサイドソースはこちら&lt;br /&gt; - &lt;a href="http://slightlyblue.com/lab/t20060503/process.php.txt" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/lab/t20060503/process.php.txt']);"&gt;process.php&lt;/a&gt;
 &lt;/p&gt;
 &lt;p&gt;
 Lightboxは、ページが読み込まれた時に、&lt;br /&gt; ページ内の全部のアンカータグを探して、&lt;br /&gt; 条件に合うもの（relタグだとか）があったら、&lt;br /&gt; onclick イベントを登録するようだ。
 &lt;/p&gt;
 &lt;p&gt;
 AJAXで途中から読み込まれたものには、&lt;br /&gt; onclickイベントを登録しなおさないといけない。
 &lt;/p&gt;
 &lt;p&gt;
 ということで、&lt;br /&gt; initialize を呼びなおしてみました。
 &lt;/p&gt;
 &lt;p&gt;
 dirty, but works.&lt;/script&gt;
 &lt;/p&gt;</description></item><item><title>rel属性無しでLightbox JS v2.02</title><link>https://maaash.jp/2006/05/rel%E5%B1%9E%E6%80%A7%E7%84%A1%E3%81%97%E3%81%A7lightbox-js-v202/</link><pubDate>Wed, 03 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/rel%E5%B1%9E%E6%80%A7%E7%84%A1%E3%81%97%E3%81%A7lightbox-js-v202/</guid><description>&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2006/05/lightbox202_1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/05/lightbox202_1.html']);"&gt;Lightbox2.02お試し&lt;/a&gt;でも使ったLightbox JS v2.02の小技をご紹介。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.huddletogether.com/projects/lightbox2/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.huddletogether.com/projects/lightbox2/']);"&gt;Lightbox JS v2.02&lt;/a&gt;は、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Lightbox JS is a simple, unobtrusive script used to overlay images on the current page. It’s a snap to setup and works on all modern browsers.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;写真を綺麗な見栄えで見せてくれるツールです。&lt;/p&gt;
&lt;p&gt;ただ、使うためには、画像にrel属性を入れないといけません。&lt;br&gt;
↓こんなふうに。&lt;br&gt;
&amp;lt;a href=”image.jpg” &lt;font color="red"&gt;rel=”lightbox”&lt;/font&gt;&amp;gt;&lt;img alt=&amp;#8221;image.jpg&amp;#8221; src=&amp;#8221;image.jpg&amp;#8221; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;めんどくさいです。&lt;/p&gt;
&lt;p&gt;回避方法はいろいろあり、&lt;br&gt;
&lt;a href="http://www.koikikukan.com/archives/2006/03/23-132557.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.koikikukan.com/archives/2006/03/23-132557.php']);"&gt;Lightbox JS の rel 属性を自動付与する&lt;/a&gt;に詳しいのですが、&lt;/p&gt;
&lt;p&gt;今回は Lightbox Plusに対する同様の変更 ： &lt;a href="http://www.drk7.jp/MT/archives/001029.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.drk7.jp/MT/archives/001029.html']);"&gt;Lightbox Plus で画像を同一画面にオーバーレイして表示&lt;/a&gt;を参考に、&lt;br&gt;
Lightbox JS v2.02のrel属性いらない版をつくりましたので公開です。&lt;/p&gt;
&lt;p&gt;使い勝手が少し変わりました。&lt;br&gt;
[従来]&lt;br&gt;
・rel=”lightbox” を入れると、単品画像のLightbox化&lt;br&gt;
・rel=”lightbox[hoge]” を複数の画像に入れると、グループ化&lt;/p&gt;
&lt;p&gt;[変更後]&lt;br&gt;
・画像の拡張子がjpg,gif,png,bmpなら単品画像のLightbox化&lt;br&gt;
・rel=”lightbox[hoge]” を複数の画像に入れると、グループ化 （従来どおり）&lt;/p&gt;
&lt;p&gt;ソース
line.180辺りを&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;prev&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;anchor&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;getAttribute&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;href&amp;#39;&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;relAttribute&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;toLowerCase&lt;/span&gt;().&lt;span style="color:#e06c75"&gt;match&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;lightbox&amp;#39;&lt;/span&gt;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;aft&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#c678dd"&gt;if&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;anchor&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;getAttribute&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;href&amp;#39;&lt;/span&gt;) &lt;span style="color:#56b6c2"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ( (&lt;span style="color:#e06c75"&gt;relAttribute&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;toLowerCase&lt;/span&gt;().&lt;span style="color:#e06c75"&gt;match&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;lightbox&amp;#39;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#56b6c2"&gt;||&lt;/span&gt; (&lt;span style="color:#e06c75"&gt;anchor&lt;/span&gt;.&lt;span style="color:#e06c75"&gt;getAttribute&lt;/span&gt;(&lt;span style="color:#98c379"&gt;&amp;#39;href&amp;#39;&lt;/span&gt;).&lt;span style="color:#e06c75"&gt;match&lt;/span&gt;(&lt;span style="color:#98c379"&gt;/.+(jpg|gif|png)$/i&lt;/span&gt;)) ) )
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;line.330辺りを&lt;/p&gt;</description></item><item><title>Lightbox2.02お試し</title><link>https://maaash.jp/2006/05/lightbox202%E3%81%8A%E8%A9%A6%E3%81%97/</link><pubDate>Tue, 02 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/lightbox202%E3%81%8A%E8%A9%A6%E3%81%97/</guid><description>&lt;p&gt;Lightboxお試し。&lt;/p&gt;
&lt;p&gt;↓の画像をクリック！！&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/photo/others/01.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/others/01.jpg']);" rel="lightbox[others]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/others/01.jpg" width="100" /&gt;&lt;/a&gt; angel sky&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/others/02.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/others/02.jpg']);" rel="lightbox[others]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/others/02.jpg" width="100" /&gt;&lt;/a&gt; bluer air&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/others/03.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/others/03.jpg']);" rel="lightbox[others]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/others/03.jpg" width="100" /&gt;&lt;/a&gt; Irisation Cosmiverse&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/others/04.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/others/04.jpg']);" rel="lightbox[others]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/others/04.jpg" width="100" /&gt;&lt;/a&gt; hollywood cloud&lt;br&gt;
まるで、感情、個性を持つような雲たち。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/others/05.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/others/05.jpg']);" rel="lightbox[others]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/others/05.jpg" width="100" /&gt;&lt;/a&gt; aurora&lt;br&gt;
オーロラに浮かぶ流れ星。&lt;br&gt;
この光景が現実に起こり得て、それをファインダーに捉えられる可能性があるなんて..&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/others/06.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/others/06.jpg']);" rel="lightbox[others]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/others/06.jpg" width="100" /&gt;&lt;/a&gt;Trying to Catch the Sun&lt;br&gt;
これは彼の知人が撮ったそうです。&lt;/p&gt;
&lt;p&gt;ここまで、Chris Grohuskoという写真家にいただいたものです。&lt;/p&gt;
&lt;p&gt;3枚はrelタグ無くしてみた、古い写真。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/photo/others/07.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/others/07.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/photo/others/07.jpg" width="100" /&gt;&lt;/a&gt;&lt;br&gt;
初めてのちゃんとした海外「旅行」は L.A. ’96&lt;br&gt;
この人すごいでしょう？&lt;br&gt;
よく見て。&lt;br&gt;
足ではベースも弾いてます。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/others/08.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/others/08.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/photo/others/08.jpg" width="100" /&gt;&lt;/a&gt;&lt;br&gt;
香港へ行ってきました。&lt;br&gt;
思い出（？）深い、大きな意味を持つ地。&lt;/p&gt;
&lt;p&gt;VictoriaPeak&lt;br&gt;
夜景、素晴らしかった。&lt;br&gt;
撮るの難しい。。&lt;/p&gt;
&lt;p&gt;ご飯もおいしかった。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/others/09.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/others/09.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/photo/others/09.jpg" width="100" /&gt;&lt;/a&gt;&lt;br&gt;
今年もよろしくお願いいたします。&lt;br&gt;
2004.1.1&lt;/p&gt;</description></item><item><title>slightlyblueドメイン取得＆移行</title><link>https://maaash.jp/2006/05/slightlyblue%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E5%8F%96%E5%BE%97%EF%BC%86%E7%A7%BB%E8%A1%8C/</link><pubDate>Tue, 02 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/slightlyblue%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E5%8F%96%E5%BE%97%EF%BC%86%E7%A7%BB%E8%A1%8C/</guid><description>&lt;p&gt;2年ぶりの引越しです。&lt;br&gt;
ドメイン取っちゃいました。&lt;br&gt;
&lt;a href="http://mxg.s54.xrea.com" class="external-link" target="_blank" rel="noopener"&gt;http://mxg.s54.xrea.com&lt;/a&gt; → &lt;a href="http://slightlyblue.com/" class="external-link" target="_blank" rel="noopener"&gt;http://slightlyblue.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;かすかに青い○○、といった意味でしょうか。&lt;br&gt;
青好き。&lt;/p&gt;
&lt;p&gt;引越し前のmxgは、&lt;br&gt;
・”m” stands for 私の名前&lt;br&gt;
・”x” stands for 乗算の”かける”&lt;br&gt;
・”g” stands for gravity.&lt;br&gt;
その頃、トランポリンやフリークライミングやスキー等、重力系のスポーツにはまっていたのと、&lt;br&gt;
人をひきつけるような力をうめたらな、と思ってつけたのでした。&lt;/p&gt;
&lt;p&gt;今回は、深い意味はないです。&lt;/p&gt;
&lt;p&gt;さ、なにをつくろうか。&lt;/p&gt;</description></item><item><title>小笠原父島写真＠2002夏</title><link>https://maaash.jp/2006/05/%E5%B0%8F%E7%AC%A0%E5%8E%9F%E7%88%B6%E5%B3%B6%E5%86%99%E7%9C%9F%EF%BC%A02002%E5%A4%8F/</link><pubDate>Tue, 02 May 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/05/%E5%B0%8F%E7%AC%A0%E5%8E%9F%E7%88%B6%E5%B3%B6%E5%86%99%E7%9C%9F%EF%BC%A02002%E5%A4%8F/</guid><description>&lt;p&gt;古い写真も移行。&lt;br&gt;
クリックすると大きくなります。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/01.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/01.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/01.jpg" width=100/&gt;&lt;/a&gt;&lt;br&gt;
2002/07 小笠原諸島父島 1/15&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/02.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/02.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/02.jpg" width=100/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/03.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/03.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/03.jpg" width=100/&gt;&lt;/a&gt;&lt;br&gt;
亀。&lt;br&gt;
飼われてた。。びっくり&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/04.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/04.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/04.jpg" width=100/&gt;&lt;/a&gt;&lt;br&gt;
ユースホステルに泊まると、本島へ帰る人たちを&lt;br&gt;
ウェザーステーションから見送ります。&lt;/p&gt;
&lt;p&gt;反射光が小笠原丸（船）に当たるように鏡をいじると&lt;br&gt;
水平線の彼方の船からでも、その光が見えるのです。&lt;/p&gt;
&lt;p&gt;感動！&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/05.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/05.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/05.jpg" width=100/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/06.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/06.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/06.jpg" width=100/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/07.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/07.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/07.jpg" width=100/&gt;&lt;/a&gt;&lt;br&gt;
上から見たジニービーチ。&lt;br&gt;
このがけを下る。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/08.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/08.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/08.jpg" width=100/&gt;&lt;/a&gt;&lt;br&gt;
ジニービーチ。&lt;br&gt;
山を二つ越え、かなりしんどい道のりですが、&lt;br&gt;
ここ以上の砂浜はないね。&lt;/p&gt;
&lt;p&gt;目指してください。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/09.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/09.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/09.jpg" width=100/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/10.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/10.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/10.jpg" width=100/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/11.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/11.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/11.jpg" width=100/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/12.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/12.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/12.jpg" width=100/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/13.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/13.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/13.jpg" width=100/&gt;&lt;/a&gt;&lt;br&gt;
左上には一番星も！（金星？）&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/14.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/14.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/14.jpg" width=100/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/photo/chichi/15.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/photo/chichi/15.jpg']);" rel="lightbox[chichi]"&gt;&lt;img src="https://slightlyblue.com/blog/photo/chichi/15.jpg" width=100/&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>努力。</title><link>https://maaash.jp/2006/03/%E5%8A%AA%E5%8A%9B%E3%80%82/</link><pubDate>Sat, 11 Mar 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/03/%E5%8A%AA%E5%8A%9B%E3%80%82/</guid><description>&lt;p&gt;&lt;a href="http://d.hatena.ne.jp/keyword/%c5%d8%ce%cf" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://d.hatena.ne.jp/keyword/%c5%d8%ce%cf']);"&gt;はてなダイアリー – 努力とは&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「夢のある苦労の事を努力と言う」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;memo..&lt;br&gt;
そろそろ、夢を思い出そうと思います。&lt;/p&gt;</description></item><item><title>角川春樹氏インタビュー</title><link>https://maaash.jp/2006/02/%E8%A7%92%E5%B7%9D%E6%98%A5%E6%A8%B9%E6%B0%8F%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%93%E3%83%A5%E3%83%BC/</link><pubDate>Sun, 26 Feb 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/02/%E8%A7%92%E5%B7%9D%E6%98%A5%E6%A8%B9%E6%B0%8F%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%93%E3%83%A5%E3%83%BC/</guid><description>&lt;p&gt;&lt;a href="http://nb.nikkeibp.co.jp/free/tvwars/interview/20060217005342.shtml" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://nb.nikkeibp.co.jp/free/tvwars/interview/20060217005342.shtml']);"&gt;日経ビジネス EXPRESS : 【角川春樹氏】刑務所に入って良かった　生涯不良を貫く&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;おもろい。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;　私は病気を治したり、いろんなことができるんだよね。それを使って、宗教を必要としない時代に持っていこうとしている。人間は幸せになったり、仕事がうまくいったり、病気が治れば宗教は必要ないではないかと。私自身は刑務所でもっと先のレベルに行ったんだよ。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;インタビュアーよくがんばった。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;――どういうことですか。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;略&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;――病気を治すこと以外に、どんなことができるのですか。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;略&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;――いつ？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;略&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;――地震を止めるというのは、どういう作業になるんですか。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;略&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;――相当のエネルギーを使うという意味ですか。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>みかん</title><link>https://maaash.jp/2006/02/%E3%81%BF%E3%81%8B%E3%82%93/</link><pubDate>Sun, 05 Feb 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/02/%E3%81%BF%E3%81%8B%E3%82%93/</guid><description>&lt;p&gt;&lt;a href="http://gourmet.yahoo.co.jp/seturl?mid=western&amp;#038;small=0202041&amp;#038;id=E122304&amp;#038;rno=1" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://gourmet.yahoo.co.jp/seturl?mid=western&amp;small=0202041&amp;id=E122304&amp;rno=1']);"&gt;&lt;a href="http://gourmet.yahoo.co.jp/seturl?mid=western&amp;amp;#038;small=0202041&amp;amp;#038;id=E122304&amp;amp;#038;rno=1" class="external-link" target="_blank" rel="noopener"&gt;http://gourmet.yahoo.co.jp/seturl?mid=western&amp;#038;small=0202041&amp;#038;id=E122304&amp;#038;rno=1&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>アジャイルとは</title><link>https://maaash.jp/2006/02/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E3%81%A8%E3%81%AF/</link><pubDate>Wed, 01 Feb 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/02/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E3%81%A8%E3%81%AF/</guid><description>&lt;p&gt;memo&lt;/p&gt;
&lt;p&gt;原典に当たるのが一番。&lt;/p&gt;
&lt;p&gt;感動したのは、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Manifesto struck a chord, and it led to many new Agile projects being started. As with any human endeavor, some succeeded and some failed.&lt;br&gt;
&lt;strong&gt;But what was striking about the successes was how much both the business people and the technical people loved their project.&lt;/strong&gt;&lt;br&gt;
This was the way they wanted software development done. Successful projects spawned enthusiasts.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;モノづくりの楽しさを感じられないような時に、&lt;br&gt;
ここを思い出せたら。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://agilemanifesto.org/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://agilemanifesto.org/']);"&gt;Manifesto for Agile Software Development&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We are uncovering better ways of developing&lt;br&gt;
software by doing it and helping others do it.&lt;br&gt;
Through this work we have come to value:&lt;/p&gt;</description></item><item><title>モスバーガーの店員だけど何か質問ある</title><link>https://maaash.jp/2006/01/%E3%83%A2%E3%82%B9%E3%83%90%E3%83%BC%E3%82%AC%E3%83%BC%E3%81%AE%E5%BA%97%E5%93%A1%E3%81%A0%E3%81%91%E3%81%A9%E4%BD%95%E3%81%8B%E8%B3%AA%E5%95%8F%E3%81%82%E3%82%8B/</link><pubDate>Sun, 22 Jan 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/01/%E3%83%A2%E3%82%B9%E3%83%90%E3%83%BC%E3%82%AC%E3%83%BC%E3%81%AE%E5%BA%97%E5%93%A1%E3%81%A0%E3%81%91%E3%81%A9%E4%BD%95%E3%81%8B%E8%B3%AA%E5%95%8F%E3%81%82%E3%82%8B/</guid><description>&lt;p&gt;&lt;a href="http://sakura03.bbspink.com/test/read.cgi/801/1135669611/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://sakura03.bbspink.com/test/read.cgi/801/1135669611/']);"&gt;モスバーガーの店員だけど何か質問ある？&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;133 ：名無しさん＠ローカルルール変更議論中 ：2005/12/30(金) 02:07:19 ID:MIxpzGW+&lt;br&gt;
おい、&amp;raquo;1&lt;br&gt;
モスバーガー共々　大　好　き　だぞ。&lt;br&gt;
ファーストフード食べないようにしてるがモスには行ってしまうよ。&lt;br&gt;
野菜がシャキシャキうまいよ。1もまあ、バイトだか社員だか何だか知らんが&lt;br&gt;
体壊さん程度に頑張れ！ただでさえ好きなモスの社員が、1のおがげでさらにいいイメージ持った！&lt;br&gt;
だからこのｽﾚが落ちても気にすんな！&lt;br&gt;
じゃ！&lt;/p&gt;
&lt;p&gt;135 ：１：2005/12/30(金) 02:37:49 ID:wB3O/GIH&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;133&lt;br&gt;
深夜にニヤニヤさせないで下さいw&lt;br&gt;
出来るだけシャキシャキなハンバーガー作れるように頑張るよwwwww&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;感動した。&lt;br&gt;
保存した。&lt;br&gt;
よだれ出た。&lt;br&gt;
今週またいこう。&lt;/p&gt;</description></item><item><title>髪結いの亭主</title><link>https://maaash.jp/2006/01/%E9%AB%AA%E7%B5%90%E3%81%84%E3%81%AE%E4%BA%AD%E4%B8%BB/</link><pubDate>Sat, 21 Jan 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/01/%E9%AB%AA%E7%B5%90%E3%81%84%E3%81%AE%E4%BA%AD%E4%B8%BB/</guid><description>&lt;p&gt;こんな雪の日には。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.gyao.jp/sityou/catedetail/contents_id/cnt0009390/"&gt;髪結いの亭主&lt;/p&gt;
&lt;p&gt;http://www.gyao.jp/sityou/catedetail/contents_id/cnt0009390/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;笑いとエロと切なさ。&lt;br /&gt;
絶妙なバランスだった。&lt;/p&gt;
&lt;p&gt;ぜひ。&lt;/p&gt;</description></item><item><title>ナインティナインに感動した。</title><link>https://maaash.jp/2006/01/%E3%83%8A%E3%82%A4%E3%83%B3%E3%83%86%E3%82%A3%E3%83%8A%E3%82%A4%E3%83%B3%E3%81%AB%E6%84%9F%E5%8B%95%E3%81%97%E3%81%9F%E3%80%82/</link><pubDate>Wed, 11 Jan 2006 00:00:00 +0000</pubDate><guid>https://maaash.jp/2006/01/%E3%83%8A%E3%82%A4%E3%83%B3%E3%83%86%E3%82%A3%E3%83%8A%E3%82%A4%E3%83%B3%E3%81%AB%E6%84%9F%E5%8B%95%E3%81%97%E3%81%9F%E3%80%82/</guid><description>&lt;p&gt;ひさびさに「今日のいい話」ジャンルです。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://wiki.fdiary.net/geinin/?%A5%CA%A5%A4%A5%C6%A5%A3%A5%CA%A5%A4%A5%F3" class="external-link" target="_blank" rel="noopener"&gt;お笑い芸人板の「ちょっといい話」まとめWiki&lt;br&gt;
ナインティナイン&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;感動した。&lt;/p&gt;</description></item><item><title>タップダンスTシャツ</title><link>https://maaash.jp/2005/12/%E3%82%BF%E3%83%83%E3%83%97%E3%83%80%E3%83%B3%E3%82%B9t%E3%82%B7%E3%83%A3%E3%83%84/</link><pubDate>Tue, 27 Dec 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/12/%E3%82%BF%E3%83%83%E3%83%97%E3%83%80%E3%83%B3%E3%82%B9t%E3%82%B7%E3%83%A3%E3%83%84/</guid><description>&lt;p&gt;&lt;a href="http://t-select.livedoor.com/works/flash/detail.php?sid=22557" class="external-link" target="_blank" rel="noopener"&gt;タップダンスTシャツつくろうとしています。&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/white_front2.jpg" alt="white_front2.jpg" border="0" height="180" width="200" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;よろしければ。&lt;/p&gt;</description></item><item><title>RSS Banner</title><link>https://maaash.jp/2005/12/rss-banner/</link><pubDate>Wed, 21 Dec 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/12/rss-banner/</guid><description>&lt;p&gt;&lt;a href="http://www.feedforall.com/public/rss-graphic-tool.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.feedforall.com/public/rss-graphic-tool.htm']);"&gt;Create RSS Graphics and Buttons in seconds, for your website FREE of charge!&lt;/a&gt;&lt;br&gt;
なんとなく、RSSのバナーをつくってみましたよ。&lt;br&gt;
かわいいなー。&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/RSS10.gif" alt="RSS10.gif" border="0" height="15" width="80" /&gt;&lt;/p&gt;
&lt;p&gt;Syndicate this site (XML) ってださいださいと思っていたのでした。&lt;/p&gt;
&lt;p&gt;しかし、ちょこっとしたデザインが自動的にできるようになってくると、&lt;br&gt;
技術者は大変です。&lt;/p&gt;
&lt;p&gt;はっ！&lt;br&gt;
人間という種が生まれてこのかた、進化なんてしてこなかったように見えるけれど、そろそろ次の進化の予兆があるような。&lt;br&gt;
自ら環境変化を起こして、自らを進化させる。。&lt;br&gt;
そんな生物今までいただろうか。&lt;br&gt;
最初に光合成を覚えた植物の祖先がそうかもしれませんな。&lt;/p&gt;
&lt;p&gt;SF小説の一句にどうぞ。&lt;/p&gt;</description></item><item><title>思わず</title><link>https://maaash.jp/2005/12/%E6%80%9D%E3%82%8F%E3%81%9A/</link><pubDate>Sat, 17 Dec 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/12/%E6%80%9D%E3%82%8F%E3%81%9A/</guid><description>&lt;p&gt;最後まで観ちゃった。&lt;/p&gt;
&lt;embed type="application/x-shockwave-flash" src="https://video.google.com/googleplayer.swf?docid=-6739710473912337648&amp;hl=en&amp;fs=true" style="width:584px;height:472px" allowFullScreen="true" allowScriptAccess="always" /&gt;
&lt;p&gt;笑った。&lt;/p&gt;</description></item><item><title>香道　-源氏香-</title><link>https://maaash.jp/2005/11/%E9%A6%99%E9%81%93%E3%80%80-%E6%BA%90%E6%B0%8F%E9%A6%99/</link><pubDate>Sun, 20 Nov 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/11/%E9%A6%99%E9%81%93%E3%80%80-%E6%BA%90%E6%B0%8F%E9%A6%99/</guid><description>&lt;p&gt;繊細、敏感、でありたい。&lt;/p&gt;
&lt;p&gt;嗅覚を試してきましたよ。&lt;br&gt;
&lt;a href="http://www.kogado.co.jp/home/taiken/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.kogado.co.jp/home/taiken/index.html']);"&gt;香雅堂では一度香席を体験してみたいとう方のために体験香席を開催しています&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ahiroya.jp/kouzu-name.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ahiroya.jp/kouzu-name.htm']);"&gt;「源氏香」&lt;/a&gt;を体験、全部当てましたよ！&lt;br&gt;
当てたのは「松風」 ↓&lt;br&gt;
&lt;img src="https://slightlyblue.com/blog/images/matukaze.gif" alt="matukaze.gif" border="0" height="26" width="26" /&gt;&lt;/p&gt;
&lt;p&gt;源氏香のマーク、かっこいい。。&lt;/p&gt;
&lt;p&gt;楽しいです。お試しあれ。&lt;/p&gt;</description></item><item><title>Sony Bravia CM</title><link>https://maaash.jp/2005/11/sony-bravia-cm/</link><pubDate>Thu, 10 Nov 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/11/sony-bravia-cm/</guid><description>&lt;p&gt;&lt;a href="http://www.bravia-advert.com/commercial/braviaextcommhigh.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.bravia-advert.com/commercial/braviaextcommhigh.html']);"&gt;BRAVIA Commercial: Extended version&lt;/a&gt;&lt;br&gt;
memo.&lt;br&gt;
そろそろ、Sonyも復活かな&lt;/p&gt;</description></item><item><title>添付ファイルのデスクトップ検索 スクリーンショット</title><link>https://maaash.jp/2005/11/%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E6%A4%9C%E7%B4%A2-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7/</link><pubDate>Sat, 05 Nov 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/11/%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E6%A4%9C%E7%B4%A2-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7/</guid><description>&lt;p&gt;v2.01から、Google Desktop SearchのPlugin対応もできるようになりました♪&lt;/p&gt;
&lt;p&gt;添付ファイルへのリンクを検索結果の上側につけるよう変更したので、&lt;br&gt;
↓ こんな感じになりますよ。&lt;/p&gt;
&lt;p&gt;—-&lt;/p&gt;
&lt;p&gt;v1.02でございます！&lt;br&gt;
「添付ファイルのあるメール」 の検索ができるようになりました！&lt;/p&gt;
&lt;p&gt;こんな具合です・・・&lt;/p&gt;
&lt;p&gt;まずは Google Desktop Searchで。。&lt;/p&gt;
&lt;p&gt;「ヤツが前にメールに添付してくれた写真、どこいったっけかな～？？」&lt;br&gt;
って感じで検索します。&lt;/p&gt;
&lt;p&gt;「デスクトップを検索」します、と。&lt;/p&gt;
&lt;p&gt;検索結果がいろいろ出てきますよ、っと。&lt;br&gt;
開きますよ。&lt;/p&gt;
&lt;img alt="2005070403.jpg" src="https://slightlyblue.com/blog/images/2005070403.jpg" width="592" height="663" border="0" /&gt;
&lt;p&gt;こんな感じでメール本文をブラウザで確認して、&lt;br&gt;
返信とか転送とかしたかったら&lt;br&gt;
「open this mail in Becky!」を押すし、&lt;/p&gt;
&lt;p&gt;添付ファイルをすぐ見たかったら、&lt;br&gt;
一番下に&lt;/p&gt;
&lt;img alt="2005070404.jpg" src="https://slightlyblue.com/blog/images/2005070404.jpg" width="958" height="255" border="0" /&gt;
&lt;p&gt;こんなふうに 添付ファイル へのリンクがはられてます。&lt;br&gt;
これを押すと、、&lt;br&gt;
めでたく添付ファイルを開けます！&lt;/p&gt;</description></item><item><title>BMemo + Desktop Search Ver.2.00 機能紹介</title><link>https://maaash.jp/2005/11/bmemo-desktop-search-ver200-%E6%A9%9F%E8%83%BD%E7%B4%B9%E4%BB%8B/</link><pubDate>Thu, 03 Nov 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/11/bmemo-desktop-search-ver200-%E6%A9%9F%E8%83%BD%E7%B4%B9%E4%BB%8B/</guid><description>&lt;p&gt;Ver.2.00からいろいろ増えましたよ。&lt;br&gt;
個人的におすすめなのは⑥です。&lt;/p&gt;
&lt;p&gt;以下、ソフトに添付されているreadme.txtみたいなbmemo.txtより。。。&lt;/p&gt;
&lt;p&gt;BMemoは、以下の機能を実現するBecky!プラグインです。いろいろ増えましたね(･ω･)&lt;/p&gt;
&lt;p&gt;①webページをBecky!に取り込んでhtmlメールとして閲覧！(web取込機能)&lt;/p&gt;
&lt;p&gt;②Becky!のメール（添付も！）をデスクトップ検索できる(デスクトップ検索機能)&lt;/p&gt;
&lt;p&gt;③Becky!をテキストエディタのように使える！(メモメール機能)&lt;/p&gt;
&lt;p&gt;④外部アプリからBecky!のメールにリンクをはれる！(メールリンク機能)&lt;/p&gt;
&lt;p&gt;⑤Becky!上からweb閲覧(Bookmark機能)&lt;/p&gt;
&lt;p&gt;⑥ドラッグ＆ドロップしたメールを元のフォルダに戻す(D&amp;amp;D Undo機能)&lt;/p&gt;
&lt;p&gt;⑦ヘッダのSubjectや日時、差出人を編集(ヘッダ編集機能)&lt;/p&gt;
&lt;p&gt;0-1. ユースケース①: web取込&lt;/p&gt;
&lt;p&gt;webでちょっと調べ物…&lt;br&gt;
おっ！こいつは詳細かつ具体的に知りたいことを記述しているじゃないか！&lt;br&gt;
memoしておきたいな..&lt;br&gt;
右クリック → “Becky!へ取り込む”&lt;br&gt;
後でBecky!で閲覧..&lt;/p&gt;
&lt;p&gt;web上で買い物買い物ー、振込みー&lt;br&gt;
領収書代わりの明細をメモするのめんどー&lt;br&gt;
右クリック → “Becky!へ取り込む”&lt;br&gt;
そのままの形でメールでいつでも見れる&lt;br&gt;
会社アドに転送して、会社のプリンタでプリントアウト…&lt;/p&gt;
&lt;p&gt;0-2. ユースケース③: デスクトップ検索&lt;/p&gt;
&lt;p&gt;毎日メールが数百通届く…&lt;br&gt;
「あれっ！あの時のメールどこ行っちゃったかな～？！」&lt;br&gt;
最近、htmlやWord、PDFなんかは&lt;br&gt;
Google Desktop Search（http://desktop.google.co.jp）や&lt;br&gt;
Yahoo Desktop Search（http://desktop.yahoo.com/）&lt;br&gt;
で検索できるけど、beckyのメールはできないかな..&lt;br&gt;
→ できます！&lt;/p&gt;
&lt;p&gt;あの時、添付ファイルで送ってもらったメール、どこいったっけ？&lt;br&gt;
→ すぐに見つかります！&lt;/p&gt;
&lt;p&gt;0-3. ユースケース②: メモメール&lt;/p&gt;
&lt;p&gt;テキストエディタにいろいろメモしながら作業を進める。。&lt;br&gt;
日々、現れる課題を解決している、&lt;br&gt;
その過程をKnowHowとしてなんらかの形でテキストにまとめている。。&lt;br&gt;
秀丸、紙 等。。&lt;br&gt;
メーラーとしてはBecky!を使っている。。&lt;br&gt;
切り替えてるのめんどくさいな～～&lt;br&gt;
→ BMemoを使えば、Becky!上でメモできます！&lt;/p&gt;
&lt;p&gt;0-4. ユースケース④: メールリンク&lt;/p&gt;
&lt;p&gt;①のweb取込機能や、普段のメール、&lt;br&gt;
そんなメールを外部のアプリ（Excelやテキストエディタ等）から&lt;br&gt;
すぐに開けたらいいかな&lt;/p&gt;
&lt;p&gt;0-5. ユースケース⑤: Bookmark&lt;/p&gt;
&lt;p&gt;Becky!はいつでも立ち上がってるけど、&lt;br&gt;
最新の情報はwebで見るしかない。&lt;br&gt;
でもブラウザって立ち上げるの時間かかる・・・&lt;/p&gt;</description></item><item><title>Bookmarkメール スクリーンショット</title><link>https://maaash.jp/2005/11/bookmark%E3%83%A1%E3%83%BC%E3%83%AB-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</link><pubDate>Thu, 03 Nov 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/11/bookmark%E3%83%A1%E3%83%BC%E3%83%AB-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</guid><description>&lt;p&gt;Bookmarkメール&lt;br&gt;
たとえば天気予報の場合･･･&lt;/p&gt;
&lt;p&gt;まずは普通に&lt;br&gt;
BMemoの「web取込」を！&lt;/p&gt;
&lt;img alt="bookmark1.jpg" src="https://slightlyblue.com/blog/images/bookmark1.jpg" width="977" height="818" border="0" /&gt;
&lt;p&gt;取り込めたら、&lt;br&gt;
「Bookmarkする」を！&lt;/p&gt;
&lt;img alt="bookmark2.jpg" src="https://slightlyblue.com/blog/images/bookmark2.jpg" width="1145" height="929" border="0" /&gt;
&lt;p&gt;それ以降、↓ こんなふうに、そのメールを閲覧するたびに&lt;br&gt;
リアルタイムにページを更新します。&lt;/p&gt;
&lt;img alt="bookmark3.jpg" src="https://slightlyblue.com/blog/images/bookmark3.jpg" width="1141" height="408" border="0" /&gt;
&lt;p&gt;メールの受信日付も。&lt;/p&gt;
&lt;p&gt;小笠原、ひさびさに行きたいな。&lt;/p&gt;</description></item><item><title>ドラッグ＆ドロップ失敗を元に戻す スクリーンショット</title><link>https://maaash.jp/2005/11/%E3%83%89%E3%83%A9%E3%83%83%E3%82%B0%EF%BC%86%E3%83%89%E3%83%AD%E3%83%83%E3%83%97%E5%A4%B1%E6%95%97%E3%82%92%E5%85%83%E3%81%AB%E6%88%BB%E3%81%99-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7/</link><pubDate>Thu, 03 Nov 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/11/%E3%83%89%E3%83%A9%E3%83%83%E3%82%B0%EF%BC%86%E3%83%89%E3%83%AD%E3%83%83%E3%83%97%E5%A4%B1%E6%95%97%E3%82%92%E5%85%83%E3%81%AB%E6%88%BB%E3%81%99-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7/</guid><description>&lt;p&gt;Becky!のメール、フォルダはいくつくらい分けて管理してますか？&lt;/p&gt;
&lt;p&gt;受信箱から、下位のフォルダにドラッグ＆ドロップ。&lt;br&gt;
一日に何度しているでしょう。&lt;/p&gt;
&lt;p&gt;そんな無数のドラッグ＆ドロップのうち、&lt;br&gt;
うっかり指を離してどこか途中のフォルダに落っこちたり！！&lt;br&gt;
するでしょー&lt;/p&gt;
&lt;p&gt;日付がちょっと古かったりするとソートしても出てこないし！&lt;/p&gt;
&lt;p&gt;元に戻せたらいいですよね。&lt;br&gt;
↓ どうぞ&lt;/p&gt;
&lt;img alt="undo1.jpg" src="https://slightlyblue.com/blog/images/undo1.jpg" width="695" height="600" border="0" /&gt;</description></item><item><title>メモメール スクリーンショット</title><link>https://maaash.jp/2005/11/%E3%83%A1%E3%83%A2%E3%83%A1%E3%83%BC%E3%83%AB-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</link><pubDate>Thu, 03 Nov 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/11/%E3%83%A1%E3%83%A2%E3%83%A1%E3%83%BC%E3%83%AB-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</guid><description>&lt;p&gt;メモメール機能について&lt;/p&gt;
&lt;p&gt;Becky!をテキストエディタみたいに使いましょう。&lt;/p&gt;
&lt;p&gt;まずは、メールの本文とか、リストビューのメール上とか、で右クリック&lt;/p&gt;
&lt;p&gt;「新規メモメールを作成」&lt;/p&gt;
&lt;img alt="memomail_1.jpg" src="https://slightlyblue.com/blog/images/memomail_1.jpg" width="566" height="525" border="0" /&gt;
&lt;p&gt;そうすると、こんな小さなウィンドウが出てきますので、&lt;br&gt;
メールの 「Subject」 にあたるなにかを書きます。&lt;/p&gt;
&lt;img alt="memomail_2.jpg" src="https://slightlyblue.com/blog/images/memomail_2.jpg" width="500" height="84" border="0" /&gt;
&lt;p&gt;こんなメールができます。&lt;/p&gt;
&lt;img alt="memomail_4.jpg" src="https://slightlyblue.com/blog/images/memomail_4.jpg" width="1214" height="220" border="0" /&gt;
&lt;p&gt;こんなふうに使いこなしてみてはいかが？&lt;/p&gt;
&lt;img alt="memomail_3.jpg" src="https://slightlyblue.com/blog/images/memomail_3.jpg" width="1259" height="455" border="0" /&gt;</description></item><item><title>BMemo ver.2.0 そろそろ･･･</title><link>https://maaash.jp/2005/10/bmemo-ver20-%E3%81%9D%E3%82%8D%E3%81%9D%E3%82%8D%EF%BD%A5%EF%BD%A5%EF%BD%A5/</link><pubDate>Sun, 30 Oct 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/10/bmemo-ver20-%E3%81%9D%E3%82%8D%E3%81%9D%E3%82%8D%EF%BD%A5%EF%BD%A5%EF%BD%A5/</guid><description>&lt;p&gt;いろいろ詰め込んで、 2.0 にしましょうかね。&lt;/p&gt;
&lt;p&gt;・GoogleDesktopSearch Plug-in対応&lt;br&gt;
・ヘッダ編集&lt;br&gt;
・web取り込み時にActiveXを無効化&lt;br&gt;
・メールへのショートカット&lt;br&gt;
・おまけ（メールのドラッグ＆ドロップを「元に戻す」）&lt;/p&gt;</description></item><item><title>スペイン語で「愛してる」</title><link>https://maaash.jp/2005/10/%E3%82%B9%E3%83%9A%E3%82%A4%E3%83%B3%E8%AA%9E%E3%81%A7%E3%80%8C%E6%84%9B%E3%81%97%E3%81%A6%E3%82%8B%E3%80%8D/</link><pubDate>Sun, 30 Oct 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/10/%E3%82%B9%E3%83%9A%E3%82%A4%E3%83%B3%E8%AA%9E%E3%81%A7%E3%80%8C%E6%84%9B%E3%81%97%E3%81%A6%E3%82%8B%E3%80%8D/</guid><description>&lt;p&gt;TE QUIERO&lt;br&gt;
て　きえろ&lt;/p&gt;
&lt;p&gt;いろんな言語で言える、にこしたことは無いんじゃないかと。&lt;br&gt;
memo.&lt;/p&gt;</description></item><item><title>人生、宇宙、すべての答え</title><link>https://maaash.jp/2005/10/%E4%BA%BA%E7%94%9F%E3%80%81%E5%AE%87%E5%AE%99%E3%80%81%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E7%AD%94%E3%81%88/</link><pubDate>Sat, 29 Oct 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/10/%E4%BA%BA%E7%94%9F%E3%80%81%E5%AE%87%E5%AE%99%E3%80%81%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E7%AD%94%E3%81%88/</guid><description>&lt;blockquote&gt;
&lt;p&gt;グーグル、電卓機能強化で「人生、宇宙、すべての答え」にも回答&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;気になったので。。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ja.wikipedia.org/wiki/%E4%BA%BA%E7%94%9F%E3%80%81%E5%AE%87%E5%AE%99%E3%80%81%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E7%AD%94%E3%81%88" class="external-link" target="_blank" rel="noopener"&gt;人生、宇宙、すべての答え&lt;br&gt;
出典: フリー百科事典『ウィキペディア（Wikipedia）』&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;おもしろい！！&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“answer to life the universe and everything”はスペースも含めて文字を数えると、全部で42文字&lt;/p&gt;
&lt;p&gt;6掛ける9は10進法ではなく13進法では42になることが指摘された(4*13+2=54(10))。&lt;/p&gt;
&lt;p&gt;6×9=(1+5)×(8+1)=54とすべきところを6×9=1+（5×8）+1=42としてしまったため、「究極の問い」が「6×7」でなく「6×9」になってしまったのではないか、というジョーク&lt;/p&gt;
&lt;p&gt;42は2進法では101010で、ASCIIコードでは「*」に当たる。正規言語（パターンマッチ）で「*」の文字は任意（＝万物）の文字列と置き換えられる「ワイルドカード」として用いられることが多いので、「*」＝「42」が万物の答えなのではないかという説がある&lt;/p&gt;
&lt;p&gt;エジプトの『死者の書』に出てくる神の数は42&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>ケネディのスピーチ</title><link>https://maaash.jp/2005/10/%E3%82%B1%E3%83%8D%E3%83%87%E3%82%A3%E3%81%AE%E3%82%B9%E3%83%94%E3%83%BC%E3%83%81/</link><pubDate>Sun, 23 Oct 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/10/%E3%82%B1%E3%83%8D%E3%83%87%E3%82%A3%E3%81%AE%E3%82%B9%E3%83%94%E3%83%BC%E3%83%81/</guid><description>&lt;p&gt;&lt;a href="http://www.americanrhetoric.com/speeches/johnfkennedyinaugural.htm" class="external-link" target="_blank" rel="noopener"&gt;JFKの就任演説スピーチ（音声付き）&lt;br&gt;
John F. Kennedy: Inaugural Address&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.americanrhetoric.com/newtop100speeches.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.americanrhetoric.com/newtop100speeches.htm']);"&gt;American Rhetoric 100 speeches&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;memo..&lt;br&gt;
わかりやすい英語。&lt;br&gt;
いい英語の勉強になります。&lt;/p&gt;</description></item><item><title>都市伝説とコカコーラとWikipedia</title><link>https://maaash.jp/2005/10/%E9%83%BD%E5%B8%82%E4%BC%9D%E8%AA%AC%E3%81%A8%E3%82%B3%E3%82%AB%E3%82%B3%E3%83%BC%E3%83%A9%E3%81%A8wikipedia/</link><pubDate>Tue, 18 Oct 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/10/%E9%83%BD%E5%B8%82%E4%BC%9D%E8%AA%AC%E3%81%A8%E3%82%B3%E3%82%AB%E3%82%B3%E3%83%BC%E3%83%A9%E3%81%A8wikipedia/</guid><description>&lt;p&gt;すご。都市伝説ってそのまんま文字通り英語にもあるんだ！&lt;br&gt;
Urban Legend&lt;/p&gt;
&lt;p&gt;で&lt;a href="http://www.google.com/search?hl=ja&amp;#038;lr=lang_ja&amp;#038;num=100&amp;#038;q=%E9%83%BD%E5%B8%82%E4%BC%9D%E8%AA%AC%E3%80%80%E8%8B%B1%E8%AA%9E+" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.google.com/search?hl=ja&amp;lr=lang_ja&amp;num=100&amp;q=%E9%83%BD%E5%B8%82%E4%BC%9D%E8%AA%AC%E3%80%80%E8%8B%B1%E8%AA%9E+']);"&gt;ぐぐってみると&lt;/a&gt;&lt;br&gt;
&lt;a href="http://ja.wikipedia.org/wiki/%E3%82%B3%E3%82%AB%E3%83%BB%E3%82%B3%E3%83%BC%E3%83%A9" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://ja.wikipedia.org/wiki/%E3%82%B3%E3%82%AB%E3%83%BB%E3%82%B3%E3%83%BC%E3%83%A9']);"&gt;コカコーラの都市伝説がWikipediaに！&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;現在ではコカ･コーラにコカインは含まれていないが、コカイン成分を除去したコカの葉（香料7x）が使われていると言われる。&lt;br&gt;
だが、これは味覚の問題より、コカ・コーラの商標を守るためにコカの葉を使わざるをえなかった法的問題だとする説が有力である。従って「コカ・コーラにはコカインが入っている、だからスカッとする」というのはデマであるが、1903年以前に限れば事実である。実は爽快感の正体は大量に含まれた糖分であり、コカインほどでないにせよ、健康に良くないことは留意しておく必要があるだろう。&lt;br&gt;
コカ・コーラ社の砂糖消費量は、実に全米消費量の10%に達するとも言われる。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;「！」と思ったのは、コカコーラに関する都市伝説がWikipediaに「残っている」ほど&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;コカ･コーラほど多くの都市伝説を持つ飲料水もないだろう&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;と一般論的に思われていること。&lt;/p&gt;
&lt;p&gt;Wikipediaは、一般論や客観的事実の把握に有意義ですよね。&lt;/p&gt;</description></item><item><title>梅干と大根おろしのパスタ</title><link>https://maaash.jp/2005/10/%E6%A2%85%E5%B9%B2%E3%81%A8%E5%A4%A7%E6%A0%B9%E3%81%8A%E3%82%8D%E3%81%97%E3%81%AE%E3%83%91%E3%82%B9%E3%82%BF/</link><pubDate>Wed, 05 Oct 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/10/%E6%A2%85%E5%B9%B2%E3%81%A8%E5%A4%A7%E6%A0%B9%E3%81%8A%E3%82%8D%E3%81%97%E3%81%AE%E3%83%91%E3%82%B9%E3%82%BF/</guid><description>&lt;img alt="daikonpasta.jpg" src="https://slightlyblue.com/blog/images/daikonpasta.jpg" width="200" border="0" /&gt; 
ひさびさのヒット。 
梅干と大根のパスタ（＋えのき＋かつおぶし）。
&lt;p&gt;参考にしたレシピサイトは &lt;a href="http://cookpad.com/recipe.cfm?RID=139206" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://cookpad.com/recipe.cfm?RID=139206']);"&gt;cookpad tanapiのキッチンさん&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;レシピから独自流にしたのは、&lt;br&gt;
・かつおぶしは適量とは言えなかった（多い）&lt;br&gt;
・余ってたえのきを追加（鰹節に隠れて見えない&lt;br&gt;
・余った大根を全部おろすのも疲れるので&lt;br&gt;
　　ぶつぎりっぽく入れた（大根おろしと合計1/4本くらい）&lt;br&gt;
・にんにくで上2品をじっくりいためて絡めた&lt;br&gt;
・余ったリングイネと普通のスパゲッティが混ざってる&lt;/p&gt;
&lt;p&gt;わかったこと。&lt;/p&gt;
&lt;p&gt;量は大切！なんだけれど、&lt;br&gt;
他の料理でもなんでも、薬味として使える食材は量を増やしてもいける&lt;br&gt;
大根おろしとか、鰹節とか。&lt;/p&gt;
&lt;p&gt;梅干はレシピ通りにしてよかった（ほっ&lt;/p&gt;
&lt;p&gt;パスタをぽーっとゆでてるとストレス発散になるなー&lt;/p&gt;</description></item><item><title>台湾感動のmemo</title><link>https://maaash.jp/2005/10/%E5%8F%B0%E6%B9%BE%E6%84%9F%E5%8B%95%E3%81%AEmemo/</link><pubDate>Sat, 01 Oct 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/10/%E5%8F%B0%E6%B9%BE%E6%84%9F%E5%8B%95%E3%81%AEmemo/</guid><description>&lt;p&gt;先週末、台湾へ行ってました。&lt;/p&gt;
&lt;p&gt;感動したのは、台北、中正記念堂の壁に彫られた言葉。&lt;/p&gt;
&lt;p&gt;蒋介石の動力と理想&lt;br&gt;
「生活的目的在増進人類全体（骨辺に豊か）之生活」&lt;br&gt;
生活の目的は、人類全体の生活を増進するにあり。&lt;/p&gt;
&lt;p&gt;素敵なリーダーだ。&lt;/p&gt;
&lt;p&gt;愛国心をもつってことはどんなに素敵なことなんだろう。&lt;/p&gt;</description></item><item><title>ピアノ曲memo</title><link>https://maaash.jp/2005/09/%E3%83%94%E3%82%A2%E3%83%8E%E6%9B%B2memo/</link><pubDate>Fri, 30 Sep 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/09/%E3%83%94%E3%82%A2%E3%83%8E%E6%9B%B2memo/</guid><description>&lt;p&gt;&lt;a href="http://news19.2ch.net/test/read.cgi/news/1127918810/"&gt;ピアノだけなのに神な曲教えて&lt;/p&gt;
&lt;p&gt;http://news19.2ch.net/test/read.cgi/news/1127918810/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2chより。&lt;/p&gt;</description></item><item><title>モスバーガーのMOS語源</title><link>https://maaash.jp/2005/09/%E3%83%A2%E3%82%B9%E3%83%90%E3%83%BC%E3%82%AC%E3%83%BC%E3%81%AEmos%E8%AA%9E%E6%BA%90/</link><pubDate>Fri, 30 Sep 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/09/%E3%83%A2%E3%82%B9%E3%83%90%E3%83%BC%E3%82%AC%E3%83%BC%E3%81%AEmos%E8%AA%9E%E6%BA%90/</guid><description>&lt;p&gt;近所のモスバーガーで夕飯。&lt;br&gt;
新聞や雑誌のラックをのぞくと、&lt;br&gt;
見たことの無いモスグリーンの絵本っぽい装丁の本発見。&lt;/p&gt;
&lt;p&gt;中をめくると、&lt;br&gt;
モス20周年記念誌でした。&lt;br&gt;
&lt;img alt="20years.jpg" src="https://slightlyblue.com/blog/images/20years.jpg" width="302" height="99" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;大ファンなのになにげに知らなかったMOSの語源。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;70年に入ってまず吉野と渡邊が辞め、6月に株式会社モス（MOS）を設立。新宿区神楽坂に事務所を置いた。これはマーチャンダイジング・オルガナイジング・システムの略称だが、自然を象徴するマウンテン、オーシャン、サンの頭文字でもあった。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;モスっぽくて安心するような後者の単語に対して、&lt;br&gt;
実際にはインチキっぽい英語の頭文字（前者）だったなんて、&lt;br&gt;
ねた的にはおいしいですね。&lt;/p&gt;
&lt;p&gt;しかしこの本、2012年のモスはどうなってる？やら&lt;br&gt;
社長とバイトさんとの対話やら、&lt;br&gt;
地球環境の話題やら、&lt;br&gt;
涙もろいモスファンにはいい刺激でした。&lt;/p&gt;
&lt;p&gt;ひとつ提案なんですが、モスサン。&lt;br&gt;
ハンバーガーって、まるの形に捉われず、&lt;br&gt;
少しホットドックっぽく細長くした方が口元が&lt;br&gt;
汚れずにいいんじゃないでしょうか？&lt;/p&gt;
&lt;p&gt;ところで、&lt;a href="http://plaza.rakuten.co.jp/mosfan/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://plaza.rakuten.co.jp/mosfan/']);"&gt;モス日記&lt;/a&gt;ってのもあるんですね。&lt;br&gt;
モス訪問頻度的には買ってる気が(゜.゜)&lt;/p&gt;</description></item><item><title>スープストック　オマール海老とわたり蟹のスープパスタ</title><link>https://maaash.jp/2005/09/%E3%82%B9%E3%83%BC%E3%83%97%E3%82%B9%E3%83%88%E3%83%83%E3%82%AF%E3%80%80%E3%82%AA%E3%83%9E%E3%83%BC%E3%83%AB%E6%B5%B7%E8%80%81%E3%81%A8%E3%82%8F%E3%81%9F%E3%82%8A%E8%9F%B9%E3%81%AE%E3%82%B9%E3%83%BC/</link><pubDate>Mon, 19 Sep 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/09/%E3%82%B9%E3%83%BC%E3%83%97%E3%82%B9%E3%83%88%E3%83%83%E3%82%AF%E3%80%80%E3%82%AA%E3%83%9E%E3%83%BC%E3%83%AB%E6%B5%B7%E8%80%81%E3%81%A8%E3%82%8F%E3%81%9F%E3%82%8A%E8%9F%B9%E3%81%AE%E3%82%B9%E3%83%BC/</guid><description>&lt;img alt="050919soupstock.jpg" src="https://slightlyblue.com/blog/images/050919soupstock.jpg" width="250" border="0" /&gt; 
スープストックの、「オマール海老とわたり蟹のスープ」 
をスープパスタに。
&lt;p&gt;使用パスタはリングイネ。&lt;br&gt;
ほどよく絡んでいい感じ。&lt;/p&gt;
&lt;p&gt;あさりとかブロッコリーとか、ちょっとした具を自前で用意したら大ヒットに生まれ変わる予感。&lt;br&gt;
試してみようかな。&lt;/p&gt;</description></item><item><title>朝焼け</title><link>https://maaash.jp/2005/09/%E6%9C%9D%E7%84%BC%E3%81%91/</link><pubDate>Mon, 19 Sep 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/09/%E6%9C%9D%E7%84%BC%E3%81%91/</guid><description>&lt;img alt="050911morning.jpg" src="https://slightlyblue.com/blog/images/050911morning.jpg" width="511" height="329" border="0" /&gt; 
朝焼け、毎日やってくるものなのに。</description></item><item><title>環境シミュレーターgumonjiの妄想が膨らんで。。</title><link>https://maaash.jp/2005/09/%E7%92%B0%E5%A2%83%E3%82%B7%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF%E3%83%BCgumonji%E3%81%AE%E5%A6%84%E6%83%B3%E3%81%8C%E8%86%A8%E3%82%89%E3%82%93%E3%81%A7%E3%80%82%E3%80%82/</link><pubDate>Fri, 09 Sep 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/09/%E7%92%B0%E5%A2%83%E3%82%B7%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF%E3%83%BCgumonji%E3%81%AE%E5%A6%84%E6%83%B3%E3%81%8C%E8%86%A8%E3%82%89%E3%82%93%E3%81%A7%E3%80%82%E3%80%82/</guid><description>&lt;p&gt;&lt;a href="http://www.ce-lab.net/gumonji/archives/2005/08/post_11.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ce-lab.net/gumonji/archives/2005/08/post_11.html']);"&gt;gumonji開発blogの「登山と妄想」エントリー&lt;/a&gt;を読んで、&lt;br&gt;
お風呂で背中を洗ってるうちに妄想が広がってわくわく！（変な意味で無く&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;今回の登山で体験した量の情報をコンピューターシミュレーションの中で&lt;br&gt;
体験するためには、何ビット程度必要なのかを考えてみました。&lt;/p&gt;
&lt;p&gt;まず、個人的な感覚では、セルのサイズは、水平方向に対しては、&lt;br&gt;
1センチよりも小さくする必要があると感じます。しかし、垂直方向に対しては、&lt;br&gt;
それほど細かくする必要はないと感じました。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;関係している&lt;a href="http://www.ce-lab.net/ringo/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ce-lab.net/ringo/']);"&gt;Ringoさん&lt;/a&gt;のblog経由で読んだ &lt;a href="http://www.watch.impress.co.jp/game/docs/20050830/cedec1.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.watch.impress.co.jp/game/docs/20050830/cedec1.htm']);"&gt;コミュニティエンジン中嶋謙互氏が語る 究極の環境シミュレータの展望&lt;/a&gt;より&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「ワールドシンセサイザー」のアプローチでは、その環境に重力加速度が必要ならば、それを惑星系のシミュレータから得る。生物がその環境でどういった動きをするかは生物の物理シミュレータから得て、環境シミュレートの段階ではそれらの出力を変数として使用する、といった形になる。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;私の妄想の内容&lt;/p&gt;
&lt;p&gt;「セルのサイズ」、世界の分解能も変数にしちゃったらいいんじゃないの？&lt;/p&gt;
&lt;p&gt;仮想世界がP2Pで広がっていく、という前提のもと。&lt;br&gt;
1つのPeerが、1つのPeer分の世界と他の世界との関連、を記述する処理能力と帯域以上の、処理能力と帯域を持つ、とさらに仮定。&lt;br&gt;
そーすると、あまった処理能力と帯域を世界の分解能を細かくすることに避けるのでは？？&lt;br&gt;
参加するPeerが増えれば増えるほど世界の分解能が細かくなる、ってことになるのでは？&lt;br&gt;
さらに、なんとかの法則にしたがって、年を経るほど高性能なCPUが各Peerに行き渡ることを考えれば、仮想世界は半永久的に分解能を増やし続けられるのでは？&lt;/p&gt;
&lt;p&gt;そーした場合、分解能を増やすにしたがって、分解能のレベルにあった物理法則を実装していく必要があるねー、という意味で「半」永久的と書いてみた。&lt;/p&gt;
&lt;p&gt;現実的には、最初の仮定をいかに確保し続けられるか、CPU,メモリ,HDD使用効率の高いシステムを組めるかってのがこの仮想世界の成長速度を決めそう。&lt;/p&gt;
&lt;p&gt;gumonji3.0に期待。&lt;br&gt;
&lt;a href="http://www.ce-lab.net/ringo/archives/2005/09/01/index.html#a000086" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ce-lab.net/ringo/archives/2005/09/01/index.html#a000086']);"&gt;ランクBBBのアイディアでした。&lt;/a&gt;&lt;/p&gt;</description></item><item><title>目は心の窓か。</title><link>https://maaash.jp/2005/09/%E7%9B%AE%E3%81%AF%E5%BF%83%E3%81%AE%E7%AA%93%E3%81%8B%E3%80%82/</link><pubDate>Mon, 05 Sep 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/09/%E7%9B%AE%E3%81%AF%E5%BF%83%E3%81%AE%E7%AA%93%E3%81%8B%E3%80%82/</guid><description>&lt;p&gt;ちょっと前に読んだSFのメモ。&lt;/p&gt;
&lt;div class="amazlet-box" style="margin-bottom:0px;"&gt;
&lt;div class="amazlet-image" style="float:left;"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4334924379/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4334924379/masaishere-22']);" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/P/4334924379.09.MZZZZZZZ.jpg" alt="ロボット・オペラ" style="border: none;" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"&gt;
&lt;div class="amazlet-name" style="margin-bottom:10px;line-height:120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4334924379/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4334924379/masaishere-22']);" name="amazletlink" target="_blank"&gt;ロボット・オペラ&lt;/a&gt; &lt;div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/4334924379/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/4334924379/masaishere-22']);" title="ロボット・オペラ" target="_blank"&gt;amazlet&lt;/a&gt; at 05.09.05
&lt;/div&gt;
 &lt;/div&gt;
&lt;div class="amazlet-detail"&gt;
 瀬名 秀明 &lt;br /&gt;光文社 (2004/06/19)&lt;br /&gt;売り上げランキング: 78,320
&lt;/div&gt;
&lt;div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"&gt;
&lt;div class="amazlet-review-average" style="margin-bottom:5px"&gt;
 おすすめ度の平均: ⭐4
&lt;/div&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;⭐5 「究極のアンソロジー」というのは大げさですが……&lt;br /&gt;⭐3 ロボット短編の集大成。&lt;/div&gt; &lt;div class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4334924379/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4334924379/masaishere-22']);" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;div class="amazlet-footer" style="clear: left"&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
 SF好きには古典として読む価値のある短編がいっぱい収録されているが、&amp;lt;br /&amp;gt; そうでない人にとってはほとんど価値が無いかもしれない一冊。
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 ちょっと気に入ったフレーズは、C.L.ムーアの「美女ありき」より&amp;lt;br /&amp;gt; ディアドリ：美しいロボット女性(?)&amp;lt;br /&amp;gt; 長い引用。。。
 &amp;lt;/p&amp;gt;
 
 &amp;lt;blockquote&amp;gt;
 &amp;lt;p&amp;gt;
 人と話す場合、われわれは無意識に相手の目を見るが、たまたま相手が横になっていて、その枕頭で話すような場合には、相手はふりあおいで喋るために、顔が逆さまになり、自然、相手の口を見ることになる。われわれが目を心の窓と考えるのは、目が心の動きを伝えるためではなく、ひとえに目の顔における位置、つまり目がそこにあるからだ。ディアドリの仮面はまさしくその位置にあった。
 &amp;lt;/p&amp;gt;
 &amp;lt;/blockquote&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>マックやマクドではなく「ドナ」</title><link>https://maaash.jp/2005/08/%E3%83%9E%E3%83%83%E3%82%AF%E3%82%84%E3%83%9E%E3%82%AF%E3%83%89%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%8F%E3%80%8C%E3%83%89%E3%83%8A%E3%80%8D/</link><pubDate>Fri, 26 Aug 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/08/%E3%83%9E%E3%83%83%E3%82%AF%E3%82%84%E3%83%9E%E3%82%AF%E3%83%89%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%8F%E3%80%8C%E3%83%89%E3%83%8A%E3%80%8D/</guid><description>&lt;p&gt;決めました。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;マクドナルドを「マック」や「マクド」と呼ぶのはやめましょう。&lt;br&gt;
これからはみんなでドナって呼ぼうぜって決めました。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://www6.ocn.ne.jp/~iverson/dona.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www6.ocn.ne.jp/~iverson/dona.htm']);"&gt;マクドナルドを「ドナ」と呼ぼう大作戦&lt;/a&gt;より&lt;/p&gt;
&lt;p&gt;「 今日はドナで待ってるね♪ 」&lt;/p&gt;
&lt;p&gt;・・・&lt;/p&gt;
&lt;p&gt;かわいい・・・&lt;/p&gt;
&lt;p&gt;絶対待たないけど・・・&lt;/p&gt;</description></item><item><title>手羽先のぴり辛グリルと</title><link>https://maaash.jp/2005/08/%E6%89%8B%E7%BE%BD%E5%85%88%E3%81%AE%E3%81%B4%E3%82%8A%E8%BE%9B%E3%82%B0%E3%83%AA%E3%83%AB%E3%81%A8/</link><pubDate>Thu, 11 Aug 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/08/%E6%89%8B%E7%BE%BD%E5%85%88%E3%81%AE%E3%81%B4%E3%82%8A%E8%BE%9B%E3%82%B0%E3%83%AA%E3%83%AB%E3%81%A8/</guid><description>&lt;p&gt;手羽先のぴり辛グリル＋にんにくの芽のおまけ、です。&lt;br&gt;
夏の昼食にぴったり♪&lt;br&gt;
うま～&lt;br&gt;
&lt;img alt="050810grill.jpg" src="https://slightlyblue.com/blog/images/050810grill.jpg" width="200" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2005/05/post.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/05/post.html']);"&gt;例によって&lt;/a&gt;、グリる時のソースがポイントかと思います。&lt;br&gt;
豆板醤、はちみつ、しょうゆ、あまった紅茶、水。&lt;br&gt;
今回はそんなものか。&lt;/p&gt;
&lt;p&gt;簡単なレシピ。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ソースを混ぜた中に手羽先をつける&lt;/li&gt;
&lt;li&gt;漬けてる間にご飯を炊く&lt;/li&gt;
&lt;li&gt;炊き上がるころに鉄板を熱して&lt;/li&gt;
&lt;li&gt;弱火～中火の間くらいにして味のついた手羽先とおまけのにんにくの芽をざー&lt;/li&gt;
&lt;li&gt;蓋をして数分（たまに様子を見つつ水や紅茶を増やしたり…&lt;/li&gt;
&lt;li&gt;うまー&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;いかが？&lt;/p&gt;</description></item><item><title>未来</title><link>https://maaash.jp/2005/08/%E6%9C%AA%E6%9D%A5/</link><pubDate>Thu, 11 Aug 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/08/%E6%9C%AA%E6%9D%A5/</guid><description>&lt;p&gt;読書の夏 を謳歌する今日この頃。&lt;/p&gt;
&lt;p class="amazlet-box" style="margin-bottom: 0px"&gt;
&lt;p class="amazlet-image" style="float: left"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4150114587/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4150114587/masaishere-22']);" title="amazletlink" name="amazletlink" target="_blank"&gt;&lt;img src="https://images-jp.amazon.com/images/P/4150114587.09.MZZZZZZZ.jpg" alt="あなたの人生の物語" style="border: medium none " /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%"&gt;
&lt;p class="amazlet-name" style="margin-bottom: 10px; line-height: 120%"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4150114587/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4150114587/masaishere-22']);" title="amazletlink" name="amazletlink" target="_blank"&gt;あなたの人生の物語&lt;/a&gt;
&lt;/p&gt;
&lt;p class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%"&gt;
 posted with &lt;a href="http://www.amazlet.com/browse/ASIN/4150114587/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazlet.com/browse/ASIN/4150114587/masaishere-22']);" title="あなたの人生の物語" target="_blank"&gt;amazlet&lt;/a&gt; at 05.08.11
&lt;/p&gt;
&lt;p class="amazlet-detail"&gt;
 テッド チャン Ted Chiang 浅倉 久志&lt;br /&gt; 早川書房 (2003/09)&lt;br /&gt; 売り上げランキング: 19,423
&lt;/p&gt;
&lt;p class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px"&gt;
&lt;p class="amazlet-review-average" style="margin-bottom: 5px"&gt;
 おすすめ度の平均: ⭐4
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
 ⭐4 理論派のパラレルワールド&amp;lt;br /&amp;gt; ⭐4 この世の奥深さ不可解さを提示&amp;lt;br /&amp;gt; ⭐4 SFのたのしみ
 &amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p class="amazlet-link" style="margin-top: 5px"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4150114587/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4150114587/masaishere-22']);" title="amazletlink" name="amazletlink" target="_blank"&gt;Amazon.co.jp で詳細を見る&lt;/a&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; &amp;lt;p&amp;gt;
 どの短編も、短い中で、&amp;lt;br /&amp;gt; 現実の今とは異なる世界観をしっかり描写していること！
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 一番好きなのは、表題の「あなたの人生の物語」だなー。&amp;lt;br /&amp;gt; &amp;lt;a href=&amp;quot;http://slightlyblue.com/blog/2005/04/yodish.html&amp;quot; onclick=&amp;quot;javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/04/yodish.html']);&amp;quot;&amp;gt;ヨーダ語&amp;lt;/a&amp;gt;の時も思ったけど、&amp;lt;br /&amp;gt; SFのすごさって、SFの中の世界観と、&amp;lt;br /&amp;gt; 今の現実の世界観の違いとなっているコアななにかを、&amp;lt;br /&amp;gt; 現実の世界では我々がどれだけ当たり前と認識しているか、&amp;lt;br /&amp;gt; その当たり前認識度合いに比例していると思う。
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 そういう意味で、&amp;lt;br /&amp;gt; 「あなたの人生の物語」はかなり革新的な仮定をしているな～と思う。
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 それ以外で印象に残ったのは、&amp;lt;br /&amp;gt; 「作品覚書」の中で著者が各短編の背景について書いたりしている中で出てくる、&amp;lt;br /&amp;gt; ウィリアム・ギブソンの言葉という&amp;lt;br /&amp;gt; 「未来はすでにここにある。たんに均等に分配されていないだけだ」
 &amp;lt;/p&amp;gt;
 
 &amp;lt;p&amp;gt;
 うーむ。数10年分の未来はだれかのもとにあるんだろうな。&amp;lt;br /&amp;gt; ある分野では「未来」の大富豪でありたいですな。&amp;lt;br /&amp;gt; 「未来」を世の中に早く送り届けるような仕事がしたいですな。
 &amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>いくら、いや、いるか。</title><link>https://maaash.jp/2005/07/%E3%81%84%E3%81%8F%E3%82%89%E3%80%81%E3%81%84%E3%82%84%E3%80%81%E3%81%84%E3%82%8B%E3%81%8B%E3%80%82/</link><pubDate>Sun, 24 Jul 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/07/%E3%81%84%E3%81%8F%E3%82%89%E3%80%81%E3%81%84%E3%82%84%E3%80%81%E3%81%84%E3%82%8B%E3%81%8B%E3%80%82/</guid><description>&lt;p&gt;母：　「○○ちゃん、いくらと泳いできたんだって」&lt;br&gt;
祖母：　「あらまー」&lt;/p&gt;
&lt;p&gt;いるかって言ったでしょ。&lt;/p&gt;
&lt;p&gt;いるかです。&lt;/p&gt;
&lt;p&gt;日帰り圏内にそんなことできるところあるなんて知りませんでしたね。&lt;br&gt;
&lt;a href="http://www.seaparadise.co.jp/aquamuseum/2005dolfre/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.seaparadise.co.jp/aquamuseum/2005dolfre/index.html']);"&gt;ドルフィンフレンドシップ＠八景島&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;おすすめです。&lt;br&gt;
平日ならそこそこ抽選に当たるらしいです。&lt;/p&gt;</description></item><item><title>蒲焼対しるらー</title><link>https://maaash.jp/2005/07/%E8%92%B2%E7%84%BC%E5%AF%BE%E3%81%97%E3%82%8B%E3%82%89%E3%83%BC/</link><pubDate>Tue, 19 Jul 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/07/%E8%92%B2%E7%84%BC%E5%AF%BE%E3%81%97%E3%82%8B%E3%82%89%E3%83%BC/</guid><description>&lt;img alt="kaba.jpg" src="https://slightlyblue.com/blog/images/kaba.jpg" width="600" height="416" border="0" /&gt;
&lt;p&gt;蒲焼です。&lt;br&gt;
夏ですものね。&lt;/p&gt;
&lt;p&gt;それと、ほうれん草とたまねぎの味噌汁です。&lt;br&gt;
ポパイを見て育ってもいるし、しるらーでもありますし。&lt;/p&gt;
&lt;p&gt;料理は癒しですね。&lt;/p&gt;
&lt;p&gt;アメリカの人、食べに帰っておいでよ。&lt;/p&gt;</description></item><item><title>Firefox→Becky! スクリーンショット</title><link>https://maaash.jp/2005/07/firefox%E2%86%92becky-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</link><pubDate>Tue, 12 Jul 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/07/firefox%E2%86%92becky-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</guid><description>&lt;p&gt;Firefoxの場合。。&lt;/p&gt;
&lt;p&gt;こんなふうにFirefoxでブラウジング中。。&lt;br&gt;
右クリック！右クリック！&lt;/p&gt;
&lt;img alt="firefox_1.jpg" src="https://slightlyblue.com/blog/images/firefox_1.jpg" width="884" height="633" border="0" /&gt;
&lt;p&gt;” Import to Becky! (BMemo) ” をクリック！クリック！&lt;/p&gt;
&lt;p&gt;初回は、以下のようなalertメッセージが出ますが、&lt;/p&gt;
&lt;img alt="firefox_2.jpg" src="https://slightlyblue.com/blog/images/firefox_2.jpg" width="881" height="663" border="0" /&gt;
&lt;p&gt;お好みでチェックを入れつつ、” アプリケーションを起動 “！&lt;/p&gt;
&lt;img alt="firefox_3.jpg" src="https://slightlyblue.com/blog/images/firefox_3.jpg" width="1183" height="692" border="0" /&gt;
&lt;p&gt;Becky! にこんなふうに取り込まれますよ。&lt;br&gt;
簡単！簡単！&lt;/p&gt;</description></item><item><title>ブログの次は。</title><link>https://maaash.jp/2005/07/%E3%83%96%E3%83%AD%E3%82%B0%E3%81%AE%E6%AC%A1%E3%81%AF%E3%80%82/</link><pubDate>Sat, 09 Jul 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/07/%E3%83%96%E3%83%AD%E3%82%B0%E3%81%AE%E6%AC%A1%E3%81%AF%E3%80%82/</guid><description>&lt;p&gt;&lt;a href="http://www.100shiki.com/archives/2005/07/_scooptcom.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.100shiki.com/archives/2005/07/_scooptcom.html']);"&gt;百式&lt;/a&gt;で紹介のあったサイトに、ひさびさ、びびっと来ましたよ。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.scoopt.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.scoopt.com/']);"&gt;&lt;a href="http://www.scoopt.com/" class="external-link" target="_blank" rel="noopener"&gt;http://www.scoopt.com/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;このサイトでは携帯カメラで撮った写真を買い取るサービスを行っている。&lt;/p&gt;
&lt;p&gt;使い方はシンプルで、まずは会員登録を行い、メディア的に価値のあるシーンに出くわしたらぱしゃりと写真を撮り、Scooptにアップロードするだけだ。その写真をScooptがメディアに売り込み、もし売ることができたならばその売上を半々でシェアしましょう、という仕組み&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;この、「びびっと」は前に記憶している。。&lt;br&gt;
それは、村上竜の 希望の国のエクソダス を読んだとき。&lt;/p&gt;
&lt;p&gt;ローカルなでかいネットワークを生かして、&lt;br&gt;
新鮮な映像ニュースを最速で提供できる中学生集団。&lt;/p&gt;
&lt;p&gt;その後2chを知って、ローカルなジャーナリストネットワークを構築するなら&lt;br&gt;
2chはいいベースになるかな～&lt;br&gt;
なんて夢想したものでした。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikinews.org/wiki/Main_Page" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://en.wikinews.org/wiki/Main_Page']);"&gt;WikiNews&lt;/a&gt; といい、scoopt.comといい、&lt;br&gt;
ブログは、こんなふうに映像もコンテンツに含めたジャーナリズムへ発展していくのかもしれませんね。&lt;/p&gt;
&lt;p&gt;希望の国のエクソダス をきっかけに知った地域通貨も自分の中でなにかくすぶっています。&lt;br&gt;
なににつながっていくだろう。&lt;/p&gt;</description></item><item><title>BMemo v.1.02公開（Becky!メールの添付ファイルをデスクトップ検索）</title><link>https://maaash.jp/2005/07/bmemo-v102%E5%85%AC%E9%96%8B%EF%BC%88becky%E3%83%A1%E3%83%BC%E3%83%AB%E3%81%AE%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97/</link><pubDate>Mon, 04 Jul 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/07/bmemo-v102%E5%85%AC%E9%96%8B%EF%BC%88becky%E3%83%A1%E3%83%BC%E3%83%AB%E3%81%AE%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97/</guid><description>&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2006/06/bmemo_download_1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/06/bmemo_download_1.html']);"&gt;BMemo V.1.02公開です。ダウンロードはこちら。&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;こまごまいろいろいじったのですが、&lt;br&gt;
大きいのは、&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;添付ファイルのデスクトップ検索対応&lt;/strong&gt;&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2005/11/post_ss_search_attach.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/11/post_ss_search_attach.html']);"&gt;スクリーンショットをどうぞ(｡･_･｡)ノ&lt;/a&gt;&lt;/p&gt;</description></item><item><title>BMemo Vector公開 ＆ Ver.1.01公開</title><link>https://maaash.jp/2005/06/bmemo-vector%E5%85%AC%E9%96%8B-%EF%BC%86-ver101%E5%85%AC%E9%96%8B/</link><pubDate>Wed, 29 Jun 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/06/bmemo-vector%E5%85%AC%E9%96%8B-%EF%BC%86-ver101%E5%85%AC%E9%96%8B/</guid><description>&lt;p&gt;VectorへのBMemoの掲載が始まりました！(&lt;a href="http://slightlyblue.com/blog/2005/06/bmemo_1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/06/bmemo_1.html']);"&gt;BMemoはこんなソフトです♪&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;また、Ver.1.01を公開させていただきます。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2006/06/bmemo_download_1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/06/bmemo_download_1.html']);"&gt;ダウンロードはこちら&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;すでにお使いの方にはあまり関係ありませんが、&lt;br&gt;
インストール直後の初期設定を軽減しました。&lt;/p&gt;</description></item><item><title>BMemo正式版 公開♪</title><link>https://maaash.jp/2005/06/bmemo%E6%AD%A3%E5%BC%8F%E7%89%88-%E5%85%AC%E9%96%8B%E2%99%AA/</link><pubDate>Wed, 01 Jun 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/06/bmemo%E6%AD%A3%E5%BC%8F%E7%89%88-%E5%85%AC%E9%96%8B%E2%99%AA/</guid><description>&lt;p&gt;お待たせいたしました。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2006/06/bmemo_download_1.html" class="external-link" target="_blank" rel="noopener"&gt;BMemo正式版 Ver.1.00公開いたします！&lt;br&gt;
ダウンロードはこちら。&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vectorの登録がてこずっていて、お待たせしてしまってごめんなさい。&lt;br&gt;
まだ登録できていないのですが。。。&lt;/p&gt;
&lt;p&gt;Vector登録できるまでの間、割引料金（若干）で&lt;br&gt;
シェアウェア登録させていただきます！&lt;/p&gt;
&lt;p&gt;＃　Vector登録できるまで、&lt;br&gt;
　　シェアウェア登録の手段は、銀行振り込みのみになります。&lt;br&gt;
　　詳細については、ダウンロード後、&lt;br&gt;
　　同梱されているtxtファイルに記載のメールアドレスまで&lt;br&gt;
　　ご連絡ください。&lt;br&gt;
　　詳細ご返信いたします♪&lt;/p&gt;
&lt;p&gt;BMemoはこんなソフトです♪&lt;/p&gt;
&lt;p&gt;# ———— 0. 概要&lt;/p&gt;
&lt;p&gt;BMemoは、以下の3機能を実現するBecky!プラグインです。&lt;/p&gt;
&lt;p&gt;①webページをBecky!に取り込んでhtmlメールとして閲覧！(web取込機能)&lt;/p&gt;
&lt;p&gt;②Becky!をテキストエディタのように使える！(メモメール機能)&lt;/p&gt;
&lt;p&gt;③Becky!のメールをデスクトップ検索できる(html化機能)&lt;/p&gt;
&lt;p&gt;0-1. ユースケース①: web取込&lt;/p&gt;
&lt;p&gt;webでちょっと調べ物…&lt;br&gt;
おっ！こいつは詳細かつ具体的に知りたいことを記述しているじゃないか！&lt;br&gt;
memoしておきたいな..&lt;br&gt;
右クリック → “Becky!へ取り込む”&lt;br&gt;
後でBecky!で閲覧..&lt;/p&gt;
&lt;p&gt;FireFox対応いたしました！（IE系ブラウザは当然！&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2004/12/web_1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2004/12/web_1.html']);"&gt;　　　→ スクリーンショット（web取込機能）へ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;0-2. ユースケース②: メモメール&lt;/p&gt;
&lt;p&gt;テキストエディタにいろいろメモしながら作業を進める。。&lt;br&gt;
日々、現れる課題を解決している、&lt;br&gt;
その過程をKnowHowとしてなんらかの形でテキストにまとめている。。&lt;br&gt;
秀丸やアウトラインエディタ。。。&lt;br&gt;
メーラーとしてはBecky!を使っている。。&lt;br&gt;
切り替えてるのめんどくさいな～～&lt;br&gt;
→ BMemoを使えば、Becky!上でメモできます！&lt;/p&gt;
&lt;p&gt;0-3. ユースケース③: html化&lt;/p&gt;
&lt;p&gt;毎日メールが数百通届く…&lt;br&gt;
「あれっ！あの時のメールどこ行っちゃったかな～？！」&lt;br&gt;
最近、htmlやWord、PDFなんかは&lt;br&gt;
&lt;a href="http://desktop.google.co.jp" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://desktop.google.co.jp']);"&gt;Google Desktop Search（http://desktop.google.co.jp）&lt;/a&gt;や&lt;br&gt;
&lt;a href="http://desktop.yahoo.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://desktop.yahoo.com/']);"&gt;Yahoo Desktop Search（http://desktop.yahoo.com/）&lt;/a&gt;&lt;br&gt;
で検索できるけど、beckyのメールはできないかな..&lt;br&gt;
→ できます！&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2005/06/html_desktop_search_becky.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/06/html_desktop_search_becky.html']);"&gt;　　　→ スクリーンショット（html化）へ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;0-4. 紙&lt;/p&gt;
&lt;p&gt;紙、という有名なソフトがあります。　&lt;a href="http://www.kamilabo.jp/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.kamilabo.jp/']);"&gt;&lt;a href="http://www.kamilabo.jp/" class="external-link" target="_blank" rel="noopener"&gt;http://www.kamilabo.jp/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;とっても便利なのですが、独立したソフトです。&lt;br&gt;
いつでも立ち上げているメーラーで見たいよね。&lt;/p&gt;</description></item><item><title>html化機能... Desktop Search Becky! スクリーンショット</title><link>https://maaash.jp/2005/06/html%E5%8C%96%E6%A9%9F%E8%83%BD-desktop-search-becky-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</link><pubDate>Wed, 01 Jun 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/06/html%E5%8C%96%E6%A9%9F%E8%83%BD-desktop-search-becky-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</guid><description>&lt;p&gt;BMemoを使うと、&lt;br&gt;
Becky!のメールを、GoogleやYahooのデスクトップ検索エンジンで&lt;br&gt;
検索できるようになります！&lt;/p&gt;
&lt;p&gt;よく、前に受信したメールがフォルダ分けした奥底に入っていて、&lt;br&gt;
どのフォルダにしまったかわからない！&lt;br&gt;
ことってありますよね？&lt;/p&gt;
&lt;p&gt;BMemoの「メモメール機能」でメモしたメールも&lt;br&gt;
どこかに振り分けたりして見つからなくなったりしますよね？&lt;/p&gt;
&lt;p&gt;こんな感じで検索できます ↓&lt;/p&gt;
&lt;p&gt;「あれ、前にGoogleAPI使ったアプリ考えたよな～、&lt;br&gt;
メモメールに書いてどっかのフォルダにしまったけど・・・」&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Google デスクトップ検索でこんなふうに。。。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;「BMemo」という言葉を検索語にすると、&lt;br&gt;
Becky!のメールばっかりが検索結果にあがってくることになります。&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;検索してみると。。。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;検索結果はこんな。&lt;br&gt;
メールはhtml形式になっています。&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;開くと。。。&lt;/li&gt;
&lt;/ol&gt;
&lt;img alt="screenshot_html_3.jpg" src="https://slightlyblue.com/blog/images/screenshot_html_3.jpg" width="691" height="505" border="0" /&gt;
&lt;p&gt;メールの日付、差出人、サブジェクト、宛先、とメールの内容がhtmlファイルになっています。&lt;/p&gt;
&lt;p&gt;上の方に、&lt;br&gt;
「open this mail in Becky!」&lt;br&gt;
とあります。&lt;/p&gt;
&lt;p&gt;これを押すと。。。&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li&gt;Becky!で開く。。。&lt;/li&gt;
&lt;/ol&gt;
&lt;img alt="screenshot_html_4.jpg" src="https://slightlyblue.com/blog/images/screenshot_html_4.jpg" width="1163" height="630" border="0" /&gt;
&lt;p&gt;Becky!で、そのメールが選択された状態になってます。&lt;/p&gt;
&lt;p&gt;はやっ！&lt;/p&gt;</description></item><item><title>つばめグリルのハンバーグレシピ</title><link>https://maaash.jp/2005/05/%E3%81%A4%E3%81%B0%E3%82%81%E3%82%B0%E3%83%AA%E3%83%AB%E3%81%AE%E3%83%8F%E3%83%B3%E3%83%90%E3%83%BC%E3%82%B0%E3%83%AC%E3%82%B7%E3%83%94/</link><pubDate>Sat, 21 May 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/05/%E3%81%A4%E3%81%B0%E3%82%81%E3%82%B0%E3%83%AA%E3%83%AB%E3%81%AE%E3%83%8F%E3%83%B3%E3%83%90%E3%83%BC%E3%82%B0%E3%83%AC%E3%82%B7%E3%83%94/</guid><description>&lt;p&gt;ハンバーグつくりました。&lt;br&gt;
&lt;img alt="050521hamburg.jpg" src="https://slightlyblue.com/blog/images/050521hamburg.jpg" width="364" height="256" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.tsubame-grill.co.jp/recipe/right2.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.tsubame-grill.co.jp/recipe/right2.html']);"&gt;つばめグリルのレシピ&lt;/a&gt;をみてつくったんだけれど、&lt;br&gt;
『超えてました』、はい。&lt;br&gt;
あまりにも、自分の持つ完璧なハンバーグのイメージに近かったので、&lt;br&gt;
ウルウルするほどでした。&lt;/p&gt;
&lt;p&gt;ポイントは多分適当につくったソース。&lt;br&gt;
ブルドックソース、ケチャップ、和風ドレッシング、醤油、パセリ、赤唐辛子、豆板醤、ジンジャエール、黒胡椒。&lt;/p&gt;</description></item><item><title>BMemo正式版 秒読み..</title><link>https://maaash.jp/2005/05/bmemo%E6%AD%A3%E5%BC%8F%E7%89%88-%E7%A7%92%E8%AA%AD%E3%81%BF/</link><pubDate>Thu, 05 May 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/05/bmemo%E6%AD%A3%E5%BC%8F%E7%89%88-%E7%A7%92%E8%AA%AD%E3%81%BF/</guid><description>&lt;p&gt;vectorのシェアレジ登録申請してます。&lt;/p&gt;
&lt;p&gt;もうちょいです。&lt;/p&gt;</description></item><item><title>九州の島々へ行ってきました。</title><link>https://maaash.jp/2005/05/%E4%B9%9D%E5%B7%9E%E3%81%AE%E5%B3%B6%E3%80%85%E3%81%B8%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82/</link><pubDate>Thu, 05 May 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/05/%E4%B9%9D%E5%B7%9E%E3%81%AE%E5%B3%B6%E3%80%85%E3%81%B8%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82/</guid><description>&lt;p&gt;九州の島々へ行ってきましたよ。&lt;/p&gt;
&lt;p&gt;長崎沖の福江島。&lt;br&gt;
博多沖の壱岐島。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mxg.s54.xrea.com/photo/9shu.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxg.s54.xrea.com/photo/9shu.html']);"&gt;よかったら写真でも。&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;一部抜粋。&lt;br&gt;
こんな夕焼けでした。&lt;br&gt;
&lt;img src="http://mxg.s54.xrea.com/photo/9shu/04.jpg" alt="" &gt;&lt;/p&gt;</description></item><item><title>ゴルフの繁栄</title><link>https://maaash.jp/2005/04/%E3%82%B4%E3%83%AB%E3%83%95%E3%81%AE%E7%B9%81%E6%A0%84/</link><pubDate>Fri, 22 Apr 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/04/%E3%82%B4%E3%83%AB%E3%83%95%E3%81%AE%E7%B9%81%E6%A0%84/</guid><description>&lt;p&gt;ゴルフしてきました。&lt;br&gt;
盛り上がりまくり、幸せな気持ちになって帰ってきました。&lt;/p&gt;
&lt;p&gt;ゴルフほど、&lt;br&gt;
人の心があたたまるスポーツってないと思います。&lt;/p&gt;
&lt;p&gt;なぜって、&lt;br&gt;
”ハンデ” という仕組みがあるから。&lt;/p&gt;
&lt;p&gt;ハンデは、過去プレイした結果を反映して、&lt;br&gt;
実力に応じて下手な人ほど大きな”おまけ得点”をもらえます。&lt;br&gt;
実力の上下あるメンバーでゴルフをして、ハンデをつけて順位をつけると、&lt;br&gt;
実力とは関係なく、トップ争いをすることができます。&lt;br&gt;
過去と同程度の力を出せば、（おおまかに言えば）得点はみんないっしょ。&lt;/p&gt;
&lt;p&gt;ってことは。&lt;/p&gt;
&lt;p&gt;まず第一に。&lt;br&gt;
盛り上がりっぷりがすごいです。&lt;br&gt;
なんでって、みんな普通の実力出せば、優劣がつかないんだから、&lt;br&gt;
全員が競争に参加しているのです。&lt;br&gt;
こんなスポーツほかに無いです。&lt;/p&gt;
&lt;p&gt;次に。&lt;br&gt;
ハンデをつけると、順位の決定方法が、&lt;br&gt;
”実力” → ”上達度” に変わるのです。&lt;br&gt;
過去（ハンデを算出した結果）より、いいスコアを出せば、&lt;br&gt;
下手な人でも上位に食い込めるのです。&lt;/p&gt;
&lt;p&gt;天才だ、ハンデを発明した人は！（倒置法&lt;/p&gt;
&lt;p&gt;上達したものに褒章を与える。&lt;br&gt;
これ人材育成の基本（頼む。上司。&lt;br&gt;
そうした過程の中に身を置くことは、精神的にもとってもよいものです。&lt;/p&gt;
&lt;p&gt;なんと、あたたかいスポーツでしょう。&lt;br&gt;
本日、私はこの仕組みにちょっと感動してしまいました。&lt;br&gt;
他のスポーツにも取り入れたいですね、ダーツとか。&lt;/p&gt;
&lt;p&gt;ゴルフいっしょに行きましょう。&lt;/p&gt;</description></item><item><title>あなたとあなたの外交について</title><link>https://maaash.jp/2005/04/%E3%81%82%E3%81%AA%E3%81%9F%E3%81%A8%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E5%A4%96%E4%BA%A4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</link><pubDate>Tue, 19 Apr 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/04/%E3%81%82%E3%81%AA%E3%81%9F%E3%81%A8%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E5%A4%96%E4%BA%A4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</guid><description>&lt;p&gt;好きな経営者は、と言われてあまり思い浮かぶ人がいなかったりするのですが、&lt;br&gt;
そんな数人のうちの一人は、&lt;br&gt;
monexの社長さんです。&lt;br&gt;
松本大さん。&lt;/p&gt;
&lt;p&gt;彼ほど、政治家に転職してほしいな、と願う人はありません。&lt;br&gt;
具体的に、庶民の言葉で、国レベルの話をしてくれます。&lt;br&gt;
信頼できる話し方です。&lt;/p&gt;
&lt;p&gt;今日は、&lt;br&gt;
&lt;a href="http://http://www.monex.co.jp/monex_blog/archives/005822.html" class="external-link" target="_blank" rel="noopener"&gt;外交　＜松本大のつぶやき＞&lt;br&gt;
2005年04月14日&lt;/a&gt;&lt;br&gt;
から。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;マンスフィールド氏は上院院内総務を&lt;br&gt;
１６年、駐日米国大使を１２年勤められた、偉大な政治家です。彼は初対面の&lt;br&gt;
私と挨拶を交わすなり、深々と頭を下げてこう言いました。&lt;br&gt;
　”As a citizen of the United States, I’d like to apologize.”&lt;br&gt;
　私は何事かと、本当にびっくりしました。ちょうどその数日前に、ハワイ沖&lt;br&gt;
で米国の潜水艦が日本の水産高校の実習船に衝突した事故があったのでした。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;或いは外交というのは、官邸でもテレビの中でもなく、無数の、小さな、&lt;br&gt;
個人の気持ちとその表明の中にこそ存在するのかも知れません。私は後者の可&lt;br&gt;
能性を信じたいと思います。外交において、私たち個人が自分達を無力化しな&lt;br&gt;
いこと、当事者としての意識を持ち続けることが、大切なのではないでしょう&lt;br&gt;
か。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;韓国、中国へ渡る日本人が、一度に一人の現地人と、自分の考えを伝えてくれば、どれだけの影響力があるだろうか。&lt;/p&gt;
&lt;p&gt;今度の海外は、現地の人とそんな話もしてみようかな。&lt;/p&gt;</description></item><item><title>今日のいい話④ 女性の望み</title><link>https://maaash.jp/2005/04/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%84%E3%81%84%E8%A9%B1%E2%91%A3-%E5%A5%B3%E6%80%A7%E3%81%AE%E6%9C%9B%E3%81%BF/</link><pubDate>Thu, 14 Apr 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/04/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%84%E3%81%84%E8%A9%B1%E2%91%A3-%E5%A5%B3%E6%80%A7%E3%81%AE%E6%9C%9B%E3%81%BF/</guid><description>&lt;p&gt;いい話かどうかはまたもや微妙ですが、。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.geocities.jp/timeway/kougi-1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.geocities.jp/timeway/kougi-1.html']);"&gt;世界史講義録 第１回 最初の授業 &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;印象に残ったのは、最初と、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;できるだけ、彼らの期待にそれなりに応えながらも、単なる雑談でもなく、またこれからの授業に少しでも期待を持たせる。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;最後。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「歴史って、面白いんですよ。」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;そう、教育って、それを伝えるのが一番大事なんだろうと思います。&lt;/p&gt;
&lt;p&gt;しかし、この故事は微妙だな。。&lt;br&gt;
ハウルにしろ、オペラ座の怪人にしろ、最近は見た目がとっても大事なようです。。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「ひとつ、確かに私は年老いているが、それだけ人よりも思慮が深く知恵に富んでるということです。決して、悪いことではありません。二つめ、妻が醜いことは、夫にとって幸運です。なぜなら、他の男が言い寄ることを心配しなくてもよいから。三つめ、人の価値は生まれや身分で決まるものではありません。魂の輝きによるものです。」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;こんないい言葉を口にできる女性なんだから、見直してめでたしめでたし、、にはならないか。。&lt;/p&gt;
&lt;p&gt;魂は輝いてるだろうか。&lt;/p&gt;</description></item><item><title>ほうれん草と新たまねぎの味噌汁</title><link>https://maaash.jp/2005/04/%E3%81%BB%E3%81%86%E3%82%8C%E3%82%93%E8%8D%89%E3%81%A8%E6%96%B0%E3%81%9F%E3%81%BE%E3%81%AD%E3%81%8E%E3%81%AE%E5%91%B3%E5%99%8C%E6%B1%81/</link><pubDate>Sun, 10 Apr 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/04/%E3%81%BB%E3%81%86%E3%82%8C%E3%82%93%E8%8D%89%E3%81%A8%E6%96%B0%E3%81%9F%E3%81%BE%E3%81%AD%E3%81%8E%E3%81%AE%E5%91%B3%E5%99%8C%E6%B1%81/</guid><description>&lt;p&gt;普通のたまねぎって、乾燥させてから出荷してるそうですね。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.shijou.metro.tokyo.jp/05/syun/vegetable/veg-spring/onion.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.shijou.metro.tokyo.jp/05/syun/vegetable/veg-spring/onion.html']);"&gt;東京都卸売市場&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;春先になると、店頭に少し平べったい形をした色白の新たまねぎを見かけるようになります。これはいつも見るたまねぎと違い、柔らかそうな薄皮に覆われています。普通のたまねぎは、日持ちを良くするため収穫後約１ヶ月ほど風乾（風にあてて乾かす）していますが、新たまねぎは風乾せずに収穫してすぐ出荷するからです。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;新たまねぎとフツーたまねぎが同じくらいの価格なので、&lt;br&gt;
旬の食材の方をなんだか、いつもにも増して頻繁に使ってしまっています。&lt;/p&gt;
&lt;p&gt;おいしいみたいだし。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;新たまねぎには、たまねぎ独特の甘さと香りに加え、みずみずしさと柔らかさがあります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;洋風のオニオンスープもいいし、&lt;br&gt;
和風の味噌汁もおいしかった！&lt;br&gt;
&lt;img alt="ほうれん草と新たまねぎの味噌汁" src="https://slightlyblue.com/blog/images/misoshiru_shintama.jpg" width="410" height="307" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;しかし、ごまも&lt;a href="http://slightlyblue.com/blog/2005/02/butter.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/02/butter.html']);"&gt;バター&lt;/a&gt;に次ぐ魔法の食材の1つですね。&lt;/p&gt;</description></item><item><title>ヨーダ語概論の紹介</title><link>https://maaash.jp/2005/04/%E3%83%A8%E3%83%BC%E3%83%80%E8%AA%9E%E6%A6%82%E8%AB%96%E3%81%AE%E7%B4%B9%E4%BB%8B/</link><pubDate>Tue, 05 Apr 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/04/%E3%83%A8%E3%83%BC%E3%83%80%E8%AA%9E%E6%A6%82%E8%AB%96%E3%81%AE%E7%B4%B9%E4%BB%8B/</guid><description>&lt;p&gt;&lt;a href="http://www.yoda-speak.org/yodish.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.yoda-speak.org/yodish.html']);"&gt;ヨーダ語概論。&lt;/a&gt;&lt;br&gt;
ヨーダです。&lt;br&gt;
Star Wars の。&lt;/p&gt;
&lt;p&gt;少し英語のHearing能力のある方ならば、&lt;br&gt;
ヨーダが方言みたいな英語を使われていることをご存知でしょう。&lt;/p&gt;
&lt;p&gt;そんなヨーダの使う英語を、”Yodish”（ヨーディッシュ）、と定義して、&lt;br&gt;
言語学的に分析してみた人を見つけました。&lt;/p&gt;
&lt;p&gt;ひまですねぇ、いや、あほですねぇ、でも好きですね。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This was a paper I wrote for my Linguistics II class&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;言語学の授業で論文として書いた。んだって。&lt;br&gt;
”paper”のニュアンスに自信がありませんが、&lt;br&gt;
この著者も勇気あるジェダイです。&lt;/p&gt;
&lt;p&gt;“Rest, I need rest”&lt;br&gt;
“Found someone you have…”&lt;br&gt;
“Take you to him I will”&lt;br&gt;
“Strong you are in what you have learned”&lt;br&gt;
“Unexpected this is, and unfortunate”&lt;br&gt;
“Through the force see things you will”&lt;br&gt;
“Ready are you?”&lt;br&gt;
“Feel the force flow, yes”&lt;br&gt;
うーむ。うむ。&lt;br&gt;
思わずヨーダのまねをして、声に出してしまいそうです。&lt;/p&gt;
&lt;p&gt;こうやって、ヨーダのせりふを並べてみると（論文より抜き出してみると、、&lt;br&gt;
統一感のある言語世界があるように感じます。&lt;br&gt;
言語まで新たに構築してしまうとは。&lt;br&gt;
まさにSFの真髄。&lt;/p&gt;</description></item><item><title>泣く。 思い出に残る食事。</title><link>https://maaash.jp/2005/04/%E6%B3%A3%E3%81%8F%E3%80%82-%E6%80%9D%E3%81%84%E5%87%BA%E3%81%AB%E6%AE%8B%E3%82%8B%E9%A3%9F%E4%BA%8B%E3%80%82/</link><pubDate>Sun, 03 Apr 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/04/%E6%B3%A3%E3%81%8F%E3%80%82-%E6%80%9D%E3%81%84%E5%87%BA%E3%81%AB%E6%AE%8B%E3%82%8B%E9%A3%9F%E4%BA%8B%E3%80%82/</guid><description>&lt;p&gt;思い出に残る食事。読みました。&lt;/p&gt;
&lt;p&gt;よかった。&lt;br&gt;
安心した。&lt;/p&gt;
&lt;p&gt;前半に、「せつない思い出」の章があって、死にまつわる食事の思い出が多い。&lt;br&gt;
そりゃ泣くよ。と。&lt;/p&gt;
&lt;p&gt;死を題材にして、人を泣かそうとする話は嫌いです。&lt;/p&gt;
&lt;p&gt;一話に一つの死が描かれていて、重たくて泣きそうで頭痛くて読んでるのも辛いんだけれど、、&lt;br&gt;
読み進むと、&lt;br&gt;
「あったかい思い出」と「なつかしい思い出」の章に入る。&lt;/p&gt;
&lt;p&gt;よかった1つ目。&lt;br&gt;
「あったかい」、「なつかしい」の方でも泣けた。&lt;br&gt;
自分に安心。&lt;/p&gt;
&lt;p&gt;よかった2つ目。&lt;br&gt;
「あったかい」、「なつかしい」を合わせたページ数の方が「せつない」より多かった。&lt;br&gt;
編集者、投稿者に万歳。&lt;/p&gt;
&lt;p&gt;こっちの涙の方が断然気持ちいい。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4901784226/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4901784226/masaishere-22']);"&gt;&lt;img src="https://images-jp.amazon.com/images/P/4901784226.09.LZZZZZZZ.jpg" /&gt;&lt;br /&gt;思い出に残る食事&lt;/a&gt;&lt;/p&gt;</description></item><item><title>てつそん2005 ＿＿memo</title><link>https://maaash.jp/2005/03/%E3%81%A6%E3%81%A4%E3%81%9D%E3%82%932005-%EF%BC%BF%EF%BC%BFmemo/</link><pubDate>Wed, 30 Mar 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/03/%E3%81%A6%E3%81%A4%E3%81%9D%E3%82%932005-%EF%BC%BF%EF%BC%BFmemo/</guid><description>&lt;p&gt;ずいぶん前になりますが、&lt;br /&gt;
ひさびさに感動したイベントがありましたのでmemo.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.tetsuson.org/"&gt;&lt;img src="https://www.tetsuson.org/img/header.gif"/&gt;&lt;br /&gt;
てつそん&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;てつそんとは、日本全国のデザイン・芸術系の学生が有志で集まり、学生生活の集大成である卒業制作を合同で展示するという史上最大の卒業制作展です。&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;卒業展示&lt;br /&gt;
そつてん&lt;br /&gt;
てつそん&lt;br /&gt;
。&lt;/p&gt;
&lt;p&gt;森美術館でたまにやる展示会なんて及ばない、名作の密度。&lt;br /&gt;
濃い。&lt;/p&gt;
&lt;p&gt;若さからだろうか。&lt;br /&gt;
お金を払ってでも見てもらいたい、意思のおかげだろうか。&lt;br /&gt;
お金も使いようで素敵なフィルターになるものですね。&lt;/p&gt;
&lt;p&gt;広く、広く。彼らの前に開かれた未来を感じた。&lt;br /&gt;
where is mine?&lt;/p&gt;
&lt;p&gt;来年もぜひ。&lt;/p&gt;</description></item><item><title>アイマイ・イングリッシュ　ご紹介</title><link>https://maaash.jp/2005/03/%E3%82%A2%E3%82%A4%E3%83%9E%E3%82%A4%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%B0%E3%83%AA%E3%83%83%E3%82%B7%E3%83%A5%E3%80%80%E3%81%94%E7%B4%B9%E4%BB%8B/</link><pubDate>Sat, 05 Mar 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/03/%E3%82%A2%E3%82%A4%E3%83%9E%E3%82%A4%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%B0%E3%83%AA%E3%83%83%E3%82%B7%E3%83%A5%E3%80%80%E3%81%94%E7%B4%B9%E4%BB%8B/</guid><description>&lt;p&gt;知人が本を出しました。&lt;br&gt;
ご紹介です。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4478980691/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4478980691/masaishere-22']);"&gt;アイマイ・イングリッシュ これは使える!&lt;br /&gt;アイマイ・イングリッシュ研究会 (著), 大友 早苗 (編集)&lt;br /&gt;&lt;img src="https://images-jp.amazon.com/images/P/4478980691.09.MZZZZZZZ.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;漫画を通して英語を覚える。&lt;br&gt;
いいコンセプトだと思う。&lt;/p&gt;
&lt;p&gt;海外生活で英語を身につけた自分は、&lt;br&gt;
”どうすれば英語ができるようになるかな～？”&lt;br&gt;
に対して、&lt;br&gt;
”英語圏へ行ったらいいよ。あっという間さ。”&lt;br&gt;
と適当（両方の意味で）に答えるのですが、&lt;br&gt;
なんで英語圏で生活すれば英語ができるようになるんだろう？&lt;/p&gt;
&lt;p&gt;もちろん周り全員英語話すから接触する機会が増えるのだけれど、&lt;br&gt;
思ったのは。&lt;/p&gt;
&lt;p&gt;自分が渦中にいる海外生活では、感情の起伏とともに英語を使うのです。&lt;br&gt;
喜怒哀楽が大きな意味を持ってるのです。&lt;br&gt;
脳みそに深く刻み込まれやすい、と思うのです。&lt;br&gt;
だからこそ、現地で学ぶのは意味があるんじゃないかと思うのです。&lt;/p&gt;
&lt;p&gt;期待以上に生きた英語が身につく。&lt;br&gt;
気がします。&lt;/p&gt;
&lt;p&gt;よろしければ。&lt;/p&gt;</description></item><item><title>アイマイ・イングリッシュ　デザイナーさん発見</title><link>https://maaash.jp/2005/03/%E3%82%A2%E3%82%A4%E3%83%9E%E3%82%A4%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%B0%E3%83%AA%E3%83%83%E3%82%B7%E3%83%A5%E3%80%80%E3%83%87%E3%82%B6%E3%82%A4%E3%83%8A%E3%83%BC%E3%81%95%E3%82%93%E7%99%BA%E8%A6%8B/</link><pubDate>Sat, 05 Mar 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/03/%E3%82%A2%E3%82%A4%E3%83%9E%E3%82%A4%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%B0%E3%83%AA%E3%83%83%E3%82%B7%E3%83%A5%E3%80%80%E3%83%87%E3%82%B6%E3%82%A4%E3%83%8A%E3%83%BC%E3%81%95%E3%82%93%E7%99%BA%E8%A6%8B/</guid><description>&lt;p&gt;あ、デザイナーさんだ！&lt;br&gt;
&lt;a href="http://niniko.seesaa.net/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://niniko.seesaa.net/']);"&gt;にに子のにに記&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ダイヤモンド社から今日（もう昨日？）発売になった『アイマイイングリッシュ』。&lt;br&gt;
１冊まるごとやった、と言っても過言じゃないほど装丁からイラストまでごっそりやった。&lt;br&gt;
なので思い入れは充分&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;売れるといいですね。&lt;/p&gt;</description></item><item><title>15分で済ませる確定申告</title><link>https://maaash.jp/2005/02/15%E5%88%86%E3%81%A7%E6%B8%88%E3%81%BE%E3%81%9B%E3%82%8B%E7%A2%BA%E5%AE%9A%E7%94%B3%E5%91%8A/</link><pubDate>Mon, 28 Feb 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/02/15%E5%88%86%E3%81%A7%E6%B8%88%E3%81%BE%E3%81%9B%E3%82%8B%E7%A2%BA%E5%AE%9A%E7%94%B3%E5%91%8A/</guid><description>&lt;p&gt;memo.&lt;/p&gt;
&lt;p&gt;わけあって確定申告してきました。&lt;br&gt;
まだ時間がある（3/15まで）ので、これからの人にも役立つかもしれません。&lt;/p&gt;
&lt;p&gt;今回、近所の税務署に車でのりつけたのですが（駐車場ガラガラ）、&lt;br&gt;
車を降りてから、確定申告処理して車に乗るまで、&lt;br&gt;
&lt;strong&gt;15分。&lt;/strong&gt;&lt;br&gt;
我ながらこんなに早く済むとは思いませんでした。&lt;/p&gt;
&lt;p&gt;ポイントは。&lt;br&gt;
①前準備はしっかり。&lt;br&gt;
必要な書類は、忘れずに。&lt;br&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00070LPZC/masaishere-22" class="external-link" target="_blank" rel="noopener"&gt;ダイヤモンドZAi (ザイ) 03月号…&lt;br&gt;
&lt;img src="https://images-jp.amazon.com/images/P/B00070LPZC.09.LZZZZZZZ.jpg" width="100" /&gt;&lt;/a&gt;がわかりやすかったです。&lt;br&gt;
&lt;a href="http://www.nta.go.jp/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.nta.go.jp/']);"&gt;国税庁のホームページ&lt;/a&gt;はだめですね。字が多いとわかりにくいのお手本です。&lt;/p&gt;
&lt;p&gt;②日曜に行く。&lt;br&gt;
この時期だけ、日曜開けるみたいですね。&lt;br&gt;
逃さず日曜に。&lt;/p&gt;
&lt;p&gt;③閉まる直前に。&lt;br&gt;
16時50分くらいでしたでしょうか。到着したのは。&lt;br&gt;
「本日の受付は終了いたしました。」みたいのは見えないふりして入っていくと、ガラガラなのをいいことにマンツーマンで指導してもらいます。というかほとんど作ってもらいます。&lt;br&gt;
必要書類をばっと机に広げると、これはここ、これはここ、と指で示してくれるのをただ追いかけます。&lt;br&gt;
短期記憶を駆使して次々覚えながら書きます。&lt;/p&gt;
&lt;p&gt;④確認&lt;br&gt;
言いなりは怖いので、変なとこに書いてないか、確認します。&lt;/p&gt;
&lt;p&gt;15分ですね。&lt;/p&gt;</description></item><item><title>タップダンス</title><link>https://maaash.jp/2005/02/%E3%82%BF%E3%83%83%E3%83%97%E3%83%80%E3%83%B3%E3%82%B9/</link><pubDate>Wed, 23 Feb 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/02/%E3%82%BF%E3%83%83%E3%83%97%E3%83%80%E3%83%B3%E3%82%B9/</guid><description>&lt;p&gt;やばい。&lt;br&gt;
はまりそう。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://tap.chappi-jp.com/n2b.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://tap.chappi-jp.com/n2b.htm']);"&gt;高橋甲のタップダンス&lt;/a&gt;&lt;br&gt;
↑ このサイトで動画をどうぞ。&lt;/p&gt;
&lt;p&gt;ここにもムショウに行きたい。。&lt;br&gt;
&lt;a href="http://asutea35.hp.infoseek.co.jp/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://asutea35.hp.infoseek.co.jp/']);"&gt;あすてあ珈琲&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ご来店の際、「タップダンスをひとつ」とご注文下さるとその場で生のタップダンスを観ることができます。&lt;br&gt;
お気軽にご注文ください&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;” I don’t drink coffee I take tea my dear”♪ な自分でも、行きたくなってしまうコーヒー屋です。&lt;/p&gt;</description></item><item><title>BMemo ToDo</title><link>https://maaash.jp/2005/02/bmemo-todo/</link><pubDate>Sun, 20 Feb 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/02/bmemo-todo/</guid><description>&lt;p&gt;BMemoについて、いくつか要望をいただいています。&lt;br&gt;
ありがとうございます！&lt;/p&gt;
&lt;p&gt;今後のToDoです。（優先順位の上位から&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;FireFox対応&lt;br&gt;
FireFoxからも、右クリック → webページ取込 したいですよね。&lt;br&gt;
これは要望多いのでやります。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ローカル検索エンジン対応&lt;br&gt;
&lt;a href="http://desktop.google.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://desktop.google.com/']);"&gt;Google Desktop Search&lt;/a&gt; や &lt;a href="http://desktop.yahoo.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://desktop.yahoo.com/']);"&gt;Yahoo Desktop Search&lt;/a&gt;&lt;br&gt;
出てきてますね。私も使ってます。&lt;br&gt;
主流になること必至なのですが、いつも使ってるbeckyのメールが引っかからないのは痛いです。&lt;br&gt;
要望来て無いんですが…&lt;br&gt;
自分が一番欲しいのはこれです。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;これらができた頃に正式版にしましょうか。&lt;br&gt;
乞うご期待。&lt;/p&gt;
&lt;p&gt;ご意見続けてお待ちしております！&lt;/p&gt;</description></item><item><title>偉大なるバター</title><link>https://maaash.jp/2005/02/%E5%81%89%E5%A4%A7%E3%81%AA%E3%82%8B%E3%83%90%E3%82%BF%E3%83%BC/</link><pubDate>Sun, 20 Feb 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/02/%E5%81%89%E5%A4%A7%E3%81%AA%E3%82%8B%E3%83%90%E3%82%BF%E3%83%BC/</guid><description>&lt;p&gt;バターは偉大です。&lt;/p&gt;
&lt;p&gt;最近はまっているのは、&lt;br&gt;
なんでもかんでもバターの力でほくほくうまうまにしてしまおう。&lt;br&gt;
です。&lt;/p&gt;
&lt;p&gt;簡単シンプル、かつ素材のうまさを引き出す。&lt;br&gt;
これ、男の料理。&lt;/p&gt;
&lt;img alt="butter.jpg" src="https://slightlyblue.com/blog/images/butter.jpg" width="300" border="0" /&gt;</description></item><item><title>今日のいい話③ 三行ラブレターの寸評ファン</title><link>https://maaash.jp/2005/02/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%84%E3%81%84%E8%A9%B1%E2%91%A2-%E4%B8%89%E8%A1%8C%E3%83%A9%E3%83%96%E3%83%AC%E3%82%BF%E3%83%BC%E3%81%AE%E5%AF%B8%E8%A9%95%E3%83%95%E3%82%A1%E3%83%B3/</link><pubDate>Fri, 18 Feb 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/02/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%84%E3%81%84%E8%A9%B1%E2%91%A2-%E4%B8%89%E8%A1%8C%E3%83%A9%E3%83%96%E3%83%AC%E3%82%BF%E3%83%BC%E3%81%AE%E5%AF%B8%E8%A9%95%E3%83%95%E3%82%A1%E3%83%B3/</guid><description>&lt;p&gt;今日は、&lt;a href="http://www.kentei.co.jp/bunken/event/index.html " onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.kentei.co.jp/bunken/event/index.html']);"&gt;「心に響く三行ラブレター」&lt;/a&gt;です。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2004/02/0_323.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2004/02/0_323.html']);"&gt;去年もそうでしたが、、&lt;/a&gt;寸評がいいです！&lt;br&gt;
穏やかで、優しい言葉です。&lt;br&gt;
ファンです。&lt;/p&gt;
&lt;p&gt;自分の心に響いたのは、、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;妻よ、誤解するなかれ。&lt;br&gt;
愛情は、冷めたのではない。&lt;br&gt;
固まったのである。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;うちの&lt;a href="http://mxg.s54.xrea.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxg.s54.xrea.com/']);"&gt;topの名言&lt;/a&gt;にも多くある（Reload：F5するといろんな名言が出てきます。）ように、&lt;br&gt;
結婚を人生の終点、にたとえるような名言は多いものの、&lt;br&gt;
positiveに捉えてる偉人の言葉ってあんまり残ってないんですよね。（もしくは印象に残らなかったか…&lt;/p&gt;
&lt;p&gt;読んでて泣きそうになります。&lt;br&gt;
表現しないと、ね。&lt;/p&gt;</description></item><item><title>今日のいい話②　～クメール伝統織物研究所/森本喜久男</title><link>https://maaash.jp/2005/02/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%84%E3%81%84%E8%A9%B1%E2%91%A1%E3%80%80%EF%BD%9E%E3%82%AF%E3%83%A1%E3%83%BC%E3%83%AB%E4%BC%9D%E7%B5%B1%E7%B9%94%E7%89%A9%E7%A0%94%E7%A9%B6%E6%89%80%E6%A3%AE%E6%9C%AC/</link><pubDate>Sun, 13 Feb 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/02/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%84%E3%81%84%E8%A9%B1%E2%91%A1%E3%80%80%EF%BD%9E%E3%82%AF%E3%83%A1%E3%83%BC%E3%83%AB%E4%BC%9D%E7%B5%B1%E7%B9%94%E7%89%A9%E7%A0%94%E7%A9%B6%E6%89%80%E6%A3%AE%E6%9C%AC/</guid><description>&lt;p&gt;うちにはテレビがありませんが、&lt;br&gt;
たまに見て当たりを引くのはうれしいです。&lt;/p&gt;
&lt;p&gt;今日は、NHKBS2で再放送だった、&lt;br&gt;
「遠くにありてにっぽん人&lt;br&gt;
甦る黄金のかすり　～カンボジア・森本喜久男～」&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;アンコール遺跡群で知られるカンボジア・シェムリアップの街。この地で、カンボジアの伝統織物「クメール絣」を甦らせようと奮闘する日本人がいる。京都の友禅職人だった森本喜久男さん、５６歳。かすり復興にかける情熱や、地元の人々との交流を描く&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://www.esprit-libre.org/iktt/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.esprit-libre.org/iktt/']);"&gt;クメール伝統織物研究所&lt;/a&gt;の森本喜久男（&lt;a href="http://iktt.esprit-libre.org/en/contents/cat_about_iktt.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://iktt.esprit-libre.org/en/contents/cat_about_iktt.php']);"&gt;Morimoto, Kikuo Biography&lt;/a&gt;）。&lt;br&gt;
&lt;a href="http://www.iktt.org/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.iktt.org/']);"&gt;IKTT Japanも。&lt;/a&gt;&lt;br&gt;
なかなかその熱意や、彼自身の仕事ややりたいことを語るときの表情、映像から自分が受け取った好印象、をこのwebが伝え切れていないのが非常に残念ですが、&lt;br&gt;
書かれている情報を言葉どおり受け取ると、ものすごいことを、しっかりとした思想のもとに、していることが理解できるはずです。&lt;/p&gt;
&lt;p&gt;本人、そこまでを自分の目的と捉えている訳ではないと思うが、&lt;br&gt;
経済活動としてもおもしろい。&lt;br&gt;
&lt;a href="http://www.iktt.org/Paper.pdf" onclick="javascript:_gaq.push(['_trackEvent','download','http://www.iktt.org/Paper.pdf']);"&gt;昨年７月にＩＫＴＴで研修生１００人への対面アンケートを行った水野馨生里さんの論文「カンボジアにおけるコミュニティビジネスの可能性」&lt;/a&gt;&lt;br&gt;
個人のできることって、大きいんですね。&lt;/p&gt;
&lt;p&gt;惜しいのは、彼に強いリーダーシップを感じるし、素晴らしいものをつくっている（ように感じる、実際にモノを見ていないので..）のに、自転車操業らしいということ。。&lt;br&gt;
マーケティングの才がある方の助力をあげたいなぁ。&lt;/p&gt;
&lt;p&gt;自分ができるのは、このblogに書く程度。&lt;br&gt;
再々放送があれば是非。&lt;/p&gt;</description></item><item><title>［こつ］ 鉄板焼き系の油、温度使いについて</title><link>https://maaash.jp/2005/02/%EF%BC%BB%E3%81%93%E3%81%A4%EF%BC%BD-%E9%89%84%E6%9D%BF%E7%84%BC%E3%81%8D%E7%B3%BB%E3%81%AE%E6%B2%B9%E3%80%81%E6%B8%A9%E5%BA%A6%E4%BD%BF%E3%81%84%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</link><pubDate>Fri, 11 Feb 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/02/%EF%BC%BB%E3%81%93%E3%81%A4%EF%BC%BD-%E9%89%84%E6%9D%BF%E7%84%BC%E3%81%8D%E7%B3%BB%E3%81%AE%E6%B2%B9%E3%80%81%E6%B8%A9%E5%BA%A6%E4%BD%BF%E3%81%84%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</guid><description>&lt;p&gt;お好み焼き大好きです。&lt;br&gt;
なのに今までうまく作れませんでした。&lt;br&gt;
なんだか変に鉄板に焦げ付いたり、してしまうのでした。&lt;/p&gt;
&lt;p&gt;本日も、悲惨なナニカができあがった後、幾度かの練習の末、&lt;br&gt;
油の引き方、鉄板の温度が大事だってことにいまさらながら気づきました。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.geocities.jp/bokuookokomo/takoyaki5.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.geocities.jp/bokuookokomo/takoyaki5.htm']);"&gt;1. 油通し&lt;/a&gt;&lt;br&gt;
これ、大事です。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;１．まず、鉄板を良く熱し、たっぷりと油を塗り、火を止めます。&lt;br&gt;
　　　（穴だけじゃなく、ふちも大事なので、まんべんなく塗ってね。）&lt;br&gt;
　２．ティッシュなどでよく油を拭き取ります。&lt;br&gt;
　　　（ティッシュは割り箸で持ってね。火傷するよ。）&lt;/p&gt;
&lt;p&gt;　　　この作業を何回かすると、鉄板が馴染んで焦げ付きにくくなります。&lt;br&gt;
　　　また、前回使ったときの汚れも、一度熱してから油を塗ることで、&lt;br&gt;
　　　浮き上がってくるので、苦みなどの原因の汚れも取れて、一石二鳥です。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;やってみると、&lt;br&gt;
”鉄板に馴染む”というよくわからないたとえに説得力が出るような光景です。&lt;br&gt;
鉄の隙間隙間に油が入る込むのかもしれません。&lt;/p&gt;
&lt;p&gt;なんだか懐かしい、鉄板のにおい、がしてきます。&lt;/p&gt;
&lt;p&gt;次に、鉄板の温度です。&lt;br&gt;
&lt;a href="http://www.basket.co.jp/recipe/recipe_200005.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.basket.co.jp/recipe/recipe_200005.html']);"&gt;お好み焼きのレシピ&lt;/a&gt;には、よく、、&lt;br&gt;
”160～170℃まであたためた鉄板に”&lt;br&gt;
なんて書いてあるのですが、&lt;br&gt;
”強火、中火、弱火”はわかるけど温度計ったことなんかないよ！&lt;br&gt;
ということでよくわからず&lt;br&gt;
とりあえず慎重に弱火で取り掛かったりするわけです（失敗）。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ohtaya.com/t000/t073.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ohtaya.com/t000/t073.htm']);"&gt;調べてみる&lt;/a&gt;と、（一部のみ抜粋）&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;・高　温－180～220度　青い煙が出てお玉でかき混ぜるとはじける音がする&lt;br&gt;
・中　温－110～170度　青い煙が少し出て周りから中心に湧き上 る&lt;br&gt;
・低　温ー70～100度　煙の出なく音もなく、表面は静か&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;うむ。&lt;/p&gt;</description></item><item><title>BMemo v0.20 お試し版 公開</title><link>https://maaash.jp/2005/02/bmemo-v020-%E3%81%8A%E8%A9%A6%E3%81%97%E7%89%88-%E5%85%AC%E9%96%8B/</link><pubDate>Tue, 08 Feb 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/02/bmemo-v020-%E3%81%8A%E8%A9%A6%E3%81%97%E7%89%88-%E5%85%AC%E9%96%8B/</guid><description>&lt;p&gt;BMemo V0.20 お試し版 公開です。&lt;/p&gt;
&lt;p&gt;ダウンロードはこちらから ↓&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2006/06/bmemo_download_1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/06/bmemo_download_1.html']);"&gt;BMemo v0.20 Download&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;v0.20 から、以下の新機能が追加されました！&lt;br&gt;
テキストエディタのようにメールを編集する、直接編集メール機能。&lt;/p&gt;
&lt;p&gt;まぁよくわからないと思うので、スクリーンショットをどうぞ！&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/bmemo020ss.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/bmemo020ss.jpg']);"&gt;クリックすると大きくなります。&lt;img alt="bmemo020ss.jpg" src="https://slightlyblue.com/blog/images/bmemo020ss.jpg" width="450" height="300" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;こんなふうに、メールをテキストエディタのように使えます！（もともとBecky!に一部ついてる機能ですが…&lt;br&gt;
それでいて、フツーのメールはフツーに閲覧できるので、使い勝手はそのまま。&lt;/p&gt;
&lt;p&gt;これで、Becky! と BMEMO だけで仕事ができそうですね。（ほんとに。&lt;/p&gt;
&lt;p&gt;お試しください。&lt;/p&gt;</description></item><item><title>今日のいい話①　～エルトゥールル号の遭難</title><link>https://maaash.jp/2005/02/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%84%E3%81%84%E8%A9%B1%E2%91%A0%E3%80%80%EF%BD%9E%E3%82%A8%E3%83%AB%E3%83%88%E3%82%A5%E3%83%BC%E3%83%AB%E3%83%AB%E5%8F%B7%E3%81%AE%E9%81%AD%E9%9B%A3/</link><pubDate>Sun, 06 Feb 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/02/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%84%E3%81%84%E8%A9%B1%E2%91%A0%E3%80%80%EF%BD%9E%E3%82%A8%E3%83%AB%E3%83%88%E3%82%A5%E3%83%BC%E3%83%AB%E3%83%AB%E5%8F%B7%E3%81%AE%E9%81%AD%E9%9B%A3/</guid><description>&lt;p&gt;今日のいい話①。&lt;/p&gt;
&lt;p&gt;シリーズ化します。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://www.locopoint.net/love_peace/ertugrul.html" class="external-link" target="_blank" rel="noopener"&gt;海にまつわるちょっと良い話&lt;br&gt;
「エルトゥールル号の遭難」&lt;br&gt;
～生命の光から～&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;出展元。&lt;br&gt;
&lt;a href="http://www.peace2001.org/gpc/gpc_mn/gpc_mn_bn10.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.peace2001.org/gpc/gpc_mn/gpc_mn_bn10.html']);"&gt;OPEN-J BOOMERANG77【小さな歴史の物語】 10月4日&lt;/a&gt;&lt;/p&gt;</description></item><item><title>G-CANS PROJECT 首都圏外郭放水路 __memo</title><link>https://maaash.jp/2005/01/g-cans-project-%E9%A6%96%E9%83%BD%E5%9C%8F%E5%A4%96%E9%83%AD%E6%94%BE%E6%B0%B4%E8%B7%AF-__memo/</link><pubDate>Sat, 22 Jan 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/01/g-cans-project-%E9%A6%96%E9%83%BD%E5%9C%8F%E5%A4%96%E9%83%AD%E6%94%BE%E6%B0%B4%E8%B7%AF-__memo/</guid><description>&lt;p&gt;すごい！&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;G-CANS PROJECTは「外郭放水路できっと何かができる」という可能性の名称です。世界最大級の巨大洪水防御施設がある町の人々と、それを作った国の人たちがいっしょにその「新しい何か」を考えていこうというプロジェクトチームです。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;”外郭放水路”自体もすごいが、このwebサイト自体もすごい！&lt;br&gt;
なんてわかりやすいんだ！&lt;br&gt;
そうそう、こうあるべきなんだ、webサイトデザインの見本が意外なところにありました。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.g-cans.jp/g-cans/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.g-cans.jp/g-cans/index.html']);"&gt;G-CANS PROJECT&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;応援しよう！&lt;/p&gt;</description></item><item><title>感動ガーリックトースト+レシピ</title><link>https://maaash.jp/2005/01/%E6%84%9F%E5%8B%95%E3%82%AC%E3%83%BC%E3%83%AA%E3%83%83%E3%82%AF%E3%83%88%E3%83%BC%E3%82%B9%E3%83%88%E3%83%AC%E3%82%B7%E3%83%94/</link><pubDate>Sun, 16 Jan 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/01/%E6%84%9F%E5%8B%95%E3%82%AC%E3%83%BC%E3%83%AA%E3%83%83%E3%82%AF%E3%83%88%E3%83%BC%E3%82%B9%E3%83%88%E3%83%AC%E3%82%B7%E3%83%94/</guid><description>&lt;img alt="garlictoast.jpg" src="https://slightlyblue.com/blog/images/garlictoast.jpg" width="397" height="340" border="0" /&gt;
&lt;p&gt;ひさびさに、料理ねた。&lt;br&gt;
感動的においしいガーリックトーストができました。&lt;br&gt;
二日連続食べてしまいます。&lt;br&gt;
部屋に入ると空気の質が変わります。&lt;br&gt;
非ガーリック → ガーリック へと。&lt;br&gt;
うまいのでよし。&lt;/p&gt;
&lt;p&gt;参考にしたのは、&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4766204697/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4766204697/masaishere-22']);"&gt;にんにくの料理―意外なレシ…マイライフシリーズ特集版&lt;/a&gt;。&lt;br&gt;
にんにく好きにはたまらないレシピ本。&lt;br&gt;
ガーリックトースト以外も熱いです。&lt;br&gt;
それと&lt;a href="http://allabout.co.jp/gourmet/cookingabc/closeup/CU20041229A/index.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://allabout.co.jp/gourmet/cookingabc/closeup/CU20041229A/index.htm']);"&gt;allaboutのガイド記事&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;まぁ少し本から外れ我流を導入したところもあるのでこの写真のガーリックトーストをつくるためのレシピをば。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;パンは1ピース：フランスパンの1/8。まず長いフランスパンを横方向に1/2に。それを今度は縦方向に1/4に。&lt;br&gt;
一人分：2ピースくらいでしょうか。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;パンを1-2分、少し硬くなって後述のガーリックソース？を塗りやすいくらいに焼く。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;焼いてる間に、みじん切りしたにんにく、レンジやフライパンで溶かしたバター（30g）と、オリーブオイル大さじ2、塩コショウ、を混ぜておく。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;パンに塗り、今度は写真のような焼き目がつく程度まで焼く。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ガーリックトーストのとがったところからかぶりつく♪&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;visitorが少しずつ増えてきたので、少し役に立つページにしてみようかと。&lt;/p&gt;</description></item><item><title>Introduction in English about this page</title><link>https://maaash.jp/2005/01/introduction-in-english-about-this-page/</link><pubDate>Tue, 04 Jan 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/01/introduction-in-english-about-this-page/</guid><description>&lt;p&gt;For people who access from overseas, I’d like to introduce this page in English,&lt;br&gt;
cause translate engines don’t seem to understand Japanese properly. :-&amp;lt; &lt;a href="http://www.excite.co.jp/world/english/web/?wb_url=http%3A%2F%2Fmxg.s54.xrea.com%2Fbfr%2F&amp;wb_lp=JAEN&amp;wb_dis=2" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.excite.co.jp/world/english/web/?wb_url=http%3A%2F%2Fmxg.s54.xrea.com%2Fbfr%2F&amp;wb_lp=JAEN&amp;wb_dis=2']);" target="_blank"&gt; -&amp;gt; or try auto-translated pages.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.excite.co.jp/world/english/web/?wb_url=http%3A%2F%2Fmxg.s54.xrea.com%2Fbfr%2F&amp;wb_lp=JAEN&amp;wb_dis=2" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.excite.co.jp/world/english/web/?wb_url=http%3A%2F%2Fmxg.s54.xrea.com%2Fbfr%2F&amp;wb_lp=JAEN&amp;wb_dis=2']);" target="_blank"&gt;#– B.F.R.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.excite.co.jp/world/english/web/?wb_url=http%3A%2F%2Fmxg.s54.xrea.com%2Fbfr%2F&amp;wb_lp=JAEN&amp;wb_dis=2" target="_blank"&gt;B.F.R. is a plugin for Becky Mail Client, which has functions below.&lt;br /&gt; 1. Reads feed formats as RSS0.91, RSS1.0, RSS2.0, ATOM0.3, and more..&lt;br /&gt; feeds are taken into becky as a mail,&lt;br /&gt; like this&lt;br /&gt; -&amp;gt; &lt;/a&gt;&lt;a href="http://slightlyblue.com/blog/2004/06/bfr.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2004/06/bfr.html']);"&gt;screenshot1&lt;/a&gt;, &lt;a href="http://slightlyblue.com/dl/bfr/screenshot.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/dl/bfr/screenshot.jpg']);"&gt;screenshot2&lt;/a&gt;&lt;br&gt;
2. Enable to use the Filtering Function of Becky&lt;/p&gt;</description></item><item><title>帰ってきました。中国写真追加</title><link>https://maaash.jp/2005/01/%E5%B8%B0%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E4%B8%AD%E5%9B%BD%E5%86%99%E7%9C%9F%E8%BF%BD%E5%8A%A0/</link><pubDate>Sat, 01 Jan 2005 00:00:00 +0000</pubDate><guid>https://maaash.jp/2005/01/%E5%B8%B0%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E4%B8%AD%E5%9B%BD%E5%86%99%E7%9C%9F%E8%BF%BD%E5%8A%A0/</guid><description>&lt;p&gt;中国から帰ってきました。&lt;/p&gt;
&lt;p&gt;行ってきたのは、、、&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2006/06/_200412.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/06/_200412.html']);"&gt;上海、同里（上海近郊の水郷地帯。田舎。）、アモイ（＋コロンス島）、客家円楼のある”永定土楼民俗文化村”&lt;/a&gt;&lt;br&gt;
です。&lt;/p&gt;
&lt;p&gt;↑ の写真追加しました。ご覧ください。&lt;/p&gt;
&lt;p&gt;さて、日本の米を炊きますか…&lt;/p&gt;</description></item><item><title>BMemo F.A.Q. 質問等</title><link>https://maaash.jp/2004/12/bmemo-faq-%E8%B3%AA%E5%95%8F%E7%AD%89/</link><pubDate>Wed, 22 Dec 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/12/bmemo-faq-%E8%B3%AA%E5%95%8F%E7%AD%89/</guid><description>&lt;p&gt;B.F.R.と同様に、BMemoについても質問、要望などありましたら&lt;br&gt;
どしどしお寄せください。&lt;/p&gt;
&lt;p&gt;特に、” このサイトは取り込めない！ ” なんてことがありそうです….ヽ(‘▽’)ノ&lt;br&gt;
そんなときはすぐ直します！&lt;/p&gt;</description></item><item><title>BMemo v0.10 お試し版 公開</title><link>https://maaash.jp/2004/12/bmemo-v010-%E3%81%8A%E8%A9%A6%E3%81%97%E7%89%88-%E5%85%AC%E9%96%8B/</link><pubDate>Wed, 22 Dec 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/12/bmemo-v010-%E3%81%8A%E8%A9%A6%E3%81%97%E7%89%88-%E5%85%AC%E9%96%8B/</guid><description>&lt;p&gt;BMemo V0.10 公開です。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2004/09/2_1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2004/09/2_1.html']);"&gt;ここでちょろっと&lt;/a&gt;書きましたが、少し固まったので。&lt;/p&gt;
&lt;p&gt;# 旅行前に公開しちゃいます！&lt;br&gt;
# どうぞお試しください！&lt;br&gt;
# スクリーンショットはこちら！↓&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2004/12/web_1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2004/12/web_1.html']);"&gt;BMemo スクリーンショット&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ダウンロードはこちらから ↓&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2006/06/bmemo_download_1.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2006/06/bmemo_download_1.html']);"&gt;BMemo Download&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;一文で言うと、&lt;br&gt;
BMemoは、IEベースのブラウザから、&lt;br&gt;
選択範囲orページ全体をHTMLメールとして&lt;br&gt;
Becky!に取り込むMemoツールです。&lt;/p&gt;
&lt;p&gt;右クリックに、”BMemoへ取り込む(&amp;amp;B)”&lt;br&gt;
というメニューが出てきますので、それをクリックしてやると、&lt;br&gt;
Becky!の指定フォルダにHTMLメールとして保存されます。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2005/08/bfr_download.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/08/bfr_download.html']);"&gt;BFR&lt;/a&gt;と同様に、&lt;br&gt;
予めどのフォルダにwebページを取り込むか、&lt;br&gt;
設定しておきます。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.kamilabo.jp/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.kamilabo.jp/']);"&gt;紙&lt;/a&gt;、というソフトがありますが、その機能の一部を&lt;br&gt;
Becky!に転用したようなものです。&lt;/p&gt;
&lt;p&gt;お試し版、お試しください。&lt;/p&gt;</description></item><item><title>BMemo お試し版公開</title><link>https://maaash.jp/2004/12/bmemo-%E3%81%8A%E8%A9%A6%E3%81%97%E7%89%88%E5%85%AC%E9%96%8B/</link><pubDate>Wed, 22 Dec 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/12/bmemo-%E3%81%8A%E8%A9%A6%E3%81%97%E7%89%88%E5%85%AC%E9%96%8B/</guid><description>&lt;p&gt;旅行前に、大急ぎで公開してしまいます！&lt;/p&gt;
&lt;p&gt;お試しください。。&lt;/p&gt;
&lt;p&gt;こちらで ↓&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2004/12/bmemo.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2004/12/bmemo.html']);"&gt;BMemo v0.10 お試し版 公開&lt;/a&gt;&lt;/p&gt;</description></item><item><title>web取込機能 スクリーンショット</title><link>https://maaash.jp/2004/12/web%E5%8F%96%E8%BE%BC%E6%A9%9F%E8%83%BD-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</link><pubDate>Wed, 22 Dec 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/12/web%E5%8F%96%E8%BE%BC%E6%A9%9F%E8%83%BD-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</guid><description>&lt;p&gt;BMemo を使うと、こんなことができます！&lt;/p&gt;
&lt;p&gt;うちのblogをブラウザで表示しながら、&lt;br&gt;
右クリック….&lt;/p&gt;
&lt;img alt="bmemo_screenshot4.jpg" src="https://slightlyblue.com/blog/images/bmemo_screenshot4.jpg" width="919" height="692" border="0" /&gt;
&lt;p&gt;取り込むと….&lt;/p&gt;
&lt;img alt="bmemo_screenshot.jpg" src="https://slightlyblue.com/blog/images/bmemo_screenshot.jpg" width="864" height="736" border="0" /&gt;
&lt;p&gt;Google を取り込むと…&lt;br&gt;
さらにBecky! 上で Google を取り込んだHTMLメールに ” BMemo ”&lt;br&gt;
なんて入力してみると….&lt;/p&gt;
&lt;p&gt;” Google検索 ” を押してみると….&lt;br&gt;
ブラウザが立ち上がって…&lt;/p&gt;
&lt;p&gt;こんな調子です。&lt;/p&gt;</description></item><item><title>上海とアモイ</title><link>https://maaash.jp/2004/12/%E4%B8%8A%E6%B5%B7%E3%81%A8%E3%82%A2%E3%83%A2%E3%82%A4/</link><pubDate>Mon, 13 Dec 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/12/%E4%B8%8A%E6%B5%B7%E3%81%A8%E3%82%A2%E3%83%A2%E3%82%A4/</guid><description>&lt;p&gt;上海とアモイへ遊びに行くことになりました。&lt;/p&gt;
&lt;p&gt;目的は、&lt;br&gt;
中国の勢いを感じること、&lt;br&gt;
客家円楼宿泊、&lt;br&gt;
本場の中華料理。&lt;/p&gt;
&lt;p&gt;おすすめの遊び方、&lt;br&gt;
上海は変わる！っていうけれど私はいけない、今年はどう？、&lt;br&gt;
このシェフの腕は一番！、&lt;br&gt;
この宿はくさくないし安い、&lt;br&gt;
等お待ちしております。&lt;/p&gt;</description></item><item><title>B.F.R. 更新履歴 V1.05</title><link>https://maaash.jp/2004/12/bfr-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-v105/</link><pubDate>Sun, 12 Dec 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/12/bfr-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-v105/</guid><description>&lt;p&gt;&lt;a href="http://mxg.s54.xrea.com/bfr/archives/000206.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxg.s54.xrea.com/bfr/archives/000206.html']);"&gt;ダウンロードはこちら。&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご要望にお応えし、設定ダイアログのウィンドウサイズ変更に対応いたしました。&lt;/p&gt;</description></item><item><title>B.F.R. 更新履歴 V1.04</title><link>https://maaash.jp/2004/11/bfr-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-v104/</link><pubDate>Sun, 28 Nov 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/11/bfr-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-v104/</guid><description>&lt;p&gt;&lt;a href="http://mxg.s54.xrea.com/bfr/archives/000206.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxg.s54.xrea.com/bfr/archives/000206.html']);"&gt;ダウンロードはこちら。&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Excite Blog対応しました。&lt;/p&gt;
&lt;p&gt;rss/atom等のxmlファイルの頭の方に、&lt;br&gt;
ファイル全体の更新日時を表す（と思い込んでいる）日時情報があるのです。&lt;/p&gt;
&lt;p&gt;BFR（V1.03まで）では、それを見て、前回取得した日時よりも新しければ、&lt;br&gt;
中身の記事それぞれの更新日時情報を見ていたのですが、&lt;br&gt;
exciteのやつはそれが最新の記事よりも古かったりするんですね。&lt;/p&gt;
&lt;p&gt;いろいろあるものです。。&lt;br&gt;
ちゃんと仕様を見るべきか！とも思うけれど、&lt;br&gt;
仕様を満たしていないサイトがあるからって&lt;br&gt;
取得できないfeedがあるのも困り者ですし。&lt;/p&gt;
&lt;p&gt;そうやってこのいい加減な姿勢を正当化するものです。&lt;/p&gt;</description></item><item><title>log kitchen サントリナ</title><link>https://maaash.jp/2004/11/log-kitchen-%E3%82%B5%E3%83%B3%E3%83%88%E3%83%AA%E3%83%8A/</link><pubDate>Sun, 21 Nov 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/11/log-kitchen-%E3%82%B5%E3%83%B3%E3%83%88%E3%83%AA%E3%83%8A/</guid><description>&lt;p&gt;大満足だったレストランのうち、立地がいまいちだったり、味やレストラン自身に求める魅力以外のなにかに欠けるために、もうかってなさそうな店をご紹介。&lt;/p&gt;
&lt;p&gt;誰かがこれを見て、なにかの機会に立ち寄ったりして。&lt;br&gt;
そんなことが積み重なって、自分のお気に入りの店の存続を助けになったりして。&lt;/p&gt;
&lt;p&gt;Log Kitchen サントリナ&lt;/p&gt;
&lt;p&gt;自作っぽいログハウスのレストラン。&lt;br&gt;
スモーク最高だった。&lt;/p&gt;
&lt;p&gt;営業時間：ＡＭ１１：００～ＰＭ９：００&lt;br&gt;
定休日：月曜、第３火曜日&lt;br&gt;
お問い合わせ：茨城県東茨城郡御前山村野田３９５－１&lt;br&gt;
TEL 02955-5-3141（この3行は&lt;a href="http://www.akina.ne.jp/~shu-side/side5/san/san.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.akina.ne.jp/~shu-side/side5/san/san.html']);"&gt;こちらから&lt;/a&gt;コピー&lt;br&gt;
マップコード188825057&lt;/p&gt;</description></item><item><title>B.F.R. 更新履歴 V1.03</title><link>https://maaash.jp/2004/11/bfr-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-v103/</link><pubDate>Sun, 14 Nov 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/11/bfr-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-v103/</guid><description>&lt;p&gt;UTF-8本対応しました（した気でいたんですが…&lt;/p&gt;
&lt;p&gt;C-NET、はてなのRSSがちゃんと読めるようになります（読める気でいたんですが…&lt;/p&gt;
&lt;p&gt;それと、teacup掲示板のRSSにも対応しました。&lt;/p&gt;
&lt;p&gt;そして、ソフトウェアの配布をvectorからのダウンロードのみにしました。&lt;br&gt;
さっき送っておいたので、近日リンクをこちらにのせようと思います。&lt;/p&gt;</description></item><item><title>DesignFestaと羊女の作者どこ？</title><link>https://maaash.jp/2004/11/designfesta%E3%81%A8%E7%BE%8A%E5%A5%B3%E3%81%AE%E4%BD%9C%E8%80%85%E3%81%A9%E3%81%93%EF%BC%9F/</link><pubDate>Sun, 14 Nov 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/11/designfesta%E3%81%A8%E7%BE%8A%E5%A5%B3%E3%81%AE%E4%BD%9C%E8%80%85%E3%81%A9%E3%81%93%EF%BC%9F/</guid><description>&lt;p&gt;ひさしぶりに&lt;a href="http://www.designfesta.com/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.designfesta.com/index.html']);"&gt;DesignFesta&lt;/a&gt;行ってきました。&lt;/p&gt;
&lt;p&gt;注目アーティスト&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joho-yamaguchi.or.jp/saketake/hirano.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.joho-yamaguchi.or.jp/saketake/hirano.htm']);"&gt;平野隆司さん”BIO絵COLOGY”&lt;/a&gt;&lt;br&gt;
きりんの絵葉書購入いたしました。綺麗。&lt;br&gt;
平面を塗るには4色あれば足りる。。か。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www010.upp.so-net.ne.jp/izumionoda/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www010.upp.so-net.ne.jp/izumionoda/']);"&gt;IzumiOnodaさん&lt;/a&gt;&lt;br&gt;
小さな無料のパンフレットいただいて帰ってきました。&lt;br&gt;
いいです。&lt;/p&gt;
&lt;p&gt;こんな地球儀も。&lt;br&gt;
&lt;img alt="P1000007.jpg" src="https://slightlyblue.com/blog/images/P1000007.jpg" width="240" height="320" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;一番よかったのは、A3のキャンパスに、&lt;br&gt;
羊と野球帽をかぶった女の子を混ぜ合わせたようにして描いた水彩画。&lt;br&gt;
すごく気にいって、コピーが無いというのに安く買ってきてしまいました。&lt;br&gt;
コピーをとる時間をあげたら、ちらっと見たらA4のコピー2枚をつなぎあわせたような&lt;br&gt;
展示をして（あった気がして…）、ものすごく悪いことしました。。&lt;br&gt;
この絵なんですが ↓&lt;br&gt;
&lt;img alt="P1000736.jpg" src="https://slightlyblue.com/blog/images/P1000736.jpg" width="487" height="356" border="0" /&gt;&lt;br&gt;
もし作者（または関係者）の方がこれに気づいたら、&lt;br&gt;
ちゃんとしたScan/Copyをさせてあげたいので、連絡ください。&lt;br&gt;
お願いいたします。&lt;br&gt;
C-724～728辺りにいた方です。&lt;/p&gt;</description></item><item><title>ハートマークの出し方memo</title><link>https://maaash.jp/2004/11/%E3%83%8F%E3%83%BC%E3%83%88%E3%83%9E%E3%83%BC%E3%82%AF%E3%81%AE%E5%87%BA%E3%81%97%E6%96%B9memo/</link><pubDate>Sat, 06 Nov 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/11/%E3%83%8F%E3%83%BC%E3%83%88%E3%83%9E%E3%83%BC%E3%82%AF%E3%81%AE%E5%87%BA%E3%81%97%E6%96%B9memo/</guid><description>&lt;p&gt;memo&lt;/p&gt;
&lt;p&gt;html上でハートマークを出す&lt;/p&gt;
&lt;p&gt;♥&lt;/p&gt;
&lt;p&gt;＆ｈｅａｒｔｓ；と半角でうつ。&lt;/p&gt;</description></item><item><title>否定、について。</title><link>https://maaash.jp/2004/10/%E5%90%A6%E5%AE%9A%E3%80%81%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%80%82/</link><pubDate>Sun, 31 Oct 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/10/%E5%90%A6%E5%AE%9A%E3%80%81%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%80%82/</guid><description>&lt;p&gt;否定する、ということについて。&lt;/p&gt;
&lt;p&gt;賛成、同意は繰り返すことで効果を増すが、否定は一度でよい。&lt;br&gt;
具体的に、簡潔に、一度だけ。&lt;/p&gt;
&lt;p&gt;繰り返すことで、リスナーはそこに主観の存在を感じ取る。&lt;br&gt;
主観的な否定には効果がない。&lt;br&gt;
感情移入できないからだ。&lt;br&gt;
否定しようとする点に対して同意を得られるような客観的な事実の説明がまずあるべきだと思う。&lt;/p&gt;
&lt;p&gt;否定は、その後に建設的な提案をすぐさま繰り出せるような、逆接の接続詞として使うべきだと思う。&lt;br&gt;
特に二人称の否定は。&lt;/p&gt;
&lt;p&gt;頼む。おれの上司。&lt;/p&gt;</description></item><item><title>B.F.R. reviews</title><link>https://maaash.jp/2004/10/bfr-reviews/</link><pubDate>Sun, 10 Oct 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/10/bfr-reviews/</guid><description>&lt;p&gt;インストールして使ってみる前に、無駄な努力を省きたいな、という方は、&lt;br&gt;
使っていただいている方のreviewをご覧ください。&lt;br&gt;
客観的な評価です。&lt;/p&gt;
&lt;p&gt;ただのソフト紹介でなく、著者の主観が少しでも入っているサイトのみリンクしてみました。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ringolab.com/note/daiya/archives/002246.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ringolab.com/note/daiya/archives/002246.html']);"&gt;Passion For The Future&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.zakimi.com/archives/2004/07/30/201136.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.zakimi.com/archives/2004/07/30/201136.php']);"&gt;Zakimi::Blog&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sky.taro-web.com/archives/000265.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://sky.taro-web.com/archives/000265.html']);"&gt;僕ト云フ事&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://laugh.sub.jp/archives/200408/02-1618.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://laugh.sub.jp/archives/200408/02-1618.php']);"&gt;blog:N@TURE BRAIN&lt;/a&gt;&lt;/p&gt;</description></item><item><title>B.F.R. 更新履歴 V1.02</title><link>https://maaash.jp/2004/10/bfr-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-v102/</link><pubDate>Sun, 10 Oct 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/10/bfr-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-v102/</guid><description>&lt;p&gt;初回設定時の”フォルダ設定”ダイアログをちょっとわかりやすくしました。&lt;/p&gt;
&lt;p&gt;↓ の不具合を修正いたしました。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Windows XP SP2の環境で使用すると、&lt;br&gt;
Beckyの全般的な設定→高度→プラグインから&lt;br&gt;
B.F.RプラグインをOFFにした後、上記の設定手順で&lt;br&gt;
ONにしようととすると、Beckyが落ちます。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;普通に使っていただけている方は、多分インストールの必要はありません。BFRを入れてから、なんかbecky!が落ちるぞ？というような方は入れてみてください…&lt;/p&gt;</description></item><item><title>GOOGLE次の一手はOfficeスィート！</title><link>https://maaash.jp/2004/10/google%E6%AC%A1%E3%81%AE%E4%B8%80%E6%89%8B%E3%81%AFoffice%E3%82%B9%E3%82%A3%E3%83%BC%E3%83%88%EF%BC%81/</link><pubDate>Wed, 06 Oct 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/10/google%E6%AC%A1%E3%81%AE%E4%B8%80%E6%89%8B%E3%81%AFoffice%E3%82%B9%E3%82%A3%E3%83%BC%E3%83%88%EF%BC%81/</guid><description>&lt;p&gt;ふと頭に浮かんだこと。&lt;br&gt;
興味深い内容だと思うので&lt;a href="http://blog.japan.cnet.com/watanabe/archives/001243.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://blog.japan.cnet.com/watanabe/archives/001243.html']);"&gt;CNETの関連記事（Google、PCローカルドライブへの橋頭堡）&lt;/a&gt;にTrackbackをうってみる。&lt;/p&gt;
&lt;p&gt;検索する。&lt;br&gt;
過去/既知を検索する＝デスクトップ検索（→ Longhorn/WinFS、、&lt;br&gt;
未来/未知を検索する＝web検索（→ Google、Yahoo、、、&lt;/p&gt;
&lt;p&gt;よく、上記のような分類にしたがって検索について語るのを読む。&lt;br&gt;
そして、その分類のうちの強くない側に侵食していくことで、ライバルが変わってきている、等と。&lt;br&gt;
Googleはデスクトップ検索へ進出し、Microsoftはweb検索を強化している、と。&lt;/p&gt;
&lt;p&gt;そうじゃないな。&lt;/p&gt;
&lt;p&gt;Googleは、web検索で1位。&lt;/p&gt;
&lt;p&gt;GMailでメールをweb上にもってきた。&lt;br&gt;
→ メールもwebと同様に検索できる。&lt;/p&gt;
&lt;p&gt;次の一手は、web上で完結するOfficeスィートなのでは？！&lt;br&gt;
→ 全ての情報をweb上（GoogleのStorageの中）に！&lt;br&gt;
OpenOfficeも存在しうるわけだし、MicrosoftOffice完全互換に。&lt;br&gt;
社外秘みたいな内容以外は全部どこからでもアクセスできるGoogle上に！&lt;br&gt;
まぁ置くわな。&lt;/p&gt;
&lt;p&gt;そうだったとすれば、&lt;br&gt;
GMailFSは、Google内部からやられた！？的なインパクトがあったようにも思う。&lt;/p&gt;
&lt;p&gt;最近ブラウザを開発している、なんていう噂があるが、なるほど、とうなる想像も。&lt;br&gt;
webを介してドキュメントを読み書き、ってブラウザ.. とはだいぶ遠いかぁ。。&lt;/p&gt;
&lt;p&gt;そこを見に行けば過去も未来もなんでも検索できる、という世界がやってくる、というのは当然のように思える。&lt;br&gt;
その実現方法として、卓越したローカル検索と卓越したweb検索が別々に存在するだろうか？（否&lt;/p&gt;
&lt;p&gt;Google上で全てが完結する、あるあるあるある。&lt;/p&gt;</description></item><item><title>思想2 -次回作予告-</title><link>https://maaash.jp/2004/09/%E6%80%9D%E6%83%B32-%E6%AC%A1%E5%9B%9E%E4%BD%9C%E4%BA%88%E5%91%8A/</link><pubDate>Wed, 29 Sep 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/09/%E6%80%9D%E6%83%B32-%E6%AC%A1%E5%9B%9E%E4%BD%9C%E4%BA%88%E5%91%8A/</guid><description>&lt;p&gt;そろそろ、次回作が出そうです。&lt;/p&gt;
&lt;p&gt;そう、自分はPCの”記憶の補助機械”機能を最重要視している、というのは前回の&lt;a href="http://mxg.s54.xrea.com/bfr/archives/000213.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxg.s54.xrea.com/bfr/archives/000213.html']);"&gt;”思想”&lt;/a&gt;で書きました。&lt;/p&gt;
&lt;p&gt;統合と分化と、BeckyFeedReaderPluginによって、 PCへの入力 はおおざっぱに↓みたいなイメージになりました。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;メーラー ： 主に文字情報（メール、RSS/ATOM等Feed）の入力を受け付け、ためる&lt;/li&gt;
&lt;li&gt;ブラウザ ： 絵としての情報のビューア（web）&lt;br&gt;
（3. 外部記憶メディア ： CD/SD/DVD）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ところが、2. ブラウザ はそれ自身記憶する機能はほとんど持ち合わせていません（現状、基本的には）。&lt;/p&gt;
&lt;p&gt;そこで、”&lt;a href="http://www.ki.rim.or.jp/~kami/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ki.rim.or.jp/~kami/']);"&gt;紙&lt;/a&gt;” などを使ってブラウザの記憶機能を補完してます。&lt;/p&gt;
&lt;p&gt;ところで、記憶するのは、もちろん後から引き出すためです。&lt;br&gt;
検索して。&lt;/p&gt;
&lt;p&gt;記憶する場所が増えると、求める検索結果を得るまでに時間がかかります。&lt;br&gt;
要するに、”紙” と ”becky” に分かれた形で記憶が残るのはちょっと使い勝手悪いです。。&lt;/p&gt;
&lt;p&gt;よね？？&lt;/p&gt;</description></item><item><title>ねぎチャーハン</title><link>https://maaash.jp/2004/09/%E3%81%AD%E3%81%8E%E3%83%81%E3%83%A3%E3%83%BC%E3%83%8F%E3%83%B3/</link><pubDate>Sat, 18 Sep 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/09/%E3%81%AD%E3%81%8E%E3%83%81%E3%83%A3%E3%83%BC%E3%83%8F%E3%83%B3/</guid><description>&lt;img alt="040918.jpg" src="https://slightlyblue.com/blog/images/040918.jpg" width="150" border="0" /&gt;
&lt;p&gt;なんていうことはないねぎチャーハンです。&lt;/p&gt;
&lt;p&gt;米の色付きがまばら？？（ご愛嬌&lt;/p&gt;</description></item><item><title>宇宙好き、子供好き</title><link>https://maaash.jp/2004/09/%E5%AE%87%E5%AE%99%E5%A5%BD%E3%81%8D%E3%80%81%E5%AD%90%E4%BE%9B%E5%A5%BD%E3%81%8D/</link><pubDate>Sat, 18 Sep 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/09/%E5%AE%87%E5%AE%99%E5%A5%BD%E3%81%8D%E3%80%81%E5%AD%90%E4%BE%9B%E5%A5%BD%E3%81%8D/</guid><description>&lt;p&gt;心温まるページを紹介、メモ。&lt;/p&gt;
&lt;p&gt;平成16年「宇宙の日」記念行事&lt;br&gt;
全国小・中学生作文絵画コンテスト&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spaceinfo.jaxa.jp/gallery/contest_2004/bun_index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://spaceinfo.jaxa.jp/gallery/contest_2004/bun_index.html']);"&gt;作文のページ&lt;/a&gt;&lt;br&gt;
&lt;a href="http://spaceinfo.jaxa.jp/gallery/contest_2004/kaiga_index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://spaceinfo.jaxa.jp/gallery/contest_2004/kaiga_index.html']);"&gt;絵画のページ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;子供っていろんな色もってるね～、こんな色トリドリの絵を今描けるだろうか。&lt;/p&gt;</description></item><item><title>readme.txt / BFR.txt</title><link>https://maaash.jp/2004/09/readmetxt-bfrtxt/</link><pubDate>Wed, 15 Sep 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/09/readmetxt-bfrtxt/</guid><description>&lt;p&gt;readme.txt みたいなものとして作った BFR.ｔｘｔ の内容を転載しておきます。。&lt;br&gt;
2004/09/18 わかりにくいところ修正してあります…&lt;/p&gt;
&lt;p&gt;B.F.R. -Becky Feed Reader plugin V1.01- をダウンロードありがとうございます。&lt;/p&gt;
&lt;p&gt;# — 1. インストールの仕方&lt;/p&gt;
&lt;p&gt;1-1. 解凍後にできたフォルダ（このreadme.txtが入っているフォルダ）の中身を&lt;br&gt;
そっくりbecky!のPlugInsフォルダにコピー＆ペーストすればok!&lt;/p&gt;
&lt;p&gt;1-2. Becky! を再起動する&lt;/p&gt;
&lt;p&gt;# — 2. 使い方&lt;/p&gt;
&lt;p&gt;2-1. Becky! の “ツール” → “プラグインの設定” → ” BFR -Feed Reader Plugin-” を押す&lt;/p&gt;
&lt;p&gt;2-2. 起動後初回だけ、”メールボックス設定”ウィンドウが現れます。&lt;/p&gt;
&lt;p&gt;“カレントメールボックスにメッセージをためますか？”&lt;/p&gt;
&lt;p&gt;現在選択されているフォルダに収集したFeedをためるのであれば、”OK” を選んでください。&lt;/p&gt;
&lt;p&gt;＃　フォルダ、は受信箱等、メールボックスにぶらさがっている&lt;br&gt;
メールフォルダであって、メールボックス自体ではありません…&lt;/p&gt;
&lt;p&gt;違うフォルダがよければ、”キャンセル” を選んでください。&lt;/p&gt;
&lt;p&gt;“キャンセル”を選んだら、収集したFeedをためるフォルダを選択して、2-1.からやり直し。。&lt;/p&gt;
&lt;p&gt;2-3. あとは使えばわかるでしょう。&lt;/p&gt;
&lt;p&gt;# — 3. おすすめの使い方&lt;/p&gt;
&lt;p&gt;3-1. “メールボックス設定” では”受信箱” にメッセージがたまるように設定する。&lt;/p&gt;
&lt;p&gt;Becky! のフィルタリングマネージャをフル活用！&lt;/p&gt;
&lt;p&gt;このプラグインを使用すると、”To:” 欄に “[BFRv1.00]”&lt;br&gt;
が入ったメッセージがメールボックスにたまります。&lt;/p&gt;
&lt;p&gt;“From” 欄にもFeedの提供元のURLが入るので、それをぐりぐり使ってください。&lt;/p&gt;
&lt;p&gt;# — 4. ただし…&lt;/p&gt;</description></item><item><title>しょうが焼きみたいなもの</title><link>https://maaash.jp/2004/08/%E3%81%97%E3%82%87%E3%81%86%E3%81%8C%E7%84%BC%E3%81%8D%E3%81%BF%E3%81%9F%E3%81%84%E3%81%AA%E3%82%82%E3%81%AE/</link><pubDate>Sun, 29 Aug 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/08/%E3%81%97%E3%82%87%E3%81%86%E3%81%8C%E7%84%BC%E3%81%8D%E3%81%BF%E3%81%9F%E3%81%84%E3%81%AA%E3%82%82%E3%81%AE/</guid><description>&lt;img alt="040829.gif" src="https://slightlyblue.com/blog/images/040829.gif" width="200" border="0" /&gt; 
しょうが焼きみたいなものを作りました。付け合せはブロッコリー。二品目には焼きなす。味噌汁もあったけどあさげなので省略。
&lt;p&gt;焼きなすは中毒的においしい。毎週食べてる。。&lt;br&gt;
自分の料理ってなんでこんなにおいしいんだろう….&lt;br&gt;
&lt;a href="http://mxg.s54.xrea.com/blog/archives/000216.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxg.s54.xrea.com/blog/archives/000216.html']);"&gt;ぶなしめじと小松菜のボンゴレスパゲッティ&lt;/a&gt;もおいしかったけど、なんでこんなにおいしくなく見えるんだろう…&lt;br&gt;
味覚は不思議。&lt;/p&gt;</description></item><item><title>売った後カスタマイズできるTシャツ</title><link>https://maaash.jp/2004/08/%E5%A3%B2%E3%81%A3%E3%81%9F%E5%BE%8C%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%81%A7%E3%81%8D%E3%82%8Bt%E3%82%B7%E3%83%A3%E3%83%84/</link><pubDate>Sun, 15 Aug 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/08/%E5%A3%B2%E3%81%A3%E3%81%9F%E5%BE%8C%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%81%A7%E3%81%8D%E3%82%8Bt%E3%82%B7%E3%83%A3%E3%83%84/</guid><description>&lt;p&gt;夏休み中でひまなので、ひさびさにdaily更新。&lt;/p&gt;
&lt;p&gt;世の中多彩な人が増えてきて、consumer向け商品はなんでも購入後のカスタマイズをお客さん自分ができるような仕組みが入れ込まれている。&lt;/p&gt;
&lt;p&gt;Tシャツにもそれやろうぜ。&lt;/p&gt;
&lt;p&gt;左胸あたりにワンポイントだけ入ったシンプルなデザインが好きだったりするのだけれど、そのワンポイントをその日の気分によって変えられるような。&lt;/p&gt;
&lt;p&gt;商品としては、ただの無地のTシャツの胸に&lt;a href="http://www.rakuten.co.jp/kinkado/422351/480169/447416/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.rakuten.co.jp/kinkado/422351/480169/447416/']);"&gt;スナップボタン(?)&lt;/a&gt;の凸部だけつけておいて（まぁ凹だけでもいいんだけれど）、&lt;br&gt;
対になる凹凸をつけたワンポイントをひとそろいセットにして売る。&lt;br&gt;
そのワンポイントも簡単に作れるガイドライン/ワンポイント製作ツールも。&lt;/p&gt;
&lt;p&gt;ワンポイントとしては、&lt;a href="http://www.renown.com/ap/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.renown.com/ap/']);"&gt;傘マーク&lt;/a&gt;やら犬やらポロやらそういう感じで。&lt;/p&gt;
&lt;p&gt;↑のリンクみたく、ただかなづちみたいので叩けばつけられそうだし、自分用に1枚作りますか。。&lt;/p&gt;</description></item><item><title>クラークの3法則</title><link>https://maaash.jp/2004/08/%E3%82%AF%E3%83%A9%E3%83%BC%E3%82%AF%E3%81%AE3%E6%B3%95%E5%89%87/</link><pubDate>Sat, 14 Aug 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/08/%E3%82%AF%E3%83%A9%E3%83%BC%E3%82%AF%E3%81%AE3%E6%B3%95%E5%89%87/</guid><description>&lt;p&gt;忘れないうちにmemo&lt;/p&gt;
&lt;p&gt;アーサー・C・クラーク（SF作家）の三法則、というのは彼自身の著書に記してあった。&lt;/p&gt;
&lt;p&gt;「失われた宇宙の旅2001」 ハヤカワ文庫SF&lt;br&gt;
&lt;a href="http://www.hayakawa-online.co.jp/2001/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.hayakawa-online.co.jp/2001/']);"&gt;2001年宇宙の旅（ここのwebの、[連載]2001年に考える、、もおもしろい）&lt;/a&gt;&lt;br&gt;
のmakingみたいな本。&lt;br&gt;
その中で。&lt;/p&gt;
&lt;p&gt;– 第一法則 –&lt;br&gt;
一流ではあるが、少々年を取った科学者が、何々は可能だといえば、彼の言うことはまず間違いなく正しい。&lt;br&gt;
もしその科学者が何々は不可能だといえば、彼の言うことはおそらく間違っている。&lt;/p&gt;
&lt;p&gt;– 第二法則 –&lt;br&gt;
あることが可能か否かの限界を知る唯一の方法は、その限界を超えて不可能性の領域へ突き進むことである。&lt;/p&gt;
&lt;p&gt;– 第三法則 –&lt;br&gt;
申し分なく発達したテクノロジーは魔法と見分けがつかない。&lt;/p&gt;</description></item><item><title>たまねぎとにんにくの芽と豚肉の炒め</title><link>https://maaash.jp/2004/08/%E3%81%9F%E3%81%BE%E3%81%AD%E3%81%8E%E3%81%A8%E3%81%AB%E3%82%93%E3%81%AB%E3%81%8F%E3%81%AE%E8%8A%BD%E3%81%A8%E8%B1%9A%E8%82%89%E3%81%AE%E7%82%92%E3%82%81/</link><pubDate>Sat, 14 Aug 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/08/%E3%81%9F%E3%81%BE%E3%81%AD%E3%81%8E%E3%81%A8%E3%81%AB%E3%82%93%E3%81%AB%E3%81%8F%E3%81%AE%E8%8A%BD%E3%81%A8%E8%B1%9A%E8%82%89%E3%81%AE%E7%82%92%E3%82%81/</guid><description>&lt;p&gt;昨日は、こんな感じで。&lt;/p&gt;
&lt;img alt="040813itame.JPG" src="https://slightlyblue.com/blog/images/040813itame.JPG" width="120" height="120" border="0" /&gt;
&lt;p&gt;にんにく入れすぎました。&lt;/p&gt;</description></item><item><title>ぶなしめじと小松菜のボンゴレスパゲッティ</title><link>https://maaash.jp/2004/08/%E3%81%B6%E3%81%AA%E3%81%97%E3%82%81%E3%81%98%E3%81%A8%E5%B0%8F%E6%9D%BE%E8%8F%9C%E3%81%AE%E3%83%9C%E3%83%B3%E3%82%B4%E3%83%AC%E3%82%B9%E3%83%91%E3%82%B2%E3%83%83%E3%83%86%E3%82%A3/</link><pubDate>Sat, 14 Aug 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/08/%E3%81%B6%E3%81%AA%E3%81%97%E3%82%81%E3%81%98%E3%81%A8%E5%B0%8F%E6%9D%BE%E8%8F%9C%E3%81%AE%E3%83%9C%E3%83%B3%E3%82%B4%E3%83%AC%E3%82%B9%E3%83%91%E3%82%B2%E3%83%83%E3%83%86%E3%82%A3/</guid><description>&lt;p&gt;最近、料理にはまってます。&lt;/p&gt;
&lt;p&gt;本日の夕食は、&lt;br&gt;
ぶなしめじと小松菜のボンゴレスパゲッティ。&lt;/p&gt;
&lt;img alt="040814bon.gif" src="https://slightlyblue.com/blog/images/040814bon.gif" width="110" border="0" /&gt;
&lt;p&gt;おなかいっぱい。&lt;/p&gt;
&lt;p&gt;いかが？&lt;/p&gt;</description></item><item><title>三題小噺２</title><link>https://maaash.jp/2004/08/%E4%B8%89%E9%A1%8C%E5%B0%8F%E5%99%BA%EF%BC%92/</link><pubDate>Sat, 14 Aug 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/08/%E4%B8%89%E9%A1%8C%E5%B0%8F%E5%99%BA%EF%BC%92/</guid><description>&lt;p&gt;&lt;a href="http://official.blog.ocn.ne.jp/tea_time/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://official.blog.ocn.ne.jp/tea_time/']);"&gt;めい&lt;/a&gt;に出題いただいた、三題小噺第2弾に応答です。&lt;/p&gt;
&lt;p&gt;お題は、「しょうゆ」「味噌」「ベビースター」。&lt;/p&gt;
&lt;p&gt;–&lt;/p&gt;
&lt;p&gt;ベビースター。&lt;br&gt;
そう、生まれながらにしてスター。&lt;/p&gt;
&lt;p&gt;伝説のプロローグは、&lt;br&gt;
まだへその緒を断ち、&lt;br&gt;
遺伝子の半分共通する（はずの）女性と物理的に切れるところから始まる…&lt;/p&gt;
&lt;p&gt;スターはすっくとそのかよわい両足で立ち上がり、&lt;br&gt;
まだ父親である自覚の無い男の肘につかまり、&lt;br&gt;
あんぐり口をあけた母を指差し、&lt;br&gt;
「マ、、、マァ、」&lt;br&gt;
目を見開く母。&lt;br&gt;
まさか。&lt;br&gt;
「ミソ、（いやいや…）、、ママァ、ママァ、・・・」&lt;/p&gt;
&lt;p&gt;父は括弧に囲まれた「いやいや」をしっかと耳に捉えた（気がした）。&lt;br&gt;
しかし、そんな興奮のさなかに記憶を正確に保てるはずはないのだ。&lt;br&gt;
そして、現実の音と、脳内に想起し声帯を振るわせる直前の意志とを&lt;br&gt;
区別するのは難しい。&lt;/p&gt;
&lt;p&gt;次に父を指差し、&lt;br&gt;
「パ、、、パァ、、、、、」&lt;br&gt;
ま、まさか・・・&lt;br&gt;
「＊＊＊＊、（いやいや…）、、、、、、」&lt;/p&gt;
&lt;p&gt;いやいや、さすがにそんなオチは許されないでしょ。&lt;/p&gt;
&lt;p&gt;以上。&lt;/p&gt;
&lt;p&gt;–&lt;/p&gt;
&lt;p&gt;実は「しょうゆ」使ってませんが、、、あり？？&lt;br&gt;
show you my power(しょうゆー・・・） といったように英語を織り交ぜて、も考えたんだけど、、&lt;br&gt;
ありだよね？&lt;br&gt;
今回は、考えながら文章を書きつつ..といった調子で合計25分くらいかな。&lt;br&gt;
めい殿に比較してだいぶ時間かかります。。。&lt;/p&gt;
&lt;p&gt;いかが？&lt;/p&gt;</description></item><item><title>三題小噺</title><link>https://maaash.jp/2004/07/%E4%B8%89%E9%A1%8C%E5%B0%8F%E5%99%BA/</link><pubDate>Fri, 02 Jul 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/07/%E4%B8%89%E9%A1%8C%E5%B0%8F%E5%99%BA/</guid><description>&lt;p&gt;三題小噺、というものに初挑戦しました。&lt;br&gt;
3語与えられて、それらを使った文章をつくる、ということ。&lt;/p&gt;
&lt;p&gt;文章を創作する、ということの喜びを始めて知りました。&lt;br&gt;
創作後、興奮して夜すぐには寝付かれなかったほど。&lt;br&gt;
1hの時間制限付きだった中で浮かんだ、ということにも、&lt;br&gt;
その結果にも満足。&lt;/p&gt;
&lt;p&gt;製作時間は、構想45分（うち情報収集15分、お風呂30分）、文章書き15分。&lt;/p&gt;
&lt;p&gt;ということで公開。べただったところを部分的に修正しています。。&lt;/p&gt;
&lt;p&gt;”ブエノスアイレス”, ”いちじく”, ”はな”&lt;/p&gt;
&lt;p&gt;cに捧ぐ。&lt;/p&gt;
&lt;p&gt;四季(以降s)： (4本の指でその柔らかさを確かめ、実を下から覗き込むようにして繊維の色合いを確認して、)&lt;br&gt;
s: これはよく熟れておいしそうですね。(いちじくを1つ取って大樹に手渡す)&lt;br&gt;
大樹(以降t)： はむはむはむ…&lt;br&gt;
t： いちじくの花ってどんなんだっけ？&lt;br&gt;
s： この実のように見えるのが花なのでございます。皮のように見えるのが花弁、誰にも見られない内面に花を咲かせているのです。&lt;br&gt;
t： はむはむはむ…&lt;br&gt;
s： 友情と恋愛は一つの根から生えた二本の植物である。ただ後者は花を少しだけ多く持っているにすぎない。&lt;br&gt;
t： はむはむはむ…&lt;br&gt;
s： (反応が無い….)…どうしたのですか？&lt;br&gt;
t： (ふと、犀川先生とモノポリーの約束があったのを思い出し)ごめん、四季、先帰るわ。&lt;br&gt;
s： (おいしくなかったのかしら.. 固すぎた？自己診断機能は正常を返す..)&lt;br&gt;
s： ブエノスアイレス！･･･いや、ブエノスディアス！&lt;br&gt;
t： ぷ。(次の瞬間、一昨日先生の話していた天然ボケプラグインの話を思い出す。新作は上出来だ。) もう24時だぜ、四季。おやすみ。&lt;/p&gt;
&lt;p&gt;以降追記は解説です。&lt;/p&gt;</description></item><item><title>思想</title><link>https://maaash.jp/2004/06/%E6%80%9D%E6%83%B3/</link><pubDate>Sun, 27 Jun 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/06/%E6%80%9D%E6%83%B3/</guid><description>&lt;p&gt;PCの1つのコア機能は、記憶の補助機械だと思う。&lt;br&gt;
それはその他のコア機能（Audio/Video Player、情報収集ツール、ワープロ、Communicationツール他）と比較して、個人的には最重要な位置にいる。&lt;/p&gt;
&lt;p&gt;記憶への入力は、つい最近まで（ほぼ）3つのpathしかなかった。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;メール&lt;/li&gt;
&lt;li&gt;ブラウザ&lt;/li&gt;
&lt;li&gt;CD/SD/MO/USBStorage等&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;記憶にたまる情報の種類は、現状の技術では（ほぼ）、&lt;br&gt;
A. 文字&lt;br&gt;
B. 絵&lt;br&gt;
C. 音&lt;br&gt;
のみ。&lt;/p&gt;
&lt;p&gt;入力と種類はおおざっぱに言って以下のような関係だった。&lt;br&gt;
1 – A(,B,C)　：メールから入力されるのは大体文字情報、たまに絵や音も&lt;br&gt;
2 – B(,A,C)&lt;br&gt;
3 – C(,B)&lt;/p&gt;
&lt;p&gt;ところが最近、&lt;br&gt;
4. RSS/ATOM Feed&lt;br&gt;
という手段が増えることになった。&lt;br&gt;
それは（ほぼ）「A. 文字」の範囲内の情報。&lt;/p&gt;
&lt;p&gt;1 – A(,B,C)&lt;br&gt;
2 – B(,A,C)&lt;br&gt;
3 – C(,B)&lt;br&gt;
4 – A(,B)&lt;br&gt;
こういうことになった。&lt;/p&gt;
&lt;p&gt;「統合と分化」&lt;br&gt;
1,4 – A(,B,C)&lt;br&gt;
2 – B(,A,C)&lt;br&gt;
3 – C(,B)&lt;/p&gt;
&lt;p&gt;結論： メーラー（Becky!）＋Feed Reader（plugin）&lt;/p&gt;
&lt;p&gt;つづく。　　かも。&lt;/p&gt;</description></item><item><title>B.F.R. 更新履歴 V1.01</title><link>https://maaash.jp/2004/06/bfr-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-v101/</link><pubDate>Sat, 26 Jun 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/06/bfr-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-v101/</guid><description>&lt;p&gt;EUC-JP エンコードのFeedが文字化けしていた不具合を修正しました。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/2005/08/bfr_download.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2005/08/bfr_download.html']);"&gt;Download&lt;/a&gt;&lt;/p&gt;</description></item><item><title>めい殿</title><link>https://maaash.jp/2004/06/%E3%82%81%E3%81%84%E6%AE%BF/</link><pubDate>Thu, 24 Jun 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/06/%E3%82%81%E3%81%84%E6%AE%BF/</guid><description>&lt;p&gt;&lt;a href="http://official.blog.ocn.ne.jp/tea_time/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://official.blog.ocn.ne.jp/tea_time/']);"&gt;blog&lt;/a&gt;始めたの？1つ挨拶にトラックバックだ！&lt;/p&gt;
&lt;p&gt;そんなひまあるなら英語勉強しなさい。&lt;/p&gt;</description></item><item><title>B.F.R. F.A.Q. 質問等</title><link>https://maaash.jp/2004/06/bfr-faq-%E8%B3%AA%E5%95%8F%E7%AD%89/</link><pubDate>Sat, 19 Jun 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/06/bfr-faq-%E8%B3%AA%E5%95%8F%E7%AD%89/</guid><description>&lt;p&gt;Frequently Asked Questions&lt;br&gt;
はエントリーとコメントのやり取りのイメージでできたらいいかな、と。&lt;/p&gt;
&lt;p&gt;質問等あれば。どうぞ。&lt;/p&gt;</description></item><item><title>B.F.R. -Becky Feed Reader plugin-</title><link>https://maaash.jp/2004/06/bfr-becky-feed-reader-plugin/</link><pubDate>Sat, 19 Jun 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/06/bfr-becky-feed-reader-plugin/</guid><description>&lt;p&gt;いわゆるRSS Readerをつくってみました。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mxg.s54.xrea.com/bfr/archives/000206.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxg.s54.xrea.com/bfr/archives/000206.html']);"&gt;ダウンロードはこちら。&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mxg.s54.xrea.com/bfr" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxg.s54.xrea.com/bfr']);"&gt;B.F.R. -Becky Feed Reader Plugin- のページはこちら。&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;–追記&lt;/p&gt;
&lt;p&gt;早くもv1.01へVUPです。。&lt;/p&gt;</description></item><item><title>B.F.R. スクリーンショット</title><link>https://maaash.jp/2004/06/bfr-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</link><pubDate>Sat, 19 Jun 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/06/bfr-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/</guid><description>&lt;p&gt;取り込んだ Feed はこんなふうな メール として取り込まれます。&lt;br&gt;
&lt;a href="http://slightlyblue.com/dl/bfr/screenshot.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/dl/bfr/screenshot.jpg']);"&gt;&lt;img src="https://slightlyblue.com/dl/bfr/screenshot2.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>B.F.R. の特徴</title><link>https://maaash.jp/2004/06/bfr-%E3%81%AE%E7%89%B9%E5%BE%B4/</link><pubDate>Sat, 19 Jun 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/06/bfr-%E3%81%AE%E7%89%B9%E5%BE%B4/</guid><description>&lt;p&gt;特徴&lt;br&gt;
・　メールソフト &lt;a href="http://www.rimarts.co.jp/becky-j.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.rimarts.co.jp/becky-j.htm']);"&gt;Becky!&lt;/a&gt; のPluginであること&lt;br&gt;
・　その他、普通のRSSReaderにできることはできそう。&lt;/p&gt;</description></item><item><title>B.F.R. 対応フォーマット</title><link>https://maaash.jp/2004/06/bfr-%E5%AF%BE%E5%BF%9C%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88/</link><pubDate>Sat, 19 Jun 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/06/bfr-%E5%AF%BE%E5%BF%9C%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88/</guid><description>&lt;p&gt;対応Format（多分）&lt;br&gt;
・RSS0.91&lt;br&gt;
・RSS1.0&lt;br&gt;
・RSS2.0&lt;br&gt;
・ATOM0.3&lt;br&gt;
・？？&lt;/p&gt;
&lt;p&gt;特にそれぞれのFeedの仕様を把握して設計していません。&lt;br&gt;
多分大丈夫だと思いますが、読めないケースもあるかもしれません（適当）&lt;/p&gt;
&lt;p&gt;そのためむしろ、対応してると書いていないフォーマットに対応しているかも？という期待をもてるところが味噌。&lt;/p&gt;</description></item><item><title>大萩康司@KennedyCenter　43</title><link>https://maaash.jp/2004/05/%E5%A4%A7%E8%90%A9%E5%BA%B7%E5%8F%B8kennedycenter%E3%80%8043/</link><pubDate>Sat, 01 May 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/05/%E5%A4%A7%E8%90%A9%E5%BA%B7%E5%8F%B8kennedycenter%E3%80%8043/</guid><description>&lt;p&gt;memo&lt;br&gt;
&lt;a href="http://guitar.jp/MT/archives/000339.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://guitar.jp/MT/archives/000339.php']);"&gt;ここからのコピペ。&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;米ケネディセンター、ミレニアム・ステージで3月28日の大萩康司氏のライブ演奏録画をフル視聴可能！Millennium Stage EXPLORERをクリックして、3月28日のステージを選ぶとヤスジ君の演奏がフル視聴出来ます。&lt;br&gt;
プログラム&lt;br&gt;
羽衣伝説（藤井敬吾）&lt;br&gt;
“さくら”による主題と変奏（横尾幸弘）&lt;br&gt;
Hi!で始まる爆笑トークを挟んで&lt;br&gt;
トッカータ・イン・ブルー（ドメニコーニ）&lt;br&gt;
亡き王女のためのパヴァーヌ（ラヴェル／編曲：ディアンス）&lt;br&gt;
11月のある日（ブローウェル）&lt;br&gt;
タンゴ・アン・スカイ（ディアンス）&lt;br&gt;
そのあくる日（ゲーラ）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;直リンクは&lt;/p&gt;
&lt;p&gt;&lt;a href="http://play.rbn.com/?url=kennedy/kennedyg2/g2demand/03282004" class="external-link" target="_blank" rel="noopener"&gt;http://play.rbn.com/?url=kennedy/kennedyg2/g2demand/03282004&lt;/a&gt;_1800_MSN.rm&lt;/p&gt;
&lt;p&gt;視聴にはRealOne Playerが必要です。&lt;br&gt;
このホールでの前回の演奏は2003年2月1日です。これもお勧めなので検索して聞いてみて下さい。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;是非。&lt;/p&gt;</description></item><item><title>ピンクのハートのTシャツ　54</title><link>https://maaash.jp/2004/04/%E3%83%94%E3%83%B3%E3%82%AF%E3%81%AE%E3%83%8F%E3%83%BC%E3%83%88%E3%81%AEt%E3%82%B7%E3%83%A3%E3%83%84%E3%80%8054/</link><pubDate>Mon, 26 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E3%83%94%E3%83%B3%E3%82%AF%E3%81%AE%E3%83%8F%E3%83%BC%E3%83%88%E3%81%AEt%E3%82%B7%E3%83%A3%E3%83%84%E3%80%8054/</guid><description>&lt;p&gt;Tシャツ、つくりました（つくろうとしています？）。&lt;a href="http://yahoo.t-select.com" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://yahoo.t-select.com']);"&gt;T-select&lt;/a&gt;で。&lt;br&gt;
&lt;a href="http://yahoo.t-select.com/works/detail.php?sid=7754" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://yahoo.t-select.com/works/detail.php?sid=7754']);" target="_blank"&gt;&lt;img src="https://slightlyblue.com/blog/images/Navy_front_heart.gif" alt="Navy_front_heart.gif" border="0" height="125" width="140" /&gt;&lt;/a&gt;&lt;br&gt;
真中を拡大すると：&lt;a href="http://yahoo.t-select.com/works/detail.php?sid=7754" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://yahoo.t-select.com/works/detail.php?sid=7754']);" target="_blank"&gt;&lt;img src="https://slightlyblue.com/blog/images/navy_heart.gif" alt="navy_heart.gif" border="0" height="80" width="64" /&gt;&lt;/a&gt;&lt;br&gt;
今週末までに10枚以上注文が集まったら生産化される、というシステムで、今のところ3枚！！&lt;/p&gt;
&lt;p&gt;シンプルです。&lt;/p&gt;
&lt;p&gt;なぜこうなったかというと、&lt;br&gt;
①ピンクを着てみたかったから。&lt;br&gt;
今年の流行色はピンクだそうです。ピンクって一片たりとも身につけたことがなかったので、なんとかして男性（自分）にも着られるデザインでTシャツをつくってみたかった。あんまり恥ずかしすぎないように。&lt;br&gt;
でもやっぱり恥ずかしいけど。&lt;/p&gt;
&lt;p&gt;②物語性&lt;br&gt;
見て、物語が思い起こされるような絵が好きだ。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/2004/04/yanagiakineo.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/2004/04/yanagiakineo.html']);"&gt;自分の前のエントリー「最近気になる芸術家　43」&lt;/a&gt;でも紹介した&lt;a href="http://www.yanagimiwa.net/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.yanagimiwa.net/index.html']);"&gt;やなぎみわ&lt;/a&gt;さんのように。&lt;br&gt;
胸の真中にピンクのハート。&lt;br&gt;
どんな気持ちでそのシャツを着るだろう。&lt;br&gt;
どんな意味をそのハートにつけるだろう。&lt;br&gt;
そんなTシャツを着て誰かとあったら、どんな会話が交わされるだろう。&lt;/p&gt;
&lt;p&gt;あなたの物語を聞きたいです。&lt;/p&gt;</description></item><item><title>鶏のリスク　45</title><link>https://maaash.jp/2004/04/%E9%B6%8F%E3%81%AE%E3%83%AA%E3%82%B9%E3%82%AF%E3%80%8045/</link><pubDate>Sun, 25 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E9%B6%8F%E3%81%AE%E3%83%AA%E3%82%B9%E3%82%AF%E3%80%8045/</guid><description>&lt;p&gt;&lt;a href="http://www.subservientchicken.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.subservientchicken.com/']);"&gt;バーガーキングの鶏&lt;/a&gt;がおもしろい。&lt;br&gt;
&lt;img alt="chicken.jpg" src="https://slightlyblue.com/blog/images/chicken.jpg" width="230" height="165" border="0" /&gt;&lt;br&gt;
試してみたところ、「fight」とか「fly」とか、、楽しい！&lt;br&gt;
受け付けるリクエスト、受け付けないリクエストの&lt;a href="http://dev.magicosm.net/cgi-bin/public/corvidaewiki/bin/view/Game/SubservientChickenRequestList" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://dev.magicosm.net/cgi-bin/public/corvidaewiki/bin/view/Game/SubservientChickenRequestList']);"&gt;リスト&lt;/a&gt;も。&lt;/p&gt;
&lt;p&gt;でもそのリンクから辿れる、本来の目的であるバーガーキングのサイトは、、落ちてる。しょぼーん。&lt;br&gt;
PageView増えたから、落ちでいるのだろうけれど、、落ちててどうする。。&lt;/p&gt;
&lt;p&gt;爆発的なアクセスにつながるようなプロモーションは、リスク大きい。&lt;br&gt;
期待と落胆の大きさは比例するからだ。&lt;br&gt;
指数関数的でさえあるかもしれない。&lt;br&gt;
プロモーション（鶏）がおもしろいだけに、バーガーキングサイトのしょうもなさが引き立つ。&lt;br&gt;
bmwのCFはおもしろかったな～&lt;/p&gt;
&lt;p&gt;そろそろ、&lt;a href="http://yahoo.t-select.com" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://yahoo.t-select.com']);"&gt;Tシャツ&lt;/a&gt;のおめみえです。&lt;/p&gt;</description></item><item><title>オシャる技術とバイオリズム　44</title><link>https://maaash.jp/2004/04/%E3%82%AA%E3%82%B7%E3%83%A3%E3%82%8B%E6%8A%80%E8%A1%93%E3%81%A8%E3%83%90%E3%82%A4%E3%82%AA%E3%83%AA%E3%82%BA%E3%83%A0%E3%80%8044/</link><pubDate>Wed, 21 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E3%82%AA%E3%82%B7%E3%83%A3%E3%82%8B%E6%8A%80%E8%A1%93%E3%81%A8%E3%83%90%E3%82%A4%E3%82%AA%E3%83%AA%E3%82%BA%E3%83%A0%E3%80%8044/</guid><description>&lt;p&gt;またメルマガの購読ボタンを押してしまった。&lt;br&gt;
&lt;a href="http://www.zeel.co.jp/osharu-gijutsu/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.zeel.co.jp/osharu-gijutsu/']);"&gt;オシャる技術 ファッションはセンスじゃない！！&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;自分のプロになりたい、という気持ちがある。&lt;br&gt;
blogをはじめる理由のおまけとしてそれを&lt;a href="http://mxg.s54.xrea.com/blog/archives/000102.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxg.s54.xrea.com/blog/archives/000102.html']);"&gt;検証してみている&lt;/a&gt;。&lt;br&gt;
そんな心がけのせいか、自分のバイオリズムと相関のあるパラメータがいくつか発見されてきている。1つは、月当たり消費するCDの枚数。これは時系列もぴったり一致しているように感じる。&lt;/p&gt;
&lt;p&gt;もう1つが、メルマガの購読数。&lt;br&gt;
時間的にバイオリズムに対して遅れて影響される指標のようだ。&lt;/p&gt;
&lt;p&gt;今は下降期にあるようで、メルマガの購読数が序々に減ってきている。&lt;br&gt;
そんな中で購読してしまったのは、、まぁ単純に文に負けてしまったから。&lt;/p&gt;
&lt;p&gt;リズムがいい！&lt;br&gt;
ネーミングセンス、目のつけどころ、落とすタイミング、発想。&lt;br&gt;
メルマガおもしろそうです。。&lt;/p&gt;
&lt;p&gt;「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4757301782/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4757301782/masaishere-22']);"&gt;ウケる技術&lt;/a&gt;」も買ってみようかな。&lt;/p&gt;</description></item><item><title>アドワーズ広告とAdSense　44</title><link>https://maaash.jp/2004/04/%E3%82%A2%E3%83%89%E3%83%AF%E3%83%BC%E3%82%BA%E5%BA%83%E5%91%8A%E3%81%A8adsense%E3%80%8044/</link><pubDate>Tue, 20 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E3%82%A2%E3%83%89%E3%83%AF%E3%83%BC%E3%82%BA%E5%BA%83%E5%91%8A%E3%81%A8adsense%E3%80%8044/</guid><description>&lt;p&gt;エントリー100達成！&lt;/p&gt;
&lt;p&gt;Googleのアドワーズ広告について思った。&lt;/p&gt;
&lt;p&gt;人の想像力って限られているから、検索語と広告主のお金をつぎこんだキーワードが一致することってそんなに多くは無いのでは？&lt;/p&gt;
&lt;p&gt;それより、AdSenseでwebページの検索語に対してアドワーズ広告を配信できるなら、Googleの検索結果に対してAdSenseでアドワーズ広告を付加してしまった方が、広告のpresenｃeは高まるんじゃ？&lt;/p&gt;</description></item><item><title>後には戻れないもの　44</title><link>https://maaash.jp/2004/04/%E5%BE%8C%E3%81%AB%E3%81%AF%E6%88%BB%E3%82%8C%E3%81%AA%E3%81%84%E3%82%82%E3%81%AE%E3%80%8044/</link><pubDate>Mon, 19 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E5%BE%8C%E3%81%AB%E3%81%AF%E6%88%BB%E3%82%8C%E3%81%AA%E3%81%84%E3%82%82%E3%81%AE%E3%80%8044/</guid><description>&lt;p&gt;&lt;a href="http://mxg.s54.xrea.com/blog/archives/000172.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxg.s54.xrea.com/blog/archives/000172.html']);"&gt;目が悪くなりつつある&lt;/a&gt;間、2ディスプレイ生活をしていた。&lt;br&gt;
メインを14inchのノートPCにして、17inchの液晶を隣に置いてビューアーとしていた。&lt;/p&gt;
&lt;p&gt;かなり快適だ。&lt;br&gt;
beckyや秀丸やスケジュール表を開いて隣のディスプレイに投げておく。視線を動かすだけ。&lt;br&gt;
これは後には戻れないな～、、と思っていたが、作業効率よりも視力をとった。&lt;/p&gt;
&lt;p&gt;後には戻れないもの。っていう類の技術革新がある。&lt;br&gt;
2ディスプレイ生活、カーナビ、Suica、携帯電話、ブロードバンドインターネット、、。&lt;br&gt;
そこまでいかないけど、お気に入りのランチャー、スケジューラー、カスタマイズツール。&lt;/p&gt;
&lt;p&gt;そんなのを1つ今年中につくろうかと思う。&lt;br&gt;
と宣言してみる。&lt;/p&gt;</description></item><item><title>富士サファリパーク　44</title><link>https://maaash.jp/2004/04/%E5%AF%8C%E5%A3%AB%E3%82%B5%E3%83%95%E3%82%A1%E3%83%AA%E3%83%91%E3%83%BC%E3%82%AF%E3%80%8044/</link><pubDate>Sun, 18 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E5%AF%8C%E5%A3%AB%E3%82%B5%E3%83%95%E3%82%A1%E3%83%AA%E3%83%91%E3%83%BC%E3%82%AF%E3%80%8044/</guid><description>&lt;p&gt;&lt;a href="http://slightlyblue.com/blog/images/tiger.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/tiger.jpg']);" &gt;&lt;img src="https://slightlyblue.com/blog/images/tiger.jpg" height=120/&gt;&lt;/a&gt;池につかって暑さをしのぐとら。&lt;/p&gt;
&lt;p&gt;富士サファリパーク。&lt;br&gt;
動物園の束縛感をぬぐえるほどの広さではなかったのは残念。&lt;br&gt;
もっと広大で、動物達は人(?)口密度が十分に大きくてほとんど弱肉強食の世界がそこにはあって、種それぞれの群れで生きていて、人はそのバランス調整だけ、、&lt;br&gt;
そんなパークは夢でした。。&lt;br&gt;
そんな世界を訪れるためなら動物がちょっとしか見えなかったとしても、満足感は大きかっただろうに（自信は無いけれど）。&lt;/p&gt;
&lt;p&gt;ダチョウの卵が印象的だった。産んだばかりなのかもしれない、太陽に照らされて輝いていた。&lt;br&gt;
ライオンの横顔も。威厳ある王者そのものだった。&lt;br&gt;
すごく近くにいた。窓をあければ触れるくらい。でも腕を1本犠牲にはできない。&lt;br&gt;
キリンも。道を横断して渋滞を起こしていた。&lt;/p&gt;
&lt;p&gt;本格。はもうちょっと遠くにありそうだ。&lt;/p&gt;</description></item><item><title>イラク。　44</title><link>https://maaash.jp/2004/04/%E3%82%A4%E3%83%A9%E3%82%AF%E3%80%82%E3%80%8044/</link><pubDate>Sat, 17 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E3%82%A4%E3%83%A9%E3%82%AF%E3%80%82%E3%80%8044/</guid><description>&lt;p&gt;今日はイラクについて気になる記事の紹介です。&lt;br&gt;
1人目のmattのblogと、そこからたどれる他のさまざまなソースへのリンク。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://no-sword.sieve.net/sans/archives/2004_04_11_index.html#108177831441976698" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://no-sword.sieve.net/sans/archives/2004_04_11_index.html#108177831441976698']);"&gt;イラクより&lt;/a&gt;&lt;br&gt;
&lt;a href="http://ch.kitaguni.tv/u/2148/%a5%a4%a5%e9%a5%af%bc%ab%b1%d2%c2%e2%c7%c9%b8%af/%bc%ab%ba%ee%c6%b8%cf%c3/0000030873.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://ch.kitaguni.tv/u/2148/%a5%a4%a5%e9%a5%af%bc%ab%b1%d2%c2%e2%c7%c9%b8%af/%bc%ab%ba%ee%c6%b8%cf%c3/0000030873.html']);"&gt;イラクの人にお願いしたい。&lt;/a&gt;&lt;br&gt;
&lt;a href="http://nofrills.hp.infoseek.co.jp/hon/story_jp.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://nofrills.hp.infoseek.co.jp/hon/story_jp.html']);"&gt;The Two Brother Sparrows in Waqland: a fable IN JAPANESE&lt;/a&gt;&lt;br&gt;
&lt;a href="http://raedinthemiddle.blogspot.com/2004_04_01_raedinthemiddle_archive.html#108162234448103419" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://raedinthemiddle.blogspot.com/2004_04_01_raedinthemiddle_archive.html#108162234448103419']);"&gt;An open letter to the Japanese People…&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;誰も、誰の死をも本当に望んでいはしない、と思いたい。&lt;/p&gt;
&lt;p&gt;とりあえず、リンクを貼って少しでも多くの人を考えさせる、という点で貢献できるのだろうか。&lt;/p&gt;</description></item><item><title>BumpOfChicken　44</title><link>https://maaash.jp/2004/04/bumpofchicken%E3%80%8044/</link><pubDate>Fri, 16 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/bumpofchicken%E3%80%8044/</guid><description>&lt;p&gt;BumpOfChickenが好きだ。&lt;/p&gt;
&lt;p&gt;友人の車に乗った時にかかっていて、彼もだいぶ入れ込んでいるようだった。歌詞の良さについて熱く語っていた。&lt;/p&gt;
&lt;p&gt;普段音楽を聴くとき、歌詞は全然耳に入ってこない。メロディとリズムのみを聴いているようだ。&lt;/p&gt;
&lt;p&gt;それでも、ふと注意して聞いてみると気づいたのは、BumpOfChickenは歌詞を大事にしてるんだなぁ、って感じる歌い方をする。一言一言発音に気を使って。低い声だから聴き取りにくい部分があるのを、注意して音の頭をはっきりと発する。&lt;/p&gt;
&lt;p&gt;こんな音楽の聴き方だけれど、彼らには好感を覚える。&lt;/p&gt;</description></item><item><title>ドリンクの選び方　44</title><link>https://maaash.jp/2004/04/%E3%83%89%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%AE%E9%81%B8%E3%81%B3%E6%96%B9%E3%80%8044/</link><pubDate>Thu, 15 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E3%83%89%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%AE%E9%81%B8%E3%81%B3%E6%96%B9%E3%80%8044/</guid><description>&lt;p&gt;先日、トランポリンの練習に行く時に&lt;a href="http://www.beverage.co.jp/903/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.beverage.co.jp/903/']);"&gt;903&lt;/a&gt;を買って行った。&lt;br&gt;
adidasと共同開発したというスポーツ飲料。Flashもかっこいい！&lt;/p&gt;
&lt;p&gt;味はなんてことはない、他の同類とさして変わらない。&lt;br&gt;
外観のデザインが違う。&lt;br&gt;
&lt;a href="http://www.suntory.co.jp/softdrink/dakara/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.suntory.co.jp/softdrink/dakara/']);"&gt;DaKaRa&lt;/a&gt;や&lt;a href="http://www.beverage.co.jp/product/tea/kiki.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.beverage.co.jp/product/tea/kiki.html']);"&gt;聞茶&lt;/a&gt;辺りから、かな。ドリンクで自分のスタイルを主張するような動きが出てきたように思う。そんなことに気づいた。&lt;/p&gt;
&lt;p&gt;ドリンク。&lt;br&gt;
思えば、ある程度かさばるから持っていると目立つし、一日の中でわりと頻繁に口にするし、アクセサリーとしての露出度はかなり高い。&lt;br&gt;
そのイメージをとがったものとして固定することのできなかったドリンクがすぐ淘汰され、しっかりと印象付けられたものはスタイルの発信にさえ使われる。&lt;/p&gt;
&lt;p&gt;他に、意識していないけれど普段長いこと身近に置いているようなものってないだろうか？&lt;/p&gt;
&lt;p&gt;ちなみに自分は、DaKaRaを毎日飲んでいる。おいしいのもあるし、デザインもかわいい！&lt;/p&gt;</description></item><item><title>良い要約の条件　33</title><link>https://maaash.jp/2004/04/%E8%89%AF%E3%81%84%E8%A6%81%E7%B4%84%E3%81%AE%E6%9D%A1%E4%BB%B6%E3%80%8033/</link><pubDate>Mon, 12 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E8%89%AF%E3%81%84%E8%A6%81%E7%B4%84%E3%81%AE%E6%9D%A1%E4%BB%B6%E3%80%8033/</guid><description>&lt;p&gt;前に&lt;a href="http://mxg.s54.xrea.com/blog/archives/000169.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxg.s54.xrea.com/blog/archives/000169.html']);"&gt;「見出しをつける技術」&lt;/a&gt;なんてことを考えていた。&lt;/p&gt;
&lt;p&gt;小説が一巡したので、読書はまた雑誌生活に戻り、読み逃したHBRを1月号から読み返している。&lt;br&gt;
CaseStudyのコーナーが大好きだ。&lt;/p&gt;
&lt;p&gt;そのEntranceとも言うべきページに、CaseStudyの要約がのっている。&lt;br&gt;
的確な要約だ。&lt;br&gt;
シンプルかつ深遠な言葉を聞くとお～、と思って名言集に加えたりしているが、そんなインパクト。&lt;br&gt;
素晴らしい。&lt;/p&gt;
&lt;p&gt;良い要約の条件を考えてみた。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;短いこと&lt;/li&gt;
&lt;li&gt;問題提起までを魅力的に表現できていること&lt;/li&gt;
&lt;li&gt;簡単な言葉で読む/読まない判断材料が表現されていること（内容が難解だったとしても…）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;そう、難しいことじゃない。。&lt;/p&gt;</description></item><item><title>視力とノートPCと筋肉と頭と　44</title><link>https://maaash.jp/2004/04/%E8%A6%96%E5%8A%9B%E3%81%A8%E3%83%8E%E3%83%BC%E3%83%88pc%E3%81%A8%E7%AD%8B%E8%82%89%E3%81%A8%E9%A0%AD%E3%81%A8%E3%80%8044/</link><pubDate>Sat, 10 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E8%A6%96%E5%8A%9B%E3%81%A8%E3%83%8E%E3%83%BC%E3%83%88pc%E3%81%A8%E7%AD%8B%E8%82%89%E3%81%A8%E9%A0%AD%E3%81%A8%E3%80%8044/</guid><description>&lt;p&gt;目が一気に悪くなった。&lt;br&gt;
先々週の一週間で、一気に。&lt;br&gt;
日に日に目が悪くなっていくことを実感できるほどのスピードで、怖かった。&lt;/p&gt;
&lt;p&gt;その一週間だけ、メインPCをノート型に変えたのでした。&lt;br&gt;
ノートPCだと、必然的に視線が下に落ちる。 → 周りの世界が視界に入らない。 → 集中できる。 → 休憩しない。 → 視点、焦点距離に変化が乏しい。 → 筋肉が衰える。&lt;br&gt;
ということだと思う。&lt;/p&gt;
&lt;p&gt;人の筋肉というのは素直なもので、、使わないとあっという間に衰える。成長させるのは大変なのに。。&lt;/p&gt;
&lt;p&gt;頭の筋肉も。。&lt;/p&gt;
&lt;p&gt;視力を良くする、もなんかやってみようかな。頭と同時に。&lt;/p&gt;</description></item><item><title>イラクと今後　43</title><link>https://maaash.jp/2004/04/%E3%82%A4%E3%83%A9%E3%82%AF%E3%81%A8%E4%BB%8A%E5%BE%8C%E3%80%8043/</link><pubDate>Thu, 08 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E3%82%A4%E3%83%A9%E3%82%AF%E3%81%A8%E4%BB%8A%E5%BE%8C%E3%80%8043/</guid><description>&lt;p&gt;イラクで日本人が3人拘束されたらしい。&lt;/p&gt;
&lt;p&gt;「予想されたことだ」&lt;br&gt;
まぁいつかは形に関わらず、人の命を取るか、自衛隊をイラクに居座らせるか、という判断になるとは誰もが思っていたでしょう。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「自衛隊は人道復興支援、撤退理由ない」福田官房長官&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;何人死ねば、帰る理由になるのでしょう。。。&lt;/p&gt;
&lt;p&gt;自衛隊のイラク支援に対する反対の世論強まる → 参議院選挙（7月） → 自民党大敗、政権交代、というのは興味深い流れです。&lt;br&gt;
そして年金制度改革はお流れ、っと。&lt;/p&gt;
&lt;p&gt;「沈黙の艦隊」みたく、解散総選挙、自衛隊をどうするか国民に委ねる、とかやったら日本人も政治に参加している実感が湧くだろうな。&lt;br&gt;
それが足りないと思うのです。&lt;br&gt;
自分が参加しているのだ、1票に価値があるのだ、という実感が。&lt;/p&gt;</description></item><item><title>personalizedぼんやり疑問　44</title><link>https://maaash.jp/2004/04/personalized%E3%81%BC%E3%82%93%E3%82%84%E3%82%8A%E7%96%91%E5%95%8F%E3%80%8044/</link><pubDate>Wed, 07 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/personalized%E3%81%BC%E3%82%93%E3%82%84%E3%82%8A%E7%96%91%E5%95%8F%E3%80%8044/</guid><description>&lt;p&gt;googleの&lt;a href="http://labs.google.com/personalized/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://labs.google.com/personalized/']);"&gt;personalized検索&lt;/a&gt;について。&lt;br&gt;
personalzedってこういうことなの？予め自分の興味のある分野を&lt;a href="http://labs.google.com/personalized/profile.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://labs.google.com/personalized/profile.html']);"&gt;指定しておいて&lt;/a&gt;、それら分野に該当するサイトの中から適切なサイトを選び出すのか？？&lt;/p&gt;
&lt;p&gt;そういうことなの？なんだか納得いかないのは、、&lt;br&gt;
検索には、自分が知らないこと/知りたいことをおしえてくれる、ことを求めていて、その知りたいこと、は過去に設定した興味のある分野の中にあるとは限らないのだ。&lt;br&gt;
過去の知識と未来に得るだろう知識は同じ範囲には無くて、「必ず」未来に得るだろう知識の方が過去のそれよりも広い範囲に分布しているはずだ。&lt;/p&gt;
&lt;p&gt;ところが、自分の未来の知識がどんな範囲にあるか、なんてことは全然誰にも予想できなくて、だからそっちの方向へはpersonalizeされないんじゃないかと思う。。&lt;br&gt;
と言うか、検索エンジンのpersonalizeって騒がれているけれど、personalizeされるべきものってなにも無いと思うんだけれど。。。&lt;br&gt;
&lt;a href="http://japan.internet.com/wmnews/20031002/12.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://japan.internet.com/wmnews/20031002/12.html']);"&gt;ここ&lt;/a&gt;に書いてある「jaguar」の例だって、無理があるでしょう、、、う～ん、そうでもないか、知りたいことが過去の興味に近い確率の方が高いのかもしれない…googleのやつも曖昧さを加味すれば使えるのかもしれない？&lt;br&gt;
&lt;a href="http://www.sem-research.jp/sem/se_news_2004/20040406015213.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.sem-research.jp/sem/se_news_2004/20040406015213.html']);"&gt;これ&lt;/a&gt;もいいかもしれない…&lt;br&gt;
でもそんな効果変わるんかなぁ、&lt;/p&gt;</description></item><item><title>見出しをつける技術　43</title><link>https://maaash.jp/2004/04/%E8%A6%8B%E5%87%BA%E3%81%97%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%8A%80%E8%A1%93%E3%80%8043/</link><pubDate>Tue, 06 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E8%A6%8B%E5%87%BA%E3%81%97%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%8A%80%E8%A1%93%E3%80%8043/</guid><description>&lt;p&gt;&lt;a href="http://japan.internet.com/home.shtml" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://japan.internet.com/home.shtml']);"&gt;japan.internet.com&lt;/a&gt;のサイトがrenewalしている。&lt;br&gt;
トップページにのる記事の見出しが増え、その分、それぞれの記事に関する内容説明が無くなった。&lt;/p&gt;
&lt;p&gt;いつも読んでいる&lt;a href="http://www.100shiki.com" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.100shiki.com']);"&gt;100shiki.com&lt;/a&gt;の記事が一日遅れで転載されているようだけれど、見出しのつけ方はどうなんだろう？&lt;br&gt;
inspilationを湧かせる、という方を重視しているのかもしれないが、見出しから内容の見当がつかない。あのjapan.internet.comの中ではいつもかなり浮いている気がする。&lt;br&gt;
内容の1行説明が無くなったらつらいんじゃないか？&lt;/p&gt;
&lt;p&gt;コンテンツを発信するためのツールがblog等のように増えてきて、情報がどんどんnetにあふれてくる。&lt;br&gt;
情報を取得するためのツールもrssreader等のように充実してきて、情報はどんどん1つ当たりのスペースを減らされて、漂う。&lt;br&gt;
氷山の一角を見て、採るべき情報かどうかを判断しなければならない。氷山全体を見るためにいちいち潜るのは時間の無駄だし、採るべき情報はどんどん希少になっていくだろう。&lt;/p&gt;
&lt;p&gt;見出しをつける技術、要約する技術、が発信者にもっと求められてきている気がする。&lt;/p&gt;</description></item><item><title>最近気になる芸術家　43</title><link>https://maaash.jp/2004/04/%E6%9C%80%E8%BF%91%E6%B0%97%E3%81%AB%E3%81%AA%E3%82%8B%E8%8A%B8%E8%A1%93%E5%AE%B6%E3%80%8043/</link><pubDate>Mon, 05 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E6%9C%80%E8%BF%91%E6%B0%97%E3%81%AB%E3%81%AA%E3%82%8B%E8%8A%B8%E8%A1%93%E5%AE%B6%E3%80%8043/</guid><description>&lt;p&gt;最近気になる芸術家。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.yanagimiwa.net/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.yanagimiwa.net/index.html']);"&gt;やなぎみわ　http://www.yanagimiwa.net/index.html&lt;/a&gt;&lt;br&gt;
物語が見えてきます。フェルメールの「窓辺で手紙を読む娘」をドレスデンで見たときに覚えたような楽しさ。ゆっくりと時間をかけて見た。&lt;/p&gt;
&lt;p&gt;AKIRAのバイクの人。&lt;br&gt;
&lt;a href="http://www.neo-fukuoka.com/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.neo-fukuoka.com/index.html']);"&gt;NEO FUKUOKA &lt;a href="http://www.neo-fukuoka.com/index.html" class="external-link" target="_blank" rel="noopener"&gt;http://www.neo-fukuoka.com/index.html&lt;/a&gt;&lt;/a&gt;　ここの&lt;a href="http://www.itmedia.co.jp/lifestyle/articles/0404/02/news040.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.itmedia.co.jp/lifestyle/articles/0404/02/news040.html']);"&gt;ニュース&lt;/a&gt;も。&lt;/p&gt;
&lt;p&gt;メーヴェをつくっている人。&lt;br&gt;
&lt;a href="http://www.petworks.co.jp/~hachiya/opensky/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.petworks.co.jp/~hachiya/opensky/index.html']);"&gt;八谷和彦&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;夢を追っている人はかっこいい。&lt;/p&gt;</description></item><item><title>散髪とIT　42</title><link>https://maaash.jp/2004/04/%E6%95%A3%E9%AB%AA%E3%81%A8it%E3%80%8042/</link><pubDate>Sun, 04 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E6%95%A3%E9%AB%AA%E3%81%A8it%E3%80%8042/</guid><description>&lt;p&gt;髪を切りに行った。&lt;br&gt;
普段通っているところが改装中なので、気になっていた、1050円の店へ。&lt;br&gt;
シャンプー無し、カットのみ。1050円。&lt;br&gt;
新しい。。&lt;/p&gt;
&lt;p&gt;散髪関連の設備がかなり安上がりのようだった。椅子は上下にしか動かないし、シャンプー用の洗面台もない。大きな鏡の前に座るだけ。&lt;br&gt;
その代わり、店のシステムは先進的だった。店員一人一人がSigmarionを持ち、無線でサーバーとつながって、受け持つお客さん情報を見たりできるようだった。入り口には待ち人数を見られる端末が置かれ、混んでいる時に隣町の系列店へ流れられるように他店の待ち人数も見られる。&lt;/p&gt;
&lt;p&gt;散髪の腕は悪くなかった。少ない言葉数を想像で補った辺りできあがりは期待と違ったけれど、まぁいい。&lt;/p&gt;
&lt;p&gt;床屋さんにもIT化の波。&lt;br&gt;
ITが無くても1050円散髪は実現できるので、他系列店へ流れやすい、顧客情報を見やすい、というITによる新しい価値。&lt;br&gt;
後者のメリットのせいか、リピート率は高いらしい。&lt;/p&gt;
&lt;p&gt;なんだかあまりITと関連し無そうな業界でITを積極的に利用していて、新鮮な感覚。&lt;br&gt;
進歩しようとする姿勢が感じられて嬉しい。&lt;/p&gt;</description></item><item><title>ラジオ体操とリズム感　43</title><link>https://maaash.jp/2004/04/%E3%83%A9%E3%82%B8%E3%82%AA%E4%BD%93%E6%93%8D%E3%81%A8%E3%83%AA%E3%82%BA%E3%83%A0%E6%84%9F%E3%80%8043/</link><pubDate>Fri, 02 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/%E3%83%A9%E3%82%B8%E3%82%AA%E4%BD%93%E6%93%8D%E3%81%A8%E3%83%AA%E3%82%BA%E3%83%A0%E6%84%9F%E3%80%8043/</guid><description>&lt;p&gt;昨日のliveで、隣に座っていた人はどんなリズムのどんな曲でも、同じ自分のリズムを刻んで頭を前後に揺らしていた。。&lt;/p&gt;
&lt;p&gt;日本人ってなんだかリズム感が悪いイメージがある。ライブで曲に合わせて手を叩くような場面で早くなったり、、そんなイメージ。&lt;/p&gt;
&lt;p&gt;ラジオ体操って良くないんじゃないの？膝をがにまた風に屈伸しながら腕をぶらんぶらんさせる運動、つま先でぴょんぴょん飛ぶような運動、切り替わる時にリズムはがらりと変わる。頻繁に。切り替わるたびに、なんだか力が抜けるようにぐたっとくる。&lt;/p&gt;
&lt;p&gt;そんなようだから、リズムに合わせて体操する、っていう感覚は無い。&lt;br&gt;
みんな自分のリズムに合わせて身体をひねったり飛び跳ねたり。リズムに意味は無かったのか？！&lt;/p&gt;
&lt;p&gt;幼い頃からそんなふうに、音と身体の動きがばらばらな状態、をふつーに思えるような環境で育ってたらリズム感つかないんじゃないでしょうか。&lt;/p&gt;
&lt;p&gt;それとも最近よく言われるような、遺伝的にリズム感悪い、なんていう話もありえるのだろうか？？&lt;/p&gt;</description></item><item><title>MotionBlueのポテト 44</title><link>https://maaash.jp/2004/04/motionblue%E3%81%AE%E3%83%9D%E3%83%86%E3%83%88-44/</link><pubDate>Thu, 01 Apr 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/04/motionblue%E3%81%AE%E3%83%9D%E3%83%86%E3%83%88-44/</guid><description>&lt;p&gt;&lt;a href="http://www.sonymusic.co.jp/Music/Arch/SR/YosukeOnuma/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.sonymusic.co.jp/Music/Arch/SR/YosukeOnuma/']);"&gt;ライブ&lt;/a&gt;に行ってきた。&lt;br&gt;
ずばり演奏はおもしろくなかったし、演奏以外にも求めている、アーティスト自身の人柄の魅力、についても不満足だったのだけれど、&lt;a href="http://www.motionblue.co.jp/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.motionblue.co.jp/']);"&gt;MotionBlue&lt;/a&gt;はおいしいポテトフライを出すし、なによりライブはいいものだ、と感じた。&lt;/p&gt;
&lt;p&gt;音楽が直接身体全体を揺さぶる。&lt;br&gt;
いくらおもしろくないとはいえ数曲は歌になっている演奏もある。そんな時にはノリノリな能動的な動きと奥から揺さぶられる受動的な動きがあいまってそりゃもういい感じになる。&lt;br&gt;
生演奏はいいな～&lt;/p&gt;
&lt;p&gt;ドラマーの&lt;a href="http://www.players.co.jp/~yamaki/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.players.co.jp/~yamaki/']);"&gt;山木さん&lt;/a&gt;はがんばっていたな。「日本の宝」とまで言われていただけある。いつかまた聴きたい。&lt;/p&gt;</description></item><item><title>ゴン　43</title><link>https://maaash.jp/2004/03/%E3%82%B4%E3%83%B3%E3%80%8043/</link><pubDate>Wed, 31 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E3%82%B4%E3%83%B3%E3%80%8043/</guid><description>&lt;p&gt;サッカー日本辛くも勝利。&lt;/p&gt;
&lt;p&gt;なんでみんなもったいぶってあんな遅いパス回しして、ゴールへの意識も薄いし、とろとろ動いてるんだ？&lt;/p&gt;
&lt;p&gt;ゴンみたいなのが欲しいぞ！&lt;br&gt;
熱くなれるようなプレーしてください。&lt;/p&gt;</description></item><item><title>夢と夢　43</title><link>https://maaash.jp/2004/03/%E5%A4%A2%E3%81%A8%E5%A4%A2%E3%80%8043/</link><pubDate>Tue, 30 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E5%A4%A2%E3%81%A8%E5%A4%A2%E3%80%8043/</guid><description>&lt;p&gt;夢のことを書いて、思った。&lt;br&gt;
夜睡眠中に見る「夢」と、将来の「夢」、ってなぜ同じ言葉を用いるのだろう？&lt;/p&gt;
&lt;p&gt;と調べてみると、googleで一発！世の中便利になったものです。。→&lt;a href="http://gogen-allguide.com/yu/yume.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://gogen-allguide.com/yu/yume.html']);"&gt; 語源由来辞典&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;夢の語源は、「寝目（いめ）」で、「寝（い）」は睡眠、「目（め）」は見えるものの意味である。平安時代頃より、「ゆめ」に転じ、「はかなさ」など種々の意味で、比喩的にも用いられるようになった。将来の希望といった意味で、使われ始めたのは、近代以降である&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;思い出した。&lt;br&gt;
よく、イメージすれば夢はかなう、みたいな成功本がある。読んだことはないが。&lt;br&gt;
目標を明確にして、目標に到達するマイルストーンを細かく置いて、それらに至るアプローチの精度をあげていく。&lt;br&gt;
なにかを実現するための普通のアプローチを取る、というのは変わらないんだろうけれど、「夢」と言えるような大きな目標って道のりが長すぎてそういう普通のアプローチを取りにくいところがあると思う。&lt;br&gt;
それを紙に書いたりして、現実的なものとして意識する、ところがポイントなのだと思う。&lt;/p&gt;
&lt;p&gt;なんだか話の流れが結論と結びつかないが、、&lt;br&gt;
夢に見るほど努力すれば夢もかなう、ということだという気がする。&lt;/p&gt;</description></item><item><title>夢といちご　32</title><link>https://maaash.jp/2004/03/%E5%A4%A2%E3%81%A8%E3%81%84%E3%81%A1%E3%81%94%E3%80%8032/</link><pubDate>Mon, 29 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E5%A4%A2%E3%81%A8%E3%81%84%E3%81%A1%E3%81%94%E3%80%8032/</guid><description>&lt;p&gt;言葉にすると怖いけれど、実際夢を実体験中には怖くなかった、夢を見た。&lt;/p&gt;
&lt;p&gt;帯状の黒い跡が足首にできていた。あざみたいなもの。&lt;br&gt;
次、気づくと、ひざしたから足の甲までを暗い濃い赤、緑、紺、黒、みたいな色をしたへびがその色数分くっついてる。4匹とか、それくらい。&lt;br&gt;
だんだん下へ伸びるようにして成長している。&lt;br&gt;
あざのような、呪いのような。&lt;br&gt;
それぞれのへびが生命を持っていて、触感を確かめにさわるとばらばらに刺激に反応する。足首辺りに固定されながら、うにょうにょと動く。&lt;br&gt;
触感はまるで本当のへびのよう。&lt;br&gt;
怖い（ようだが実際そんなに怖かった覚えは無い）。&lt;/p&gt;
&lt;p&gt;少なくとも、色はあるし、触覚もある。&lt;br&gt;
ということが分かった。&lt;/p&gt;
&lt;p&gt;夢って、時間の感覚が無い。&lt;br&gt;
「次、気づくと」、というのがその前からどれだけ経っていたのか、見当もつかない。&lt;/p&gt;
&lt;p&gt;というか、そもそも人間って時間の感覚なんてものを持っていないような気がしてきた。だいたい長くても10時間くらいしか寝てないだろう、24時間寝て次の日の朝、なんてことは無いよな、明るいけど目覚ましが鳴ってないからまだ6時くらいかな、とかっていうかなり曖昧な気づき方しかできない。&lt;br&gt;
ふむ。&lt;/p&gt;
&lt;p&gt;今日はいい夢を観たいぞ。&lt;/p&gt;
&lt;p&gt;いちご狩りへも行ったのでした。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/ichigo.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/ichigo.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/ichigo.jpg" width=120/&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>脱皮　54</title><link>https://maaash.jp/2004/03/%E8%84%B1%E7%9A%AE%E3%80%8054/</link><pubDate>Sun, 28 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E8%84%B1%E7%9A%AE%E3%80%8054/</guid><description>&lt;p&gt;今日から、hp移転完了。&lt;br&gt;
新たなプラットフォームでなにをしようか。&lt;/p&gt;
&lt;p&gt;花見をしてきました。&lt;br&gt;
&lt;a href="http://slightlyblue.com/blog/images/sakura.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/sakura.jpg']);"&gt;&lt;img src="https://slightlyblue.com/blog/images/sakura.jpg" width="120" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>生活レベル　43</title><link>https://maaash.jp/2004/03/%E7%94%9F%E6%B4%BB%E3%83%AC%E3%83%99%E3%83%AB%E3%80%8043/</link><pubDate>Sat, 27 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E7%94%9F%E6%B4%BB%E3%83%AC%E3%83%99%E3%83%AB%E3%80%8043/</guid><description>&lt;p&gt;先日、キャッシュフローゲームをひさしぶりに友人とやった。3人中1人だけrat-raceを抜けて夢をつかんで勝利！&lt;/p&gt;
&lt;p&gt;ゲームバランスを支えているポイントは、職業を変えることができない、ということに1つある気がした。&lt;br&gt;
医者に生まれるともともとのキャッシュフローが大きい変わりに不可避である出費が大きい。other expensesとか表現されているものとか、子の養育費とか。生活レベル、みたいなものでしょう。&lt;/p&gt;
&lt;p&gt;現実世界では転職できるし、生活レベルを落とすことも意志次第。&lt;br&gt;
生活レベルを落とす、を1つの選択肢として持っておけば、らくらく人生はもっと手に入れやすいものなのかもしれません。&lt;br&gt;
生活レベル＝豊かさ、は成り立たないので。&lt;/p&gt;</description></item><item><title>ご冗談でしょう　43</title><link>https://maaash.jp/2004/03/%E3%81%94%E5%86%97%E8%AB%87%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%80%8043/</link><pubDate>Wed, 24 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E3%81%94%E5%86%97%E8%AB%87%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%80%8043/</guid><description>&lt;p&gt;おもしろい本を読み終えたので、印象に残ったところを抜粋します。&lt;br&gt;
その本とは、「ご冗談でしょう、ファインマンさん」著：R.P.ファインマン 訳： 大貫昌子&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;前にはあんなに物理をやるのが楽しかったというのに、今はいささか食傷気味だ。なぜ昔は楽しめたのだろう？そうだ、以前は僕は物理で遊んだのだった。いつもやりたいと思ったことをやったまでで、それが核物理の発展のために重要であろうがなかろうが、そんなことは知ったことではなかった。ただ僕が面白く遊べるかどうかが決め手だったのだ。 中略 僕はただ自分で楽しむためにいろんなことを発明したり、いろいろ作ったりして遊んだだけの話だ。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;2つめ&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;芸術とは人ひとりひとりに喜びを与えるものだ。それに心酔するあまり幸福になったり、憂うつになったりするような、そんな力のあるものを人間はほんとうに作ることができるのだ！&lt;/p&gt;
3つめ&lt;br&gt;
亭主というものは、いつも女房が間違っていることを証明したがるものだ。そして彼は世の亭主の常ながら、やっぱり女房が正しかったのだということを発見したわけだ。&lt;/p&gt;
もう1つ、綺麗にまとまった引用ができないが、日本についてほめている箇所は印象に残った。もっと自分の国を知りたい、嫉妬を思わせるような感情が喚起された。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>桜　43</title><link>https://maaash.jp/2004/03/%E6%A1%9C%E3%80%8043/</link><pubDate>Tue, 23 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E6%A1%9C%E3%80%8043/</guid><description>&lt;p&gt;やっぱり出会いはおもしろい。&lt;/p&gt;
&lt;p&gt;つまらなかった時の時間無駄にしたよ感、に対して、おもしろい出会いがあった時の興奮 x その起こりえる確率、が勝ててなかったイメージがあった。&lt;br&gt;
あえて言い訳するならばそんな理由だった。&lt;/p&gt;
&lt;p&gt;でもやっぱ集まるところには集まるんだね～。&lt;br&gt;
新しい出会いとつながるところの充実っぷりなのでしょう（今回は田口さん）、おもしろい人はおもしろい人に惹かれ、好循環になっている気がします。&lt;/p&gt;
&lt;p&gt;確率、を大きく感じる人/小さいと感じる人、この差は大きいんだろうな、。&lt;br&gt;
positive thinking。&lt;/p&gt;
&lt;p&gt;次の機会には、こっちの引き出しもあけてみようか。&lt;/p&gt;</description></item><item><title>伊藤志宏Live@赤坂B♭　42</title><link>https://maaash.jp/2004/03/%E4%BC%8A%E8%97%A4%E5%BF%97%E5%AE%8Flive%E8%B5%A4%E5%9D%82b%E2%99%AD%E3%80%8042/</link><pubDate>Mon, 22 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E4%BC%8A%E8%97%A4%E5%BF%97%E5%AE%8Flive%E8%B5%A4%E5%9D%82b%E2%99%AD%E3%80%8042/</guid><description>&lt;p&gt;週末はいろいろありましたが、とりあえず土曜から。&lt;br&gt;
伊藤志宏Live!＠&lt;a href="http://www.bflat.jp/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.bflat.jp/']);"&gt;赤坂B♭（ビーフラット）&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;特に最初の2曲、大事な一瞬に立ち会っているような緊張感があった。&lt;br&gt;
握り締めてもいないのに、手に汗をかいていた。&lt;br&gt;
この日は滑り出しの演奏が一番好きでした。&lt;/p&gt;
&lt;p&gt;その後は気のせいか苦しそうな、。&lt;br&gt;
ベーシストがかっこよかったな、人懐っこそうな微笑を浮かべながらありえないsoloを弾く。ピアノ/ドラムのSoloの決まった！って時にそっちを向いて笑ったりするところがめちゃめちゃ楽しそうだ！&lt;/p&gt;
&lt;p&gt;店の雰囲気も良かった。&lt;br&gt;
志宏でなくとも、いつかふらっとまた立ち寄ってみたいです。&lt;/p&gt;
&lt;p&gt;UAのCD： &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0001DD0VM/masaishere-22" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/B0001DD0VM/masaishere-22']);"&gt;SUN&lt;/a&gt; も買うべし。。&lt;/p&gt;</description></item><item><title>居住国の選び方　23</title><link>https://maaash.jp/2004/03/%E5%B1%85%E4%BD%8F%E5%9B%BD%E3%81%AE%E9%81%B8%E3%81%B3%E6%96%B9%E3%80%8023/</link><pubDate>Thu, 18 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E5%B1%85%E4%BD%8F%E5%9B%BD%E3%81%AE%E9%81%B8%E3%81%B3%E6%96%B9%E3%80%8023/</guid><description>&lt;p&gt;印象に残った記事:&lt;a href="http://japan.internet.com/finanews/20040317/7.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://japan.internet.com/finanews/20040317/7.html']);"&gt;居住国を選ぶ&lt;/a&gt;。&lt;br&gt;
要するに、なぜ日本に住むかという理由をじっくり考えてみると実はそんなに無い、むしろ&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;本当はもっと素晴らしい環境に居住する「機会の損失」を被っている可能性がある&lt;/p&gt;
そして、&lt;br&gt;
居住国としての日本の国際競争力が低下しているのは、間違いないように感じます。 このニュアンスの延長線上で、海外で活躍するプロ達の映像を見て「日本人もやるなあー」と手放しに喜んでいるのは、どうも危機感に欠けたしっくり来ない議論のようにも思います。&lt;/p&gt;
たしかに、。&lt;br&gt;
会社でも、大阪へ行くのも欧へ行くのも変わらない、と言っている。友人、親から離れること、が一番大きい。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ただ、富よりも、引用元でかすかにふれている、才能、または知の流出の方が大問題だろうな。&lt;/p&gt;
&lt;p&gt;そして問題は、こんなふうに国家間の壁が取り払われていくと、一体なにを判断基準として居住国を選択していくのだろう？&lt;br&gt;
自分の生活ステージにしたがって居住国を変えるような生活スタイルになるのだろうか？例えば、結婚直後は教育制度のしっかりしている国、働き盛りは所得税の低い国、老後は福祉の厚い国？&lt;/p&gt;
&lt;p&gt;言語の壁に阻まれている場合じゃない。&lt;/p&gt;</description></item><item><title>家探し試行の感想　13</title><link>https://maaash.jp/2004/03/%E5%AE%B6%E6%8E%A2%E3%81%97%E8%A9%A6%E8%A1%8C%E3%81%AE%E6%84%9F%E6%83%B3%E3%80%8013/</link><pubDate>Wed, 17 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E5%AE%B6%E6%8E%A2%E3%81%97%E8%A9%A6%E8%A1%8C%E3%81%AE%E6%84%9F%E6%83%B3%E3%80%8013/</guid><description>&lt;p&gt;ちょっと、一人暮らしでもしようかと思案中。&lt;br&gt;
賃貸マンションの間取り図を見たりしている。&lt;/p&gt;
&lt;p&gt;なんだか広さの感覚がわかない。&lt;br&gt;
20m2と言われても、その広さをどう感じるのか、わからない。&lt;br&gt;
実家の部屋の隅に立って、俯瞰した気分で眺めてみる。もちろん間取りは違うわけで、その中で錯覚に惑わされずに図面をイメージできている自信が持てない。&lt;/p&gt;
&lt;p&gt;こんな時に、HMD（Head Mounted Display）があって、完全に視覚を入れ替えてしまえたらな、と思う。&lt;br&gt;
そう、HMDはただ大画面を手軽に、というだけでなく、外界から視覚を完全に遮断するところにも特徴があるようだ。&lt;br&gt;
思えば、そういった特徴をもつデバイスって少ないな、。&lt;/p&gt;</description></item><item><title>CSSと上流意識　23</title><link>https://maaash.jp/2004/03/css%E3%81%A8%E4%B8%8A%E6%B5%81%E6%84%8F%E8%AD%98%E3%80%8023/</link><pubDate>Tue, 16 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/css%E3%81%A8%E4%B8%8A%E6%B5%81%E6%84%8F%E8%AD%98%E3%80%8023/</guid><description>&lt;p&gt;hpのリニューアルを細々と進めています。&lt;br&gt;
4/1までには完了させましょう。&lt;/p&gt;
&lt;p&gt;CSSを少しいじっている。DIVを使って、ブロックとしてコンテンツを扱って配置していく。&lt;br&gt;
htmlは直接秀丸エディタで書く。&lt;/p&gt;
&lt;p&gt;CSSをいじり始めてしばらくすると、オブジェクト、idの使い方がポイントになることがわかってくる。&lt;br&gt;
ソフトウェア開発でいう、コーディングのプロセスより、設計のプロセスに重点が移ってきていることを意識する。&lt;br&gt;
一般的なプログラミング言語の世界が広がってきて開発者が増え開発規模が大きくなり、オブジェクト指向が生まれ、UMLが生まれ、価値が下流からだんだん上流にシフトしてくる。&lt;br&gt;
そんな動きをweb開発でも感じた今日この頃。&lt;/p&gt;
&lt;p&gt;CSSなんてだいぶ前からある技術でそんなふうに感じられるなんて。&lt;br&gt;
上流が大切、という考えがだんだん世の中の一般的な常識として広がってくれば、「頭を使った開発」を些細な規模の開発にも意識してきて、人類の平均として頭が良くなったりしそうな。なんだかよくわからないけれど。&lt;/p&gt;</description></item><item><title>否定の技術　23</title><link>https://maaash.jp/2004/03/%E5%90%A6%E5%AE%9A%E3%81%AE%E6%8A%80%E8%A1%93%E3%80%8023/</link><pubDate>Mon, 15 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E5%90%A6%E5%AE%9A%E3%81%AE%E6%8A%80%E8%A1%93%E3%80%8023/</guid><description>&lt;p&gt;否定する、というのはすごく難しい技術を要する行為だと思う。&lt;br&gt;
_|￣|○&lt;/p&gt;
&lt;p&gt;勤めている会社では、研究職、というジャンルの仕事についている。ちょうど3月、期の境目ともなると、今期の成果、来期の取り組み予定、等についてチェックされる。いわゆるMOT（Management of Technology）というやつかな。&lt;/p&gt;
&lt;p&gt;その中で、自分のやりたいことを上に提案する。こんなサービスあったらうれしいな。こんな機器あったらうれしいな。技術的にはこんなところを解決したい、と。&lt;br&gt;
自分のやりたいことが、会社のやらせたいことと一致するなんてことはめったにないので、基本的には否定される。わずかな提案が通る。&lt;/p&gt;
&lt;p&gt;上司の一人は否定するのが下手っぴなのだ。その上司本人に大きな権限があるわけでもないので実際さして困らないのだが、精神的に辛い。別の上司は上手に否定する。近くにいるからこそその能力の差は目立つ。&lt;/p&gt;
&lt;p&gt;否定は、感情的ではなく冷静に、また正確な裏付けを示して、するべきだ。&lt;br&gt;
そして、可能であれば、その提案を別の方面から観察した時のメリットを示してあげるとなお良い。&lt;br&gt;
否定される、のはそれ自体ダメージになるのは避けられなくて、その後新たな道を示してあげる、もしくは否定の原因となった評価方法に関する知識を補ってあげる、ことで立ち直りに時間かからないようにする、のが賢明なのかな～。。&lt;/p&gt;</description></item><item><title>映画感　44</title><link>https://maaash.jp/2004/03/%E6%98%A0%E7%94%BB%E6%84%9F%E3%80%8044/</link><pubDate>Sun, 14 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E6%98%A0%E7%94%BB%E6%84%9F%E3%80%8044/</guid><description>&lt;p&gt;映画を観た。先日テレビでやっていた「たそがれ清兵衛」と「英雄 -hero-」。&lt;br&gt;
どちらも満足。&lt;/p&gt;
&lt;p&gt;日本の映画は普段ほとんど観ない。&lt;br&gt;
なんとなく、日本語をお金をはらって見る/聞くことに抵抗があるし、アクションやCGに特筆すべきものがあるわけでもなく。&lt;br&gt;
現実が一番ドラマティックなのだ。&lt;br&gt;
アニメはたまに見る。現実にはありえないし、技術的にも世界レベル。&lt;/p&gt;
&lt;p&gt;「たそがれ清兵衛」は、アカデミーの外国語映画部門でノミネートされた、ということで興味をもった。&lt;br&gt;
観て良かった。じわりとそう感じた。日本にしかつくれない映画なのかもしれない。&lt;br&gt;
こういうのが多かったんならもっと観ようかな～。&lt;/p&gt;
&lt;p&gt;「英雄 -hero-」はワイヤーアクションを見てみたかった。そろそろこの技術は限界かな？1本の中でも似たシーンが繰り返されたし、実際飽きた。&lt;br&gt;
映像は綺麗だった。そう思わせようという思いが直接感じられて、素直に綺麗と感じた。&lt;br&gt;
使う色の数が少なければ、絵になるんだな、きっと。単純だけど。&lt;/p&gt;
&lt;p&gt;でも、多彩な色を使いながら、全体として調和が取れている、という方が感動しそうな。カンディンスキーとか。&lt;/p&gt;</description></item><item><title>印象空間　43</title><link>https://maaash.jp/2004/03/%E5%8D%B0%E8%B1%A1%E7%A9%BA%E9%96%93%E3%80%8043/</link><pubDate>Sat, 13 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E5%8D%B0%E8%B1%A1%E7%A9%BA%E9%96%93%E3%80%8043/</guid><description>&lt;p&gt;SD-Jukeboxを使っている。&lt;a href="http://prodb.matsushita.co.jp/product/info.do?pg=04&amp;#038;hb=SV-SD80" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://prodb.matsushita.co.jp/product/info.do?pg=04&amp;hb=SV-SD80']);"&gt;SV-SD80&lt;/a&gt;のツール。プレイヤーとしてはかなりあほだし、SDへのCheckIn/Outという仕組みがものすごくunfriendlyに作ってあるのだが、おもしろい機能がついている。&lt;/p&gt;
&lt;p&gt;ミュージックソムリエ。&lt;br&gt;
CDをリッピングする際に、楽曲毎にbeatだとか音楽的特徴量を抽出して、感覚的なI/Fに配置しなおしてくれる。&lt;br&gt;
「ウキウキ系」「癒し系」といった言葉で選曲できる。買った当初いじっただけでつい最近までほっといていた。&lt;/p&gt;
&lt;p&gt;我慢して使い続けているうちに、かなりのアルバムが蓄積されてきた。501曲、というから50枚弱くらいかな。そうなると、聴きたいアーティストをフォルダ選択する時大変だ。Aerosmith, Ann Saly, Ayumi Hamasakiから、、、Yasuji Ohagiに達するまでスクロールすることになる。&lt;/p&gt;
&lt;p&gt;そうなってみて初めて気づいたのだけれど、自分は、直接だれの音楽を聴きたい、と思うのではなくて（そういう時もたまにあるが）、言葉にならないもわもわっとしたある印象の曲を聴きたい、と思ってそれをアーティスト名に無意識に翻訳しなおして、選択しているようなのだ。&lt;br&gt;
それを一段すっ飛ばして、気分で選べる。&lt;/p&gt;
&lt;p&gt;見直し始めている。&lt;br&gt;
しかもあながち外れてもいない。&lt;br&gt;
今も、「騒ぎたい感じ」でElvisを聴かせてくれている。&lt;/p&gt;
&lt;p&gt;印象空間&lt;a href="http://slightlyblue.com/blog/images/feelingmap.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://slightlyblue.com/blog/images/feelingmap.jpg']);"&gt;&lt;img alt="feelingmap.jpg" src="https://slightlyblue.com/blog/images/feelingmap-thumb.jpg" width="120" height="120" border="0" /&gt;&lt;/a&gt;も興味深い。SoftよりなQuietな曲が多いな～。&lt;br&gt;
人のも見てみたい。&lt;/p&gt;</description></item><item><title>スイッチと選択　33</title><link>https://maaash.jp/2004/03/%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%E3%81%A8%E9%81%B8%E6%8A%9E%E3%80%8033/</link><pubDate>Thu, 11 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%E3%81%A8%E9%81%B8%E6%8A%9E%E3%80%8033/</guid><description>&lt;p&gt;&lt;a href="http://www.upwest.org/K/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.upwest.org/K/']);"&gt;K.&lt;/a&gt;より&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;世の中にあふれるボタン。&lt;br&gt;
ついつい押したくなりませんか？&lt;/p&gt;
&lt;p&gt;なぜ押したくなるのか、&lt;br&gt;
そして押す事に何を期待するのか。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;という問題。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;押したら何かが起きる、と言うルールのすり込みだ&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;という意見、アフォーダンス、といろいろあります。&lt;br&gt;
アフォーダンスはスイッチに対してどうするか？という疑問に対して、なでるのではなくて押す、という回答を与えるものではあっても、押す理由は与えないと思うのです。&lt;/p&gt;
&lt;p&gt;「押すことしかできないから」&lt;br&gt;
だと思います。&lt;br&gt;
排他的ではなくて、人はいろんな訴えられ方をしているのかもしれませんが、自分にはそれが一番しっくりくる。&lt;/p&gt;
&lt;p&gt;そこに、スイッチ、がチャレンジとして存在していて、押す/押さない、という2つの選択肢しかなかったら、押す、方を選ぶ。&lt;/p&gt;
&lt;p&gt;人生は全て選択の連続であって、現状維持はなにもしないのではなく、現状維持を常に選択しているのだ。&lt;br&gt;
そういう考え方が好きです。&lt;br&gt;
現状維持をしているわけにはいかなくて、どうしても、スイッチを押してしまうのです。&lt;/p&gt;</description></item><item><title>まぁそれも含めて、　33</title><link>https://maaash.jp/2004/03/%E3%81%BE%E3%81%81%E3%81%9D%E3%82%8C%E3%82%82%E5%90%AB%E3%82%81%E3%81%A6%E3%80%81%E3%80%8033/</link><pubDate>Wed, 10 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E3%81%BE%E3%81%81%E3%81%9D%E3%82%8C%E3%82%82%E5%90%AB%E3%82%81%E3%81%A6%E3%80%81%E3%80%8033/</guid><description>&lt;p&gt;苦手な言葉がある。&lt;br&gt;
「まぁそれも含めて、」というようなフレーズだ。&lt;br&gt;
真剣に議論している時にそう切り返されると、しなしなしな、と弱ってしまう。&lt;br&gt;
含められてしまったか、ってつぶやきたくなるような。&lt;/p&gt;
&lt;p&gt;そんなことを思っていたら、ある本に強く影響されているような気がして自分を観察してみると、実にそうだった。&lt;br&gt;
その本は、&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4042693016/ref=sr_aps_b_/250-0252956-1473856" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.amazon.co.jp/exec/obidos/ASIN/4042693016/ref=sr_aps_b_/250-0252956-1473856']);"&gt;「聖なる予言」ジェームズ レッドフィールド (著)。&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;大昔に読んだのでおおまかな流れしか覚えていない。後で読み返してみよう。&lt;br&gt;
amazonのレビューを読むと、うさんくさいと思ってしまった人と、実践してみてよかったっ！って人がいる。自己啓発系、というかたしかにうさんくさい。エネルギー、とか出てきちゃうし。&lt;br&gt;
でも、そのうさんくさいところを素直に受け入れると、ものの見方が変わる。&lt;/p&gt;
&lt;p&gt;うろ覚えでは、たいがいの人は相手のエネルギーを奪うように会話をする。その奪い方が何種類か書いてあって、そのまま実在の隣人にあてはめたりでき（たような気がす）る。それに、そのエネルギーの収受は見えるのだ。そういえば、読んでいた頃に一生懸命そのオーラと言うようなものを見ようとしていた気がする。&lt;br&gt;
それに対して、恋する2人はお互いのエネルギーを高めあうようなコミュニケーションをとる。思い当たるでしょう？&lt;/p&gt;
&lt;p&gt;そんなエネルギーを意識すると、自戒するところが多い。&lt;br&gt;
そして、「まぁそれも含めて、」とか言われちゃうとエネルギー吸われるんだよ！&lt;/p&gt;
&lt;p&gt;もうひとつ、「導かれる」という言葉を好きなのもこの本の影響だけれど、略。&lt;/p&gt;</description></item><item><title>伊藤志宏最新ライブ情報 23</title><link>https://maaash.jp/2004/03/%E4%BC%8A%E8%97%A4%E5%BF%97%E5%AE%8F%E6%9C%80%E6%96%B0%E3%83%A9%E3%82%A4%E3%83%96%E6%83%85%E5%A0%B1-23/</link><pubDate>Tue, 09 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E4%BC%8A%E8%97%A4%E5%BF%97%E5%AE%8F%E6%9C%80%E6%96%B0%E3%83%A9%E3%82%A4%E3%83%96%E6%83%85%E5%A0%B1-23/</guid><description>&lt;p&gt;最近、「伊藤志宏」という検索語で検索エンジンからリンクをたどってくる人が多い。まだメジャーでないだけに、少ないhitの中から飛んでくるのでしょう。&lt;br&gt;
ここは、伊藤志宏の非公式応援サイトでもある（他にもいろいろある）ので、ここに最新のおすすめライブ情報をのせましょう。&lt;/p&gt;
&lt;p&gt;日程: 2004/03/20（土/祝）&lt;br&gt;
場所: 赤坂B♭（ビーフラット）tel: 03-5563-2563&lt;br&gt;
予算: 予約\2000　当日\2300&lt;/p&gt;
&lt;p&gt;おすすめのバンドだそうです。&lt;br&gt;
このサイトからこのライブ情報を見つけて実際聴きに行った人は、その旨誰かにもらしてください。将来公式サイトとなる時のための布石となるかもしれません。。&lt;/p&gt;
&lt;p&gt;今度発売の&lt;a href="http://www.aloha.co.jp/NEO_ALOHA/html/ARTIST/UA.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.aloha.co.jp/NEO_ALOHA/html/ARTIST/UA.htm']);"&gt;UA&lt;/a&gt;のアルバムSUNにpianistとして参加しているそうです。シングルカットのLightningでも弾いてるというからすごい！&lt;/p&gt;
&lt;p&gt;彼の音楽は、かれこれ10年聴いている。&lt;br&gt;
いつかこんなことを言っていた。&lt;br&gt;
jazzは1小節にどれだけつめこむか、だ。&lt;br&gt;
　昨日も書いたようにせりふそのままではなく、こんな内容の話をしていた、ということ。&lt;br&gt;
最近はきっとそういう言葉は出てこないんだろうな、という弾き方をする。&lt;br&gt;
テクニックだけではない。&lt;br&gt;
うたが聴こえてくる。&lt;br&gt;
もっともっとうたを大事にしてほしいなぁ。&lt;br&gt;
むしろ音符の数を少なくして、どんな音楽になるか聴いてみたい。&lt;/p&gt;
&lt;p&gt;来週末はどんな音を聴かせてくれるだろうか。&lt;/p&gt;</description></item><item><title>写実的なコミュニケーション　23</title><link>https://maaash.jp/2004/03/%E5%86%99%E5%AE%9F%E7%9A%84%E3%81%AA%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%80%8023/</link><pubDate>Mon, 08 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E5%86%99%E5%AE%9F%E7%9A%84%E3%81%AA%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%80%8023/</guid><description>&lt;p&gt;電車に座りながら、正面のつりかわにつかまりながらおしゃべりをしている女性2人の話が耳に入ってきた。&lt;br&gt;
男女って脳みその中の記憶の持ち方が違うのかな～。。&lt;/p&gt;
&lt;p&gt;＊＊＊＊とか言って、○○○○って思って、そしたら△△△△とか言って、・・・&lt;br&gt;
こんなふうに（引用が下手っぴですが）、その女の子達は、感じたことや口に出した言葉、耳にした言葉、をそのまんま繰り返すようにして話しながら会話を進めていく。&lt;br&gt;
一人二役を演じたりもしている。&lt;br&gt;
思えば、知人にもそういうおしゃべりの仕方をする人はいる。&lt;br&gt;
女性だ。&lt;/p&gt;
&lt;p&gt;男性にはいないな。&lt;br&gt;
だいたい、話している相手のせりふや自分の言葉、を一つ一つちゃんと覚えてなんかいない。次の日になったらほぼ完全に忘れている。&lt;br&gt;
その代わり、印象というか、その場の空気、雰囲気、感動、相手の表情、はきちんと記憶に残っている。&lt;br&gt;
逆に、そんな抽象的な感覚から、その場のやり取りを再構築するような思い出し方をする。&lt;/p&gt;
&lt;p&gt;あったことを誰かに話す時もそう。&lt;br&gt;
消化した残った意味を伝えようとする。自分がなぜその感覚を抱いたのか。原因と結果。&lt;/p&gt;
&lt;p&gt;写実的な会話をした方が、相手を引き込みやすいかもしれない。&lt;br&gt;
そんな視点で少し観察してみようかな。&lt;/p&gt;</description></item><item><title>夢コントロール　23</title><link>https://maaash.jp/2004/03/%E5%A4%A2%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%80%8023/</link><pubDate>Sun, 07 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/%E5%A4%A2%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%80%8023/</guid><description>&lt;p&gt;最近、夢をコントロールする、に関連した話題がよく耳に入ってくるようだ。橋本さんのところで読んだ&lt;a href="http://www.ringolab.com/note/daiya/archives/001062.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ringolab.com/note/daiya/archives/001062.html']);"&gt;「ヒトはなぜ、夢を見るのか」&lt;/a&gt;と、今読んでいる「ご冗談でしょう、ファインマンさん」というノーベル物理学賞を受賞している著者の本。&lt;br&gt;
導かれているかもしれない。&lt;/p&gt;
&lt;p&gt;ファインマンさんは、夢の進行中にも意識を保っていて、意図どおりにコントロールできたそうだ。色、見えているものを見えなくする、などなど。amazonレビューの&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;一番の特徴となっている、「抱腹絶倒のエピソードの数々」は事実を基にした作り話ですね。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;は気になるけれども、部分的には真実だろう。&lt;/p&gt;
&lt;p&gt;夢をコントロールする方法は、上記橋本さんのところからリンクされている&lt;a href="http://www.ntv.co.jp/FERC/research/20020217/f1247_2.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.ntv.co.jp/FERC/research/20020217/f1247_2.html']);"&gt;確実に見たい夢を見る方法を調査せよ！2&lt;/a&gt;に詳しい。おいしいところだけ引用すると、く&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;『①　夢を思い出す訓練をする』&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;『②　空を飛ぶ夢を見る訓練をする』&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;『③　夢をコントロールする訓練をする』&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;『④　夢の中で回転する訓練をする』&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;だそうだ。&lt;/p&gt;
&lt;p&gt;むかし、よく空を飛ぶ夢は見た。ベッドから飛び立って周りの家々を俯瞰しながらふわふわと飛んで家から徒歩10分くらいの距離にあった中学校へ登校するような夢。&lt;br&gt;
夢のコントロール、センスあるかも？？&lt;/p&gt;
&lt;p&gt;やってみます。&lt;/p&gt;</description></item><item><title>orkutとキムチ納豆と良心 43</title><link>https://maaash.jp/2004/03/orkut%E3%81%A8%E3%82%AD%E3%83%A0%E3%83%81%E7%B4%8D%E8%B1%86%E3%81%A8%E8%89%AF%E5%BF%83-43/</link><pubDate>Thu, 04 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/orkut%E3%81%A8%E3%82%AD%E3%83%A0%E3%83%81%E7%B4%8D%E8%B1%86%E3%81%A8%E8%89%AF%E5%BF%83-43/</guid><description>&lt;img alt="kcn.jpg" src="https://mxo.k1.xrea.com/blog/images/kcn.jpg" width="120" height="120" border="0" /&gt; 
キムチ納豆です。ただ納豆にキムチを適量混ぜただけ。 
うまいんだな、これが。最近はやってます。
&lt;p&gt;さて、「orkut」をタイトルに入れてみました。&lt;br&gt;
orkutとは全然関係無い話なので、それにつられてリンクを踏んできた方には本当にごめんなさい。ただのいたずらです。&lt;/p&gt;
&lt;p&gt;でも、こんないたずらを思いついて実行してみて思ったのは、webって人の良心のもとに成り立っているんだなぁ、ってこと。&lt;br&gt;
間違った情報を発信しようと思えばいくらでもできる。&lt;/p&gt;
&lt;p&gt;それでもこんなにインターネットは便利になっている。&lt;br&gt;
人々の良心のおかげ。&lt;br&gt;
素晴らしい。&lt;/p&gt;</description></item><item><title>ProjectXの良さ/悪さ　23</title><link>https://maaash.jp/2004/03/projectx%E3%81%AE%E8%89%AF%E3%81%95%E6%82%AA%E3%81%95%E3%80%8023/</link><pubDate>Wed, 03 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/projectx%E3%81%AE%E8%89%AF%E3%81%95%E6%82%AA%E3%81%95%E3%80%8023/</guid><description>&lt;p&gt;昨日ProjectXを観た。&lt;a href="http://www.nhk.or.jp/projectx/encore83/index.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.nhk.or.jp/projectx/encore83/index.htm']);"&gt;富士通が世界最速のコンピューターをつくる話。&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;毎回見ているわけではない。&lt;br&gt;
どこかのblogで、「古い」という指摘があって、なるほどと感じた記憶があって、その視点を持ちながら番組を見てどう感じるか試してみたかった。&lt;/p&gt;
&lt;p&gt;たしかに、古い。&lt;br&gt;
Managementが無いのだ。&lt;br&gt;
ドラッカーかな？どこかで読んでイメージとして組織のあるべき姿を自分の中に持つことができた。&lt;br&gt;
凡人の集まりから最大の成果を引き出すのがManagement。&lt;br&gt;
ソフトウェア開発管理を少し勉強しても同じような結論に導かれる。素人プログラマーが突然プロジェクトに参加してきても、outputの品質が落ちない仕組み作り。&lt;/p&gt;
&lt;p&gt;そういう意味で、ProjectXはまぐれなのだ。&lt;br&gt;
天才が一人いなければその成果は残せなかっただろう？&lt;br&gt;
富士通のコンピューターは今世界最速なのか？（否&lt;br&gt;
かっこわる。&lt;/p&gt;
&lt;p&gt;ただあの番組を実はそんなに嫌いではないのは、↑のようだったとしても、感動してしまうからだ。&lt;br&gt;
やりたいことに対して全力を尽くして向っている姿、否定されても折れない信念。&lt;br&gt;
一歩間違うと、ただの頑固者だけれど、、。&lt;br&gt;
例えばこんな言葉をどこかで聞いてメモした。&lt;/p&gt;
&lt;p&gt;「だれもが最初から信じたりしたら、それは革命じゃないってことじゃなくて？」&lt;/p&gt;</description></item><item><title>orkut利用personalized検索エンジン　13</title><link>https://maaash.jp/2004/03/orkut%E5%88%A9%E7%94%A8personalized%E6%A4%9C%E7%B4%A2%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%80%8013/</link><pubDate>Tue, 02 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/orkut%E5%88%A9%E7%94%A8personalized%E6%A4%9C%E7%B4%A2%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%80%8013/</guid><description>&lt;p&gt;orkut使用感その2.&lt;br&gt;
SocialNetworkingに的をあてたビジネス、。&lt;/p&gt;
&lt;p&gt;類友 → SocialNetworkingを利用すればある種の「類」を定義できる → ①&lt;/p&gt;
&lt;p&gt;bookmarkは信頼のおけるサイトだと本人が認めたpriorなサイトのリストだ → ただしbookmarkは数が増えれば整理/管理コストが比例するため厳選されている = 本人の情報収集にとって必要なサイトの全ては含まれていない → ②&lt;/p&gt;
&lt;p&gt;①+② → 本人＋「類」のbookmarksによって補完された高度にpersonalizeされた検索エンジン。&lt;br&gt;
or 知りたい分野の「類」内bookmark内検索エンジン、とか。&lt;/p&gt;
&lt;p&gt;この考えは、&lt;a href="http://inoue.typepad.com/searchengine/2004/01/google_2.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://inoue.typepad.com/searchengine/2004/01/google_2.html']);"&gt;ここ&lt;/a&gt;&lt;a href="http://naoya.dyndns.org/~naoya/mt/archives/000906.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://naoya.dyndns.org/~naoya/mt/archives/000906.html']);"&gt;ここ&lt;/a&gt;に刺激されて書きました。&lt;br&gt;
刺激をありがとうございます！&lt;/p&gt;</description></item><item><title>orkutと抵抗感　23</title><link>https://maaash.jp/2004/03/orkut%E3%81%A8%E6%8A%B5%E6%8A%97%E6%84%9F%E3%80%8023/</link><pubDate>Mon, 01 Mar 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/03/orkut%E3%81%A8%E6%8A%B5%E6%8A%97%E6%84%9F%E3%80%8023/</guid><description>&lt;p&gt;orkutに登録できました。一時期サーバーに問題があったようで、一気に5通くらいinvitationが届いていました。&lt;/p&gt;
&lt;p&gt;最も驚いたのは、その仕組みよりも、写真公開してる人の多さ。少し出会い系という系には手を出したことがありますが、無料で参加者がこんなに顔を出しちゃえてるサイトはありません！&lt;br&gt;
まぁよくわかってないweb系newsメディアに紹介されているような「出会い系」的使い方をしているは少ないのでしょうけれど。&lt;br&gt;
日本語使えない、知人の知人、と、なんかしらその登録者層を信頼している部分があるのでしょう。それとも、始めた人が写真を出していた、という辺りから群集心理的に雰囲気を作ったのだろうか。&lt;/p&gt;
&lt;p&gt;webの普及とともに、だんだんweb上でcredit card番号を打ち込んだり、顔写真を公開したり、することへの抵抗がなくなってきているのを感じる。&lt;br&gt;
でも、考えてみれば、「出会い系」というふうにくくられる系を原因とした事件って起こっているけれど、c/cが悪用される、って聞いたこと無いな。&lt;/p&gt;
&lt;p&gt;そのなんとなく培われてきた安心感は、セキュリティが確保されていることに起因するものではなくて、母数が増えてるから確率的に自分は大丈夫だろう、的なものだ。&lt;br&gt;
怖い。&lt;/p&gt;
&lt;p&gt;SocialNetworkingの今後についてはまた。&lt;/p&gt;</description></item><item><title>フツーのレベル　23</title><link>https://maaash.jp/2004/02/%E3%83%95%E3%83%84%E3%83%BC%E3%81%AE%E3%83%AC%E3%83%99%E3%83%AB%E3%80%8023/</link><pubDate>Sun, 29 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E3%83%95%E3%83%84%E3%83%BC%E3%81%AE%E3%83%AC%E3%83%99%E3%83%AB%E3%80%8023/</guid><description>&lt;p&gt;気分転換にhpをrenewalしようかとhtmlをちょこちょこいじっている。&lt;br&gt;
blogとそれ以外を統合して、blog以外もxreaに移転してもう少しdynamicにして、と思っている。まぁ、コンテンツは変わらないままI/Fを変えるだけ。&lt;/p&gt;
&lt;p&gt;意図どおりの見せ方にするには、やはりhtmlを直接テキストエディタで編集しなければならない。&lt;br&gt;
いろんなツールにお世話になりながら取り組んでいる。&lt;a href="http://www32.tok2.com/home/cue/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www32.tok2.com/home/cue/']);"&gt;pixel単位のルーラー&lt;/a&gt;、AdobeIllustrator、&lt;a href="http://www.asukaze.net/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.asukaze.net/']);"&gt;クリッカブルマック作成ツール&lt;/a&gt;、&lt;a href="http://c61.org/032shitamachi_dpe/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://c61.org/032shitamachi_dpe/']);"&gt;スライドショーページ作成支援ツール&lt;/a&gt;、その他もろもろ。フリーのものは、使わせていただいてありがとうございます。&lt;/p&gt;
&lt;p&gt;そんな中思ったけれど、むかしはなんでもかんでも readme.txt というやつがついていたのが、最近 ソフト名.html に変わってきている。&lt;br&gt;
フツーのレベルが rich になってきている。&lt;/p&gt;
&lt;p&gt;そのうち watchme.mov とか watchme.swf になるんだろうか..&lt;br&gt;
5年、かかるかな。&lt;/p&gt;
&lt;p&gt;日記のようにしてテキストを書き連ねて貯めていくように、いつか映像を毎日撮り貯めたりするような日常になるのだろうか？？&lt;br&gt;
テキスト → 映像、の間は深い溝がある気がする。&lt;/p&gt;</description></item><item><title>分からず屋？ 34</title><link>https://maaash.jp/2004/02/%E5%88%86%E3%81%8B%E3%82%89%E3%81%9A%E5%B1%8B%EF%BC%9F-34/</link><pubDate>Sat, 28 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E5%88%86%E3%81%8B%E3%82%89%E3%81%9A%E5%B1%8B%EF%BC%9F-34/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://www.future-planning.net/xp/modules/news/article.php?storyid=402" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.future-planning.net/xp/modules/news/article.php?storyid=402']);"&gt;私の好きなバーナード・ショー言葉、「物分かりがいい人間は自分を世間に合わせようとする。分からず屋は世間を自分に合わせようとする。したがって、分からず屋がいなければ、この世は進歩しない。」は、この本に収録されていたのでした。&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;「分からず屋」という訳には違和感を感じる。原文ではなんという単語だったのだろう。&lt;br&gt;
それでも、「うむ。」、と思う。&lt;/p&gt;
&lt;p&gt;自分は・・・&lt;/p&gt;
&lt;p&gt;少し手を広げすぎだな。&lt;/p&gt;</description></item><item><title>「分類」の難しさ　33</title><link>https://maaash.jp/2004/02/%E3%80%8C%E5%88%86%E9%A1%9E%E3%80%8D%E3%81%AE%E9%9B%A3%E3%81%97%E3%81%95%E3%80%8033/</link><pubDate>Fri, 27 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E3%80%8C%E5%88%86%E9%A1%9E%E3%80%8D%E3%81%AE%E9%9B%A3%E3%81%97%E3%81%95%E3%80%8033/</guid><description>&lt;p&gt;&lt;a href="http://blog.japan.cnet.com/umeda/archives/001044.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://blog.japan.cnet.com/umeda/archives/001044.html']);"&gt;［梅田望夫・英語で読むITトレンド］Blogでバーンアウトする人と、しない人の違い&lt;/a&gt;&lt;br&gt;
このサイトは主に英語の勉強として毎日1度目を通している。今回TBがいっぱいついているのと分類については考えるところがあるので書いてみる。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;今のBlogger世界には、「語るべき何か」が内部から沸き出てくるゆえ「信念を持って意見表明」しようとしている「信念・意見表明系Blogger」と、「語るべき何か」のきっかけは主として自分の外にあり、それを観察して、知を他の人と共有することに楽しさを感じたり意義を見出したりする「観察・啓蒙系Blogger」が混在しているのではないか。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;もともと&lt;a href="http://mxo.k1.xrea.com/blog/000039.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxo.k1.xrea.com/blog/000039.html']);"&gt;以前書いたように&lt;/a&gt;分類や一般化の能力には欠けるところがあるが、それは、分類とはこうあるべきだ、というような考えが自分の中にあり、それに値する分類をなかなか思いつかないために慎重になっている部分がある。&lt;/p&gt;
&lt;p&gt;分類とは、例えばx軸/y軸のように、お互い直行した軸のみで可能になるものだと考えている。x軸のplus方向はminus方向とは全く相容れないし、また別のy軸という分類とも全く似通っていない。その分類の中で、ある点をxy平面の中にプロットした時に、どちらよりかという議論ができる。&lt;br&gt;
さらに慎重にならなければならないのは、xy平面上にプロットする集合は、xy平面方向への分散が大きいことに意義がある。z方向の分散が大きい集合をxy平面上にプロットしても意味が無いのだ。&lt;/p&gt;
&lt;p&gt;引用文は主にその前者の点から違和感を感じたように思う。&lt;a href="http://blog.japan.cnet.com/umeda/archives/001051.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://blog.japan.cnet.com/umeda/archives/001051.html']);"&gt;次の記事&lt;/a&gt;から引用されている&lt;a href="http://www.hyuki.com/tf/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.hyuki.com/tf/']);"&gt;&lt;a href="https://www.textfile.org" class="external-link" target="_blank" rel="noopener"&gt;www.textfile.org&lt;/a&gt;&lt;/a&gt;の中の、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「観察・啓蒙」を通して「信念・意見表明」していることになるのだろうか&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;や、&lt;a href="http://www.fantasticmetaphors.com/archives/000137.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.fantasticmetaphors.com/archives/000137.html']);"&gt;fantasticmetaphors&lt;/a&gt;の&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;その完全な観察・啓蒙系と信念・意見表明系の間に連続した空間があるのではないかなぁ&lt;/p&gt;
というような混乱は理想的な分類では無い事の証明だと思う。同じ軸の、程度問題を言い換えただけのように思える。&lt;br&gt;
ただし、議論を呼び起こすための刺激、としてはとてもおもしろい。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;それでは、どんな軸があるのかというと、啓蒙/意見表明、という部分に類似があるのであって、観察系/信念系、というのはアリだと思う。そのblogが公に開示されない日記としても成り立つのか、という点に鍵がある。まぁ、これにしても、最初の不安の後者の点から不適当だ。&lt;/p&gt;
&lt;p&gt;と、こんなにも拒否反応が「分類」に対して出ることを記録する、観察系のblogなのだ。&lt;br&gt;
とってつけたようですが、梅田さんのblogは楽しみに読ませていただいています^^&lt;/p&gt;</description></item><item><title>orkut試行と前感想　33</title><link>https://maaash.jp/2004/02/orkut%E8%A9%A6%E8%A1%8C%E3%81%A8%E5%89%8D%E6%84%9F%E6%83%B3%E3%80%8033/</link><pubDate>Wed, 25 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/orkut%E8%A9%A6%E8%A1%8C%E3%81%A8%E5%89%8D%E6%84%9F%E6%83%B3%E3%80%8033/</guid><description>&lt;p&gt;Eimeiにorkut.comに誘われた。というか誘わせた（笑）&lt;br&gt;
その過程にさえもいろいろ問題があったのだが、誘われてみた後もまだまだ問題ある！&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Bad, bad server. No donut for you&lt;br&gt;
Unfortunately, the orkut.com has acted out in an unexpected way. Hopefully, it will return to its helpful self if you try again in a few minutes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;以降略&lt;br&gt;
かわいいspellミスに免じてまた明日try!&lt;/p&gt;
&lt;p&gt;とりあえず体験前のイメージとしては、SocialNetworkingと大きくいってもあくまでツールなのかな。&lt;br&gt;
聞いている感じでは、自然にそのメリットを享受できるというよりは、意図をもって向っていく気持ちがなければ活かせなさそうなイメージ。&lt;/p&gt;
&lt;p&gt;次のステップとしては、、は体験してから考えるか。&lt;/p&gt;</description></item><item><title>延滞料反対　33</title><link>https://maaash.jp/2004/02/%E5%BB%B6%E6%BB%9E%E6%96%99%E5%8F%8D%E5%AF%BE%E3%80%8033/</link><pubDate>Tue, 24 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E5%BB%B6%E6%BB%9E%E6%96%99%E5%8F%8D%E5%AF%BE%E3%80%8033/</guid><description>&lt;p&gt;よくCDレンタル屋へ行く。聴く全CDの60%程度だろうか。&lt;br&gt;
ヒットチャートの気になったアーティストの音をとりあえず耳に入れておく、とかむかしからわりと好きだけどCD買うほどでもないな、っていうエリアに属するアーティストを拾って借りる。SV-SD80に放り込んで、翌朝返す。&lt;/p&gt;
&lt;p&gt;今日は、半額デーを狙ってTSUTAYAへ。平井堅のKen’sBar、Des’reeのDreamSoldierを借りてくる。後者は悩んだ、Des’reeは&lt;a href="http://mxo.k1.xrea.com/blog/000054.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxo.k1.xrea.com/blog/000054.html']);"&gt;ここ&lt;/a&gt;で書いたような、アルバムが出たら絶対買うようなpremiumなアーティストの一人なのだ。それでも記憶があやふやで誤って借りてしまった。。&lt;a href="http://mxo.k1.xrea.com/select_gourmet.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxo.k1.xrea.com/select_gourmet.php']);"&gt;gourmet&lt;/a&gt;みたいなmemoを作る！それにしても、Des’reeはそれくらいおすすめです。&lt;/p&gt;
&lt;p&gt;関係無いけれど、情けないことだが、、TSUTAYAへは実はレンタル量と同じくらい延滞料を払っている。延滞料による売上がばかにならない、というような噂もどこかで聞いた気がする。&lt;br&gt;
やな思いをした時こそ、それを煽る言葉は印象に残るのだ。&lt;br&gt;
そうやって人の失敗につけこんでお金を取るような商売は長期的によくないよ？&lt;/p&gt;</description></item><item><title>さいころの罠　33</title><link>https://maaash.jp/2004/02/%E3%81%95%E3%81%84%E3%81%93%E3%82%8D%E3%81%AE%E7%BD%A0%E3%80%8033/</link><pubDate>Mon, 23 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E3%81%95%E3%81%84%E3%81%93%E3%82%8D%E3%81%AE%E7%BD%A0%E3%80%8033/</guid><description>&lt;p&gt;&lt;a href="http://www.tanomi.com/limited/html/00010.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.tanomi.com/limited/html/00010.html']);"&gt;&lt;img alt="dice.jpg" src="https://mxo.k1.xrea.com/blog/images/dice.jpg" width="120" height="94" border="0" /&gt;&lt;/a&gt;&lt;br&gt;
↑世界で最も精巧につくられたさいころ。&lt;br&gt;
を見ていたら、気づいた。&lt;/p&gt;
&lt;p&gt;さいころって、目の数字を表す小さなまるが削り取られている分、均等にできてはいないのだ。点対象ではないのだ。&lt;br&gt;
結論としては実は大したことはないのだ（だろう）が、ショックだった。&lt;/p&gt;
&lt;p&gt;1はまるの大きさが他と違うので比較しにくいが、2と5を比べると、明らかに5の側の面の方が、削り取られている同じ大きさのまるの数が多い分、軽いはずだ…&lt;/p&gt;
&lt;p&gt;2と5のそれぞれの面と平行に、そしてその面の辺と平行に、中心に軸を作ると、重い2の方へ回る。2/5以外の面:1/6,3/4は、その軸に対して左右均等にあなを配置するため、その回転に影響を与えず、結果として2の面が下に向く＝5の面が上に来る。&lt;br&gt;
さいころ全体にかかる力に対して、削られたまるの重量の差分が産む重力が大きければ、その傾向は強まる（ほとんど無視できる..）。&lt;/p&gt;
&lt;p&gt;結論。&lt;br&gt;
わずかに、2よりも5の方の目の方が出やすい。同様に、3よりも4が出やすい。1/6については1の大きさによりけり。ゆっくり投げれば投げるほど、よい。&lt;/p&gt;</description></item><item><title>繰り返す人と80:20の法則　23</title><link>https://maaash.jp/2004/02/%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%99%E4%BA%BA%E3%81%A88020%E3%81%AE%E6%B3%95%E5%89%87%E3%80%8023/</link><pubDate>Sun, 22 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%99%E4%BA%BA%E3%81%A88020%E3%81%AE%E6%B3%95%E5%89%87%E3%80%8023/</guid><description>&lt;p&gt;一度なにかを気に入ると、そのなにかを繰り返してしまう方だ。他を試して当たりに巡り合うより、保証されている満足をとることが多いかもしれない。&lt;br&gt;
固定客として店に認識されていることが快感であったりもする。&lt;/p&gt;
&lt;p&gt;そんな人たちにとって、常連客であることを自覚できるような仕組みがあると嬉しい。&lt;br&gt;
例えば、よくある（のか？）バーでの「いつもの。」、というやつだ。こないだなんて、美容院で「いつもと同じくらいでよろしいですか？」とさえも聞かれずに髪を切り始められた。「えぇっ！」と心の中で小さく驚きながらも少し嬉しかった。&lt;/p&gt;
&lt;p&gt;80:20の法則。20%の顧客が80%の利益の源。その20%にはいないけれど、20～40%の辺りにいて、そんなふうに無意識に思っているだろう人たちを取り込むのは、意識さえすれば簡単なんだろうな～&lt;/p&gt;</description></item><item><title>クラシックギターのプロ　23</title><link>https://maaash.jp/2004/02/%E3%82%AF%E3%83%A9%E3%82%B7%E3%83%83%E3%82%AF%E3%82%AE%E3%82%BF%E3%83%BC%E3%81%AE%E3%83%97%E3%83%AD%E3%80%8023/</link><pubDate>Sat, 21 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E3%82%AF%E3%83%A9%E3%82%B7%E3%83%83%E3%82%AF%E3%82%AE%E3%82%BF%E3%83%BC%E3%81%AE%E3%83%97%E3%83%AD%E3%80%8023/</guid><description>&lt;p&gt;クラシックギターが好きだ。&lt;br&gt;
数年前までは毎週末、今では年に数回埃をかぶったギターケースをあけて2時間くらい弾く。&lt;/p&gt;
&lt;p&gt;もちろん聴くのも好きだ。&lt;br&gt;
&lt;a href="http://www.kennedy-center.org/programs/millennium/artist_detail.cfm?artist_id=YASUJIOHAG#" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.kennedy-center.org/programs/millennium/artist_detail.cfm?artist_id=YASUJIOHAG#']);"&gt;大萩康司&lt;/a&gt;が一番。たまたまこのページに当たった方は、是非機会をつくって聴いてください。&lt;/p&gt;
&lt;p&gt;今日は、&lt;a href="http://www.kennedy-center.org/programs/millennium/artist_detail.cfm?artist_id=ANAVIDOVIC#" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.kennedy-center.org/programs/millennium/artist_detail.cfm?artist_id=ANAVIDOVIC#']);"&gt;ANA VIDOVIC&lt;/a&gt;、という人の音を聴いていた。&lt;br&gt;
かっこいい。赤いロングドレス、足を「カッ」と開いてギターを構える。かっこいい。&lt;br&gt;
マジメ、というか正統派「classic」というイメージの選曲。&lt;/p&gt;
&lt;p&gt;聴いていて気づいたけれど、チューニングを合わせる動作、を見ているのが好きのようだ。弾いている間は他の作業をしながらrealplayerを裏に置いてbgm的に聴いている。&lt;br&gt;
曲間で拍手に答え、チューニングを合わせ、次の曲の頭のフレットに手を沿えて数秒の静寂。その間はwindowをactiveにして彼女を見ている。&lt;/p&gt;
&lt;p&gt;プロだな、と感じさせる。もちろん演奏はプロなのだけれど、そんな細かな仕種に安心感を覚える。プロの演奏をこれから聴くのだ、という気分にさせる。&lt;br&gt;
自分に置き換えると、、、なんだろう。&lt;/p&gt;</description></item><item><title>今日のいい話0 3行ラブレターの評価　23</title><link>https://maaash.jp/2004/02/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%84%E3%81%84%E8%A9%B10-3%E8%A1%8C%E3%83%A9%E3%83%96%E3%83%AC%E3%82%BF%E3%83%BC%E3%81%AE%E8%A9%95%E4%BE%A1%E3%80%8023/</link><pubDate>Fri, 20 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%84%E3%81%84%E8%A9%B10-3%E8%A1%8C%E3%83%A9%E3%83%96%E3%83%AC%E3%82%BF%E3%83%BC%E3%81%AE%E8%A9%95%E4%BE%A1%E3%80%8023/</guid><description>&lt;p&gt;&lt;a href="http://www.kentei.co.jp/bunken/event/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.kentei.co.jp/bunken/event/index.html']);"&gt;「心に響く三行ラブレター」&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;どれもとてもよく気持ちが伝わってくるラブレターですね。&lt;br&gt;
でも、このページの中でも、一番印象に残ったのは、これ。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;※今回は、優秀な作品が多かったため、優秀賞が予定より１作品多くなっております。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;かわいいな～&lt;/p&gt;
&lt;p&gt;今日はこれだけ。&lt;/p&gt;</description></item><item><title>座れる電車優先乗り換え案内　23</title><link>https://maaash.jp/2004/02/%E5%BA%A7%E3%82%8C%E3%82%8B%E9%9B%BB%E8%BB%8A%E5%84%AA%E5%85%88%E4%B9%97%E3%82%8A%E6%8F%9B%E3%81%88%E6%A1%88%E5%86%85%E3%80%8023/</link><pubDate>Thu, 19 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E5%BA%A7%E3%82%8C%E3%82%8B%E9%9B%BB%E8%BB%8A%E5%84%AA%E5%85%88%E4%B9%97%E3%82%8A%E6%8F%9B%E3%81%88%E6%A1%88%E5%86%85%E3%80%8023/</guid><description>&lt;p&gt;通勤に一時間ちょいかかる。乗り換えが必要な場合もあるし、直通の場合もある。&lt;br&gt;
その、一時間ちょい、は、一年にすると500時間あまりになる。読書や音楽鑑賞、ふと思いついたアイディアについて深く掘り下げてみたり、ぼけっとしたり、する。&lt;br&gt;
ほぼ200時間を読書にあてている。&lt;/p&gt;
&lt;p&gt;最近は主に雑誌を読んでいる。短い記事の中にメッセージが詰め込まれている分、「当たり」の記事には長い時間をかけてゆっくりじっくり読む。&lt;/p&gt;
&lt;p&gt;そんな時、立って読むとかなりスピードが落ちるのを自覚する。&lt;br&gt;
疲れ、持ち替え、人をよけたり、で集中力がしょっちゅう途切れさせられるし、雑誌は面が広い分本に比べて一度視線を読んでいた行からはずした後、再び読み始められるまでに時間がかかる。&lt;/p&gt;
&lt;p&gt;前ふりを長くしてみたが、&lt;br&gt;
座りたい人のための、座れる電車優先乗り換え案内、が欲しいな。&lt;br&gt;
座れるためなら何分遅れてもいいか、初回入力させてpersonalizeする。乗り換えよりはもちろん直通を優先する。遠回りも辞さない。車両指定もあり。&lt;br&gt;
人力でなくアルゴリズムで書けないかな～。。例えば、前の電車との発車時刻の間隔が他より短い電車の方がすいているはずだ。通過してきた駅で、他の電車との乗り換えのいい電車は混んでいるはずだ。&lt;/p&gt;</description></item><item><title>Stingと新盤お知らせメール　33</title><link>https://maaash.jp/2004/02/sting%E3%81%A8%E6%96%B0%E7%9B%A4%E3%81%8A%E7%9F%A5%E3%82%89%E3%81%9B%E3%83%A1%E3%83%BC%E3%83%AB%E3%80%8033/</link><pubDate>Wed, 18 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/sting%E3%81%A8%E6%96%B0%E7%9B%A4%E3%81%8A%E7%9F%A5%E3%82%89%E3%81%9B%E3%83%A1%E3%83%BC%E3%83%AB%E3%80%8033/</guid><description>&lt;p&gt;Stingの新CD：Sacred Loveを聴いている。&lt;/p&gt;
&lt;p&gt;安心するようないつものStingと、クラブミュージック(?)みたいな聴いたこともない音楽と、両方聴ける。&lt;br&gt;
買ってよかった。&lt;/p&gt;
&lt;p&gt;新盤が出ると、必ずCDを買う、というアーティスト達がいる。大萩くん、MichaelJackson&lt;br&gt;
、とその妹、レッチリ、BryanAdams、SherylCrow、AlanisMorissette、そしてSting、まだまだいそうだ。&lt;/p&gt;
&lt;p&gt;でも、いつそのアーティスト達がCDを出したか、っていう情報はリアルタイムに入ってこない。たまたまCD屋に立ち寄ったり（amazonのある今かなり頻度は低い）、紹介してもらったり、街中で聞き覚えのある音を聴いたり。&lt;/p&gt;
&lt;p&gt;アーティストを登録しておいて、新盤が出たら知らせてくれるメールサービスがあったら、有料でも登録します。一年間で、登録アーティスト一人当たり100円くらいだったら、10人くらい登録しちゃうかも。&lt;br&gt;
誰かつくって！&lt;/p&gt;</description></item><item><title>価格シグナル戦略と「9」 33</title><link>https://maaash.jp/2004/02/%E4%BE%A1%E6%A0%BC%E3%82%B7%E3%82%B0%E3%83%8A%E3%83%AB%E6%88%A6%E7%95%A5%E3%81%A8%E3%80%8C9%E3%80%8D-33/</link><pubDate>Tue, 17 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E4%BE%A1%E6%A0%BC%E3%82%B7%E3%82%B0%E3%83%8A%E3%83%AB%E6%88%A6%E7%95%A5%E3%81%A8%E3%80%8C9%E3%80%8D-33/</guid><description>&lt;p&gt;またしてもHarvardBusinessReview1月号から。&lt;br&gt;
&lt;a href="http://www.dhbr.net/magazine/article/200401_08.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.dhbr.net/magazine/article/200401_08.html']);"&gt;価格シグナル戦略&lt;/a&gt;を読んだ。前に知人が、pricingっておもしろい、と話していたところ、深く突っ込まずに聞き流していたのを後悔。&lt;/p&gt;
&lt;p&gt;HBRに限らず、実例と数字の出てくる記事は説得力がある。逆に、そうでないものはうさんくさく感じる。最近、そんなことも強く感じる。&lt;/p&gt;
&lt;p&gt;覚えておいた方が良さそうな、キーをメモ。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;セール表示の収穫逓減: セール表示商品数が全体の30%を越えると、需要喚起効果は薄れる。&lt;/li&gt;
&lt;li&gt;「9」: 9で終わる値段を好ましく感じる&lt;/li&gt;
&lt;li&gt;価格シグナルは、顧客の価格知識が乏しい商品に有効&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;特に、2番。&lt;br&gt;
「9で終わる値段なんて、安くみえると思ったら大間違いさっ！」&lt;br&gt;
なんて思っていたが、実は高くしている場合もあったのだ。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;たとえば、全米を対象とした女性アパレルのカタログ通販では、ドレスの値段を34ドルから39ドルに上げると売上げが急増した。一方、34ドルから44ドルにした場合、需要量は変わらなかった。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;が～ん。。（ばか？）&lt;/p&gt;
&lt;p&gt;3番。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;価格知識に乏しい人ほど、価格シグナルに敏感に反応するため、相手に合わせてシグナルを変えるという手がある。これは、オンライン・ショップや通販の場合、特に有効である。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;簡単じゃん！そんなことやってるの？初めて訪れた人にだけセールを見せて固定客化させたり？&lt;/p&gt;</description></item><item><title>not類友とinput/output　44</title><link>https://maaash.jp/2004/02/not%E9%A1%9E%E5%8F%8B%E3%81%A8inputoutput%E3%80%8044/</link><pubDate>Mon, 16 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/not%E9%A1%9E%E5%8F%8B%E3%81%A8inputoutput%E3%80%8044/</guid><description>&lt;p&gt;興味深い再会でした。&lt;/p&gt;
&lt;p&gt;今まで、かなり狭い範囲の交友関係の中で生きてきた。同じ学校、同じ会社、というふうに。&lt;br&gt;
「類は友を呼ぶ」。いろんな人がいるが、最近出会う人々が視野に入った今思えば、みな似ているように思う。&lt;br&gt;
そう、少なくとも、出会った場、に入るまではほとんど同じような人生を歩んできたはずなのだ。そしてその場で似たような刺激を受けてきたんだな。&lt;/p&gt;
&lt;p&gt;そう強く感じる今日この頃です。&lt;/p&gt;
&lt;p&gt;読書関連で最近よく目、耳にする。&lt;br&gt;
inputに対してoutputを出せていなければ、inputする意味は薄い。&lt;br&gt;
人、というinputについてもそれは言えるのだろうか？&lt;/p&gt;
&lt;p&gt;さぁ、なにが出るかな。&lt;/p&gt;</description></item><item><title>off会と「体」、始まりと終わり 43</title><link>https://maaash.jp/2004/02/off%E4%BC%9A%E3%81%A8%E3%80%8C%E4%BD%93%E3%80%8D%E3%80%81%E5%A7%8B%E3%81%BE%E3%82%8A%E3%81%A8%E7%B5%82%E3%82%8F%E3%82%8A-43/</link><pubDate>Sun, 15 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/off%E4%BC%9A%E3%81%A8%E3%80%8C%E4%BD%93%E3%80%8D%E3%80%81%E5%A7%8B%E3%81%BE%E3%82%8A%E3%81%A8%E7%B5%82%E3%82%8F%E3%82%8A-43/</guid><description>&lt;p&gt;愉快な仲間に会った。off会。&lt;/p&gt;
&lt;p&gt;普段net上でハンドルネームを使って呼び合ったりしているのを、realで会ってどんな呼び方をするのかどきどきしていたが、そのまんまだった。&lt;br&gt;
少しのこっぱずかしさを振り払って、ハンドルネームを口にしていた。&lt;br&gt;
自然だった。&lt;/p&gt;
&lt;p&gt;名は体を表す、と言うが、ハンドルネームにもそんなものを感じた。あ～この人ね、って感じで。辞めようと思ってたんだけどな、休憩、くらいにしておくかな。&lt;/p&gt;
&lt;p&gt;なにかを始めるためには、なにかを止めなければいけないのだけれど。&lt;br&gt;
24時間って短い。&lt;/p&gt;</description></item><item><title>blogとマーケティング　43</title><link>https://maaash.jp/2004/02/blog%E3%81%A8%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%80%8043/</link><pubDate>Sat, 14 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/blog%E3%81%A8%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%80%8043/</guid><description>&lt;p&gt;&lt;a href="http://www.dhbr.net/magazine/backnumber/200401.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.dhbr.net/magazine/backnumber/200401.html']);"&gt;HarvardBusinessReview2004/1月号&lt;/a&gt;のCaseStudyは、blogについてだった（図書館経由なので遅いです）。&lt;br&gt;
くだいて言えば、影響力のある社員bloggerをどうするか？、という課題だ。&lt;/p&gt;
&lt;p&gt;自分だったらどうするかな～。&lt;/p&gt;
&lt;p&gt;機密保持協定(?)契約違反はもうもちろんoutとして、積極的に奨励したい。&lt;br&gt;
どのreviewerも、対外向けのリスクとリターンについて問題意識が強い感じの意見が多かったが、そうでない内向きの影響も強くて、むしろそっちはノーリスクハイリターンだな、と思うのでした。&lt;/p&gt;
&lt;p&gt;こういうものを&lt;a href="http://mxo.k1.xrea.com/blog/000017.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxo.k1.xrea.com/blog/000017.html']);"&gt;書き始めるきっかけ&lt;/a&gt;でもあり、書き始めてさらに強く思ったけれど、書く対象（例えばblog）があると、書くことを探すために、考える量が増える。&lt;/p&gt;
&lt;p&gt;考える量を社員に与えれば社員は成長するし、会社の成長にもなる。&lt;br&gt;
よく思うけれど、売れるか売れないか、なんて売ってみる前にわかる。開発者でない同僚にちょろっと使わせてみれば、「いらね」「いいじゃん」と明確だし、開発者でさえ分かっている場合があって、情けない思いをする事がある。&lt;/p&gt;
&lt;p&gt;社員も使いようだ。もっとうまく使ってくれ。&lt;/p&gt;</description></item><item><title>かなしばり体験とフェルメール 43</title><link>https://maaash.jp/2004/02/%E3%81%8B%E3%81%AA%E3%81%97%E3%81%B0%E3%82%8A%E4%BD%93%E9%A8%93%E3%81%A8%E3%83%95%E3%82%A7%E3%83%AB%E3%83%A1%E3%83%BC%E3%83%AB-43/</link><pubDate>Fri, 13 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E3%81%8B%E3%81%AA%E3%81%97%E3%81%B0%E3%82%8A%E4%BD%93%E9%A8%93%E3%81%A8%E3%83%95%E3%82%A7%E3%83%AB%E3%83%A1%E3%83%BC%E3%83%AB-43/</guid><description>&lt;p&gt;先日、かなしばり（みたいなもの）にあった。&lt;br&gt;
初体験だったので、確信は持てないのだが、ただの悪夢だったのかもしれない。他の人の体験を読んでみると、もっと怖い。&lt;/p&gt;
&lt;p&gt;仰向けに寝ているところを、後ろ（下？）から羽交い絞めにされているような感じだった。それ自体にはなぜかそんなに恐怖を感じなかった。&lt;br&gt;
それよりも、そんなふうに動けない間、胸の心臓の辺り、肋骨の合間を指でぎゅーっと押されているような圧迫感が怖かった。&lt;/p&gt;
&lt;p&gt;怖がりである。ホラーなんて全然見ない。それ自体も苦手なのだが、映画を観た後、想像力がそっち方向にかきたてられてしまっている自分が苦手だ。&lt;/p&gt;
&lt;p&gt;想像力、という人間の能力はすごい。他の動物は、現実にほぼ起こりえないことを思い描いたりするのだろうか？&lt;br&gt;
想像力をもっと活用した芸術、ってあってもいいと思う。&lt;br&gt;
そういう意味で、物語を感じさせられるような絵は好きだ。先日ドレスデンへ行った時に観た、フェルメールの&lt;a href="http://homepage2.nifty.com/kenkitagawa/Verm-LetterOpenWindow.jpg" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://homepage2.nifty.com/kenkitagawa/Verm-LetterOpenWindow.jpg']);"&gt;手紙を読む女(A Girl Reading a Letter by an Open Window)&lt;/a&gt;はとても良かった。&lt;br&gt;
ぼうっと眺めながら物語の世界へ。。&lt;/p&gt;</description></item><item><title>コツの辞典　43</title><link>https://maaash.jp/2004/02/%E3%82%B3%E3%83%84%E3%81%AE%E8%BE%9E%E5%85%B8%E3%80%8043/</link><pubDate>Thu, 12 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E3%82%B3%E3%83%84%E3%81%AE%E8%BE%9E%E5%85%B8%E3%80%8043/</guid><description>&lt;p&gt;突然、スキーが上手になった。それはまるで昨日までの自分とは別人で、寝ている間に魔法をかけられたように気づいたらそうなっていたのだ。&lt;/p&gt;
&lt;p&gt;こぶを滑れるようになった！&lt;br&gt;
それは今まで何年も苦心してほとんど進歩が見られなかったものだったのだ。あまりにも突然過ぎて、自分の力ではないような気がして、拍子抜けだ。&lt;/p&gt;
&lt;p&gt;変えた、のはストックの握り方くらい。鉛筆持ちをしていたものを、ぐーで握るように変えた。そんな単純なことも、そうしようと思いつつ何かに阻まれてできていなかったものだ。握り方が、姿勢を変え、重心が前に移り、ひざが自然に曲がり、と連鎖していったのだと思う。&lt;/p&gt;
&lt;p&gt;そういう小さなことを、コツ、と呼ぶ。人生はコツを掴んだり忘れたり、の連続だと思う。コツ、が見えやすい人を要領が良い、という。&lt;/p&gt;
&lt;p&gt;コツの辞典があったらいいのに。&lt;/p&gt;
&lt;p&gt;そして、1週間くらい経った後、「&lt;a href="http://www.google.co.jp/search?q=%E3%82%B3%E3%83%84%E3%81%AE%E8%BE%9E%E5%85%B8&amp;ie=UTF-8&amp;oe=UTF-8&amp;hl=ja&amp;lr=lang_ja" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.google.co.jp/search?q=%E3%82%B3%E3%83%84%E3%81%AE%E8%BE%9E%E5%85%B8&amp;ie=UTF-8&amp;oe=UTF-8&amp;hl=ja&amp;lr=lang_ja']);"&gt;コツの辞典&lt;/a&gt;」でGoogle検索してみるとおもしろいだろう。。&lt;/p&gt;</description></item><item><title>ビンディング一体型スキー 33</title><link>https://maaash.jp/2004/02/%E3%83%93%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E4%B8%80%E4%BD%93%E5%9E%8B%E3%82%B9%E3%82%AD%E3%83%BC-33/</link><pubDate>Wed, 11 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E3%83%93%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E4%B8%80%E4%BD%93%E5%9E%8B%E3%82%B9%E3%82%AD%E3%83%BC-33/</guid><description>&lt;p&gt;板とビンディングを別々に買って、店で購入した二点をねじ止めする、というスキー板の仕組みはそろそろ終わってもいいと思う。今は、靴のサイズに合わせてビンディングを調整しなければいけないため、その機能をビンディングに持たせて、板は独立にしてあるのだろう。&lt;/p&gt;
&lt;p&gt;ビンディング一体型スキー。統一的なデザイン、雪に対する抵抗も少ないし、剛性の設計も可能性が広がる。&lt;/p&gt;
&lt;p&gt;別々に分担している機能を1つにまとめる、百式風に言うまでもなく、当然の発想法ですね。&lt;/p&gt;
&lt;p&gt;買い換えるからさっさと作れ！&lt;/p&gt;
&lt;p&gt;とか思ってたらまたしても&lt;a href="http://www.geocities.jp/paresu2004/ski/goods.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.geocities.jp/paresu2004/ski/goods.html']);"&gt;既出&lt;/a&gt;？&lt;br&gt;
情報求む。&lt;/p&gt;</description></item><item><title>M.A.S.A.と位置連動コンテンツ 43</title><link>https://maaash.jp/2004/02/masa%E3%81%A8%E4%BD%8D%E7%BD%AE%E9%80%A3%E5%8B%95%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84-43/</link><pubDate>Mon, 09 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/masa%E3%81%A8%E4%BD%8D%E7%BD%AE%E9%80%A3%E5%8B%95%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84-43/</guid><description>&lt;p&gt;&lt;a href="http://www.cyborgname.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.cyborgname.com/']);"&gt;&lt;img src="https://mxo.k1.xrea.com/blog/images/MASA-robot.jpg" alt="MASA-robot.jpg" border="0" height="180" width="240" /&gt;&lt;/a&gt;&lt;br&gt;
M echanical A rtificial S abotage A ndroid&lt;br&gt;
いまいち…中途半端。A.I.みたいなの/ターミネーターみたいなのか、どっちかがよかった～。&lt;br&gt;
お試しあれ。&lt;/p&gt;
&lt;p&gt;おもしろいのが、Tシャツやマグカップまで買えてしまうところ。&lt;br&gt;
最初からビジネス思考で考え出したサービスではないんだろうな、そんな、遊び/趣味が高じてお金になっちゃった、みたいなモデルは好きだなぁ。&lt;/p&gt;
&lt;p&gt;自分も趣味でやってることあるんだけどなぁ&lt;a href="http://mxo.k1.xrea.com/select_gourmet.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxo.k1.xrea.com/select_gourmet.php']);"&gt;→gourmet（iエリアを利用して店を自分から近い順に並べられます）&lt;/a&gt;とか..&lt;br&gt;
お金になりませんか？？&lt;/p&gt;
&lt;p&gt;あと2年くらいしたらGPS携帯が当たり前になるような気がするし、&lt;br&gt;
Mobile Location-based Contents-:-モバイルの位置利用コンテンツって遅ればせながら使い物になるような気がするのですが。&lt;br&gt;
いりませんか？ or つくりませんか？ or コンサルしましょうか？&lt;/p&gt;</description></item><item><title>シャープペンからの開放 33</title><link>https://maaash.jp/2004/02/%E3%82%B7%E3%83%A3%E3%83%BC%E3%83%97%E3%83%9A%E3%83%B3%E3%81%8B%E3%82%89%E3%81%AE%E9%96%8B%E6%94%BE-33/</link><pubDate>Sun, 08 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E3%82%B7%E3%83%A3%E3%83%BC%E3%83%97%E3%83%9A%E3%83%B3%E3%81%8B%E3%82%89%E3%81%AE%E9%96%8B%E6%94%BE-33/</guid><description>&lt;p&gt;「&lt;a href="http://www.tecnosite.co.jp/pc/mouse/v-mouse-top.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.tecnosite.co.jp/pc/mouse/v-mouse-top.htm']);"&gt;ペンのように握って使うマウス&lt;/a&gt;」&lt;a href="http://www.itmedia.co.jp/news/articles/0401/26/news033.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.itmedia.co.jp/news/articles/0401/26/news033.html']);"&gt;(2)&lt;/a&gt;が出ます。&lt;/p&gt;
&lt;p&gt;これを、カチッと押すとボールペン、シャープペンに切り替わるようにすれば文句なしだなぁ。&lt;br&gt;
残念ながら、まだ紙媒体に名前を書いたりしなければいけないsituationはあるし①、思考を整理するため②にも紙メモを頻繁に使っている。全体像、関係、を可視化するツールとしてシャープペンと紙、はまだまだ現役だ。&lt;/p&gt;
&lt;p&gt;この商品の登場によって少なくともシャープペンから開放されるのか？！シャープペンは②の理由にしか使わないので、お絵描きツールで代替できそうだ！&lt;br&gt;
しかも4980円、というのはぎりぎり諦めのつく金額だ..&lt;/p&gt;
&lt;p&gt;買い。&lt;/p&gt;
&lt;p&gt;でもボールペン機能は必要です。作ってください！&lt;/p&gt;</description></item><item><title>追記に対して課金、と「悩む」 23</title><link>https://maaash.jp/2004/02/%E8%BF%BD%E8%A8%98%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%E8%AA%B2%E9%87%91%E3%80%81%E3%81%A8%E3%80%8C%E6%82%A9%E3%82%80%E3%80%8D-23/</link><pubDate>Sat, 07 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E8%BF%BD%E8%A8%98%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%E8%AA%B2%E9%87%91%E3%80%81%E3%81%A8%E3%80%8C%E6%82%A9%E3%82%80%E3%80%8D-23/</guid><description>&lt;p&gt;いずれ、web上での決済に対する抵抗がrealと同じレベルまで下がったら、web上でのテキストに対する課金も行われるようになるだろう。&lt;/p&gt;
&lt;p&gt;Movable Type でいう”追記（extend）”に対する課金、という形は自然な気がする。&lt;/p&gt;
&lt;p&gt;それだけ。&lt;/p&gt;
&lt;p&gt;次。&lt;br&gt;
&lt;a href="http://www.e-comon.co.jp/magazine/index.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.e-comon.co.jp/magazine/index.html']);"&gt;がんばれ社長！今日のポイント&lt;/a&gt;の04/01/26号に書いてあった言葉が印象に残った。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;紙と鉛筆（またはノートパソコン）をもって喫茶店へ行く。そして、あれこれ思いを巡らし、指で「考える」のだ。紙と鉛筆をもたずに頭のなかだけでこね回すことは「思考」とは言わずに、「悩む」と言う。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;全くそのとおりだ。&lt;br&gt;
privateの問題は、仕事と対比してみると「悩む」になりやすい。そこから抜け出せない時がある。&lt;br&gt;
思い出せるところにしまっておきたい。&lt;/p&gt;</description></item><item><title>時間管理と人の情報源　33</title><link>https://maaash.jp/2004/02/%E6%99%82%E9%96%93%E7%AE%A1%E7%90%86%E3%81%A8%E4%BA%BA%E3%81%AE%E6%83%85%E5%A0%B1%E6%BA%90%E3%80%8033/</link><pubDate>Thu, 05 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E6%99%82%E9%96%93%E7%AE%A1%E7%90%86%E3%81%A8%E4%BA%BA%E3%81%AE%E6%83%85%E5%A0%B1%E6%BA%90%E3%80%8033/</guid><description>&lt;p&gt;今日も1つのアイディアを。&lt;/p&gt;
&lt;p&gt;PC環境でしている作業を全部記録して公開、統計的に整理するツールが欲しい。そして尊敬する人にそれを使ってもらいたい。&lt;br&gt;
主に閲覧しているwebページと閲覧時間を知りたい。&lt;/p&gt;
&lt;p&gt;ドラッカー曰く&lt;br&gt;
「時間こそは、もっともユニークな、乏しい資源であり、 それが管理されなければ、他のいかなるものも管理されない。」&lt;br&gt;
自分が日々どんな作業に時間を費やしているか、計測している。15分単位だ。&lt;/p&gt;
&lt;p&gt;最近、商品開発から、研究職、という職種に変わった。そこで、特に意識して、情報収集の時間を増やしている。&lt;a href="http://mxo.k1.xrea.com/blog/000041.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxo.k1.xrea.com/blog/000041.html']);"&gt;昨日書いた既出の話&lt;/a&gt;とも関連するが、先端を知らずにつとまる職ではないと思う。&lt;br&gt;
今では全作業量のおおよそ25%強程度をかけている。それなりに情報収集能力には自信が出てきたが、まだまだ。&lt;/p&gt;
&lt;p&gt;質を高めたい。&lt;br&gt;
量より質だと思うのだ。&lt;br&gt;
人の情報収集源を知りたくないか？ → 読者へ&lt;/p&gt;
&lt;p&gt;知りたい。&lt;br&gt;
お金を払ってもいいくらいだ。&lt;br&gt;
ビジネスになるかな？&lt;/p&gt;</description></item><item><title>交換日記とKnowledge Management 23</title><link>https://maaash.jp/2004/02/%E4%BA%A4%E6%8F%9B%E6%97%A5%E8%A8%98%E3%81%A8knowledge-management-23/</link><pubDate>Wed, 04 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E4%BA%A4%E6%8F%9B%E6%97%A5%E8%A8%98%E3%81%A8knowledge-management-23/</guid><description>&lt;p&gt;&lt;a href="http://mxo.k1.xrea.com/blog/000040.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxo.k1.xrea.com/blog/000040.html']);"&gt;やっぱり意識&lt;/a&gt;しています。アイディアマラソン。&lt;/p&gt;
&lt;p&gt;先日、blogの話をしていたら、むかし交換日記してたよね～なんて話に。（してなかったって？&lt;br&gt;
いや、ほんとにしていました。小/中学だったかな？席の近かった仲良しグループで男女まぜこぜになって。どんなこと書いていたんだろう。。&lt;/p&gt;
&lt;p&gt;webでやれたら受けるよな、と思ったアイディアだったのですが、&lt;a href="http://www.nikkijam.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.nikkijam.com/']);"&gt;既出&lt;/a&gt;でした。秘密にしたければ有料に、なんてうまいですね。&lt;/p&gt;
&lt;p&gt;webのおかげで既出例が探しやすくなったのはものすごく大きな効果があったのだと思う。進歩が指数関数的に表現されることは多いけれど、その原動力になっている。webと良質な検索エンジンの登場以前とでは無駄な時間が激減しているはず。&lt;/p&gt;
&lt;p&gt;連鎖して思ったが、Knowledge Management もこんなことの延長として考えられるのかな？KMの効果を体感したことは無いけれど、既出の利用=検索I/Fがポイントなんだろうな。&lt;/p&gt;
&lt;p&gt;ある検索語に対して、Google検索結果と、社内KnowHow検索結果が並列に出てくるアプリ。なんてどうだろう？&lt;/p&gt;</description></item><item><title>アイディアマラソンとラピュタ 33</title><link>https://maaash.jp/2004/02/%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A3%E3%82%A2%E3%83%9E%E3%83%A9%E3%82%BD%E3%83%B3%E3%81%A8%E3%83%A9%E3%83%94%E3%83%A5%E3%82%BF-33/</link><pubDate>Tue, 03 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A3%E3%82%A2%E3%83%9E%E3%83%A9%E3%82%BD%E3%83%B3%E3%81%A8%E3%83%A9%E3%83%94%E3%83%A5%E3%82%BF-33/</guid><description>&lt;p&gt;最近、いろんなところで&lt;a href="http://www.idea-marathon.net" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.idea-marathon.net']);"&gt;アイディアマラソン&lt;/a&gt;を目にする。↓&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;個人が考えたものを、できるだけ早く、できるだけ短く、ノートに記録する発想システムです。これを毎日継続することで、個人の発想能力を飛躍的に向上させることができます。どんな発想法を利用して出してもかまいません。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;実践しようと心がけているわけではないが、自分なりに日々自然と出てくるものをメモしている。&lt;/p&gt;
&lt;p&gt;中学/高校時代(約10年前)だったか、水の電気分解のことを勉強した時に、「逆のことやれば発電できるよな～なんで世の中にないんだろう？」なんて思っていました。それが燃料電池だと知ったのはいつだったろう..&lt;/p&gt;
&lt;p&gt;空中発電基地。&lt;br&gt;
デジャブのように感じたので、何度か思いついているのだろう、アイディアを書いてみる。&lt;br&gt;
空には基地が浮かんでいる。浮き方はなんでもいい。基地の下に嵐がおこると、羽の付いた軽量の発電器を一台自由落下させる。嵐の中で翻弄されながら、蓄えた電気の一部を使って上昇し、基地に戻る。蓄えた電気の一部を使って基地は浮きつづける。たまに地上へ伝達してもいいだろう。&lt;/p&gt;
&lt;p&gt;ラピュタ！？&lt;/p&gt;</description></item><item><title>一般化とドイツ。 33</title><link>https://maaash.jp/2004/02/%E4%B8%80%E8%88%AC%E5%8C%96%E3%81%A8%E3%83%89%E3%82%A4%E3%83%84%E3%80%82-33/</link><pubDate>Mon, 02 Feb 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/02/%E4%B8%80%E8%88%AC%E5%8C%96%E3%81%A8%E3%83%89%E3%82%A4%E3%83%84%E3%80%82-33/</guid><description>&lt;p&gt;発見したのだが、自分は物事を一般化する技術が弱いようだ。&lt;/p&gt;
&lt;p&gt;例えば、海外旅行へ行く。人に、「ドイツどうだった？」って聞かれても、「こーゆー国だったよ～」なんて言えない。具体的かつ詳細な表現しか出てこない。一般的な話題を聞いても、同じ結論を導き出せるような客観的な事実の提示が無いと薄っぺらい。&lt;/p&gt;
&lt;p&gt;変な謙虚さがある。2,3週間の滞在なのに国をどうこう言えない、と思ってるところがある。&lt;br&gt;
観察力も弱い。共通点と相違点はなかなか見つからない。物事を分類するのが好きでないらしい。国籍や人種の違いなんかよりも、一人一人の個性の違いの方が圧倒的に大きいと信じたい。でも血液型の話には耳を傾けちゃう。「雰囲気」という言葉にまとめてしまっていて、「好き」「好きじゃない」以上の分類をするのがおっくうのようだ。&lt;/p&gt;
&lt;p&gt;一般化する技術は大事だと思う。&lt;br&gt;
一般論からinspireされて比較が始まり考えが深まる。&lt;br&gt;
綺麗にまとまった一般論、には説得力がある。&lt;/p&gt;
&lt;p&gt;一般論を繰り広げる練習をしてみよう。客観的な事実の補足は忘れずに。&lt;/p&gt;
&lt;p&gt;ドイツでは、性善説、を意識した。電車の改札には日本のように進路を阻むバーが無いので、券を買って無かったとしても乗れる。たまに見回りが来るらしいが、一度も遭遇しなかった。&lt;br&gt;
ドイツ人は挨拶好きだった。駅のホームで朝食のサンドイッチを買うだけでも、挨拶が交わされ、いい一日の始まりを感じる。&lt;br&gt;
みんな、余裕を持って生きているように感じた。。。。。&lt;/p&gt;
&lt;p&gt;う～ん、我ながらうさんくさいな。&lt;/p&gt;</description></item><item><title>紹介しなおし＠RBF 33</title><link>https://maaash.jp/2004/01/%E7%B4%B9%E4%BB%8B%E3%81%97%E3%81%AA%E3%81%8A%E3%81%97%EF%BC%A0rbf-33/</link><pubDate>Fri, 30 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E7%B4%B9%E4%BB%8B%E3%81%97%E3%81%AA%E3%81%8A%E3%81%97%EF%BC%A0rbf-33/</guid><description>&lt;p&gt;バックミンスター・フラーの「宇宙船地球号操縦マニュアル」をおすすめさせていただいたのですが、前日から読み直していて、「紹介文もあれだし、、なんだかな、っと思われるかもな」と思ったので補足。&lt;/p&gt;
&lt;p&gt;本というよりは、人間バックミンスター・フラーをご存知無い人にはおすすめしたい。&lt;br&gt;
宇宙船・・・ では、最後のおまけについている年譜が彼を理解する手助けになりそう。それ以外は、紹介しておきながらなんなんですが、文章が難解。訳のせいかもしれませんが、その論理を順に全部なぞって読めたか、というと疑問をもってしまいます。&lt;/p&gt;
&lt;p&gt;人間として彼がすごいと思う理由の1つは、ある時点から人生が一貫してある目的:富の追求 に向けられていることだと思う。&lt;/p&gt;
&lt;p&gt;富とは、彼の定義を自分の言葉で手短に書くと、人類が生き延びられる時間、である。地球環境問題に対して強い問題意識があって、ほっとくと21世紀到来までの間に人類は滅亡する、と（彼は20世紀前半から3Q辺りまでの人）。ほっ。&lt;/p&gt;
&lt;p&gt;その目的のために、彼がモノのデザイン(広義の)と言う面から取り組んで発明したモノがすごい！現代に持ってきたとしても、ありえない。根底をくつがえして最初から組み立てている。&lt;/p&gt;
&lt;p&gt;そんな発明の数々を見ていると、焦るのだ。&lt;/p&gt;
&lt;p&gt;本は、図書館へ行く人であればほんとは「バックミンスター・フラーのダイマキシオンの世界」こちらをおすすめします。&lt;/p&gt;
&lt;p&gt;一番お気に入りなのは、正20角形を使った地球の地図。&lt;br&gt;
ベッドの上にはってあって、たまにぼけっと世界を眺めます。&lt;/p&gt;
&lt;p&gt;超「本」格会議も楽しかった！（とってつけたようでスミマセン&lt;/p&gt;</description></item><item><title>2003 Best 10 Hits 32</title><link>https://maaash.jp/2004/01/2003-best-10-hits-32/</link><pubDate>Wed, 28 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/2003-best-10-hits-32/</guid><description>&lt;p&gt;せっかく音楽について書いたので、遅まきながら2003年の自分の中での Best 10 Hits を書き留めておきたい。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Keith Jarrett “The Koln Concert”&lt;/li&gt;
&lt;li&gt;Yasuji Ohagi “Bleu”&lt;/li&gt;
&lt;li&gt;Aerosmith “O.Yeah! Ultimate”&lt;/li&gt;
&lt;li&gt;作曲: George Frideric Handel 演奏: Kiri Te Kanawa “THE SORCERESS”&lt;/li&gt;
&lt;li&gt;Chikuzen Sato “CORNERSTONES2″&lt;/li&gt;
&lt;li&gt;Kotaro Oshio “押尾コータロー”&lt;/li&gt;
&lt;li&gt;Ann Sally “Moon Dance”&lt;/li&gt;
&lt;li&gt;LUCY WOODWARD “While You Can”&lt;/li&gt;
&lt;li&gt;p!nk “M!SSUNDAZTOOD”&lt;/li&gt;
&lt;li&gt;K-Ci &amp;amp; Jojo “Emotional”&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;質が悪い！&lt;br&gt;
でも上位4枚は、何年か印象に残り続けるでしょう。&lt;/p&gt;
&lt;p&gt;めちゃめちゃなバリエーションながら、意外と、全ジャンル入ってる。。&lt;/p&gt;
&lt;p&gt;今日は、No.1を聴いていた。&lt;br&gt;
3曲目の後半が大好きだ。&lt;br&gt;
大萩くんの音色と共通するところがあるかもしれない。&lt;br&gt;
波が絶妙なのだ。&lt;br&gt;
前半の単調さがそれを引き立てている。&lt;br&gt;
心もこんな波に揺らされているのだ。&lt;br&gt;
1/fの妙。って感じ。&lt;/p&gt;</description></item><item><title>音楽とバイオリズムとp!nkと 42</title><link>https://maaash.jp/2004/01/%E9%9F%B3%E6%A5%BD%E3%81%A8%E3%83%90%E3%82%A4%E3%82%AA%E3%83%AA%E3%82%BA%E3%83%A0%E3%81%A8pnk%E3%81%A8-42/</link><pubDate>Tue, 27 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E9%9F%B3%E6%A5%BD%E3%81%A8%E3%83%90%E3%82%A4%E3%82%AA%E3%83%AA%E3%82%BA%E3%83%A0%E3%81%A8pnk%E3%81%A8-42/</guid><description>&lt;p&gt;精神的な調子と、音楽を取り込む勢い、が比例しているように感じる。&lt;/p&gt;
&lt;p&gt;amazonの請求とタイトルの10の位を比較したら一目瞭然だろうと思う。&lt;br&gt;
いずれちゃんとDB化して&lt;a href="http://mxo.k1.xrea.com/select_gourmet.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxo.k1.xrea.com/select_gourmet.php']);"&gt;gourmet&lt;/a&gt;みたくアクセスしやすくしたいが、手元にあるリストを見ると、例えば2003年度上半期は実に5枚しかCDを新たに開拓していない。我ながらありえない。リストを更新する気がおきていなそうにも感じる。&lt;br&gt;
それに対して、2003.10～2004.01までの間で、既に25枚。&lt;br&gt;
同一人物とは思えない。。&lt;/p&gt;
&lt;p&gt;SV-SD80にしてからCD相当で5枚以上常に持ち歩けるようになっているからかもしれない。一昨日の場では本の話題で感じたが、1枚辺りの「濃さ」が意図せず薄くなっていなければ、と思う。&lt;/p&gt;
&lt;p&gt;さて、今は p!nk の M!SSUNDAZTOOD を聴いている。&lt;br&gt;
楽しい！&lt;/p&gt;
&lt;p&gt;音楽からいろんなものをもらっているのをいつか一度整理してみたいとも思う。&lt;br&gt;
特に Missundaztood って曲、こめた楽しさがそのままストレートに伝わってきて、「楽しそうだなぁおい」を越えて「あれっ自分も楽しい！」まで届いている。&lt;/p&gt;
&lt;p&gt;p!nkのキャラクターも利いてるんだろうな。音楽を聴きながらおなか(?!)を思い出す人も少ない :)&lt;br&gt;
なんていうか、友達になれそうな感じだ。&lt;br&gt;
いっしょにブランコリンに乗りたいような（謎&lt;/p&gt;</description></item><item><title>素直な感情に従おう 43</title><link>https://maaash.jp/2004/01/%E7%B4%A0%E7%9B%B4%E3%81%AA%E6%84%9F%E6%83%85%E3%81%AB%E5%BE%93%E3%81%8A%E3%81%86-43/</link><pubDate>Mon, 26 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E7%B4%A0%E7%9B%B4%E3%81%AA%E6%84%9F%E6%83%85%E3%81%AB%E5%BE%93%E3%81%8A%E3%81%86-43/</guid><description>&lt;p&gt;昨日は、おもしろい人達にあった。&lt;/p&gt;
&lt;p&gt;「普通」のレベルが違いすぎて、まるで外国へ行ったような気分で帰りの電車に揺られていた。&lt;br&gt;
今の自分の普通、と彼らの普通、の差は大きく、素直に高みにいる彼らをうらやましく思った。&lt;/p&gt;
&lt;p&gt;コネってすごい。とも思った。&lt;br&gt;
もう機会は逃さない(できるだけ)。&lt;/p&gt;
&lt;p&gt;自分の素直な感情に従おう。&lt;/p&gt;</description></item><item><title>Blogと創発 43</title><link>https://maaash.jp/2004/01/blog%E3%81%A8%E5%89%B5%E7%99%BA-43/</link><pubDate>Sun, 25 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/blog%E3%81%A8%E5%89%B5%E7%99%BA-43/</guid><description>&lt;p&gt;少しMovableType環境が落ち着いてきたので、ここでそのカスタマイズでお世話になった方々のサイトへの敬意（とアクセスアップをねらって）、ここに紹介したいと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.mylog.jp/blogs/q-box/archives/001017.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.mylog.jp/blogs/q-box/archives/001017.html']);"&gt;リーセントコメント(Recent Comments)&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.mylog.jp/blogs/q-box/archives/000978.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.mylog.jp/blogs/q-box/archives/000978.html']);"&gt;リーセントトラックバック&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.virtualvenus.org/wiki/view/MT/DateTagFormats" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.virtualvenus.org/wiki/view/MT/DateTagFormats']);"&gt;日付フォーマット(左の欄のCategories,Recent Commentにあるやつ)&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.villagewood.net/blog/archives/000195.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.villagewood.net/blog/archives/000195.html']);"&gt;タイトルの字数制限(Categoriesに採用)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;偉大な先人達、ありがとうございました。&lt;br&gt;
特に最後の trimj_to はあまり使われていないようだが、便利です。&lt;/p&gt;
&lt;p&gt;blogはwebをどんどん便利にしていく、と思う。人の善意と情報選択力(?)に後押しされて、価値のあるページがすごいスピードで見つけやすくなっていく(Googleで)。&lt;/p&gt;
&lt;p&gt;また今後いくらでも書きたくなると思うが、こうやって人々の善意と献身によって世の中が少しずつよくなっていく、創発、と言われるような仕組みは大好きだ。&lt;br&gt;
何かつくりたい。&lt;/p&gt;</description></item><item><title>バイオリズム-試行と考察 34</title><link>https://maaash.jp/2004/01/%E3%83%90%E3%82%A4%E3%82%AA%E3%83%AA%E3%82%BA%E3%83%A0-%E8%A9%A6%E8%A1%8C%E3%81%A8%E8%80%83%E5%AF%9F-34/</link><pubDate>Sat, 24 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E3%83%90%E3%82%A4%E3%82%AA%E3%83%AA%E3%82%BA%E3%83%A0-%E8%A9%A6%E8%A1%8C%E3%81%A8%E8%80%83%E5%AF%9F-34/</guid><description>&lt;p&gt;記録し始めたバイオリズムについて。&lt;/p&gt;
&lt;p&gt;記録開始直後にわかったのだが、綺麗なsinカーブなんて描けるはずはなかったのだ。&lt;/p&gt;
&lt;p&gt;特に身体のバイオリズムは、前日調子悪いな、と思えばその夜は睡眠時間を延ばすようにして対策をとる。&lt;br&gt;
精神も下にふれたら気晴らしにスポーツをしたり、アクションを取っている。&lt;/p&gt;
&lt;p&gt;それはそれで、アクションの平均的な効果やら短期的な落ち込みを含んだマクロな波が見られるかもしれない、と考えている。。&lt;br&gt;
特に、精神面の落ち込みの後の復活っぷりに我ながら興味がある。&lt;/p&gt;
&lt;p&gt;試行は、結果に対する期待がなければ意味が無い。&lt;br&gt;
考察が薄くなるのだ。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;blockquoteテスト&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>遠い太鼓 33</title><link>https://maaash.jp/2004/01/%E9%81%A0%E3%81%84%E5%A4%AA%E9%BC%93-33/</link><pubDate>Thu, 22 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E9%81%A0%E3%81%84%E5%A4%AA%E9%BC%93-33/</guid><description>&lt;p&gt;村上春樹「遠い太鼓」を読んだ。&lt;br&gt;
ちょうど、先日訪れたギリシャが一部舞台だったのもあって買ってみたんだ。&lt;/p&gt;
&lt;p&gt;イタリアに行ってみたくなった。イタリアの田舎に。&lt;br&gt;
そしておいしいワインを飲みたい！&lt;br&gt;
いきいきとしたトマトも食べたい！&lt;/p&gt;
&lt;p&gt;「おいしい！」と言って食べる/飲む隣で、「それあんまり好きじゃない…」なんてとっても惨めだ。&lt;br&gt;
そう、ワインはあんまり好きではないのです。トマトも。&lt;/p&gt;
&lt;p&gt;食べ物を、あんまり好きでない、のは最高のモノを経験していないからだと思う。&lt;br&gt;
イタリアに行こう。&lt;br&gt;
いつか。いつでもいいな。&lt;br&gt;
そう、そしてこの日記を読んで1つ苦手を克服したことを思い出すのです。&lt;/p&gt;</description></item><item><title>webと脳とmatrix 33</title><link>https://maaash.jp/2004/01/web%E3%81%A8%E8%84%B3%E3%81%A8matrix-33/</link><pubDate>Wed, 21 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/web%E3%81%A8%E8%84%B3%E3%81%A8matrix-33/</guid><description>&lt;p&gt;webサービスとかを勉強していて思った。&lt;br&gt;
matrix、ターミネーターの世界って、コンピューターが思考能力を持って、人間上位の世界に疑問を持ち、破壊するっていう話だ。&lt;br&gt;
あるとすれば、そんなに遠い話じゃないのでは？&lt;/p&gt;
&lt;p&gt;UDDIという技術を使えば、web上に公開されているwebサービスを発見することができ、さらにWSDLという技術を使えば、そのI/Fを使えるようになる。&lt;/p&gt;
&lt;p&gt;特定の分野の知識と限定的な思考を持つwebサービスが脳のなんとか野みたいな部分に相当する。そんなのがいっぱいnetwork上に散らばっている。&lt;br&gt;
気づいたらあと一歩、というところに来てたりしそうだ。&lt;/p&gt;
&lt;p&gt;今の世界とmatrixの世界との差は、人間に縛られない建設的な思考能力と、物質的な生産能力。2つ。&lt;br&gt;
後者は、そのうち出てくるんじゃないかな、例えばSupplyChainの関連でweb経由で生産管理とかしそうだし、、、ハックすれば好きなもの作る、くらい想像力の範疇だ。&lt;br&gt;
前者は、、、、これはまぁまだ見えてないのかもしれない。&lt;br&gt;
でも、最近目につく遺伝的プログラミングとか、そういう線の延長戦上にあるなのかな？&lt;/p&gt;
&lt;p&gt;まだ、か。な。&lt;/p&gt;</description></item><item><title>アインシュタイン風　33</title><link>https://maaash.jp/2004/01/%E3%82%A2%E3%82%A4%E3%83%B3%E3%82%B7%E3%83%A5%E3%82%BF%E3%82%A4%E3%83%B3%E9%A2%A8%E3%80%8033/</link><pubDate>Tue, 20 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E3%82%A2%E3%82%A4%E3%83%B3%E3%82%B7%E3%83%A5%E3%82%BF%E3%82%A4%E3%83%B3%E9%A2%A8%E3%80%8033/</guid><description>&lt;p&gt;たまには弱音もはいてみる。日記だし。&lt;/p&gt;
&lt;p&gt;睡眠不足に弱い。もうめちゃめちゃ弱い。&lt;br&gt;
手ぶらで出かけて、一日中生産性があがらず、帰りの電車を寝過ごし、夕食には口の中を噛んで痛め、たりする。&lt;br&gt;
8時間くらい寝てもぎりぎり。&lt;/p&gt;
&lt;p&gt;むかしからそうだった。&lt;br&gt;
テスト直前には普段よりもさらに早く寝る子だった。&lt;br&gt;
いつか未来に振り返ってこれを見て、”ださっ！”と思えるといいと思う。寝る時間を惜しんでやりたいことは多いのだ！期待はしていないけれど。&lt;/p&gt;
&lt;p&gt;ナポレオンは3時間しか寝なかったと言う。&lt;br&gt;
でも、アインシュタインは10時間寝たのだ。&lt;/p&gt;
&lt;p&gt;こうやってみると、、positive thinkingな面もあるな。&lt;/p&gt;</description></item><item><title>技術者の幸せ 22</title><link>https://maaash.jp/2004/01/%E6%8A%80%E8%A1%93%E8%80%85%E3%81%AE%E5%B9%B8%E3%81%9B-22/</link><pubDate>Mon, 19 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E6%8A%80%E8%A1%93%E8%80%85%E3%81%AE%E5%B9%B8%E3%81%9B-22/</guid><description>&lt;p&gt;このカメラメーカーのことを最近知った。&lt;br&gt;
&lt;a href="http://www.yasuhara.co.jp/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.yasuhara.co.jp/']);"&gt;安原製作所&lt;/a&gt;&lt;br&gt;
今年業務を終える。&lt;/p&gt;
&lt;p&gt;アナログカメラに興味を持ち始めたところだけれど、&lt;br&gt;
ちょっとタイミングが悪い。30%引きで購入できるし、&lt;br&gt;
モノは素晴らしいのだろうと思うが、入門機としてはちょっと手を出しづらい..&lt;br&gt;
1万円以下ので遊んでみたいな。&lt;/p&gt;
&lt;p&gt;その社長兼技術者(?)が、こんなことを言っている。&lt;br&gt;
”個人的な意見ですが、私は一カメラ技術者として「やりたいこと」と「やれること」を総てやり尽くせたのではないかと思っています。 とても幸せなことだったと思います。”&lt;/p&gt;
&lt;p&gt;言いたい。&lt;br&gt;
とても言いたい。&lt;/p&gt;</description></item><item><title>muchaの思い出。 33</title><link>https://maaash.jp/2004/01/mucha%E3%81%AE%E6%80%9D%E3%81%84%E5%87%BA%E3%80%82-33/</link><pubDate>Sat, 17 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/mucha%E3%81%AE%E6%80%9D%E3%81%84%E5%87%BA%E3%80%82-33/</guid><description>&lt;p&gt;&lt;a href="http://www.mucha.cz/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.mucha.cz/']);"&gt;mucha&lt;/a&gt;の絵が好きだ。&lt;/p&gt;
&lt;p&gt;チェコを訪れた時にその美術館でカレンダーとチョコなんかを買ったのだ。そのカレンダーは一昨年の10月だかを境にめくられず、はがされず、稼動している建築写真のカレンダーの隣にずうっとかけてあった。&lt;/p&gt;
&lt;p&gt;大掃除の時に片付けて捨てたのでここに思い出を留めておこう。好きだったし。時間をかけて選んだのだが、カレンダーの12(13?)枚の絵の中で一番好きだったのは、&lt;a href="http://www3.famille.ne.jp/~poster-m/j_mucha.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www3.famille.ne.jp/~poster-m/j_mucha.html']);"&gt;“la dame aux camelias”&lt;/a&gt;だった。二月の絵。&lt;/p&gt;
&lt;p&gt;伏し目、角度、姿勢、髪、曲線。美しい。&lt;/p&gt;</description></item><item><title>ソニーらしさとアイワらしさ 43</title><link>https://maaash.jp/2004/01/%E3%82%BD%E3%83%8B%E3%83%BC%E3%82%89%E3%81%97%E3%81%95%E3%81%A8%E3%82%A2%E3%82%A4%E3%83%AF%E3%82%89%E3%81%97%E3%81%95-43/</link><pubDate>Thu, 15 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E3%82%BD%E3%83%8B%E3%83%BC%E3%82%89%E3%81%97%E3%81%95%E3%81%A8%E3%82%A2%E3%82%A4%E3%83%AF%E3%82%89%E3%81%97%E3%81%95-43/</guid><description>&lt;p&gt;アイワがかっこいい&lt;a href="http://japan.cnet.com/news/tech/story/0,2000047674,20063657,00.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://japan.cnet.com/news/tech/story/0,2000047674,20063657,00.htm']);"&gt;hddオーディオプレイヤー&lt;/a&gt;を出した。&lt;br&gt;
今自分がアイワに抱いているブランドイメージにはふさわしくないほどイイ！&lt;/p&gt;
&lt;p&gt;ブランドの転換を感じる。&lt;br&gt;
が、その方向がソニーと近すぎるんじゃないか？&lt;br&gt;
そして、アイワブランドとソニーの関係:子ブランド、は知られすぎている気がする。&lt;br&gt;
PanasonicとJVCとは違う。&lt;/p&gt;
&lt;p&gt;アイワがソニーのブランドイメージを落としてしまいはしないのかな、と心配だ。&lt;br&gt;
ブランドは相対的なものだと思うのだ。。&lt;/p&gt;</description></item><item><title>日記の目的5: バイオリズム 12</title><link>https://maaash.jp/2004/01/%E6%97%A5%E8%A8%98%E3%81%AE%E7%9B%AE%E7%9A%845-%E3%83%90%E3%82%A4%E3%82%AA%E3%83%AA%E3%82%BA%E3%83%A0-12/</link><pubDate>Wed, 14 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E6%97%A5%E8%A8%98%E3%81%AE%E7%9B%AE%E7%9A%845-%E3%83%90%E3%82%A4%E3%82%AA%E3%83%AA%E3%82%BA%E3%83%A0-12/</guid><description>&lt;p&gt;非常に不愉快なことがあった。&lt;br&gt;
というのをきっかけにして、もう1つ目的があるのを思い出した。&lt;/p&gt;
&lt;p&gt;バイオリズムを科学する。&lt;/p&gt;
&lt;p&gt;理系でありながら（だからこそ?）、実は非科学的なことが結構好きだ。&lt;br&gt;
気、ヨガ、東洋医学、占星術、サイババの奇跡、チベットの僧の超能力(?)、、&lt;br&gt;
どれもお世話になったことは無いのだが、信用できる人の導きを待っているところがある。&lt;/p&gt;
&lt;p&gt;そして、よく言い訳にも使う、、&lt;br&gt;
「調子悪い」「調子いい」というのはなんかしらあると思う。&lt;br&gt;
内/外、どこからの影響なのかわからないが。&lt;br&gt;
もし無かったとしても、無い事を自分で確認してみたい。&lt;br&gt;
月の満ち欠けと同期するようなアップダウンが発見されたらもう最高におもしろいだろうな～&lt;/p&gt;
&lt;p&gt;ということで、タイトルの最後に「調子」を5段階(1:最低～5:最高)で精神/身体の順に記録していきます。二桁で。&lt;br&gt;
もちろん主観のみ。&lt;/p&gt;</description></item><item><title>DBと「百戦危うからず」</title><link>https://maaash.jp/2004/01/db%E3%81%A8%E3%80%8C%E7%99%BE%E6%88%A6%E5%8D%B1%E3%81%86%E3%81%8B%E3%82%89%E3%81%9A%E3%80%8D/</link><pubDate>Tue, 13 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/db%E3%81%A8%E3%80%8C%E7%99%BE%E6%88%A6%E5%8D%B1%E3%81%86%E3%81%8B%E3%82%89%E3%81%9A%E3%80%8D/</guid><description>&lt;p&gt;DBは、それを整備する人のコアになると思う。&lt;br&gt;
蓄えはそれ自体意味を持つ。&lt;br&gt;
そんな、群れ、を俯瞰すると、その中での自分の位置付けが見えるから。&lt;br&gt;
「敵を知り、己を知れば百戦危うからず」&lt;br&gt;
己を知る1つの術だ。&lt;/p&gt;
&lt;p&gt;今日は失敗したソフトウェア開発の失敗例を多く蓄える人に話を聞く機会に恵まれた。&lt;/p&gt;
&lt;p&gt;思わず、「ぶっ」と吹き出す失敗例ばかり。&lt;br&gt;
似たところにいた…ヽ(´▽｀)/&lt;br&gt;
う～む。。&lt;/p&gt;
&lt;p&gt;でも、少しずつ変えていた。&lt;br&gt;
一気に変える力は未だ無い。かな。か？&lt;/p&gt;</description></item><item><title>web運営とマーケティング入門</title><link>https://maaash.jp/2004/01/web%E9%81%8B%E5%96%B6%E3%81%A8%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80/</link><pubDate>Sun, 11 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/web%E9%81%8B%E5%96%B6%E3%81%A8%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80/</guid><description>&lt;p&gt;アクセス解析させてもらっています。&lt;br&gt;
どんなリンクをたどってきたか、何回目か、ディスプレイ解像度なんかも見えます。&lt;br&gt;
サイト見てもらえるのってうれしいな～、とぼんやり思いながら、&lt;br&gt;
ご飯を食べようと思って立ち寄った店がしまっていた、、&lt;/p&gt;
&lt;p&gt;サイト運営ってマーケティング入門にいいのかもしれない、と思った。&lt;br&gt;
お客さんが自分Storeに入ってくれるために、webringや検索サイトに登録してみたり、&lt;br&gt;
MovableTypeのpingを飛ばしてみたりする。&lt;/p&gt;
&lt;p&gt;どの作業もそれなりにコストがかかって、それぞれ効果は違う。&lt;br&gt;
アナログの広告媒体も、こんなふうに効果がリアルタイムに定量的に計測できて、&lt;br&gt;
っていうふうになっていく流れですね。&lt;br&gt;
二次元バーコードとか、携帯webとか、で。と思った。&lt;/p&gt;
&lt;p&gt;でも、もともとそういうもんか、アクセスアップ＝マーケティングか。&lt;br&gt;
りんごは果物でした、と言ってるだけ？&lt;/p&gt;</description></item><item><title>正20角形とオクテットトラス</title><link>https://maaash.jp/2004/01/%E6%AD%A320%E8%A7%92%E5%BD%A2%E3%81%A8%E3%82%AA%E3%82%AF%E3%83%86%E3%83%83%E3%83%88%E3%83%88%E3%83%A9%E3%82%B9/</link><pubDate>Sat, 10 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E6%AD%A320%E8%A7%92%E5%BD%A2%E3%81%A8%E3%82%AA%E3%82%AF%E3%83%86%E3%83%83%E3%83%88%E3%83%88%E3%83%A9%E3%82%B9/</guid><description>&lt;img src="https://mxo.k1.xrea.com/blog/images/0401P504iS00259.jpg" alt="正20角形" border="0" height="120" width="120" /&gt; 
&lt;img src="https://mxo.k1.xrea.com/blog/images/0401P504iS00260.jpg" alt="オクテットトラス" border="0" height="120" width="120" /&gt; 
正20角形とオクテットトラスを楊枝でつくってみました。
&lt;p&gt;なぜ？というのは多分自分以外には理解できないのだとう思う。&lt;br&gt;
BuckminsterFullerの思考の道筋に近づいてみたかった、というのと、実物をすぐ近くで見たかった、という理由からだ。&lt;/p&gt;
&lt;p&gt;目の前にないモノをイメージする力、というのは大事だと思う。&lt;br&gt;
広義に捉えれば、思いやり、とかになるのだけれど、&lt;br&gt;
ただ単に、中学受験で出てくるような、立方体をこんなふうに切ったら断面はどんな形になりますか？ ということだ。&lt;br&gt;
正20角形はイメージできなかった。オクテットトラスも。&lt;br&gt;
単純に、どの頂点から見ても5角形なんだ・・・という発見があった。&lt;/p&gt;
&lt;p&gt;眺めていると、焦る。&lt;/p&gt;</description></item><item><title>十大ニュース②とPhotolog</title><link>https://maaash.jp/2004/01/%E5%8D%81%E5%A4%A7%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9%E2%91%A1%E3%81%A8photolog/</link><pubDate>Thu, 08 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E5%8D%81%E5%A4%A7%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9%E2%91%A1%E3%81%A8photolog/</guid><description>&lt;ol start="4"&gt;
&lt;li&gt;web。xreaにphp用hp設置。blog開始。&lt;/li&gt;
&lt;li&gt;programming。php入門。MySQL入門。オープンiエリア利用&lt;a href="http://mxo.k1.xrea.com/select_gourmet.php" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://mxo.k1.xrea.com/select_gourmet.php']);"&gt;グルメ&lt;/a&gt;完成。&lt;/li&gt;
&lt;li&gt;旅。京都、ギリシャ、ドイツ。&lt;br&gt;
順不同。以上。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;すくなっ!!う～ん。。&lt;/p&gt;
&lt;img src="https://mxo.k1.xrea.com/blog/images/0312P504iS00011.jpg" alt="SV-SD80 bag" border="0" height="120" width="120" /&gt; 
↑あまりにもガワがかっこわるいので、 
こんなものをつくったのでした。かわいすぎる。 
他の人がSV-SD80をどんな風に使っているのか、知りたいな。</description></item><item><title>十大news①とBucky</title><link>https://maaash.jp/2004/01/%E5%8D%81%E5%A4%A7news%E2%91%A0%E3%81%A8bucky/</link><pubDate>Wed, 07 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E5%8D%81%E5%A4%A7news%E2%91%A0%E3%81%A8bucky/</guid><description>&lt;p&gt;遅ればせながら、去年の十大ニュースを列挙してみますか。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;人。出会いと別れ。&lt;/li&gt;
&lt;li&gt;スポーツ。トランポリン始動。&lt;/li&gt;
&lt;li&gt;モノ作り。&lt;a href="http://prodb.matsushita.co.jp/product/info.do?pg=04&amp;hb=SV-SD80" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://prodb.matsushita.co.jp/product/info.do?pg=04&amp;hb=SV-SD80']);"&gt;SV-SD80&lt;/a&gt;用の袋。&lt;br&gt;
つづく。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;今日の名言。&lt;br&gt;
“If the success or failure of this planet and of human beings depended on how I am and what I do, how would I be? What would I do?” by &lt;a href="http://www.bfi.org" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.bfi.org']);"&gt;Buckminster Fuller&lt;/a&gt;.&lt;br&gt;
まゆをひそめる様な嫌悪感が起こる。&lt;br&gt;
美しい考えなのに、どうして。&lt;br&gt;
そんな考えの元に日々行動なんてできっこない。&lt;br&gt;
ほんと？かっこわるいな。。！&lt;/p&gt;</description></item><item><title>水泳と変化、innovation</title><link>https://maaash.jp/2004/01/%E6%B0%B4%E6%B3%B3%E3%81%A8%E5%A4%89%E5%8C%96%E3%80%81innovation/</link><pubDate>Tue, 06 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E6%B0%B4%E6%B3%B3%E3%81%A8%E5%A4%89%E5%8C%96%E3%80%81innovation/</guid><description>&lt;p&gt;昨日、水泳をしてきた。&lt;/p&gt;
&lt;p&gt;好きなのに去年の夏はあまり泳がなかったし、プールの話を最近聞いて導かれてるような気がしたり、村上春樹の小説の中でよく泳いでいるのを読んでうずうずしていたり、父の若い頃の写真と現在を比較して自分のスタイルに危機感を感じたり・・・、と小さな理由が重なっていた。&lt;/p&gt;
&lt;p&gt;合計してもmotivationは大きくは無かったが、それを妨げる気持ちはもっと小さかった。&lt;/p&gt;
&lt;p&gt;ただ変化を望んでいた、ように思う。&lt;/p&gt;
&lt;p&gt;週に5日働いて、2日休んで(マクロ)。&lt;br&gt;
マクロがマンネリしているのに、仕事(ミクロ)でinnovationを起こせるわけないだろ？&lt;br&gt;
変化を起こす癖をつけておかないと。&lt;/p&gt;
&lt;p&gt;とか書いてみたが、ただ水泳をしただけだし。&lt;br&gt;
もっとなんかあるだろう？→ 自分 to be continued..&lt;/p&gt;</description></item><item><title>日記の目的3:考えるきっかけ</title><link>https://maaash.jp/2004/01/%E6%97%A5%E8%A8%98%E3%81%AE%E7%9B%AE%E7%9A%843%E8%80%83%E3%81%88%E3%82%8B%E3%81%8D%E3%81%A3%E3%81%8B%E3%81%91/</link><pubDate>Mon, 05 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E6%97%A5%E8%A8%98%E3%81%AE%E7%9B%AE%E7%9A%843%E8%80%83%E3%81%88%E3%82%8B%E3%81%8D%E3%81%A3%E3%81%8B%E3%81%91/</guid><description>&lt;ol start="3"&gt;
&lt;li&gt;考えるきっかけ。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;よく本を読む。&lt;br&gt;
が、考える時間が足りない。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://masaishere.infoseek.ne.jp" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://masaishere.infoseek.ne.jp']);"&gt;hp&lt;/a&gt;のinspire&lt;br&gt;
にも入っているが、&lt;br&gt;
「読書に費やしただけの時間を、考えるために費やす必要がある」&lt;br&gt;
by I.ベネット[1867-1931](英:作家)&lt;/p&gt;
&lt;p&gt;賛成だ！&lt;br&gt;
刺激に対して、日記を書くということを、考えるためのきっかけにしたい。&lt;/p&gt;</description></item><item><title>日記の目的4:記憶</title><link>https://maaash.jp/2004/01/%E6%97%A5%E8%A8%98%E3%81%AE%E7%9B%AE%E7%9A%844%E8%A8%98%E6%86%B6/</link><pubDate>Mon, 05 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E6%97%A5%E8%A8%98%E3%81%AE%E7%9B%AE%E7%9A%844%E8%A8%98%E6%86%B6/</guid><description>&lt;p&gt;ついでにもう1個。まだあったっけ?&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li&gt;記憶。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;自分は、記憶力の弱い人だと思う。&lt;br&gt;
前に観た映画の筋書き、本のあらすじ、経営数字、人の名前。&lt;br&gt;
全然覚えられない。&lt;/p&gt;
&lt;p&gt;1つには、あまり興味をもてなかったから、という理由があって、&lt;br&gt;
その理由で片付けられる記憶が薄れていくのは「まぁいいか」と思えるが、&lt;br&gt;
ほんとに感動したことはいつまでも鮮明に覚えていたい。&lt;/p&gt;
&lt;p&gt;さて、勉強にも通じるが、記憶は五感から、だ。&lt;br&gt;
vocabularyを増やす時に、単語を書きながら見ながら話す、とよく覚えられる。&lt;/p&gt;
&lt;p&gt;日記を、書き、見る行為として使いたい。&lt;/p&gt;</description></item><item><title>日記の目的2:文章力強化</title><link>https://maaash.jp/2004/01/%E6%97%A5%E8%A8%98%E3%81%AE%E7%9B%AE%E7%9A%842%E6%96%87%E7%AB%A0%E5%8A%9B%E5%BC%B7%E5%8C%96/</link><pubDate>Sun, 04 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E6%97%A5%E8%A8%98%E3%81%AE%E7%9B%AE%E7%9A%842%E6%96%87%E7%AB%A0%E5%8A%9B%E5%BC%B7%E5%8C%96/</guid><description>&lt;ol start="2"&gt;
&lt;li&gt;文章力を鍛える。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;得意分野を伸ばすのもよいけれど、苦手分野を克服する努力も必要でしょう。&lt;/p&gt;
&lt;p&gt;というわけで、日記と言いつつ、&lt;br&gt;
少し文章を工夫したりかっこつけたり(?&lt;br&gt;
試行することがあるでしょう。&lt;/p&gt;</description></item><item><title>日記の目的1:記録</title><link>https://maaash.jp/2004/01/%E6%97%A5%E8%A8%98%E3%81%AE%E7%9B%AE%E7%9A%841%E8%A8%98%E9%8C%B2/</link><pubDate>Fri, 02 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/%E6%97%A5%E8%A8%98%E3%81%AE%E7%9B%AE%E7%9A%841%E8%A8%98%E9%8C%B2/</guid><description>&lt;p&gt;早めに日記を書き始めた目的について整理しておきたい。&lt;/p&gt;
&lt;p&gt;突然めんどくさくなってやめたくなった時に、&lt;br&gt;
これを読んで思いとどまるように。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;記録&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;自分の歴史を振り返りたい時のため。&lt;br&gt;
どんなふうな道をたどってこんな自分を形成していったか、&lt;br&gt;
その軌跡を確認するため。&lt;br&gt;
どんな影響をどこから受けていたのかを知るため。&lt;/p&gt;
&lt;p&gt;村上春樹が、遠い太鼓、の中で、「一時的なものであり、過渡的なものである」ととらえた「思考あるいは存在そのもの」の歴史の記録。思考についてより強調して。&lt;br&gt;
いろんなことについて、どんなことをしていたか、よりもどんなふうに考えていたか。&lt;br&gt;
点よりもベクトル。&lt;br&gt;
を記録したい。&lt;/p&gt;</description></item><item><title>2004年の抱負1</title><link>https://maaash.jp/2004/01/2004%E5%B9%B4%E3%81%AE%E6%8A%B1%E8%B2%A01/</link><pubDate>Thu, 01 Jan 2004 00:00:00 +0000</pubDate><guid>https://maaash.jp/2004/01/2004%E5%B9%B4%E3%81%AE%E6%8A%B1%E8%B2%A01/</guid><description>&lt;p&gt;せっかく1.1なので2004年の目標など考えてみる。&lt;/p&gt;
&lt;p&gt;いろいろ浮かんだけれど、どれも、&lt;br&gt;
それくらいできるんじゃん？、という自問に対して、&lt;br&gt;
いいや、相当がんばらねばできません！&lt;br&gt;
と突きかえせない感じなので、姿勢を抱負にしてみる。&lt;/p&gt;
&lt;p&gt;「めんどくさい」に勝つ！&lt;/p&gt;
&lt;p&gt;抽象的にして逃げてるのかもしれないな・・・&lt;/p&gt;
&lt;p&gt;まぁいい。今年はこれで。&lt;br&gt;
めんどくさいな、と思った時には思い出せるといいな～。&lt;/p&gt;</description></item><item><title>伊藤志宏＠491</title><link>https://maaash.jp/2003/12/%E4%BC%8A%E8%97%A4%E5%BF%97%E5%AE%8F%EF%BC%A0491/</link><pubDate>Tue, 30 Dec 2003 00:00:00 +0000</pubDate><guid>https://maaash.jp/2003/12/%E4%BC%8A%E8%97%A4%E5%BF%97%E5%AE%8F%EF%BC%A0491/</guid><description>&lt;p&gt;&lt;a href="http://www.google.co.jp/search?q=%E4%BC%8A%E8%97%A4%E5%BF%97%E5%AE%8F&amp;#038;ie=UTF-8&amp;#038;oe=UTF-8&amp;#038;hl=ja&amp;#038;lr=lang_ja" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.google.co.jp/search?q=%E4%BC%8A%E8%97%A4%E5%BF%97%E5%AE%8F&amp;ie=UTF-8&amp;oe=UTF-8&amp;hl=ja&amp;lr=lang_ja']);"&gt;伊藤志宏&lt;/a&gt;のライブを石川町&lt;a href="http://asahijazz.soc.or.jp/liveinfo/491.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://asahijazz.soc.or.jp/liveinfo/491.html']);"&gt;491HOUSE&lt;/a&gt;に聴きに行く。&lt;/p&gt;
&lt;p&gt;無色透明のグラスが青白っぽい光に照らされて整然と並んでいるのを見るのが好きだ。&lt;br&gt;
プロにserveされているのに安心するのかもしれない。&lt;/p&gt;
&lt;p&gt;熱い演奏だった。特にベース。&lt;/p&gt;
&lt;p&gt;何ヶ月に一度くらいのペースで必要。&lt;br&gt;
癒された。。&lt;/p&gt;</description></item><item><title>TCからコミュニケーションを考える</title><link>https://maaash.jp/2003/12/tc%E3%81%8B%E3%82%89%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E8%80%83%E3%81%88%E3%82%8B/</link><pubDate>Mon, 29 Dec 2003 00:00:00 +0000</pubDate><guid>https://maaash.jp/2003/12/tc%E3%81%8B%E3%82%89%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E8%80%83%E3%81%88%E3%82%8B/</guid><description>&lt;p&gt;ネットワークゲーム:&lt;a href="http://www.nexon.co.jp/tcommanders/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.nexon.co.jp/tcommanders/']);"&gt;Tactical Commanders&lt;/a&gt;にはまっている。。&lt;br&gt;
始めたのが一昨年の夏なので、もう一年半近く。&lt;/p&gt;
&lt;p&gt;サポートが悪かったり、変化に乏しかったり、マイナスポイントは多々あげられるのだが、やめられない。&lt;br&gt;
人とのつながりができる制度があって、その仲間が楽しくって仕方が無い！！&lt;/p&gt;
&lt;p&gt;思えば、日本人のネット上でのコミュニケーションは世界的にも豊かなんじゃなかろうか。&lt;br&gt;
こんなに、2Byte文字やらいろいろ組み合わせて顔文字を作ったりする文化ってあるのかな。&lt;br&gt;
realに逢うのにはもちろん及ばないが、情報量が非常に多い。&lt;/p&gt;
&lt;p&gt;表情を見てなんとなく通じる、みたいなコミュニケーションを快く感じる部分について、&lt;br&gt;
ネットの制限を越えようと言う試み。かもしれない。&lt;/p&gt;</description></item><item><title>危機感</title><link>https://maaash.jp/2003/12/%E5%8D%B1%E6%A9%9F%E6%84%9F/</link><pubDate>Sat, 27 Dec 2003 00:00:00 +0000</pubDate><guid>https://maaash.jp/2003/12/%E5%8D%B1%E6%A9%9F%E6%84%9F/</guid><description>&lt;p&gt;03/12/26&lt;/p&gt;
&lt;p&gt;危機感についての話を聞いた。&lt;br&gt;
うちの組織には、危機感が足りない、という認識を持っているらしい。&lt;/p&gt;
&lt;p&gt;危機感を人に植え付けるには、ただ繰り返し説得するように伝えてもだめ。&lt;br&gt;
何かを変える、そうだ。&lt;br&gt;
普段疑いも無く行っている習慣のようなものを。&lt;/p&gt;
&lt;p&gt;なるほど、。&lt;br&gt;
既に為されたその変化、たしかに効果があったと思う。&lt;/p&gt;
&lt;p&gt;おまけ:&lt;a href="http://www.geocities.co.jp/Hollywood-Cinema/5879/ema.htm" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.geocities.co.jp/Hollywood-Cinema/5879/ema.htm']);"&gt;絵馬&lt;/a&gt;&lt;br&gt;
思わず200枚全部観てしまった&lt;/p&gt;</description></item><item><title>2001年宇宙の旅</title><link>https://maaash.jp/2003/12/2001%E5%B9%B4%E5%AE%87%E5%AE%99%E3%81%AE%E6%97%85/</link><pubDate>Thu, 25 Dec 2003 00:00:00 +0000</pubDate><guid>https://maaash.jp/2003/12/2001%E5%B9%B4%E5%AE%87%E5%AE%99%E3%81%AE%E6%97%85/</guid><description>&lt;p&gt;03/12/25&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.hayakawa-online.co.jp/2001/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.hayakawa-online.co.jp/2001/']);" title="『2001年宇宙の旅』ホームページ"&gt;『2001年宇宙の旅』ホームページ&lt;/a&gt;&lt;br&gt;
お金を払ってでも続きを読みたくなるweb.&lt;/p&gt;
&lt;p&gt;SFが好きだ。&lt;br&gt;
その、自然法則より、。&lt;br&gt;
という圧倒的な説得力に裏打ちされた、&lt;br&gt;
なんとなくピンと来ない話、&lt;br&gt;
というのが好きなのかもしれない。&lt;/p&gt;
&lt;p&gt;また何年先に同じ文章を読んでも、&lt;br&gt;
同じように興奮してしまうんだろうな、&lt;br&gt;
と思う。&lt;/p&gt;</description></item><item><title>熱くなる</title><link>https://maaash.jp/2003/12/%E7%86%B1%E3%81%8F%E3%81%AA%E3%82%8B/</link><pubDate>Thu, 25 Dec 2003 00:00:00 +0000</pubDate><guid>https://maaash.jp/2003/12/%E7%86%B1%E3%81%8F%E3%81%AA%E3%82%8B/</guid><description>&lt;p&gt;03/12/24&lt;/p&gt;
&lt;p&gt;昨日、ひさびさに熱くなることがあった。&lt;br&gt;
普段声を大きくして何かを主張するようなこと等&lt;br&gt;
ほとんど無いのに。&lt;/p&gt;
&lt;p&gt;そういった、心の起伏を意識した時には&lt;br&gt;
自己分析の種がある。&lt;/p&gt;
&lt;p&gt;題は、ある一人の人物の考えや生み出したものに対して、&lt;br&gt;
あらゆる人がそれを好む、ということがあるか、という事についてだった。&lt;/p&gt;
&lt;p&gt;どこかで(また百式かな?)、ユダヤ人の会議についてのお話を最近聞いた。&lt;br&gt;
全会一致した会議はやり直せ、そんな事はありえないからだ。というような話。&lt;/p&gt;
&lt;p&gt;自分にも、そんなふうに多彩性を尊ぶ考えが深いところにあるらしい。&lt;br&gt;
異端がいないと、innovationは生まれません。&lt;/p&gt;</description></item><item><title>CATAN</title><link>https://maaash.jp/2003/12/catan/</link><pubDate>Tue, 23 Dec 2003 00:00:00 +0000</pubDate><guid>https://maaash.jp/2003/12/catan/</guid><description>&lt;p&gt;03/12/20&lt;/p&gt;
&lt;p&gt;一日中CATANに興じる。&lt;/p&gt;
&lt;p&gt;百式に昔紹介されていたゲーム。&lt;br&gt;
パターン化しないバランスの良さが素晴らしい。&lt;br&gt;
対人戦をしたい！&lt;/p&gt;
&lt;p&gt;ゲームをしていると、時間を忘れる。&lt;br&gt;
そして常に、予想していたよりも時間の流れは速い。&lt;br&gt;
これをもっと短く感じられるようになる方法、&lt;br&gt;
があれば後味がよくなるだろうにな。&lt;/p&gt;</description></item><item><title>HBR12</title><link>https://maaash.jp/2003/12/hbr12/</link><pubDate>Tue, 23 Dec 2003 00:00:00 +0000</pubDate><guid>https://maaash.jp/2003/12/hbr12/</guid><description>&lt;p&gt;03/12/17&lt;/p&gt;
&lt;p&gt;HBR12月号のTipping Point Leadershipに衝撃を受けた。&lt;br&gt;
危機に瀕している組織に対して、最初に定量的ではなく(!)、&lt;br&gt;
定性的に働きかけて、Tipping Pointを越える人数を組織する。&lt;br&gt;
なるほど。。&lt;br&gt;
今、うちの会社で行われている戦略である気がする。&lt;br&gt;
危機にあることを定量的に示しにくい場合に&lt;br&gt;
適用されると効果がありそう。&lt;/p&gt;
&lt;p&gt;これからやってくる危機に対して先行して対処しておく必要がある場合、&lt;br&gt;
影響力の強いキーマンに対して繰り返し、繰り返し働きかける。&lt;br&gt;
定性的な表現で。焼き付ける。&lt;/p&gt;
&lt;p&gt;うーむ、ほんとか？？&lt;br&gt;
定性的な説得でキーマンを動かすには強いコミュニケーション能力が不可欠。&lt;br&gt;
読み返してみましょう・・・&lt;/p&gt;</description></item><item><title>一戸建ての建築</title><link>https://maaash.jp/2003/12/%E4%B8%80%E6%88%B8%E5%BB%BA%E3%81%A6%E3%81%AE%E5%BB%BA%E7%AF%89/</link><pubDate>Tue, 23 Dec 2003 00:00:00 +0000</pubDate><guid>https://maaash.jp/2003/12/%E4%B8%80%E6%88%B8%E5%BB%BA%E3%81%A6%E3%81%AE%E5%BB%BA%E7%AF%89/</guid><description>&lt;p&gt;03/12/18&lt;/p&gt;
&lt;p&gt;定量的な説得はボトムアップのmotivationを引き起こす方法。&lt;br&gt;
ティッピングは強いトップダウンのアプローチなのでしょう。&lt;br&gt;
コミュニケーション能力。&lt;/p&gt;
&lt;p&gt;家路を歩く間、一戸建ての建築について考えた。&lt;br&gt;
隣家との境目に当たる壁の内側に、&lt;br&gt;
家の裏口へ回るのに使うような細いエリアが&lt;br&gt;
設けてあることが多い。小さな木が植わってあったりして。&lt;br&gt;
あれを無くす。&lt;br&gt;
代わりに、道を歩く人が壁に触れられない程度の隙間を空けたまま、&lt;br&gt;
柵をもうける。狭義のdesignを意識して美的なものを。&lt;br&gt;
緑は、屋上にもうける。&lt;br&gt;
人は1Fの箱庭ではなく、屋上庭園でrelax.&lt;/p&gt;
&lt;p&gt;ほとんど敷地全体を占める大きさの建築。&lt;br&gt;
同じ大きさの庭。&lt;br&gt;
いいかも。&lt;/p&gt;</description></item><item><title>当たり前のこと</title><link>https://maaash.jp/2003/12/%E5%BD%93%E3%81%9F%E3%82%8A%E5%89%8D%E3%81%AE%E3%81%93%E3%81%A8/</link><pubDate>Tue, 23 Dec 2003 00:00:00 +0000</pubDate><guid>https://maaash.jp/2003/12/%E5%BD%93%E3%81%9F%E3%82%8A%E5%89%8D%E3%81%AE%E3%81%93%E3%81%A8/</guid><description>&lt;p&gt;03/12/19&lt;/p&gt;
&lt;p&gt;“当たり前のことを、ばかみたいに、ちゃんとやる”「ふくやＡＢＣ」&lt;br&gt;
メールマガジン:社長のビタミン・一日一善vol.204 より抜粋&lt;/p&gt;
&lt;p&gt;そう、そう。&lt;/p&gt;</description></item><item><title>整理</title><link>https://maaash.jp/2003/12/%E6%95%B4%E7%90%86/</link><pubDate>Tue, 23 Dec 2003 00:00:00 +0000</pubDate><guid>https://maaash.jp/2003/12/%E6%95%B4%E7%90%86/</guid><description>&lt;p&gt;03/12/22&lt;/p&gt;
&lt;p&gt;今仕事以外でやりたい事を整理してみた。&lt;br&gt;
なんとなく、やりたい事が多すぎてもったいぶる感覚があったから。&lt;/p&gt;
&lt;p&gt;でも、一覧にしてみると数えるほどしかなく、&lt;br&gt;
早速今日中にいくつか目に見える成果があがる（大した話では無い&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Movable Typeをxreaに入れてみた&lt;br&gt;
日本語の文字化けを直すのにほぼ丸一日かかる。。&lt;br&gt;
日本人が一気に全員英語を読み書きできるようになってくれたら、&lt;br&gt;
どれだけweb関連の生産性があがるだろう・・・&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;楊枝を買ってきた&lt;br&gt;
まぁそのうちなにかできあがるでしょう。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;仕事で普段やってるアプローチをプライベートに持ち込みたくないような気持ちがあるようだ。&lt;br&gt;
今日はそれを少し打ち破ってみた。&lt;/p&gt;
&lt;p&gt;Movable Typeの出力するhtmlを見てみた。&lt;br&gt;
divってこんなふうに便利に使えたんだ～(今更&lt;br&gt;
へぇ～&lt;/p&gt;</description></item><item><title>運</title><link>https://maaash.jp/2003/12/%E9%81%8B/</link><pubDate>Tue, 23 Dec 2003 00:00:00 +0000</pubDate><guid>https://maaash.jp/2003/12/%E9%81%8B/</guid><description>&lt;p&gt;03/12/21&lt;/p&gt;
&lt;p&gt;運転中に事故りそうになった。&lt;br&gt;
ショックだった。&lt;/p&gt;
&lt;p&gt;右折時に横断歩道を渡る自転車を引きそうになったのだ。&lt;br&gt;
おれおれ詐欺についてぼんやりと考えてはいたが、&lt;br&gt;
それくらいの集中力の散漫はいつものこと。&lt;br&gt;
言い訳するならば電信柱と逆光でかぶってた、くらいだ、、。&lt;/p&gt;
&lt;p&gt;事故を起こす/起こさない、は注意力の問題でなく&lt;br&gt;
単純に運なのだ。と思った。&lt;br&gt;
なんとかできないだろうか・・・&lt;/p&gt;</description></item><item><title>Resume</title><link>https://maaash.jp/resume/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://maaash.jp/resume/</guid><description>&lt;p&gt;Kesklinn, Tallinn, Estonia&lt;br&gt;
phone: +372-5919-2420&lt;br&gt;
email: &lt;a href="mailto:o.masakazu@gmail.com" &gt;o.masakazu@gmail.com&lt;/a&gt;&lt;br&gt;
skype: &lt;a href="mailto:o.masakazu@gmail.com" &gt;o.masakazu@gmail.com&lt;/a&gt;&lt;br&gt;
website: &lt;a href="https://maaash.jp/" class="external-link" target="_blank" rel="noopener"&gt;https://maaash.jp/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="interests"&gt;
 Interests
 &lt;a class="heading-link" href="#interests"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m interested in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sustainability&lt;/li&gt;
&lt;li&gt;Identity and strong authentication&lt;/li&gt;
&lt;li&gt;Devices that connect to Internet and smartphones&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="work-experience"&gt;
 Work Experience
 &lt;a class="heading-link" href="#work-experience"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;h3 id="cto-okaeri-inc-nov-2020---current"&gt;
 CTO, Okaeri, Inc. Nov 2020 - Current
 &lt;a class="heading-link" href="#cto-okaeri-inc-nov-2020---current"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;BambooRoll&lt;/strong&gt; &lt;a href="https://bambooroll.jp/" class="external-link" target="_blank" rel="noopener"&gt;https://bambooroll.jp/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;BambooRoll is a toilet paper subscription service.&lt;br&gt;
Bamboo is the fastest growing plant and we currently source sustainably in China.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re in the process of developing partners in Japan to source bamboo and manufacture toilet paper in Japan, to solve the bamboo pollution problem in Japan.&lt;/p&gt;</description></item></channel></rss>