<?xml version="1.0" encoding="EUC-JP" ?>
<rss version="2.0">
<channel>
<title>Keep It Simple, i'm Stupid.:最新 5 日分</title>
<link>http://www.hi-matic.org/diary/</link>
<description>
the typical NetBSD style we did not document/advertise it.
</description>
<language>ja</language>
<item>
<title>[NetBSD][Hardware] HP mini 5103</title>
<link>http://www.hi-matic.org/diary/index.cgi?20120501#01-1</link>
<description>

&lt;p &gt;
いろいろ
&lt;a href=&quot;#01-1-F1&quot; title=&quot;更新間隔よりお察しください。 &quot;&gt;&lt;small&gt;*1&lt;/small&gt;&lt;/a&gt;ストレスが溜まってたので
&lt;a href=&quot;http://h50146.www5.hp.com/products/portables/mini5103/&quot;&gt;HP mini 5103&lt;/a&gt;を今年の1月末くらいに衝動買いしました。
&lt;/p&gt;

&lt;p &gt;
お約束。
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;HP mini 5103のATOMのN455載ってる、先月在庫処分で25k前後で投げ売りしてたから見た瞬間に即決した。

カッコイイ、マジで。そして速い。電源を入れると起動する、マジで。ちょっと感動。

しかもx86_32なのにUEFIだから操作も簡単で良い。ATOMは力が無いと言われてるけど個人的には速いと思う。

Corei3と比べればそりゃちょっとは違うかもしれないけど、そんなに大差はないって店員も言ってたし、それは間違いないと思う。

ただbuild.sh releaseとか流すとちょっと怖いね。寝る前に仕掛けても朝になっても終わってないし。

速度にかんしては多分Corei3もATOMも変わらないでしょ、前使ってたのがMobile Pentium3 600MHzだから知らないけど

同じIntelでそんなに変わったらアホ臭くてだれもネットブックなんて買わないでしょ。個人的にはATOMでも十分に速い。

嘘かと思われるかも知れないけど東北新幹線車中で275キロ位でマジで34GTRを抜いた。

つまりはGTRですらATOMのN455には勝てないと言うわけで、それだけでも個人的には大満足です。
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p &gt;
ここんとこNetBSDをVMware Workstation上でしか動かしてなかったことを深く反省し、Windows7 Starterを抹殺して-current入れてみました
&lt;br &gt;(dmesgは
&lt;a href=&quot;http://www.hi-matic.org/tmp/HP_mini_5103_dmesg.txt&quot;&gt;こちら)&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a href=&quot;?20120501#01-1-1&quot; name=&quot;01-1-1&quot;&gt;@&lt;/a&gt; ドライバサポート状況&lt;/h4&gt;
&lt;p &gt;
 LANは有線(Marvell Yukon 88E8059)無線(Broadcom 43224AGN)ともに認識しません。とりあえずそこらに転がってたrum(4)でしのいでます。
&lt;/p&gt;

&lt;p &gt;
前者はOpenBSDではmsk(4)で動いてるみたいなのでなんとかしたいところ、単純にid足せば動くと思ったんだけどなんか足りてないみたい。
&lt;/p&gt;

&lt;p &gt;
XについてはNのbaseのintel driverでは動きません、xorg.confでdriverにvesaを指定しましょう。
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;Section "Device"
  ...
  Driver "vesa"
EndSection
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
まぁネットブックなんで動画とかそも無理ゲーだし、これまで
&lt;a href=&quot;http://www.x.org/archive/X11R6.8.0/doc/neomagic.4.html&quot;&gt;NeoMagic&lt;/a&gt;とか
&lt;a href=&quot;http://www.x.org/archive/X11R6.8.0/doc/siliconmotion.4.html&quot;&gt;Silicon Motion&lt;/a&gt;みたいな伝説のウンコdriverを使い続けてきた
&lt;br &gt;&lt;a href=&quot;http://www.youtube.com/watch?v=C4lQx_c9lCQ&quot;&gt;後遺症&lt;/a&gt;により、Xに速度なんてものは求めてないので
&lt;a href=&quot;http://mail-index.netbsd.org/current-users/2011/02/08/msg015664.html&quot;&gt;netbsd-drmgem&lt;/a&gt;を試すまでもないかなーと(白目
&lt;/p&gt;

&lt;h4&gt;&lt;a href=&quot;?20120501#01-1-2&quot; name=&quot;01-1-2&quot;&gt;@&lt;/a&gt; 不具合など&lt;/h4&gt;
&lt;p &gt;
ひとつ大きな悩みの種が。このクソ寒かった1〜2月に暖房器具レスな私の部屋であっても空冷ファンが謎の常時回転状態で
&lt;br &gt;バッテリ寿命も公称の4〜5時間駆動とか不可能なレベル。そして何より窓から投げ捨てたくなる程度に騒々しいのですよな。
&lt;/p&gt;

&lt;p &gt;
ということで
&lt;a href=&quot;http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?lang=en&amp;cc=us&amp;taskId=125&amp;prodSeriesId=4256301&amp;prodTypeId=321957&amp;objectID=c01657439&quot;&gt;こうなる前に&lt;/a&gt;静音化してみました。
&lt;/p&gt;

&lt;p &gt;
1. acpidump(1)でHP mini 5103のDSDTをASL(ACPI Source Language)ファイルに落とします。
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;# acpidump -dt &gt;hp_mini_5103.asl
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
acpidump(1)は今時だとbaseに入ってますので、昔のようにpkgsrc/sysutils/acpidumpは不要です。
&lt;/p&gt;

&lt;p &gt;
2. ASLファイルのファンの温度制御周りをエディタで編集します。
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;$ cp -p hp_mini_5103.asl hp_mini_5103.asl.orig
$ vi hp_mini_5103.asl
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
&lt;a href=&quot;http://forums.whirlpool.net.au/forum-replies.cfm?t=1630340&amp;p=30&amp;#r583&quot;&gt;ググると&lt;/a&gt; HP mini 5102/5103では
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;Name (CPFS, Package(0x06)
{
  0x64,
  0x5A,
  0x50,
  0x46,
  0x2D,
  0x00
})
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
このCPFSの部分がファン制御とのことですので、こいつを適宜編集します。この記事によると
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt; Name (CPFS, Package(0x06)
 {
   0x64,
   0x5A,
-  0x50,
-  0x46,
-  0x2D,
+  0x36,
+  0x24,
+  0x12,
   0x00
 })
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
とすることで低温時のファンの回転速度を落とせるようです。具体的には
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;acpitz0: active cooling level 0: 83.0C
acpitz0: active cooling level 1: 73.0C
acpitz0: active cooling level 2: 63.0C
acpitz0: active cooling level 3: 56.0C
acpitz0: active cooling level 4: 43.0C
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
のそれぞれの温度に対応するファンの回転数、ということみたい。
&lt;/p&gt;

&lt;p &gt;
2. 編集したASLファイルをAML(ACPI Machine Language)に変換(-tcスイッチでCコード向けのhexデータを出力)します。
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;$ iasl -tc hp_mini_5103.asl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20110623-32 [Apr 22 2012]
Copyright (c) 2000 - 2011 Intel Corporation
...
Compilation complete, 2 Errors, 7 Warnings, 3 Remarks, 3895 Optimizations

$ ls *.hex
hp_mini_5103.hex
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
iasl(1)も今時だとbaseに入ってますので、pkgsrc/sysutils/acpica-utilsは不要。
&lt;/p&gt;
&lt;p &gt;
致命的エラーとか警告なんかがワラワラ出ますが、村上春樹風に「やれやれ」と肩をすくめてやり過ごしましょう。
hexファイルが出力されてれば気にしなーい。
&lt;/p&gt;

&lt;p &gt;
3. 2で生成したDSDTファイルを組み込んだkernelを作成します、手順はacpi(4)に書いてありますが、要はkernel configに
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;options ACPI_DSDT_OVERRIDE
options ACPI_DSDT_FILE="\"hp_mini_5103.hex\""
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
の2行を追加するだけです。AML(hp_mini_5103.hex)はsrc/sys/dev/acpi/acpica/OsdMisc.cと同じディレクトリに放り込んでおけばOK。
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;$ cp hp_mini_5103.hex /usr/src/sys/dev/acpi/acpica/
$ cd /usr/src/sys/arch/i386/conf
$ cat &gt;HP_MINI_5103
include "arch/i386/conf/GENERIC"

options ACPI_DSDT_OVERRIDE
options ACPI_DSDT_FILE="\"hp_mini_5103.hex\""
^D
$ cd /usr/src
$ ./build.sh kernel=HP_MINI_5103
$ cd sys/arch/i386/compile/obj/HP_MINI_5103
$ su
# make install
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p &gt;
kernelを入れ替えて再起動すればOKです(くれぐれも自己責任でおながいいたします)。
&lt;/p&gt;
&lt;hr style=&quot;width: 40%; text-align: left;&quot;&gt;&lt;div&gt;
&lt;small&gt;&lt;a name=&quot;01-1-F1&quot; href=&quot;?20120501#01-1-F1&quot; title=&quot;01-1-F1&quot;&gt;*1&lt;/a&gt;:更新間隔よりお察しください。
&lt;/small&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;
</description>
<pubDate>Tue, 01 May 2012 00:00:01 GMT</pubDate>
</item>
<item>
<title> GWT Designer + SmartGWT 3.0</title>
<link>http://www.hi-matic.org/diary/index.cgi?20111222#22-1</link>
<description>
&lt;p &gt;
&lt;a href=&quot;http://blog.isomorphic.com/smart-gwt-3-0-smartclient-8-2-released/&quot;&gt;SmartGWT 3.0 released&lt;/a&gt;, but unfortunately 
&lt;a href=&quot;http://code.google.com/intl/ja/webtoolkit/tools/download-gwtdesigner.html&quot;&gt;GWT Designer&lt;/a&gt; doesn't work anymore with following message:
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;WindowBuilder supports only SmartGWT versions 2.4, 2.5. But 3.0 found.
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p &gt;
it seems that official doesn't have any motivation to solve this problem(see 
&lt;a href=&quot;http://forums.smartclient.com/showthread.php?t=20174&quot;&gt;here&lt;/a&gt; and 
&lt;a href=&quot;http://groups.google.com/group/google-web-toolkit/browse_thread/thread/a30a35c3874108b3#&quot;&gt;here&lt;/a&gt;), so i wrote some tiny patch.
&lt;/p&gt;

&lt;p &gt;
get it from
&lt;a href=&quot;http://www.hi-matic.org/distfiles/gwt/&quot;&gt;here&lt;/a&gt;.
&lt;/p&gt;

&lt;p &gt;
if you using eclipse 3.7(indigo), just dropin *.jar to your eclipse/plugins folder.
&lt;/p&gt;
</description>
<pubDate>Thu, 22 Dec 2011 00:00:01 GMT</pubDate>
</item>
<item>
<title>[i18n] CSI-xterm</title>
<link>http://www.hi-matic.org/diary/index.cgi?20111009#09-1</link>
<description>

&lt;h4&gt;&lt;a href=&quot;?20111009#09-1-1&quot; name=&quot;09-1-1&quot;&gt;@&lt;/a&gt; まえがき&lt;/h4&gt;
&lt;p &gt;
以前
&lt;a href=&quot;http://wayback.archive.org/web/*/http://www.openi18n.org&quot;&gt;OpenI18N&lt;/a&gt;で公開されていた、xtermの国際化patchがいまやもうarchive.orgからも取得できなくなっているようですので、私のところでミラーしておきます。
&lt;/p&gt;

&lt;h4&gt;&lt;a href=&quot;?20111009#09-1-2&quot; name=&quot;09-1-2&quot;&gt;@&lt;/a&gt; でもxtermって国際化されているじゃないですか&lt;/h4&gt;
&lt;p &gt;
はい、今のxterm(uxterm)はThomas Dickey氏により国際化されたものがXFree86-4で取り込まれ、初期には多くあった日本語環境における問題も、Debian開発者のkubota氏によって
&lt;a href=&quot;http://slashdot.jp/~kubota&quot;&gt;フィードバック&lt;/a&gt;され、日常使用するには問題のないものとなっています。
&lt;/p&gt;

&lt;h4&gt;&lt;a href=&quot;?20111009#09-1-3&quot; name=&quot;09-1-3&quot;&gt;@&lt;/a&gt; じゃぁなぜそれ使わないの？&lt;/h4&gt;
&lt;p &gt;
といわれましても、まーいつもの私の持病としか。
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;初カキコ…ども… 
俺みたいなCSIでi18nしてる腐れ野郎、他に、いますかっていねーか、はは 

今日のtwitterの会話 
あの異体字がかっこいい　とか　あのAdobe-Japan1と汎用電子はIVS統一してほしい　とか 
ま、それが普通ですわな 

かたや俺は電子の砂漠で0x1bからはじまるエスケープシーケンスを見て、呟くんすわ 
codeset independent. 狂ってる？それ、誉め言葉ね。 
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
なんつってる間に4時っすよ(笑)
&lt;/p&gt;

&lt;p &gt;
真面目な説明はいずれ書きますｗ
&lt;/p&gt;


&lt;h4&gt;&lt;a href=&quot;?20111009#09-1-4&quot; name=&quot;09-1-4&quot;&gt;@&lt;/a&gt; ダウンロード&lt;/h4&gt;
&lt;ol &gt;&lt;li &gt;Xorg-6.5.1向けのpatch&lt;br &gt;&lt;a href=&quot;http://www.hi-matic.org/distfiles/openi18n_mirror/xterm-6.5.1-i18n-0.7.patch.gz&quot;&gt;http://www.hi-matic.org/distfiles/openi18n_mirror/xterm-6.5.1-i18n-0.7.patch.gz&lt;/a&gt;
&lt;/li&gt;
&lt;li &gt;Xorg-6.6のxtermに上記patchを適用し、conflictを修正したもの&lt;br &gt;&lt;a href=&quot;http://www.hi-matic.org/distfiles/openi18n_mirror/xterm-6.6-i18n.tar.gz&quot;&gt;http://www.hi-matic.org/distfiles/openi18n_mirror/xterm-6.6-i18n.tar.gz&lt;/a&gt;
&lt;/li&gt;
&lt;li &gt;とりあえず日本語使うための.Xdefaultsサンプル&lt;br &gt;&lt;a href=&quot;http://www.hi-matic.org/distfiles/openi18n_mirror/Xdefaults&quot;&gt;http://www.hi-matic.org/distfiles/openi18n_mirror/Xdefaults&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;&lt;a href=&quot;?20111009#09-1-5&quot; name=&quot;09-1-5&quot;&gt;@&lt;/a&gt; 使い方&lt;/h4&gt;
&lt;p &gt;
とりあえず使いたいという人は
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;$ ftp http://www.hi-matic.org/distfiles/openi18n_mirror/xterm-6.6-i18n.tar.gz
$ tar zvf xterm xterm-6.6-i18n.tar.gz
$ cd xterm
$ xmkmf -a
$ make
$ sudo make install
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
とか
&lt;a href=&quot;#09-1-F1&quot; title=&quot;なんでwgetとかじゃなくてftp(1)でファイル取ってこれるのかって？可能なのさ、そうNetBSDならね(ドヤ &quot;&gt;&lt;small&gt;*1&lt;/small&gt;&lt;/a&gt;でどうぞ、既存のxtermとapp-defaultsファイルが上書きされてしまいますが、こんなんわざわざ入れようとする人はUnicode版xtermなんかに未練はないですよね(白目
&lt;/p&gt;

&lt;p &gt;
つうか4.99.xな頃はある程度正常に動いてたけど、今どーだろ。
&lt;/p&gt;

&lt;p &gt;
(追記)
xterm/{termcap, terminfo} も入れないとcurses/terminfo/termcapつかうアプリの表示がぐちゃぐちゃになります。
&lt;/p&gt;

&lt;p &gt;
NetBSD-currentの人はterminfo化されているので
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;$ cat terminfo &gt;&gt;~/.terminfo
$ cd
$ tic .terminfo
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
この時NetBSD-currentだとmeml(memory lock), memu(memory unlock)ねーよと怒られますが、これ標準にはないHPの拡張なので無視してOK
&lt;/p&gt;

&lt;p &gt;
NetBSD-5以前の人は~/.termcapに追記して下さい(ticはこれterminfoのコマンドなので不要)。
&lt;/p&gt;

&lt;h4&gt;&lt;a href=&quot;?20111009#09-1-6&quot; name=&quot;09-1-6&quot;&gt;@&lt;/a&gt; スクショ&lt;/h4&gt;
&lt;p &gt;
&lt;img src=&quot;http://www.hi-matic.org/images/csi-xterm.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;hr style=&quot;width: 40%; text-align: left;&quot;&gt;&lt;div&gt;
&lt;small&gt;&lt;a name=&quot;09-1-F1&quot; href=&quot;?20111009#09-1-F1&quot; title=&quot;09-1-F1&quot;&gt;*1&lt;/a&gt;:なんでwgetとかじゃなくてftp(1)でファイル取ってこれるのかって？可能なのさ、そうNetBSDならね(ドヤ
&lt;/small&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;
</description>
<pubDate>Sun, 09 Oct 2011 00:00:01 GMT</pubDate>
</item>
<item>
<title>[RIA][Java] Google Web Toolkit(その1)</title>
<link>http://www.hi-matic.org/diary/index.cgi?20111002#02-1</link>
<description>

&lt;p &gt;
最近仕事でGWT + SmartGWTを採用したりしたのですが、前者のドキュメントは古いし日本語訳はアレだし、後者に至ってはJavadocすら内容微妙なもんで、何回かにわけて導入から開発TIPSなど書いてみる予定。いろいろハマりどころ多いので…
&lt;/p&gt;


&lt;h4&gt;&lt;a href=&quot;?20111002#02-1-1&quot; name=&quot;02-1-1&quot;&gt;@&lt;/a&gt; Google Web Toolkitとは？&lt;/h4&gt;

&lt;p &gt;
 Google Web Toolkit(以下GWT)は、いわゆるRIA(Rich Internet Application) を作成するツールキットです。アプリケーションはクライアントサイド、サーバーサイド共にJavaで記述しますが、クライアントサイドについてはトランスレータがHTML5 + JavaScriptに変換するので、Java Appletのようなプラグインを一切必要としません。
&lt;br &gt;&lt;a href=&quot;http://code.google.com/intl/ja/webtoolkit/&quot;&gt;http://code.google.com/intl/ja/webtoolkit/&lt;/a&gt;
&lt;/p&gt;

&lt;p &gt;
 サポートされているウィジェットについては以下のショーケースをご覧ください。
&lt;br &gt;&lt;a href=&quot;http://gwt.google.com/samples/Showcase/Showcase.html&quot;&gt;http://gwt.google.com/samples/Showcase/Showcase.html&lt;/a&gt;
&lt;/p&gt;

&lt;p &gt;
 またサードパーティーにより、よりリッチな機能を持つライブラリも提供されています。
&lt;/p&gt;
&lt;ul &gt;&lt;li &gt;SmartGWT&lt;br &gt;&lt;a href=&quot;http://code.google.com/p/smartgwt/&quot;&gt;http://code.google.com/p/smartgwt/&lt;/a&gt;
&lt;br &gt;&lt;a href=&quot;http://www.smartclient.com/smartgwt/showcase/&quot;&gt;http://www.smartclient.com/smartgwt/showcase/&lt;/a&gt;
&lt;/li&gt;
&lt;li &gt;ExtGWT&lt;br &gt;&lt;a href=&quot;http://extjs.co.jp/products/gwt/&quot;&gt;http://extjs.co.jp/products/gwt/&lt;/a&gt;
&lt;br &gt;&lt;a href=&quot;http://extjs.com/examples/explorer.html&quot;&gt;http://extjs.com/examples/explorer.html&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;&lt;a href=&quot;?20111002#02-1-2&quot; name=&quot;02-1-2&quot;&gt;@&lt;/a&gt; GWTの利点&lt;/h4&gt;

&lt;p &gt;
 JavaScriptで開発を行う上でしばしば開発者の頭痛の種になるのが、JavaScript処理系の互換性の低さとHTML表示の差異ですが、GWTはこれらをすべてトランスレータが吸収するので、これらの問題を気にすることなくコーディングを行うことが可能です。
&lt;/p&gt;

&lt;p &gt;
 現在サポートされるブラウザは以下の通りです
&lt;/p&gt;
&lt;ul &gt;&lt;li &gt;Google Chrome 全バージョン&lt;/li&gt;
&lt;li &gt;Microsoft Internet Explorer 6以降(ただしIE8以降ではIE7互換モードが必要な場合あり、後述)&lt;/li&gt;
&lt;li &gt;Mozilla Firefox 1.0以降&lt;/li&gt;
&lt;li &gt;Opera 9以降&lt;/li&gt;
&lt;li &gt;Apple Safari 2以降&lt;/li&gt;
&lt;/ul&gt;

&lt;p &gt;
 HTML5 + JavaScript技術がベースですのでさすがにi-mode CHTML対応までは無理ですが、近頃急速に普及が進むスマートフォンであればSafari, Chrome, Operaなどで利用することが可能です。また別途GWT Mobile Webkitなど別プロジェクトによりスマートフォン向けの機能も提供されています。
&lt;br &gt;&lt;a href=&quot;http://code.google.com/p/gwt-mobile-webkit/&quot;&gt;http://code.google.com/p/gwt-mobile-webkit/&lt;/a&gt;
&lt;/p&gt;

&lt;p &gt;
 またメッセージなどの国際化(internationalization、以下i18n)を支援する機能もあるので、異なる言語でユーザインタフェースを提供することも容易になっています。
&lt;/p&gt;

&lt;p &gt;
 クライアントとサーバ間での通信はGWT-RPCという非同期通信がサポートされシリアライズ可能なPOJOのデータ連携が可能です。GWT-RPCのサービスはごく単純なServletの拡張ですので多くのサーブレットコンテナ上で動作します。また他のJ2EE技術(JDBCやEJB/JPAなど)との組み合わせも容易です。
&lt;/p&gt;

&lt;p &gt;
 またクライアントがGWTに限定されてしまうGWT-RPCを使いたくないという場合でも、JSON形式のデータも扱うことが可能(若干めんどくさくはあるのですが)ですので、サーバーサイドを別の言語やフレームワークで開発することも可能です。SmartGWTなどを導入すればよりシンプルにJSONを処理したりXML-RPCでの通信も可能になりますので、既存のWEB APIとの連携もより容易になります。
&lt;/p&gt;

&lt;h4&gt;&lt;a href=&quot;?20111002#02-1-3&quot; name=&quot;02-1-3&quot;&gt;@&lt;/a&gt; 開発環境&lt;/h4&gt;

&lt;p &gt;
 開発環境としてはGWT SDKが提供されており、最新のバージョンは2.4.0です(2011/10/02現在)
&lt;br &gt;&lt;a href=&quot;http://code.google.com/intl/ja/webtoolkit/versions.html&quot;&gt;http://code.google.com/intl/ja/webtoolkit/versions.html&lt;/a&gt;
&lt;/p&gt;

&lt;p &gt;
 ユーザインタフェースの開発はeclipse 3.7でVE(Visual Editor)を押しのけて標準となったGUIビルダ WindowBuilder(以下WB)上でWYSIWYGなデザインが可能ですので、HTMLやJavaScriptを知らなくても開発できます (フォントの指定などCSSに関する最低限の知識は必要ではありますが)。
&lt;/p&gt;

&lt;p &gt;
 WBはかつてApplet/Swing/SWTなどのJavaアプリケーションのみならずGWTをもサポートする開発環境としてInstantiations社から販売される商用製品でしたが、これをGoogleが買収しeclipseプロジェクトに寄贈されました。
&lt;br &gt;&lt;a href=&quot;http://googlecode.blogspot.com/2010/12/windowbuilder-becomes-new-open-source.html&quot;&gt;http://googlecode.blogspot.com/2010/12/windowbuilder-becomes-new-open-source.html&lt;/a&gt;
&lt;/p&gt;

&lt;p &gt;
そしてプロジェクトの作成、ビルド &amp; デバッグ、デプロイを支援するeclipse用pluginが(ちょっと混乱しますが)2種類提供されています。
&lt;/p&gt;
&lt;ul &gt;&lt;li &gt;Google plugin for Eclipse&lt;br &gt;&lt;a href=&quot;http://code.google.com/intl/ja/eclipse/docs/download.html&quot;&gt;http://code.google.com/intl/ja/eclipse/docs/download.html&lt;/a&gt;
&lt;br &gt; GWT SDKとGoogle App Engine(以下GAE) SDK、そしてWBの制限版が含まれます。
&lt;/li&gt;
&lt;li &gt;GWT Designer&lt;br &gt;&lt;a href=&quot;http://code.google.com/intl/ja/webtoolkit/tools/download-gwtdesigner.html&quot;&gt;http://code.google.com/intl/ja/webtoolkit/tools/download-gwtdesigner.html&lt;/a&gt;
&lt;br &gt; GWT SDKとWBの完全版が含まれます、GAEはサポートしません。
&lt;/li&gt;
&lt;/ul&gt;

&lt;p &gt;
 ぱっと見では前者の方が良さそうなのですが、WB制限版ではSmartGWTやExtGWTを使った開発ができないという落とし穴があります。同時にインストールすることももちろん可能なのですが、両者のメニューが混在した状態となり混乱を招くので、この記事では次回以降は後者を使って話をしていきます。
&lt;/p&gt;

&lt;h4&gt;&lt;a href=&quot;?20111002#02-1-4&quot; name=&quot;02-1-4&quot;&gt;@&lt;/a&gt; 次回&lt;/h4&gt;
&lt;p &gt;
ここまで書いたところでWindows7がビジー状態に陥ったのでやる気もげたんでまた続きは次回、インストールしてみる編。
&lt;br &gt;つーかこんな記事に需要あるんだろーか、ぜんぜん日本で流行ってないしなー。
&lt;/p&gt;
</description>
<pubDate>Sun, 02 Oct 2011 00:00:01 GMT</pubDate>
</item>
<item>
<title>[FreeBSD][NetBSD][nvi] GSoC Multibyte Encoding Support in Nvi</title>
<link>http://www.hi-matic.org/diary/index.cgi?20110910#10-1</link>
<description>
&lt;p &gt;
前回のネタ書いた後知ったんだけど、FreeBSDのGSoCで似たようなことやってる人いるみたい、
&lt;a href=&quot;http://wiki.freebsd.org/ZhihaoSoC2011&quot;&gt;ここ&lt;/a&gt;。
&lt;br &gt;いやー後は若い人に任せて、俺は最近仕事のストレスでIYHした数々のオモチャで遊んでていい?
&lt;/p&gt;

&lt;p &gt;
と思ったんだけど、
&lt;a href=&quot;http://wiki.freebsd.org/ZhihaoSoC2011?action=AttachFile&amp;do=view&amp;target=exf_2.png&quot;&gt;これ&lt;/a&gt;見ると結局nvi-1.79に1.81系の修正を持ち込んでるだけな希ガス。
&lt;br &gt;EXFってのは先日問題だーといったBerkeley DBをwrapした感じのファイル管理情報用構造体ですな。
&lt;br &gt;んで編集中のラインバッファがc_lp(実際にはEXFでなく画面描画用のSCR構造体にある)であり
&lt;br &gt;これをwchar_t化したぜっ！てことみたいですが、これnvi-1.81ですでにやってるしね。
&lt;br &gt;API名もINT2FILE/FILE2INTと名前も同じなので、学生さんが自分で考えてやったことじゃないっぽい。
&lt;/p&gt;

&lt;p &gt;
んで私が指摘したよなCharacter Encoding SchemeレイヤでUS-ASCIIと互換性のない文字コード(UTF-16/32とか)への対策を
&lt;br &gt;DB1/iconv層に手を入れることで解決したぜ！ということが書いてあるんですが、どの辺で対策したのかよーわからんです。
&lt;/p&gt;

&lt;p &gt;
common/encoding.cのlook_utf16()とか関係してるっぽいけど、githubのアレなインタフェースで脳挫傷したので以下略。
&lt;br &gt;まぁDBに入ってるファイル情報をfileencoding使わずにlocale encodingにしてるのかなーとか仮説。
&lt;/p&gt;

&lt;p &gt;
ただそれやると情報落ち発生するので個人的にはアレ、現時点でのnvi-1.81はfileencodingとinputencodingがあって
&lt;br &gt;これを一致させれば情報落ちは発生しない(ただしnvi-m17nのようにdisplayencodingがなくwcurses/locale依存でそのは化ける)
&lt;br &gt;わけでして(まぁlocaleとは異なるinputencodingってinputmethodが困るような気もするけど)。
&lt;/p&gt;

&lt;p &gt;
それとNetBSD-currentでnvi-1.81はすでに本家にフィードバックせずに徹底的に手がはいってて、
&lt;br &gt;差分はもはやpkgsrcへ反映するのも心が折れるほどの、forkしたといって過言でない量が溜まっておるのですが
&lt;br &gt;こっちは全く中見てないようですな、まぁFはCSI wchar_tなんだけども、GB18030なんかでwchar_tがnegativeにならんよう
&lt;br &gt;localesrcを無理矢理いじったりしてるから問題が出にくいからもあるんだろけど。
&lt;/p&gt;

&lt;p &gt;
あとgtagsサポートなんかのnvi独自機能をばっさり切るぜーゆうとるようですが、それならnviやめて
&lt;br &gt;Caldera(今のSCO)が4-clause BSDLで放流した美流上位オリジナルの
&lt;a href=&quot;http://ex-vi.sourceforge.net/&quot;&gt;traditional-vi&lt;/a&gt;をベースに
&lt;br &gt;i18nやり直した方がいいんじゃねーのと思うアテクシ、nviもしょせんニセです。
&lt;br &gt;いわゆる商用UNIX(Solarisとか)はこれを自分たちで国際化してつかってますな。
&lt;/p&gt;

&lt;p &gt;
それと文字コード自動判定にfile(1)使うって、Fのfile(1)ってそんな機能まであるのかいな。
&lt;br &gt;Nだと8bitがたってるファイルならeucJPだろーがWindows31-Jだろーが
&lt;/p&gt;
&lt;blockquote &gt;&lt;pre&gt;$ echo あいうえお &gt;hoge.txt
$ file hoge.txt
hoge.txt: ISO-8859 text
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p &gt;
と、ISO-8859-*という答えが返ってくるはずなんですが…
&lt;/p&gt;

&lt;p &gt;
まぁ結論からゆーとFreeBSDのことなのでどうでもよろしい(ぉ
&lt;/p&gt;
</description>
<pubDate>Sat, 10 Sep 2011 00:00:01 GMT</pubDate>
</item>

</channel>
</rss>

