タグ

ブックマーク / technohippy.hatenadiary.org (16)

  • アンダースコアだけで Ruby プログラムを書く2 - ずっと君のターン

    requireされたときに以降のコードを好きなように解釈して勝手に終了するの、よく考えたらネタプログラミング用に汎用性が高いことに気がついたので超絶技巧の人の「アンダースコアだけで Ruby プログラムを書くライブラリ _ - まめめも」をその方式でやってみた。 # _2.rb file, line, method = if /^(.+?):(\d+)(?::in `(.*)')?/ =~ caller(1).first [$1, $2.to_i, $3] end if method == 'require' lines = File.open(file) {|f| f.readlines} eval lines[line..-1].join(' ').split(' ').map{|e| e.size-1}.join.scan(/.../).map{|e| e.to_i(6) }.pac

    アンダースコアだけで Ruby プログラムを書く2 - ずっと君のターン
    tohtas
    tohtas 2011/01/04
  • Smalltalk勉強会で夢を語ってみた - ずっと君のターン

    シンコム・システムズ・ジャパンさんのオフィスで行われた今年最後のSmalltalk勉強会で積年の夢を語ってきた。今回の勉強会は控えめに言っても言語の内臓丸出しの変態トークばかりだったので、「こんなの作りたいです」ってだけの私のLT?はかなり浮いてた気がするけど、そんなことは(゚ε゚)キニシナイ!! で、その夢なんだけど、要するに「Smalltalkっぽい日語プログラミング言語を作りたい」って話。だけど、せっかくの夢なのでここではさらに風呂敷を広げて「世界中の人が使える多言語化可能なプログラミング言語+ツールを作りたい」って話にしたい。 ・・・ もし全ての人がプログラミングできればきっと世界がかわる。普通に生活してるだけでもプログラマが、役所で、レジで、窓口で、「YOU!自動化しちゃいなYO!」って思うことがどれだけ多いか。 日人は識字率が高くて算数も得意なんだから、うまくすれば識プログ

    Smalltalk勉強会で夢を語ってみた - ずっと君のターン
    tohtas
    tohtas 2010/12/29
  • 新プログラミング言語「ゴリスペース」を公開しました - ずっと君のターン

    霊長類の中でも特にオランウータン・チンパンジー・ボノボ・ゴリラの知能は高く、人間の5才児程度に相当し、ある程度は抽象的な思考もこなせることが分かっています。言葉に関しても手話を操るチンパンジーやゴリラの話は有名でしょう。 中でもゴリラについては実際に森に住むゴリラと人間が言葉でやり取りをすることさえ可能で、京都大学の山極寿一教授は10種類ほどのゴリラ語を話すことができるといいます。そう考えると彼らの為のプログラミング言語があってもおかしくありません。いや、むしろ無いことの方がおかしく思われます。 そこで私はゴリラ用プログラミング言語「ゴリスペース」を開発しました。*1 ソースコードサンプル Hello World ウホホホホウホホホ、ウホホ。ウッホホ。ウホホホホウホウッホホホホ。ウホホホホ、ウホホウホウホホーイウッホウホホホーイ。ウホホホホウホウホホホホ、ウホホウホホホホ。ウッホホウッホホ

    新プログラミング言語「ゴリスペース」を公開しました - ずっと君のターン
    tohtas
    tohtas 2010/10/15
  • はじめてのGo言語プログラミング - ずっと君のターン

    GDDで鵜飼さんのセッションを聞いてムラムラしたのでGo言語入門してみました。意外と公式サイトのドキュメントが充実していて素晴らしい。 HelloWorldの次に何試そうかなと考えて、そういえばBrainf*ckを今まで作ったことがなかったことを思い出したので、とりあえずGo言語の練習がてら作ってみます。正確にはBrainf*ckではなくてBrainCrashだけど。 getcharをどうやったらいいか分からなかったので「,」の実装が多分変ですが、(゚ε゚)キニシナイ!! package main import ( "flag" "fmt" "bufio" "os" ) const ( PROMPT = "\n%% " ) var is_brainf_ck = false func read_line(file *os.File) string { line, _ := bufio.New

    はじめてのGo言語プログラミング - ずっと君のターン
    tohtas
    tohtas 2010/10/03
  • RubyKaigiが次回最終回だということについて - ずっと君のターン

    年も成功裏に終了したRubyKaigiだけど、来年で最終回だとか。正直当に終わると思ってないし、仮に現在の中心スタッフが止めても、他の誰かがなにかしらやるでしょ。そういう次世代イベントの中心メンバを育てるための場がRegional RubyKaigiだと勝手に思ってるし。 ただ、それはそれとして「RubyKaigiを一度終わってみる」っていうのはホントにいいことだと思う。 (たしか)一昨年の角谷さんのゆるふわセッションを私は大笑いしながら見てたんだけど、終わってから他の人の書いたレポート見てるとなんとなく違和感があった。まぁ詳細レポートを書くような人はそれだけ多くを受け取った人だから思い入れも激しいのかなぁと思ったりしながらその時は違和感を気にしないことにしたわけだけど。 それで迎えた昨年の角谷さんのセッション。もちろん発言は示唆に富んでるし、事前にかっちり準備をしながらも、それ以上に

    RubyKaigiが次回最終回だということについて - ずっと君のターン
    tohtas
    tohtas 2010/08/31
  • 人として軸がぶれてない - ずっと君のターン

    アゴラの書評で小飼弾さんに「Google Wave入門」を取り上げていただきました。ありがとうございます。 http://agora-web.jp/archives/1078341.html ただこの書評、弾さんが をほとんど読まずに の内容にほとんど触れずに持論を展開するのはお家芸なので、その点は変わらぬ味わいに「うん、うん」って肯くだけなんですけど(こんな感じ)、たった一つ、どうあっても看過できないことが! 「The Communicator」って・・・。 ステージ上の弾さんしか知らないのにこういうのもなんだけど、弾さんがコミュニケーション取ってるの見たことないよ!司会や他の登壇者を無視してひたすら自分の言いたいことをしゃべり続けてるのなら何度も見たけど! と思いつつ弾さんがWaveについて以前書いたという文章を見てると Mailの持つ、「出したらそれっきり」という「機能」が見当た

    tohtas
    tohtas 2010/08/24
  • やったー「Google Wave入門」のサポートサイトできたよー(^o^)ノ - ずっと君のターン

    ネタサイトじゃなくてちゃんと作ってたんだけどね(´;ω;`)ウッ… http://wave-book.appspot.com/

    やったー「Google Wave入門」のサポートサイトできたよー(^o^)ノ - ずっと君のターン
    tohtas
    tohtas 2010/08/07
  • physicSketch for iPad - ずっと君のターン

    昨夜、渋谷のGoogleオフィスで「HTML5: W3C Widget とその応用を考える会」が開催され、そこでちょっとしたプレゼンとデモをさせてもらいました。 その際使用したアプリケーションもGAEに上げなおしたので、よかったら買ったばかりのiPadをいじり倒すついでに試してみてください。 http://physicsketch.appspot.com/ipad/index.html 上記は単なるHTMLですので、iPadのSafariでアクセスすればすぐに動きが確認できます。 単なるWebサイトではなくWidgetを試してみたい方は以下をローカルにダウンロードしてから、中島さんのサイトで紹介されている手順に従えばインストールできます。 http://physicsketch.appspot.com/ipad/physicsketch.wgt iPadでも我が家のiMacとさほど変わらな

    physicSketch for iPad - ずっと君のターン
    tohtas
    tohtas 2010/05/29
  • 世界一簡単にGoogle Waveおっぱいロボットを作る方法 - ずっと君のターン

    求められたら応えたいとこだけど、残念ながら諸々の都合でHackathon当日には説明できないのでここで説明しよう。まずは下のサイトにアクセス。 http://jp.as-a-robot.appspot.com 画面の一番上の「Google Wave上でGoogle Waveのロボットを作ろう」をクリックすると、Waveアカウントを聞かれるので入力する。Waveプレビューのドメインは googlewave.com*1 なのでうっかり gmail.com にしないように注意すること。 するとGoogle Waveが開く。ログイン画面に飛ばされるかもだけど。 Inboxの一番上にロボットからWaveが届いているのでクリックしよう。もし届いてなくてもちょっと待てば届くと思う。 あとはそのまま指示に従って入力して・・・ この質問!この質問が出たときに力強く・・・ そう、「おっぱい」と。 そうすればロ

    世界一簡単にGoogle Waveおっぱいロボットを作る方法 - ずっと君のターン
    tohtas
    tohtas 2010/04/13
  • 世界一簡単にGoogle Waveロボットを作る方法 - ずっと君のターン

    だったはずなのに・・・。 ちょっと聞いてくれよお前ら。MashableがGoogle Wave拡張のコンテストをやるってことは、今をトキメクGoogle Waveの話題だからして、全日国民が知るところなわけだけど、そのコンテストに出そうと思って、先月の中頃からちまちまロボット作ってたわけよ。Twitterみると先月の25日くらいには一番キモのところが動いてるね。 どういうロボットかというと、ロボットを作るロボット。これは新しい!MashableからNexusOne*1をもらうのは俺だ!!そんなふうに考えてたわけ。 コンテストの締め切りは今月の8日だもんで週末とかセコセコ作って、これでだいたい動いたし、あとはまぁ見た目をよくして提出すればいいかな、N1ごっつぁん、とか思ってた4月5日の夕方。 @googlewavedevの衝撃のtwit。 なん・・・だと・・・? こんなネタが、しかも提出の

    世界一簡単にGoogle Waveロボットを作る方法 - ずっと君のターン
    tohtas
    tohtas 2010/04/13
  • Appleはモジュラープログラミングを禁止している - ずっと君のターン

    ちょっと面白かったので訳してみた。 http://3dpancakes.typepad.com/ernie/2010/04/apple-bans-modular-programming.html Appleはモジュラープログラミングを禁止している 新しいiPhone開発者ライセンスにiPhoo開発者が使用できるプログラミング言語を制限する一節が入ったことで、あちこちの開発者たちがえらく腹を立てている。これがその問題のパラグラフ全文だ 3.3.1 - アプリケーションは文書化されたAPIのみ使用可能で、プライベートAPIを利用してはならない。アプリケーションはObjective-C、C、C++またはJavaScriptで書かれていなければならず、C、C++やObjective-Cで書かれたコードのみがコンパイルしたり文書化されたAPIに直接リンクできる。(トランスレーションまたは互換レイヤー

    Appleはモジュラープログラミングを禁止している - ずっと君のターン
    tohtas
    tohtas 2010/04/13
  • 一つのGAEスロットで複数のWaveロボットをホストするためのライブラリ作りました - ずっと君のターン

    http://github.com/technohippy/appengine_multi_robot_runner/ 前に同じ事をするライブラリを作ったら、二週間もしない内にWaveのロボットAPIのバージョンが上がって使い物にならなくなりました。今度はもう少し息が長いライブラリになることを祈ってます。 Waveのロボットを作ろうって人がどのくらいいるのか分かってませんけど、もしいたら、とりあえず使って損はないです。あとで単体のアプリに昇格させるとしてもコードの修正はほとんどいらないし。 サンプルコード。 from waveapi import robot from waveapi import events import appengine_multi_robot_runner class FooRobot(robot.Robot): def __init__(self): robot

    一つのGAEスロットで複数のWaveロボットをホストするためのライブラリ作りました - ずっと君のターン
    tohtas
    tohtas 2010/03/27
  • Google App Engineで落書きアプリ - ずっと君のターン

    Google App Engineのアカウントがあっさり手に入ったけどPythonはあんまり好みじゃないからしばらく寝かせておこう。とか思ってたんだけど、思いのほかレアなようで手に入らなかった人も多いみたい。これでアカウント放置というのも皆様に申し訳ないのでちょっと作ってみた。 IECanvasの使い方がおかしいのかうまく動いてくれないためFireFox限定。 若干おかしいところもありますが、今は一応動きます。(2008/4/12 追記) http://susan.appspot.com/ チュートリアルを試すの含めて4時間くらいでやっちゃったものなので、おかしなところがあっても見逃してください。 Google App Engine使ってみての感想だけど、デプロイが楽。コマンド一発でできる。勝手にスケールしてくれるそうだし、ローカルの開発環境で動けばそのあとのことはなにも考える必要がない。

    Google App Engineで落書きアプリ - ずっと君のターン
    tohtas
    tohtas 2010/02/10
  • あいまいなRubyの私 - ずっと君のターン

    なんとなく面白いかなと思ってfuzzy rubyつくりました。 http://github.com/technohippy/fruby count = 0 1000.times do if true then count += 1 end end puts count #=> 1000 if ... then はこれまでどおり100%。 count = 0 1000.times do if true probably count += 1 end end puts count #=> 839 if ... probably は80%。 count = 0 1000.times do if true maybe count += 1 end end puts count #=> 471 if ... maybe は50%。 count = 0 1000.times do if true pe

    あいまいなRubyの私 - ずっと君のターン
    tohtas
    tohtas 2010/01/25
  • たぶん一番かんたんなRails on GAE/J - ずっと君のターン

    rails APPNAME -m http://gist.github.com/103256.txtいろいろまとめてプラギン化した上で、アプリケーションテンプレートもご用意致しました。瀧内さんとこ参考にRailsをjarにまとめてあるのでファイル数制限も余裕で回避。あれこれ結構がんばった。 GAE/Jのアカウントが手に入ったみんなはコレ使って遠慮なくGoogleクラウドでRailsすればいいと思う。手に入ってない人も今のうちに開発サーバーで動かしとけば、5月末のGoogle I/Oできっと一般公開されるよ。 てことで以下手順。 必要なライブラリを入れる GAE/JのSDKとJRubyとRailsとWarblerは流石に事前に必要。この辺参考にどうぞ。すでにこれらが入ってる人はもちろん飛ばしてよし。 一応参考までに自分では試さずに書くけど、多分こんな感じ。 $ svn co http://s

    tohtas
    tohtas 2009/05/06
    jruby rails gae 環境構築
  • JRuby on Rails on Google App Engine勝手訳 - ずっと君のターン

    Google App EngineのJava版が出ました。まぁJavaは比較的どうでもいいんですが、嬉しいことにこの上ではJRubyが動くようです。海外の先駆者ががんばってブログを書いてくれたので、いつものように勝手訳してみます。 http://olabini.com/blog/2009/04/jruby-on-rails-on-google-app-engine/ これは最近アナウンスされたGoogle App EngineがJavaをサポートするというニュースに関する記事の3つ目だ。今回の記事ではJRuby on RailsアプリケーションをGAE/Jで動かすのに必要な手順をさらってみて、アプリケーションの特性がどのようになると予想すべきかに付いて書きたい。 まずJRubyは最新版が必要だ。JRuby1.2リリース以降にJRubyのtrunkに加えられた変更のほとんどが必要になるので、

    JRuby on Rails on Google App Engine勝手訳 - ずっと君のターン
    tohtas
    tohtas 2009/04/17
    jruby gae まとめ セットアップ
  • 1