memorandums

日々のメモです。

失敗:cd to.appでなぜかターミナルが2枚開かれてしまうのを直そうとしたけどダメだった件

macに以下の便利アプリがあります。開発者の方は結構入れている人が多いのでは?

qiita.com

ずーっと使ってきたのですが、最近(私のMacだけかもしれない)、ボタンを押すと、1枚のはずが2枚ターミナルが開いてしまう事象がありました。1枚は所望の、もう1つはどうやらホームディレクトリのようです。

とりあえず、開発者のページにいってもう一度アプリを入れ直してみたのですがダメ。

GitHub - jbtule/cdto: Finder Toolbar app to open the current directory in the Terminal (or iTerm, X11)

上記でソースが公開されているのでcloneしてxcodeprojectをビルドしてみました。

ちなみに、このソースは古いので現在のXcode(10.3)だとError: Multiple commands produceというエラーが表示されます。プロジェクトの設定をあれこれいじってみたのですがわかりませんでした。

ぐぐってみると以下の解決法がありまして。これはいつか使えるかもしれない知識?ということで、とりあえずメモります。ありがたや。

qiita.com

たしかに「古いビルドシステム」に戻すと、ビルドが通りました。

しかし。。。生成されたcd to.appを起動しても何も起きません。(ログにも)エラーもでません。

とりあえずデバッガーで動きをみてみたのです。内部の詳しいことは調べずに。。。です。

このコードでやっていることは2つです。

(1)一番手前にあるFinderが開いているフォルダのパスを取得する

(2)そのパスを引数としてターミナルを起動する

デバッガーで見てみると(!)は成功しているようです。でも(2)は。。。うまくいかない。githubで公開されているrelease版だと動くのですが、xcodeでビルドしたものは動きません。。。わかりません。

xcodeからターミナルを起動する方法も調べて試してみましたがうまく動作しませんでした。cocoaを調べてswiftで書き直したらいいんだろうな。。。という妄想をいだきつつ。

とりあえず今日はここまでとします。誰か対処方法をご存知の方がいらっしゃれば情報をいただけますと。。。助かります。

Mi Fitのバージョン戻し(4.0.7 → 4.0.6)

今年の正月に以下のようなことをしていました。

memorandums.hatenablog.com

購入したAmazfitのアプリの挙動がおかしかったため。。。前のバージョンに戻したという作業ログでした。

それ以降は問題なく使えていたのですが(何度かバージョンアップが来てたのですが、なぜかBluetootu通信が途中で切れてできていませんでした)、1週間ほど前にたまたまうまくいったんです。

アプデ直後は気づかなかったのですが、先日、近くの公園をウォーキングしたときに計測スタートしたら。。。落ちる。え!?という感じでした。しかもメニュー(なぜか日本語に変わっていた)の文字が消えていて。。。

多言語対応って大変なんだと思いますが、基本的なことなので。。。品質保証体制ってどうなっているんでしょうね?

とりあえず、昔とった杵柄じゃありませんが、上記の自分で書いた作業ログを見ながら、再度、ApkMirrorから1つ前のバージョンのapkファイルをダウンロードしてきて新しいスマホにインストールしました。

ちなみに、最新版は4.0.7でして、1つ前のバージョンは4.0.6のようです。4.0.6のダウンロード用のリンクを以下に貼っておきます。

www.apkmirror.com

Amazfitは前の正常に動作していた状態(メニュー表示は英語)に戻すことができました。

もうアップデートしなくていいなぁ。。。これで十分使えるから。

スマホを買い替えました

今まで使っていたのはZenfone3で、ブログを探すと3年前に購入したようです。

memorandums.hatenablog.com

その前まではAppleストアで購入したiPhone6 SIMフリーを使っていました。MacユーザなのでiPhoneの方がいいのですが、容量の小さいスマホに10万円とか。。。付き合ってられないなぁ。。。と思ったのがはじまりでした。

Androidに切り替えてストレスがあったのは文字入力。これ以外はほとんど問題ありませんでした。低価格の割に容量が大きいのでアプリも動画もどんどん保存することができて快適でした。

しかし。。。3年も使っているとさすがに辛くなります。一番辛いのはバッテリーでした。それでも貧乏性から、ebayで交換用バッテリーを購入して使ってきました。日常生活(自宅 or 研究室)ではすぐに充電できるので問題はなかったのですが、出張時には1日使い続けると危険になります。ポケgoをまたやり始めたのも災いしていると思います。。。あやうく大阪の街で迷子になるところでした。。。

買い替え先は何にしようかと検討しました。ちなみに、思い立ったのはもっと前でして、そのたびに「もっといいのが出るはず」と自分自身をなだめてきました。

探した価格帯は5万円以内。よほど楽しい体験ができるのであれば出しますが。。。最近のスマホはどれも似たりよったり。X1は面白いな。。。と思いましたが、先行発売された海外のレビューが酷すぎて止めました。

色々と調べて、候補に残ったのが以下です。

  • ZenFone Max Pro M2
  • ZenFone Max (M2)
  • Pixel3a

HUAWEIコスパの良さで採用したかったのですが。。。やはりレビューをみるとAndroidの供給がなくなる可能性があるというので却下。OPPOもいいな。。。と思いましたが、格安のやつはセンサーが削られていて実験とかで困りそうだし、いいやつは高いしで却下しました。

こういう比較では価格.comがいいですね。以下です。

価格.com -スマートフォンの比較表(ZenFone Max Pro (M2) SIMフリー、ZenFone Max (M2) SIMフリー、Google Pixel 3a SIMフリー、ZenFone 5 SIMフリー)

ちなみにZenfone6が国内販売されそうなのですが。。。国内では7、8万円くらいになる。。。というので止めました。

焦点はUSB-C(急速充電)と無線LANのacに対応しているかどうか。MaxとMax Proは両方ともダメ。Zenfone5とPixel3aは両方ともOK。

迷いました。Maxはコスパ最高なのですが。。。ROM32GBというのは厳しすぎます。そこで却下。

Pixel3aはとってもいいな。。。と思ったのですが、画面サイズが5.6とZenfone3より小さくなるのは嫌だな。。。と却下。

Zenfone5かな。。。と思ったのですが、やはり、今回の買い替えの理由はバッテリーでしたので、充電時間がかかっても容量が大きい方がいいな。。。ということ(もちろん安いこと)で、Max Proにしました。

実際にどこで買おうかと思ったのですが。。。価格.comで比較してもそれほど大きな価格差はありませんでした。

であればポイントがついた方がいいな。。。と思いヨドバシ.comで博多店で受け取りができるようにしました。

[https://www.yodobashi.com/product/100000001004317599/:title=ヨドバシ.com - ASUS エイスース ZB631KL-TI64S4 [Zenfone Max Pro (M2) Series SIMフリースマートフォン コズミックチタニウム] 通販【全品無料配達】]

店舗に立ち寄り受け取ってから。。。復元がなかなか面倒くさい。。。Googleのバックアップで復元したのですが。。。個別のアプリは1つ1つ手動で入れる必要があり。。。設定も個別にしなおす必要があります。この辺はやはりiPhoneの方が楽ですねぇ。。。

ちなみに初期セットアップでやるべきことをまとめたエントリーがありました。あとで見たので参考にしませんでしたが。。。

solodc2011.com

SIMカードをいれると。。。なぜか数秒で画面ロックされる現象が出て。。。困りましたが、SIMを指し直したり再起動しているうちになくなりました。。。よくわかりません。一応、報告があるようですが原因不明のようです。

bbs.kakaku.com

ガラケーからスマホに切り替えたとき(確かドコモのソニー・エリクソンAndroid端末だった)やiPhone4Sに切り替えたときのワクワク感はもうありませんが。。。とりあえずバッテリーが持ってくれたら言うことなしなので。。。

発売されてずいぶん経過していますので、既に購入した方のブログなどをみながらカスタマイズしていこうと思います。

ちなみに一番気になったのは、購入した端末が不具合改修を終えたヤツなのかどうか。。。ということでした。思い立ったら何とかですので、ASUSに確認してみました。

メール・電話・チャットの選択肢がありましたが、私はメール(メールフォームですな)を選択しました。

ASUS - メールでのお問い合わせ

半日後、以下の回答がありました。Amazonなどでどこの業者かわからないところで買うと修理前のものが届くこともある。。。という情報をみました。さすがに天下のヨドバシカメラさんがそんな品を売るわけはないと思いましたが、人間間違いは必ずあるので。。。確かめてみたわけです。これで安心です😁

お客様:

この度はお問合せいただき誠にありがとうございました。
ASUSサポートセンターより回答させていただきます。

お問い合わせの内容につきまして、弊社システムにて登録製品の情報を確認させていただきました。
お持ちの端末「シリアル番号 :XXXXXXXXXXX(←私のシリアル番号)」は不具合を解消した新しい製品です。
リコール対象品ではございません。ご安心くださいませ。

以上、お手数をお掛けし大変申し訳ございませんが、宜しくお願い致します。
その他ご不明点等がございましたら、お気軽にお問い合わせください。

担当者:XIA
ASUS カスタマーサービス
ASUS テクニカルサポートサイト: http://support.asus.com

★お返事を頂ける際には、件名を変更せずにそのままお送りください

大阪出張

Ruby on Railsによるチーム開発の授業実践(PDF) というタイトルで昨年の授業内容をまとめたものを発表させていただきました。

Railsが公開されて15年。いまさら。。。という感じはもちろんあります。何度か採用してみようと思ったときはあるのですが。。。学科の導入言語がJavaのときにはなかなか判断できませんでした。ちなみに、大学院ではずーっと前からうちの学科長の先生が教えられています。

他の大学でも学部でRailsを取り入れているところはあるようです。しかし、大学院での取り組みは研究報告されていますが、学部での教育内容を論文にしたものは残念ながら見つかりませんでした。

そのような状況なので発表してみたわけです。

昔のトラウマなのか、どーしても学会発表では緊張しちゃいます。こんな年になっていながら情けないほど。。。授業等では全く問題ないのですけどねぇ。。。

そこをいくと最近の若い学生さんは本当に堂々としていて頼もしいです。うらやましくもあります。プレゼン慣れとかそういう次元ではない何かしらの感性が根本的に違うように思います。素晴らしいことです。

学会出張の目的は、学科自体ではあるのですが、せっかく行った先での周辺観光も楽しみの1つです。

今回は2つ目標を立てました。1つは国会図書館関西館、2つ目は関西の寄席をみることでした。

国会図書館は東京に比べるとアクセスが悪かったのですが、せっかくの大阪出張なので行ってみたいと思いまして。

京阪線で祝園(←ほうそのって読むそうです。関西の地名って本当に独特ですねぇ読めね。。。)で降りて、駅前からバスが出ているのでそれで移動します。10分くらいです。

f:id:ke_takahashi:20190817093056j:plain

閲覧室は撮影禁止なので、その前のフロアーは以下のような感じでした。

f:id:ke_takahashi:20190817093919j:plain

東京(特に本館)はとても歴史を感じる建物で大好きですが、関西館は新しいようで、めっちゃ綺麗でオシャレでした。

あれこれ楽しみました。

国会図書館が福岡にもあったらなぁ。。。あのデジタルライブラリにアクセスできるだけで、いくらでも時間が潰せます。しかもタダ!?

さらに上方落語も見てきました。繁昌亭です。とっても綺麗な建屋(浅草とは。。。ごめんなさい)

f:id:ke_takahashi:20190816192613j:plain

東京出張では、よく浅草演芸ホールに行きます(かれこれ5,6回は行ったような)。新宿の末広亭には1度だけ行きました。

上方落語は鳴り物が入るんですね。。。地名なんかも関西が多くよくわからない。慣れが必要と思いました。

ぼやぼやしていると夏休みも終わっちゃいそうです。

後期の準備もしなきゃ。

スプラトゥーン勝敗シミュレータ(まだまだ赤ちゃん)

ゲームのバランスって難しいですね。

簡単過ぎると面白くない。難しすぎても面白くない。

コンシューマゲームならなるべく多くの人にプレイしてもらいたいはずで、上手い人も下手な人もそれなりに楽しませたいのではないかと思います。

ここまでは個人的な想像です。

どんな人もそれなりの「やりがい」を感じるために、上手い人は上手い人同士で(下手な人は下手な人同士で)競わせれば、自然と勝率が落ち着くはずです。

一方で、スプラトゥーンには勝率5割論ってのがあるようです。

マッチングが良すぎたり悪すぎたりすることで。そのマッチングが意図的にコントロールされているのでは?ということのようです。例えば、以下のようなエントリーです。

【スプラトゥーン2】「5割マッチングを勘違いしている人の多さ」誰でも勝率が5割になるって意味じゃないからな? | イカ速 | スプラトゥーン2攻略まとめ

本当にそうなんだろうか?気になりますよね。。。結構、研究している人がいるようです。データをちゃんと取ってやっている人とか。

私はそれは面倒なので、シミュレーションで検証できないかな。。。と思っています。

以降、ツイートしたので、それを貼り付けます。

ゲーム自体をシミュレーションするのは難しいので、全員のスキルを合算して多い方が勝ちという単純なルールです。ここでいうスキルとは、プレイヤーが本来持っている「上手さ」であり、ゲームに慣れて数値があがっていくものではありません。

シミュレーションモデル自体が単純なので悪いのかもしれませんが、ポイントは、スキルに差があるプレイヤーが4人1チームになったときに、そのマッチングが本当にランダムだったら勝率はどうなるんだろうか? ということを調べたいと思いました(乱数はMath.randomではなくwindow.crypto.getRandomValuesを使っています)。

結果は。。。スキルと勝率はかなり強い相関になるんですね。。。

ですよね。。。

ゲーム自体は単純ではないので、上手いプレイヤーでも立ち回りをしくじったら負けることはあるでしょう。でも。。。そういうランダムな要素って小さいのではないかな。。。と思ったりしています。

少しずつ育てていきたいな。。。と思います。はい。

骨盤サポートチェア導入

2ヶ月ほど前、嫁さんが誕プレに欲しいというので近場のショップで以下の商品を購入しました。

f:id:ke_takahashi:20190814213652p:plain

Body Make Seat Style (ボディメイクシート スタイル) | Style|BRANDS(ブランド一覧) | 株式会社MTG

座ってみると多少違和感があるのですが、長時間座っていても疲れません。不思議です。

1,2年くらい前から左膝の内側に静脈瘤のようなものができてしまいまして。。。痛みまではないのですが、長時間、椅子に座っているのは苦手です。

たぶん、若い頃から仕事で1日中座っていたのが原因だと思いますが。。。体質か遺伝かもしれませんし、わかりません。

この椅子に座ると左膝の違和感がないのです。

左の下ももや臀部のうっ血感も少なく。たぶん、姿勢が矯正されるのが効くのかもしれません。

研究室でも長時間座っていることが多いので。。。もう1つ購入しようかな、と。

1個8千円くらいなのですが、新品を買うのももったいないな。。。と思い、あちこちのネットショップを探したのですがどこも同じような値段。値引きしない商品なんでしょうねぇ。。。残念。

次に探したのがヤフオク。メルカリは好きじゃないので(←たいして変わらないですよね。。。気分の問題です)

いろいろな価格帯で出品されていましたが、その中から送料別で3800円というのを見つけました。

送料いれても半額くらいで買えるからいいや。。。と思って取引すると神戸の中古ショップ業者の方みたいでしたね。。。個人事業の方かもしれませんが。

これまでヤフオクでは3,4回取り引きしましたが、いずれも契約から発注まで素早くできてほんといい感じです。

とりあえず盆休み明けから使ってみたいと思います。

この形のOAチェアが発売されればいいんでしょうけどねぇ。

BluetoothヘッドフォンをつけてTidalCyclesやろうとするとエラーがでる件

昨年末、以下のように少しかじった件です。

memorandums.hatenablog.com

その後、田所さんの本が出版されて写経したのですが。。。どうも自由に演奏できる感じにはなれていません。。。

演奏するプログラミング、ライブコーディングの思想と実践 ―Show Us Your Screens

演奏するプログラミング、ライブコーディングの思想と実践 ―Show Us Your Screens

この夏休み、再度、学び直ししたいな。。。と材料は以下にしようかと。

www.youtube.com

本日、週末の出張に備えて出勤しているのですが、電車でBluetoothヘッドフォン(完全分離)をつけて音を出そうとすると。。。SuperColliderで以下のエラーが表示されて開始できません。

ERROR: Input sample rate is 44100, but output is 48000. Mismatched sample rates are not supported. To disable input, set the number of input channels to 0.

私のMacで標準の音声入力と音声出力は44.1kHzで同じためこの問題は起こらないのですが、BluetoothヘッドフォンをMacに接続した状態では出力が48kHzになるようで、さらに入力は8kHz(←音声通話用なので)になってしまい、これが原因でサーバーが起動できない。。。ようでした。

メッセージの後段の「To disable input, set the number of input channels to 0」を設定しようとしたのですが、なかなか見つかりません。

やっとみつけた記事が以下でした。ありがとうございました。

qiita.com

記事中の以下の行が音声入力チャネルを0にすることでオフにできそうです。

s.options.numInputBusChannels = 0; 

ということで、SuperCollider(というよりSuperDirtの起動スクリプトに上記の行を追加しました。最終的には以下です。sってのはlocalhostを指す暗黙オブジェクトっぽいです。調べていないので間違っているかもしれませんが。

s.options.numInputBusChannels = 0;
SuperDirt.start

とりあえずこれで環境が整いました。電車でも練習できます😁