<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DailyHckr &#187; development</title>
	<atom:link href="http://hylom.net/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://hylom.net</link>
	<description>Hack, Hacker, Hackest</description>
	<lastBuildDate>Tue, 24 Aug 2010 17:04:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>BSD版sedとGNU版sed</title>
		<link>http://hylom.net/2009/06/04/20090604_sed/</link>
		<comments>http://hylom.net/2009/06/04/20090604_sed/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 16:34:01 +0000</pubDate>
		<dc:creator>hylom</dc:creator>
				<category><![CDATA[diary]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://hylom.net/2009/06/04/20090604_sed/</guid>
		<description><![CDATA[ 　BSD版のUNIX toolsと、GNU版のUNIX toolsでは微妙に受け付けるコマンドラインオプションが違うのは有名な話。たとえばGNU版の「cp -a」はBSD版では「cp -pr」に相当する。
 　で、Mac OS XのコマンドラインツールはBSD版なのだが、「sed -e &#8220;s/ /\n/g&#8221;」が効かなくて困った。Mac OS X付属のsedは置換後の文字の指定にエスケープシーケンスが使えないらしい。
 　これの簡単な解決はこちら。

perl -pe "s/ /\n/g"

 　「perl -p」でsedっぽい動作をさせられる、という話でした。よくこんなの覚えてたな＞自分。ラクダ本の最初のほうとかに書いてあったんだっけ？ ラクダ本を読んだのは多分10年くらい前だと思うんだけど、IT業界の進化は早いとか言われていて3年前の知識はもう古いとか言われているけど意外に昔覚えたことってふと全然違うことで役立つことがあるから侮れないね。
]]></description>
			<content:encoded><![CDATA[<p> 　BSD版のUNIX toolsと、GNU版のUNIX toolsでは微妙に受け付けるコマンドラインオプションが違うのは有名な話。たとえばGNU版の「cp -a」はBSD版では「cp -pr」に相当する。</p>
<p> 　で、Mac OS XのコマンドラインツールはBSD版なのだが、「sed -e &#8220;s/ /\n/g&#8221;」が効かなくて困った。Mac OS X付属のsedは置換後の文字の指定にエスケープシーケンスが使えないらしい。</p>
<p> 　これの簡単な解決はこちら。</p>
<pre>
perl -pe "s/ /\n/g"
</pre>
<p> 　「perl -p」でsedっぽい動作をさせられる、という話でした。よくこんなの覚えてたな＞自分。ラクダ本の最初のほうとかに書いてあったんだっけ？ ラクダ本を読んだのは多分10年くらい前だと思うんだけど、IT業界の進化は早いとか言われていて3年前の知識はもう古いとか言われているけど意外に昔覚えたことってふと全然違うことで役立つことがあるから侮れないね。</p>
]]></content:encoded>
			<wfw:commentRss>http://hylom.net/2009/06/04/20090604_sed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gfxbootで日本語表示可能なブートローダを作成しようとする</title>
		<link>http://hylom.net/2009/06/03/20090603_gfxboot/</link>
		<comments>http://hylom.net/2009/06/03/20090603_gfxboot/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 16:39:38 +0000</pubDate>
		<dc:creator>hylom</dc:creator>
				<category><![CDATA[diary]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://hylom.net/2009/06/03/20090603_gfxboot/</guid>
		<description><![CDATA[ 　   GParted Live CD  をWindows Vista上でUSBメモリにインストールしようとしたらUAEの仕様がアレでハマる。
 　GParted Live CDのUSBメモリ用配布アーカイブにはWindows用のISOLINUXインストーラが付属していて、USBメモリにファイル一式をコピー→バッチファイル実行でブータブルUSBメモリができあがるはずなのだが、VistaだとUSBメモリのブートローダ領域への書き込みには管理者権限がいるそうだ。そりゃそうだ。しかし、かといってバッチファイルを「管理者として実行」するとエラー。なぜかバッチファイルを「管理者として実行」すると、system32ディレクトリがカレントディレクトリになるのが原因。なんじゃそりゃ。
 　しょうがないのでバッチファイルをいじくってたらつい日本語化してしまい、ついでにじゃぁほかの部分も日本語化するか、どうせ設定ファイルいくつか書き換えればできるだろと手をつけたのがハマり始まり。そんな簡単なモンじゃなかった。
 　Ubuntuのインストーラとかはブート時にブートメニューが日本語で表示されるんだけど、これはgfxbootというものを使っているらしい。gfxbootはSYSLINUX/ISOLINUX/GRUBなどで利用できるプログラムで、それぞれパッチが当てられたSYSLINUX/ISOLINUX/GRUBが必要。原理としてはSYSLINUX/ISOLINUX/GRUBがgfxbootのランタイム（gfxmenu）を起動→gfxmenuがメニュースクリプトを実行、という感じ。このメニュースクリプトは独自言語で記述しておいて、あらかじめバイトコンパイルして1ファイルにまとめた上でブートローダと一緒に置いておくのだが、この独自言語がスタック志向の非常に面倒臭い言語で困る。プログラム中でメモリを動的に割り当てられたり、ファイルのリードもできるのだが、完全に独自仕様（しいて言えばPostScriptに似ているらしい）。
 　gfxbootを使っているUbuntuやopenSUSEのブートローダは、基本的にはスクリプト部分は手を加えずに設定ファイルで画像なりメニュー項目をいじれるようになっているんだが、さすがにGParted Live CDを起動したらUbuntuのメニューが、というのはダサいのでざくっと手をいれてみようとしたが2時間くらい格闘して一時中断。これは週末に持ち越しだな。
 　ちなみに   gfxboot reference  と   Gfxboot &#8211; openSUSE  あたりが参考資料。日本語の情報はほぼ皆無（笑）。
]]></description>
			<content:encoded><![CDATA[<p> 　 <a href="http://sourceforge.jp/projects/gparted/">  GParted Live CD </a> をWindows Vista上でUSBメモリにインストールしようとしたらUAEの仕様がアレでハマる。</p>
<p> 　GParted Live CDのUSBメモリ用配布アーカイブにはWindows用のISOLINUXインストーラが付属していて、USBメモリにファイル一式をコピー→バッチファイル実行でブータブルUSBメモリができあがるはずなのだが、VistaだとUSBメモリのブートローダ領域への書き込みには管理者権限がいるそうだ。そりゃそうだ。しかし、かといってバッチファイルを「管理者として実行」するとエラー。なぜかバッチファイルを「管理者として実行」すると、system32ディレクトリがカレントディレクトリになるのが原因。なんじゃそりゃ。</p>
<p> 　しょうがないのでバッチファイルをいじくってたらつい日本語化してしまい、ついでにじゃぁほかの部分も日本語化するか、どうせ設定ファイルいくつか書き換えればできるだろと手をつけたのがハマり始まり。そんな簡単なモンじゃなかった。</p>
<p> 　Ubuntuのインストーラとかはブート時にブートメニューが日本語で表示されるんだけど、これはgfxbootというものを使っているらしい。gfxbootはSYSLINUX/ISOLINUX/GRUBなどで利用できるプログラムで、それぞれパッチが当てられたSYSLINUX/ISOLINUX/GRUBが必要。原理としてはSYSLINUX/ISOLINUX/GRUBがgfxbootのランタイム（gfxmenu）を起動→gfxmenuがメニュースクリプトを実行、という感じ。このメニュースクリプトは独自言語で記述しておいて、あらかじめバイトコンパイルして1ファイルにまとめた上でブートローダと一緒に置いておくのだが、この独自言語がスタック志向の非常に面倒臭い言語で困る。プログラム中でメモリを動的に割り当てられたり、ファイルのリードもできるのだが、完全に独自仕様（しいて言えばPostScriptに似ているらしい）。</p>
<p> 　gfxbootを使っているUbuntuやopenSUSEのブートローダは、基本的にはスクリプト部分は手を加えずに設定ファイルで画像なりメニュー項目をいじれるようになっているんだが、さすがにGParted Live CDを起動したらUbuntuのメニューが、というのはダサいのでざくっと手をいれてみようとしたが2時間くらい格闘して一時中断。これは週末に持ち越しだな。</p>
<p> 　ちなみに <a href="http://aur.archlinux.org/packages/gfxboot/gfxboot/gfxboot.html">  gfxboot reference </a> と <a href="http://en.opensuse.org/Gfxboot">  Gfxboot &#8211; openSUSE </a> あたりが参考資料。日本語の情報はほぼ皆無（笑）。</p>
]]></content:encoded>
			<wfw:commentRss>http://hylom.net/2009/06/03/20090603_gfxboot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
