GyazoとDropboxの連携プレーをWindowsでもつかいたい

はじめに

Gyazo x Dropboxで簡単スクリーンショット共有 - プログラミングノート
これが頭良い感じで、即使いたくなったのですが、残念なことにWindows版のGyazoにはそのままでは適用出来ません。rubyじゃなくてVC++でできてるからです。
しかしながらWindows版のGyazoであるGyazowinはMac版同様、Githubリポジトリがあります。ということでforkしてDropbox連携版のGyazoをつくりました。

動作

キャプチャしたい範囲を選択すると、設定したディレクトリにファイルが生成され、設定したURLにファイル名をくっつけた文字列がクリップボードにコピーされます。本家のようにブラウザを開いて確認すると、Dropboxにアップロードされる前にアクセスして404が出るので、ローカルのプレビューで画像を開くようにしてあります。

ダウンロード

zipでexeを固めたものはここ
ソースコードGithubにあります。

setting.iniを自分用に書き換えて、gyazowin_with_dropbox.exeと同じ場所においてあげれば設定が読まれると思われます。

余談

元のソースコードが丁寧にコメントが付けられていたりして非常に読みやすかったおかげで、VC++を1ミリも触ったことがなかったぼくでもどこを触ればよいかすぐわかって助かりました。(わからなかったらやめとこうと思ってた)

twitterのwebで改行を表示するだけのしょぼいChrome拡張つくった

題の通りです。ちょっと前に流行ってた突然の死〜みたいなものがtwitter.comできちんと表示できるようになります。
ダウンロード(.crxが落ちてきます)
クリックすると、「拡張機能、アプリケー…(ry)…続けてもよろしいですか?」的な確認が出ますが、中身は下に書いたものだけの簡素なファイルをパッケージングしたものなので続行してよいと思います。
Chrome使っててwebでAAみたいな高度なついーとを眺める機会がある人は入れておくと良いかもしれないです。100番煎じ感があるextensionなので同じようなものがすでに入っていたりするかもしれないですね。知らないです。

追記 (6/29)

なんかユーザーページ(twitter.com/hogefuga)でタグの前後に改行が入るようになった影響で鬱陶しい程に改行が入るようになったので、うまく動かないページを除外したバージョンに更新しました。(v0.2)


(おまけ)Chromeの拡張(user CSS)をつくる

思いの外簡単だったけど簡単だということを知らなかったので書きます。

ChromeにはデフォルトでユーザーCSSの機能がないっぽく見えるらしいのですが、拡張の機能にユーザーCSSと同じような機能があります。
content_scriptsがちょうどその機能です。使い方は公式のドキュメントがわかりやすいです。
Content Scripts - Google Chrome
まずディレクトリ構成は

twiweb/
   ├---manifest.json
   └---kaigyo.css

という感じです。Chromeの拡張はmanifest.jsonというファイルの情報を見て何かするのでディレクトリ名とかkaigyo.cssなんかはどうでも良いですが、manifest.jsonはmanifest.jsonである必要があります。

以下中身です。
まずmanifest.json

{
"name":"Twitter kaigyo-kun",
"description":"enable to see AA-tweets on web.",
"version":"0.1",

"content_scripts":[
  {
   "matches":["https://twitter.com/*"],
   "css":["kaigyo.css"],
   "run_at":"document_start"
  }
]
}       

そしてkaigyo.css

.js-tweet-text{
	white-space: pre;
}

ファイルを用意したら、chrome://extensionsから「パッケージ化されていない拡張機能を読み込む」からディレクトリを選べばポコッと入ります。うまく動いていたらパッケージ化してあげれば.crxファイルが吐かれます。


簡単なDOMの操作みたいなものならすぐかけそうですよね。
あとCSSなどのテストみたいなものは、専用の拡張などを入れていなくてもChromeのDeveloper Toolsを使うとわかりやすいです。

電子ペーパーデバイスの話も

上のものを書いたあと、「そういやkindleもあったなー」と思って、電子ペーパー系のデバイスの話をすこし調べてみたのですが、電子ペーパーまわりの技術がかなり進歩してて驚きました。
今のkindleSony Readerの解像度は6インチで800*600とちょっと物足りない感じです。結構長いことこのスペックで停滞しているような気がしていたので、技術的な困難があるのかなーと思っていましたが、
http://www.epson.jp/osirase/2011/110517_2.htm
こんな発表が昨年時点で存在していました(全く知らなった)。


もっと驚いたのが、カラー表示の電子ペーパーが既に製品化されて流通していたことです。
電子ペーパー=モノクロ(電気泳動式でページ切り替えが遅い)みたいなイメージがありましたが、これは結構時代遅れ感があったようです。
ちょっと調べただけでも複数の方式でカラー表示の電子ペーパーは既に実現されているようで、中でもMEMSとか言うものを採用したカラー電子ペーパーの製品は、昨年に韓国で発売までされているっぽいです。
韓国の教保文庫、注目の新ディスプレイ「Mirasol」採用の電子書籍端末を発売 - ITmedia eBook USER
これのすごいところはカラー表示ができるというのは確かにそうなのですが、なにより表示切り替えがかなり高速に出来る(動画も表示可能なレベル)らしいというところですね。



動画を見ると比較対象として電子ペーパーよりもまず液晶が浮かぶ程度にはまともに動いているように見えます。普通にすごい!

しかもこれ、5.7インチで1024*768(iPad2と同じ解像度)が出ているというのでさらに驚きです。日本で売ってほしい!


こういった技術の進歩を見ると、電気泳動式の電子ペーパーは(高精細なものができたというニュースもあったものの)オワコンと化すか、いまよりもさらにどんどん低コスト化していくしかないんじゃないかなーみたいな気持ちがしてきました。



日本でもmirasolが載ったデバイス買えないかなー結構欲しい

PDFリーダーとしてのタブレットデバイス

前置き

先日、新しいiPadが発売されました。
昨年夏に交換したピカピカのiPad2を所持しているのですが、retinaディスプレイiPadはすごく魅力的です。
先日実物を見せてもらったのですが、PDFの読みやすさがすごいですね。
解像度高くて誰か得するのか、みたいなこと言ってる人とか見かけますが、文字のレンダリングが美しくなるというのはそれだけでかなり価値があると思います。

本題

ここで
PDF読みやすい→ppi高い
という仮定のもと、タブレットバイスppiを比較してみたいと思います。
ppiの計算にはこの便利サイトを使い、小数点以下は四捨五入しました。ドットピッチ計算機


なお、当たり前ですが画面サイズが小さい方がppiの面では有利です(iPhone4,4Sは326ppi*1もあるし、最近話題(?)のGalaxyNexusだって316ppiもある)。
なので大体同じくらいのサイズのもの同士での比較でなければppiでの比較にあまり意味はないかもしれませんし、以下で上げるタブレットバイスも画面サイズはまちまちなので、適当に参考程度にするべきかもしれません。

タブレットバイスppi一覧

ppi inch 解像度 製品例
264 9.7 2048*1536 new iPad
216 7 1280*800 AT3S0とかeden TABとか
170 7 1024*600 GALAPAGOSとかideaPadとか
149 10.1 1280*800 Eee PadとかARROWS TABとか
131 9.7 1024*768 iPadiPad2
117 10.1 1024*600 ONKYOのやつとか

まとめ

すでに流通している7インチタブレットでも一見するとまあまあ新しいiPadに対抗できているようにも見えます。ただし先述したように画面サイズに3インチ近い差があるので実際に見たときに受ける印象は変わってくる可能性があります(訳:現物が見たい)。


これから新しいiPad並みの高精細な液晶を持つAndroidタブレットがリリースされてくると思いますが、7インチタブレットでもすごい解像度のやつを出してほしいですね。

余談

Androidスマートフォンってどんどんデカくなっていってる印象があるのですが、このままデカくなり続けるとAndroidタブレットと区別が曖昧になりそう…。というか実際既にGalaxyNoteなどという5.3インチの非常に悩ましいデバイスがあるらしい(驚愕)(参考:GalaxyNexusは4.65インチでこれはスマートフォンっぽかった)。

*1:計算すると329ppiになるんだけど

homebrewくんがbrew updateに失敗するとき

死に方1

$ brew update
remote: Counting objects: 4260, done.
remote: Compressing objects: 100% (1380/1380), done.
remote: Total 3668 (delta 2742), reused 3112 (delta 2281)
Receiving objects: 100% (3668/3668), 555.72 KiB | 839 KiB/s, done.
Resolving deltas: 100% (2742/2742), completed with 470 local objects.
From git://github.com/mxcl/homebrew
   76127a3..753dde9  master     -> origin/master
error: unable to unlink old 'README.md' (Permission denied)
Updating 76127a3..753dde9
Error: Failed while executing git pull  origin refs/heads/master:refs/remotes/origin/master

README.mdとかいうどうでも良いファイルのパーミッションでこけていますね。
とりあえず、/usr/local に向かいましょう。この問題が発生した人は、ここでREADME.mdのパーミッションを見てみると、ownerがrootになってると思います。というか/usr/local のパーミッションがrootになっていると思います。
どうでも良いですが今いるディレクトリのパーミッションは一つ下から見なくても

ls -dl

で見れるということを今日知りました。

蘇生法1

README.mdだけパーミッション変えてもラチが明かなかったような気がするので、/usr/local 以下全体のパーミッションをかえます。

sudo chown -R namae /usr/local

とかなんとかでownerを自分に変えます。

死に方2

やったか!?

$ brew update
error: Your local changes to the following files would be overwritten by merge:
	share/man/man1/brew.1
	Library/Homebrew/utils.rb
	Library/Homebrew/test/test_external_deps.rb
	Library/Homebrew/test/test_bucket.rb
	Library/Homebrew/tab.rb
	Library/Homebrew/keg_fix_install_names.rb
	Library/Homebrew/formula_installer.rb
	Library/Homebrew/formula.rb

		(中略)

	Library/Formula/apollo.rb
	Library/Formula/ape.rb
	Library/Aliases/fastcgi
	Library/Aliases/boost-jam
Please move or remove them before you can merge.
Updating 76127a3..753dde9
Aborting
Error: Failed while executing git pull  origin refs/heads/master:refs/remotes/origin/master

やってない(真顔)
あらゆるファイルの変更が取り残されているのでキマってしまっているようです。
git力が低いので変更を退避させるようなコマンドを忘れてしまいました(そもそも覚えていない)。
とりあえずググったら完全に一致なissueが引っかかったので読んでみたところ、そこに答えが書いてありました。

蘇生法2

an easy way to remove the files it's complaining about (the partial update) is


cd /usr/local
git add .
git stash
git reset --hard


and then


brew update


should work.

Error when brew updating, unable to unlink old README.md? · Issue #2906 · Homebrew/legacy-homebrew · GitHub

一旦git add . で全てのファイルをステージしたあとに、git stash でそれをスタックにぶち込んで表面上消し去ったあと、歴史を消し去っている感じですかね。

git stashに関してはPro Gitが解りやすかったです。http://progit.org/book/ja/ch6-3.html
Pro Gitは全体的に解りやすいので僕のように己のgit力に不安を抱えている人は読んだ方が良いです(まだほとんど読んでない)。

はてブロ

作ったは良いけど、なんか広告うるさいし、タグ付けらんないみたいだし、やっぱりはてダを打ち捨てるのはまだ辞めようと思い立ったのでデザインを変えた。

このテーマ(http://d.hatena.ne.jp/designset/1777)を元にして、自分好みにいじった。

いじったところ

  • もとの状態だと半角英数字の折り返し処理ができていなかったので、直した。
  • pre記法内のフォントをCourierに変更した。
  • bodyのwidthをちょっと拡げた。
  • 記事が背景で若干読みづらかったのと、全体表示すると日付の区切り(記事と記事の区切り)が判別しづらかったので、div.dayに枠線を表示して背景を半透過の白にした(opacityを使うと文字まで透過したのでrgbaを使った)。
  • ヘッダ色を変更した。
  • timestampを表示するようにした。
  • サイドバーのモジュールの変更。
  • 各所のフォントサイズを調整した。

はてブロとはてダは適当につかおう