Category Archives: コンピュータ

UI コンピュータ

Windows8でモダンUI(メトロUI)を無効にする方法

Published by:

未だにWindows8はUIがダメだからなんていう声が聞こえてくるのですが、モダンUI(旧メトロUI)のインパクトは相当のもののようです。
モダンUIさえスキップしてしまえば、過去最高に使いやすいWindows OSが使えますので、Windows7以前の人はさっさと乗り換えてしまいましょう!

「モダンUI 無効にする」などを検索すると、これこれというプログラムをインストールするみたいなバッドノウハウが結構残っていますので、気をつけましょう。

モダンUIを無効にする方法

1. タスクバーを右クリックし、「プロパティ」をクリックします。

1. タスクバーを右クリックし、「プロパティ」をクリックします。

2. 「サインイン時または画面上のすべてのアプリを終了したときに、スタート画面ではなくデスクトップに移動する」にチェックを入れて、OKボタンをクリックする。

2. 「サインイン時または画面上のすべてのアプリを終了したときに、スタート画面ではなくデスクトップに移動する」にチェックを入れて、OKボタンをクリックする。
ついでに「スタート画面にデスクトップの背景を表示する」のチェックもつけておくと、何かと落ち着いた気分になれます。

これだけです。
この方法はWindows8.1以降で使えますので、Windows8からのアップグレードがまだの方はぜひ。

スタートメニューの代わりにランチャーソフトをインストールしよう

また、スタートメニューがないという点にも恐れおののいている方が多いようです。
モダンUIが旧スタートメニューにあたるランチャーなわけですが、正直デスクトップPCではあまり使い勝手が良いとはいえないと思っています。
私はずっと以前から「Orchis」というランチャーソフトを使っており、もともとスタートメニューに依存していなかったので、Windows8への乗り換えには何のためらいもありませんでしたよ。

Orchis
Orchis
ポップアップメニュー型ランチャ/ファイラ

【Orchisとは・・・】
階層型ポップアップメニュー形式のプログラムランチャに、ファイラ機能を盛り
込んだ、とっても便利なツールです。
http://www.vector.co.jp/より抜粋

使い方ですが、デスクトップをダブルクリックするとポップアップメニューが表示されて、そこから登録しておいたプログラムなりを起動する仕組みです。
フロートタイプのスタートメニューといえば分かりやすいかもしれません。

これであなたもWindows8の人(?)になろう!

コンピュータ ハードウェア

Google 3rd eyeがもたらすもの

Published by:

世間ではGoogle Glassによるプライバシー侵害が話題になっているけど、まだまだ甘い。

未来に必ず出来るであろうGoogle 3rd eyeはというと、視神経直結ディスプレイ+カメラ搭載。
世代でいうと、
Google Glass(メガネ型ディスプレイ)
→ Google surface on eye(コンタクト型ディスプレイ)
→ Google in retina(網膜内ディスプレイ)
→ Google 3rd eye(視神経直結ディスプレイ)あたり。

インターネットにも当然つながっているので、テスト中のカンニングもし放題。
というより、記憶力を問うようなテストは何かと無意味になる。

電車の中でモバイル機器をいじる人はいなくなり、代わりに口を半開きにしてボンヤリ前をうつろに眺める人と(3rd eyeで情報閲覧中)、逆に周りをきょろきょろ見渡しまくる人(3rd eye経由で周囲の人の個人情報をのぞいたり記録したり)が増える。

次に生まれるのは、Google 耳、Google 口。

Google 耳があれば、耳から入ってくる情報を自動で選り分けたり、自動翻訳してくれたり。
Google 耳+Google 口があれば「ほんやくこんにゃく」のできあがり。

その後、Google 鼻、Google 手、Google 足、そして Google 内臓あたりで一段落。
全装着でドルイド君になっちゃう。

日本では親からもらった体をいじるのはタブー視されているので、自分がドルイド君になるよりは、そばにいて何でもやってくれるドラえもんが生まれるといいな。できたらいいな。

UI コンピュータ ソフトウェアidea

idea#14 ついに来た!超仮想キーボード

Published by:

マイクロソフトがPC用 新型Kinectを発表・近距離からの高精度な読みとりに対応

PC用の新たなインターフェースとしても Kinect をプッシュするマイクロソフトが、
PC用の新Kinect ハードウェアを発売することを明らかにしました。
新 Kinect はハードウェアおよびファームウェアをPCでの使用に最適化した製品。
奥行きセンサーから40cmの近距離から認識でき、50cmならば
高精度の読みとりが可能な ” Near Mode ” を備え、デスク上などで使う
「クロースアップ」アプリに対応します。

これをタブレットにつなげて使えれば、エアキーボードが可能になる!かも!
前後の入力文字を賢く判断してくれれば、物理キーボードよりもむしろ入力早くなったりして。

マウスジェスチャーのようにジェスチャーと組み合わせて使用すれば、あんなことやこんなことも・・・
なぜか入力インターフェース系には異常に夢が広がります!!

UI コンピュータ デザイン

マウス→タッチへの移行。新インターフェースは何から何まで変えるのか。

Published by:

Windows 8とMac OS Lion、時代は「マウス」を遺物とする?!
個人的には「マウスは死んだ」と思っている。むろん、まだ死に絶えてはいない。しかし歴史は既に動き出していると思うのだ。

 
新インターフェースとして、マウスからタッチへと移行が本格化しつつあります。
以前「(1) PC3.0を予想してみた:キーボードとマウスに変わるもの」でも書いたように、キーボード&マウスというオジサン世代(数十年後にはおじいさん世代)のツールは少しずつ無くなっていくのではないでしょうか。

上の記事を書いたときには、まだ自分でタッチパネルを使っていなかったのですが、いざEee Topを購入してタッチ操作を楽しんでみて分かったのは、据え置き型コンピュータのパネルをタッチするのは疲れるということです。
腕を常に上げ続けないといけない!

2009年当時欲しかったのはまさにiPadそのもの(タッチパネル式のタブレット)で、iSlateという名前で出る出ると噂され続けながらも結局Appleが出してくれず、仕方なくEee Topを買っちゃったという経緯があります。

その体験がchromeTouchというソフトウェアを作るきっかけにもなったのですが、タブレットではない据え置き型パソコンでは、Appleのマジックマウスのようなマウス+タッチが最良解のようです。

今後はタッチパネル式のタブレットか、据え置き型コンピュータ+マジックマウスの2択という流れになりそうですが、いずれの場合にも2つの問題が残っています。

それは、

  1. 指がマウスカーソルほど尖っていないので、細かい部分をピンポイントでクリックできない
  2. マウスオーバー(クリックしていないけどカーソルは動かしている)が表現出来ていない

という2点です。

問題1に関しては、iPhoneやiPadを使っている人は、ズーム機能によって解決できているのでしょうが、どうもそれが面倒に感じてしまうのです。
そもそも操作に時間がかかるし、操作している姿も何だか艶かしすぎるといいますか・・・

指に専用のキャップみたいのをつけるのも実はあり?

あほかと言われそうですが、意外にアスクルのカタログなんかにもいつか登場するかもですよ。
ネーミングは「Digit Cap」とか。

問題2は、MicrosoftのKinectの小型版みたいのをタブレットかマジックマウス様のものに搭載して、指を近づけるとカーソルっぽいのが画面に出現して、マウスオーバーを再現してくれる・・・というのが私の理想です。
指を触れないと操作できないという壁は、2012年くらいにはさっさととっぱらって欲しい!

とにもかくにも、Windows8とMac OS Lionによってぐいっと一歩その未来に近づいたわけですので、次のステップは本当にもう間近に迫っていると感じています。

コンピュータ 日常

肥大化したMS-Wordファイルを小さくする

Published by:

今、Wordの編集をして保存したら、もともと4MBくらいのファイルサイズが8MBと2倍に膨れ上がってしまいました。
修正したのは一文追加しただけなんだけど。。

なんだこれ、と思いこれまでのバックアップファイルを確認してみたら、突然ファイルサイズが倍になっているタイミングが何度かありました。

ぐぐってみると、「高速保存のチェックを外す(→もともとチェックされていなかった)」、「版の管理でバックアップが残っているのを消す(→何もバックアップされてない)」などありましたが、解消できませんでした。

そこで、

  1. Wordファイルを新規に開き、
  2. 問題のWordファイルを「全て選択(Ctrl-A)」してコピー、
  3. それを新規Wordに貼りつけすると、

文書の縦横やマージンを含めてきちんと元の文書を保っています。
で、それを保存すると、360KB・・・。20分の一以下になってしまいましたことよ。
インデントなどがずれるところもありましたが、そこは手で修正しました。

というわけで、Wordファイルが重くなったら、新規ドキュメントに貼り付けましょう。

コンピュータ

Webプログラミング史

Published by:

このドキュメントについて

Webプログラミングの歴史はせいぜい10数年と浅く、古くはPerlを使ったCGIやJavaアプレット、最近ではHTML5やスマートフォン向けのアプリ開発などに話題が集まっています。
Webの進化の歴史は、2000年ごろに検索サービスを開始したGoogle検索の歴史とも重なるため、キーワード検索を使って過去の文献を探すこともできますが、時系列に沿ってWebの進化をまとめた資料というものは意外に多くありません。
そこで、1999年ごろからWeb開発に興味を持ち続けている当事者の観点からWeb開発の歴史を残しておくことは、多少なりとも意味のある試みと思い、この度「Webプログラミング史」としてまとめることにしました。

Webプログラミング史

黎明期(~1999年)

私自身がWebプログラミングをはじめた1999年より以前については、正直多くを語ることができませんが、Perlを使ったCGI(アクセスカウンタ、掲示板)や、JavaScriptを使ったページのにぎやかし程度だったように思います。

当時はWebプログラミングよりは、OSインストール型のソフトウェアがほとんどで、お気に入りのソフトをインストールしては、ローカルPC上で利用するという考え方が一般的でした。

開発環境や実行環境も整備されていなかったため、数多くのバッドノウハウが生まれ、Perl職人、JavaScript職人といったある種の特殊技能として見られることが多い時期でした。

検索エンジンシステム大流行の巻(2000年~2002年)

Google以前はどうやって情報を検索していたのでしょうか。

コンピュータを2000年以降に使い始めた方には考えられないかもしれませんが、Google登場以前は、「キーワード検索」という概念が実質ありませんでした。
現在でいうアルファブロガーのような方たちが、有用なサイトのURLを集めて、リンク集を作成し、そこからツリー上にたどっていく方法が一般的でした。
Yahoo!はそこに商機を見出し、各Webサイトオーナーに有料でリンクを販売し、カテゴリ別にあらゆるサイトへのリンク集を用意することで、一大ポータルサイトの座を獲得するにいたりました

キーワード検索機能を提供するWebサービスもあるにはありましたが、精度は低く、対象サイトも少なく、一回の検索に5~10秒近くかかるような代物だったため、一般的なサービスとしては認識されていませんでした。

Googleが登場したのは、まさにそんな状況だったのです。
あらゆる情報をコンマ数秒で表示してくれるGoogleに世界は熱狂し、検索エンジンブームが到来。猫も杓子も検索エンジンを作成する時期が続きます。
コンピュータ雑誌では検索エンジンの作り方を特集し、特に日本ではNamazu(当時最先端の日本語全文検索システム)を使えないとモグリ的な風潮が広まりました。

サーバーサイド・プログラミング大流行の巻(2003年~2004年)

このころには、動的なコンテンツを表示するためのWeb用言語として、PHP、Perl、Java Servletが出揃い、それぞれが猛烈な勢いで進化していきました。

PerlではCPANサイトの利用が活発化し、PHPはユーザープログラマの要望にこたえてありとあらゆる機能が組み込み関数化され、Java Servletではデザインパターンを駆使した開発スタイルが大流行しました。

それらの開発言語とは別に、データ構造としてのXMLや、分析・設計言語のUML、HTMLにデザインを適用するCSSなど、関連技術が毎月のように登場し、発展し続けたため、開発関係者はとにかく勉強しまくって、エンジニア30代限界説などがまことしやかにささやかされ始めたのもこのころです。

サーバーサイド・プログラミング洗練期(2004年~2005年)

開発言語としてRuby on Railsの採用が増え始め、PHPはPearやZend Frameworkといったフレームワークの利用が一般的になり、データベースへのアクセスはO/Rマッピングで行うといった、一から全部を作らず、これまで培われてきた技術や方法論を集約し、誰でも同じようにコーディングするような開発スタイルが定着してきました。

Javaの開発においても、アスペクト指向やDI(依存性の注入)という画期的な「発明」により、これまでに蓄積されたServlet開発の問題点を一掃することに成功しました。

Web開発の未来としては、プログラミングの自動化やメタ言語・メタメタ言語による設計など、より抽象的な方向に進むかのように思われていました。

Ajaxの台頭(2005年~2006年)

2000年にWebの世界を一変させたGoogleが、今度はWebの進化の方向を、誰も考えていなかった分野へ切り替えてしまいました。
それが、Googleマップのリリースです。

Googleマップのリリース日以降、開発者たちは新種の珍獣でも見つけたかのように、GoogleマップのHTMLソースを調べまくりました。
そこにFlashのswfファイルが読み込まれておらず、JavaScriptによって作られていることを発見してからは、オンライン・オフラインを問わずいたるところでGoogleマップ勉強会が催され、「Ajax」という用語が作られてからはすさまじい勢いで関連サービスが生まれました。

JavaScriptは90年代からJavaScript職人によって利用されていたものの、ブラウザ間の仕様の不統一がたたって、ほとんど黙殺され続けてきた不遇の言語ですが、Googleマップ以降は2011年現在にいたるまで、重要言語としての地位を保ち続けています。
ただ、ブラウザ間のJavaScriptエンジンの実装の差異は大きく、統一的にコーディングを行うためのフレームワークの登場が望まれ続け、この時期開発されたPrototype.jsが最初のデファクトスタンダードとなりました。

Web2.0という用語が新聞に載り始めたのもこのころで、新たな商機を見出した企業が作って作って作りまくりました。

Webの進化が止まった?(2007年~2008年)

Web2.0という用語が大衆化し、サーバーサイド・プログラムの画期的な進化も現れず、クライアント・プログラム用のライブラリとしてはPrototype.jsに代わってjQueryの一人勝ちが見え始めてきたこのころ、「もう新しいWebサービスは生まれないのではないか」という問いかけがちらほらと聞かれるようになりました。

ゼロベースから新サービスを立ち上げるのではなく、GoogleやAmazonなどが提供するAPIを呼び出して、それらのAPIから受け取った情報を組み合わせたマッシュアップサービスこそが新しいWeb開発のスタイルかのように喧伝されました。
Web開発者も、APIが生まれるたびに使い方を学ぶ羽目になるという状況が続きました。

クラウドという用語が生まれたのもこの時期で、Web開発そのものがブラックボックス化している様子をうまく表していると感じられました。

つぶやきを中心に世界が回る(2009年~2011年)

2006年にサービスが開始したTwitterの可能性を、マッシュアップに明け暮れていた企業は見逃し続けていましたが、「ツイート」の魔力は2009年ごろにはもう抵抗できないくらいの勢いになっていました。

世界中のありとあらゆる情報が140文字のトークンとなり、すべてTwitterというブラックホールに吸い込まれていきました。
その影響もあってか、ブログなどでのまとまった形のコンテンツが相対的に減少したように、個人的には感じています。

さらに、TwitterやiPhoneの登場に呼応して、Webアプリという市場が形成され始めました。
Apple社のApp Storeという名称には、商標登録無効を訴える騒ぎが持ち上がるほどに、「アプリ」というキーワードがWeb開発のトレンドになっています。

これまではスケーラビリティー(拡張性、発展性)というキーワードの元に拡大・発展を続けてきたWebが、Twitterやアプリなどのように縮小を始めてきているのは何を示しているのでしょう。
これは未来になってみないと誰にも分からない問いなのかもしれません。

to be continued..

過去Webの歩き方

発行・更新年を意識した検索方法

この文書で見てきたように、Webの開発は二順も三順もしています。
2005年くらいまではキーワードだけによる検索も有効でしたが、サーバーサイド開発が盛り上がった2005年以前の情報は玉石混淆で、本当に現在使うべき方法を見つけることはなかなか難しいものです(クライアントサイド開発に関しては現在がその状況です)。

たとえば、Javaのプログラムでユーザーが入力した文字列の空白チェックをしたいと思います。
検索キーワード「java 空白 チェック」でGoogle検索すると、検索結果の1ページ目に出てくるのは、現在では不適切な情報ばかりだったりします。

代わりに、「java 空白 チェック 2011」と西暦を指定して検索すると、1ページ目の最初の10件のうち、3~4件は有用な情報を見つけることができるようになります。

西暦指定をしても、過去の情報が出てくる場合がありますので、かならずいつ書かれたドキュメントなのかを意識して参考にすることが肝心です。

Q&Aサイトは比較参考程度に

こと開発に関する情報ソースとして、Q&Aサイトで解決できることは稀です。
プロフェッショナルの回答者は少なく、「ググってコピペ」タイプの方が多いため、古い情報を転載していることが非常に多いためです。

アメリカでは専門家がアンサーしてくれるQuoraというWebサービスが2010年にに開始しましたが、上記のような問題を解決しうるのか注目されています。

著者略歴

smilkobuta
プログラミング大好きな九州男児。

最初に作ったプログラムは時間計算プログラム。自作音楽テープを作る際、A面・B面に無駄なく曲を詰め込むために作成した。
開発環境は、父のワープロにおまけでついていた表計算ソフト。

幼いころからの夢であったフランス料理のコックを目指して、調理師専門学校卒業後に渡仏。
その後、製菓の勉強のため上京するも、PCの楽しさに目覚めてSEに転身。

いろいろあって今にいたる。

コンピュータ

Zabbixでログインできないとき

Published by:

ZabbixというのはLinux用のシステム管理ツールですが、MySQLのバージョンによっては変なエラーがたくさん出てログインすら ままなりません。

—-
Error in query [select u.* from users u where u.alias=’guest’ and (u.userid div 100000000000000) in (0) ] [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘div 100000000000000) in (0)’ at line 1]
—-

こんな感じ。
うんざりしながらもパッチを作りましたので、ログインできなくてうんざりしている人はお試しください。

—-
$ diff -ubB /usr/share/zabbix/include/db.inc.php.20110218 /usr/share/zabbix/include/db.inc.php
— /usr/share/zabbix/include/db.inc.php.20110218 2011-01-04 01:11:03.000000000 +0900
+++ /usr/share/zabbix/include/db.inc.php 2011-02-18 17:41:16.590757194 +0900
@@ -518,7 +518,7 @@
switch($DB_TYPE)
{
case “MYSQL”:
– $result = ‘(‘.$id_name.’ div 100000000000000)’;
+ $result = ‘round(‘.$id_name.’ / 100000000000000)’;
break;
case “ORACLE”:
$result = ‘round(‘.$id_name.’/100000000000000)’;
—-