Nコン2019中学校の部

10/14(月)

Nコン中学校の部を途中から見た。豊島岡と郡山5が銅で文の里が銀というのは波乱だが清泉の金は妥当だったろう。

自宅のネット回線の工事があってから速度は上がったけどGoogleとYouTubeで特大の(数十秒)のstallが発生するようになっていた。ISPにもっとデータが欲しいと言われたので毎分curlして所要時間をcsvにまとめるスクリプトを書いた。

久々に酒を飲んだ/酒を飲んでプログラミングをするな

※この記事は『ほろよい もも』を飲んで書かれた。

月の始めに強い意志で(ほぼ)定時退社。制度上定時はないが自分で11時から20時を勤務時間と決めている。

いろいろな事情でSlackのワークスペースが増えてきたのでLinux用のアプリケーションをインストールしたのだが、ワークスペースにログインできずにいる。ブラウザでログインした後アプリケーションに処理が移らない。

仕事でTypeScriptをやってはいるが、趣味開発で初めて裸のtscコマンドによるコンパイルをやった。コンパイルのバージョンがどうなっているのかよくわからない。前者も後者もコンパイルは通るのに前者しか動かなかったりする。

import * as Hoge from "hoge";
import Hoge from "hoge";

完全に酒に酔って意味不明ムーブ繰り出してる。間違ってaccess tokenをpushしてしまったので定石どおりリポジトリ削除→再作成→pushをやったのだが、修正をaddしないままcommit --amendしていたので無意味だった。やり直し。

Ubuntu18.04の入力メソッド選択をMac風にした

Macは日本語入力と英語入力にそれぞれキーが割り振られており、そのキーを押せばその入力メソッドになることが保証される。一方でUbuntuはデフォルトだと一つのキーを押すことで切り替わる。これだと今どちらの入力メソッドが有効になっているかわからない。

入力メソッドの設定→全体の設定→Show Advanced Options

「入力メソッドをオンに」/「入力メソッドをオフに」にそれぞれ好きなキーを設定する。僕はMac風にスペースキーの左右のキーを当てた。使ってなかったし。

使ってない、使いみちのわからないキー、あるよね。

散髪ガチャ

近所に安い床屋があることに気づいたのでそこで散髪をした。随分大胆に切られた気がする。1050円。順番待ちエリアにマンガがたくさん置いてあって、高校の帰りに古本屋でマンガを立ち読みしていたことを思い出した。そしてこち亀は圧倒的に面白い。

帰りにスーパーで焼きそばの材料を買ってきた。『おいしい焼きそば』を自称する焼きそばをカゴに入れながら、この商品名によって売上はどのくらい上がるのだろうかと考えていた。『おいしくない焼きそば』よりは売れるだろうか、いや、物珍しさの効果で『おいしくない』方が売れるだろうか。あるいは、おいしくない商品なら『おいしい』の方が売れるというような交互作用が存在するのだろうか。

その後は『30日でできる! OS自作入門』を読み始めた。フランクな文章で読みやすいのだが、実践を重視しているくせにWindowsでフロッピーディスクに焼いて動かすという地獄のような実行方法で、Ubuntuでやるならそこを適宜読み替えていかねばならないのが手間だ。幸い先人は多くいる。

Raspberry Pi Zero WHで温度センサPart.1―キーボード・ディスプレイなしでssh接続するまで

※この記事は『のどごしZERO』を飲んで書かれた

↑6本飲み終わったので次はどうしようか考えている。

Raspberry Piで温度を計測してひたすらネットのどこかに投げ続けるやつ作ってる。Raspberry Piにキーボードを繋げないとセットアップできないのかと思ったが、母艦PCでインストールメディアを作る段階で細工をしておけばいきなりssh接続できる。ssh接続できればなんでもできる。みんな黒い画面好きだよね?

調達

Raspberry Pi Zero WH(2000円@マルツ)はwifiがついていて何かと便利だ。ただし電源供給用のmicro USBケーブルとストレージ用のmicro SDカード(16GB480円@マルツ)、そして母艦となるPCは必要だ。micro USBケーブルの逆側はACアダプタでコンセントに繋いでもいいし(5V3A; 700円@秋月)、Type-AでPCから給電してもいい。micro SDカードに自分でOSのイメージを焼く必要があるのでmicro SDカードが挿さる母艦PCが必要だ。僕の場合はSDカードサイズのマウンタを使ってノートPCのSDカードリーダーに接続した。

母艦PCでインストール準備

Raspberry Pi向けのOSであるRaspbianのイメージをダウンロードし(NOOBSではない)、フリーソフトのEtcherでmicro SDカードに焼く。Raspbianはトラブル対処の自信がある人だけがLiteを選んで良い。Etcherはマルチプラットフォーム対応だがUbuntu16.04で使ったところmicro SDカードを認識しなかったのでWindows10で焼いた。どうしてもUbuntuでやりたい人はイメージファイルを焼く別のソフトを探す必要がある(いくらでもありそう)。焼き終わるとmicro SDカードが(論理的に)取り出されるので物理的に取り出して再挿入する。デバイス名がbootになっているはずだ。

ssh接続を有効にするためboot直下にsshという名の空のファイルを作る。Windowsのメモ帳で作ると勝手にssh.txtになってしかもエクスプローラ上ではsshと表示されるので注意。次に同じくboot直下にwpa_supplicant.confを作る。中身は参考リンクのものをコピペして編集する。これによって自動でwifiに接続するようになる。

Raspberry Piでの作業

micro SDカードを母艦PCから取り出しRaspberry Piに挿入する。その後電源をつなぐ。micro USBが刺さる端子は2つあるがPWRの方だ。緑色のランプが点灯し、Raspberry Piが起動する。

母艦PCからssh接続

母艦PCでターミナルを開きssh pi@raspberrypi.localと打つ。ここまでの手順に間違いがなければssh接続が成功し、パスワードを聞かれる。パスワードはraspberry

大抵なんか間違ってるよ

でも素人は大抵sshで名前解決ができないとか接続拒否とか出る。そのときはRaspberry Piの電源を抜き差ししたり待ったりする。それでもダメならsshファイルを作るあたりから見直す。

evdevを消してパソコンを漬物石にして直した/デジタル断捨離

※この記事は『のどごしZERO』を飲んで書かれた。

↑所詮発泡酒だが『ぐい麦』に比べればはるかにマシ。甘い香りがある。

Ubuntuでマウスやらキーボードやらを使うときはlibinputとかevdevがドライバとして動いている。それを消すとどうなるかというと、マウスもキーボードも使えないのでログイン画面で詰む。

発端はマウスの不調(体感)だ。カーソルが跳ねたり動きが鈍かったりということがなんとなく増えた気がしていたが、たまに起きるだけだから測定も原因特定もできずにいた。でも何か対策っぽいことをせずにはいられずにドライバ周りをいじっているうちにうっかりevdevを消したままrebootをかけてしまったらログインできなくて詰んだ。

sshでコマンドを実行できないかとか、リカバリーモードなら起動できないかとかいろいろ案はあったが、どれも成功せず(sshはsshdがないからだがなぜリカバリーモードに入れないのか)結局SSDをバックアップしたうえでUbuntu18.04を再インストールした。

一応バックアップはしたが設定は自力で再調整するのが楽しいし、作業用の環境なんかはほとんどクラウドにあるので何も輸送する必要はないかもしれない。いい時代だ。

処分

成り行きで学科のPCの処分作業を手伝った。意外とヤバい情報が入っていたのでしっかりと消してから捨てたかったのだが、それが難しかった。Windowsの不自由なPCはOSが入っているドライブのフォーマットができないし、コマンドプロンプトで全消去のコマンドを実行してもOSは無視される。傲慢なWindowsは自らが消去されるべき状況などあるはずがないと考えているのだ。

1台だけUbuntuがあり、念願だったsudo rm -rf / --no-preserve-rootを実行する機会に恵まれた。実際にはなんでも消えるわけではなく、/proc(プロセス?)や/devは消えない。しばらく待つとデスクトップやメニューバーのアイコンが消えていき、おそらくrmコマンドすら消去されて処理が停止する。Ctrl+Cで止めてターミナルにいろいろ打ち込んでみたが、lsbashrebootCommand not foundとなった。

念には念を入れ、電動ドリルでHDDに穴を開けた。弊学科に工作室があり、そこに旋盤やらドリルやらがあることを修了直前に知った。研究というのは同じことをやっているのが世界で数人ということも珍しくなく、デバイスを自作する必要に迫られることがある。僕のArduinoによる圧力センサなどかわいいものだ。

作業の報酬としてプレミアムモルツをもらった。パソコンチョットデキルアピールはしておくものだ。

Mastodon諦めました/Spotify諦めました

今日はコンピュータに嫌われた一日だった。悲しい。

Mastodon

再びマストドン立てようと思ったんだがメールが送れないのと他インスタンスとの通信ができないトラブルを解決できず諦めた。どちらも初めて出くわした。

前者は名前解決なんちゃらのエラー、後者はどうやらSSLと関係があるようだったが僕の知識では理解できなかった。そもそもMastodonは恐ろしく複雑だ。使いやすくする努力はされているが少しでも不具合が起きるとそれを解決するためにはとんでもない知識と労力が必要になる。

Spotify

Spotifyでローカルの音楽ファイルを再生したかったのだが、mp3にしか対応していなかった。そこで急遽音楽フォルダ内を全部掘ってmp3じゃないファイルをmp3に変えるスクリプトを書いた。

しかしそうして生成したファイルをSpotifyで再生しようとすると、再生ボタンを押した瞬間にSpotifyアプリが終了する。ターミナルからアプリを開いているとログが残るが、終了時に表示されるのはこれだ。

[0228/053947.271857:ERROR:input_method_base.cc(146)] Not implemented reached in virtual ui::InputMethodKeyboardController *ui::InputMethodBase::GetInputMethodKeyboardController()Using InputMethodKeyboardControllerStub
Segmentation fault (コアダンプ)

うーん。軽く調べてみるとChromiumのバグの疑いが強く、2018年11月辺りに報告が頻発している。しかしローカルの曲を再生するときだけこうなるのでSpotify側にも問題がありそうだ。

怪異・妖怪ゼロ食い/fish!!

学部生の授業のために作ったプログラムがどうもおかしいという話なので報告をよーく読んでみたら、0から始まる数列をExcelで読んだときに数値扱いされて左端の0が「食われる」という事件だったようだ。キレそう。Excelを許すな(俺が悪い)。なお検証の過程でJestの使い方を覚えた。でもCDNからモジュールをインポートしていることをJestが気づいてくれなくてエラーが出まくってやっぱりキレそう。

自宅のPCのシェルをfishに変えた。昆虫なので色がきれいなのは好き。欠点はググラビリティ。

モノを減らす

もし修士を取って予定通りに就職するとなると、今の家を引き払うことになる。これを機会に必要のないものを捨てるのはもちろんだが、それ以前にゴミは捨てねばならない。とは言うものの、片付けは苦手だし早朝のごみ捨てはもっと苦手だ。

月曜日は資源ごみの回収日だ。さっき缶と紙を捨ててきた。缶はだいぶ貯めてしまっていたのですごい量だった。回収場所に行ってみるとかごが既にいっぱいだったので一つずつ潰して小さくしていれなければならなかった。片付けというのは難しい。

実験募集が終わったので隠していたブログメニューを復活させ、過去の記事を見やすく戻した。ブログが異様に重いのもなんとかしたい。たぶん同じサーバー上で動かしているMastodonを落とせばいいんだけど、それをやってしまうのは寂しい。純粋に感情の問題だ。

そういえば昨日紹介した『Hand Simulator』だが、Steamの設定からSteam Playのバージョンを最新版であるProton3.16-5 Betaにしたところ問題なくプレイできた。操作が難しい。Steamで面白いゲームがあったら紹介してください。普段はDota2ばっかりやってます。