読者です 読者をやめる 読者になる 読者になる

ブログ移転しました

http://blog.m4i.jp/2015/09/01/from-hatenablog-to-jekyll

Rails 4.0 にアップグレードした

最近、Rails 1.2 で開発をスタートした Rails 3.2 のアプリケーションを Rails 4.0 にアップグレードした。 その時に修正が必要になったところのメモを残しておく。 ActiveSupport ActiveSupport::JSON.encode でマルチバイト文字が escape されなくなった R…

ブログ名を @m4i's blog に変更した

http://banyan.me/2013/05/26/1/ この記事に倣いブログ名を変更した。

Git の annotated tag を lightweight tag に変換する

Git

grep 'refs/tags/.*\^{}$' .git/info/refs | while read line; do hash=${line:0:40} tag=${line##*/} tag=${tag%^*} git tag -d $tag git tag $tag $hash git push origin :$tag done git push --tags clone 済みのリポジトリでは git fetch --tags 経緯 古…

tee という gem をリリースした

https://rubygems.org/gems/tee https://github.com/m4i/teetee コマンドみたいにファイルに書き込みつつ標準出力にも表示したいということが今まで何回かあって、そのたびに適当なクラスを作っていたのだけど、今回それを gem 化してみた。それにしてもこん…

Slim3Scala を作った(1年半前に)

Slim3 の Scala 版を作りかけて、途中で時間がとれなくなり、いつかリリースしようと思いつつも、Google App Engine への興味を失い放置されていたコード片をアップしました。https://github.com/m4i/slim3scala結構な時間をかけて Scala のコンパイラとか、…

Rails + Pow + pry/ruby-debug(Ruby 1.9.3)

pry Gemfile group :development, :test do gem 'plymouth', require: false gem 'pry-exception_explorer' gem 'pry-nav' gem 'pry-remote' gem 'pry-stack_explorer' end breakpoint binding.pry_remote connect $ bundle exec pry-remote ruby-debug Gemf…

omniauth-runkeeper を公開しました

もう2ヶ月近く前ですが、omniauth-runkeeper を公開しました。https://rubygems.org/gems/omniauth-runkeeper https://github.com/m4i/omniauth-runkeeperOmniAuth の作者(社)が作った omniauth-github と同じ OAuth 2.0 なのでそれをベースにしました。Nike…

tmux での1行コピー または man tmux に載っていないコマンド

screen から tmux に乗り換えて2ヶ月ほど立ちますが、不便なことが4つありました。 copy した文字列を直接ファイルやプログラムに渡せない 2ストロークの key bind が定義できない cdd が動かない copy mode で1行コピーがない (1), (2) は未だに未解決です…

はてなブログサイドバーにカテゴリ一覧を自動表示する

コピペ用 以下のコードをサイドバーとして追加 <script> (function($) { var $module_body = $('.hatena-module-body:last'); $module_body.parent() .removeClass('hatena-module-html') .addClass('hatena-module-categories') .prepend($('<div>').addClass('hatena-mo</div>…

はてなブログで「続きを読む」記法

はてなブログでははてな記法の実装がはてなダイアリーと違うようで、動かない記法がいくつかあります。*1続きを読む記法 もその内の一つです。 はてなダイアリーで書いていたときは使ったこともなかったんですが、最近立て続けに長めの記事を書いたら、トッ…

Gyazo の URL はどこまで短くできるか

序論 Gyazo というサービスがあります。 スクリーンショットを共有するためのウェブサービスで、撮ったあとにその URL を共有したい人に送るだけで画像を簡単に共有することができます。その際の画像の URL は次のようになっています。 http://gyazo.com/587…

cdd を tmux, bash, multi session +α に対応した

screen を使う上でほぼ必須とも言っていいコマンド cdd を tmux 対応にし機能をいくつか追加しました。https://github.com/m4i/cddオリジナルの cdd はこちら http://d.hatena.ne.jp/secondlife/20080218/1203303528 利用方法 cdd をすでに利用している方 フ…

Twitter の Feed の URL

http://twitter.com/statuses/user_timeline/USER_ID.atom http://twitter.com/statuses/user_timeline/USER_ID.rss毎回忘れるのでブックマークレットにした。 USER_ID の部分は Username でもアクセスできるが、変更されるとリンク切れになってしまうので数…

Twitter の Following のページでフォローされているかどうかを表示する

Twitter の Following のページでフォローされているかどうかを表示するブックマークレットを作った。このブックマークレットをブックマークして http://twitter.com/following で実行するだけ。 https だと警告出ます followers が 5001 人以上の場合正常に…

WordPress をたった3分で3倍高速化する方法 [MO Cache]

PHP

3分しか時間がない人向け WordPress の管理画面を開く WP File Cache をインストールする MO Cache をインストールする 完了!設定の必要はありません もう少し時間がある人向け この記事は WordPress Advent Calendar 2011 の10日目の記事です。今日は MO C…

はてなブログで DISQUS

コピペ用 全記事の最後に改行なしでこれを貼り付ける <script src="https://raw.github.com/m4i/hatenablog-disqus/master/disqus.js">DISQUS_SHORTNAME</script> DISQUS_SHORTNAME の部分は自分の disqus_shortname に置き換えてください。こんな感じで <script src="https://raw.github.com/m4i/hatenablog-disqus/master/disqus.js">m4i</script> 解説 はてなブログで Google Analy…

あふwで Cygwin のシンボリックリンクを辿れるようにする

あふwで Cygwin の symlink を透過的に扱えるようなスクリプトを書いた。https://raw.github.com/m4i/afx-tools/master/follow-symlink.js使い方はソースのヘッダ参照。以下に抜粋しました。 /** * あふw で Cygwin のシンボリックリンクを扱うためのスク…

mintty の青色を見やすくする

2011-12-26 追記 .minttyrc で設定できるようです。 Blue=64,64,207 BoldBlue=112,112,255 なので以下のコンパイル作業は一切必要ありません。 mintty では ANSI color の変更ができないみたいなのでコンパイルが必要Cygwin の場合 setup.exe で curl, gcc-c…

はてなブログで Google Analytics

2012-02-04: サイドバー機能追加に伴い全面的に見直し コピペ用 サイドバーに追加 (function() { var account = 'UA-XXXXX-X'; if (!window._gaq) return; if (/^\/preview\b/.test(location.pathname) || /[&?]preview=/.test(location.search)) return; va…

rvm + cron/sudo

cron * * * * * bash -c '. ~/.rvm/scripts/rvm && command' sudo $ rvmsudo command cron + sudo user ALL = NOPASSWD: SETENV: /path/to/command * * * * * bash -c '. ~/.rvm/scripts/rvm && sudo GEM_PATH=$GEM_PATH GEM_HOME=$GEM_HOME BUNDLE_PATH=$BU…

「vim で、特定ファイル全部を、確認しながら置換する」の wrapper を書いた

Vim

vim で、特定ファイル全部を、確認しながら置換する - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtechこれほんと追い求めてました。ただ **/*.pm の部分で指定したファイルの内、置換対象のファイルが少ないと、無駄に遅く、"-- More …

Vim, Screen, Mac/Windows 間でクリップボードを同期する(前編)

前編 現状と問題点 Vim A Vim B Vim -> Screen Screen -> Vim Mac/Windows Vim (ssh/plink編) 後編(予定) Mac/Windows Vim (PortForward編) Vim -> Mac/Windows (inotifyを利用した履歴ファイル監視による自動転送) Windows -> Vim (ClipboardViewerを利用…

「ふつうのコンパイラをつくろう」が届いた!

本当に「ふつうのコンパイラをつくろう」が届いた!参考: Ruby 会議 2008 に行ってきた

退職しました

本日付で4年半勤めた会社を退職しました。 最高の職場でした。今まで本当にありがとうございました。 しばらくは無職を満喫する予定です。

TopCoder はじめました

半年前くらいからずっとやりたいなぁと思っていた TopCoder に先週 SRM 425 で初挑戦しました。言語は C#, C++, Java のどれもまともに書いたことなかったので、どうせ覚えるならと言うことで C++ を選択。C++ の知識は「vector は聞いたことあるけど、それ…

SBI証券の先物取引の注文をしやすくする UserScript

タイトルの通り、需要が全くないであろう UserScript を作り CodeRepos Gist にあげました。sbisec_future_trade_support.user.js (Greasemonkey 0.8+)機能は 気配値をクリックして価格をセット 注文パターンをセレクトボックスからラジオボタンに変更 執行…

Linode vs. Slicehost

今日は Rails勉強会@東京第34回 に行ってきたのですが、そこで「Rails を動かすレンタルサーバのお勧めは?」という質問に対してVPSの Slicehost がお勧めされるという場面がありました。 まあまあ確かに Slicehost もすばらしいとは思うのですが、VPS とい…

cidr-mobilejp を修正

「PHPで高速に携帯ゲートウェイのIPから携帯キャリアを判別する」 で cidr-mobilejp という素晴らしいスクリプトが CodeRepos で公開されています。しかし、いつからか正確にはわかりませんが、Softbank の IP アドレス帯域取得の URL が http://developers.…

PHPカンファレンス2008と前日Hackathon

PHP

今週末はPHPカンファレンス2008とPHPCon前日Hackathonに参加します。PHP系のイベントは第10回PHP勉強会以来。あの頃はノートPCもまだ持ってなかったんだなぁ。Hackathonは例によって勢いです。勢い重要。というかPHPは仕事でたまに書くぐらいなのでよくわか…

はてなダイアリー市民

前回の記事ではてなダイアリー市民になってた。 最初の記事が 2005-06-22 だからほぼ丸3年で30記事。 少ないなぁ。この1年で同じだけ書く+市民権を失わない*1のを目標にしよう。目標としては簡単すぎる気もするけど、控えめにしないとすぐあきらめる性格なの…

Ruby 会議 2008 に行ってきた

もう一週間も経っちゃったけど。ここ1年くらい会社に引きこもっていたのでとても刺激になった。Golfコンペではスタッフのくせに無理矢理参加し『ふつう賞』という微妙に不名誉な賞を頂きました。でも副賞は『ふつうのLinuxプログラミング』、『ふつうのHaske…

Ruby-GetText 1.91.0 のキャッシュに関するバグの対処法

Ruby-GetText 1.92.0 ではすでに修正されています現在 Windows or Linux Rails 2.1.0 Ruby-GetText 1.91.0 という環境のパッケージアプリケーションを作ってます。そこで 『適当に操作してるとたまに日本語化されていないページが表示される』 というバグが…

Ruby 会議 2008 でスタッフしてきます

去年チケット買えなかったから勢いで当日スタッフに応募したら採用されてしまった。やばいやばい冷静に考えたら全然そんなキャラじゃなかった…。他の人ほとんど経験者だし少し気が重い。応募はどれくらいあったんだろうなぁ。これをきっかけに社会復帰できま…

MacBook Pro

Mac

あれだけ待ち焦がれていた MacBook Air があまりに低スペックだったことに絶望して、自分が本当に欲しいのは MacBook Pro なんじゃないかと思い始めていた矢先に。後悔はしていない。 とりあえずHDDとキーボードだけ変更してメモリは別に買うことにした。

rake rails:freeze:gems で uninitialized constant Gem::GemRunner

2007-12-20 追記 2.0.2 で修正された RubyGems 0.9.5 になってから rake rails:freeze:gems がこける。検索してもあまり情報がないのは環境によるからなんだろうか。探しまわったところ railties/lib/tasks/framework.rake にこんな修正を入れろというのをい…

CodeRepos の

commit 権もらったー。とりあえず rails plugin でも持ってこうかなと思って、リポジトリを覗いたけど Rails 関連は1,2個しかないね。確かに Geek は Rails にあまり興味がなさそうではある。置く場所は Directory path rules にある通り http://svn.coderep…

Mac で SandS

Mac

Mac に switch して一番嫌なことはプログラミングしてると shift キーの押し過ぎで小指が死ねることです。Windows では窓使いの憂鬱という素晴らしいソフトで SandS*1 を堪能していた訳だけど、Mac にはそれが実現できそうなものが無くてプログラミングへの…

Ext JS のライセンスが…

Ext JS を使いたいんだけど、ライセンスをどう解釈していいのかいまいちわからない。http://extjs.com/license (日本語訳)理解力なさすぎなんだけど『どのような用途でも LGPL ライセンスを選択することができる』でいいんだよね?今回は、パッケージ売りす…

ついに社内の Mac 率が 50% 超え。

Mac

プログラマに至っては Windows は一人だけ。 確実にきてる!

ニコニコ動画で全画面表示

現在は正常に動作しません作ってみたら意外に便利だったので置いときます。z キーか動画内の左上 100px の部分をクリックで全画面表示。 Mac OS X 10.4.9 + Firefox 2.0.0.3 + Greasemonkey 0.6.9 0.7 Mac OS X 10.4.9 + Safari 2.0.4 + Creammonkey 0.8 0.9…

Ruby 会議 2007

いやいやいや Loppi の前に長蛇の列ってどんな文化だよ。今まであんなの使ってるやつ見たことねーよ。1人めは10分くらい占拠しっぱなし。どこの誰のライブか知らないけど、何回問い合わせたって結果は同じだって。かと思ったら前のやつは toto 買い出すし。…

HDD 壊れた

HDD がおかしくなったので、 壊れたHDDからデータを取出す方法 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き - とか void GraphicWizardsLair( void ); // クラッシュしたHDDをサルベージするときはKNOPPIXかFreeSBIEでdd_rhelpとかdd_rescueする…

わかった

OPML Burnerこれかぁ…。最初見たときは入ってるとは思いもしなかったけど、7/9人とかおかしなことになってる。 サンプルで最初からいくつか入れてありますが、プログラマが読んでおいた方がいい、ってのが出るように適当にピックアップしてみました。 最速イ…

livedoor Reader の登録者数が

117 users とかいうありえない数字になっているんですが、本当ですか?半年前に最後の記事を書いたときには、十数人だった気がするんだけど記事書かないで10倍なんてことがありえるんだろうか。livedoor Reader のバグの気がしてならない。

Rails から Text::Hatena を使う

Rails で作ったアプリではてな記法が使いたくて、確か Text::Hatena の Ruby 版があったよなぁとか思いつつ検索したんだけど見つからなくて、自分で作るなんてあり得ないし、だったら Perl 版そのまま使えばいいんじゃねと言うことで作りました。 特徴 サー…

はてなポイントもらった!

自分には縁の無い機能だと思ってたけど、うん、これは予想以上にうれしい。ありがとうございました。というわけなので、Ajaxイン・アクション欲しい!

Switch!

Mac

アップル - Mac注文した。調子に乗ってカスタマイズしまくったら266,950円になってた。高いよ…

livedoor Reader で EntryFullText

Plagger Conference #1 に行ってきたけど、ノートPCもテトリスDSも無いので家で一人Hackathonした。 Perl難しい!とか思いつつやってたら結局Greasemonkeyスクリプトになってしまった。Plagger関係ないし、中途半端で全く役に立たないネタスクリプトに。ほと…

おふろに入ってるときに考えたことを、

出た後に一覧できるツールが欲しい。良いアイデアが浮かんでも出るころにはすっかり忘れてる。Web2.0とかで何とかなんないかな。できれば、自転車に乗ってるとき用と、プールで泳いでるとき用も欲しい。