ブログ移行します

ブログ移行することにしました.http://moji.yayugu.net/

rubyで文字列内の式展開で#{@hoge}の{}は省略できる

ruby style guideというのが話題になっていて, 参考になるところもあり,否定したくなるところもあり で楽しく読んでいたら知らない文法に出くわしてビビったので. https://github.com/bbatsov/ruby-style-guide class Person attr_reader :first_name, :l…

LingrからRSS生成するサービスつくった

最近(だいぶまえから?)Lingrがアツい!! でも未読管理ができなかったり, 開きっぱなしにしておくのがだるかったりするので 発言をRSSに変換するサービスをつくりました. 使い方 http://lingr.com/bot/lingr2rss このURLにアクセス Botをチャットに追加す…

DataMapperでdefault_scope的なことをする

LokkaがDataMapperなのでしかたなく使ってるわけですが,正直DMはあんまりいいライブラリではありません. ActiveRecordと迷っているなら間違いなくActiveRecordを使うべきです.で,DataMapperにはActiveRecordでのdefault_scopeにあたるものがありません.…

sqliteの違う環境で動作させたときだけ発生する怖いバグ

Time Zone の異なる場所で記録したDateTimeのデータでソートしようとするとソート順が正しくなりません.例. sqlite> select id, created_at from entries; 1|2011-01-09T05:39:08+09:00 2|2011-01-09T05:39:08+09:00 3|2011-01-08T15:40:08-05:00 sqlite> s…

DotCloudにSinatraアプリ(Lokka)を設置してみた

最近Lokkaにはまってる で,せっかくなのでいろんな環境でデプロイしてみたりしてるんだけど, その中でもDotCloudでのデプロイは面倒という話 DotCloudとは PaaSとか言われるものに分類されるっぽい HerokuとかGAEとかと一緒にされますが, それらよりもい…

gvimの.vimrc上書きに負けないDRYなvimrcを書く

最近zenburnというvimのcolorschemeがお気に入りです. このcolorschemeはターミナルとGUIの両方に対応していて大変便利です. 問題 しかし~/.vimrcに colorscheme zenburnと記述するとターミナルでは良いのですがmacvimでは以下のような惨状となってしまい…

GitHub人気レポジトリランキング Best50 全解説

GitHubで人気レポジトリのランキングが公開されているようなので全解説してみました. どれも素晴らしいものばかり! あなたのプログラミングライフを快適にしてくれるライブラリがきっと見つかるはず!! rails rails 9835 watching Ruby on Rails. 説明不要だ…

Twitterの(公式よりまともな)RSSを生成するサービス Twitter Good RSS をつくったよ!

改良版のTwitter Great RSSをつくりました。今後はこちらをお使いください つくりました! こんな感じ↓にTwitter公式のアレなRSSと違いまともなRSSを生成します。 URL、#ハッシュタグ、@リプライに対応。さらに公式の画像サービスpic.twitter.comの画像をイン…

TwitterのOAuthでrequest tokenを取得しようとして401 Unauthorizedがでるときの原因と対処法3つ

たとえばRubyのOAuth Gemだと OAuthConsumer#get_request_tokenすると OAuth::Unauthorized - 401 Unauthorized: みたいなそっけないエラーがでてどうしたらいいかサッパリわからない時がある。 一応KeyとSecretを確認したけど合ってるし……みたいなとき 俺が…

最近のできごと

RubyKaigi 2011 行ってきた 未踏の成果報告会で発表した 未踏のやつは後で書く

カタログスペックではわからないMacBook Airの欠点

今までMacBook Pro 13inch Mid 2010を使っていたんだけど新型のAir 13inchに乗りかえた!で、薄さと安さのために意外と犠牲にされているところがあるように感じられたのでかいとく 質感 明らかにProのほうが上 Apple製品のガワは基本的にアルミとガラスででき…

セプキャンのチュータ応募に落ちてしまい大変残念なので応募した文章晒す

すごく残念です プログラミングコースのチュータに応募します。 私にとってセキュリティ&プログラミングキャンプは人生の大きなターニングポイントでした。それまでプログラミングに関して具体的な目標もなく、友だちもいなかった私ですが、このキャンプを…

なぜRubyをPythonよりもPHPよりも高速化できたか

最も有名なベンチマークサイト "The Computer Language Benchmarks Game" における最新のランキングで Ruby 1.9 は Python3, PHP, JRuby を追い抜きスクリプト言語としてトップクラスの値を叩き出しました。5/4の時点では最下位に近かったので大きく前進して…

NokogiriでXMLをガチParseするためのメタプログラミング

要約 RubyでHTMLからTeXへのトランスレータを書いた。 NokogiriのNokogiri::XML::SAX::Documentあたりを使うのが便利そうに感じたが、実際にやるとソースコードが崩壊した。 SAXではなくDOMを用いて階層構造を再帰で辿ったほうがいい。さらにメタプログラミ…

pTeXで縦書きモード時にハイパーリンクを埋め込む方法のメモ

TeX

TeXでハイパーリンクを埋め込んだり、PDF内での参照をクリックでジャンプできるようにしたりするためにはhyperrefが標準的に使われております。hyperref便利なんですがpTeXの縦書きモードには対応していなかったようで、リンクの部分のテキストが和文のとき…

Rubyにおけるrand(乱数)の挙動について

Rubyのrandの挙動はややこしく、最近さらにややこしくなったのでメモ。 乱数メソッドの種類 Rubyには3種類のrandがある。 Kernel#rand (ふつうのrand) Random.rand Random#rand ふるまい(before 1.9.2) 1.9.2までは、 Random#randは引数にInteger, Float, Ra…

binary treeの再帰をループに展開したら遅くなった

http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php このベンチマークサイトみてたらRubyがえらい遅かったので、なんとかならないかなーと思い、適当に手を出したのがbinary-treeのプログラム # The Computer Language Sho…

TeXが出力するDVIファイルをパースして整形して表示するプログラムつくりました

TeX

pLaTeXとかが出力するDVIファイルをパースして整形して表示するプログラムつくりました。バイナリ形式でちっとも読めやしないDVIファイルを分かりやすく表示することができます。https://github.com/yayugu/ParseDVI 用途 出力されたPDFを見るだけでは飽きた…

Ruby Twitter Gemを使ったらTwitter botが9行で書けた

microneを使ったらApp EngineのTwitter botが14行で書けたこれ読んだ時なんかしっくり来なかったんですよね ここの記事ではなぜかTwitter botをつくるのにWebサーバ+Webフレームワークを用いるという謎なことをやっています。14行で書けた! とのことですが…

3bit符号付き整数を読み取る

TeXの出力するDVIファイルのパーサを書いていたら 3bit signed integer (Big Endian) という見るからにめんどくさそうなものを読み取るハメになったのでメモ。 Rubyでバイナリを扱う基本 RubyにはArray#packとString#unpackがあり、数値の配列とASCII-8bit文…

継続こわくない(RubyでFiberを使ったコードをcallccで書きなおしてみた)

Fiberに関するこんな記事をみて、 そういえば以前30分でわかるcallccの使い方で、 callccの代表的な使い方は * (A) 処理の中断/再開 (generator, wait_ok) * (B) 処理のやり直し (amb, ppp) の2通りが挙げられる。 callccが危険なのは(B)ができてしまうから…

今年の抱負

去年はいっぱいはてなブックマークをもらえたりしてびっくりしました。 今年は5000ブクマとか行くといいなあ。行けるようなナイスな記事をかけるよう頑張ります。 MacBook Air 11インチ欲しい! http://d.hatena.ne.jp/hatenadiary/20110112/1294800120

Matzのコメント: DebianのRubyパッケージ管理者をやめちゃった方への

DebianのRubyパッケージの管理者をやめちゃった方のBlogが何かと話題になっています。主にRubyコミュニティへの不満、特に日本語偏重への不満が溜まっていたようです。 http://www.lucas-nussbaum.net/blog/?p=617 http://d.hatena.ne.jp/karasuyamatengu/20…

5分でわかる Ruby を知らない人が Ruby の便利さを学べる記事をかいたよ を勝手に改造

5分でわかる Ruby を知らない人が Ruby の便利さを学べる記事をかいたよって記事があってとっても感動しました。RubyではRailsとかSinatraとかのWebアプリのフレームワークが流行っていますが、もっとお手軽にちょっと便利な使い方を紹介するのっていいです…

近況報告

久しぶりの更新。 参加したイベントとスライドをあげとく。どちらもその場の説明や事前資料やデモと組み合わせているので単独だと意味がわかりづらいかも プロコン 2010/10/16 に高専プロコンに参加。長野高専チームとして自由部門のプレゼンをしてきた。 後…

ベーシックで高品質で完全にフリーな日本語フォント

フリーフォントのまとめなんて腐るほどありますが、大抵 商用不可 再配布不可 収録文字数が少ない 変わったデザインのフォント のどれかに当てはまり、ベーシックで何も考えず使えるフォントって少なかったりします。 そこで、 フツーな形をしている 第二水…

Twitter BOT作るときOAuthのAccess token取得するのがめんどいから簡単に取得できるwebサービスつくった

Twitter BOT作るときOAuthのAccess token取得するのがめんどいから簡単に取得できるwebサービスつくりました。 http://getaccesstoken.herokuapp.com 使い方は簡単!! 1. http://twitter.com/apps から適当なアプリケーション名を登録。そのときに ここらへ…

チームラボへインターンに行ってきました

2週間ほど。素晴らしい方々と会えて本当に楽しかったです。 やった内容についての成果発表のusthttp://www.ustream.tv/recorded/9263580 スライド

特定の発言をfav & RTするbot

作ってみた。具体的にはハッシュタグ #TweetMegaphone を含む発言と @yayugu の発言を10個のアカウントで自動でfav & RTする。 仕組み 頑張って10個のアカウントつくる 頑張って10個のAcess Tokenつくる 1分置きにcronで叩く 前回までのstatus_idを記録しと…