鍵の掛かった pdf をプロテクトの掛かっていないものにする

久々に IPA の試験を受けようと思って Google Drive を整理していたら過去の受験成績(パスワード付きpdf)を発見しました. (パスワードはファイル名に書かれていたのですがw

というわけでタイトルです.

今回は qpdf を使いました.

qpdf --password=${PASSWORD} --decrypt ${INPUT}.pdf ${OUPTUT}.pdf

これで完了です.


どうでも良いですが,IPA のページで受験申込をした際に 「住所は全角で入力しろ」 と言われてなんだかなあという気分です.

久々の試験で午前免除も無いので体力が心配です.(前回は当日に体調不良で死亡

2019年の目標

今年の目標について雑に考えてみました.

やりたいこと

ブログを書き続ける

読みやすい日本語の勉強やアウトプットの癖をつけるために最近継続していますが,これを1年間続けたいと思います.

やはりアウトプットすると生活にハリが生まれると言うか,目的を持ってやることがあると時間の使い方も変わってくるような気がします.それだけじゃなく技術的な内容を記事にしようとすると勉強に対するモチベーションも上がるので続けていきたいと思います.

それはそうと日本語って難しい.

競技プログラミングを再開する

元々学生時代からやっていたのですが,最近コードを書く量が減ってきているので再開してコードを書く習慣を付けたいと思います.頭を使わなくなると色々鈍くなっていくしねw

作りかけのファイコンエミュレータを完成させる

以前に作ろうとして放置していたファミコンエミュレータ(というかRP2A03エミュレータ)のコードを発見したので,完成させてどこかで発表したいなあと思っています.(元々は FPGA に実装して古い CPU のアーキテクチャの勉強をしたいと思い始めました.)

実は RP2A03 とかの調べものは継続していて大分仕組みは理解してきました.調べた結果によると音声が大変そうだなあという気持ちでいっぱいですw

Fortran の高位合成系を実装し直す

Fortran の高位合成系は元々学生時代に作っていたものですが,作りが雑なのと最新の LLVM に対応できていないなどの問題があります.まだ需要はありそうな気がするので実装し直してみたい.そしてソレをネタに論文が掛けたらな〜と妄想しています.

ウェブサービスを1つ以上作り運用してみる

2018年7月に仕事内容が変わりウェッブ人材になったので,これを機にその分野も深く勉強してみたいな〜と思います.勉強と言えばやはり実装するのが一番だと思うので,自分が欲しいウェブサービスを考えて実装・運用してみたいと思います.

健康的な生活を継続する

2018年も一時期は食生活に気をつけたり定期的な運動をしたりしていたのですが,最近生活リズムが乱れてうまくいっていませんでした.やはりアウトプットをし続けたり↑の目標を実現するためにも健康は重要なので優先度を上げて実施していきたいと思います!

まとめ

1年は12ヶ月しか無いわけですが継続系タスクを除くと3つの実装をしないといけなさそうですね.これは大変だw

Font Changer with Google Web Fonts で Web から汚いフォントを一掃する (Chrome Extension)

先日 Typora の日本語フォントを綺麗なものに設定する話を書きました.

今回は Chrome Extension を使って Web 上のフォントを綺麗にしていきたいと思います.

Google Fonts

Google が Web フォント用に提供するフォントで無料で利用可能です.フォントが Web で配信されるので自分の Web ページで URL を指定するだけでフォントが利用可能です.

Font Changer with Google Web Fonts

これは Web ページで使われているフォントを指定した Google Fonts で置き換えるものです.

設定できるフォントは Google Fonts から選択可能です.またカスタムフォントとしてフォントのファイル(.ttf など)をアップロードすることで,Google Fonts に無いフォントも設定可能です.

使い方・設定方法

Chrome ウェブストアから Font Changer with Google Web Fonts をインストールします.

インストールができたら拡張機能のボタンをクリックすると以下の画像のような設定画面が表示されます.

設定項目は以下のとおりです.

  • Use ~~
    フォントの適用範囲を設定します.
  • Font Name
    フォントの種類を設定します.
  • Font Weight
    フォントの太さ (ボールド体とか) を設定します.
  • Font Size
    フォントの大きさを px 単位で設定します.
  • Font Style
    フォントのスタイル (イタリックとか) を設定します.

Use ~~ でフォントの適用範囲を以下の3つします.

  • Global Font
    「全てのサイトで使用される設定」という意味です.
  • Site Specific Font
    「現在参照しているページのドメイン内で使用される設定」という意味です.
  • No Font
    「現在参照しているページのドメイン内ではフォントを設定しない」という意味です.
    これは Site Specific Font で何も設定しない場合と同義です.

Font Name で使用するフォントを設定します.

Google Fonts で利用可能な日本語フォントは Noto Sans,Noto Serif の2種類なので,その中から選びます.
※ その他にも現在では計12種類の日本語フォントが利用可能ですが,Noto * 以外は最近利用可能になったためか拡張機能では設定できませんでした.

Font Weight ではフォントの太さを設定します.

しかし特に理由がなければ設定する必要はないと思うのでここでは説明を省略します.

Font Size ではフォントの大きさを設定します.

これにより Web ページ上の全てのフォントの大きさが統一されます.

※ 12 px 等に設定すると読みやすくりましたが,タイトルなどの強調文字も同じフォントの大きさになるため文章の構造は分かりにくくなりました.

Font Style ではフォントのスタイル(イタリック)などを設定します.

これも特に理由がなければ設定する必要はないと思うのでここでは説明を省略します.

私の設定

私は前述の画像の通りに設定を行いました.見え方の変化を当ブログで検証しました.

Before

Before

After

After

うーん,設定したあとの方がフォントに可愛さがあって良いですねw

多少の変化ですが実際に読みやすくなっていると思います.

とは言え Web 上には硬派なサイト(クソみたいなフォントを使っている)もあるので実際に使用してみるとその変化を実感できると思います.

まとめ

Chrome Extension の Font Changer with Google Web Fonts で Web ページのフォントを Google Fonts の日本語フォントで統一しました.

これにより「イラッ」っとするフォントに出会わなくなり平和な日常が過ごせています.

しかし幾つか問題もあります.

  • AA の表示が崩れる
  • 絵文字が表示されない
  • 日本語フォントの種類が少ない

AA については我慢(IPAモナーを個別サイトごとに設定するのは面倒)しますw

絵文字については「絵文字を使うようなフォントに気を使っているサイトでは個別に設定をオフにすれば良いや」という運用で対処しています.

日本語フォントの種類が少ない問題についてはそこまで困っていないのですが,使いたいフォントもあるので今後の更新に期待です.

Typora の日本語フォントを変更した@Arch Linux

Typora の日本語フォントを変更した@Arch Linux

普段 Markdown を書くときに Typora を利用しているのですが, Linux 環境では日本語フォントが微妙だったので変更しました.

下の画像はデフォルトのフォントテーマの表示です.漢字の表示が汚いのが分かります.

漢字の表示が汚い

変更方法

Typora では Markdown の表示のされ方を CSS で制御しています. CSS はそれぞれテーマと呼ばれ,デフォルトでは GitHub や ダークテーマが用意されています.この CSS で日本語フォントを指定してやれば良さそうです.
CSS を1から作ることで自分のためのテーマを作ることもできます.

フォントの指定について調べてみると以下のページを見つけました.

https://support.typora.io/Custom-Font/

このページによるとbase.user.css というファイル名の CSS を作成してそこにフォントの設定を記述すると,全てのテーマに対してフォントの設定が適用されるようです.

CSS の設定ファイルは ~/.config/Typora/themes/ にあります.そこに base.user.css を追加しました.

fc-list

で利用可能なフォントを調べて以下のように設定を記述しました.

/*
 * 日本語フォントを上書きする CSS
 * https://support.typora.io/Custom-Font/
 */
body {
    font-family: "TakaoPGothic";
}

まとめ

今回はフォントにTakaoPゴシックを選択しました.
(追加でインストールが必要なフォントだと新規環境構築の際に面倒だと思ったので,デフォルトで入っているものにしました.)

これで日本語フォントの表示が綺麗になりました.

綺麗なフォント表示

Wayland + Sway な環境を構築(できなかった) @ Arch Linux

Wayland が良さそうだぞ

今回の記事はディスプレイサーバについです. Wayland は X に変わる ディスプレイサーバみたいなもので,Sway は Wayland に対応したウィンドウマネージャです.

前々から気になっていた Wayland について調べてみると X と比較してメリットが多そうなことがわかりました. 下の記事によると X では X server と Compositor が別れていたために描画の効率が悪かったが,Wayland ではその2つが統合されたようなアーキテクチャなので描画性能が良いみたいです.

qiita.com

そこで何か適当なベンチマークが無いかな,と検索していると面白いものを見つけました.

www.youtube.com

この動画では X server を使用した環境と Wayland を使用した環境を,ゲームのベンチマークを実行することで比較しています. (Wayland は描画が軽くなるという触れ込みなので最適ですね!) 動画を見てみると Wayland の方がフレームレートが安定しているように見えます. X のほうが平均フレームレートが高い場合もありましたが,X では最小フレームレートが 60 を割る場合(30 など)もありました. 一方 Wayland では最大フレームレートが X と比較して多少低い場合もありましたが最小フレームレートは 60 以上をキープしていました. そもそも最大フレームレートはディスプレイが表示できないので無視して良い指標にも思えます. 以上のことから,Wayland のほうが描画性能が高いと判断しました.

Awesome WM は使えるかなー (ダメそう)

私は普段 Awesome WM というウィンドウマネージャを使っています. Awesome WM はタイル型ウィンドウマネージャの1種でウィンドウを画面上に良い感じに配置してくれます.

Wayland に置き換える場合ウィンドウマネージャもそれに対応している必要があるのですが,Awesome WM は対応して無さそうでした. (Arch WikiAwesome WM のページに Wayland の文字が一切なかった & Wayland のページでウィンドウマネージャとして紹介されていなかったので)

Arch Wiki の Wayland のページを見ていると Sway という i3 の互換ウィンドウマネージャがありました.

Wayland - ArchWiki

i3 とは Awesome WM と同様のタイル型ウィンドウマネージャです. Awesome WM とはキーバインド等が違うだけで見た目はそれほど変わりがない(という認識)ので乗り換えることにしました.

i3 のデスクトップ

https://upload.wikimedia.org/wikipedia/commons/1/1d/I3-wm.png

Awesome WM のデスクトップ

https://awesomewm.org/images/screen.png

ちなみに,Google トレンドで調べてみると i3 のほうが利用者が多そうです. (そういえば Awesome WM を使うと決めたときも「マイノリティーの方が硬派だ」とかいうアホな理由だった記憶が…)

https://trends.google.co.jp/trends/explore?q=awesome%20wm,%2Fm%2F0jt1p_3

環境構築

ArchWiki(Wayland) のページを参考に環境を構築していきます.

weston のインストール

まずは weston パッケージをインストールします.

yaourt -S weston

インストールが完了しました. この状態で weston コマンドを実行すると,現在の X 上で Weston が起動できました.

gyazo.com

sway のインストール

通常版(sway)?はバージョンが古すぎたので git 開発版をインストールしました.

yaourt -S sway-git

問題発生

いざ weston 上で sway を動かそうとすると立ち上がらない. エラーメッセージを読むと NVIDIA hoge fuga という文字が. そういえば Sway が NVIDIA サポートを削除予定とか Wiki に書いてあった気が…これかぁ…

Arch Wiki によると Wayland と GPU ドライバが同一のバッファ API という API に対応している必要があるようです. Sway は元々 NVIDIA のドライバが使うバッファ API に対応していたようなのですがサポートを止めたようです. 調べてみると作者の1人のブログ記事を見つけました.

drewdevault.com

読んでみると NVIDIA 対応を止めた理由がありました.

So far, I’ve been speaking in terms of Sway supporting Nvidia, but this is an ass-backwards way of thinking. Nvidia needs to support Sway. There are Linux kernel APIs that we (and other Wayland compositors) use to get the job done. Among these are KMS, DRM, and GBM - respectively Kernel Mode Setting, Direct Rendering Manager, and Generic Buffer Management. Every GPU vendor but Nvidia supports these APIs. Intel and AMD support them with mainlined1, open source drivers. For AMD this was notably done by replacing their proprietary driver with a new, open source one, which has been developed in cooperation with the Linux community. As for Intel, they’ve always been friendly to Linux.

うんうんなるほど,次からは AMDGPU を買おう.

ちなみに Nouveau であれば Sway を動かすことも可能だと思いますが,やはり性能が…
描画性能を上げるために Wayland にしたいのにドライバを Nouveau にするのは本末転倒なので今回は諦めます.

The NVIDIA vs. Open-Source Nouveau Linux Driver Benchmarks For Summer 2018 - Phoronix

まとめ

今回は Wayland + Sway という環境を構築しようとして,Sway が NVIDIA のドライバに対応していない問題で止まりました. 次からは AMDGPU を買おうという気持ちになりました.

ちなみに GNOME であれば NVIDIA ドライバに対応しているので試してみてはいかがでしょうか? (そういえば Ubuntu 18.04 LTS ではデフォルトで Wayland + GNOME で動作するようになっていましたよね.)

Chrome をダークテーマで運用したいだけなら Dark Reader だけで良さそうだった

以前, Stylus という CSS を上書きできる Chrome 拡張機能でダークテーマを適用しようとしていたのですが,タイトルの結論に至りました.

Dark Reader に切り替えて

Stylus ではそれぞれのサイトごとにダークテーマを適用する必要がありました.

しかし Dark Reader ではそれがなく,全てのサイトに適用可能です.

見た目に関しても問題は特にありませんでした.

仮に見た目に問題があったとしても,Alt-Shift-D でオン・オフを切り替えられるので問題無いと思います.

また,サイトごとにオン・オフを設定できるらしいので,見た目に問題がある場合はオフにして Stylus で頑張るなどの運用も考えられます.

Stylus の使いどころ

Stylus の使いどころとしては,非表示にしたい項目の非表示などが考えられます.

Twitter では「おすすめユーザ」とか「トレンド」は表示する必要がないと思っているので,それは Stylus で非表示にするとスッキリします.

(Tweetdeck ならそもそも無いんですがね)

 

というわけでひとまず Dark Reader を使っていきます!

 

chrome.google.com

ジャンクなプリメインアンプを探してハードオフ行脚をした結果,ネットで探したほうが良いという結論に

タイトルのとおりですが,今日はジャンク品のプリメインアンプを探して埼玉の方までハードオフ巡りをしに行きました.

 

きっかけは普段からウォッチしているハードオフ系Youtuber(とそのTwitterアカウント等)でした.

動画で見ていると,ジャンク品で色々買い集めてきては直して使っているのですが,その直すハードルがそんなに高くはありませんでした.(はんだごてとテスターが使えれば問題無さそう)

 

そこでジャンク品を探しに行くわけですが,都内のハードオフは以前から通っている感じだとあまりジャンクが無い雰囲気だったので,今回は埼玉の方に行きました.

 

結論としては,ハードオフ自体がキレイになってしまい,あまりジャンク品があるという雰囲気じゃありませんでした.

また,ジャンク品があっとしてもヤフオクとかメルカリのほうが安く仕入れられそうな値段設定でした.

(少なくともネットよりは安くは無さそう)

 

結局帰宅してから,ハードオフで見つけたのと同じ型番のジャンク品のプリメインアンプをヤフオクで買いました.

ハードオフの価格の 1/3 程度で購入できました.

 

状態は通電のみの動作確認で↓のネガティブポイントがありました.

- ポテンショメーターのつまみが1つ欠品

- 液晶がつかない

 

届いたら修理していきたいと思います.

同型の修理動画もあるのでそれを参考にします.

 

ちなみに余談ですが,別の修理動画で取り扱われていたプリメインアンプのジャンク品もハードオフで売っていたのですが,故障理由(症状)が動画内で扱っていたものと全く同じでしたw

その製品が同じところで壊れやすいんだなあということが分かったので,ますます修理動画に期待です.

(ちなみに動画内のものの原因はリレーでした)