<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>超現実いもす(imos)の日記</title>
	<atom:link href="http://imoz.jp/feed/" rel="self" type="application/rss+xml" />
	<link>http://imoz.jp</link>
	<description>プログラムを日々錬成し続ける錬金術師いもす(imos)の日記。</description>
	<pubDate>Sat, 03 Jul 2010 21:38:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>ja</language>
			<item>
		<title>ICPC国内予選</title>
		<link>http://imoz.jp/2010/07/icpc-domestic/</link>
		<comments>http://imoz.jp/2010/07/icpc-domestic/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 21:38:22 +0000</pubDate>
		<dc:creator>imos</dc:creator>
		
		<category><![CDATA[ICPC]]></category>

		<guid isPermaLink="false">http://imoz.jp/?p=682</guid>
		<description><![CDATA[				ICPC国内予選が金曜日にありました．無事我チーム Imo は6位で通過しました．遂にというかなんというか合宿に行ける成績なので喜んでおります．暫定的な結果およびスコアの状況は http://imoz.jp/icpc/2010d.html のような状態です．
				
				今回は自分はA,D,Eを解きました．
				A問題はファーストサブミット狙いでとりかかったのですが，3番手となってしまい無念でした．
				D問題は下から再帰するという問題で，重心の位置とマスの座標の調整というのを正しくすればそれほど難しくない問題でした．
				E問題は1文字ずつに分解してから貪欲に解くという方法を取りました．
				今年は世界大会を狙えるようにがんばりたいと思います．
]]></description>
			<content:encoded><![CDATA[				<p>ICPC国内予選が金曜日にありました．無事我チーム Imo は6位で通過しました．遂にというかなんというか合宿に行ける成績なので喜んでおります．暫定的な結果およびスコアの状況は <a href="http://imoz.jp/icpc/2010d.html">http://imoz.jp/icpc/2010d.html</a> のような状態です．<br />
				<span id="more-682"></span><br />
				今回は自分はA,D,Eを解きました．</p>
				<p>A問題はファーストサブミット狙いでとりかかったのですが，3番手となってしまい無念でした．<br />
				D問題は下から再帰するという問題で，重心の位置とマスの座標の調整というのを正しくすればそれほど難しくない問題でした．<br />
				E問題は1文字ずつに分解してから貪欲に解くという方法を取りました．</p>
				<p>今年は世界大会を狙えるようにがんばりたいと思います．</p>
]]></content:encoded>
			<wfw:commentRss>http://imoz.jp/2010/07/icpc-domestic/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ICPCのビジュアライザ</title>
		<link>http://imoz.jp/2010/07/visualizer-for-icpc/</link>
		<comments>http://imoz.jp/2010/07/visualizer-for-icpc/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 16:35:09 +0000</pubDate>
		<dc:creator>imos</dc:creator>
		
		<category><![CDATA[プログラミング]]></category>

		<category><![CDATA[Canvas]]></category>

		<category><![CDATA[ICPC]]></category>

		<category><![CDATA[ライブラリ]]></category>

		<guid isPermaLink="false">http://imoz.jp/?p=671</guid>
		<description><![CDATA[				プログラミングの大会で幾何が出ると困る．頭の中や紙の上で絵を描くのにはさすがに限界があるからだ．というわけで簡単にかけて使いやすいビジュアライザを作ってみた．
				
				
				001: &lt;script&gt;
				002: function&nbsp;line(x,y,a,b){c.b();c.moveTo(x,y);c.lineTo(a,b);c.s();}
				003: function&nbsp;circle(x,y,r){c.b();c.arc(x,y,r,0,7,0);c.s();}
				004: window.onload=function(){d=document;d.i=d.getElementById;
				005: &nbsp;c=d.i('c').getContext('2d');c.b=c.beginPath;c.s=c.stroke;
				006: &nbsp;d.i('s').src='data.js?';};
				007: &lt;/script&gt;
				008: &lt;body&gt;&lt;canvas&nbsp;id=&quot;c&quot;&nbsp;width=&quot;500&quot;&nbsp;height=&quot;500&quot;
				009: style=&quot;border:1px solid #000;&quot;&gt;&lt;/canvas&gt;
				010: &lt;script&nbsp;id=&quot;s&quot;&gt;&lt;/script&gt;&lt;/body&gt;
				
				
				というファイルを書いてあとは data.js というファイルに描きたい内容を書く．
				
				001: line(100,&nbsp;100,&nbsp;200,&nbsp;100);
				002: line(100,&nbsp;100,&nbsp;200,&nbsp;200);
				003: circle(100,&nbsp;100,&nbsp;50);
				004: line(100,&nbsp;200,&nbsp;200,&nbsp;200);
				
				
				参考までに．
]]></description>
			<content:encoded><![CDATA[				<p>プログラミングの大会で幾何が出ると困る．頭の中や紙の上で絵を描くのにはさすがに限界があるからだ．というわけで簡単にかけて使いやすいビジュアライザを作ってみた．<br />
				<span id="more-671"></span></p>
				<p>
				<div class="imocode" style="line-height:1em;">001: &lt;script&gt;<br />
				002: function&nbsp;line(x,y,a,b){c.b();c.moveTo(x,y);c.lineTo(a,b);c.s();}<br />
				003: function&nbsp;circle(x,y,r){c.b();c.arc(x,y,r,0,7,0);c.s();}<br />
				004: window.onload=function(){d=document;d.i=d.getElementById;<br />
				005: &nbsp;c=d.i(<font color="#0000ff">'c'</font>).getContext(<font color="#0000ff">'2d'</font>);c.b=c.beginPath;c.s=c.stroke;<br />
				006: &nbsp;d.i(<font color="#0000ff">'s'</font>).src=<font color="#0000ff">'data.js?'</font>;};<br />
				007: &lt;/script&gt;<br />
				008: &lt;body&gt;&lt;canvas&nbsp;id=<font color="#0000ff">&quot;c&quot;</font>&nbsp;width=<font color="#0000ff">&quot;500&quot;</font>&nbsp;height=<font color="#0000ff">&quot;500&quot;</font><br />
				009: style=<font color="#0000ff">&quot;border:1px solid #000;&quot;</font>&gt;&lt;/canvas&gt;<br />
				010: &lt;script&nbsp;id=<font color="#0000ff">&quot;s&quot;</font>&gt;&lt;/script&gt;&lt;/body&gt;
				</div>
				</p>
				<p>というファイルを書いてあとは data.js というファイルに描きたい内容を書く．</p>
				<p>
				<div class="imocode" style="line-height:1em;">001: line(100,&nbsp;100,&nbsp;200,&nbsp;100);<br />
				002: line(100,&nbsp;100,&nbsp;200,&nbsp;200);<br />
				003: circle(100,&nbsp;100,&nbsp;50);<br />
				004: line(100,&nbsp;200,&nbsp;200,&nbsp;200);
				</div>
				</p>
				<p>参考までに．</p>
]]></content:encoded>
			<wfw:commentRss>http://imoz.jp/2010/07/visualizer-for-icpc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mac の Bonjour を使いこなす</title>
		<link>http://imoz.jp/2010/05/use-bonjour-in-mac/</link>
		<comments>http://imoz.jp/2010/05/use-bonjour-in-mac/#comments</comments>
		<pubDate>Sun, 23 May 2010 15:03:53 +0000</pubDate>
		<dc:creator>imos</dc:creator>
		
		<category><![CDATA[インターネット]]></category>

		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Bonjour]]></category>

		<category><![CDATA[DNS]]></category>

		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://imoz.jp/?p=668</guid>
		<description><![CDATA[				Mac を使ってネットワークにつなぐと，Finder の左の欄にある共有というところに同じネットワーク上に他の Mac のアイコンがあらわれたりすることがあります．これは Bonjour という機能によるものです．一方で LAN ディスクや Linux サーバはファイル共有機能があっても Mac ではないためにここに現れてくることはありません．しかしそれでは不便だ！ということなのでこの記事ではどのようにすればそれらのサーバがここに現れるようになったのかのメモを書いておきます．
				
				基本的な方法
				ちなみに画像に現れている iPad は架空の iPad です．Terminal を起動し，以下のようなコマンドを打ち込みます．
				
				$ dns-sd -P "Imo's iPad" _device-info._tcp local 445 imo-ipad.local 192.168.128.1 model=iPad &#038;
				$ dns-sd -P "Imo's iPad" _smb._tcp local 445 imo-ipad.local 192.168.128.1
				
				これを実行するだけで画像のように Imo's iPad と書かれた物が現れるようになったと思います．上記の必要な部分を書き換えるだけで一般的な用途に耐えると思います．
				dns-sd -P コマンドオプション
				dns-sd のコマンドオプションは以下のようになっています．
				
				dns-sd -P 名称 プロトコル名 local ポート番号 ホスト名 IPアドレス [テキストレコード…]
				
				
				名称 … 表示される名称
				プロトコル名 … [...]]]></description>
			<content:encoded><![CDATA[				<p><img style="border:1px solid #888;margin:3px;" title="imac" src="http://imoz.jp/wp-content/uploads/network.png" alt="" width="200" height="200" align="left" />Mac を使ってネットワークにつなぐと，Finder の左の欄にある共有というところに同じネットワーク上に他の Mac のアイコンがあらわれたりすることがあります．これは <a href="http://ja.wikipedia.org/wiki/Bonjour" target="_blank">Bonjour</a> という機能によるものです．一方で LAN ディスクや Linux サーバはファイル共有機能があっても Mac ではないためにここに現れてくることはありません．しかしそれでは不便だ！ということなのでこの記事ではどのようにすればそれらのサーバがここに現れるようになったのかのメモを書いておきます．<br />
				<span id="more-668"></span></p>
				<h2>基本的な方法</h2>
				<p>ちなみに画像に現れている iPad は架空の iPad です．Terminal を起動し，以下のようなコマンドを打ち込みます．<br />
				<code><br />
				$ dns-sd -P "Imo's iPad" _device-info._tcp local 445 imo-ipad.local 192.168.128.1 model=iPad &#038;<br />
				$ dns-sd -P "Imo's iPad" _smb._tcp local 445 imo-ipad.local 192.168.128.1<br />
				</code><br />
				これを実行するだけで画像のように Imo's iPad と書かれた物が現れるようになったと思います．上記の必要な部分を書き換えるだけで一般的な用途に耐えると思います．</p>
				<h3>dns-sd -P コマンドオプション</h3>
				<p>dns-sd のコマンドオプションは以下のようになっています．<br />
				<code><br />
				dns-sd -P 名称 プロトコル名 local ポート番号 ホスト名 IPアドレス [テキストレコード…]<br />
				</code></p>
				<ul>
				<li>名称 … 表示される名称</li>
				<li>プロトコル名 … <a href="http://www.dns-sd.org/ServiceTypes.html" target="_blank">DNS SRV Service Types</a> を参照</li>
				<li>local … おまじない(localと打ち込みましょう)</li>
				<li>ポート番号 … サービスを行うプロトコルの番号</li>
				<li>ホスト名 … ホスト名．もしホスト名を持っていなければ 〜.local という名前を作って打ち込みんでください（ただし競合すると失敗するので注意してください）</li>
				<li>IPアドレス … サービスを行うサーバの IP アドレス</li>
				<li>テキストレコード … 追加情報をここに書きます</li>
				</ul>
				<h3>Bonjour されているものの確認方法</h3>
				<p><a href="http://www.tildesoft.com/Programs.html" target="_blank">Bonjour Browser</a> というソフトウェアがあり，これを使うと何が Bonjour されているかを GUI で簡単に確認できます．</p>
				<p>またコマンドで dns-sd -Z プロトコル名 local とすることによっても確認できます．</p>
				<h2>その他の情報</h2>
				<h3>Linux に dns-sd をインストールする</h3>
				<p><a href="http://developer.apple.com/opensource/internet/bonjour.html" target="_blank">Apple のページ</a>にプログラムが公開されているのでそちらからダウンロードして各自 make してください．<br />
				ただし自分の Linux 環境でそのまま make するとこけてしまいました．Makefile の中の CFLAGS に -fno-stack-protector を追記した上で gcc-4.2 を用いてコンパイルしたら通ったのでコケた場合は試してください．</p>
				<h3>プロトコル名</h3>
				<ul>
				<li>Apple Filing Protocol … _afpovertcp._tcp を指定しなければならない</li>
				<li>SMB … _smb._tcp を指定するだけ．txtレコードでpathを指定可能</li>
				<li>HTTP, HTTPS … _http._tcp のみしか存在しない．https をサービスしているサーバは http もサービスしているだろうという謎の仕様．host 名は指定できない．ドットが必ず最後につくのは仕様．</li>
				</ul>
				<h3>_device-info</h3>
				<p>デバイスの定義のために存在する．/System/Library/CoreServices/CoreTypes.bundle 配下で色々と定義されている．その中の Contents/Info.plist を見るとアイコンの対応関係がわかる．</p>
				<p>modelとしては "Xserve" "iPad" "AirPort" "TimeCapsule" "iPhone" など色々ある．バージョン違い，例えば Unibody iMac 27 インチは "iMac10,1" または "iMac11,1" などという表記になっている．</p>
				<h3>常時起動するには</h3>
				<p>launchctl で調べてください．</p>
]]></content:encoded>
			<wfw:commentRss>http://imoz.jp/2010/05/use-bonjour-in-mac/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gmail Multiple Inboxes の使い方</title>
		<link>http://imoz.jp/2010/03/how-to-use-multiple-inboxes-for-gmail/</link>
		<comments>http://imoz.jp/2010/03/how-to-use-multiple-inboxes-for-gmail/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 04:16:49 +0000</pubDate>
		<dc:creator>imos</dc:creator>
		
		<category><![CDATA[インターネット]]></category>

		<category><![CDATA[Gmail]]></category>

		<category><![CDATA[Multiple Inboxes]]></category>

		<guid isPermaLink="false">http://imoz.jp/?p=648</guid>
		<description><![CDATA[				メールがなければ事が進まない(スケジュールの把握ができない)ようになってしまいメールに依存せざるをえなくなったけども極度のめんどくさがりな自分のような人間はどのようにGmailのMultiple Inboxesを使っているのかというのを紹介します．一応，自分の使い方であって万人に良い使い方ではないと思うのでその点はご理解を．
				GmailはLabsという実験的機能の追加をすることができます．その一つとしてMultiple Inboxesというものが存在します．名前の通り受信ボックスを複数扱うような機能です．これを使うとSpamに分類されてしまったメールに素早く気づくことができたり，アーカイブの手間を減らすことができたり，雑多なメールを取る気になると思います．
				
				設定例
				まず自分のMultiple Inboxesの設定を以下に示します．各項目の設定の目的や使い方を後述します．
				
				Pane 0: Unread Mails (未読メール) - is:unread
				Pane 1: All Mails (全てのメール) - (-in:sent -in:inbox -is:chat -from:自分のアドレス -in:trash -label:p-mobile)
				Pane 2: Fliers (広告メール) - (in:trash label:x-fliers) OR (label:x-fliers)
				Pane 3: Japanese Spams (日本語スパム) - in:spam lang:ja -label:p-mobile
				Pane 4: Starred Mails (スター付メール) - is:starred
				Maximum Page Size: 20 Conversations (20スレッド)
				Extra panels positioning: Below the Inbox (受信ボックスの下)
				
				　
				アーカイブ機能(受信ボックス)の基本的な使い方
				まずこれらの設定を使う前に必要なルールがあります．それは「受信ボックスは何もメールがない」という目標です．受信ボックスは数日〜数週間以内に必要なメールのみが残っているべきです．例えば「明後日のミーティングの場所を伝えるメール」などが受信ボックスに残っているべきメールということです．なので Multiple [...]]]></description>
			<content:encoded><![CDATA[				<p><img style="border:1px solid #888;margin:3px;" title="imac" src="http://imoz.jp/wp-content/uploads/multipleinboxes.jpg" alt="" width="200" height="200" align="right" />メールがなければ事が進まない(スケジュールの把握ができない)ようになってしまいメールに依存せざるをえなくなったけども極度のめんどくさがりな自分のような人間はどのようにGmailのMultiple Inboxesを使っているのかというのを紹介します．一応，自分の使い方であって万人に良い使い方ではないと思うのでその点はご理解を．</p>
				<p>GmailはLabsという実験的機能の追加をすることができます．その一つとしてMultiple Inboxesというものが存在します．名前の通り受信ボックスを複数扱うような機能です．これを使うとSpamに分類されてしまったメールに素早く気づくことができたり，アーカイブの手間を減らすことができたり，雑多なメールを取る気になると思います．<br clear="all" /><br />
				<span id="more-648"></span></p>
				<h2>設定例</h2>
				<p>まず自分のMultiple Inboxesの設定を以下に示します．各項目の設定の目的や使い方を後述します．</p>
				<ul>
				<li>Pane 0: Unread Mails (未読メール) - is:unread</li>
				<li>Pane 1: All Mails (全てのメール) - (-in:sent -in:inbox -is:chat -from:自分のアドレス -in:trash -label:p-mobile)</li>
				<li>Pane 2: Fliers (広告メール) - (in:trash label:x-fliers) OR (label:x-fliers)</li>
				<li>Pane 3: Japanese Spams (日本語スパム) - in:spam lang:ja -label:p-mobile</li>
				<li>Pane 4: Starred Mails (スター付メール) - is:starred</li>
				<li>Maximum Page Size: 20 Conversations (20スレッド)</li>
				<li>Extra panels positioning: Below the Inbox (受信ボックスの下)</li>
				</ul>
				<p>　</p>
				<h3>アーカイブ機能(受信ボックス)の基本的な使い方</h3>
				<p>まずこれらの設定を使う前に必要なルールがあります．それは「受信ボックスは何もメールがない」という目標です．<b>受信ボックスは数日〜数週間以内に必要なメールのみが残っているべき</b>です．例えば「明後日のミーティングの場所を伝えるメール」などが受信ボックスに残っているべきメールということです．なので Multiple Inboxes を表示する場所の設定は Below the Inbox になっています．受信メールは新着または分類できていないメールであるはずですのでこの設定は有効です．<br />
				　</p>
				<h3>Pane 0: Unread Mails (未読メール)</h3>
				<ul>
				<li>Search Query: is:unread</li>
				</ul>
				<p>このペインには未読メールが入ります．一番上(受信ボックスの次のすぐ下)にこのペインを持ってくることにより<b>アーカイブするメールだが一度だけは目を通したいメール</b>を見ることができます．例えばメールマガジン(何かについてのお知らせメール)やメーリングリストのメール等は自分宛てでなければ一度目を通せば十分です．このようなメールはフィルタを用いてSkip Inbox(自動的なアーカイブ化)を行っておき，未読の状態にしておけば受信ボックスにはあらわれずこのペインに現れるようになります．読むためにクリックするだけで既読となりトップには表示されなくなりアーカイブ化する手間が省けます．<br />
				　</p>
				<h3>Pane 1: All Mails (全てのメール)</h3>
				<ul>
				<li>Search Query: (-in:sent -in:inbox -is:chat -from:自分のアドレス -in:trash -label:p-mobile)</li>
				</ul>
				<p>このペインは全ての受信したメールを表示します．ただしそのままだとGtalkのログや自分のメールがあらわれたり，受信ボックスペインにあるメールがこちらにもあらわれたりするので，上記のような検索設定となります．</p>
				<ul>
				<li>-in:sent - 送信メールではない</li>
				<li>-in:inbox - 受信ボックスにはあらわれていない</li>
				<li>-is:chat - Gtalkのログではない</li>
				<li>-from:自分のアドレス - メモ用に自分に送信したメールではない(※1)</li>
				<li>-in:trash - ゴミ箱の中は含めない (灰色の余分なメッセージを消すために必要)</li>
				<li>-label:p-mobile - 携帯宛てのメールを省く (このクエリは各自が好きなように設定すると良い)</li>
				</ul>
				<p>　</p>
				<h3>Pane 2: Fliers (広告メール)</h3>
				<ul>
				<li>Search Query: (in:trash label:x-fliers) OR (label:x-fliers)</li>
				</ul>
				<p>このペインは全ての広告メールを表示します．気が向いた時に目を通したいメールに自分の場合は X/Fliers というラベルを付与します．例えば「メンテナンスのメール」や「Twitterのフォローされましたメール」，「クレジットの振替の案内メール」は正直タイトルだけで十分だったり，数日もすると意味を持たないメールだったりします．このようなメールはもはや残しておく気も起こらないので広告ラベルをつけて既読にしまってそのままゴミ箱に送るようなフィルターをつけてしまいましょう．<b>タイトルぐらいは軽く目を通したいが自動的に削除されるメール</b>というものを作ることができます．何もしなければ30日後にはきれいさっぱりなくなって幸せな生活を送ることができます．<br />
				<!--more--></p>
				<h3>Pane 3: Japanese Spams (日本語スパム)</h3>
				<ul>
				<li>Search Query: in:spam lang:ja -label:p-mobile</li>
				</ul>
				<p>このペインはスパムに入ってしまった日本語メールを表示します．ありがたいことに僕たちは日本人です．日本国内の重要なメールは大抵日本語で書かれており，また多くのPC宛てのスパムメールは英語です．そこで日本語のメールのうちスパムに入ってしまったものをここに表示しておくと<b>重要なメールなのにスパムに入って気付かなかったということを防ぐ</b>ことができます．</p>
				<ul>
				<li>in:spam - スパムフォルダの中のうち</li>
				<li>lang:ja - 日本語メール</li>
				<li>-label:p-mobile - 携帯宛てのメールを省く (携帯に来るメールは気づくことが多く，また日本語のスパムがきやすいのでこのような設定にしている)</li>
				</ul>
				<p>　</p>
				<h3>Pane 4: Starred Mails (スター付メール)</h3>
				<ul>
				<li>Search Query: is:starred</li>
				</ul>
				<p>このペインはスターがつけられたメールを表示します．スターというのは重要なメールであることを表しますが，自分は緊急性があり重要なメールは受信ボックスに入れてしまいます．そこでスターは中期的に重要なメールに対してつけています．<br />
				　</p>
]]></content:encoded>
			<wfw:commentRss>http://imoz.jp/2010/03/how-to-use-multiple-inboxes-for-gmail/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Macで簡単にRAMディスクを使う方法</title>
		<link>http://imoz.jp/2010/03/ram-disk-on-mac-osx/</link>
		<comments>http://imoz.jp/2010/03/ram-disk-on-mac-osx/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 16:37:20 +0000</pubDate>
		<dc:creator>imos</dc:creator>
		
		<category><![CDATA[プログラミング]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[RAM]]></category>

		<category><![CDATA[コマンド]]></category>

		<guid isPermaLink="false">http://imoz.jp/?p=645</guid>
		<description><![CDATA[				地味に普段自分用に使っているコマンド公開第二弾．RAMディスクを作る方法です．メモリが潤沢にある環境が多いMac上の場合，RAMディスクを作って色々すると得することが多いのでこれを使ってみると良いことがあるかもしれません．これを /usr/local/bin などにつっこみ，
				
				001: ram&nbsp;256m
				
				
				を実行すると256MBのRAMディスクを作ることができます．
				
				
#!/usr/bin/php
&lt;?
function usage() { die("Usage: ram [-f] size\n"); }

$fast = false;
if ($argc == 3) {
	if ($argv[1] != '-f') usage();
	$fast = true;
	$size = $argv[2];
} else if ($argc == 2) $size = $argv[1];
else usage();

if (preg_match('%^(\d+)(k|kb|kbyte|kbytes)$%i', $size, $match)) {
	$size = (int)$match[1] * 2;
} else if (preg_match('%^(\d+)(m|mb|mbyte|mbytes)$%i', $size, $match)) {
	$size = (int)$match[1] * 2048;
} else if (preg_match('%^(\d+)(g|gb|gbyte|gbytes)$%i', [...]]]></description>
			<content:encoded><![CDATA[				<p>地味に普段自分用に使っているコマンド公開第二弾．RAMディスクを作る方法です．メモリが潤沢にある環境が多いMac上の場合，RAMディスクを作って色々すると得することが多いのでこれを使ってみると良いことがあるかもしれません．これを /usr/local/bin などにつっこみ，</p>
				<p>
				<div class="imocode" style="line-height:1em;">001: ram&nbsp;256m
				</div>
				</p>
				<p>を実行すると256MBのRAMディスクを作ることができます．<br />
				<span id="more-645"></span></p>
				<pre>
#!/usr/bin/php
&lt;?
function usage() { die("Usage: ram [-f] size\n"); }

$fast = false;
if ($argc == 3) {
	if ($argv[1] != '-f') usage();
	$fast = true;
	$size = $argv[2];
} else if ($argc == 2) $size = $argv[1];
else usage();

if (preg_match('%^(\d+)(k|kb|kbyte|kbytes)$%i', $size, $match)) {
	$size = (int)$match[1] * 2;
} else if (preg_match('%^(\d+)(m|mb|mbyte|mbytes)$%i', $size, $match)) {
	$size = (int)$match[1] * 2048;
} else if (preg_match('%^(\d+)(g|gb|gbyte|gbytes)$%i', $size, $match)) {
	$size = (int)$match[1] * 2048 * 1024;
} else if (preg_match('%^(\d+)$%', $size, $match)) {
	$size = (int)$match[1] * 2048;
} else die("Invalid disk size.\n");
// $size += 4096;

$disk = trim(exec('hdid -nomount ram://'.$size));
exec("diskutil eraseDisk MS-DOS RAM $disk");
echo "$disk\n";
if ($fast) {
	exec("sudo mount -u -o sync,noatime {$disk}s1");
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://imoz.jp/2010/03/ram-disk-on-mac-osx/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
