2010-01-01から1年間の記事一覧

Rubyでcalをカラフルに

ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。Rubyでcalをカラフルに : melborne.github.com - 世界はすっかりGUIに支配されました コンピュータといったらWindow…

キー配列を最適化してプログラミングの生産性を倍にしよう! OSX限定

現代のキーボードの配列は アルファベットを中心にしたQWERTYが主流です これは1882年に完成されたそうです*1 もちろんコンピュータが生まれる以前です 一方プログラミングでは アルファベット以外の記号を頻繁に打鍵します 例えばRubyでは _ = - + : [ { ( …

IRB それはRubyistの魔法のランプ

ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。IRB それはRubyistの魔法のランプ : melborne.github.com - IRB*1 名前を聞けば誰でもわかる 超有名なライブラリ IRBを…

Rubyのメソッドに別名があってもいいじゃないか

ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。Rubyのメソッドに別名があってもいいじゃないか : melborne.github.com - Rubyのメソッドに別名を付ける方法を勉強した…

((Rubyで) 書く (Lisp) インタプリタ)

ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。((Rubyで) 書く (Lisp) インタプリタ) : melborne.github.com - Peter Norvigさんの((Pythonで) 書く (Lisp) インタプ…

RubyでANSIカラーシーケンスを学ぼう!

ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。RubyでANSIカラーシーケンスを学ぼう! : melborne.github.com - CUIの世界は地味な世界です 真っ黒なターミナル画面に…

Rubyのモジュール関数を理解しよう!

ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。Rubyのモジュール関数を理解しよう! : melborne.github.com - RubyのMathモジュールには数学関数が定義されていて そ…

Rubyで文字列検索アルゴリズムを表現しよう!

ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。Rubyで文字列検索アルゴリズムを表現しよう! : melborne.github.com - 文字列中のパターンを探し出すメソッドとして Ru…

Rubyでソート・アルゴリズムを表現しよう!

ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。Rubyでソート・アルゴリズムを表現しよう! : melborne.github.com - アルゴリズムとその実装には往々にして乖離があり…

Rubyのクラスとメソッドを全部いっぺんに! - 再改訂版

Ruby1.9.2には45のClassがあって 28の例外クラスが別にある Moduleは15あって Standard Libraryは117ある 各Class・Moduleにはpublic methodとprivate method public instance methodとprivate instance methodがあって 例えばArrayクラスには82 Hashクラス…

Rubyでスキャニメーションを作ろう!

「ギャロップ!!」という仕掛け絵本があります 本を開くと窓の向こうに見える馬が走り出します 仕組みとしては 連続画像を重ねて作った一枚の絵の上に スリット入りのマスクを配置し これを動かすことによって絵が動いているように見せています この技術は…

オープンソース・プログラマも知っておきたい商標のこと(その4)

商標権は不動産のようなものである 商標権は独占権である つまり同じ権利の範囲内に 複数の権利者がいることはない*1 国内の有効な商標権の数はおそらく200万件を超えるけど それらは重なり合うことなくきれいに区画整理されて並んでいる そう ちょうど新…

オープンソース・プログラマも知っておきたい商標のこと(その3)

商標の権利は国単位である 法律は国が定める 日本の商標法は日本が定めた アメリカの商標法はアメリカが定めた 国ごとに商標法があってそれぞれの国が定めるから それらはよく似ていてもちょっとずつ違う そんな状況で日本でとった商標権が 「アメリカでも有…

オープンソース・プログラマも知っておきたい商標のこと(その2)

商標の権利は商品・サービス単位である 無事審査官のお眼鏡に適った商標は登録される 登録されると登録番号が付いて 出願人は商標権者になる ちなみに出願をすると出願番号というものが付くけど それは単なる受付番号であってこの登録番号とは価値が全然違う…

オープンソース・プログラマも知っておきたい商標のこと(その1)

オープンソース・プログラミング言語Perlの商標が 第三者によって登録されたことが話題になっている 北畠徹也氏、「Perl/パール」を手中に この者はPerlのみならずRUBY Python Apache OPENSOURCE Jakartaなどについても申請をしている 北畠徹也氏が「RU…

Termtterなら友だちだって見つけられる!

Twitterにおけるfollower数はその人の戦闘力を表すらしい*1 だからこの戦場で生き抜くためにはfollower数を増やさなきゃいけない 将来起こるであろう有名人や名の知れたプログラマとの戦いのために 今から少しずつfollower数を増やさなきゃいけない follower…

Rubyでマリオを奏でよう! 〜_whyのbloopsaphoneの紹介

2009年8月19日Ruby界の鬼才_why*1が ネットから忽然と姿を消しました*2 この突然の出来事にRubyist達は驚きそして困惑しました なぜなら彼自身がただネットから消えたのではなく _whyはネット上の彼の痕跡も同時にすべて消し去ったのです! Rubyのガイドブッ…

Yet Another Ruby FizzBuzz その2

class Fixnum def self.fizzbuzzize alias org_to_s to_s def to_s if self%15 == 0 then "FizzBuzz" elsif self%3 == 0 then "Fizz" elsif self%5 == 0 then "Buzz" else self.org_to_s end end end def self.unfizzbuzzize undef to_s alias to_s org_to_s…

Yet Another Ruby FizzBuzz その3

divisible_by = lambda { |base, num| (num % base).zero? }.curry divisible_by_15 = divisible_by[15] divisible_by_3 = divisible_by[3] divisible_by_5 = divisible_by[5] (1..100).each do |i| puts case i when divisible_by_15 then 'FizzBuzz' when …

Yet Another Ruby FizzBuzz その4

class Fixnum def fizzbuzz w = {Fizz: 3, Buzz: 5}.select { |_, base| (self%base).zero? } w.empty? ? self : w.keys.join end end (1..100).each { |i| print "#{i.fizzbuzz} " } Enumerable#injectのほうがいいかな class Fixnum def fizzbuzz w = {Fiz…

Yet Another Ruby FizzBuzz

FizzBuzzはプログラムする人の最初のfilterプログラムだ*1 だからプログラムをするのならFizzBuzzを解かなきゃならない こうしてプログラムする人の数だけFizzBuzzが生まれる そして今日もまた別のFizzBuzzが生まれた module Enumerable def fizzbuzz(opt) m…

ApplescriptとRubyでもう僕は移動しない

忙しい社会では無駄な労力というのはとても嫌われます そしてコンピュータネットワークの発達した現代では 「移動」は無駄な労力の1つとみなされています ネット世界の住人は特に移動を嫌います 物を買うにも友と語らうにも移動を避けます 移動は無駄に時間…

Termtterでupdateコマンドを省略する

Termtterが他のTwitterクライアントと違うことの1つは ユーザが入力した文字列を Twitterへの投稿文字列とは解釈しないところだ Termtterは常にそれをコマンド(+引数)として解釈する だからそのことを忘れて投稿文字列を打つと 以下のように言われる > 誰か…

Ruby製ノコギリで株価を切り刻もう!

ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。Ruby製ノコギリで株価を切り刻もう! : melborne.github.com - 株式投資は社会人のたしなみである 投資をせずしてリアル…

Termtterで#nowplaying

Twitterで#nowplayingというタグを付けて 今聞いてる曲とかをポストするのが流行ってますね Termtterにはitunesというpluginが添付されていて これを使えばiTunesで今聞いてる曲を簡単にポストできます > listening_now または ln => Listening now: Tequila…

TermtterならGmailだって

朝起きてパソコンを起動して最初にすることは何ですか? ええもうわかってますよ Terminalを開いてtermtterコマンドを打って 『今起きた。』ってTweetするんですよね そして次にBrowserでGmailを開いて 大したメールが来ていなことを確認して またTermtterに…

TermtterならGOOGだってAAPLだって

Twitterが流行ってます TLには新しい製品やサービスの情報がぞくぞく流れてきます そうなるとその会社の株価も気になりますよね? ええ当然気になります そんなわけで株価を表示するTermtter pluginを作りました stock_price (またはstp) コマンドのあとにT…

Termtterなら暗号だって回文だって

Twitterが流行ってます 床屋さんにTLが流れる光景も普通になりました そんなわけでTermtter用update_mirror commandを作りました > update_mirror hello world from termtter! または um hello... => "update !rettmret morf dlrow olleh #mirrormessage" …

TermtterならBlogだってVideoだってPatentだって

gsearch pluginを改良して以下のGoogle検索に対応させました Google Web Search Google Blog Search Google Book Search Google Image Search Google Video Search Google News Search Google Patent Search なお日本語検索ができないという致命的な問題があ…

Termtterならニュース検索だってできる

gsearch pluginを改良してGoogle News Searchにも対応しました ただheadline newsは見れません config.plugins.gsearch.verbose = trueとすることで contents表示モードになります 関連記事:TermtterならGoogle検索だってできる - hp12c gist: 297408 - Ter…