2016年12月31日

『新品同様』のAsus Chromebook FlipをeBayで落札した結果

1年ちょっと前にこんな記事を書いていました。

Asus Chromebook Flipがかなり気になる - 米Amazonで249ドル!


まだ次期モデルが出ず、同価格帯で他に欲しい機種もなかったのでついにこれを買うことにしました。

eBayで探すとメモリ4GBの中古品が大体150〜180ドルぐらいで落札されているようです。発売から1年以上経つのにあまり価格が下がっていません。

とりあえず2件ほど入札してみましたがなかなか買いたい価格で落札出来ませんでした。

オークション終了の15秒前に入札するという方法で3件目をついに落札。「新品同様」のものを送料込みで199ドルで買う事が出来ました。

実はこんなに必死になってeBayのオークションをしたのは初めてです。終了時刻が近づくとドキドキして、落札出来た時は興奮しました。たまにはオークションで買うのも楽しいですね。

さて、5日ほどかかって届いたAsus Chromebook Flipですが、9.7インチのiPadとほぼ変わらないコンパクトさで、外観もアルミニウムの質感が出ていてとても良い感じです。

https://www.cnet.com/products/asus-chromebook-flip/2/

「これは良い買い物をしたな〜」と満足でした。

ところが、です。

フル充電してからさあ初期設定してみようと自分のメールアドレスを入力するところで、いきなり予想外の問題に遭遇してしまいました。

なんと、o, p, s, w などいくつかのキーが反応しないのです。さらにEnterキーとBackspaceキーも無反応。。。

一時的な問題かなと思ってシャットダウン後電源ONしてから試しても同じです。試しにUSBで外付けのキーボードをつないでみると問題ありません。

外付けキーボードをつないだままなんとかログインして、OSを最新版にアップデートして再起動してみましたが、やっぱり同じでした。本体のキーボードの動作不良であることは間違い無さそうです。

確かにこのキーボード、写真や動画で見る限りは気付きませんでしたが、実物はかなり安っぽいですね。もし正常に動作していたとしてもこのキーボード部分だけは好きになれなかったと思います。

もうこのままタブレット端末として使おうかとも一瞬考えましたが、やっぱりそれでは悲しいので返品する事にしました。

そもそもこういう、キーボードをくるっと裏返してタブレットモードにするタイプの機種だと、テーブルに置いて使う分には良いですがそのまま片手で持って使おうとすると裏面のキーが指にあたってどうも使いづらいですね。これも実際に試してみないと気付かなかった点です。

そういうわけで早速翌日に送り返して、今返金待ちの状態です。



今回学んだこと

● 安っぽいキーボードなら付いてない方がマシ。むしろ自分の好みのものを接続して使える方が有り難い。

● eBayの「新品同様」品には要注意。既に一度返品されたものがそのまま出品されている事もあるらしい。






 

2016年12月28日

Androidで18万DLされた自作アプリをWindowsストアに移植した結果

Androidで18万回以上ダウンロードされた自作アプリをWindowsストアに移植して約2ヶ月経ちました。

移植作業にはなんだかんだ言って1ヶ月近くの工数がかかってしまったのですが、その結果をまとめてみました。

ダウンロード数: 339回
広告表示回数: 1,745回
Fill Rate:    約20%
広告クリック数:  6回
広告収益:   48セント (約50円)


なんなんでしょう、この結果は。。。


あまりの少なさにがく然としています。(笑)

Windows 10のタブレットや2 in 1も増えて来たので、そろそろ行けるかな〜と期待していたのですが、Windowsストアからアプリをダウンロードして使うという使い方はまだまだそんなに広まっていないのかも知れませんね。


ちなみに広告はUWPアプリではAdMobが使えなかったので標準の「Microsoft advertising ad」というものを使ってバナー広告を表示しています。これですがFill Rateが20%って、AdMobと較べて低すぎですよね。


もちろん、宣伝の仕方やアプリのカテゴリなどによって結果は大きく変わると思います。


ただ個人的には次のアプリからはしばらくWindowsストアはパスという事に決定です。


とりあえず試してみて大体の感触が分かったのでまあ良しとして、次に行きます。^^)





 

cocos2d-xで作ったアプリをWindows 10 UWP対応にした時のメモ

結構苦労したので将来の自分のためにメモしておきます。

● Cocos2d-xを最新版に更新


1. cocos new コマンドで新しいCocosプロジェクトを作成。
2. 必要なソースコードや画像・音声などのファイルを古いプロジェクトからコピー。

共通のもの
 Classes ディレクトリ
 Resources ディレクトリ

iOS固有のもの
 Images.xcassets ディレクトリ
 ios/AppController.*
 ios/RootViewController.*

- Android固有のもの
 app/src/org/cocos2dx/cpp/AppAcitvity.java
 app/res ディレクトリ
 app/jni/Android.mk
 app/jni/Application.mk
 AndroidManifest.xml
 ProGuard設定ファイル

- Windows固有のもの
 App/Assets ディレクトリ



● ソースコードの文字コードを「UTF-8 BOM付」に変換


Windows版をビルドするために使うVisual StudioはUTF-8でかつBOM付きのファイルしか正しく扱えないので、nkfコマンドを使って全てのソース・ファイルをUTF-8 BOM付きに変換します。

カレントディレクトリ直下のファイルのみを対象にする場合
  nkf -W -w8 --overwrite *.cpp *.h

カレントディレクトリ以下の全てのディレクトリで再帰的に実行する場合
  find . -type f -name "*.cpp" -exec nkf -W -w8 --overwrite {} \; 
  find . -type f -name "*.h" -exec nkf -W -w8 --overwrite {} \; 

ちなみにこの処理をWindows上で実行する場合は、下のソフトウェアが便利です。
文字コード変換ツール「KanjiTranslator」(フリーソフト)


● 各種エラーを修正


Windows上で実行した時にLabelの文字列などが文字化けする場合は、.cppファイルの先頭に下記の#pragmaを付けると良いかも知れません。(これで直ったのか他の事で直ったのか、記憶が定かではないのですが。)
#pragma execution_character_set("utf-8")

● 日本語フォントファイルをアプリに含める


Resources/fonts ディレクトリに使用したいフォントファイル(例えば「YuGothic.ttf」など)をコピーしておきます。
ソースコードではフォント名を指定する部分で "fonts/[フォントファイル名]" を使う様にします。


● Windows版で不要な機能をコメントアウト


今回はWindows版ではアプリ内購入で広告を消す機能は省略したので、アプリ内購入に関する処理を全てコメントアウトしました。






2016年12月3日

iOS Meetupで関数型言語を勧められたのでメモ

Elixir


[翻訳] なぜ私はElixirに賭けたか - メンテナンスプログラマになりたくなければ君もそうしろ - Qiita

Rails, Node.js の次はこれだそうです。ミリ秒ではなくマイクロ秒の単位でレスポンスを返す事が出来て、さらに200万の同時(?)接続を1台のサーバーでさばけると。来るべきIoT時代には必須の言語かも知れません。

大規模なオンラインゲームとかLINE並みのチャットサーバーとかには向いてそうだけど、現時点ではちょっと自分には必要ないかなあ、とも思うのですが上の記事を読むと確かに面白そうなので一応かじっておきたいなという気はします。

そういえば「プログラミングElixir」という本がちょっと前から気になっていてAmazonのカートに入ったままになっているので、こんどこそ買おうかな。




Clojure/ClojureScript


Clojure の Web アプリケーション開発について 1 から 10 くらいまで - Qiita

Webアプリのサーバーサイドが関数型言語で作れるとの事。


今思い出せば、私が初めて関数型言語というものの面白さに少しだけ触れたのはこのClojureについてのKindle本を通じてでした。



この本はオススメです。(たったの100円!)



FacebookのReactをいい感じに使えるReagent

ClojureScriptを使えばクライアントサイドも同じ言語で書けて、さらにビューはReactで生成出来ると。


そしてさらにClojureScriptはJavaScriptに変換されるのだから、React Native を使えばモバイル用のネイティブアプリも作ることが出来ると。

ClojureScriptとReact NativeによるiOSアプリ開発 - Qiita 

re-natal: Bootstrap ClojureScript React Native apps 


なるほど。これはぜひ試してみたいけど、まずはClojure勉強しないと。



Elm


Elmというミニマムでフレームワークにもなる関数型altJS言語を触ってみよう!!! - Qiita

関数型リアクティブプログラミング言語Elmに学ぶ フロントエンド開発の新しい形 【前編】 (1/5):CodeZine

ちょっと見た感じではこちらの方がClojureScriptよりもとっつき易そうな感じでしょうか。

ちょうどいつもお世話になっているEggHeadという動画学習サイトに最近Elmのコースが追加されたのでブックマークしていたところでした。

Start Using Elm to Build Web Applications * - Course by @splodingsocks @eggheadio









2016年11月24日

テスラ Model Xに試乗して来ました!




先日アラモアナショッピングセンターに行った時にふとTeslaのショールームに寄ったのですが、前から試乗してみたいなと思っていたので軽い気持ちで「試乗出来るの?」と聞いてみたら「もちろん!」と言われたので、じゃあ試乗してみようという話になりました。

その場でタブレットにメールアドレスや電話番号を記入して、試乗のスケジュールを確認。結構空いているみたいでしたが、ちょうどその日から3日後の午後3時がこちらとしても都合が良かったので予約しました。

そして当日、奥さんと2人で午後3時ちょっと前に再びショールームを訪れました。名前を言って試乗に来た旨を告げると、係の人(サム君)が来て水のボトルをくれました。しばらく待つと奥の部屋に通されます。そこは外に通じるガレージになっていて、真ん中にはあの「Model X」が待っていました。

一通り充電の仕方などの説明を聞いたあと、サム君がiPhoneを取り出して何やら画面をタップすると、目の前のModel Xがひとりでに動き出してガレージから外のパーキングに移動します。

早速、私が運転席、奥さんが後部座席、サム君が助手席に乗り込んで出発です。

通ったルートは下の通り。アラモアナから高速(H1)に乗ってカハラまで。往復40分以上は走ったので結構な距離です。




高速に乗ってしばらくすると、サム君が「自動運転を試してみる?」というので、どきどきしながらやってみました。

ウィンカーの下に短めのレバーがあり、それを手前に2回動かすと自動運転モードになりました。おそるおそるアクセルペダルから足を離し(ここまではいわゆるクルーズコントロールと同じですが)、さらにハンドルからもそっと手を離します。

もちろんテスラは緩くカーブしたH1の真ん中のレーンを何事もなかったかのようにペースを保って走り続けます。

思わず「Wow!」と口から出てしまう体験でした。

ただしばらくその状態を続けるとすぐに慣れてきて、「近い将来には全てのクルマがこうなるんだろうな」という実感が湧いてきました。不思議なものです。

自動運転モードのままでウィンカーを操作すると「自動レーン変更」が始まります。これも試してみましたが、あまりにもスムーズ過ぎてそれほど感動が無く「ふーん...」という感じでした。

一番感動したのは、一旦高速を下りて見通しが良くなったところで「ここなら思いっきり加速していいよ」と言われた時でした。

「え、いいの?」と思いながら、思い切ってアクセルペダルを踏み込むと予想通り一気に加速して身体がシートに押し付けられます。後部座席の奥さんが軽く悲鳴を上げたほどでした。それでもサム君は「今ので大体フル加速の10%ぐらい」と言っていました。もうちょっと踏み込んでおけば良かった。。。(笑)

それにしても面白いのはいくらアクセルを踏んでもエンジン音がしない点です。なんとも妙な感覚ですが、これが電気自動車なんですね。

さて、次に面白かったのは住宅街の道路で「自動縦列駐車」を試した時でした。「さあ、ここでストップして」と言われたところで停めてから、画面上のボタンを押すとクルマが勝手にハンドルを切ってバックして、ほんの10秒ほどで縦列駐車が完了です。いや、実際には10秒も掛かっていなかったかも知れません。奥さんはこれに最も感動していたみたいです。

カハラからアラモアナへの帰り道は運転を奥さんに代わり、私は後部座席に座りました。乗り心地はもちろん文句なしです。

帰り道、世間話をしながらサム君は「どう、このクルマ気に入った?」と我々が購入する気がありそうかどうか、探りを入れてきます。値段を確認してみると、3年のリース契約で月約1,100ドル(初期費用約6,500ドル)だそうです。

お値段を聞いて固まっている私達を見て、サム君はすかさず「今度出るModel 3なら月500ドルぐらいだよ。1000ドル払えば今すぐ予約出来るよ。」と勧めてきます。ただModel 3は今予約しても納車は2年後ぐらいになるそうです。

返事をうやむやにしながら話題をそらせたりしているうちに、アラモアナショッピングセンターに帰ってきました。Model Xの前で記念写真を撮ってサム君と握手して、楽しかった試乗が終わりました。


電気自動車、完全自動運転。

今はまだ価格も高くて珍しい存在ですが、数年後には確実にもっと普及して当たり前の存在になっているだろうと思います。今回の体験でその感触をはっきりと確かめられた気がします。





 

2016年10月5日

Nexus 6から中古のiPhone 5sに変えて起こった変化とは

1ヶ月ほど前に、愛用していたNexus 6を硬い床の上に落としてかなり派手に画面を割ってしまいました。実はまだ24回払いの残金も残っているというのに。(涙)

それから、余っていたiPhone 5sを仕方なくメインの携帯として使っています。今までアプリ開発のテスト用にたまに触るぐらいだったiPhoneですが、毎日使ってみると(予想通り)やっぱり使いやすいですね。

なんと言っても、まずポケットに入れたときの収まりの良さが違います。(笑) まあこれは単にサイズの違いなんですが。

ただ画面が小さい分文字を読むのが辛く感じます。

Nexus 6だと、FeedlyでRSSをチェックしてからSmartNewsで最新ニュースを読んで、その後Twitterをダラダラと眺める、という流れでゆうに1時間ぐらいはスマホの画面を見続ける事が出来たのですが、老眼が入ってきつつある眼にはiPhone 5sの画面サイズで同じ事をするのはきついです。


そこでこの1ヶ月で起こった変化とは、、、



Nexus 7(2013年モデル)の復活!! 



でした。

最近全然使わなくなっていたNexus 7ですが、このところ毎日活躍しています。このサイズ感は本当にいい感じです。




Googleからもうすぐ新しい7インチクラスのタブレットが出るらしいという噂もあるので、そちらも楽しみです。








 

2016年8月10日

Visual Studio Code で .js.map など特定のファイルを非表示にする

VS Codeで TypeScript のソースコードを書いていて Webpackやtscコマンドでトランスパイルした時にデフォルトでは .map ファイルも自動的に作成されます。

このソースマップファイルをエディタ上のファイル一覧には表示したくないので、その設定方法のメモです。

{
    "files.exclude": {
        "**/*.js.map": true,
        "**/*.js": {"when": "$(basename).ts"},
        "**/.git": true,
        "**/.DS_Store": true
    }
}


"**/*.js": {"when": "$(basename).ts"}

と書くと、「同じ名前で拡張子が .ts のファイルが存在する場合だけ .js を非表示にする」という事が出来るとの事。

これは便利。



【VSCode】Visual Studio Code 0.5.0の新機能まとめ - Tumbling Dice http://outofmem.hatenablog.com/entry/2015/07/20/154030

[VSCode]ファイルツリーの表示制御|杏z 学習帳
https://anz-note.tumblr.com/post/126106378651/vscode%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%84%E3%83%AA%E3%83%BC%E3%81%AE%E8%A1%A8%E7%A4%BA%E5%88%B6%E5%BE%A1