高尾宏治日記 on はてなブログ

プログラミング言語Rubyを中心とした技術情報を扱うブログです(Microsoft Surfaceはやめました)。

Ruby/プログラミング教育関連のニュースピックアップ(2013/11/06) #RubyJP

Ruby」と「プログラミング教育」関連でビビッと来た記事を紹介します!!

今日ピックアップした記事の中に「4歳からのプログラミング入門」という記事があります。最近、小中学生へのプログラミング教育に関するニュースを目にします。それらのニュースには、プログラミングを学ぶことが(たとえプログラミングを職業にしなくても)子供たちの人生に役立つといったことが書いてあります。中学校では、すでにプログラミングが技術家庭科の授業に組み込まれていますし、小学校の授業にプログラミングを取り入れられる日は近いのかもしれませんね

Ruby」関連のニュース・記事のピックアップ

Ruby on Rails 3.2 を Cygwin にインストールする手順をかなり丁寧に説明してみました - Rails 雑感 - Ruby on Rails with OIAX

古い記事ですが、Windows上でRubyを使っている人は参考になります。

組み込みLinuxのメモ書き: Windows8 64bit上での Cygwin

上記の記事と関連してCygwinの話です。

Cygwin+screenで256 colorを有効にする - rcmdnk's blog

これも上記と関連したscreenに関する設定の話です。

Rubyアソシエーション: 2013年助成金選考結果

私の提案「Smalruby」が採択されました。イェイ!!(あとで詳細な記事を書くつもりです)

Redis勉強会資料

Redisの概要がわかるスライド。5分あれば目を通せるので一読して見てはいかがでしょうか。

@IT:Windows TIPS -- Tips:コマンドラインからクリップボードへコピーする

Windows上で s7ncli でのパスワードのコピー機能の実装方法を探していたら見つかった。これで実装できる!

segv-handler-gdb:Rubyスクリプトがクラッシュしたときにより詳しくCレベルのバックトレースを出力するgem - ククログ(2013-10-31)

記事で紹介されているgemはすべて知っておきたいものでした。ご紹介ありがとうございmなす。

クリアコードの開発の様子をフォローしやすくしました - ククログ(2013-07-11)

これはいい!社員のOSSへの貢献をメーリングリストに投稿することで、社員の業務での成果以外も見える化されている。このような仕組みを導入する前後で社員の方の変化があったのかなかったのかお聞きしたいですね。

正しいコーディングが身につくエンジニア英語の手引き 〜文法とクラス/メソッド、命名規則〜 | Find Job ! Startup

これはいい記事!

秋のエンジニアぶつかり稽古 2013 - ペパボ技術基盤チーム | Doorkeeper

さすがカヤックYAPCでも面白いことをされています。

Twitter / pepabo: @__kan こんにちは、ペパボです。YAPC::ASIA参 ...

どんな特典だったのかなと〜と、確認してみてびっくり!?無許可だし、企業へのなんでも券だし(笑)すごい面白い会社だな〜

「プログラミング教育」関連のニュース・記事のピックアップ

魔導師になって兵士を操作してJavascriptを覚えよう!っていうCodeCombatが面白い | バンクーバーのうぇぶ屋

ゲームを進めるためにプログラムを覚えるっていう素晴らしい学習方法の紹介記事

半年間休職してプログラミングの勉強をした - ぼっち勉強会

勉強するために休職するという選択肢を紹介してくださっている記事。同じようにできる人は限られているかもしれないけど参考になる。あと趣味の時間にどれだけかけたかの時間を記録するのは良さそう。見習おう。

4歳からのプログラミング入門:我が子にプログラムを教えるための5つのヒント : ライフハッカー[日本版]

Ruby on Rails」「プログラミング初心者」のはてなグループの紹介

Ruby on Rails Ruby on Rails や、プログラミング初心者 プログラミング初心者はてなグループに参加してみませんか? みなさんも気軽にご参加ください!!

Surface関連のニュースピックアップ(2013/11/05) #SurfaceJP

「Surface Pro」関連でビビッと来た記事を紹介します!! メディアによるSurface Pro 2のレビューが公開されています。バッテリーでの稼働時間が10時間に迫る勢いとか、本体の熱がこもらないとか、2段階のキックスタンドは最高だとか、うらやましい限りです。512GBモデルが発売sれたら乗り換えたいくらいです(汗)

「Surface Pro」関連のニュースピックアップ

「Surface Pro 2」が発売延期に、Surface公式Twitterが「改めて案内」 | マイナビニュース

思った以上に人気で供給がおいついていないのでしょうかね。スペック重視な人にとってはメモリ8GB、ディスク512GBは魅力的ですものね♪

Surface Proで英語学習を支援する実証研究がスタート - PC Watch

これでSurface Proの認知度があがるかもしれませんね。個人的にはSurface ProとOne Noteを組み合わせると紙のノートは必要なくなるんじゃないかと思っています。それくらい使いやすいです。

Windows 8.1搭載Microsoftタブレット「Surface Pro 2」が到着!初代モデルと並べてみたよ【レビュー】 - S-MAX(エスマックス) - スマートフォンとモバイルを活用するブログメディア

記事にもあるようにSurface Pro 2はマシンのスペックもすばらしいですが、スタンドが2段階に角度調整できることも魅力的ですね。さくっと乗り換えられればいいのですが、まだ購入して2週間たってないんですよね(笑)

容量32GBになった手書き特化端末「enchantMOON 32GB Professional Edition」 - PC Watch

初代はなかなか難しい評価だったようですが今回はどうでしょうかね。Surface Proのペン入力も悪くないので比べてみると面白いかもしれませんね。

神職人に学ぶWordの使い方:iOS 7のデザインを全て再現する(動画) : ギズモード・ジャパン

これはすごい

US NEWSの裏を読む - Appleのソフトウエア無料化はMicrosoftへの脅威となるか:ITpro

Microsoftはもうクラウドにシフトしてずいぶん経っている。Office 365だ。パッケージ販売は終わったビジネスだとレドモンドの巨人が知らない訳がない。

Surface 2 + TypeCover2でRDPするとUS配列のキーボードになる #SurfaceJP - かずきのBlog@hatena

このような症状で困った場合の対処方法が紹介されている。レジストリを修正するのでリスクがあると思いますが、お困りの方はぜひ記事を参考にして見てください。

日本マイクロソフト、「Surface」法人向けの販路を拡充――ティーガイア/丸紅テレコムの2社を追加 - ITmedia PC USER

他社のPCと同じようにSurfaceも法人向け販売を進めていますね。しかし「認定Surfaceリセラー」とはどのようなものでしょうか?

認定 Surface リセラー | Surface

「Surface 製品を認定 Surface リセラーおよびその関連会社からのみ購入いただけます」ということで法人向けのOfficeなしのSurfaceは特定の会社からしか購入できないということですね。Microsoftからも購入できないのですね。

Tests show significant battery life improvements with Surface Pro 2 firmware update | Windows Phone Central

ファームウェアがアップデートされたことによりSurface Pro 2のバッテリーでの稼働時間が伸びたとのこと。記事ではアップデートによりWiFiの省電力化が行えわれているとありますが、それだけでも効果があるのですね。

Windows 8 grows in market share and Microsoft intends to invest $405 million to keep it up | Windows Phone Central

2013年10月のデスクトップのOSのシェアにおけるWindows 8はたったの7.5%。しかしながらWindows XPのサポート期限がきれたらWindows 8に乗り換えることになるかもしれません。そうするとシェアが逆転するでしょう。

日本経済新聞

実用化されるのが楽しみです。第X世代Surfaceはソーラーだけで動きますとかね!

【西川和久の不定期コラム】Microsoft「Surface 2」 〜4倍速でフルHDになったWindows RT 8.1搭載2代目Surface! - PC Watch

「まだまだ(使い物になる)Windowsストアアプリは少なく、不足部分はスマートフォンなどで補完する必要はある」とのことだが、アプリ開発者がそうしたくなるメリットがあるといいのかもしれませんね。

Surfaceグループの紹介

Surface全般を扱うはてなグループ Surface に参加してみませんか? みなさんの参加をお待ちしております!!

Rubocopを、Ruby 1.9.2系でも使う (rubocop192のご紹介) #rubyjp

ロボコップ 1987 のことではありません。 rubocop192 です

rubocop192 とは、rubocopRuby 1.9.2で動作させるためのソフトウェアです。なんでいまさら Ruby 1.9.2 なのかは聞かないでください。 rubocop について簡単に説明しますね。と、思ったけど以下の記事が詳しいのでそちらを確認してくださいませ。

インストールと使い方

rubocop192 を以下のように gem でインストールしたら、あとは rubocop とまったく同じように使うことができます。ただし、コマンド名は rubocop192 ですのでお間違えなく。

$ gem install rubocop192
(rbenvの方はここで $ rbenv rehash をお忘れなく)
$ rubocop192 path/to/file

rubocop192の仕組み

Ruby 1.9.2で rubocop が動作しないのは以下のコメントの部分が原因です。

ruby-1.9.2-p320/ext/json/lib/json/common.rb の 24 行目付近より

    # Set the JSON parser class _parser_ to be used by JSON.
    def parser=(parser) # :nodoc:
      @parser = parser

      # 以下の処理で const_defined? が定数 JSON::Parser ではなく定数
      # ::Parser が定義されているかをチェックしている。定数 ::Parser は定
      # 義されているので true を返す。その結果、remove_const は定数
      # JSON::Parser を削除しようとしてしまうのだが、定数 JSON::Parser は
      # 定義されていないため、ここで例外が発生してしまう。
      remove_const :Parser if const_defined? :Parser

      const_set :Parser, parser
    end

そこで、 rubocop192 では上記を正しく動作できるように JSON にモンキーパッチを適用してから本来の rubocop コマンドの処理を実行するようにしています( 参考:lib/rubocop192.rb )。

と、ここまで書いていて思ったのですが、 rubocop の gem の設定を確認する限り Ruby 1.9.2 にも対応すべきなので rubocop 自体を修正して Pull Request を送ればよかったですね。→ あとでやる

余談

今回はじめて、開発からRubyGems.orgへの登録までのgem作成に関する一連の作業をWindows上で行ってみました。

途中、

  • 何度かEmacsが異常終了したり
    • (必ず日本語入力中に異常終了するためIME関連だろうと推測しています)
  • Cygwin上で gem push pkg/rubocop192.gem ができなかったり
  • いちいち動作が遅かったり
    • gitの操作、Rubyスクリプトの実行など、全体的に遅い
    • 作業マシン(Surface Pro)は Core i5 1.6GHz なのでマシンのせいではない。OSの問題だと思う

といったことがありましたが、なんとかなりましたね。

Surface ProをWindows 8.1にアップデートしてしまったあなた、残念ながらBluetoothのキーボードとマウスのどちらかしか使えません!! #SurfaceJP

(2013/11/12追記:本日のWindows Updateにてこの問題が解決されていることが確認できました。Microsoftの関係者のみなさまの対応に感謝します!!)

先日の記事ではWedge Touch Mouse Surfaceの初期不良を疑っていた のですが、マウスが使えなくなってしまう原因がわかりました。

Windows 8.1が原因でした

マイクロソフトのSurfaceサポート窓口にも相談してサポートの環境でも再現したので間違いありません。

結論: Surface ProではBluetoothキーボードは使えません!

先に結論から言っておくと、Surface ProをWindows 8.1にアップデートしたらBluetoothのキーボードとマウスのどちらかしか使えなくなりますので、タイプカバー/タッチカバーで代用可能なBluetoothキーボードの使用はあきらめてください

Windows 8.1にアップデートせずにもうしばらくWindows 8のまま使うのもありですね)

それでは詳細を説明します。

異常発生...

今週の月曜日に Wedge Mobile Keyboard for Businessを購入して

火曜日には Wedge Touch Mouseを購入して

正直浮かれていました。ニュースサイトでもないのに製品レビューなんかもしちゃってました。

だがしかし、キーボードとマウスを接続してしばらくするとマウスでの操作ができなくなりました

マウスの電源のON/OFFを繰り返してもまったく操作ができず、 Wedge Touch Mouseは買ってはダメ!!的な記事 も書きました。

あれっ、今度はキーボードが操作できないぞ!?

それからしばらく作業をしていると

今度はキーボードでの操作ができなくなりました

キーボードの場合は電源のON/OFFで使えるようになったので、たまたまかなと思っていましたが、たまたまではありませんでした。

キーボードかマウスのどちらかが使えなくなる現象が頻発するのです

これはおかしいと思っていろいろ調査すると、

な、なんと、スリープから復帰したときに最初に操作した方しか使えないではありませんか!?再現率は100%です。PC、キーボード、マウス、これらすべてがMicrosoft製なのになんということでしょう

ざ、残念すぎる...

スリープから復帰後、

マウスを操作した場合はキーボードの電源ON/OFFによって復活するのでまだいいのですが(いや、けっして良くはないですよ~)、

キーボードを操作した場合はひどいです。

マウスの電源ON/OFFでは復活せず、一旦マウスのデバイスを削除してペアリングからやり直しです(結構この作業に時間がとられちゃいました)。このためスリープから復帰後は必ずマウスを操作するようにしています

なお、一旦キーボードかマウスのどちらかが使えなくなったとしても、もう一度Surface Proをスリープさせてから復帰すると、どちらか先に操作した方が使えるようになります。

万が一、キーボードを操作した場合は再度スリープから復帰させてマウスを操作すればいいです(いや、けっして良くなないですよ~)。

サポート窓口で相談

Surface用のサポート窓口に連絡して再現方法と再現率が100%であることを伝えると、サポートの担当者の方で同じ環境を用意して確認してみるとのことでした。しばらくすると確認結果を共有するための電話がありました。

  • サポートの担当者の手元でも再現したこと
  • 回避方法はないこと
  • Windows 8では再現せず、Windows 8.1でのみ再現すること
  • 不具合としてマイクロソフト本社に報告すること
  • いつ修正されるかはわからない

といったことをお聞きしました。

ざ、残念すぎる。買ったばかりのキーボードがまともに使えないなんて...

キーボードを返品することもできるのですが、キーボード付属のタブレットスタンドがものすごく便利で手放せないため、いつかは修正されると信じてキーボードは返品せず、スリープから復帰後はマウスから操作するように気を付けて使うことにしました。

まとめ

Surface ProをWindows 8.1にアップデートしたらスリープから復帰後にBluetoothのキーボードとマウスのどちらかしか使えなくなります。いちいちスリープから復帰後にマウスから操作するように気を付けるとか残念な感じです。それならばいっそタッチカバー/タイプカバーで代用ができるBluetoothのキーボードの使用をあきらめたほうがいいのではないでしょうかね

あと、Windows 8では問題ないようなので、Windows 8を使い続けるとか...いや、ないない。

まぁ、今回は問題が見つかって、それをきちんとフィードバックできてよかったと思うことにします。

余談: オープンソースだったらな~

私の周りにはソースコードを見ることができるソフトウェア (RubyApacheLinuxEmacs...)がいっぱいあります。なので問題が発覚したら原因を調査してソースコードを修正したりします(もちろん問題を報告するだけで自分では調査しないこともあります)。それなのに今回は問題を調査するところまでしかできず、あとはどこか私の知らないところで、いつか修正されるのを待つことしかできないというのが歯がゆい感じがしました。いつかは一般の人でもWindowsのソースコードが入手できてデバッグを手伝うことができればいいな~と思ったりしました(でも実際には巨大すぎでどこから手をつけたらいいのかわからないのでしょうけどね)。

Surface Pro、電源断の記録 #SurfaceJP

(2013/11/06追記: 結局Surfaceを5cm程度持ち上げただけで電源断することが分かり、本体を交換することになりましたとさ。とほほ)

f:id:kouji0625:20131024000214j:plain

Surface Proのタッチカバーを閉じてスリープさせたはずなのに、次に使おうと思ったときにカバーを開けてキーボード操作をしても、ハードウェアのWindowsボタンを押しても反応がなく、電源ボタンを押すとSurfaceの起動画面が表示されるという事象が発生したときの状況を記録しています。 原因調査の役に立てばいいなと思って始めたのですが、アカウント名を英語にしてWindowsを再インストールしてからは再現していません!イェイ!!

(1) 10/24 23:00頃

  • 10/24 21:15頃スリープ
  • カバーを閉じたときにミニディスプレイポートにHDMIケーブルで液晶ディスプレイが接続されていた
  • カバーを閉じてしばらくすると液晶ディスプレイに信号がいかなくなったのでHDMIケーブルを抜いた
  • スリープ時はgit svn fetch、Power Point、Emacs、IEなどが起動していた
  • iCloudコントロールでフォトストリームを有効にしてる (実はこいつを疑っている)
  • 起動後はPower PointやEmacsが強制終了したためデータを復元するかどうかを聞いてきたので強制電源断が起きたのは間違いない

(2) 10/25 13:15頃

  • 10/25 10:30頃スリープ
  • カバーを閉じたときは電源ケーブル以外は接続していない
  • スリープ時はgit svn fetch、Emacs、Outlook、IEなどが起動していた
  • iCloudコントロールはアンインストール済みだった => iCloudコントロールが原因ではなかった

(3) 10/25 19:30頃

  • 10/25 17:30頃スリープ
  • 電源ボタンを押してスリープ => カバーを閉じてスリープすることが原因ではない
  • そのときはタッチカバーは接続していない。たしか、電源ケーブルも接続していない => タッチカバーが原因ではなかった
  • スリープ時はgit svn fetch、Emacs、Outlook、IEなどが起動していた。git svn fetchがあやしいので今度からスリープする前に停止させよう

クリーンインストール後は快調です

Windows 8からWindows 8.1にアップグレードするときに日本語のアカウント名を使っていたのがまずかったのかと思い、えいやっとOSをクリーンインストールしました。

Windowsの再インストールそのものはWindows 8の標準機能「Windowsの回復」を使って10分くらいでできちゃいます。すごいでしょ!! あと、クリーンインストール前にMicrosoftのアカウントの表示名を「kouji takao」(実際には名前が「kouji」、苗字が「takao」)と英語のみに変更しておきました

すると、なんということでしょう。3日たったのに一度も強制終了は発生していません。う~ん、日本語のアカウント名がよくなかったのでしょうか。真相はなぞのままです。でもいいんです。このなんともいえない感じが新鮮というかね、Macのときにはなかった感じですよ。手がかかるから、かわいいみたいなね♪

Surfaceグループの紹介

Surface全般を扱うはてなグループ Surface に参加してみませんか? みなさんの参加をお待ちしております!!

Surface関連のニュースピックアップ(2013/10/31) #SurfaceJP

「Surface Pro」関連でビビッと来た記事を紹介します!!

それにしてもSurface 2/Pro 2が発売されたばかりなのでいろいろな記事が取り上げられていますね♪私もSurface Pro 2がほしいです!!その中でもビビッと来たのは以下の記事です。

「Surface Pro」関連のニュースピックアップ

新iPad発表の認知率は53.9%、対する新Surfaceは何%? - MMD研究所 | マイナビニュース

 Surfaceは知る人ぞ知るタブレットなのです(っていうほど認知率は低くないか♪)

「Surface Pro 2」が発売延期に、Surface公式Twitterが「改めて案内」 | マイナビニュース

思った以上に人気で供給がおいついていないのでしょうかね。スペック重視な人にとってはメモリ8GB、ディスク512GBは魅力的ですものね♪

最後は手前味噌ですが障害情報の共有です。

Surfaceグループの紹介

Surface全般を扱うはてなグループ Surface に参加してみませんか? みなさんの参加をお待ちしております!!

我が家にも、タイプカバー2がやってきた!

(「我が家にも、○○がやってきた!」シリーズです)

タッチカバーでの作業は1週間で限界がきました(笑)そんなときにちょうどタイプカバー2が発売されたわけですよ。

いつ買うの?

いまでしょ!

ってことで早速届いたタイプカバー2(シアン)のレビューです。

f:id:kouji0625:20131030213851j:plain

レビュー

  • 思ったより薄くてタッチカバーとほとんど変わらない感じ
  • キーとキーの間が詰まっていて、なおかつキーの端がカットされていないので慣れが必要
    • 薄型モバイルキーボードとかってキーの端が少しカットされているじゃないですか。あれってよく考えられてるなって思いました
  • タッチパッド部分が使いにくい。いや使いにくすぎる...
    • 摩擦が強すぎて全然指が滑らない。タイプカバーのタッチパッドも不評だったと思うが、こちらはもっと不評なのではないかと思う
  • タイプカバーをSurface Proの背面に回して操作している際、キーボードを押している感じがしてあまりいい気分がしない
    • なんかキーを強く押しっぱなしで壊れそう
  • すぐに壊れそう
    • 実際、F5キーだったかが外れそうになって慌てて戻した
    • でも通常使用で1年以内に壊れた場合は修理できるので気にしない。(どうせ1年ごとにマシンは買い替えるもんだよね)

まあまあといったところ。ただ、この薄さでカバーにもなって必要な操作はすべてできるのは心強い。外出時はタッチカバー2だけでいいからね。 Bluetoothキーボードとマウスは持ち歩きたくないですよね。

Surfaceグループの紹介

Surface全般を扱うはてなグループ Surface に参加してみませんか? みなさんの参加をお待ちしております!!