‘コンピュータ’のエントリ
ベーマガイベント第2弾が発表された。
「ALL ABOUT マイコンBASICマガジンⅡ」
2015年11月に秋葉原で行われた前回のイベントに参加したのだが、子供時代からのベーマガファンから見て最高のイベントだった。前回のイベントは30分でチケットが売り切れて参加できなかった人が多かった、ってことで会場大きくしてもう一回、みたいな感じなのかな。でも、前回は夢を壊さないように(だったかな?)辞退したというつぐ美さんが出るならもう一度行くしかない、ってことでチケット争奪戦は参加予定。っていうかつぐ美さんって本名だったのね。
チケットはいくらかな、って思ったら9801円、8001円、6001円って馴染みのありすぎる数字。逆に5000って何だろう。値段がだいぶ上がって会場が1000人規模になるけど、このイベントに参加する人の年齢層ってあんまりお金気にしない気がするので、やっぱり争奪戦になるのかなあ。
プログラミング, コンピュータ ベーマガ
コメント・共有する
東京ゲームショウ2017(TGS) 東プレブースで行われた、Realforce Typing Championship(RTC)を現地観戦してきた。この大会は、タイパー御用達Realforceの東プレが主催するタイピング大会で、予選にe-typing、本戦にWeather Typingを使用してタイピング日本一を決める大会。感想を一言で言うと、すごく面白かった。15年越しでこんなものが見られるとは。ってことで配信を見直しながら日記を書いてみる。
大会全体
配信もあるかも、というのはあったけど、やっぱり現場で見ないと盛り上がり具合は分からないな、ってことで現地まで行ってみた。現地では集中して見ていてメモも取らなかったので、後で配信を見ながら日記を書けるっていうのは嬉しい。
で、今回の大会、とにかく実況と解説がすごかった。実況はさすがプロという感じで盛り上げ方がうまい。解説のPocariさんは異様に場慣れしてるし。
タイピング的には、サミットでは打っている間は沈黙状態(ネタワード対戦以外)なので、実況ありは難しそうだった。dqmaniacさんのTwitterにあったけど、ミス入力音が聞こえないのでミスが連鎖するのはなるほど、とか。
開発者視点で
タイピングサミットもそうだけど、私の場合、タイパー視点と開発者視点の両方で見られる特権があるので見ていて面白い。ミス入力が続いたときはウェザタイのせいかな、とか、最後の文字をあえて打たないときはウェザタイが止まったのかな? とか。Paraphrohnさんが一度やり直ししたのはなんだろう。Winキーではないようだったけど、画面切り替え関連かな? とか、会場の大型モニターで見ると画面がちょっとチラついていて不安になったけど、PC画面を見ると普通だったので、モニタ側の制約かな、とか。並べてみると心配ばっかりですね。
で、今回の特徴だった95%ルール。
2年前、新ウェザタイを作ろうとしてからずっと考えていたのが戦略性。今のウェザタイは、早い人が勝つというだけで、例えば実力差が少しあると圧勝になってしまう。ウェザタイ2ではハンデ機能を付けていたが、やっぱりハンデを付けて勝つというのはいまいち気持ちよくないので、ウェザタイ3ではあえて付けず、戦略性で勝てるようにしたいと思っていた。お互いの得意な戦い方で戦うとか、戦略の相性とか、駆け引きがあるタイピング対戦をやりたくて、フルコンしばりなどのルールと、得意な入力方式、ワードセットを選んで交互にお互いのルールで打ち合う、なんかを考えていたのだが、考えるほど複雑になってしまい、詰まっていた。
今回、実況の方が、ウェザタイは戦略性がある、と言っていたけど、今のウェザタイは戦略性はほとんどない。そこをシステムでなんとかしたかったのだが、今のウェザタイでも95%ルールを入れるだけであそこまでの戦略性が生まれるとは驚き。このワードを先に打ったら正確性で負けるから最後の文字を残す、といった不思議な戦略とか、正確性をとるか正確性を捨ててスピード勝負に出るか、相手を見ながら決めていくといったジャンケン要素とか。まさにこういうのを見たかった感がある。そこまで考えてこのルールにしているとしたらすごいゲームデザインセンス。やっぱり最前線にいないとこういう発想は生まれないのかな。
タイパー視点で
一応タイパーなので普通の感想も。あの状態でレベル9.3を出すってすごすぎる。
最初、かなとローマ字の混合対戦と聞いて、普通にやればかな圧勝になるだろう、と思っていたけど、実際はそうはならなかった。かな入力では正確性95%ルールがハンデになるということなのかな。もしかな圧勝になったら、ウェザタイのかな入力の扱いに疑問が出るだろうから説明しないと、とか思ってたけど不要そうですね。一応、昔のマニュアルの評価基準に書いてあります。
→追記。PocariさんのTwitterから、かな有利すぎにならないように文章調整が入っていたとのこと。それであんなに均衡するっていうのはさすが。
あとは、サミットもそうだけど、タイパー的には大会のリプレイを公開してもらえるとすごく嬉しい。非タイパー向けにも、リプレイ対戦をやってみるとあれがどれだけの速度なのか思い知ることができるはず。ただ、リプレイのエクスポート機能がないと、どのリプレイがどの対戦なのか分かりづらいから、それが可能だとしてもウェザタイ側の改善も必要かな。
まとめ
なんか、いろいろ考えることが増えた気がする。ウェザタイのシステムでいろいろ戦略性を作ろうとしてたけど、ルールの工夫でここまでなるわけで、ウェザタイとしては、自由度を高めるだけで良いのかな、とか。この辺はまだまとまらない。
あと、なんかウェザタイをすごい宣伝してもらっていた感じがするけど、東プレ的にはそれでいいのだろうか、って思ったり。協賛のe-typingについてもParaphrohnさんのTシャツくらいしか触れなかったような。そんなにウェザタイ推しでよいのだろうか・・・どんなビジネスモデルを・・・まあ私が心配することではないですね。
おまけでTGS全体
今回のTGS、ウェザタイ初期ユーザで偶然同じ職場にいるけーさくと見に行った。お互い今はタイピング練習をサボっているけど、こういうのを見るとやりたくなるね、みたいな。
入場に並ぶという話だったので、13時に行ってみたのだが、ホール9~11なのもあって入場はスイスイ、一通り見て回ってみた。コントローラーが瞬間的に熱くなったり冷たくなったりするThermo Realとか面白かった。って冷たくなるってどういう仕組みだ。ゲームだけじゃなくてこういう技術的な方の展示もあるんですね。
大会後も時間があったので、大急ぎで1~8ホールを回った。そっちも16時くらいだったのでサクサク見られてよかった。イベント系はだいたい終わっていて残念な感じだけど、雰囲気だけは味わえた。
さて、トークショーもみないと。
プログラミング, コンピュータ RTC, Weather Typing
コメント・共有する
はっぱさんとラズパイワークショップ。ラズパイ版ウェザタイと赤外線通信の進捗を報告。どちらも順調に進んでいるのでそろそろ合わせて動かすか、ってところ。なんだけど、Windows 10 IoTでPWMが動かないかも、という情報が。PWMが動かないと赤外線通信がかなり難しくなる。一応調べてみたら何かしらの追加ライブラリはありそうな感じもするけど、代替案としてAndroid Thingsでやるという案もある。そろそろAndroidでの動作も確認したいしということでAndroidで動かしてみた。
まだキーボード入力を実装していないのでちゃんとは動かないし、初めてスマホの縦画面で動かしたので画面もおかしなところが多いけど、一応動いているっぽい。さすがxamarin.forms。
プログラミング, コンピュータ, 電子工作 Weather Typing
コメント・共有する
Twitterでいろいろやりとりしていたのだが、WTのプラグイン機能を実装して下さっている方がちらほらと。
月配列(permilさん)
なるほど、githubからforkするとこうなるのか。githubでちゃんとオープンソース運営するって手もあるけど、それだと普通の人が手軽にダウンロードして使うのが難しいし、やっぱりダウンロードサイトかな。ただ、まだ先になりそうなのでそれまでは結局日記で紹介していくしかないか。
プログラミング, コンピュータ Weather Typing
コメント・共有する
Weather Typing 3.2.1がベクターの新着レビューに掲載された。しばらくベクタートップページにリンクされる。
前回のレビューがWT1.5の頃。15年前でずいぶん経ったので、先月更新の案内が来ていた。ちょうどRealforceイベントの件があったのでPocariさんに聞いてみたらOKってことだったので作者のひとこと欄にサミットについても触れておいた。ベクターのレビューは毎回結構深いところまで書いてくれるので読むのが楽しい。今回もWT2のときのマニュアルの情報にまで言及してくれていたり、、、ってWT3でマニュアル作れって話ではあるんだけど。
プログラミング, コンピュータ Weather Typing
コメント・共有する
はっぱさんとMaker Faire 2017 Tokyo1日目へ行ってきた。会場が2つに分かれていたけど規模は去年と同じくらい? 一通り回るだけで5時間くらいかかったのでかなり疲れた。
ロボットの展示がかなり多く感じたが、たくさん並んでしまうと何が違うのか分かりにくくなるのがもったいない感じがした。逆にキッズコーナーは各展示でいろんなバリエーションがあって面白い。まあやっぱり一番興味深いのはエレクトロニクスコーナーで、例えば今ちょうどWindows IoTをやっているのでLattePandaはちょっと気になったりした。出展者一覧になさそうなので製品ページへリンク。あと個人的には、denha’s channel ピタゴラスイッチ的なマシーンとかカサネタリウム 変わったプロッタ? なんかが印象に残った。
ウェザタイIoTで出展できるといいなあ。
プログラミング, コンピュータ, 電子工作
コメント・共有する
東京ゲームショウ2017で東プレさん主催のタイピング大会「REALFORCE TYPING CHAMPIONSHIP 2017」が開催される。その中のオフライントーナメントでウェザタイを使って頂けるとのこと。東プレといえばタイパー間で一番有名なキーボードRealforceのメーカー。私ももちろん使用中。
少し前にPocariさんからこういう話があるというのを伺って、使ってもらえるなら歓迎です、というようなことを返したのだが、本決まりになったようだ。いつもウェザタイを推してもらって感謝です。15年前、秋葉原にToD大会をこっそり見に行ったときにはこんなことになるとは思ってなかった。
WT3もタイピングサミットで2度大会を開いてもらって品質向上版を出したばかりなのでタイミング的にもバッチリ。まあ、1対1の(多分)LAN対戦てことで不安要素は特にないのだが、何か現バージョンのバグを知っている方は教えてもらえると助かります。
来週はあれもあるし、しばらくウェザタイのダウンロード数が増えそう。
プログラミング, コンピュータ RTC, Weather Typing
コメント・共有する
Weather TypingのUWP化でネックになるネイティブC++の部分。C#に移植するのはそんなに大変ではないのだが、ネイティブ部分を使えるといろいろ便利なので調査。
まず普通にネイティブDLLを作ってUWPからP/Invokeしてみるが、あっさり成功。Windows IoTでもそのまま動いた。禁止されているAPIを使っていなければそのまま動くらしい。
てことで試しにWindowsストア用にビルドして、Windows App Certification Kit(WACK)にかけてみるが、「vccorlib140.dll is not supported for this application type」でWindows Security Features Testに失敗する。問題なさそうなmemsetとかmemcpyとかが引っかかっているので、どうもデスクトップ用のライブラリを見ているためっぽい。
ネイティブDLLのプロジェクトプロパティに「Consume Windows Runtime Extension」というのがあり、Using C++/CX in Desktop appsを参考に有効にしてみるが変わらず。
最終的にHow to: Use Existing C++ Code in a Universal Windows Platform Appというそのままのヘルプが見つかったのでそれに従って、上のC++/CXに加えてプロジェクトファイルを直接書き換えたりプリコンパイルヘッダの名前を変えたりしてWACKに通るようになった。
できあがったDLLをDependancy Walkerで見てみると、元々リンクしていた「VCRUNTIME140.DLL」とか「MSVCP140.DLL」が「VCRUNTIME140_APP.DLL」「MSVCP140_APP.DLL」になっていて、これがUWP用ってことか。
プログラミング, コンピュータ UWP, Weather Typing
コメント・共有する
しばらくXamarin.Forms使ってみて分かってきたこと。
1. F5を押してもビルドされない問題
F5を押すとすぐに実行されてしまうので、手動でビルド、デプロイ、実行していたが、Configuration ManagerでUWPプロジェクトのビルドとデプロイにチェックが入っていないためだった。デフォルトでオフになっているのかな。
2. Release版だと例外が発生する問題
Shared ProjectのMainPageを起動するときにSystem.PlatformNotSupportedException: ‘Arg_PlatformNotSupported’ 例外などが発生。Releaseで動かした場合だけなんだけど、そのまま例外をスルーすると動くっぽい。なんだろう。
3. Xamlのインテリセンスが死ぬ
一番困ってるのがこれ。たまに動くんだけど、何かしているといつのまにかインテリセンスが死んでいる。UWPプロジェクトを選択しているときはインテリセンスが正常に動いたことがない。”ContentPage was not found”みたいなのが出てインテリセンスの選択肢がほとんどない。Android/iOSプロジェクトを選択していると動くことも多いけど、いつの間にかインテリセンスのウィンドウが出なくなる。一応そんなときはAndroidやiOSのプロジェクトから共有プロジェクトの参照を消してビルド、もう一回共有プロジェクトの参照を追加してビルドすると出るようになったりする。かも?
プログラミング, コンピュータ, 電子工作 Weather Typing, Windows 10 IoT, Xamarin
コメント・共有する
Raspberry Piでウェザタイを動かす計画。一通りロジックは移植し終わったのて、画面も少し作ってみた。
2週間前の状態がこれ。モバイルバッテリー付けて持ち運べるようになった。
今はこれ。キーボードを付ければ打ち込める。
キーボード関連等、Windows依存の実装があるが、そこさえ作ってしまえば同じアプリがRaspberry Pi上のWindows 10 IoT、Windowsストア (UWP)、Android、iOSで動くので、一石四鳥といえる。Xamarin MacってのもあるっぽいけどMacでも動いたりするかなあ。
対戦機能も、Windowsストアならサーバ・ホスト両方できそうかな。Androidとかでも、少なくともゲストはできる見込み。
で、折角のラズパイなのでハードウェアも動くはず、ってことでお決まりのLEDを試す。キーボードを押すとON/OFFする。
ここまで下準備ができてくると、やりたかったあの企画も近づいてくる。ある程度できたらイメージを載せてみよう。
プログラミング, コンピュータ, 電子工作 RaspberryPi, Weather Typing, Windows 10 IoT
コメント・共有する
はっぱさんとラズパイワークショップ。近場によい感じの作業スペースがあったのでそこで情報交換をした。MacでどうやったらWindows 10 IoT開発ができるかが争点だったが、なんとか別PCでWindows 10 IoTまでインストールまで持っていければあとはMacでのVisual Studioで開発できるのでは、という推測をしつつSDカードカードを購入。
→結局MacのVisual StudioではUWPプロジェクトは作れなかった。
そしてそろそろ必要になってきたってことでマクセルのモバイルバッテリーを購入。3Aまでいけるのでラズパイも余裕。
モバイルバッテリーを取り付けた様子。これで完全にワイヤフリーになった。
プログラミング, コンピュータ, 電子工作 RaspberryPi, Weather Typing
コメント・共有する
とりあえずウェザタイをラズパイで動かすのが当面の目標だが、せっかくやるならモバイル対応も同時にできるとよい。ってことで前からやりたかったXamarin.Formsを試してみる。
Visual Studio 2017でクロスプラットフォームプロジェクトを作るとShared ProjectとUWP/Android/iOS用のプロジェクトができる。とりあえずWindows 10 IoTで動かすためにUWPを中心に。PCで実験してからラズパイに持って行けるのがすごく便利。
クロスプラットフォームのやり方はいろいろあって、まずはWPFでも使っていたPortable Class Library(PCL)はそのまま使える。で、WPF用の共通プロジェクトはShared Projectにして、ifdefでなんとかするかな。PCLでインターフェースを定義、プラットフォーム依存プロジェクトで実装を定義、でDependency Injectionでやるのが綺麗らしいけど、クラス数が多すぎてめんどい。
Shared Projectはそれ自体はDLLでもスタティックライブラリでもなくて、各プロジェクトに勝手にマージされるイメージっぽい。それはいいとして、ifdefのdefine値は各プラットフォームで定義されていると思ってたんだけどそういうわけではない、んですかね。とりあえず自分で各プロジェクトに_UWP__とか定義した。
XAMLの方のクロスプラットフォームはどうかというと、本を読んでいるとXamarin Formsで共通にするかプラットフォーム依存でそれぞれ作るかの2択で、やれることはそんなに変わらないように見えた。なので当然Xamarin Formsでやるんでしょ? って感じだったが、実際やってみると・・・これはプラットフォーム依存の方が楽かも、って思える。コーディング中に画面イメージが出ないのはまあ仕方ないとして、何かちょっとでも変なコードを書くとインテリセンスが動かなくなったり、とにかく不安定。まあ、何をするとおかしくなるのかを学習しながら作っていけばなんとかなる、のか? あと、コード変更した後いちいちBuild&Deployを手動でやらないと新しいバイナリでデバッグできないのは何か設定とかないのかな。
少し心配だったGPIO周り。XamarinのUWPで動くかな、と思っていたが普通にUWPのプロジェクトからGPIOのライブラリは参照できた。最終的に動くのはXamarinがエミュレーションしたものではなくてUWPそのものなのかな?
ひとまずUWP on Xamarin.Formsで作った最初の画面。
プログラミング, コンピュータ, 電子工作 RaspberryPi, Weather Typing, Windows 10 IoT, Xamarin
コメント・共有する
Raspberry Piでウェザタイもどきを動かそうとしているのだが、Windows 10 IoTを使えばC#が使えるということで実験。
MSのページに従ってWindows 10 IoT Core DashboardからSDカードにイメージを転送して起動。するのだが、しばらく起動中のままになり、最終的にBAD SYSTEM CONFIG INFOでブルースクリーンになる。その後起動するとBCDがおかしいエラーで何もできなくなる。何度かSDカードを作り直すがダメ。ネットを調べるとアンペアが足りないとか出てくるが、Surfaceの充電器のUSBポートでもダメ。
余談だが、一度Windows IoTを入れるとSDカードに大量のパーティションができる。どうやってフォーマットすればいいのか分からないのでパーティションを全削除したらWindowsから認識されなくなった。これはXperiaにつないだらフォーマットしてくれた。
で、結局SDカードとの相性がだめだったようで、TOSHIBAの16GBはダメでELECOMの16GBで起動したらちゃんと起動した。
→追記。TOSHIBAのSDカードがクラス4だったからだと推定。SDカードがすぐ欲しかったのでコンビニで買ってきたらクラス4だった。ELECOMは電器屋でちゃんと?買ったものなので当然クラス10。
公式7インチタッチスクリーンだと画面が逆になってしまうのを直すため、Windows 10 IoT Core Dashboardからデバイスポータルを起動。が、インストール時に設定したパスワードが通らない。どうもあのパスワードではなく「p@ssw0rd」らしい。パスワードは変更しておいて、デバイスポータルからようやく画面を反転。
次。PCからリモートで操作する方法を探してみると、Windowsストアアプリがあるらしい。Windows IoT Remote Clientでリモートデスクトップのように操作できた。これでなんとか使い始められそう。
プログラミング, コンピュータ, 電子工作 RaspberryPi, Weather Typing, Windows 10 IoT
コメント・共有する
WT3.2.1を公開。開発版からの修正は、ワードの最後の文字を打ち終わった後に入力するとたまにエラーになる対策と、内部的には各キー配列のハッシュが変わったためファイルを更新している。
ウェザタイ本体のページがごちゃごちゃしてきたので、過去の履歴を過去のバージョンページに移動。ついでに過去バージョンをダウンロードできるようにしてみた。初期バージョンは手元にないが、1.2以降は全部ある。
そして、入力方式部分をオープンソース化してGitHubに登録した。登録するのは初めてなので作法がよく分からないが、とりあえず一番自由っぽいApache2ライセンスにしてみた。商用非商用関わらずソースコードを使用可能、改造も可ってことで、ウェザタイのプラグインが増えることにつながるとウェザタイ的にもプラスになる。
プログラミング, コンピュータ Weather Typing
コメント・共有する
WT3.2の開発もほぼ完了。ということでラズパイの環境を整備。秋葉原で買ってきたラズパイ用7インチタッチLCDとケースを取り付けてみた。
LCDの電源もラズパイから取れるし、一体型で持ち運びもOK。何より裏蓋も取り外し可能ってことでなかなか使い勝手が良い。
裏で動いているウェザタイonラズパイプロジェクトを開始しよう。
プログラミング, コンピュータ, 電子工作 RaspberryPi
コメント・共有する
ウェザタイのプラグイン部分はオープンソース化してみようと考えているのだが、いろいろと分からないことがある。ライセンスはとりあえずApache2にしておけば自由に使えるかな。まだそんなことはないだろうけど、誰かがソースコードを変えようと思ったらPullリクエスト? というのがくるのか。最終的にはウェザタイストアみたいなのを作ってワード、入力プラグイン、CPUプラグイン、リプレイをみんなで公開できるサイトにしたいけど、いつまでかかるか分からない。
てことでGitHubのトップページにあるマニュアルのようなページを作っている。Markdown形式というWikiっぽい形式で書くのだが、最初AtomというGitHub公式エディタを使っていたが、文章が長くなるとすごく重くなる。ので結局サクラエディタで編集、Atomでプレビューすることに。Atomが自動的にファイルの変更を検知してくれるので割と使い勝手がよい。
プログラミング, コンピュータ GitHub, Weather Typing
コメント・共有する
WT3。なんとか終わりそう。テスト件数が約700件あってあと22件。テスト数件やるたびにバグが見つかるのでなかなか開発版を公開する勇気も持てなかったが、このままテストが終わったら正式版として公開かな。今のところバグ件数は目標50件のうち49件なのでいいペースではある。
そろそろプラグインの開発方法を書き始めないと。
プログラミング, コンピュータ Weather Typing
コメント・共有する
WT3の新バージョンも完成が近づいているのでKKさんに頼んで対戦のテストプレイをしてもらった。割とスムーズに対戦はできたが、いくつか問題も分かった。テストプログラムやチェックリストもいいんだけど、やっぱり実際にやってみないと分からない問題がたくさんある。
で、久々にネット対戦してみたけど、このソフト面白いですね。
プログラミング, コンピュータ Weather Typing
コメント・共有する
4年ぶりにスマホを買い換えた。不要なアプリが大量に動くようになってメモリが全然ない状態になってきたので。
17年間ずっとDocomo/NECだったのだが、NECスマホがなくなってしまったのでSony XZ SO-01Jにしてみた。一通り前と同じ状態に復旧完了。クラウドのお陰でそれほど大変じゃない。ストラップ穴がないのが困るけどそれ以外はOK。後は何か新しいことができるようになってないかじっくり調べるか。
コンピュータ
コメント・共有する
ずっと開発しているWTの入力方式プラグイン、だいたい実装完了。これができるとやっと新コンセプトの第一歩。
で、過去のバージョンと互換性を取るため、過去バージョンと対戦して、自動でいろいろな入力を試すテストをしているのだが、今回新しく作り直したので、過去のバージョンの方のバグが見つかる。
・Dvorakでxnが打てない。xの位置がQwertyのままになっていたため。
・50音でShift+かなが打てない。使っている人はほぼいないと思うのでこれはこのまま。
ゴールデンウィークくらいには開発版を公開できるかな。
プログラミング, コンピュータ Weather Typing
コメント・共有する
ちょっと前のAnalog Book Readerのダウンロード数がすごいことになっている。
全期間で4万ダウンロードくらいなんだけど、一週間で1600を叩きだしてまた通常の状態に戻った。GoogleとかTwitterとかでも別に何の情報も出てこなかったし、コメント数が増えたというわけでもない。友人の推測ではどこかの団体で一斉にインストールしたのでは? とか。
ところで、ウェザタイのダウンロード数は、初期のVector以外のダウンロード数は分からないけど、推計累計で4万ちょっと。そろそろAnalog Book Readerのダウンロード数が抜くくらいになっている。やっぱり世界の市場は広い。ウェザタイも今作っているエディタができるとグローバルに使えるようになる?ので本格的に世界を目指せる。といいなあ。
プログラミング, コンピュータ Analog Book Reader
コメント・共有する
久々にはっぱさんとアキバへ。今回の目的はしばらく前から気になっていたBEEP秋葉原店。路上にベーマガっぽい絵が描かれていて、地下の店に入るとレトロなPC、ゲーム、本がいっぱい置いてある。MSXやx68があったり、昔PC6001でやっていたタイニーゼビウスのテープが置いてあったり、PCやファミコンなどのゲームもいろいろ。ただ、見ていて楽しいんだけど、さすがに買っても遊べないので買う物はあまり・・・。ベーマガも結構置いてあったけど、国会図書館で読めるからなあ。本気で通っている人はアーケード基板とか家で遊べるようにしてたりするんですかね。
もう一つの目的のRaspberry Pi。とりあえずArduinoのときに買うのを保留にしていたカメラモジュールを買ってみた。どのくらい使えるか分からないけど試してみよう。
コンピュータ, 電子工作 RaspberryPi
コメント・共有する
ちょっと前にRaspberry Piを買っていたのでいじってみる。
Raspberry Piは小さいコンピュータで、SDカードに入れたOSを起動できる。また、電子部品を付けられるピンがあるので電子工作ができる。本当はArduinoにWi-Fiとカメラを付けてラジコンをパワーアップさせたかったんだけど、モーター2個とBluetoothを付けた時点で他の部品をつけられなくなってしまったので、最初からWi-Fiが付いていてカメラ用端子の付いているRaspberry Piを試そうかと。
Raspberry PiとSDカードを買ってきて、HDMIでディスプレイ、USBでマウスとキーボードをつなぐ。PC側でRaspbian(デフォルトのLinux)をSDカードに入れて準備完了。あとはRaspberry Piを起動してOSをインストール。パスワードを設定したりWi-Fiの設定をして、そこからはPCからSSHで操作できるようになった。
なんだけど、家ではWi-Fiルータ、外でテザリングでつなごうとすると、どうしてもDHCPになってつなぎにくい。ディスプレイをつないでifconfigとかはかなり面倒。てことでまず最初のプログラムとして、Raspberry Piを起動したらIPアドレスをWebに通知するようにしてみた。初Pythonだけど、いろんなコピペなのであまりよく分かってはいない。
# coding: utf-8
import urllib2
import subprocess
url = 'http://xxxxx/cgi-bin/xxxxx.cgi?ip='
cmd = "hostname -I"
ip = subprocess.check_output(cmd,shell=True)
urllib2.urlopen(url + ip)
あとは、Raspberry Piを起動すると勝手にpiユーザでログインするみたいなので、piユーザの.bashrcに以下を入れてみた。
python /home/pi/xxx.py &
Web側はとりあえずCGIにしたが、自作のライブラリをいろいろ使っているのでここには載せきれない。もらったIPアドレスをファイルに書き込んで、標準出力に出すだけのものをさくっと作った。
これでIPアドレスが分かるようになったので、ディスプレイもマウスとキーボードも使う必要がなくなった。便利。
プログラミング, コンピュータ, 電子工作 RaspberryPi
コメント・共有する
何も書かないうちに1月経過してしまう。WT3は順調に進めているが,入力方式プラグインの実装が膨大になっていてなかなかきりのいいところまでいかない。残っているのは入力方式ごとの重みの自動計算,プラグインのサンドボックス化,キー入力の送信から分そのものの送信に変更,リプレイ互換性の確保,といったところ。ここまでやってようやく仮公開できるが,いつになるか。
プログラミング, コンピュータ Weather Typing
コメント・共有する
WT3。最終形は果てしなく遠いけど,今はカスタマイズ性を上げる作業を進めている。とりあえずワードカスタマイズと入力方式のカスタマイズのUIデザインは終わって,入力方式はあと一息というところ。デザインはやろうと思えばどこまでも凝れるのでいったん区切らないと。そこまでできたら開発版をアップロードするかな。
プログラミング, コンピュータ Weather Typing
コメント・共有する
10月が終わってしまうのでエントリを追加。
WT3の開発は進んでいるのだが,まだ区切りがつくまで遠い。入力方式プラグインカスタマイズツールを作ろうとしているのだが,その前に,前回適当に間に合わせで作ったロビーのデザインを改善したり。
で本屋で目を引いた「なるほどデザイン」という本を読んでいるのだが,面白い。だいたいのデザイン本はルールと例は載っているが,設計方法が書かれていないので,初心者としてはどう役立てれば良いのか分からない。で,この本は設計方法が書かれていて,ステップごとに改善されていく様子が載っていたりする。役立ちそう。
プログラミング, コンピュータ, 書評 Weather Typing
コメント・共有する
Weather Typing。サミットでラグが発生していた問題が解決。ローマ字入力のカスタマイズでビットフラグを使っているのだが,C++のときにSTL bitsetで実装していたのをC#ではBitArrayで実装した。で,これがかなり遅くて,単純なlong型を使ったビットフラグに変えることで劇的に早くなった。
これまでも入力が遅い問題は報告が挙がっていたのだが,自PCでは再現せず原因が不明だった。サミットでは「5人対戦で長文を入力した場合」というヒントがあったおかげでやっと分かった。
ただ,今入力方式をがらっと変えていて,安定するまでだいぶ時間がかかる。修正版を公開するのはまだ先になりそう。
プログラミング, コンピュータ Weather Typing
コメント・共有する