memorandums

日々のメモです。

repl.itで標準入力の文字コード指定がでけた

ついさきほど以下のエントリーを書き終えたところで、何とかならないかな。。。とrepl.itのドキュメントを眺めていたら。。。ありました。

repl.itで標準入力の文字コード指定が難しい - memorandums

.envというファイルに環境変数をセットしておけば、runボタンを押して反映されました。

echo "LANG=C.UTF-8" > .env
echo "LC_ALL=C.UTF-8" >> .env

どういう仕組みなのかわかりませんが、以下のドキュメントにかかれていました。

Repl.it - Docs

実行結果は以下の通りです。

f:id:ke_takahashi:20190410200340p:plain

ただですね。。。残念ながら、ブラウザを閉じて、再度、プロジェクトを開くと。。。この.envファイルは消えてしまうようです。。。なんか永続化する方法があるような気もするのですが。。。とりあえず。

repl.itで標準入力の文字コード指定が難しい

昨年から担当授業の言語をJavaからRubyに変える必要がありました。

学科の演習室パソコンはシンクラ&WindowsなのでRubyRails開発の環境セットアップが難しいのです。。。できなくはなさそうですがシンクラのイメージ構築は業者任せなので細かい設定ができません。もちろん私にも知識はないし調べる余裕もないので。

で、クラウドに逃げました。

Rubyの演習はpaiza.ioを。RailsはCloud9を使いました。

paiza.ioは日本の会社が開発していることもありUIも日本語ベースでよかったのですが、標準入力は予め用意しておく必要がありました。インタラクティブに操作しながらメニューを表示してまた入力する。。。といったことがしにくかったんですね。

そこで、昨日から探索したところ、以前から知っていたrepl.itが良くなっているようで。

特に、標準入力はCloud9のようにほぼターミナルのように扱うことができます。

Repl.it - The world's leading online coding platform

これはいいや、と早速、本日の演習から使いはじめてみました。UIの言語を選択することができないので英語ですがメニューはそれほど多くないので難しくはありません。

ちなみに、Railsアプリの開発もできるようです。手順がちょっと一工夫(ターミナルウィンドウを表示する操作)が必要なので、一応、忘れないように画面記録してみました。

www.youtube.com

ターミナルもどきが使えるのでrailsコマンドも使えます。db:migrateもしてくれます。いやはや凄い。単体パソコンとは多少使い勝手が異なりますが、慣れれば何とかなります。

で、本題。

本日は、初回講義ということでRubyの復習(ちなみに私の担当授業は3年生向けで、1年の前期に別の先生がRubyを教えています)でした。

で、問題がわかったコードが以下。

puts gets

これで日本語(マルチバイト文字)を入力すると。。。以下のエラーが表示されました。

あれあれ
"\xE3" on US-ASCII
(repl):1:in `puts'
(repl):1:in `puts'
(repl):1:in `

'

repl.itのサーバ側で動いているVMのLANGを見ると設定なし。。。ということでたぶんUS-ASCIIになっているんだと思うんです。そこにWebページからUTF-8の文字列が入力されたけどUS-ASCIIとして解釈されて文字化けが起こった。。。Ruby自体はUTF-8ですが。

そこで、上記のRailsアプリの動画の手順と同じように、ターミナルを開いてLANGを設定して手動で実行してみました。無事動作しました。

f:id:ke_takahashi:20190410193156p:plain

でも、そのままrunボタンを押しても結果は上記の通りエラーになります。ターミナルでの設定内容を反映するため以下の赤丸印を押すと別タブが開かれて、そこではLANGの設定を反映した状態でRubyを再実行できました。

f:id:ke_takahashi:20190410192138p:plain

でも、やはりrunボタンでの実行ではムリです。。。うーん。

ちなみに、コードを以下のように書き換えてみました。

puts gets + "さん"

結果は以下の通りでした。

f:id:ke_takahashi:20190410193419p:plain

ターミナルウィンドウではうまく動きました。

f:id:ke_takahashi:20190410193458p:plain

おしい。。。

.profileか.bashrcを書き換えてみたんですが。。。プロジェクトを再度開くとその設定は消えてしまいます。どうしようもないなぁ。。。

なんかありそうですけどね。。。とりあえず今日はここまで。



■追記 上記の問題、部分的に解消する方法がありました。一応。。。

memorandums.hatenablog.com

メダカ

昨年の秋くらいだったでしょうか。

休日に家族ででかけたときに立ち寄った道の駅で「メダカ入りの水槽」を見かけました。

これまでも何度も見かけたけど手にとったことはなかったんですが。。。なぜかそのときだけは気になって買ってしまいました。

しばらく自宅に置いていたんですが。。。邪魔と言われ研究室に持ち込みました。

浄水ポンプを稼働していたんですが、当然ですがフィルターはすぐに汚れるし、低騒音のやつを選んだとはいえ大学の電気で。。。

1ヶ月ほどして浄水ポンプもはずして、1ヶ月に1回くらい水を入れ替えるようにしました。

元気です。

本当は取り合える水は水道からすぐに入れるのではなく1日置いてカルキ抜きするとか、入れ替える量も半分ずつとかノウハウがあるようですが。。。面倒なので一気に入れ替えています。

以下のような感じ。電灯は餌をあげるときだけつけています。最初は窓際に置いていたのですが、風水的には出入り口に置いたほうがいいとかで移動しちゃいました。。。なぜ風水😁

f:id:ke_takahashi:20190408154552j:plain

やさしい子に育てるには動物の世話をさせるのがいい。。。とどこかでみた憶えがありますが。子供の頃に飼っていた金魚や亀はみなろくに世話もしなかったのですぐに死なせてしまいました。。。

面倒なことがエンターテイメント?になる。。。人にはそういう時期があるんだろうな。。。と思います。

そのうちWebカメラをつけて映像表現的なものを作りたいな。。。とか。ロボット型の金魚も作ってみたいな。。。とか。いろいろ考えてはいますが実践はできていません。

できればやってみたいな、とは思っています。はい。

ちなみに4匹ほどいたのですが2匹は自宅に置いていたときに既にお亡くなりに。。。2匹ともオスなので繁殖しません。メスを連れてきてあげたいな。。。と思っていますが、車じゃないので気軽にはいけません。Amazonで買えるかなぁ。。。ダメか。何とかしてあげたい。

Smart Laser CO2 の位置決めキットの電源コードが切れた。。。

春ですねぇー。

f:id:ke_takahashi:20190403082735j:plain

今日は新入生ガイダンスでした。朝早くから打ち合わせがあったので6時30分の電車に乗るため6時起きしたら人身事故で遅延。。。急遽、西鉄+バスに切り替えて移動しました。はい。明日は入学式。そして明後日は在学生ガイダンスです。前期が始まります。そんな話は置いておいて。

1ヶ月ほどまえに久しぶりにレーザーカットしようとしたら位置決めキットのコネクターの配線が抜けてしまいました。。。オイオイ。

f:id:ke_takahashi:20190403153909j:plain

はんだづけし直せばいいやと先延ばしにしていました。

で、ガイダンス後に時間があったので作業してみたところ。。。む、難しいぃ。。。コネクタを買い直せばいいのでしょうけど、結束バンドをほどいて配線しなおす必要があります。これはなかなか厄介だな。。。と。

ちなみに、位置決めキットとは以下のようなレーザーポインタ(可視光)なんですね。CO2レーザーは不可視なので部材のどこを切り始めるのかがわからないんです。そこで、このレーザーでスタート位置を確認してからレーザーカットを始めるんですね。ちなみにこれはオプションなので標準キットにはついていません。後付する必要があります。このレーザーポインタの電源用コードのコネクタから配線が抜けてしまった。。。というのがこのエントリーの背景になります。

f:id:ke_takahashi:20190403171525j:plain

コネクタが使えないけど、カットする前だけ必要なんですね。。。だから切入したいわけです。そこで、とりあえずスイッチをつけてみました。

f:id:ke_takahashi:20190403162236j:plain

でも、つけてみてから気づいたのですが、このレーザーポインタ用の配線はオプションなので浮いた状態になっている(←たぶん、実物をみないとわかんないですね。。。ご容赦ください)んです。なので、レーザーカットのヘッド部があちこちに移動すると配線がどこかにひっかかる恐れがあるんですね。。。

ということで、思い切ってヘッド部に電池ボックスを載せて配線を不要としてみました。こんな感じです。わかるかなぁ。。。

f:id:ke_takahashi:20190403165813j:plain

とりあえずはいい感じかと。ちょっと気になるのはカット中に発生する臭気と反応してなんか悪さしないかな。。。ということ。乾電池はたいていの環境で使用できるはずなので。。。大丈夫と思うのですが。あと何かしらの事故でレーザーが電池に当たったら。。。これも集光レンズ以前であり焦点距離が短いので大丈夫と思ってはいます。もちろんカット中は立ち会うので問題があってもすぐに止められるとは思いますけどね。。。この辺はハードウェアならではの心配事になります(ソフトウェアならいくらバグを作ってもそれ単体で怪我したり事故になることは考えなくていいですからね、もちろん制御システムでの不具合では起こりえますが)。

ちなみに操作している様子は以下になります。ゼミ室に転がっていた電池ボックスのスイッチが微妙ですね。。。単3・2本の電池ボックスってこんなのしかなかったっけなぁ。。。

youtu.be

ちなみに、このレバーみたいなスイッチのおかげで1つ問題が発生しました。カットするときには上蓋を閉めるんですね。上蓋には下図の赤線部のようにステーがあるんです。ここが。。。電池ボックスのレバーと干渉してしまうんですね。。。まいった。そこで上の動画のようにレバーをL字に曲げたんですね。

f:id:ke_takahashi:20190403173533j:plain

とりあえずなんとか当たらなくなりましたよ。。。というのが以下の動画になります。これもわかりにくいですねぇ。。。

youtu.be

でもなんか聞こえてきません?😁 子供番組ですが。。。

www.youtube.com

これで使ってみようと思います。はい。

とりあえず乗ってみた

元号、決まりましたね〜。

午前中に用事があったので昼ごろに研究室に到着して動画で観ました。

www3.nhk.or.jp

まぁ、誰もがやりそうですが。。。とりあえずコースター作ってみました(笑)

f:id:ke_takahashi:20190401131052j:plain

いらんでしょうけど。。。SVGファイルも置いておきます。よければ増刷(いや増カット)してください。

https://www.dropbox.com/s/pfjnx3f1nst79e1/reiwa.svg?dl=0

いやーめでたいめでたい。

何が?

いや、めでたい。

OCNモバイルからエキサイトモバイルへMNP転出

数日前にNTTコミュニケーションズから1通の封筒が届きました。

内容は今年9月をもって15GB/M、500kbpsのコースを終了するとのこと。

2018年12月3日:「OCN モバイル ONE」におけるサービス内容の変更について | NTTコミュニケーションズ 企業情報

調べると2年前から使ってきたようです。

IIJmioからOCNモバイルへ切り替えるまでの話 - memorandums

500kbpsで大丈夫かな?と思いながらも月額2,500円の安さが気に入って利用してきました。回線品質も特に気になることもなく、テザリングもOKで毎日、利用してきました。

そこにこの訃報です。残念です。

確かに、この価格でこの品質で提供しているMVNOはないようです。どういう判断があったのかわかりません。儲けが少なかったのか利用者が少なかったのか。

サービス終了の9月までまだ時間がありますが、思い立ったのが吉日ということで代替手段をザーッと探しました。

主な情報元は価格.comのページです。

主にテキストが主体のインターネットのページを閲覧する程度ですので(動画などをガンガンみるわけではないという意味)、回線速度は低速(500kbps)で構いませんが、できれば残容量を気にせずに使いたいところです。

あとは、以下のサイトも支持情報として役立ちました。企業の安定性も着眼すべきだと書いていました。たしかにそうだな。。。と。怪しいMVNOは候補から削除しました。

格安SIMを30枚以上契約している格安SIMの管理人による、格安SIMと格安スマホの徹底比較

ネットのランキング情報はフェイクが多いと思いますが、このページは読む限りバランス感がよくそう感じませんでした。もしフェイクだったら。。。僕の見る目がないのでしょう。

で、検討の結果、残ったのが、以下の2つ。

  • エキサイトモバイルの最適料金プラン:2,860円/月(音声プランで8GBまで使った場合)
  • UQモバイルのデータ無制限+音声通話プラン(500kbps):2,680円/月

UQモバイルのプランの方がOCNモバイルのプランに近いし回線品質もいいらしい。エキサイトの方は10GB使うと3,388円となりさらに低速(200kbps)になるっていう問題もあって。

ただ、au回線(VoLTE)なのでAndroidでの使用端末を気をつけなければならなくなるらしいのです。近いうちに買い替え予定ですが、今使っているZenfone3(台湾版)では音声通話ができないという情報も。ファームを書き換えると通話できるとかいう話もありますが辛いです。。。UQモバイルは断念しました。とりあえず1年縛りの間はエキサイトを使ってみようと思います。どうしてもダメなら違約金払って変えますが。

ちなみに、エキサイトさんは4月1日までに契約すると初期費用3,000円がかからないっていう話。ちょうどMNP転出に3,000円かかるのでその分を出しますよ、ということなんでしょう。

ということで昨日(28日12時)、OCNにMNP転出の申請をしたら。。。本日(29日14時)、SMSに番号が届きました。はやっ。早速、エキサイトのページで入力した利用申請すると本人確認完了のメールが数分後に届きました。こちらもはやっ。。。SIMを受け取って切り替え処理をすると4/2より利用開始ができるようです。

さて、どーかなぁ。

やっぱりPocketに戻しました。

2日ほど前に以下を書きました。InstapaperのコンテンツをEvernoteに移し替える手順を書きました。

bookmarkサービスをinstapaperからEvernoteに変更したメモ - memorandums

結局、IFTTTで移行できたのは10分の1件くらいでした。1つずつ読み込んだりアーカイブした場合はIFTTTをキックしてくれるんですが、一括でインポートすると(当然な気がしますが)ダメでした。あと、Evernoteの無料枠ではノート件数に上限(10万件)があるので、必要なノートが作成できなくなる恐れがあるのも嫌でした。。。

で、その後、あれこれ探しました。

  • Google Bookmarks ⇒ インポート機能がないので✕
  • Google Keep ⇒ Webクリップするのは良さげですがインポート機能がないので✕
  • Twitterのブックマーク機能 ⇒ InstapaperのalternativesでググるTwitterが。。。なぜと思ったらそういう機能が追加されていたんですね。。。知らなかった。でもツイートされたものじゃないとブックマークできないので✕
  • Google Chromeのブックマーク ⇒ ソーシャルである必要性はまったくないので、Chromeのブックマークに「あとで読む」フォルダを作ってそこにInstapaperのデータを読み込みました。7千件くらいです。とりあえず検索ができていい感じでしたがソート機能がないのであとで読みたくてもどこにあるのかわかりません。拡張機能もあるにはあるんですが一部のフォルダにだけ適用するようなものがない。しかも、Chromeの動作が怪しい。。。当然といえば当然かもしれません。

で、結局、Pocketにしました。Instapaperにする前にPocketを使っていたので何をやってんだか。。。という感じではありますが。

とりあえずPocketのインポートはブラウザのブックマークのエクスポートファイル(html)が必要なので、前の記事に書いた方法で、InstapaperのコンテンツをChromeのブックマーク形式に直しました。

それをあとは読み込ませればOKでした。ただ、一度に読み込む件数が多いと504エラーになるので、千件ずつくらいにわけて読み込ませました。

しらばらくはこれで行ってみようと思います。