Archive for the '日記' Category

Apr292008

たのしい環境設定 (Ubuntu 8 編) このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

雨のち曇 ひろまさ@ 4 月 29th, 2008 投稿時の月齢:22.6  月名:弓張月(下弦)  潮汐:小潮

新しい環境というのは何かと楽しいものですね。 ってなことで、 Ubuntu をいろいろいじってみました。 といっても最初からきっちりできているので、ソフトいれるくらいなのですが。 一部、フォント周りは特殊なことしているので、含めて紹介してみます。

まずはフォント。

ubuntu はフォントにアンチエイリアスが標準で全てにかかっているんですが、小さい文字はアンチエイリアスをきってフォント内蔵のビットマップフォントを使ったほうがくっきりみえるので、ぼくはいつも好んでそうしています。(まーソースコードをみることが多いせいもあるでしょう)

Fedora の場合は、それなりのフォントをいれて、GNOME の外観から「モノクロ」を選択するだけだったのですが、Ubuntu でやると、どーも標準でフォント内蔵のビットマップフォントを使ってくれない模様・・・。

てなわけで、 ホームディレクトリに .fonts.conf ファイルを新規作成して以下を書き込んで X を再起動。

   1: <match target=“font”>
   2:     <test name=“pixelsize” compare=“less_eq”>
   3:         <double>14</double>
   4:     </test>
   5:     <edit name=“embeddedbitmap” mode=“assign”>
   6:         <bool>true</bool>
   7:     </edit>
   8:     <edit name=“antialias” mode=“assign”>
   9:         <bool>false</bool>
  10:     </edit>
  11: </match>

14 pixel 以下のフォントはビットマップフォントを”使え”です。

GNOME の外観のフォント設定はアンチエイリアスありにして、その上でこの設定をするとうまいぐあいにいくようです。

英語フォントとかは、ビットマップフォントつかわなくても xft が綺麗にやってくれるようなので、上記の設定はフォント名をいれて、適応範囲を日本語にしぼってもいいかもしれません。(面倒なのでやらなかった …

で、あとはアプリをいれて、、いつも使っている定番物。

ubuntu11

やっぱりいっぱいアプリあげるとデスクトップが手狭です。

ubuntu12

でもこれだとなんかシュール、、とか思っていて

ぴこん!

仮想デスクトップをつかって・・・

ubuntu03

あれをこうして、こうすると・・・・

4曲同時にお聴きください!(あほ)

ubuntu10

4つの仮想デスクトップ上でフル画面で4つの動画を再生しているの図です。 :-)

ちゃんと映像が全部うごいていて、かつマウスクリックでリニアにその動画にズームイン/ズームアウトする様子は圧巻です。 うつりこみも動いているしかーっこええ。

次世代テレビのチャンネル切り替えインターフェースはこうなるのではないかと思うのですがどうでしょうか。 :-)

まぁまぁ、専用に動画の再生に特化したものは割りとつくれるとおもうのですが、これが 3D デスクトップの機能の適当な操作で”できちゃった”ってところに、Compiz のおそるべきを感じます。

ちまたでは、新しい OS より Google の新しいアプリのほうが面白いとかいわれているみたいですが・・・。

ばかもーーーん、こっちのほうが面白いに決まってるだろー。

なんて、うそ。

でも、自分にはどーやってるかさっぱりわからないテクノロジーのほうが、ぼくは興味がわくことはたしかです。 :-)

Apr272008

Ubuntu 8 と 3D デスクトップ このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

曇時々雨 ひろまさ@ 4 月 27th, 2008 投稿時の月齢:20.7  月名:二十日余の月  潮汐:中潮

最近 ノート PC のほうの Windows 環境ができ、デスクトップの PC くんにあまりさわらなくなってしまったので、ちょっとかわいそうな状態でした。 ならば! ってことで、最新 Linux をいれてやろうじゃないか!! ってことで調べてみると、デスクトップ系 Linux の両雄、Fedora と Ubuntu がなんと今月末バージョンアップ・・・。

どうするおれ! ・・・続きは Web で!。

いうてる場合じゃない。

本気で迷いました。

Fedora の親である redhat 系はもうはじめてさわってからかれこれ 10 年ちかくたつのではないでしょうか。 書籍についていた Redhat から LESER 5 Linux、Turbo Linux、 Redhat 9 を経て、Fedora 1、2・・・。 いま家で動いている共有用ローカルサーバは Redhat クローンの CentOS。 さすがに使い慣れているので、トラブルも怖くありません。

たいして、Ubuntu は Debian 系。 はずかしながら、Debian 系は一回もつかったことがないのですが、最近、ぐんぐん伸びてきていて安定派ながら面白そうなディストリビューション。

こまったこまったこまった。。。

ぴこん!

先に出たほうを使う!

ひどい理由(笑)

というわけで、一昨日 Ubuntu の最新版である 8.0.4 がリリースされました!

Ubuntu 8.04 LTS の新機能 | Ubuntu Japanese Team

Ubuntuチームは、オープンソースコミュニティによって作成された最新の素晴らしいソフトウェアをUbuntu 8.04 LTSとして提供できることを嬉しく思います。

いれるぞってことで、Japanese Team からリリースされている日本語パッチ適応版をインストールしました。

Ubuntuの日本語環境 | Ubuntu Japanese Team

Ubuntuは、できる限り多くの言語に対応すべく国際化が進められており、もちろん日本語での利用も可能です。Japanese Teamでは、Ubuntu日本語サポートをより良いものとする活動を進めていますが、他の言語環境に悪い影響を与えてしまう変更が必要であるなどの理由で、現段階ではオリジナルのUbuntuに含めることが難しい修正が必要な場合もあります。

どこのオープンソースの i18n でも起きる問題ですが、その国だけ考えたパッチというのはなかなかなげずらいもので(というか普通 reject される)、またかといって他の国のことも考えると膨大な労力が必要になるため、Japanese Team が別途微調整してローカライズ版をだしてくれています。

ja 版をありがたく使わせていただき、インストール。

LiveCD を起動すると、インストール用のアイコンが現れるのでそれをクリックすればインストール開始されます。

インストール中も LiveCD の ubuntu が動作しているので、なんと Firefox 起動してブラウジングしながら OS のインストール可能です。 そりゃそーなんですが、なんかすごい。。

インストールは滞りなく完了。 で、

出来すぎていて書くことがない :-)

うーん、すごいっすね。 nVidia 製のグラフィックドライバも勝手にインストーラが起動して商用版をいれてくれました。(X の設定がいるので、ここが一番つまずくとおもっていた。。)

ubuntu04

あとは、Flash も、動画/サウンドエンコーダも必要になった時点で勝手にインストールされ、いつのまにか言うことない状態になります。

ubuntu01

さて、nVidia ドライバがすんなり入ったって事は、Ubuntu が標準でいれてきている Compiz & Fusion の 3D デスクトップが簡単にうごくはず・・・。 :-)

動くよ! 動くよ!

Athlon 64 3000+ & GeForce 5800 というふるい組み合わせですが、まったく問題なくフルフレームで動きます。 すごいよ。

まずは、タスクの切り替え。 Vista でおなじみのあれですが、あれよりずっと分かりやすく実用的にきりかわります。

ubuntu02

そして ubuntu の標準デスクトップ環境 GNOME (Windows でいえば、Explorer にあたるようなもの) のうれしい機能、仮想デスクトップも視覚的に切り替えられます。 下に映り込みがあったりして、芸が細かい!

ubuntu03

4枚デスクトップ(任意選択可能)があって、それぞれにウインドウを配置できます。 みそは、各デスクトップで CTRL + TAB したときにそのデスクトップに存在するウインドウしか選択されないこと。

たくさんアプリをあげていると、切り替え操作が煩雑になりがちですが、これを仮想デスクトップでグループ化できるイメージです。 ぼくは、ウインドウいっぱいあがっていると、「うきゃー」ってなるほうなので、この機能がある環境はとても助かります。

この 3D デスクトップを実現している、 Compiz Fusion には他にも任意箇所のズームとか、赤ペンで書入れとかいろいろできるようになっています。 また、視覚効果以外にも、ウインドウをグループ化したり、任意のウインドウを必ず同じ大きさに変えたりといった、通常のウインドウマネージャではできない仕事も担っていて、実用的です。

ぼくがちょっと 3D デスクトップに注目しているのは、もちろん使っていて楽しいってのもあるのですが、、プレゼンのときにつかえたらいいなーと思っていたりもします。 よくいわれるんですよ、操作が速すぎて何やっているかわからんって。(笑)

これつかえば、操作がわかりやすいのでいいかなーと。 あと、赤ペンできたり任意の位置のズームもかなり使えそうな機能です。

実は CSS Nite で Nao さんが Mac つかってびょーんってやっていていいなと思ったのが始まりなんですが、Linux 使うのもありかなと思ってきました。

せっかくなので、動画でもとってみようかと思いましたが、さすがに Athlon 64 3000 だと、フルフレームで録画できず、魅了半減。  800×600 とかにしてなんとかとれましたが、いまいちだったので、他の方が撮った、フルエフェクトイネイブルバージョンでお楽しみください。 :-)

OS X みたいなランチャーいれていますが、Linux です。

さすがに全部エフェクト入れているとむちゃ感がありますが、もちろん使う機能を選択できますので、自分好みにいい感じに仕上げるのも面白いです。 というか、半日遊べます。 おためしあれー :-)

Apr242008

ドキュメントと動画の融合 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

晴のち曇 ひろまさ@ 4 月 24th, 2008 投稿時の月齢:17.5  月名:居待月  潮汐:中潮

実はドキュメントと動画の融合っていうのって結構面白いなって最近思っていて、近頃、投稿が youtube ずいています。

たとえば、なにか PC 操作的なことでこれは便利! とかいっても、なかなか伝わらないもので、逆に説明文書が長くなって、書いているほうも本当に伝わっているのだろうかと思ってしまうもの(笑) これが動画なら、いっぱつで伝わるんじゃないか!ってことで、たとえばスペシャルなキーボード操作を今回は例にしてみます。

今回のお題はキーボードマクロ。

キーボード操作こそ周りにやっている人がいてこそ盗む系の技であり、目の当たりにしないとなかなか実用度が分からない部分でもあります。

一応説明を書くと、キーボードマクロはテキストエディタなどに実装されている、「自分のキー操作を記録して再生する」機能です。 たとえば、CTRL +SHIFT + M して記録を開始し、できたところで CTRL +SHIFT + L で再生とかすると、繰り返し操作が簡単に・・・・。 ってもう文章での説明はいやになってくるような機能です(笑)

動画でごらんアレ

録画失敗して音ずれしちゃうましたが、雰囲気用に入れています :-)

やっぱり使うと速い?よね?

今回は、<td> をうつところにキーボードマクロを使っています。 一行目の td の入力を記録し、ほかに適応しているという図です。 このようにキーボードマクロは、同じような操作のくりかえしがある場合に非常に有効な操作です。

もちろん、正規表現の置換をつかってやる方法もありますし、ひとそれぞれですが、キーボードマクロは「あんまり考えなくてすむ」という部分で強力な方法といえましょう(笑)

さて、いままで動画といえばテレビとかの領域でしたが、これは映像主体でわりと push 式にだらだらみるもの。 インターネットは逆に pull で攻撃的に自分から取りに行くイメージがあります。

また、Web の基本は半リアルタイム。 オンデマンド。 しかもテレビと違って文書を読むことに長けているインターフェースです。 これに好きなときに再生できる映像がまざってくると、なかなか面白いですね。

こう、このエントリも上からながめてみると、動画が途中にあって、複雑な文書では伝えずらいことが、ぽちっと説明がみることができるというのは、なにか可能性を感じます。 たとえば、音楽の説明は楽譜をみるより実際の演奏がいいし、お料理とかだと、まぜまぜしているところみれたらいいし・・・。

最近だと録画や編集もお手軽になってきたので、こういったサイトがどんどん増えるといいな、と思っています。 :-)

Apr192008

携帯電話ポケベル打ち このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

晴れ ひろまさ@ 4 月 19th, 2008 投稿時の月齢:13.4  月名:待宵月  潮汐:大潮

携帯電話の文字入力方式に、ツータッチとかポケベル打ちというモードが存在する機種があります。 やっていて分かっている人にはわかるのですが、PCのローマ字入力と同じタイミングでうてるので、なれるとかなり気持ちよく打つことができます。 今回はぼくの入力しているところを録画してみました。

しかし!(笑)

マクロ撮影に失敗したため、

何打ってるのかわかんね

というわけで、hiromasa.another 読者の方に若干名いらっしゃる、ただの指フェチ動画とあいなりました。

・・・おたのしみください。(笑)

足にデジカメはさんで録画するという暴挙をやっているため、自分で携帯がよく見えずあまり速くうててなかったりするのですが、タッチタイプが可能というのもツータッチの利点の一つかもしれません。

と、これだけでは申し訳ないので関連動画で見つけた、別な方のポケベル打ち動画。 どうやら通常入力モードの携帯早打ち選手権の記録をはるかに凌駕しているようです。

これ覚えると、携帯で文字を打つのがなんの苦でもなくなります。 たぶん、慣れたら携帯にミニキーボードつけられるよりずっとストレスが少ないと思われます。

ぼくはたぶん、いままでで一番速くうてたのは SO504i。 ジョグ付で、まだ mova のころだったので機械の反応もよくいまでも使いたいくらいの携帯電話です。

so504i

では最後に、全然関係ない指芸を。 指といえば連射! ひろまさの連射風景とってみたぜ!

・・・おたのしみください(笑)

Mar242008

メモリと描画支援とFirefoxと このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

曇のち雨(8/3) ひろまさ@ 3 月 24th, 2008 投稿時の月齢:16.1  月名:立待月  潮汐:大潮

ThinkPad くんを購入してちょこちょこいじっているわけですが、購入初期状態の 1G メモリーではさすがにたりない! Apache と MySQL と Eclipse と Firefox あげよーもんなら、物理メモリ超えてしまいます。 これじゃーせっかくのデュアル CPU がもったいないーというわけで購入。 メモリといえばここだ!

上海問屋 - 本店 - ホーム

SO-DIMM 1GB 1,899円

1G 1,899円ってあんた。(笑) こちらは小さな部品はメール便で送ってくれるので、受け取りも楽チン。

もともと 1G ささっているので、1G 追加でデュアルチャンネルになるはずです。

memory

てなわけでいい感じになりました。 速くていいっすねー。 Firefox なんか一瞬であがります。 :-)

さすがにチップセット内蔵グラフィックなので、そのへんの値はでないようですね。 ただデュアルチャンネルにしたせいかここの数値もアップしました。 内蔵は VRAM がメインメモリにとられるせいだと思われます。

この数値をみて思い出したのが、最近のグラフィック描画のハードウェア支援です。

Windows Vista は AERO 機能をオンにすると、グラフィックカードの描画支援をつかってすべてを描くようになるのは有名です。

また、実は Mac のミドルもこの機能を持っていて、

Quartz - Wikipedia

Quartz (クオーツ) は、アップルオペレーティングシステムMac OS X の描画コアエンジン。前身である NeXT の DPS (Display PostScript) に代わり、PDF ベースの描画モデルを採用したもの。

Mac OS X v10.4 (Tiger)ではビデオチップのプログラマブルシェーダを使って、描画演算をほぼ全てビデオチップ内で実行できるQuartz 2D Extremeを実装する予定であったようだ。(開発途上のまま搭載されオフにされており、正式にはサポートされていない。)

最近は、この隠し機能をONにして性能アップを試みるのが Mac ユーザの間で流行っているようです。

どちらにせよ、アプリケーションの描画というのは年々複雑になっていますので、描画のミドルが専用ハードを使おうとするのは当然の成り行きなのかもしれません。

てなわけで、ベータ段階にある Firefox 3.0。

ぼくはまだつかったことありませんが、こいつも OpenGL を介してグラフィックチップの描画支援をうけて動作するようになる、、、はずです。

cairo - Wikipedia

cairoカイロ)は様々なバックエンドに対応したフリーのグラフィックライブラリであり、ソフトウェア開発者にデバイスに依存しないベクトルベースのAPIを提供する。現在、X Window SystemWin32 GDIQuartzOpenGLglitz経由で)、ローカルなイメージバッファ、PNG画像、PDFPostScriptSVGなどの出力をサポートするバックエンドを持つ。cairoは、利用可能な場合はハードウェアアクセラレーションを利用するように設計されている。

今回の Gecko は描画が cairo というライブラリに移行した最初のものになりますが、OpenGL サポートが enable になって出荷されると思われます。 これにより、画面のレンダリング時の基本描画、アルファブレンディング、アンチエイリアス等々、速く描画できるようになるハズです。 (そのかわり、Firefox 3.0 系は Windows 9x 系で使えなくなる)

周りの評判を聞いていると結構速いそうです。 まー描画以外のパフォーマンスアップも当然あると思うので一概にはいえませんが、楽しみな修正の一つです。 :-)

Mar232008

コンテンツの配信について考える このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

晴れ(12/2) ひろまさ@ 3 月 23rd, 2008 投稿時の月齢:15.1  月名:満月  潮汐:大潮

現在インターネット上でコンテンツを配信する一般的な技術は、HTML を Web サーバにおいて http にのせて配信することです。 で、よりユーザにつかいやすい formated な形式でコンテンツを配信してやろうじゃないか、というのが RSS とか ATOM とかの技術だと思います。

ぼのさんとこで、RSS について盛り上がっていたので、せっかくなのでぼくの思う理想のコンテンツ配信技術を書いてみます。 :-)

RSS や ATOM はそのサイトの”新着”をみる手段として今は主に使われていますが、たぶん本来的にはそのサイトのすべてのドキュメントを決まった形式でとりだすものです。

ただ、RSS の略を見ると Really Simple Syndication と、Rich Site Summary の 2(3)種類あって、Summary の言葉もみえるので RSS はコンテンツ配信の意味合いはやや薄いのかもしれませんが、ATOM の思想は新着配信なんかではなくコンテンツ配信技術です。

たとえば、1サイトを “ドキュメント配信サーバ” と考えます。

HTML と RSS/ATOM のそれぞれはプレゼンテーションレイヤのひとつで、サイトのドキュメントデータベースから外部にデータを渡す役割を持ちます。 HTML はユーザインターフェースを含む HTML ブラウザへの表示。 RSS/ATOM は対応フィードリーダへの配信です。

情報取得する場合、HTML の場合は人の判断によるブラウザ操作が必要で、またフォーマットされたものではないのでデータの扱いが難しく、RSS/ATOM は昨日も書いたようにフォーマットがただの1ファイル。 配信として考えると、この形式は全記事全文をひとつのファイルに収める必要があり、条件抽出とかもできないので現実的ではありません。

コンテンツ配信としてはどっちも技術的にはいけてないのです。

もーしかしてとおもって、ATOM のプロトコルを読んでみたのですが、”必要な情報を必要な部分取り出す” といった API はないようです。 コンテンツを publish する API はあるのですが。

よく映画の中の世界とかで、妙なハイテク OS 画面(?)に調べたいことを入力すると、なにやらネットワークを調べ、たとえば人の情報がびっと表示されるとかあります。 また、「どこそこで情報が遮断された!やばい!」とかそんな場面もよくみられます。

現実をみていると、なんじゃそら(笑) と思ってしまいますが、意外と未来はあたっているのかな、、と思ってみたりすることがありました。

たとえば、いまは検索とかだとクローラが、Web をみてまわりキャッシュしフォーマットされていない HTML データをなんとかタグをたよりに解析し、タンキング集計。 それをもとにユーザに結果をかえす仕組みになっています。

問題は、クロールする時間があってリアルタイムじゃないし、取得できる情報はフォーマットされていないし、検索アルゴリズムをユーザが決められないという問題があります。

たとえば、”ドキュメント配信サーバ” から条件を指定してフォーマットされたデータを取得できるプロトコルがあるとします。

この日付でこの文字列を含んでいてとか条件指定すると、リアルタイムに最新ドキュメントが取得できる。 ”ドキュメント配信サーバ”が他の”ドキュメント配信サーバ”のドキュメントにリンクしていたら、さらに通信に行ったり。 認証があっても面白そうです。

これで、リアルタイムにフォーマットされたデータを取得できます。 また、条件から無関係なものをとりのぞくのは、こちら側の仕事です。 たとえば Google にされなくてすみます。 自由な世界です。

“ドキュメント配信サーバ”同士が、P2Pみたいに有機的にぱ~ってつながっていく様子はさながら SF でかっこいいし、検索や結果表示の UI は好き勝手できるし、 「どこそこで情報が遮断された!やばい!」も実現可能ですね。 :-)

リアルタイム性っていうのは娯楽的にも面白い部分で、またネットワークだと半リアルタイムがつかえて、今もニコニコ動画とか twitter とか人気のあるサービスには”動き”があります。 Microsoft の Live サービスってよく考えた名前だなと思ったことがあります。 たぶん、今後インターネットが発展するのに必要なのはライブ感。

てーーことを数年前に考えてできたサイトが、実は hiromasa.zone です。

WP じゃないところ、Eclipse の解説とかのせているところは自前のアプリなんですが、今は mod_rewrite で .html にごまかしちゃっていますが、ホントは

http://zone.maple4ever.net/document.php?mid=%3C20050807174620.42f5ca5c9be5a.unboard%40hiromasa.zone.ne.jp%3E

こんな引数つけて hiromasa.zone を呼んであげると、情報をかえすようになっています。 簡単な API で、ドキュメント部分だけかえすとかもできるようになっていたりするんですが、まぁ対応アプリなんかあるわけもなく、呼べるのはぼくのつくった管理画面だけです。(笑)

全文、全記事配信可能なプロトコルになっているわけです。 なんかドキュメントID を全世界ユニークにしたかったらしく、メールの message-id みたなのがついているのが見えます。 

まぁまぁ、このようなリアルタイムコンテンツ配信は、ぱっと考えても現在の通信インフラじゃできないかなーって部分もありますが、インターネット2 くらいになったら当然のようにでてきそうな技術ではあります。 プロトコルの名前は Gopher 2 !?(嘘

そーこー相当考えた結果、どうにもいまの RSS/ATOM が気に入らなくて、やれないんならやめちゃえ! というわけもあってぼくのブログは抜粋配信なのです。 単純にただの技術者の頑固です。

かわいそうに、とそっと見守っていただけると幸いです(笑)

ちなみに、このサイトは

<div class="entry" style="">

でエントリの内容がはじまりますので、全文ほしい方は適当に RSS 生成してもらえればとおもいます。

なにを隠そう、ぼくも Yahoo! とかのニュース、勝手に全部全文生成して Google Reader で読んでいます。。 ニュースとかは、ね。 いいのだ。 :-P

 
Mar192008

【重要】業務連絡(メール不通です) このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

晴のち曇 ひろまさ@ 3 月 19th, 2008 投稿時の月齢:11.8  月名:十二日月  潮汐:中潮

業務連絡です。

ひろまさが使っているメールアドレスで、ホスト名が @hiromasa.zone.ne.jp のものについてが 15日から不通になってしまっていました。

どうやら、SMTP は生きていてしまっているようなので、送信すれども返事がない状態となっている可能性があります。

お心当たりの方は大変申し訳ないのですが、

h1romas4@gmail.com

まで再送お願いいたします。

@sourceforge.jp のメールは gmail に転送していますので大丈夫です。 *@hiromasa.zone.ne.jp が該当です。

大変お手数おかけします。

ついにサーバ会社さん、はたんかな。。 インターネットレンタルサーバ初期時代からお疲れ様でした。

hiromasa.zone のコンテンツもコアサバのほうにうつそうと思います。 なんとか、.htaccess くらいはきけばこっちのサーバにそのまま 301 リダイレクトさせます。

Mar122008

PHP で遊ぼう(ハテナ) - 手続き型とアルゴリズムと このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

晴時々曇 ひろまさ@ 3 月 12th, 2008 投稿時の月齢:4.6  月名:五日月  潮汐:中潮

hiromasa.zone の MySQL があいかわらず落ちているため、このシリーズが何回目かわからなくなってしまったのでとりあえず (ハテナ)。

プログラム言語はコンピュータに何か処理をさせるための記述の塊ですが、プログラマと呼ばれる人は、そのコンピュータ言語に合わせて"普段の生活でやっていること"の記述をかける人です。

別にたいしたことをやっているわけではありません。 たとえば、前に書いたような、大きいものと小さいものの並べ替えとか、異なる種類のものの振り分けとか、そういった普段の生活でもやっているようなことを、言葉に置き換えているだけ。

人間は体で覚えてしまっているやり方とか、経験的にそうなることがわかっているのでやり方を意識していない部分というのがありますが、これを丁寧に紐解いていって最終的にコンピュータ言語に置き換えるのが仕事です。

コンピュータ言語というのは、こういった"やり方"をきわめて紛れなく記述できる人間のための言語です。 最終的には人間の言葉で書かれた仕様書なんぞ紛れが多くていらなくなります。

人間「1ヵ月後に実施する。」

1ヵ月後って 30日後? 31日後? 次月同日?

31日月末から1ヵ月後っていつ? 次の月が 2月だったら? 28日? あ、29日も考えないと。

等々。

人間の言葉でかかなければいけないのは"なんのためにやるか" というコンピュータ言語でかけない部分。

なんて、実はこれは夢物語。 現在はコンピュータに指令するための特有の記述も混在してしまい純粋にそれだけを書くことができず、時間もかかるので言葉としてはまだまだです・・・。

さて、このような何かのやりたい事を紐解いた手順を、アルゴリズムと呼びます。

アルゴリズム - Wikipedia

アルゴリズム (algorithm) は、なんらかの問題を解くための手順のことである。算法(さんぽう)と訳されることもある。

コンピュータにアルゴリズムを指示するための(電子)文書をプログラムという。人間より早く大量に正しい結果を導くことができるのがコンピュータの強みであるが、そのためには正しいアルゴリズムにもとづくプログラムが必要である。

だから、ソースコードを見られるというのは結構恥ずかしい。 なんといっても自分の思考の流れを赤裸々に人に見られるわけで、友達プログラマいわく「裸を見られるより恥ずかしい」です。(笑)

たとえば、AとBと書かれたカードが裏返しにおいてあって、そのカードの配置を知りたいとします。 どうすればいいかといえば、一枚めくってそれが A なら片方は B。 逆もしかり。 一枚だけめくるだけで片方は決まるので、2枚めくる必要はないわけですが、人によっては一応両方めくることをするでしょう。

1枚だけめくるのを言語になおすと、たとえば

   1: <?php
   2:  
   3:     // 無作為におかれたカード2枚(ここではカード1がB、カード2がA)
   4:     $card1 = ‘B’;
   5:     $card2 = ‘A’;
   6:  
   7:     // カード1判定
   8:     if($card1 == ‘A’) {
   9:         echo ‘カード1 は A です。’;
  10:         echo ‘カード2 は B です。’;
  11:     } else {
  12:         echo ‘カード1 は B です。’;
  13:         echo ‘カード2 は A です。’;
  14:     }
  15:  
  16: ?>

こんなかんじ。 "めくる" ってのは if で表現しています。

両方めくってみる人なら、

   1: <?php
   2:     // 無作為におかれたカード2枚(ここではカード1がB、カード2がA)
   3:     $card1 = ‘B’;
   4:     $card2 = ‘A’;
   5:  
   6:     // カード1判定
   7:     if($card1 == ‘A’) {
   8:         echo ‘カード1 は A です。’;
   9:     } else {
  10:         echo ‘カード1 は B です。’;
  11:     }
  12:  
  13:     // カード2判定
  14:     if($card2 == ‘A’) {
  15:         echo ‘カード2 は A です。’;
  16:     } else {
  17:         echo ‘カード2 は B です。’;
  18:     }
  19:  
  20: ?>

こんな感じ。 両方めくるので if が 2つになっています。

こんな風に、その人の思想によってプログラムも変わってきます。 思考の流れがプログラムから読めます。

片方だけみる派閥の人から見れば、片方だけめくるだけでよく、効率がよいので、両方みる派閥の人に対して「なにやってんだか」となります。 なんだかあたまのわるさを露見しているみたいなときもあるわけで、このへんがプログラマの一番のストレスとなるぶぶん。

そして3人目の人が現れて、は?って。

   1: <?php
   2:  
   3:     // 無作為におかれたカード2枚(ここではカード1がB、カード2がA)
   4:     $card1 = ‘B’;
   5:     $card2 = ‘A’;
   6:  
   7:     // は?
   8:     echo "カード1 は $card1 です。";
   9:     echo "カード2 は $card2 です。";
  10:  
  11: ?>

まー最後のは半分冗談ですが、状況によって、将来 C カードが増える可能性を考慮してプログラムをかかなければならないこともあり、結構神経をつかう部分でもあります。

職業柄、(自分のことはたなにあげ) 人の書いたプログラムをなおしたり、アドバイスしたりしなければいけないこともありますが、最近は"思想的な部分"については、きちんと動作しているかぎり自分のイメージと違ってもそっとしておくことにしています。 お疲れのときもあるですしね。

その部分についての指摘は、どーも人格まで否定しているような気がして・・・。 考えすぎですか。(笑)

ちなみに、人のつくってくれたラーメンにはコショウをいれない派です。 :-)

Mar72008

ThinkPad X61 & Windows Live OneCare このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

晴時々曇 ひろまさ@ 3 月 7th, 2008 投稿時の月齢:29.4  月名:月隠  潮汐:大潮

私用でうちをあけている間に、先日頼んでいた ThinkPad X61 が届いていました。 :-)

P1000053

B5 なのに、キーも十分大きくきちんとストロークしてくれるので、ぱかぱかうてて気持ちが良いです。 トラックポイントも"いつものやつ"で大満足。 我が家初のマルチコア CPU は、 ZIP も展開しながらほかの事をしても処理落ちしなかったり良い感じです。

メールとか、ファイルとかデータ等は Linux のサーバに全部いれているので、あとはソフトいれるだけで Ready です。 いれたソフト。

そうそう、大事な ATOK はこれからこれから。 :-)

ほとんどいつもどおりですが、PaintShop がフリーの Paint.NET になりました。 あと、ウイルス対策ソフトを Norton AntiVirus から、Microsoft の Windows Live OneCare にしてみました。

ThinkPad がきて、Windows マシンが 3 台になり、またちょうど Norton 先生がきれかかっていたので、3 ライセンス 4000円弱の Live OneCare に乗り換えです。

実は1台体験版で 2ヶ月くらいつかっていたのですが、特に不具合もなさそうだったので購入してみました。

あんまり変なサイトとかファイルを落としたりしないので、ウイルス自体はどうでもいいのですが、気になるのはファイアーウォール。 インターネットからの inbound パケットはルータでふせいでくれるのでそれほど気にしなくて大丈夫ですが、ぼくが気になるのは outbound。

outbound は、PC から外に出て行くパケットですが、これはアプリケーション単位で制御しておいたほうが経験的に良いです。 わけわからないソフトはインターネットに勝手に情報を送ったりしてしまうのですが、これを防ぐことができます。(ポップアップしてくれる)

たまに、えええ! なんのために! ってソフトがインターネットにつないでいたりしますので、油断もすきもありません。 タスクトレイの通信ピカピカとか、ハブのピカピカとかみる手もあるのですが(昔はそうしていた)、最近はめんどくさくなったので、ソフトにまかせることにしています。

てなわけで、OneCare はこの機能が期待通り動作しているようだったので入れてみました。 もちろん、ほかの同種のソフトでもいいと思います。 まぁまぁ、ぼくは元来コンピュータに関して誰も使っていないものを使うのがすきなんです(かなり左より。。) なんたって、ぼくの Firefox のホームとかデフォルト検索とかは Windows Live だったりするのです。 別に Google じゃなくても困りませんよ? :-)

thinkpad_sc

てなわけで、こんな感じです。

こっちをメインにしていいぐらい、いい機械ですわ。 SD スロットついているので、ここから Linux 起動とかもいいかもしれないですね。 カワユスカワユス。 :-)

Mar22008

超合金タチコマきた。(動画) このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

晴時々曇 ひろまさ@ 3 月 2nd, 2008 投稿時の月齢:24.3  月名:二十五日月  潮汐:長潮

先ほどのエントリの続き。 タチコマさん。 Windows にソフトを入れてみました。 :-)

hiromasa.another :o) » Blog Archive » 超合金タチコマきた。

特徴は USB で PC につながって、声が出たりランプがついたりすること。

Linux では失敗しましたが、やはり USB audio として機能するようです。(←先に Windows でやれ。。)

センサー部と LED が動きます。

USB audio デバイスをメディアプレイヤーに割り当てて鳴らしてみるの図。

ちゃんと鳴ります。 :-)

みためふつーの USB audio デバイスなので、他の OS でも鳴るんじゃないかな~。 さっき、Linux で鳴らなかったは OS 側の設定っぽいですね!

« Prev - Next »