サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
jarp.does.notwork.org
■ 久し振りのGWの谷間出勤 諸般の事情により出勤しているんだけど、電車の一旦ドア閉め乗車がなかったり、 夕食の社食がなかったりといろいろと新鮮だ。 ■ Ruby 1.4の頃の-eの実装とirb 昨日までのirbはこんな感じになっていた(すでに変更された)。 require "irb" if __FILE__ == $0 IRB.start(__FILE__) else # check -e option if /^-e$/ =~ $0 IRB.start(__FILE__) else IRB.setup(__FILE__) end end この-eオプションのチェックはなんか意味不明なことになってるが、 元々Ruby 1.4の時代はsample/irb.rbでこうなっていた。 require "irb/main" if __FILE__ == $0 IRB.start(__FILE__)
■ sponge(1) moreutilsパッケージにspongeという名前のコマンドがある。 これはよくあるだめな例(bar.txtが空になってしまう)の % foo1 bar.txt | foo2 | foo3 > bar.txt のようなことをしたい場合に使える。 foo1 bar.txt | foo2 | foo3 | sponge bar.txt とするとspongeが標準入力を読み終わってからbar.txtに書き込むのでbar.txtを壊さない。 % seq 10 > seq10 % sed '5d' seq10 | grep -v '[28]' >seq10 % ls -l seq10 -rw-r--r-- 1 eban eban 0 2013-04-22 01:31:30 seq10 % seq 10 > seq10 % sed '5d' seq10 | grep -v '
■ CHAN-TORUのUI https://tv.so-net.ne.jp/chan-toru/ではなぜかスクロールするのにスペースバーやスクロールダウンやカーソルキーが一切使えない。 マウスのホイールのみというとんでもない仕様になってるけど、どういうこと? Firefoxじゃ動かないとかブラウザを選ぶわりにはお粗末すぎる。 ■ subは暗黙的にto_hashを呼ぶ jarhの手直ししてたら不可解なことが。 % ruby -e 'def to_hash()p :to_hash end;"".sub(//,"")' :to_hash -e:1:in `sub': can't convert String to Hash (String#to_hash gives Symbol) (TypeError) from -e:1:in `<main>' String#subはto_hashを呼ぶ。
■ configureで使うシェルを指定するには環境変数CONFIG_SHELLで つまりksh ./configureとかじゃだめなのである。 なぜかというとconfigureはbashとか自分に都合のいいシェルをまず探して、 見つかるとそっちにスイッチしてしまうから。 だから/bin/bashが存在するだけで使われてしまう。 というわけでkshを使わせたければ % CONFIG_SHELL=/bin/ksh ./configure のように指定してやる必要がある。 ■ sudoku 自分でも解いてみるかと思ってsudokuを入れた。sudo aptitude install sudokuでok。 consoleアプリ。移動はviのようにhjklで。cでクリアして数字を入力すればいい。 fでfixして念の為sで保存しておく。その問題で立ち上げるときは % /usr/games/sudok
■ 朝日新聞デジタル:「グイン・サーガ」の電子書籍完結 全153冊 - 文化 これはやばい。買うしかないか。半値だしなあ。 自炊データはやはり古いものは状態悪いし。 全152冊だと思っていたら、久美沙織の星降る草原も含めてということなんだろうな。 Reader Storeでもやるんかな。 ■ eogの表示がかなり速くなった スキャンした画像を確認するのにeogをよく使ってる。 後から追加された画像も動的に認識してくれるので、スキャン時に都合がいい。 ただ表示が遅いので大量に見るときはfehとかも併用していたが、 Ubuntu 12.10のeogはかなり速くなってて、これならeogだけでよさげだ。 あとデフォルトでいい感じのサイズで表示してくれるのもいい。 それにしてもeogとかfehとか何の略だかわからんない名前だな。 eogはEye of GNOMEらしいが。
■ Evernote APIを使って簡単なメモを登録しようと思ったが twitterでDM送れば要らないよな。tw gemを使えばコマンドラインからもいけるし。 tw 'd @myen メモを送るよ' でいい。 それにしてもタグをつけるとか別のノートブックにしてくれてもいいと思うが。 ■ GNU tarではzの代わりにaを使うと便利 圧縮時にaを指定するとautoを意味し、拡張子から圧縮ツールが判断される。 % echo foo > foo.txt % for i in foo.tar.{Z,gz,bz2,xz};do echo $i; tar acf $i foo.txt; done foo.tar.Z foo.tar.gz foo.tar.bz2 foo.tar.xz % file foo.tar.* foo.tar.Z: compress'd data 16 bits foo.tar
■ How to automatically source zshrc in all open terminals : commandline これは素晴らしい。 trap "source ~/.zshrc" USR1 とすることで開いているすべての端末へ~/.zshrcを読ませることができるわけだ。 コメントにcronでinotifywaitについて書かれているが、 それよりはincronを使ったほうがよさげ。 ■ convertで1ドットずらして重ね合わせる X方向に1ドットずらして重ねると太くなる。 % convert foo.png \( -clone 0 -roll +1+0 \) -compose multiply -composite x: Y方向も重ねたほうがいいか。 % convert foo.png \( -clone 0 -roll +1+0 \) \( -clone
■ iftttでPocketからDiigoへ Pocketで既読になったアイテムをiftttを使うとDiigoへ送れるとわかったので、 しばらく試してみた。その前段階としてはHototでRead Laterするというのがあるんだけど、 これはtwitterでリンクのあるtweetをPocketへ送るという連携。 bitlyとか使っていればそのまま短いままのURLがPocketへ登録される。 Pocketでそのリンクを踏めば既読になるので30分のポーリングでDiigoに送られる。 このときはちゃんと展開して長いURLになるようだ。 つまり最終的にDiigoには本来のURLが登録される。 その後DiigoのDelicious連携でdeliciousへ送られる。 長いな。 Hotot->Pocoket->iftttを介してDiigo->Deliciousというわけだが、 iftttにはDelic
■ Ubuntu 12.10で気になったこと リムーバブルストレージのマウント場所が、 /media/eban/uuidみたいにアカウント名をはさむようになった。 おかげであちこちsymlinkを書き換えるはめに。 まあ、そこはもうちょっとましな運用にしとけと自分につっこんだが。 これってXfce4だからってわけじゃないよな、たぶん。 その他は前と違いが全然わからないこと。これはいいことなんだか悪いことなんだか。 って、あらかじめUnityを使うのやめてXfce4にしておいたからかも。 次に再インストールするときは最初からXubuntuにしてしまおう。 ■ Ubuntu 12.10を古いマシンにインストール 会社の古いマシンに入れてみたら、Unityが起動せず。 例のエミュレーションで動くはずだが、ウィンドウマネージャーが機能しないまま。 ランチャーとかグローバルメニューとか10分ぐらい放
■ うっかりThunderbird 15へ上げてしまった 上げちゃったんだから、いい機会だとそろそろ対応してないかと見に行ってみた。 Exchange 2007/2010 Calendar and Tasks Provider レビューに3.00-rc3ならTb15で動くとあったので、試したがなぜか設定が空に。 新規で作り直したら動いた。まあ、普通に問題なさげ。 Tb15対応だけじゃなく、招待の返事を送らないという選択肢が増えてたりといろいろ改良されてるようだ。 これで14へ戻さなくてもよさそう。 ■ Xfce4でシステムモニター Xfce4システム負荷モニターを入れてみたが、cpugraphのほうがにぎやかでよさげだ。 本当はgnomeのappletを動かそうとxfce4-xfapplet-pluginを入れようと思ったが、 gnome3に対応しきれないためかUbutntu 12.04に
■ calの結果からawkで第2月曜日 calの結果から第2月曜日を抜き出す。 % cal 10 2012 October 2012 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 月曜日は4バイト目から2バイト分ある % cal 10 2012 | awk '$0=substr($0,4,2)' O Mo 1 8 15 22 29 余計なOとMoを取り除くには数値と見做せば0になる。 % cal 10 2012 | awk '$0=substr($0,4,2)+0' 1 8 15 22 29 これはついでに空行も削除されるので、9月のように途中が空行になってしまう場合にも有効。 さらにprefixの空白もなくなるし、一石三鳥。
■ IFTTTが9/27にtwitterからのtriggerを停止 IFTTTからメールが来たよ。 Dear eban, In recent weeks, Twitter announced policy changes* that will affect how applications and users like yourself can interact with Twitter's data. As a result of these changes, on September 27th we will be removing all Twitter Triggers, disabling your ability to push tweets to places like email, Evernote and Facebook. All Personal and Shared
■ 日付印 今日ははんこの日なので日付印を完成させた。 convert -size 200x200 xc:white \ -stroke "#ff0000" -fill "#ffffff" \ -draw "stroke-width 4 circle 100,100,190,100" \ -draw "stroke-width 4 line 15,68,185,68 line 15,132,185,132" \ -pointsize 40 -fill "#ff0000" \ -draw "text 20,120 \"$(date +\'%y.%_m.%_d)\"" \ -font /usr/share/fonts/opentype/ipafont-mincho/ipam.ttf \ -pointsize 20 \ -draw "text 45,40 'ほげほげ部'" \ -draw "te
■ psとgrepの話 正規表現で[]を使えというのはよくある話だが、今回はちょっと違う話。 psしてgrepすると最初の1行のヘッダ部が消えてしまう。 これがないといまいちこれなんの数値だっけってなりがち。 % ps uxww | grep '[h]otot' eban 14313 3.1 7.9 3622220 650180 ? Sl Jul20 55:06 /usr/bin/python /usr/bin/hotot ちょっと離れるけどあらかじめ実行しておくという手もないわけではないが、 やはり離れてるとわかりづらい。 % ps uxww | head -1 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND % ps uxww | grep '[h]otot' eban 14313 3.1 8.2 3623956 67387
■ Google Chromeのクッキーをcookies.txt形式で Google Chromeもsqlite3でクッキーを管理しているので結構簡単に得られる。 % sqlite3 -separator $'\t' ~/.config/google-chrome/Default/Cookies 'select host_key, "TRUE", path, "FALSE", expires_utc, name, value from cookies' > cookies.txt ■ またXがハングしたが、Flashは関係なかった FirefoxでLDRを読んでたときに死んだわけなんだけど。 Flashは関係なかったんだな。ってことはタイミング的にはUbuntu 12.04が怪しいわけで、 なんといってもNVIDIAの件があるしなあ。いっそのこと買い換えるか。いやまだ早いな。
■ 連番に間を入れるrename スキャンしてるとたまに2枚いっしょにスキャンしてしまうことがある。 大抵はエラーになるが紙が薄いと感知できないようで。 その両面2枚だけをやりなおすために、 ラスト10ページぐらいならそこだけやりなおすんだけど、 若いページで起こったりするとやはり面倒、 ある番号以降を+2してrenameする作業が必要になる。 具体的には%03d.png的なファイル名にしてるので、 最後が200ページで81ページの次が84ページになっちゃってる場合は 083.pngから200.pngまでを全部+2する。一見 % for i in {083..200};do mv $i.png `printf %03d $[i+2]`.png;done でよさげな感じだが、これだとひどい目に会う。 083.pngを085.pngにrenameするんだから元々あった085.pngが消えてしま
■ ScanSnap Managerはほとんど自動で設定される 輝度もコントラストも用紙サイズも全部自動だということ。 xsaneだと用紙サイズはプレビューして自分で決める必要があるので、 試しスキャンが必ず必要なところが難点。 サイズごとの設定をいっぱい用意しておかないといけない。 Origami gemでPDFから画像を抜き出してみたら、結構大きさがばらばらだった。 ±1ピクセルぐらいだけど。つまり1枚ずつ自動で範囲を決めてるってことだよな。 それであの速さってのはすごいな。
■ LDR Full Feed 0.0.34が動かない LDRへ移行ついでにLDR Full Feedも上げたら動かなくなってしまった。Gマークが出てこない。 どうもLDR Full Feed 0.0.34とGreasemonkey 0.9.19との相性が悪いようで。 いや、Greasemonkey 0.9.19のバグかな。 Greasemonkey 0.9.18か0.9.20.beta1以上を使えばok。 ■ なぜかPATHを見るLinuxのshebang Cygwinでは前から絶対パスで書かなくてもshebangで実行できることは知っていたが、 Ubuntu 12.04でもPATHを見てるようだ。 % echo '#! echo' > x.sh % chmod +x x.sh % ./x.sh ./x.sh % PATH= ./x.sh zsh: ./x.sh: bad interpr
■ 爆弾低気圧 夕方電車止まりそうということで、13時半に早くも帰宅命令が出た。 昨年、帰宅困難な状況が何度かあったので決断が早まったようで。 電車が止まりだしてから帰れと言われてもどうしようもないしねえ。 電車はすでに混んでいたが、まだ風雨もそれほどでもないので混乱なく帰宅できた。 ■ よくわからないCygwinの/dev/clipboardというかdate? Cygwinでdateを/dev/clipboardへリダイレクトするとなぜか書き込みエラーになってしまう。 % date > /dev/clipboard date: 書き込みエラー: Bad file descriptor zsh: exit 1 date > /dev/clipboard % date | putclip % cat /dev/clipboard cat: /dev/clipboard: Bad addres
■ ruby-talk MLでたまにruby-forumからの投稿が通ってしまう理由 ruby-talk news gatewayの穴を塞いだので、ruby-forumからのメールは基本的には通らないんだけど、 Fromがruby-talk MLメンバーのメールアドレスなら当然のことながら通る。 たまたまruby-talkに登録してる人がruby-forumに書き込むとそういう状態になる。 結論: まあ、今までは黙認していた状況なのでruby-forum側で解決方法考えてね。 ■ ポイントを変換 JCBのポイントをソニーポイントに変換できると気づいて、 見す見す捨てていたポイントが有効に活用できるとわかった。 しかもReaderStoreでソニーポイントが使えるということで、 今日から始まった このキャンペーンでさらにポイントをもらえるようで、 キングダムをあるだけ買ってしまおうか。 今あ
■ Firefox 10.0 インスペクタが復活した。8のころとは若干違うが。 Tab Utitlities 1.1.2だとなぜかロケーションバーにURLを入力しても開けない。 1.2pre17に上げないとだめみたいだ。 わかりにくいが、開発バージョンや古いバージョンは Versionsにある。 小細工しなくても拡張は動くといういことだけど、SQLite Optimizerは互換性がないと言われた。 これはそんなに使ってないし別の最適化アドオンにしよう。 とりあえずAdd-on Compatibility Reporterは無効化してみる。 ■ dovecotでまたはまる 久し振りにFedora 16でyum updateしたらimap serverにつながらなくなった。 telnet localhost 143するとつながるので、外からアクセスできないだけのようだ。 firewallの設
■ 複数のzipファイルをunzipする forを使えばまあいいんだけど、unzipにはなぜかwildcard処理が内蔵されている。 % unzip '*.zip' とすれば全zipが展開される。 % ls a.zip b.zip c.zip % unzip *.zip Archive: a.zip caution: filename not matched: b.zip caution: filename not matched: c.zip quoteしないと引数として渡るので、 unzip a.zip b.zip c.zipと実行したのと同じ。 a.zipの中のb.zipとc.zipを展開せよという意味になりエラーになる。 ■ 重複チェック 例の1.1から2.0で四則演算で最大化問題を解いてて、1.8がダブってしまったのでチェックしようぜという話。 実際に勘違いしたのはこんな式なわけ
■ 自炊といえばまな板 今まではカッティングシートを使わずに適当に読んだ雑誌とかを下に敷いてたけど、 切るとだんだんぼろぼろになるし、そこから切りくずも出るしで、ダイソーで探してみた。 A4以上の大き目がいいよなとまずは「工作マット」を買った。 さらにもっと大きいのはなにかないかといろいろ見て回ってたら、まな板シートがあった。 やはり自炊といえばまな板。ほぼB4サイズとまさにうってつけの大きさ。 しかも元々刃物を当てて使うためのものだし、完璧だ。 ■ convert -cropでの挙動 画像のある範囲だけを切り出したいときはImageMagickのconvertで-cropを使うが、 % convert in.png -crop 200x300 out.png という感じで実行すると、200x300で分割したout-*.png画像を作ってしまう。 本当に左上の200x300の画像だけが欲し
■ 15ヶ月保つと謳っているワイヤレスマウスを使い出して1年 ふと気づくと1年経ったわけだが、まったく問題なし。 おまけの電池のままだ。ほんとにあと3ヶ月ぐらいはいけそうだな。 ■ PRS-T1 Instapaper epubs - MobileRead Forums なんか解決法みたいなことが書かれてる気がするんだが、よくわからない。 archiveしてrestoreしても同じように、目次しか出てこない。 Android版でもだめだから、というかSony ReaderもAndroidだし同じもんか。 ああ、restoreするもの以外に本当に読みたいものも置いとくのか。 なるほど。確かに出てきた。 ただ日本語が化けるのは困ったもんだな。Wifi使えば直接ダウンロードできるからすげー便利なのに。 ちゃんと中身を解析するしないか。 ■ ImageMagickのconvertでキャプションをつけ
■ 佐藤史生 スキャンすべく棚を探ると佐藤史生の「打天楽」と「やどり木」が出てきた。 輝度を上げたら黄ばみも取れた。上げすぎると全体的に線が細くうすくなるので注意。 それにしてもなつかしいなとwikipediaを見るとなんと去年亡くなっていた。 うーむ。惜しい人を亡くした。 そうそう。砂糖・塩だと最初は気づかなかったんだよな。「ふみお」だと思ってた。 そういえば「夢見る惑星」はどこへやったっけかな。 ■ 最終金曜日 朝まで生テレビは毎月最終金曜日の深夜にやってるとかどうでもいいが、 来月の最終金曜日は何日か?今月は最終週が平坦でつまらないので。 やっぱcalを使うのがやっぱお約束だよね。cutを組み合わせると % cal 1 2012 | cut -d' ' -f6 | grep . | tail -1 27 となる。cutの-dは文字列ではなく文字なので1けたの日付の週はずれまくりだが、
■ tmux attach ~/.tmux.confの最後にnew-sessionと書いておけばtmux attach || tmuxみたいなことをしなくても、 常にtmux attachと実行するだけでよくなる。 なければちゃんと新しいセッションを作ってくれるし、あればそいつにattachしてくれる。 毎回新たなセッションが作られるわけでもない。完璧だ。 ■ ディスクカッターとスキャナ 自炊してみた。カッターはDC-210N。 ちょっと大目に切っておかないと内部に接着剤が染み込んでることがある。 くっついたままだとジャムる。裁断は大胆に。これはしかし切れ味が気持ちいい。くせになる。 スキャナはScanSnap S1500。Ubuntuだとつなぐだけでok。 あとはxsaneで両面もちゃんとスキャンできる。すばらしい。 まずは要らない本でやってみたが、Sony Readerで見てもまずまず
■ Hulu解約 結局UbuntuのFirefoxでの文字化けが解消しなかったので先週解約した。 J:COMでもうお腹いっぱいってのもあるけど。 ナショナル・トレジャーも吹替えやってたし。 まあon demandな点はよかったんだけどねえ。 あとPS3がもうちょっと早ければ。 ■ 短縮URLの展開 telnetはさすがにコマンドラインだけで済まないので面倒。要はヘッダが表示されればいいわけで、 % curl -sI t.co/mRJEGu6T HTTP/1.1 301 Moved Permanently Date: Sun, 02 Oct 2011 13:58:42 GMT Server: hi Location: http://bit.ly/pPJzZq Cache-Control: private,max-age=300 Expires: Sun, 02 Oct 2011 14:03:
■ CATVで(吹)を含むタイトルのRSS Gガイド.テレビ王国で検索するとRSSボタンが出てくるが、これがちゃんと検索結果だけのRSSになっている。 というわけで吹き替えされてる映画が簡単にわかるようになった。 これ盲点なのはログインしているとこのボタンが出てこないところ。 一々ログアウトしないきゃいけないのがちょっと面倒。 ■ Yahoo! BBを解約 昨日の話なんだけど。 なんかずっと話し中でそんなに解約したい人が多いのかい。 いや、"Yahoo BB 話し中"でぐぐってみたら電話番号間違えていたことに気づいた。 1が3つかと思ったら4つだった。それでもつながってから5分ほど待たされて、 やたら丁寧な人が出てきた。その後は順調に。 とはいえ一週間ほどで解約の書類が送られてくるという話。 これが月末に微妙なタイミングで向こうに届いた日で決まるので、 来月になると1ヶ月分ほど無駄に払わな
■ Enumeration+of divisor 問題は単純なんだけど、3番目の数値が大きすぎてawkだとタイムアウトしてしまう。 なかなか奥が深いな。ちょっと思い付いた方法でいけたが、まだ縮みそうだ。 ■ ハイバネートが安定しないのでgpartedでswapを増やしてみた たまたま日経Linux7月号の付録にUbuntu 11.04のインストール用DVDがついてきたので、 LiveDVDの機能を使ってgpartedを起動。元々sda1(/)とsda2(swap)しかないので、 sda1を1GBほど縮小し、sda2を広げた。もっと思い切って広げとけばよかったか。 これで安定するといいんだが。 ■ 引き続きswapを増やしてみた まあ、ハイバネート的には全然効果なかった。それはそれとしてメモリを1GBから2GBに増やしたので、 またしてもswapを増やしてみた。 まずsudo blkid /
次のページ
このページを最初にブックマークしてみませんか?
『Just another Ruby porter,』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く