ここんところ忙しいのですが、並行で動いていた仕事の1つが明日峠を超えそうなので、精神的には少し楽になるかなぁ。ブログを久しぶりに更新してみました。
とはいえまだ確定申告してないからなー。どうする!?
なぜか放送禁止になったXboxのCM
Take A Tour Of Google’s Amazing Pittsburgh Offices
Googleのピッツバーグのオフィス。これは羨ましい。
ピッツバーグはニューヨークとシカゴの間くらいのところにあります。
40 Cool T-Shirts for Geeks
なんとなくこういうの欲しい。
「プロの犯行?」アジア杯の日本代表ハイライト動画がカッコ良すぎて話題に : ひろぶろ
かっこいいですね。
新幹線(新大阪~東京間)のこんな風景、見たことない(動画) : ひろぶろ
宇宙空間を旅しているような感覚になります。
Shinkansen ver.2 from daihei shibata on Vimeo.
インドのロボット映画がど派手ですごいぞ – IDEA*IDEA ~ 百式管理人のライフハックブログ
10分くらいあるけど全部見てもうたw なんていうか、映画というカテゴリにするのはもったいないというか。
YouTube – geofg さんのチャンネル
Ninaという女の子がエジプト情勢について解説しています。かわいい。
こういう形の教育って実は良いんじゃないかな?とちょっと思いました。
ショッピングカートシステムSoyShopのセミナーに参加してきました
"ショッピングカートシステムSoyShopのセミナーに参加してきました" の続きを読む
ショッピングカートシステムであるSoyShopの構築セミナーに参加してきました。
ソフトを配布している日本情報化農業研究所の社員の方じきじきに、ショッピングカートの構築方法のレクチャーをしていただきました。
会場の大阪産業創造館。本町にあります。
受講者用のパソコンが備わっているセミナールームがあります。料金もそんなに高くなく、4時間で12000円程度だそうです。
なかなか利用価値ありますね。
Webのショッピングカートシステムはいろいろな種類が世に出回っていますが、SoyShopの特徴は、デザインとロジック部分を明確に分離できる設計思想にあります。
こんな風に、
・HTMLタグの中に商品情報などの制御情報を書くことができる。
・通常はコメント扱いされる文字列の中に、制御情報を書くことができる。
ことにより、デザインにまったく影響を与えない形でショッピングカートのレイアウト構築を行うことができます。
これはつまり、ローカルのブラウザでHTMLファイルだけを表示させても崩れずに表示できるということです。
DreamWeaverなどで開いても、SoyShopによる制御部分は無視されるので表示が崩れないままデザインを作ることができます。
プログラマとデザイナーの作業分担がよりやりやすくなり、効率よく構築作業をすすめることができるWebアプリケーションとなっています。
セミナーは盛りだくさんの内容だったので、ついていくのはかなり大変でしたが、お約束にそって素直に構築すれば、比較的少ない工数でショッピングカートを作れそうな感じがしました。
頻繁にバージョンアップもされており、将来が楽しみなショッピングカートです。
夜は懇親会で盛り上がりました。
Web業界をはじめ、またまたいろんな業種の方とお近づきになれて、とても有意義でした。
講師、主催者の方々どうもありがとうございました!
最近気になった記事。
コインで作ったストップモーションムービー『Insert Coin』の作り込みがすごすぎる・・・ – IDEA*IDEA
この仕事っぷりはハンパない。
SDカードがサーバーに! 単体でWebサーバーとして動作する「Servers Man@SD」が発表へ : ギズモード・ジャパン
これあれば家で100台くらいWebサーバー運用しても場所取りませんよね。
Intelが極小サイズのSSD「310シリーズ」を発表、従来の8分の1のサイズで重さわずか10グラム – GIGAZINE
どんどん小さくなって、脳に埋め込めるチップが出てきて、補助脳みたいになって… ていう流れ?
Is Apple Building Its Own Navigation Service For iPhone?
Appleがナビゲーションシステムを作ろうとしているようです。Androidが隆盛してきて、Googleマップばかりに頼ってられないということみたいです。
Optimus Tactus-Keyboard without Physical Keys « Gadget Reviews, Gift Ideas, Latest Cool Gadgets
アプリケーションに合わせてボタンを変えられるようになったら便利ですよね。お絵かきアプリのときはタブレットになったりとかしたら。
Sexy, Super-Thin Displays Coming to CES
こんなディスプレイが! これは未来を見ているよう。
あまりにも美しく、何度も往復したくなる北海道のとある道路(動画) : ひろぶろ
富良野・美瑛あたりです。確かにこんな感じの道多い。都会に住んでいる人にとっては羨ましい道です。
OnenoteのiPhoneアプリがリリースされました
"OnenoteのiPhoneアプリがリリースされました" の続きを読む
Micorsoft OnenoteのiPhoneアプリが登場しました。
マイクロソフト、iPhoneアプリ「OneNote」をリリース : モバイル・デバイス – Computerworld.jp
Microsoft Releases OneNote, Its First Office App for iPhone
僕が過去に書いたOnenoteのiPhoneアプリに関するブログ記事にもアクセスが結構来てました。
一部の世界ではOnenoteアプリで盛り上がってるのかも知れません。
しかし僕はもうOnenoteからEvernoteに乗り換えてしまいました。データも全部Evernoteに移行済みです。
Evernote全盛の今、このアプリはリリースがちょっと遅かったかなーという印象です。
おそらく同じようにEvernoteに乗り換えてしまった人も多いんじゃないかなと思います。
WebScoreRevolutionハック:チーム別ではなく、複数チームを合計した個人成績集計を表示する
"WebScoreRevolutionハック:チーム別ではなく、複数チームを合計した個人成績集計を表示する" の続きを読む
野球スコアブックアプリWebScoreRevolutionについて、
「複数チームを管理しているが、個人成績はチーム毎の集計しか見られない。すべてのチームをまとめて集計した個人成績を見られないか?」
という問い合わせが掲示板にあったのでこちらに改造方法を書いておきます。
チーム名のリストボックスは登録したチームしか選べず、
「すべてのチームを選択する」に相当する空白の選択肢は設けておりません。
しかし、以下の方法でリストボックスに空白の選択肢を増やすことができます。
/webscorerevolution/templates/bbsb_viewpersonalscore.htmlの20行目あたりを編集してください。
[xml highlight=”2″]
<select name="cond_ownteamid" onChange="location.href=this.options[this.selectedIndex].value">
<option value="./index.php?action=ViewPersonalscore&cond_ownteamid=0" ></option>
<{foreach item=ownteam from=$ownteamlist}>
<option value="./index.php?action=ViewPersonalscore&cond_ownteamid=<{$ownteam.TeamID}>" <{if $ownteam.TeamID == $smarty.get.cond_ownteamid}>selected<{/if}> ><{$ownteam.TeamName|xoops_escape}></option>
<{/foreach}>
</select>
[/xml]
この修正をした後、モジュールのアップデートをかけてもらうとリストボックスに空白の選択肢が選べるようになります。
ただし、この方法は少し問題があります。
個人成績の順位付け対象となるのは、規定打席数をクリアした選手だけです。
例えば規定打席(乗数)1.5、消化試合数10の場合は、規定打席数=1.5×10=15打席をクリアした選手のみランキングの対象になります。
ここで、上記のように強引に複数チームの成績表示をさせた場合、例えばチームA=6試合、チームB=10試合消化したとしますと規定打席数=1.5×(6+10)=24打席となってしまいます。
チームAとBの両方に出場している選手ならば規定打席を楽に越えられるでしょうが、どちらか1チームにしか属していない選手の場合は規定打席クリアが難しくなります。
この問題を暫定的に回避するためには、規定打席数を低めの数字にしてもらえればなんとかなると思います。
現状、以下の理由から、デフォルト状態では複数チーム合わせた個人成績を表示させられない(リストに空要素の選択肢を用意していない)ようにしています。
・上記のような規定打席数の問題があるので、最適な規定打席数をそれぞれのチームで計算しなければならない。
・チームAの試合数=1、チームBの試合数=100といった極端な例を考えた場合、
両チームの個人打撃成績を一緒に表示したらバランスを欠くのではないか?
・複数チーム管理では、例えば一軍と二軍、小学校高学年と低学年などのチーム分けを想定している。
それぞれのチームに属する選手の能力レベルも違うし、対戦相手のレベルも違うかも知れない。
その条件下で複数チームを一緒にした合計を出すのは、バランスを欠くのではないか?
プロ野球でも一軍と二軍をごちゃまぜにして成績を出していないですが、同じような理由があるからなんだと思います。
それでもどうしても全チームの個人成績集計が見たいという場合は、このハックを利用してください。
注目されること請け合いな個性的なバックパック
"注目されること請け合いな個性的なバックパック" の続きを読む
ヨーダバックパック、いいですね!
…何かに取り憑かれてる感が。
これもちょっと勇気がいるが…
ほかにもあります。こちらから。
10 Awesome Backpack Designs | Antalik – Strange,funny and animals stuff from around the world.
http://www.antalik.com/10-awesome-backpack-designs/
KVM仮想環境の構築 その3
KVM仮想環境構築その1、その2に続き、今回はKVMの使用感について書きます。
過去のエントリ:
KVM仮想環境の構築 その1
KVM仮想環境の構築 その2
他のパソコンからゲストOSへリモートログインする
ホストOSとゲストOSの間の通信はもともとVNC通信で行われています。
VNCによる通信は一般的にリモートログインで使われているので、KVMでは特になにも機能を追加しなくてもゲストOSにリモートログインすることができます。
デフォルトでは、同一マシン上にあるホストOSとゲストOSの間の通信しか許可しない設定になっていますが、この設定を変えてやると外部端末からゲストOSにアクセスできるようになります。
[参考]No route to … » Blog Archive » KVMで外部からのVNCアクセスを設定
/etc/libvirt/qemu.conf
vnc_listen =”0.0.0.0″
vnc_password = “password”
そしてlibvirt再起動。
/etc/init.d/libvirt-bin restart
こんな感じでMacBookからゲストOSにアクセスできます。
MacのVNCクライアントはChicken of the VNCを使いました。定番のVNCクライアントらしいです。使い勝手も良いです。
まず、Mac OS X ネイティブ環境はこんなの
VNCでゲストOSのWindows7にリモートログインしたところ
VNCでゲストOSのDebianにリモートログインしたところ
801.11nの無線LAN環境下でもかなり快適に動作しました。
このMacBookで、どんなOSも自由に操作できるようになった利便性は大きいです。
動作状況まとめ
ホストOS環境:
debian(squeeze)
qemu-kvm 0.12.5
ゲストOS=Windows XP (64bit)
・USB認識OK。USBメモリ、マウスなどは認識した。
・音は出る。
・VirtIO導入可能。
ゲストOS=Windows 7 (32bit)
・USB認識OK。USBメモリ、マウスなどは認識した。
・音は出る。(ac97)
・VirtIO導入可能。
・シャットダウン時にブルースクリーンになり再起動されてしまう問題がでた。
[コントロールパネル]→[システム]→[システムの詳細設定]→[詳細設定]→起動と回復の[設定]
のシステムエラー時「自動的に再起動する」のチェックをOFFにするととりあえず再起動はしなくなった。
libvertのエラーログには何も問題は出ておらず、Windows側だけの問題と思われるが原因不明。
ゲストOS=Windows 7 (64bit)
・USB認識せず。
・音が出ない。
・VirtIO導入可能。(7用のドライバが無いが、Vista用のドライバで認識した)
ゲストOSのWindowsの使用感
・VirtIOを使うとディスクIOやネットワークは思ったより速い!。
特にイライラせずファイルコピーとかネットワークは使えてます。
物理PCを使うのと感覚的にはあまり差はないかも。
ネットワーク経由のファイルコピーもそんなにひっかかる感じではないです。
・マウスの追随はけっこういいと思います。マウス操作はあまりストレスありません。
・動画再生はコマ落ちしてカクカクするのであまりおすすめできません。
ビデオ編集をWindowsでやろうと思ってたんですがこれは諦めざるをえません。
MacBookがあるからそっちでやるかなーと思ってます。年に数回しかやらないし。
・再起動が速い。物理デバイスがないのでBIOSのチェック時間が短縮できるのが効いているんだと思います。
あとは、仮想OSの一般的なメリットですが、こんな恩恵が受けられます。
・OSの起動/停止がリモートで行える。
・メモリやCPUのリソース配分を後から変更可能
・テスト環境用にお手軽にOSをインストールできる。
Windows 7(64bit)をインストールした直後、再起動したときの動画です。
こんなに速いとは思ってなかったのでちょっと驚きでした。
KVM仮想環境の構築 その2
KVM仮想環境の構築 その1に引き続きKVM環境を構築しています。
いろいろと分からないことも多いし、KVMの開発自体がまだ発展途上ということもありちゃんと動いてくれず苦労しています。
たくさんつまづきながらやってます。正月から3日がかりでやっとゲストOSが動くようになりました。
前回はホストOSとしてDebian(Squeeze)をネットワークインストールするところまでやりました。
いよいよKVMをインストールします。
KVMのインストール
KVMについてはここが参考になります。
@IT:KVMの導入と基本的な使い方
debian(squeeze)に以下のパッケージをインストールします。
qemu-kvm : KVM本体。lennyではkvmパッケージでしたが、sqeezeから名前がqemu-kvmに変更されています。
bridge-util : Ethernetをブリッジするパッケージです。
デフォルト設定ではゲストOSを仮想環境内LANで動くようになっていますが、ホストOSと同じ物理ネットワーク上のIPを振りたいなら入れておく必要があると思います。
virt-manager : GUIの管理マネージャ。
bridge-utilのインストールについてはpythonのアップデートも必要かも?。v2.6が必要とか言われました。
rootではなく一般ユーザで仮想マシンを動かしたい
一般ユーザ(user1とします)で仮想マシンを操作したい場合は、user1をlibvirtグループに含めます。
[shell]
adduser user1 libvirt
[/shell]
virt-managerを一般ユーザで動作させるためにはいったんホストOSの再起動が必要でした。
[参考]KVM – Debian Wiki(英語)
仮想マシンマネージャの使い方
これで一般ユーザのデスクトップから仮想マシンマネージャが動くようになります。このマネージャを通じてゲストOSの起動などKVMをコントロールできます。
gnomeの[アプリケーション]→[システムツール]→[仮想マシンマネージャ]で起動します。
仮想マシンマネージャの使い方はここがおすすめ。
アクセラと+αな生活 : Ubuntu 9.10 で KVM を使ってみる。
ゲストOS:Windows7の導入
Windows7 64bit版をインストールしてみました。
インストールCDは無事認識しましたので作業は順調に行くと思われましたが、インストールの途中で再起動をした時に立ち上がってこない…
どうやらHDDから起動に失敗しているようで、こんなメッセージが出ます。
Starting SeaBIOS (version 0.5.1-20100825_131917-polaris)
Booting from Hard Disk…
はじめは仮想環境で使われているSeaBIOSがおかしいのかなと思っていましたが、そうではなくWindowsがMBRをちゃんと書いていなかったのが問題だったようです。
ここ経由でこのページの手順通りにやってなんとかHDD起動できるようになりました。
MBR – Restore Windows 7 Master Boot Record – Windows 7 Forums(英語)
サウンドドライバはKVM付属のac97でもes1370でも認識しませんでした。つまり音が鳴りません…orz
ここによるとac97は認識するとか書いてあるんですが。たぶんWindows7 32bit版の話でしょう。
しかもUSBメモリ認識しないし。
Windows7の32bit版だとこれらの問題もなく使えているという報告を見かけましたが、64bit版をインストールした限りだとまだいろいろおかしいです。
64bit版を安定して使えるようになるにはもうちょっとKVMの開発が進むのを待った方が良いかも知れません。
VirtIOをインストール
ゲストOSがWindowsの場合は、準仮想化ドライバVirtIOを導入したほうが速くなります。
ファイルIOやネットワークを準仮想化し高速化してくれるドライバです。
[参考]絶対無糖 (Zettai Non Sugar): KVM で、Virtio Windows 用ドライバを試してみる
VirtIOを入れるとどれくらい速くなるかはこのページが参考になります。倍くらい速度が違うので、
ぜひ入れておいた方がいいです。
[参考]本気で使いたいユーザのためのLinux KVM活用法:第2回 Linux KVMで動かすWindows |gihyo.jp
ここからWindows用のVirtIOドライバをダウンロードします。
“Download Latest VirtIO Win drivers from Fedora”と書いてあるリンクです。
NICドライバはNetKVMフォルダの下にあります。
VirtIOディスクは、SCSIドライバとしてviostorディレクトリの下のドライバを指定します。
結局WindowsXPを使うことにしました
音がでないWindowsなんて悲しすぎるので、Windows7は諦めて、WindowsXPをインストールしました。
Vistaは操作性が悪く今まで使いにくい思いをしてきたので、もう使いません。
WindowsXP 64bit版のゲストOSは概ねうまく動いている感じです。
USBメモリやUSBマウスも認識しました。たぶんだいたいのUSBデバイスは大丈夫なんじゃないかと思います。
WindowsXPでも最初は音が鳴らず悩んでましたが、ここの情報に助けられました。これで解決。
KVM(Kernel based Virtual Machine)を語れ
/var/log/libvirt/qemu の下のログ見たら QEMU_AUDIO_DRV = none で起動してた
→ /etc/libvirt/qemu.conf の vnc_allow_host_audio を 1 にして /etc/init.d の libvirt-bin を restart する
/var/log/libvirt/qemu の下のログで ALSA lib が cannot find card ‘0’ とか Failed to open ‘default’ とか言う
→ /etc/libvirt/qemu.conf の user を root にして /etc/init.d の libvirt-bin を restart する
ネットワークの設定
ゲストOSをインストールすると、ネットワークはバーチャルなネットワークセグメントで動くわけですが、それだと何かと不便です。
現在ある物理ローカルネットワーク上に仮想マシンも置いた方がいろいろ便利なので、ネットワーク構成を変更します。
そのためには、ホストOSのeth0にブリッジ機能をもたせ、仮想OSに対してネットワークアドレスの変更なしで通信をパススルーするようにします。
[参考]
kvm を使う – 文書の形
Debian GNU/Linux 5.0 – KVM + QEMU – インストール : Server World
libvirt: Wiki: Networking(英語)
ネットワークを仮想ネットワークではなくブリッジ経由にする設定方法はこれらの情報で分かったのですが、これは新規にゲストOSをインストールするときの話でした。
すでに作成済みのゲストOSを、あとからブリッジ経由に変更する方法がいまいち分かりませんでした。
仮想マシンマネージャのメニューを見ても変更できる風ではなく、どうやらGUIからは変更できない感じでした。
なので以下を参考にして、/etc/libviert/qemu/ 下のxmlファイルのinterfaceセクションを手で書き換えました。
hnakamur’s blog: CentOSのKVMのゲストOSに2枚目のネットワークカードを追加
こんな感じで苦労しつつもなんとかWindows環境のゲストOSを動かすことができたのでした。