右クリック禁止ページをFirefoxで右クリックする方法

Make Linkのアドオンでリンクを取得しようとしたら、右クリックできないページだったので調べた。

Firefoxで右クリック禁止ページを無効化する | なべろぐ

  1. Firefoxのアドレスバー(URL欄)に「about:config」を入力
  2. 「細心の注意を払って使用する」ボタンをクリック
  3. 検索欄に「dom.event.contextmenu.enabled」を入力
  4. 設定名が「dom.event.contextmenu.enabled」という項目の値が「true」になっていたら、右クリックから「切り替え」を選択して、値を「false」にする

以上!これを1回やっておけば、JavaScriptで右クリックを禁止してるサイトに限っては、右クリックできるようになるので楽チンです。ちょっと知ってたら右クリック禁止なんてあまり意味ないんだから、みんな止めちゃえばいいのに…

Mavericksにアップデートして使えなくなったHomebrewを復旧

Mavericksにしてからmoshが使えなくなってたんですよね。sshで困りはしないからと放置してたのをようやく手当てしました。

command not found

Mavericksに上げてから、homebrewで管理しているコマンドが軒並み「command not found」になってしまいました。moshもrbenvもダメ。理由はよく分かりません。

-bash: mosh: command not found

こんな感じ。調べてみたら、それっぽい記事がいくつも出てくる。まぁ何やかんやでbrew updateをしたり、各パッケージを入れなおす必要があるみたい。

やったこと

ここで先に、moshが動くまでにやった作業だけまとめます。

  1. brew update
  2. XQuarts 2.7.6のインストール
  3. brew update
  4. brew uninstall mobile-shell
  5. brew rm protobuf && brew install protobuf
  6. brew install mobile-shell

こんな感じ。ここから、各作業で起こった顛末を。

Homebrewのアップデート

まずはbrewの状態を確認。

$ brew doctor

Warning: You are using Mac OS X 10.9.
We do not yet provide support for this (unreleased) version.
Error: Homebrew doesn't know what compiler versions ship with your version
of Xcode (5.1.1). Please `brew update` and if that doesn't help, file
an issue with the output of `brew --config`:

なんかbrew updateしろって言われた。

$ brew update
Error: undefined method `to_sym' for nil:NilClass
Please report this bug:
    https://github.com/mxcl/homebrew/wiki/troubleshooting
/usr/local/Library/Homebrew/cmd/update.rb:103:in `report'
...

なんかいっぱい怒られた。再びbrew doctorで確認。

$ brew doctor
Warning: Your XQuartz (2.7.4) is outdated
Please install XQuartz 2.7.6:

XQuartzが古いらしい。XQuartzからダウンロードしてインストールした。

$ brew doctor
Your system is ready to brew.

そしたらreadyらしいんで、改めてupdate。

$ brew update
Updated Homebrew from 84320769 to 0ea0d72a.
==> Updated Formulae
bind

OK!

moshのインストールまで

これで大丈夫かなと思ってmoshコマンド叩いたけど、変わらずnot found。色々調べたら、パッケージを入れなおすといいらしい。

$ brew uninstall mobile-shell
$ brew install mobile-shell
...
==> make install
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [mosh-client] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [install-recursive] Error 1
make: *** [install-recursive] Error 1

そしたらいっぱい怒られた。調べたら、protobufってのに依存してるっぽいので、そちらを入れなおし。

mobile-shell 1.2.4 fails to install on OS X 10.9 · Issue #23992 · Homebrew/homebrew

問題なくprotobufの入れなおしが完了。改めてbrew install mobile-shellを行ったら、こちらも今度は問題なく完了。無事moshコマンドうてました。良かった…

おわり

自分みたいにほとんど素人同然の知識でネットの情報をそのまま叩いてると、何かあった時に凄く困ります。上の処置だって、意味はほとんど分かってないですからね…我ながら恐ろしい。ひとまず使えたから良しとしましょうか…

Reeder2 for Macで設定内容が保存されない問題が解決した

起動するたびに、大量のStarred Itemsの同期がはじまってしまう!!

設定が保存されない

AppStoreでインストールできないとか、初代Reeder for Macとの併用によりアプリケーション直下にインストールされないとか、色々と問題があったReeder2のインストール。詳しくは下記記事をご参照。

Reeder2 for Macをベータ版から正式版にインストールする際の注意点 | ぢぇんのブログ

最後に残った問題は、「設定」が保存されないこと。アプリを起動するたびに、キーボードショートカットや各種サービスログイン情報などがリセットされてしまう!そして、Feedlyに登録してある約4,000件もの「Saved for Later = ReederのStarred Item」を毎回シンクロしてしまう…これは厄介。

検索したら下記の記事がヒット。

Preferences are not retained in new Reeder 2 app.
Twitter / reederapp: @jgarber Not sure yet what …

詳しい手順

Macを再起動すれば解決。そんだけ?!

最初は、仕方ないからReeder起動させっぱでいいやって思ったんだけど、これじゃマシンの再起動も出来ないし、使わない時にもメモリくって困るしね。いや、良かった良かった。同じように困っている方の助けになればこれ幸い。

さぁ、これで多分Reeder2インストール周りの問題は解決したはず。じゃんじゃん情報収集するぞー(それだけじゃだめだぞ自分!)

Reeder2 for Macをベータ版から正式版にインストールする際の注意点

いよいよ正式版の登場!待ちに待ったインストール…が出来ない?

AppStoreでインストールエラー

意気揚々と(本当はたった1000円にうんうん悩んだ結果)、Reeder2をポチッと購入して、いざインストール!

「このコンピュータには、より新しいバージョンのAppがインストールされています。」

ベータ版のReeder2b.appはダウンロードフォルダにあるから大丈夫だと思ったけど、どうやらダメっぽい。んでゴミ箱に入れてみても、やっぱりダメ。一度ゴミ箱から戻して、アプリ「AppCleaner」使って消したらイケたけど、これだとベータ版の設定が消えちゃうから人によっては困るかも。もう一つ、AppStoreでアップデートした時に、なぜかダウンロードフォルダにappファイルが配置される問題もこれで解決しました。

で、見つけたのがこちらの記事。

「Reeder 2 for Mac」を購入インストール。beta版からの移行の注意点。 – 2階からMac

公式サイトに書いてある注意点を日本語訳してくれてます。ってか公式サイトにインストールの注意なんてあったのかー!

作業の手順

まずは公式サイトの引用から。

  1. In the Finder, press Command-Shift-G
  2. Enter ~/Library/Containers into the textfield and click Go
  3. Look for the folder com.reederapp.rkit2.mac in Containers
  4. Make a zip archive of this folder → right-click, then select Compress “com.reederapp.rkit2.mac”
  5. Delete the folder com.reederapp.rkit2.mac (not the zip archive!)
  6. Install Reeder from the App Store
  7. Double click on the zip archive to restore the folder

作業の内容を要約するとこう。

  1. 「~/Library/Containers/com.reederapp.rkit2.mac」という設定フォルダを退避
  2. 設定フォルダとベータ版アプリを削除
  3. AppStoreからアプリをインストールした後で設定フォルダを元に戻す

ということのよう。バックアップだけ残ってたら後で何とでもなると思うので、「com.reederapp.rkit2.mac」の圧縮ファイルだけは大事にしてあげて下さい。英語が読めない場合はぜひ上のサイトをご覧いただきたく(笑)

初代ReederとReeder2の併用

自分の場合、初代Reeder for Macが入ってたせいで「アプリケーション」フォルダの直下にインストールされない問題がありました。初代Reederを「Reeder1.app」に改名して、Reeder2をアンインストール、再インストールしたら、Reeder2はアプリケーション直下にReeder.appとしてインストールされました。Reeder1はGoogle Reader時代の資産が入ってるので消したくないんですよね…なんとかStarsの情報をReeder2にマージできないものか考えてみたいと思います。

ポイント

1にも2にも設定フォルダです。この中に大事なものが全て詰まっているので、くれぐれも大事にお取り扱い下さい!これさえあれば(多分)何とかなります。

MacでAppStoreのアプリをアンインストールする方法

いや知ってるよ…って人が大半だと思いますが、自分がハマったので。

方法は複数ある

Macの場合、基本的にはアプリケーションフォルダにある「.app」を消せばいいと教えられてきました。単純に削除してしまうと設定ファイルが残るので、「AppCleaner」などのアプリを使って消す方がベターだと。

ところが今回、Reeder2をAppCleanerでアンインストールしたところ、AppStoreから再度インストールできない状態になってしまいました。

Launchpadから消す

そう、AppStoreからインストールしたソフトはLaunchpadから消さなければならなかったのです!今回情報にたどりついて、そういえばそんな消し方もあったな…と。すっかり忘れてました(笑)

方法は簡単、Launchpadでアイコンをクリック長押しして、出てきた「×(バツ)」ボタンをクリックするだけ。この方法で消せば、AppStoreで「インストール」ボタンが表示されるようになります。

コンピュータってそれなりに適当でも使えるけど、無茶すると色々ガタがくるから気をつけないとなぁと改めて思いました。ちなみに問題が解決した後で読みましたが、下記がすごく参考になりました!

【Mac】アプリケーションをキレイにかつ安全にアンインストール (削除) する方法 : C-through the Mac

MacでGoogle Chrome HelperがCPUを食いつくしたら~その後~

(前回の記事)
MacでGoogle Chrome HelperがCPUを食いつくしたら | ぢぇんのブログ

CPU、再び

しばらくは何事もなく過ぎていたんですが、自分の環境では再発してしまいました。そもそも設定を変更したことで、Youtubeなどのプレイヤーが自動で起動せず、いちいちクリックして実行してやらないといけないので非常に不便だったわけですが…再発までしてしまうとは。問題はどこだ。クリックが面倒だから許可サイトに追加していった中の何かが悪かったか。それとも相変わらず開いてるタブ数が多いのが問題か。あるいは拡張機能のどれかが悪さしてんのか!

Chrome好きやねん

正確には好きっちゅーか、使いやすいのかな。デバッグ機能こそChrome標準よりFirefoxのFirebugが好みだけど、ChromeはOmnibox機能とかホント便利。

Chromeの検索機能をカスタマイズしてより便利に : ライフハッカー[日本版]

  1. 検索バーに”auc”って入れて
  2. Tabキー押して
  3. キーワード入力してEnterたーん!

ってやるとヤフオク検索できるようにしてあったし、よく使うサイトはOmnibox設定してあったから…何かと不便。ショートカットキーの違いもあるし、慣れの問題だとしてもブラウザは頻繁に変えたくないんですよね。情報探しても原因は不明なようだし、何とかならないかなぁ…

CakePHP 2.xでLayoutとViewを書かずにJsonでAjax

前置き

CakePHPでAjaxをしたかった。ついカッとなってやった。

参考にしたページ

公式ドキュメントどすなぁ
JSONとXMLビュー — CakePHP Cookbook 2.x ドキュメント

手順

  1. routes.phpにRouter::parseExtensions('json');を記述
    • 既に書いてある場合は、引数を('xml', 'json')みたいな感じに追記すればオッケー
  2. Controllerにpublic $components = array('RequestHandler');を追記
    • 使用するコントローラーに書けばいいけど、全体に適用するならAppControllerでもいいね
    • posts/index.json のように.jsonでリクエストを受けた時にJsonViewクラスを適用してくれる
    • application/json でリクエストを受けた時も同様にJsonViewを適用してくれる(らしい)
  3. Actionに書くことは2つ
    • $this->set(compact('posts')); または $this->set('posts', $posts); で変数を渡す
    • $this->set('_serialize', array('posts')); で指定した変数をjson_encodeして出力
    • 2つめの_serializeを書かないと、普通にactionname.ctpのビューファイルを読みにいくので注意

感想

うーん、なんと簡単。ドキュメントにも書いてある通り複雑なことも出来るけど、これだけの記述でさっくり書けるのは魅力的。Ajax Lifeが捗りますな…

MacでGoogle Chrome HelperがCPUを食いつくしたら

最近、妙にMacbook Proがうるさいと思いました。確かに開発のためにVMware FusionでLinuxを起動していたり、Chromeのタブは常時20個ぐらい開いていたり、TweetdeckやiTunesが立ち上がったりはしているものの、前に比べておかしい。なのにアクティビティモニタに考えが及ばなかったのは明らかに自分の未熟。調べたら、Google Chrome Helperがとんでもないことになってました。

Chrome Helper CPU max スクリーンショット1

こんなツイートを見つけたので試してみました。設定は以下。

  1. Chromeの右上のメニューから「設定」
  2. 下のほうにある「詳細設定を表示…」をクリック
  3. プライバシー -> コンテンツの設定
  4. プラグインが「自動的に実行する(推奨)」になっていれば、「クリックして再生する」にチェック
  5. 「完了」をクリック

これでOKなはず。まだ数時間ですが、自分の端末はとりあえず落ち着きました。「推奨」じゃねえよ!とか思ったよねw

なお、この設定による副作用があるかもしれませんので悪しからず。

Chrome Helper CPU max スクリーンショット2

Chrome Helper CPU max スクリーンショット2

Chrome Helper CPU max スクリーンショット4

Chrome Helper CPU max スクリーンショット5

追記(2014.4.2)

残念ながらこの方法ではダメでした…
[MacでGoogle Chrome HelperがCPUを食いつくしたら~その後~ | ぢぇんのブログ](http://kou10mo.com/mac-google-chrome-helper-cpu-trouble-after/ “MacでGoogle Chrome HelperがCPUを食いつくしたら~その後~ | ぢぇんのブログ”)

WordPressのパーマリンク変更とリダイレクト

今までパーマリンクを「/archives/%post_id%」にしていたんだけど、SEO的ななんちゃらとかを考えて投稿名をパーマリンクにすることにしました。

WordPressのパーマリンク設定を途中で変更する方法|ThePresentNote

ここで紹介されているプラグインの更新日が古いので大丈夫かどうか心配でしたが、バージョン3.8.1でちゃんと動いたので手順を書いておきます。

  1. プラグイン「Permalink Redirect WordPress Plugin」をインストール
    1. cd /path/to/wp-content/plugins
    2. wget http://svn.fucoder.com/fucoder/permalink-redirect/ylsy_permalink_redirect.php
    3. ダッシュボードから有効化
  2. パーマリンクの変更
    1. 「ダッシュボード -> 設定 -> パーマリンク設定」から好きなものを選択して変更
    2. 同時にこれまでの設定「/archives/%post_id%」とかをコピーしておくとGood
  3. プラグイン「Permalink Redirect」の設定
    1. 「ダッシュボード -> 設定 -> Permalink Redirect」で設定画面へ
    2. Old Permalink Structures:に先ほどコピーをした「/archives/%post_id%」をペーストまたは入力
    3. 「Update Options」をクリックして設定完了
  4. 以上!

今までの数十記事のパーマリンクを設定するか放置するか悩んでいますが、ともかく古い記事がリンク切れになってしまう事態は避けられました。ふぃー

BackWPupのDropbox連携時にUnknown cipher in listエラー

新しいプラグインを入れる前にバックアップしようとBackWPupを走らせてみたら謎のエラーが!

WordPressプラグインのBackWPupで「ERROR: Dropbox API: (59) Unknown cipher in list」というエラーの対処方法 | 経験知

なんかよく分からないけど、BackWPupのバージョンアップによるエラーのよう。まだ修正されていないらしいので、ひとまずプラグインで修正します。以下手順。

  1. プラグイン「BackWPup disable SSL connection verifying」をインストール
    1. cd /path/to/wp-content/plugins
    2. wget http://marketpress.com/wp-content/uploads/2014/03/backwpup-disable-ssl-verify.zip
    3. unzip backwpup-disable-ssl-verify.zip
    4. rm backwpup-disable-ssl-verify.zip
    5. ダッシュボードからプラグインを有効化
  2. 完了!

これでBackWPupのJobsからRun Nowをクリックしてバックアップ実行。無事バックアップとDropboxへのアップロードが完了しました。ありがたや〜