投稿

ラベル(Ruby)が付いた投稿を表示しています

Headsetを新調

イメージ
 今まで使用してきた密閉型のヘッドフォンが、古くなってきたので…。 ロジクール ヘッドセット H340r を試したところ、予想以上に良かった。 密閉型ではないので、長時間使用しても耳が痛くない。 汗を掻かない。軽い。 マイクはノイズキャンセリングが付いていて、音質は悪くない。 マイクの角度調整が、不要なときに格納できて、位置合わせもしやすい。 そして安い。 USBタイプなので、OSにはあまり依存しないはず。 ちなみにLinuxでTeams, Zoomともに試したけれど何も問題はなかった。 最初はJabraで探していたんだけど、たまたま見つけた。 この手の物は使用していると、壊れたりするので、安いから壊れたらまた買えばいいかと…。 【Amazon.co.jp限定】 ロジクール ヘッドセット H340r ノイズキャンセリング マイク付き ステレオ USB 接続 マイク 軽量 ヘッドホン ヘッドフォン ブラック windows mac Chrome テレワーク リモートワーク Web会議 国内正規品 [Amazon.co.jp 限定壁紙ダウンロード付き] 軽いので、使用しないときはディスプレイの端に引っ掛けておいています。 今時の製品は、安すぎるのでは?と思う価格で、しっかりと動作してくれるので助かっています。

chromebookにruby3.0

イメージ
 chromebookをサブ開発マシンに と思っているので、clang,python3,juliaにvscodeから利用できるように設定してきた。 さて、12月末にruby3.0が正式リリースされたので、テストしたいなぁと思っていた。 ところが、aptを使って入れるとruby2.5と随分古め…。 探してみても、chromebook用のサードパーティリポジトリなんてないし…。まあ、他の作業しながらビルドしてみるかと思って構築してみた。 基本的には rbenvを使用することに。 https://github.com/rbenv/rbenv が、rbenvの配布元なので、ここのReadme.mdを参考に進める。 まずは、そのままクローンする。 $   git clone https://github.com/rbenv/rbenv.git ~/.rbenv あとは、ドキュメントに従ってPATHを通す。 $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc $ ~/.rbenv/bin/rbenv init 初期化しろというので、実行しておく。 他のサイトでは、.bashrcに書いている場合もあったので、念の為入れておく。 $ echo 'eval "$(rbenv init -)"' >> ~/.bashrc この時点で、.bashrcを読み込み直しておく。 $ source ~/.bashrc ruby-buildというpluginが必要なので、入れる。 $ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build $ echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc 再度、.bashrcを読み直す。 ここで、利用可能なバージョンをチェックすると $ rbenv install --list 2.5.8 2.6.6 2.7.2 3.0.0 jruby-9.2.14.0 ...

gollumの構築

イメージ
ローカルのwikiが欲しい メモや作業記録をテキストに書いて保存するケースが最近増えている。 特定のアプリケーションに依存したくないし、バックアップや変更が、どこでもいつでもしたいと言うのが大きな理由だ。 スマートフォンとの連携を考え、Google KEEPやEvernoteを利用してきたが、PCで作成・保存したり、検索したり、バックアップ等を考えると、別のものが欲しくなる。 【条件】 Markdownが使えること データはテキストファイルが望ましい(DBは使いたくない) 将来的には、ネット経由も検討 という条件が必須。 以前は、Pukiwikiを使用していたが、やや重いのと、スマートフォンでの利用が少々扱いにくい。 また、データファイル名が文字コードを元にした形式なので、あとでデータファイルを直接扱う時に不便なんだよね。 もう少し、単純なもので探してみた。 gitを利用したwiki gollum というgitを利用したwikiを見つけた。 シンプルだけど、最低限の条件は満たしている。 しばらくテストのために、構築して使ってみる。 https://github.com/gollum/gollum によると、rubyのWEBrickで動作するらしい。 インストール ドキュメント通りに、進めてみる。 gemでインストールとのことだが、標準で入っていたっけ?(今回18.04に変更しているので、環境がまだ良くわかっていない) username@u1804:~$ gem Command 'gem' not found, but can be installed with: sudo apt install ruby rubyを入れろと言われてしまった。いままで当たり前のようにrubyを使っていたけど、まだ標準じゃないのね…。 username@u1804:~$ sudo -s root@u1804:~# apt install ruby これで、とりあえずruby関係は入ったので、gemが使えるはず。 root@u1804:~# gem install gollum Fetching: charlock_h...

Termuxでどこでも開発

イメージ
Androidならでは… 前の前の機種(ASUS Zenfone2)の頃から、お世話になっているTermux。 出先での作業には欠かせない重要なツール。 https://termux.com/ これは何かというと、Android上でのTerminal Emulatorで、Linux開発環境と同等のコマンド・機能が使える。 しかもroot化の必要はないので、気軽に使える。 Google Playから普通に導入可能。 何ができるかというと とりあえず、現在の主な使い方は ssh(opensshをインストール)を入れて、出先から管理しているサーバに接続して作業するというのが主。 実際には sshaの方を使うと幸せ。 でもって、これらのツールはすべてaptで入れることができる。 おかげで、ノートPC無しでもサーバに接続して、何度も危機を乗り切った(笑) 現在作業中のもの あれこれ面白いので、インストールして試しているのだが…。 python3 + numpy GNU nano php7 clang + dev環境 ruby などを入れて、動かしている。 とりあえず、講義で使用するサンプルを作って、動作確認してみたり、気になったことを確認するのに片手でプログラミングして、さくっと動かせる。 試しに、PHPをビルトインサーバで動かして、phpinfo()を実行してみる $ php -S 192.168.0.100:8080 この状態で、他のPCから叩いてみると 普通のLinuxサーバで動かすのと何ら変わりない。 Andorid上のブラウザで実行するだけなら、 $ php -S localhost:8080 とすれば良い。 さすがに、1024ポートまではroot化していないので、利用不可。 もちろん、高機能ではないし、常にwebサーバとするには、電池の持ちも含めて、いろいろと問題があるけどね…。 そもそもwebサーバを動かしたという話も聞くけれど、スリープになったら落ちるとか…。 言語オタクには楽しい エディタは軽めのnanoで、書い...

Sketch の書き込みができた on Ubuntu

イメージ
Arduinoでトラブルが続いていた 現在、Ubuntu(12.04-32bit)+ruby 1.8.7 + Arduino Mega2560という組み合わせで、開発を進めているのだけれども、先の記録にもあるように、予想以上に苦労している。 今回、Arduino IDEからMEGA2560へのsketchの書き込みが、エラーで出来なかったものを、工夫することで書き込みができることが分かったので、まとめておこうと思う。 まずは設定 普通にArduino IDEを起動して、書き込みを行うと図のようにエラーが発生する。 例では、スケッチの例にあるStandardFirmataを読み込んで、Arduino Megaに書き込もうとしている所。 すると、 avrdude: stk500v2_RecieveMessage(): timeout なんてエラーが延々と出て書き込みが終了しない。 こんなエラー情報では、何もわからないので、詳細な情報を得られるようにしておく。 「ファイル」->「環境設定」->「より詳細な情報を表示する」の「書き込み」にチェックを入れておく。 コンパイルの情報を見たければ、チェックを入れればいいのだけれど、今回はコンパイルまで終了し、書き込みに失敗しているので、書き込みだけでOK。 具体的な手順 この状態で、コンパイル&書き込みを行うと、さっきより格段に細かい情報が得られるのが分かるはず。 これが右の図。 すると、どんなデータを書き込もうとした。上手くいったとか失敗したとか…。 この状態が最低限必須。 この状態で先に進んでも良いのだけれど、詳細なLOGを見ているうちに、どんどんエラーが増えていくし、エラーをたくさん見ても意味が無いので、起動方法を変更する。 コンソール(Terminal)から、手動で起動してやると、あとの処理が楽になる。 $ arduino もしくは $ /usr/bin/arduino か、異なるバージョンを入れてたりするなら、そのディレクトリで $ ./arduino で起動するはず。 ここまで来たら、書き込みたいsketchを開いて、書き込みを実行する。 すると当然のことながら、先と同じエラーが発生する。 ここで慌てずに、...

ERROR: Failed to build gem native extension.

イメージ
arduinoでfirmata とりあえずVirtualBoxのLinux上で、ruby+arduinoの動作は確認できている。 しかし、いちいちarduino側のプログラムを更新していくと、ホストPC上のRubyの更新もあって、管理が煩雑すぎるなぁ…。と思って検討する中にfirmataが良さそうだ。 基本的な通信プログラムと、IO周りを全て面倒見てくれて、Rubyから自分のポートのようにアクセスすれば、arduino上のポートにアクセスできるミドルウェアだ。 じゃあ、Linux上のarduio-IDEでStandardFirmataを書き込んでみようとしたら、なぜかエラーを吐きまくる。 avrdude: stk500v2_ReceiveMessage(): timeout が繰り返し出力されて、上手くいかない。 随分調べたけれども、stk500v2ではなくwiringを使えとか…。書き込みにAVRISP mkIIではなくAVRISPを使えだとか…。ボーレートを変更しろとか…。 どれもダメだった。 ここで、止まっていても埒が明かないので、HOSTのMac側で書き込むことにする。 こちらからの書き込みは問題なく完了した。 arduio_firmataのインストール 動作テストをしなければ、始まらないので、Linux上でテストする。 $ sudo gem install arduino_firmata とこれだけですね。 Fetching: args_parser-0.1.4.gem (100%) Fetching: event_emitter-0.2.2.gem (100%) Fetching: arduino_firmata-0.2.3.gem (100%) Successfully installed args_parser-0.1.4 Successfully installed event_emitter-0.2.2 Successfully installed arduino_firmata-0.2.3 3 gems installed Installing ri documentation for args_parser-0.1.4... Installing ri documentation for ...

CD-Drive全滅か…

イメージ
Ubuntuマシンを準備しようとしたら Arduinoのテストをするのに、これまでMac上で試験を行なってきた。おかげでこの1週間は、ブログもツイもあんまり出来なかったのだけれど…。 でもって本日、計測環境での動作テストに出向いたのだけれど…。Windowsノートマシンが渡され…。仕方なく、環境整備から行った。Arduino-IDEを入れ、Ruby+gems+serialportなどなど。 でもって、何とか動かせる環境を整えて、いざ動かし始めたらOSが死ぬという情けない落ち。仕方なく再起動をかけようとしたら、Updateによる更新を止む無くかける事態となり、マシンスペックの低さ故、1時間以上かかって、壊滅。 現場の作業は、センサーの動作確認と、リレーの動作確認しかできなかったorz。 再度打ち合わせて、マシンを別途用意することに。 自分のLinuxノートを使ってもいいのだけれど、これを献上するのは嫌なので新たに用意するしかない。 自宅に戻って、引き取ってあった古いマシンにLinuxでも入れて環境整備することに。 しばらく放置してあったけど、問題なかろうとセッティング。 さて、電源をいれると…。 1台目…メモリエラーをBIOSが報告。まあ、そんなこともあるわ…。次だ。 2台目…XPの起動を確認。ubuntuのインストール用Diskを入れようと…。Disk DriveがEjectされない。ピンを挿して強制排出するも、CDを認識しない。くそっ! 3台目…XPの起動を確認。CDを食わせるも認識しない。 寒さのせいだろうか、ドライブが逝ってしまっている。 あと3台あるけど、これ以上作業したくない。 他のマシンから、CD Driveを抜いて、差し込むのも手間が掛かり過ぎる。 ネットワークインストールするか…と思って、しばしGoogle先生と格闘。 USBからインストール可能かも BIOSでUSBからのブート可能なマシンを選定。 Ubuntu Japanese Team Wikiに「 UNetbootinの使用方法 」というのを見つけた。早速 UNetbootinをダウンロード して作業開始。 ubuntu12.04LTSの 日本語 Remixのisoイメージを...