2016年3月28日月曜日

ChromeOSを試してみる(その1:導入編)

事あるごとに書いている気もしますが、私のメインマシンはMacです。が、最近になって、仕事がWebブラウザ(Chrome)だけで完結することが多いと感じるようになりました。メールはGmailだし、仕事もWebで受けてるし、業務上Salesforce案件を受けることもあるので使うし。調べ物はGoogleで、本を見つけるのはAmazonだとか。

そんな状態だと、Macはずいぶんオーバースペックだと感じるわけです。そのくせメモリは食うしたまにしか立ち上げないソフトも多いし、と、なんならMacをサブマシンにしてChrome OSをメインにしてもいいではなかろうか、と考えるようになりました。

そうなってくると、どうやって安価にChrome OSのマシンを入手するか、と仕事の合間に考えていたのですが、よく行くリサイクルショップ(ハードオフさんお世話になっております)でちょっと古めのWindowsマシンを買ってOSを入れ替えるのが安直ではあるがお手軽なテストには向いているだろうな、と。ただ、実際のChromebookやChromeboxはSSD搭載が基本で、売りのひとつとなっている高速起動はSSDの採用にも起因しているわけで、古いマシンだと結局改造が必要になり、何だかんだでコストがかかるしなぁ、と物色していると、なぜか一台だけ出物があったんです。Chromebookの。

即購入(笑)

日本では発売されていない、東芝のChromebook2。英語キーボードでしたが、個人的には問題なし。

とは言うものの、その頃の仕事はWindows、しかもExcelマクロのコーティングの仕事がメインになっていて、マシンのテストをしている暇は全くない状況。しばらく放置してありました。それでも、今後のことを考えつついくつかの仕込みはしておきました。

・IMEをGoogle日本語入力に変更。
 それまでは各OSに付属のものWindowsならMS-IME、Macならことえりを使っていました。理由は簡単。不満がなかったからなのですが、いっそのこと共通化してしまえばいいじゃん、と思ったので、Macとメインで使っているWindow(8.1)にインストール。
・Googleリモートデスクトップのインストール
 現状Macから仮想環境への接続はMicrosoftのリモートデスクトップクライアントを使っていましたが、ChromeOSにはそれがなく、他にリモート接続の選択肢がないので、とりあえず入れておきました。
・Googleクラウドプリントの設定
 ChromeOSは家のなかのネットワークにあるプリンターに直接接続できないようで、この設定は印刷したい場合必須。プリンターからの設定です。

時は流れ・・・、と言っても購入から1ヶ月後くらいでしょうか。マクロの案件が一段落したので、Chromebookを少し弄ろうじゃないか、と考えたのですが、メインのMacはiMacで、しかも仕事用机の面積の大半を占めていて、しかもキーボードも大きいのに替えたばかりで、13インチのノートパソコンどころかマウスすら置く場所はない有様。マルチディスプレイにしてあるのでサブディスプレイにChromebookのHDMI端子を繋げてiMacの背後に半開きで置いて、キーボードとマウスを切替器に繋げて入力を切り替えて使えるようにしてみました。

さて、どうなることやら。

追記:Chromebook/Chromeboxは開発者モードなどにはせず、通常の状態で運用するのが目標です。実は開発者モードにすることでいろいろなソフトをインストールすることができ、多少は自由度が高まるのですが、その分セキュリティ面でのリスクや突然動かなくなったりするリスクもないとはいえません。店で「吊るしの」商品を買ってきてそのまま使いたいじゃないですか。Windowsだって基本そうですし。

2016年2月19日金曜日

MacにWindowsキーボードを導入した顛末(その2:キーボード設定編)

以前、Microsoft謹製のキーボード、Microsoft Natural Ergonomic Keyboard 4000をMacにつなげてみた話を書きました。

本当は設定云々以前に、そもそもの購入のきっかけとなった手首の痛みの話を先に書くべきですが、まぁ1週間程度で劇的に良くなるわけでもなく、もっと言えば、エルゴノミックキーボードなんて眉唾だ、という説もあるわけで、この辺はまた後日お伝えしたいと思います。

さて、本題のキーボード設定です。これも前回書いたとおり、Windows用キーボードをMacで使うために、キーマッピングを一部変更する必要があり、そのためのツールとして2種類のアプリを導入します。そのうち、「Seil」はCaps Lockキーや、IME変更用のキーあたりをカスタマイズするもので、設定内容もそれほど多くなく、アプリダウンロードサイトの説明だけで事足りるのですが、もう一つのアプリである「Karabiner」が、いい意味で「厄介」です。カスタマイズを広範囲にできるのです。

では、ざっくりとカスタマイズした内容を説明すると、
・キーボード最下列の修飾キー群をMacキーボードと同じ並びにする
・Macキーボードには存在しない「半角/全角」キーを、IMEの切替用に(普段使わないが)
・リモートデスクトップで使うキーのカスタマイズ
です。そしてこの中で一番「厄介」なのは、リモートデスクトップ用カスタマイズです。

実は、このアプリは、Macのアプリ単位でもキーの配列を変えることができる機能が通常で存在します。また、更にコアなカスタマイズを、設定ファイルを作ることでできるようになったりするのです。非常に便利。

まずはこのサイトを参考に、リモートデスクトップのみで機能するキーマッピングを設定、更に、リモートデスクトップ先でのIME切替をMacキーボードの「英数」「かな」(それぞれWindowsキーの「無変換」「変換」に割り当て済み)に『Windows側で』アサイン、ひとしきりプログラミングをしてみると、ほぼ完璧に普段通りのキーマッピングが再現できました。スゲーよ先人たち。

とは言ったものの、Macと(仮想デスクトップの)Windowsを交互に使い続けること数日、ちょっとした違和感を感じるようになりました。

キーボードショートカットの使い方です。
例えば、今この記事はMacで書いています。文章の編集をしているので、いわゆる「コピペ」の作業が発生するのですが、Macのコピー&ペーストは「Command+c/v」を押すことになります。で、このCommandキーはWindows(リモートデスクトップ)では何にアサインしてあるかというと、「Windowsキー」にアサインしてあるのです。しかも、キーボード上には「Alt」の文字が。

ちょっとややこしいですが、そもそも(キーボード左下の)MacのCommandキーとAltキー(正しくはOption/Altキーですが)の並びがWindowsと逆になっているんです。・・・まぁこればかりはMacとWindowsのキーボードを並べて見てみないとわからない話で、しかも指の感覚というか記憶でなんとかなる話なのでおいておきますが。

話を戻すと、コピーやペーストをするとき、MacではCommandキーと何かを同時に押す、という作業をしますが、Windowsではどうかというと、Ctrlキーを使うわけです。コピーなら「Ctrl+c」です。ちなみにCtrlキーはキーボード最左列真ん中のCaps Lockキーにアサインされています。

要は、MacとWindowsでコピペをするときに指の位置が変わってしまうわけです。

当然、Karabinerにもその問題を解決するための選択項目があります。Command+なんとか、でWindows側でも扱えるようにする項目はあるのですが、まだそれを導入していなかったりします。理由は2つ。
・Windowsキーを修飾キーとして使うことがある
・そもそもMacのCommand+αキーが好きじゃない

コレばかりは手癖の問題もあるので、個人的には(Windowsの)左端のCaps LockキーがCtrl/Commandであり、MacでのControlキーもやはり同じ場所にいてくれるのがベストなんですが。ちなみに、MacのControlキー、ターミナルアプリを使うときに使うんです。Control+cでコマンドブレイクになるので。それだけなんですが。

それともう一つ。これは次回までの宿題なんですが、前回も書いたとおり、このキーボード、プログラマブルキーがいっぱいついてます。コレを使えないかな、と現在画策中です。使えないキーも多いっぽいところまでは調べているのですが、使えたら便利なので、いろいろ試しています。

2016年2月11日木曜日

MacにWindowsキーボードを導入した顛末(その1:キーボード購入編)

そもそもの話だが、普段はMac使いの私。仕事上Windowsを使うにしても、仮想デスクトップを使っているので、やっぱり目の前にいるのはMacなのです。

最近、特に趣味の筋トレをしていると、手首に痛みを覚えるようになりました。そこで、思い当たる理由を考えてみたところ、筋トレ自体には問題がなさそうなのですが(週1〜2回ですし手首に負担をかけるトレーニングメニューもほとんどないので)、毎日の生活で手首に負担をかける行為といえば、次の2つのことがありました。
・寝ている時に手首をひねっていることがある
・Macのキーボードを打つときに負荷がかかっているようだ
寝相の問題はいかんともしがたいのですが、Macに向かっていて、キーボードを叩く時間はおそらく一般の人達に比べても相当長いわけで、そこに原因があるかもと考えました。

私の使っていたキーボードは一般的なApple Keyboardというやつなんですが、結構キーが引っかかることが多く、そのため無駄に力を入れているのでは?という仮説が生まれました。

そこで、中古屋さんでたまたま見つけてしまったのが、
「Microsoft Natural Ergonomic Keyboard 4000」
でした。2,000円で購入。

なんと、このUSBキーボード、基本のキーを入力するだけならMacにケーブルを差すだけで入力ができます。ちなみにここまではなんの設定もしないまま使っていたりします。

ただ、MacとWindowsのキーボードはいわゆる「修飾キー」の配列が微妙に異なっているので、配列の違いをどのように吸収するか、そして、今までずっと悩んでいた、仮想デスクトップでのキーボード配列の勝手な変更をどう解消させるか、ということが次の問題になってきます。

調べてみると、そういう問題を解消してくれるソフトが存在するとのことなので、実際に導入してみることに。
  1. Karabiner(https://pqrs.org/osx/karabiner/index.html.ja)
    これはいわゆるキーボードカスタマイズツールです。OSレベルだけでなく、アプリレベルでも使えるとのこと。ただ、これを使うのはかなり難しいようで、未だにうまくいかない点が多いです。もう少しいじってみてから報告します。
  2. Seil(https://pqrs.org/osx/karabiner/seil.html.ja)
    これは、Macに存在してWindowsに存在しないキーである、「英数」「かな」キーを使えるようにするものです。Macのスペースキーの両隣にあり、Windowsでいうところの「半角/全角」キーの役割があります。
    私は、Macと同じようにしたかったので、スペースキーの両隣にある「無変換」「変換」がそれぞれ「英数」「かな」にアサインしています。
と、ちょっといじるだけでかなり使えるようになります。個人的にはオススメ、なのですが、問題は「修飾キー」の刻印と内容が微妙に違うこと、そして「ホットキー」と言われる、プログラマブルキーが使えないくらいでしょうか。

もう一つ、これは個人的な問題ですが、数字の「6」の場所です。
このエルゴノミックキーボードの大きな特徴は、キーボードの真ん中に空白の空間があることです。ブラインドタッチをする方はわかると思うのですが、右手で打つキーと左手で打つキーの間に大きな空白がある、ということなのですが、この分け方、アルファベットで言えば、T、G、Bの右に空間があるわけです。

まず左手の話をすると、指はA、S、D、Fに置かれ、それぞれの上下にあるキーはそれぞれの指で押されるわけです。そして、GはFを押す指と同じ指(具体的に言うと左手の人差し指)で押します。では、その上にあるキーは、というと、Tと5になるわけです。

では右手はどうかというと、右人差し指はJに置かれます。その上にあるキーはUと7になります。そして、Jの左隣にあるHの上はというと、Yと6になります。が、なぜかこのキーボード、6は左側にいるのです。


これはすごく困る、という問題でもないのですが、ちょっとした瞬間に「あれっ?」とはなります。なぜこうなったのやら、と思います。 

2016年2月10日水曜日

小ネタ:「スマホのアプリを作りたいんですが」という相談について

仕事柄、スマホアプリの作成を相談されることがあるわけです。

それが、業界にある程度詳しい方たちであれば、大体の予算感もわかるし、規模も理解されているわけで、こちらの見積などに対しても「それなりの」反応はしていただけるわけですが、最近はちょっと事情が違ってきているようです。

先日も、個人で仕事をしている方からそんな相談を受けました。全くITとは関係ない業界の方でしたが、一応話を聞いてみると、お客様のスマホにアプリを入れて自社の商品を売りたい、というものでした。しかもオススメ機能なども含めて欲しい、というお話。

そのうち、お話がだんだんとふくらんできたので、

「ちょっと待って下さいな」

と。そして、
・「スマホアプリ」はスマホだけで完結しないものもある(今回の件はそのパターン)
・作るのはいいが、どうやって配布するのか(値段はどうするか、という点も)
・アプリの公開によって収益がどれほど見込めるのか
なんて話をしたうえで、予算感を伝えたところ、

「そんな金額個人商店で出せるわけないじゃないの!」

と言われてしまいました。

意外かもしれませんが、「アプリ」と言っても、ただスマホの画面上にあるモノだけを作るわけではないんです。必要があればクラウドサーバなどへの接続を行ってみたり、お客様の情報を管理しているデータベースとの接続があったりするんですが、そういったのを作るのがプログラマとしての「腕の見せ所」なんです。そして、それが思っている以上に開発の料金に上乗せされるわけです。

そこまでは理解できている方でも、その次の話、「アプリと(商売の)収益」、という話になると今ひとつピンと来ない方が多いです。

例えば今回のお話で言えば、要するにAmazonアプリと同じものを作りたい、と考えているのだと仮定します。ちなみに、Amazonのアプリは無料で提供されています。もちろん、今回の方も「アプリは無料で配布したい」とおっしゃっていたのですが、そのアプリを使ってくれるというお客様は一体どれくらいいるのかを考えてみましょう。

Amazon(日本に限ります)の月間のユーザ数は、およそ5,000万人(2014/12のデータです)。この年の年間売上高が8,300億円ですから、一ヶ月平均690億円。一人あたりの売上は1,400円程度/月になります。

これを個人でやろうとするとどうなるか。お客様の数や販売する品物の種類にもよるのですが、月間ユーザが100人程度で、商品が1ヶ月で消費されるもの、価格は通常店頭で販売している価格が1,000円のものを同じ値段で買うと仮定すると、月間の売上は10万円になります。が、配送料を販売側が持つとすればその分利益が減る事になります。そして、開発費用が仮に100万円だったとすると、およそ1年分のアプリからの売上を持っていかれることになるわけです。

実は、私はいつもこういった相談を受けた際に、一応こういった説明をし、それを前提に見積をすることにしているのですが、やっぱり反応がすごいです。びっくりされて、「やっぱり無理かぁ」で終わることが多いです。やはりそれでも相談に乗って欲しいと思う方が多いというのは、それだけ「スマホのアプリ」が一般的になってきたから、そして、それを便利だと思って使っている方が多いからなのだろうな、と感じています。

私は作るだけでなく、マーケティングも多少かじっているので、どうしても「作りまっせ!」一筋では行かないんですよね・・・。

2016年1月22日金曜日

(小ネタ) MacのOfficeマクロについて:その1(ActiveX)

たまにはプログラムネタを。

最近、Mac版のExcel(2011)でマクロ(VBA)を作っていたんですが、意外なことに、Windows版のVBAでもそのままプログラムが走ることが多いんですね。もっとWindows→Macで書き方がぜんぜん違うのか、と思っていたのですが、そんなこともなくてサクサクと動いてくれていたりするので面食らってしまうくらい。

とはいえ、Windows版では当たり前のようにできていてもMacだとできないこと、というのもあるにはあるんです。そんなのをいくつか紹介していきましょう。

WindowsでできてMacでできないこと、その1。

「ActiveX」は使えない。

「あんたバカかぁ?」とか言われそうですが。だってMacだもん。Windowsじゃないもん。ActiveXなんて使えるわけないじゃんよ。と。

そのとおり。そもそもActiveXはMicrosoftの開発したインターネット関連のコンポーネントなので、Macには(Officeを入れたのにもかかわらず!)入ってないんです。

で、これで何が困るのか、というと・・・。

データベースに繋げないんです。Windows版のマクロで他のデータベースソースに接続する場合、ADOという仕組みを使って接続するのがまぁ一般的というか、それで接続できちゃうんですが、このADO、正式名称が「ActiveX Data Object」、ActiveXを使ったデータベース接続の仕組みだったりするわけです。

それが使えない。データベースに繋げない。データを読めない書けない。困ります。

もちろん、解決策はあるんです。ODBCを使えばいいんです。ま、JDBCでもいいんですが。

どっちでもいいんですが、少なくともODBCのドライバ、Mac版は無償のがないんですよね・・・。もう一つの問題として、ドライバを入れる、という行為をしなくてはいけないんです。WindowsでADOを使えばODBCを使わなくてもデータベースにアクセスできるのにね。

それを言っちゃうと、「FileMakerを使えばいいじゃない」とか言われそうですが(マリー・アントワネットかよ)、Mac版のExcelだけのためにサーバ側のDBとしてFileMakerを選ぶ、というのはあまりにも短絡的すぎます。だったらクライアント側も(MacだけでなくWindowsも)ExcelではなくFileMakerを使う方がどんだけ楽か。

ちなみに、Mac版のExcelの最新版(2016)では、ODBCドライバを入れることなく、MicrosoftのSQLServerと接続ができるようになったようですが、それ以外(OracleとかPostgresとか?)はやっぱりODBCが必要になります。あ、もちろんFileMakerも以前と同様使えますが(笑)

2015年11月27日金曜日

小ネタ:散々な一日

たまにこういう日もあるよね、という、仕事あるあるみたいなもんですが。

朝、妻とテレビを見ていました。ちょっと遅めに起きた私は妻を仕事に送っていく準備をいそいそとしていました。そして、出かける直前、占いのコーナーが始まる直前、妻はニヤニヤとしていました。占いの結果は、妻が一位、私が最下位だったのです。そして、それを妻はすでに知っていた(1時間前に同じ占いをやっており、妻はすでに起きていたのです)ので、ドヤ顔で仕事に向かいました。

さて、妻を送り終え、家に帰って仕事を始めようと準備を始めました。PCは基本付けっぱなしなので、まずメインマシンで軽くメールのチェックをしながら、今日の仕事ではWindowsがどうしても必要になるので仮想環境のWindowsにログインしようとしました。しかし、ログインできません。画面が真っ暗です。

再起動をしたところ、今度は起動しません。真っ青です。PCがではなく私が。

特にデータを格納してあったりするわけではないので、最悪OSの再インストールで対応できるのですが、それでも再インストールには時間がかかります。しかもOSだけでなくアプリも復旧させるのは相当な時間のロスです。

とりあえず仮想環境で起こっている問題を解決しようとあれこれと調べつつやってみたのですが、何一つ解決に結びつく情報と出会うことなく、もちろん何ら状況が進展しないまま半日が過ぎました。

もうどうしようもありません。再インストールに方針を変えることにしたのですが、次に起こったのはメインマシンの不調です。こちらも突然真っ暗になり、動かなくなりました。私ももちろん真っ暗です。

メインマシンはどうやら不安定だったようで、再起動すると元どおり動き始めましたが、今度はネットワークが見つからなくなりました。以前バックアップ用のTime Capsuleが不調になった際に仮復旧させた状態で、本来ならば不安定になるはずの状況でしたが、問題も起こらなかったのでしばらく放置していたのが今更不安定になるとは。

そして、ネットワークの環境を正常な状態に戻し、やっと再インストールに取りかかれる、と作業を開始しようと思ったら、今度は仮想環境サーバのハードウェアに異常(というかガタ)が発生。HDDを接続するコネクタとケーブルが妙に引っ張られていて抜けそうになっていたり、ファンが異常な音を出し始めたり、CDのトレイが出なくなっていたり。力技で「なんとか」して、なんとか再インストールに成功しました。

が、これで結局さらに半日を費やすことになり、今日予定していた仕事は全く手につかなかった(仕事は資料作成だったので、空いた時間で手書きの資料を作りましたが)という何とも惨憺たる状況でした。

仕事のうまくいかない日、というのは結構ありますが、ここまで不運が続くのはなかなかありません。しかもそれなりに急ぎの仕事を抱えている時に限ってこういうのが連チャンで発生するんですよね。しかも占いが最下位だったし。

本当は、バックアップを取ったりとかしておかないと、こういう目にあうんですよね。考えておかなければ、なんてずっと思っていましたが、実際に実行に移さないのが悪いんですよね。落ち着いたらやろうっと。(←こういう態度が良くないんですね)

2015年11月24日火曜日

小ネタ:Office 2016 for Mac 再インストール顛末

唐突ですが、普段Mac使いな人たちが意外に困るんじゃないかと思うこと。

「資料」が開けないことがある

基本的に世の中の「資料」はWindowsで使うことを前提に作られているようです。ちょっとした資料が送られてきても、PDFで来ることは稀、WordだったりExcelだったり。ちなみに、そのPDFもたまに開けない(または開いても印刷ができなかったりする)ことがあります。システムで自動作成されたやつで何度無駄紙を印刷したことか・・・。

まぁ、WordやExcelはMacでは絶対に使えないというわけではなく、インストールしている人も多いはずですし(特に仕事で使うなら必須でしょう)、最悪、iWorkを使うという手もあるので、全くお手上げ、ということにはなりません。

が、すでにOfficeをMacで使っている人は、それが突然使えなくなると困ってしまうわけです。私がそうでした。

ここ数日くらい前から、Officeの全アプリが起動しなくなりました。起動は開始するのですが、オープニングの画面(スプラッシュ)が表示されず、「応答なし」状態になってしまうのです。また、それ以前から、アップデートがちょっとおかしい挙動をするようになりました。アップデータをダウンロードし、かつインストールが終わったにもかかわらず、その後再度最新版の確認をすると、同じアップデートが表示され、延々と繰り返してしまうのです。

こういう時はお得意の「ググってみる」ことから始めますが、意外にも「Officeが起動しない」事象が発生していたらしく、いろいろな解決法が検索に引っかかってきました。

それで、自分の状況と照らし合わせてみると、1箇所だけ、自分の状況だけがおかしい、という点を見つけました。

実は、利便化のために、Officeに限っては「アプリケーション」フォルダから別のフォルダ(実際にはフォルダ直下)にもう一つOffice専用のフォルダを作ってあり、その中にOfficeアプリを全部放り込んでいたのです。これ自体は非常に都合がいいのですが(Dockにフォルダを登録しておけばわざわざアプリケーションフォルダから探さなくていいので)、おそらく、これが原因でアップデートが妙な挙動をしていたのではないかと推測できます。
#こういう時、本来ならエイリアス、Windows的に言えばショートカットを使うんですよね。

とはいえ、それを元に戻したところで起動しないことには変わりがなく、仕方がないので再インストールをすることにしました。そのやり方は思っていた以上に面倒で(基本的に、MacのアプリをアンインストールするのはWindowsに比べるとかなり面倒です)、詳しくはここを参照していただくとして、ざっくり言うと、

  • 「アプリケーション」フォルダからアプリを削除
  • 不可視フォルダであるライブラリフォルダから特定のファイルを削除
  • 再起動後にインストールプログラム起動
と、Windowsのようにアンインストールプログラム一発で削除できるわけではないわけです。

再起動が本当に必要なのかどうかはマユツバですが(私はおまじないレベルだと信じてます)、とりあえず指示通りにやってみました。しかも、これもおまじないと信じてやまないウィルス対策ソフト(我が家はAvastです)の無効化もしてみました。

インストールは無事完了し、一応Wordは起動することがわかりました。その後、アップデートが走り、最新版のOfficeで起動することができたので、問題は解決しました。

Macでも、Windowsのようなアプリの(いわゆる)安全な削除ができるツールを一緒に提供すべきなんだよなぁ、と開発している立場だと思ってしまう、というお話でした。

追記:
Office2016 for Macでの不具合は結構多いみたいです。今回、私は再インストールだけですみましたが、ググってみるとそれだけでは解決しないケースもかなりあるようです。あまり私のケースは参考にならないかもしれませんね。