勉強のモチベーションになればいいなと

ただ資格勉強するだけじゃつまらないので、資格勉強の進捗や気になったことを発信してみようかと思って始めました

Divaコン作り始めました

はじめに

初音ミク Project Diva Future Tone DXがやりたくなったのでやっているんですが、アケコンが欲しくなったので作り始めました。

先人たちの知恵を借りてとりあえずMPR121(静電容量式タッチセンサ)を2つ注文して届いたのでRaspberry Piで動作確認。

そのときに躓いたことを軽くメモしておきます。

今回作成するタッチセンサとRaspberry Piへの配線はこんな感じ。

上のブレッドボードは今手に入るMPR121の基板だと思ってください。 左からIRQ,SCL,SDA,ADDR,GND,3Vo,VINで並んでます。

今回使うのはSCL,SDA,GND,VINの4箇所のみ。

f:id:ymd330:20200513220152j:plain
配線図

Raspberry PiはI2Cを有効化したものとして話を勧めます。

接続できたらi2cdetectコマンドで認識しているか確認しましょう。 認識されていたら5aって表示されていると思います。

# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- 5a -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

手順

  • gitからAdafruitのサンプルをダウンロードする。(今回はPythonでやってます。)
git clone https://github.com/adafruit/Adafruit_Python_MPR121.git
  • setup.pyを実行する。
cd  Adafruit_Python_MPR121/
sudo python setup.py install

この後にsampleフォルダにあるsimpletest.pyを実行すればいいと思っていたんですが、エラーになってしまったので エラーメッセージでググりました。

エラーメッセージはこれ。

Adafruit MPR121 Capacitive Touch Sensor Test
chmod: '/sys/module/i2c_bcm2708/parameters/combined' にアクセスできません: そのようなファイルやディレクトリはありません
Traceback (most recent call last):
  File "simpletest.py", line 34, in <module>
    if not cap.begin():
  File "/usr/local/lib/python2.7/dist-packages/Adafruit_MPR121/MPR121.py", line 90, in begin
    I2C.require_repeated_start()
  File "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO/I2C.py", line 79, in require_repeated_start
    subprocess.check_call('chmod 666 /sys/module/i2c_bcm2708/parameters/combined', shell=True)
  File "/usr/lib/python2.7/subprocess.py", line 190, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'chmod 666 /sys/module/i2c_bcm2708/parameters/combined' returned non-zero exit status 1
  • モジュールを読み込む(自分はこれでエラーが治りました)
sudo modprobe i2c_bcm2708
cd example
sudo python simpletest.py
  • 触って楽しむ

以上!

この後は先人の知恵のソースを眺めつつDivaコンのタッチセンサーを作れるようにやっていきたいと思います。

知識ゼロからだったのでタッチセンサーを動作させるのにも時間がかかるかなと思っていましたがあっさり行けましたね!

ターミナルを変えました

今までWindowsTerminal(Preview)を使っていましたが、wslttyに鞍替えしました。

vimでterminalを開いたときにカーソルが白塗り矩形になってしまうのと、白塗り矩形が文字を透過しなくて使いづらい事に気がついたので。。。

WSL(ubuntu18.04) + fish + wsltty の環境で改行時に

[I] [04/24 14:52] ~ >
¶       

こんな感じで表示されてしまい画面が変になる人向けに改善方法を書きます。 結論から書くとwslttyのテキストのロケール設定をCに変えるだけです。

f:id:ymd330:20200424145424p:plain

日本語環境やろ~って思ってja_JPにしていたのが良くなかったみたいです。

WSL環境はこんな感じ

[I] [04/24 14:49] ~ > cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
[I] [04/24 14:50] ~ >
[I] [04/24 14:49] ~ > fish -version
fish, version 3.1.0
[I] [04/24 14:49] ~ >
[I] [04/24 14:49] ~ > locale
LANG=ja_JP.UTF-8
LANGUAGE=
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

wslttyすごい快適ですね。 色バグとかもないし。。。

BeatSaberめっちゃ面白い

ひょんなことからカイシャの人にOculus Riftを借りました。
(2月には自分で買う予定)

 

BeatSaberがめちゃくちゃ面白い

Mod入れてカスタム曲入れられるようにしていろいろな曲やってます。

 

ejiejidayoさんのButterflyがめちゃくちゃ面白いので皆さんもBeatSaber買ったらMod入れてぜひやってみてください。

 

最近はModいれるのもツールがGithubで公開されるなんてすごい時代になりましたね。

BeatSaberのMod管理に使っているのがModAssistantというツールで、C#で書かれているっぽいです。

 

余裕があったらコードも少し覗いてみようかな。

 

3Dモデルを表示したり三人称視点にしたりするModあるんですが流石にGTX970だとスペック不足があってそこまでは手を出せないですが、そのうちRyzenやらなんやら買ってあたらしいPC組んでやりたいですね。

 

3Dモデル作成にも手を出しそうで怖いです。

vimconf 2019 感想

vimconf.orgvimconf 2019に行ってきたので情熱のある内にレポートをしたい

全編通して英語 ⇔日本語同時翻訳付き!!
非常に濃厚な1日でした。
ノベルティVimロゴ付きのアイススプーンと鮭とばでした。
鮭とば美味しかった・・・・

これでシンカンセンスゴイカタイアイスも難なく食べられますね!!

セッションについて


LSP(Language server protocol)と通信するためのプラグイン(vim-lsp)を作った人と
Neovimのリードメンテナの人のKeynoteセッションで開幕。

正直話についていけない感がすごかった

そもそもプラグインのキーワード補完の機能がどういう仕組みで動いているか知らなかった(LSPという言葉の意味すらわからなかった)ので、非常にいい勉強になりました。
vim-lspに依存しているなんかのプラグインを使ってみようと思ったけどうまく動かすことができなくて挫折してました
neovimの話とかテキストエディタの歴史とか

 

 

非常に印象に残ったというか、自分が理解できたもの/覚えているもの

- Vimを完全に理解するとvimになる (vim理解度のグラフの頂点にYou are vimと書いてあった)
- 目の前の仕事を片付けてから.vimrcを触ろう(.vimrcを触る時間が長くなるのはみんなあるあるらしい)
- .vimrcの可搬性を大事に

- 使っていたプラグインのバグを報告したら「neovim使ってないからわからない」で10分でissueが閉じた
- PR投げてレビューを受け、後方互換性を意識したコードへ
- これからコントリビューターとしての道が 必要なのは一歩踏み出す勇気

- タグジャンプについての話
- 正直全然理解できなかったけどそういう仕組みがあって、指定した関数へのジャンプ機能を実装しているということがわかった

- vim本体のテストについての話(正直あんまり理解できなかった・・・)

- vimさわり始めて1年でものすごい量のアウトプットをされたゴリラさんの家は上野動物園にあるらしい
-

- 光のvimmerの話
- プラグインを使わずにvimの標準機能のみでvimを使い倒す
- 非常に多くの機能を使っていて正直頭が全然追いつかなかったのでHelpを熟読しようと思う

- 闇のvimmerの話
- プラグインをめちゃくちゃ使ってライブコーディング
- フォントサイズを変えることですらプラグインを使ってヌルヌル替えていくところが非常にプラグインを使いこなしていてすごいと思った
- 機材が不調だったがカメラで撮影した画面を共有してデモをするというすごいアドリブ発表
- ズーム(物理)

昼食

すきやき弁当美味しかった(小並感)

LTについて

- スッと下がるドラを持つ手
- 痩せたい.vim
- コードの大規模リファクタリングのツールとしてvimscriptを選択した話
- vimソースコードgoogle codeからgithubに移管した話(急遽LT枠で40分で話す予定の話を5分に圧縮)


AfterParty

- LANケーブルの様な見た目のLANケーブルのような味がするお菓子(アメリカ産お土産)
このお土産のおかげで交流ができました、この場を借りてお礼を申し上げます。ありがとうございました!
- AfterPartyLT
- テンプレートプラグインを使ったスゴイハヤイライブコーディング
- 消えたスライド/英語・日本語両対応LT
- 3枚のうち1枚が「おまけ」のみの高速LT(矩形選択のエンド位置を変える方法と前回の矩形選択を呼び出す方法)
- vim内でExplorer すごい便利だと思ったので入れようと思う

感想


のりと勢いで参加したvimconfですが、非常に楽しめました。
いい知見を得られたのでvimをたくさんやっていきたいと思います。


自分の日本語と記憶力の限界です。矩形選択のエンド位置を替えるショートカットはもうすでに頭から
抜けてしまったので調べます。。。


ありがとうございました。

Deep Security ManagerのSNMP Trap送信にはまった話

今いろいろと話題のTrend Microさんですが、Deep Security でSNMP Trapの特定アラートが通知されなくてはまっていたのが解決したので書きます。

 

システムイベントで「アラートの開始」の転送するにチェックを入れていなかったのが原因でした。

 

顛末はもう疲れたので今度忘れてなかったら書くと思います。
ただの設定漏れだったよ・・・

AWSのコンソールログインにはまった話

AWSのコンソールにログインしようとしても「不正なリクエストです」と出てログインできなかった問題が解決したのでここに記します。

 

犯人はTrueKeyの自動ログイン機能でした。 Firefoxのせいじゃありませんでした。

自動ログインが悪さしているっぽいのでTrueKeyの自動ログイン先URLをaとか適当なものにしてパスワードだけコピペして入れてあげればログインできることは確認できました。

 

パスワード管理ツール万歳。

 

事の顛末といいますか詳細は下記につらつら書いておきます。

 

 

 

前にインスタが乗っ取とられたのでついにパスワード管理ソフトを導入したんですよ。 TrueKeyを。

家のPCとか持ち歩いている端末にはTrueKeyを入れて、ブラウザにもTrueKeyの拡張機能を入れています。

 

AWSを触ろうと思い、必要な情報を入力してアカウント作成するまでは順調だったんですが、ログインするときにメールアドレスを入力していざパスワードをTrueKeyのパスワード入力機能を使ってログインしようとすると、不正なリクエストですという文字が・・・

 

TrueKeyって割と適当だったりよくわからない挙動をしがちなので、パスが上手く登録できていないのかなとコピペを試したりしてみたんですが、ログインできない。

パスワードポリシーに違反したり文字数が多すぎたり少なすぎたりするのかなって疑ってパスワードポリシーとかを読んでみたんですが、特に抵触しているようなこともなく。

 

パスワード変更したらうまくいくんだけど、いざログインしようと思うと「不正なリクエストです」でログインできず・・・

 

ブラウザが悪いのかと思ったし友達にもブラウザ変えてみれば?と言われたので、Chromiumをインストールしてログインを試みたらログインできました。

ここで安心してTrueKeyの拡張機能を入れました。

 

これでログインできるやろーーーってTrueKeyの自動ログイン機能を使ってログインしようとした途端にログインできなくなり、TrueKeyが犯人だとわかりました。

 

拡張機能を無効にするとそれはそれで面倒だし、ブラウザ2種類起動するのも面倒だったので、自動ログイン先のURLを適当なものにしてコピペしてログインすることを試しました。

結果うまくログインできたので、TrueKeyの自動ログインでなにがしかに引っかかってログインできなかったんだろうなという結論に至りました。

 

以上です。

これからAWS触っていきたいなーって思ってます。

 

転職に向けて自分の趣味嗜好を考える

最近転職を考えています。

 

今自分が働いているところはSESをメインにしている会社で、自分は「現場」に出向してExcelと睨めっこしながら作った手順に沿ってサーバーを作っています。

 

転職を考えるきっかけは、会社に対する帰属意識のなさといいますか、この出向する形態に嫌気がさしたといいますか、そんな思いが湧いてきたからだと思います。

 

現場にいつも出向していて、たまに定時後に帰社してみんな何やっているかを報告するミーティングがあり、プライベートの時間を使うことを前提とした「グループの取り組み」を行う会社にいるんだかいないんだか分からない帰社して…

 

そんな感じであまり会社にいる意味を見出せなくなってます。

一ヶ月に一回お金くれる足長おじさん的な印象になって良くない

 

金稼いでるプロ意識が足りないとか言われるかもしれないけどそこは経営者が考えることだと思うんですよねこっちは8時間やっとるんじゃ何がいけないんじゃおらぁんなんて気分にもなってきます

 

じゃあ転職して何がしたいのか、転職先に求めることは何か、じぶんがやりたい、求めていることは何かって最近考えているわけです。

前置きが長くなってしまいましたね。

 

最初は自分で作ったもの、関わってきたプロジェクトの話をしたい、何も話せないのは嫌だなって思っていたんです

関わったプロジェクトの性質上言えないわけです、何やってきたのって聞かれてもどこまで話していいのかわからずふんわりとしたことしか答えられないんです。

 

そこでじゃあこれ作ったよ!って話せることならいいのかなと思ったんですがこれといって作りたいものとかがなくて、プロダクト愛とかも持てそうにないなとも思ってしまいまして。

 

今自分はインフラエンジニア?として仕事しているわけですが、サーバーを立てると一口に言ってもある目的のためにサーバーをみんな構築してお金を稼いだり処理をしたりするわけです。

 

やれwebサーバーだなんだって言っても立てた上でそのサーバーで何をするの、何を動かすのなんて言われた時に何も答えを持ち合わせていないんです。

 

さぁ、何をしましょうか?

 

なんてことしか言えなくて、これがしたい!っていうのが今迷子になっています。

 

そこで自分の趣味嗜好に立ち返ってみようかなと思って今この記事を書いてみています。

 

自分は不便や冗長なことは嫌だなと思っています。

また、手段が目的化しやすいというか、手段のほうに興味関心があるのかなと考えてます。

 

セルを細かくしたExcel方眼紙のセルを結合した印刷するような見た目のパラメータシートに手打ちでパラメータをこしらえて目grepしてミスあったら修正して、って凄いITなのにITしてないことばかりやっていて…

excel自体は好きなんですけどね、マクロとか数式とかで工夫できるので

 

あくまでサーバーやミドルなどを意図通りに構築するためにパラメータシートを作ってレビューしてるんだと思うんですがその作り方があまりにもお粗末というか結局最後は人間の目で注意深く見るくらいしか品質を担保しようとする手段がないんですよねそれって(結局想定外のことは起きてその対策がチェックリストで確認とかまた意味ないことをする)

 

なんか書きたいことが散らかったのでとりあえず公開します。

また後で加筆すると思います。