Ruby: 定数に再代入したら例外を発生させる

背景 Rubyでは定数に再代入した場合、warningは出るが処理がとまることはない。 警告メッセージだけだと見逃すことがあるので例外を発生させたい。 Ruby本来の動作 a.rb DUP = 'file a' b.rb DUP = 'file b' main.rb require_relative 'a' require_relative …

Neovim: Auto close floating windows after window leave

vim

Neovim: Auto close floating windows after window leave

AlaxalA AX2230Sのパスワードリセット

ax2230sが届いて「さて初期化するか」と思ったらどうにもできない。 公式のマニュアルには「5秒間リセットスイッチを押してデフォルトリスタートしてください」と書いてあるが、これをしても通常の再起動しかしなかった。 次にトラブルシューティングガイド…

Rubyのgoogle-api-clientでGoogle Custom Search APIを使う

Google Custom Search APIとは Google検索の結果をJSONで取得できたら便利ですよね。 スクレイピングで頑張るという手も有りますが、ライセンスやサイトの仕様変更を気にする必要が有ります。 そんなときは Google Custom Search API を使いましょう。 手軽…

プロキシのストレスをちょっと減らす for Linux

この記事は この記事は、Kogakuin Univ Advent Calendar 2018 の25日目です。 昨日は 研究室のサーバに接続したい です。 弊学のネットワークはプロキシ必須で苦しいですよね。ストレスMAXですよね。 特にラップトップにLinux入れて持ち歩いてる人は大変です…

Arch dm-cryptでデバイスを透過的に暗号化する

前座 先日ThinkPad X1を購入しました。 初期のOSとして当然Windowsが入っているわけですが、最近は初期状態でBitLockerによるデバイスの暗号化が施されているようですね。 少し感動しました。 ちなみに、Linuxを入れるためにSecureBootを無効にするとTPM(セ…

SlackAppを最小化状態で自動起動する for Linux

私はログイン時にSlackを立ち上げてほしいけど、ウィンドが表示されるのは邪魔だなー と思う派です。 PCを起動してターミナルを立ち上げてコマンドを実行! としようとしたときに自動起動したSlackAppに入力が取られて、変なメッセージを送ってしまったことが…

clang-renameをVimからサクッと呼び出してC++のリネームを快適にする。

vim

最近Go言語を使ってるんですが、この言語gofmtやgorename、goimportsなどのツールが充実していて良いですね。 C系の言語にも同じようなツールは存在します。 Welcome to Extra Clang Tools’s documentation! — Extra Clang Tools 5 documentation この内clan…

vim-fakearray ダミー配列を手軽に入力するプラグイン作った

vim

github.com プログラミングをしていると適当な配列が欲しい時ありますよね。 「0〜100の整数からランダムに10個選んだ配列」などなど。 そんなVimmerの要望を叶えるのがvim-fakearrayです。 vim-fakearrayはvim-fakeに依存しています。 vim-fakeについては作…

quickrun.vimからPrevimを呼んでMarkdownをプレビューする

vim

PrevimはMarkdownプレビュー用のVimプラグインです。 スタンドアロンで動作するのが魅力です。 そんなPrevimをQuickRunで呼び出せたらキーマップの節約になります。 autocmdでMarkdownのときだけキーマップを上書きしてもいいのですが、どうせならスマートに…

空行をレジスタに送らないVimオペレータ作ってみた

vim

ddで空行を削除したらヤンクしたテキストが上書きされてしまった… なんてことありますよね。 "_ddでブラックホールに送れば済む話ですが、空行を消すために毎回レジスタ指定するのは面倒くさい。 そんな思いから、空行(空白のみも含む)を削除したときは自動…

switch系プラグイン vim-clurinを強化した話

vim

github.com switch系プラグインについて switch系プラグインとは定義されたルールに従ってテキストを置換する類のプラグインです。 よくあるルールはTrueとFalseを切り替える、if -> else if -> else の順で切り替えるなどです。 vim-clurinの基本的な使い方…

btrfsで空き領域が開放されずにのディスク使用率が100%になる。

1週間ほど前、btrfsのデバイスが容量が空いているのにも関わらず使用率が100%のまま変わらない事があった。 いろいろやった気がするが、ほとんど思い出せないので覚えてる限りの解決法を載せておく。 注意点 btrfsは空き領域をプールするのでdfコマンドで見…

letを使ってシェルで条件演算子(三項演算子)

ポイント シェル変数は$を省略する 未定義の変数は0として扱われる 文字列は扱えない シェルと反対にtrueは1、falseが0 $ let 'a = 1? 11 : 22' $ echo $a 11 $ let 'a = 0? 11 : 22' $ echo $a 22 $ let 'a = 3==3? 11: 22' $ echo $a 11 条件演算子以外に…

Kuportの情報取得するgem作った

この記事は Kogakuin Univ Advent Calendar 2016 - Adventar の15日目です。 かなり遅れました、ほんとすみません。 概要 github.com みんな大好きkuportからデータを取得してJSONに変換して出力します。 ライブラリとしても使用可能です。 MechanizeとかNok…

ターミナル上に画像を表示する方法いろいろ

ターミナル*1に画像表示したいですよね。 先日w3m*2でブラウジングしてたら、テキストブラウザなのに画像が表示されて驚きました。 gnome-terminal, konsole, terminologyの3つの端末で表示されたので端末共通の画像表示方法がありそうです。 端末上での画像…