モニタにHDMI接続できなくて詰んだと思ったら意外なところに罠があった

件名の通りなんだけど,家に帰ってモニタにMacBook ProHDMI接続しようとしたらできなくてクソ焦ったって話.

まずどこかしらの接続が逝ったかと思ったので,HDMIスイッチャーを介して同じモニタに接続してるニンテンドースイッチの電源を入れた. そしたらモニタに画面が表示されたので,モニタ側には問題ないことが分かった.

モニタ側に問題がないということはPC側に問題があるだろうということで,再度PCに接続. 結果,なんかめっちゃ点滅しててめっちゃ怖かった. 恐らくモニタに接続するときに一瞬暗転するやつが連続して起きていたので,

モニタへの接続を開始→何らかの理由で失敗→接続を解除→モニタへの接続を開始→……

みたいなことが起きていたのだろうと推察した. 端子がイカれてるかケーブルがイカれてるかのどっちかだなぁ,端子だったら修理しなきゃだから嫌だなぁ,と暗い気持ちになっていたが,ここでふとHDMIスイッチャーを見遣ると,どの入力を出力しているかを表すLEDライトが微妙に暗いことに気付いた.

もしや,と思いHDMIスイッチャーの電源端子を差し込み直すと微妙に手応えがあり,モニタにPCの画面が映った.

マジかお前か.電源か.

世の中罠はいたるところに仕掛けられているので,みなさんも気をつけましょう.

ffmpegで画像の切り出しにめっちゃ時間がかかってたんだけどその原因が冗談みたいだったおはなし

注意事項

この話に新規性は一切ない。あと、ffmpegのバージョンが2.8.11と若干古い。

何が起きたか

なんやかんやあってffmpegで動画から画像を切り抜く必要が生じた。 それ自体はよくある作業なので、以下のようなコマンドですぐにできる。

$ ffmpeg -i [input] -ss [切り抜く時間] -vframes 1 -f image2 [output]

しかしここで、切り抜く時間が10分とか20分とか後ろの方に行けば行くほど、処理にかかる時間も(たぶん)線形に延びるという問題が発生した。 ちょっと時間がかかるのは分かるけど、線形はヤバい。

解決法

これ。

[http://albno273.hatenablog.com/entry/2016/07/18/ffmpeg%E3%81%A8-i_%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%8D%E7%BD%AE%E3%81%AE%E8%A9%B1:embed:cite]

要は -i オプションを -ss オプションの後に置かなきゃいけないみたい。 オプションの順番で挙動が変わるって、嘘やん……

研究室のマシンのUbuntuを14.04→16.04にアップデートしようとしてまたつらかった話

何回つらくなるんだよって話ですね.

TL;DR

  • ubuntuのアップデートは基本こうやるんやで
  • /etc/apt/apt.conf とかにプロキシ設定が書いてあると詰むから消すんやで
  • 古いリリースだったら /etc/apt/sources.list 編集せなアカンで
  • http://us.old-release.ubuntu.com は死んでるから us. 取らなアカンで
  • あけましておめでとうございます

Ubuntuをアップデートする手順

普通この手順でアップデートできるはずなんですよ.

  1. ping google.com とかでglobal reachabilityと名前解決ができることを確認
  2. sudo apt-get update
  3. sudo apt-get upgrade
  4. sudo apt-get autoremove
  5. sudo vim /etc/update-manager/release-upgradesPrompt=lts と設定1
  6. sudo do-release-upgrade -c で更新するバージョンを確認
  7. sudo do-release-upgrade

最初にpingで疎通性を確認するのは,設定がガバガバだと疎通してなかったりすることがあるため. 普通これで行けるじゃん?

apt-get update もできねえでやんの

なんでやねん.しかも 192.168.91.4 にアクセスして止まってて,ほんまなんやねんと. まあどうせプロキシとか噛ましてたんでしょう. 使わなくなったら消してけよって先輩方をひとしきり呪いましたよ.ええ.

んでね,調べたんですよ.そしたら /etc/apt/apt.conf にこんな感じの邪悪な記述があったんですよ.

Acquire::ftp::proxy "ftp://192.168.91.4:3128/";
Acquire::http::proxy "http://192.168.91.4:3128/";
Acquire::https::proxy "https://192.168.91.4:3128/";

へええ.プロキシってこうやって指定できるんだ.学び.

じゃねえんだよクソが.テメエなんてこうして,こうだ!

#Acquire::ftp::proxy "ftp://192.168.91.4:3128/";
#Acquire::http::proxy "http://192.168.91.4:3128/";
#Acquire::https::proxy "https://192.168.91.4:3128/";

はい.コメントアウトしただけ.

これで行けると思うじゃん?

ダメでした.これにひっかかりましたよ.

qiita.com

そりゃそうだ.古いもん.これの通りにファイルを書き換えました. そしたら http://us.old-release.ubuntu.com がいねえでやんの. http://old-release.ubuntu.com に書き換えてやりましたよ.

そしたら動いた.

でもネットワークがクソで60kbpsとかしか出ねえの.今は2018年なのに.つらすぎた.

ということであけおめエントリーでした.

(追記) apt-get upgrade したあとパイセンに投げたんだけど,普通にサポート切れてて詰んでた.クリーンインストールの時間ですね.


  1. いや別にLTSじゃなくてもいいんだけど,LTSじゃないとしばらくするとold-releaseからも消されてつらくなるから注意した方がいい.

Headless Chromeをいい感じに扱ってくれるpuppeteerで特定ドメインのウェブページのPDFをパシパシ取ってみた

qiita.com

にコピペして公開し直しました(雑)

Qiitaとブログの使い分けについては考えていきたいと思います.

Dockerで(HTTPSではなく)HTTP通信をする

実験環境などでDockerを使うとき,LAN内にプライベートなレジストリを建てて云々,としたいときにはSSL/TLSの設定などが面倒でHTTPSを使いたくない場合がある. そういうときにHTTP通信をする方法を調べた.

結論,この通りやればよい.

qiita.com

Ubuntuなら systemd じゃなくて service docker restart とでもすればよいのではないか(正直ここらへんはよく分かっていない).