おかゆ++

IT業界の片隅で生き残るブログ

私がOperaブラウザを失ったあの日

はじめに

タイトルにあるOperaブラウザは、バージョン12.xxまでの、Blink版ではないOperaを指します。 Prestoエンジン版Operaが失われてから4年、今でもブラウザには不満を抱えたままです。 適当にその辺の想いをつづりたいと思います。

Operaが変わってしまったあの日

Operaは素晴らしいブラウザでした。少なくとも私にとっては一番のブラウザでした。 一番の理由は、縦に並べることができ、100個以上開いても軽快に動作するタブです。 マウスジェスチャ拡張機能なしで対応しているのもポイントでした。 Google Chromeはタブを縦にできず、Firefoxは大量のタブを開くと動作が怪しくなる。 Operaは軽くて使いやすいブラウザでした。

もちろん良いところばかりではありませんでした。 レンダリングエンジンがPrestoという独自のエンジンだったため、 Opera自体の利用者が少ないこともあり、表示が崩れてしまうサイトも多々ありました。 しかし今(2017年)のように、JavaScriptCSSを駆使したグラフィカルなサイト・Webサービスはまだまだ少なかった時代、 多少の表示の崩れはそこまで問題ではなく、 私にとってはメリット(タブの軽快な動作)を打ち消すほどのデメリットではありませんでした。

しかしある日、OperaレンダリングエンジンをPrestoからWebKit(のちにBlink)への移行することを決めました。 その後リリースされたBlink版Operaを見て、私は思いました。

これ、ほぼGoogle Chromeじゃん……

Blink版Operaは、それまでのOperaとは似ても似つかないブラウザとなっていました。 かくして、私は愛用のブラウザを失ったのです。

理想のブラウザを求めて

Operaは失われた。ではどこへ行けばいいのか? 移行先のブラウザを求めて私は彷徨いました。 衝撃的なデビューから一気にシェアを拡大していたGoogle ChromeChromeに押されていたものの、次々と新バージョンをリリースしていたFirefox

ブラウザを乗り換えるに当たり、私が要求するポイントは以下の3つでした。

  1. タブを縦に配置できること。
  2. タブを大量に開いても動作が重くならないこと。
  3. マウスジェスチャに対応していること。

当時、1~3をすべて満たしてくれるブラウザには残念ながら出会えませんでした。 仕方なく私はFirefoxにツリー型タブを導入して使い始めました。 ツリー型タブの使い勝手自体は非常によく、タブ縦表示についてはクリア-しましたが、 タブを大量に開くと動作が重くなることは改善できませんでした。

(補足しておくと、一応PCのスペック自体は悪くないはずです。Core i7でグラボも乗せて、メモリ16GBのデスクトップなので……)

タブをたくさん開くと重くなるので、あまり開かないようになりました。 というよりも不要なタブを閉じるようになりました。 ブラウザの挙動に人間が合わせるなんて! とも思いますが、 整理整頓するようになったことはある意味よかったのかもしれません。

でもFirefoxは結構気に入ってもいる

Firefox Syncを利用して、複数の端末で設定を共有できるのは素晴らしいと思います。 PCを新調したときなども、新しい環境にすぐ前の設定を復元できるので楽ちんですし、 スマホとブックマークが共有できるのも地味に便利です。 もし使っていない方がいれば今すぐ登録するべきです。

同じようなものはGoogle Chromeにもありますが、そっちは使ったことがないので違いはわかりません。

Firefoxはなんだかんだでその拡張性を維持しつつ、 新しい機能を取り込んでいってくれる(ような気がする)ので、 そういうなんとなくのイメージが好きですね。

注目しているブラウザ

Opera 12.xxの思想を色濃く受け継いだVivaldiというブラウザがありますが、 Firefox Syncのような共有機能がないため、乗り換えられません……という話はまた今度。

vimrcを整理した話

秀丸も併用のにわかvimmerですが

エディタはVim秀丸の両方を併用しています。

なんでVim一本じゃないかというと、テキストを一時的に貼り付けておいたりするのには秀丸が便利だったりするからです。 Ctrl+C → Ctrl+V のコピペがVimはできなので、そうなるとほかのアプリケーションから切ったり張ったりするのにはちょっと不便です。

ただプログラムを書いたり長文を書くときは基本Vimです(というかKaoriya GVimです)。WindowsでNeoVimがまともに動くようになった日には乗り換えたいです。

vimrcが汚い

整理前のvimrcは大体250行くらいでした。 そんなに大きくはないと思うんですが、全く整理していないため、 同じ設定が2度3度出てきたりしていました。

整理する方針

  • 設定ごとにファイルを分ける
  • いらん設定は消す
  • dotfiles管理も整理する
  • プラグイン管理はdein

ファイル分割について

分割の仕方はいろいろあるみたいですが、凝ったことをするつもりはなかったので、 Shougoさんのvimrcを参考にして書いてみます。

github.com

最終的にはこんな感じ↓

let g:vim_home = expand('~/.vim')
let g:rc_dir = expand('~/.vim/rc')

" rcファイル読み込み関数
function! s:source_rc(rc_file_name)
    let rc_file = expand(g:rc_dir . '/' . a:rc_file_name)
    if filereadable(rc_file)
        execute 'source' rc_file
    endif
endfunction

" 基本設定
call s:source_rc('init.rc.vim')

" Dein.vim
call s:source_rc('dein.rc.vim')

以下読み込みが続く...

一応GitHubで管理してます。かっこつけたいだけですが……

github.com

分割してみてどうだったか

  • 設定ファイルの場所がわかりやすくなった
  • ちょっといじればNeoVimとの兼用にもできそう
  • VimmerはShougoさんに足を向けて寝られないと思った

いずれはVim Scriptを自分でバリバリ書いていきたいですね。

ASUS X202EをSSDに換装してあと3年戦う

ASUS X202Eは結構いいですよ

ちょっとした作業とか調べもの用にASUS X202Eを使っています。3〜4年くらい前に安価モバイルノートとして売られていたモデルで、当時40,000円くらいで買った気がします。

スペックはこんな感じ。

項目 スペック
画面サイズ 11.6インチ WXGA(1366x768)、光沢、タッチパネル
CPU Core i3 3217U(Ivy Bridge) 1.8GHz/2コア
ストレージ HDD 500GB
メモリ DDR3 PC3-10600 4GB
その他 WebカメラHDMI端子、VGA端子、USB3.0

OSは最初Windows 8が乗っていましたが、今はUbuntu 16.04を入れています。

ここ数年はCPUやメモリ量の増加が停滞気味なので、まぁまだなんとか戦えるかなというスペックです。 実際、Youtubeを見たりちょっとamazonで買い物したり、エディタでちょっとものを書くだけなら十分です。

ただ、HDDがおそらく5400rpmなので、そのへんで少しつっかかるというか、遅いなぁと感じるところがあります。あとグラフィックもちょとしんどいので、Youtubeの高画質動画では引っかかったりとか。あと画面が光沢でタッチパネルの機能があるのに画面を触ると指紋だらけになったりとか、不満点がないわけじゃないけど慣れれば気にならないレベルです。

ということで、結構気に入っているこいつをあと3年活躍させるために、SSDに換装しました。ノートPCのHDD交換は初めてです。

SSDにしていきます

今回買ったSSDはこちら。

SanDisk SSD PLUS 120GB [国内正規品]メーカー3年保証付 SDSSDA-120G-J26

SanDisk SSD PLUS 120GB [国内正規品]メーカー3年保証付 SDSSDA-120G-J26

だいたい6,000円くらいでした。SSD安くなりましたね〜。でも今見たら値段上がってますね。なんでだ。

TLCとかMLCとかいろいろあるみたいですが、あまりお金をかけるつもりはないので、今回は安さ優先。

あと、HDDを余らせるのがもったいないので、ケースも買いました。こっちは1,500円くらい。安いですね。

届きました

f:id:okayu-moka:20170514124528j:plain

SSDが軽くてびっくりしました。おもちゃみたい。

換装します

まずは裏のネジを全部外していきます。長さは3種類ほどあるので位置を忘れないように注意。

f:id:okayu-moka:20170514124530j:plain

全部ネジをとったら、ツメが折れないように力加減に注意しながら、裏蓋をバキバキ〜っと外します。

f:id:okayu-moka:20170514124531j:plain

中身が見えました。思ったより埃はたまってなかったです。

HDDもネジで止まってるので全て外して、横にスライドさせるようにすれば外れます。外したHDDがこちら↓

f:id:okayu-moka:20170514124532j:plain

Seagateでした。付いている金具は外してSSDに付け替えます。

こちらは取り替えるSSD。HDDから外した金具はまだつけてない状態。

f:id:okayu-moka:20170514124529j:plain

金具をつけて、同じくスライドするように差し込んで、ネジ止めします。

f:id:okayu-moka:20170514124533j:plain

裏蓋を戻してネジで止めれば、換装終了です。

起動!

電源押したら問題なく起動しました。思ったより簡単でした。

今回はディスクのクローンなどをしなかったので、Ubuntu 16.04をインストールし直しました。

あまったHDDは

ケースに入れて外付けHDD化。問題なく使えました。やっすいなぁ。

f:id:okayu-moka:20170514124535j:plain

まとめ

SSDはやっぱり早いですね。起動も速くなり、使っている最中のちょっとしたフリーズも少なくなりました。快適。

Vimやらなんやら入れて、ちょっとしたプログラムくらいならかけるように環境を整える予定です。

PC用モニターとモニターアーム買ってみた。これはいいモノだ。

モニター買いました

PCのモニターについて。

いろいろとあってPCで使用していたモニターがなくなってしまったので、PCショップを回っていました。

こだわりがあるわけでもなく、「23〜27インチで、FullHD以上で、2万円以下で買いたいなぁ」くらいの気持ちで探していると、中古で以下の商品が税込12,000円でおいてあったので、安い! と思って買っちゃいました。

店員に聞くと付属品がいろいろと足りないため安いとのことでしたが、普通に使う分には問題なさそうなので、購入。憧れ?のEIZOモニターがこの値段で買えたのはまぁまぁ良い買い物だったかなと!

EIZOの中では安いモデルっぽいけど、これまで使っていたBenQのモニターよりも細かい設定ができたり、発色なんかもいい感じ。あとベゼルが非常に狭いので、これもまぁ気に入っています。

せっかくモニターを買ったので、ついでにモニターアームも買ってみようということで、amazonで以下の商品をポチりました。何気に初モニターアームです。

グリーンハウス 液晶ディスプレイアーム 4軸 クランプ式 GH-AMC03

グリーンハウス 液晶ディスプレイアーム 4軸 クランプ式 GH-AMC03

単純にamazonでベストセラーになっていたので選んだだけという、なんのこだわりもない選択です。

f:id:okayu-moka:20170514124525j:plain

開封してみると、アーム本体と、モニターを止めるためのネジ類、ヘキサレンチ等の工具も入ってました。

早速使ってみます。

f:id:okayu-moka:20170514124526j:plain

モニターアーム、これはいいモノだ。グラグラしたり、首が座ってないとかそういうこともなし。

f:id:okayu-moka:20170514124527j:plain

ケーブル収納も特に問題なし。すっきり。

モニター付属のスタンドよりも高い位置に配置して、椅子に座って作業するときにちょうど目線の位置に画面が来るようになり、長時間作業しても疲れにくくなった、ような気がします。

それから、スタンドがあった部分のスペースが空いたため、キーボードとか電卓とかを置くスペースができて、机の上が広くなりました。どちらかというとこっちの効果のほうが嬉しい感じ。スピーカーも置けるしね!

なかなかいい買い物でした!

TortoiseGitからGitKrakenに乗り換えました

乗り換えました

これまでTortoiseGitをずっと使っていたのですが、今回GitKrakenに乗り換えました。

f:id:okayu-moka:20170212115831p:plain ツリーの汚さには目をつぶってください。個人的に作業しているだけだからいいんです。

乗り換えたきっかけは↓の記事

qiita.com

たまたまこれを見て「GitKrakenって初めて聞いたなぁ」と思って試しに入れてみたら気に入ってそのまま常用しています。

これまで

これまでは TortoiseGit→SourceTree→TortoiseGitという風に乗り換えてきていました。

最初は使いなれたTortoiseSVNに近いということでTortoiseGitを使っていましたが、 不安定だったりあんまり使いやすく感じなかったりで、噂になっていたSourceTreeに乗り換え。

……乗り換えたんですが、当時使っていた開発用端末の性能が貧弱で、 SourceTree + Vim + ブラウザ + コンソール と起動するのがかなり厳しくて、 結局TortoiseGitに戻ってしまいました。 SourceTree自体は使いやすくてよかったです。完全にスペックの問題。 今は新しい端末を買ったので、SourceTreeでもよいのかもしれません。

GitKrakenですが、以下の点が気に入っています。

  • 起動時のクラーケンかわいい
  • 見た目ダークでかっちょいい
  • originの状態も見れる
  • GitHubと連携していると、プルリクも見れる(あんまりそんな機会ないけど)
  • Win、MacLinux対応(今のところWinでしか使ってないけど)

機能面に関してはたぶんSourceTreeも変わらないんだろうなぁと思うんですが、使い込んでないのでわかりません。

見た目の点に関しては個人的には超重要で、見た目がかっこいいツールを使っているだけでモチベーションって上がりますよね。 あと、自分が作っているものに関しても「かっちょいい見た目にするぜ!」という気分になれるので。

GitKraken

おすすめです。

Raspberry pi Model B+ で sshの設定変更とSSHキー設定

設定ファイルでの基本的な設定

sshの設定ファイルの場所は```/etc/ssh/sshd_config

ポート変更

デフォルトの22から任意のポートに変更する。

$ sudo vim /etc/ssh/sshd_config
Port 22
↓
Port 12345

rootでのログイン禁止

#PermitRootLogin without-password
PermitRootLogin no

ログイン可能ユーザを限定する

AllowUsers [UserName]

設定変更後は、サービスを再起動する。

sudo /etc/init.d/ssh restart

SSHキーの設定

公開鍵でのみsshできるようにする。

キー設定

使用するキーを新規生成する。

例では、鍵長4096のRSA方式のキーを生成。 対話形式で、パスワードなども適宜入力していく。 特になにも変更しなかった場合は、/home/hoge/.ssh/に生成される。

$ ssh-keygen -t rsa -b 4096 -C "email@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa): 
Created directory '/home/hoge/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hoge/.ssh/id_rsa.
Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.
...

この後sshの設定を変更するが、その前に秘密鍵を別PCなりなんなりにコピーしておくこと。 ssh接続できなくなってラズパイにディスプレイとマウスをつなぐ羽目になる。

authorized_keysに追加

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

パスワードでの認証を非許可にする

/etc/ssh/sshd_configで変更する。

#PasswordAuthentication yes
PasswordAuthentication no

確認

  • 秘密鍵を使って接続できることを確認する
  • パスワードのみでは接続できないことを確認する

Raspberry pi Model B+ のsyslogにrsyslogd-2007: action 'action 17' suspendedが出るとき

Raspbianで、/var/log/messagesにずっとrsyslogd-2007: action 'action 17' suspendedが出続けていた。

調べてみると、下記ページがヒット。

qiita.com

記事にあるように、/etc/rsyslog.confを編集。

# 最下部のこれらをコメントアウト
#daemon.*;mail.*;\
#       news.err;\
#       *.=debug;*.=info;\
#       *.=notice;*.=warn       |/dev/xconsole

その後、rsyslogを再起動

$ sudo /etc/init.d/rsyslog restart
[ ok ] Restarting rsyslog (via systemctl): rsyslog.service.

しばらく放置して様子見したが、問題なさそう。