タグ

ブックマーク / route477.net (22)

  • Route 477(2014-02-14)

    ■ [ruby] Sinatraでファイラ作ると捗る ローカルのデータファイルを一覧したい時、いちいちGUI作るのも面倒なので、ブラウザでポチポチして表示できると便利だなーと思うことがある。 実際そういうコードを3回くらい書いてるので、テンプレとしてgithubに置いてみた。 https://github.com/yhara/sinatra_filer_template cloneしてbundle installしてrackupで起動すると、こんな感じでファイル一覧をブラウザからたどれるようになる。この状態ではまだ、ファイル名が見える以外の機能はないんですが… これにですね、ちょっと手を入れて、*.jpgをimgタグに展開するようにすれば簡易画像ビューアになるし、afplayとかと連携すれば簡易音楽プレーヤになるし、仕事で先方から受け取ったxmlファイルをいい感じに整形して表示するとかも簡

    Route 477(2014-02-14)
    UDONCHAN
    UDONCHAN 2014/02/15
    便利
  • Route 477(2014-02-10)

    ■ [misc] 北海道に行こうとした 2/8-2/11という日程でニセコに滑りに行く予定だったんだけど、大雪で羽田-千歳便が飛ばなくて詰んだ。*1 以下はメモです。 羽田で立ち往生する可能性があるときは、リスクヘッジとしてカプセルホテル等を抑える ホワイトライナーの払い戻し条件は確認しておく 9:00 : 米子空港発。 10:15 : 羽田空港着。ここから14:00まで羽田で時間をつぶす予定だったのだけど…。 11:00 : 15:00以降の全便欠航が決定。 12:00 : 定刻2時間前。依然として"天候調査中"。 13:30 : 定刻30分前。欠航の表示がないので、手荷物検査を済ませて中に入る。 13:35 : 看板に60分遅れの表示が。ともかく飛ぶならまあいいかと思う。 15:00 : 使用機が到着したとのアナウンス。出発は15:30頃になりそうとのこと。 15:33 : 搭乗開始。

    Route 477(2014-02-10)
    UDONCHAN
    UDONCHAN 2014/02/12
    いい話
  • [ruby] Rubyに「ユーザ定義演算子」を追加するライブラリ、superatorsAdd Star - Route 477(2014-01-30)

    ■ [ruby] Rubyに「ユーザ定義演算子」を追加するライブラリ、superators http://www.rubyinside.com/superators-add-new-operators-to-ruby-592.html Twitterで衝撃的なgemが流れてきたので調べてみた。superatorsを使うと<---や-~+~-のような独自演算子をユーザが自由に定義できるようになる。しかも驚くべきことに、Pure Rubyで実装されているのだ。 /Users/yhara/r/superators % irb -Ilib -r superators irb(main):0> class Array irb(main):1> superator "<---" do |operand| irb(main):2* if operand.kind_of? Array irb(main):

    [ruby] Rubyに「ユーザ定義演算子」を追加するライブラリ、superatorsAdd Star - Route 477(2014-01-30)
    UDONCHAN
    UDONCHAN 2014/02/02
    これはすごい
  • Route 477(2013-11-29)

    ■ [node.js] npmをpushする やり方をすっかり忘れてるのでメモ。 gem pushに相当するコマンドってなんだっけと思ったが、npm publish . だった。 pushにはhttp://npmjs.org/ のアカウントが必要。npm adduserで認証するらしい。 adduserというとユーザを作成しそうな気がするが、npm help adduserによれば既存のログインIDを入れれば認証だけしてくれそう。 アカウントはあるはずなので、http://npmjs.org/ にログインして、Profileを見ながらLogin, Password, Emailを入力。 npm whoamiでyharaと出たので、OKそう。 ■ [rumcoke] RumCoke 0.2.0をnpmjs.orgにpushしました ということでJavaScriptをS式ベースにした感じの言語

    Route 477(2013-11-29)
    UDONCHAN
    UDONCHAN 2013/12/03
  • Route 477(2013-11-27)

    ■ [esobook] 『Rubyで作る奇妙なプログラミング言語』が復刊します 4839927847 絶版になっていた『Rubyで作る奇妙なプログラミング言語』ですが、このたびPDF版+オンデマンド印刷版という形で復刊になります。 発売日は1/7で、いまのうちに予約すると割引があるので、PDFなら買うのにな、と思っていた方はこの機会にぜひどうぞ。 【先行予約】Rubyで作る奇妙なプログラミング言語 ~ヘンな言語のつくりかた~ | マイナビブックス 一応、第二版という形にはなりますが、内容は基的に前のものと同じです。違うのは正誤表にある誤植が直っているのと、「はじめに」のRubyのインストール方法のところを直したくらいです。 サポートサイト 復刊に当たって、ダウンしてたサポートサイトも新たに復旧しています。(スタイルシートをちゃんと書いてないのですごくプレーンな感じですが…) http:/

    Route 477(2013-11-27)
    UDONCHAN
    UDONCHAN 2013/11/27
    めでたい
  • Route 477(2013-11-11)

    ■ [github] GitHubのforkリポジトリを普通のリポジトリにしてもらう 最近githubの緑バー(Your Contributionsの欄)を伸ばすのがマイブームなのですが、実はこれ、forkしたリポジトリへのコミットは(体にマージされない限り)カウントされないというルールがあります。 で、BiwaSchemeのメインリポジトリはgithubのbiwascheme/biwaschemeなんですが、これはyhara/biwaschemeからforkして作ったため、緑バーにカウントされないという問題がありました。 このような場合、ここの「contact a human」からメールを送ると、fork側を普通のリポジトリにしてもらうことができます。 参考のために文面を(うろ覚えですが)書いておくと、こんな感じで送ったと思います。手短なのは入力欄に「If you use 140 ch

    Route 477(2013-11-11)
    UDONCHAN
    UDONCHAN 2013/11/13
  • Route 477 - TRICKみたいなコードをどうやって思いつくのかを解説してみる

    ■ [ubuntu] Ubuntuにthe silver searcherを入れてみた the silver searcher(Ag)はgrepとかackとかrakみたいな検索ツール。速いらしい。 aptで入らないらしいので、ソースからコンパイルする。 $ git clone https://github.com/ggreer/the_silver_searcher $ cd the_silver_searcher $ aptitude install automake pkg-config libpcre3-dev zlib1g-dev liblzma-dev (READMEにあるとおり) $ ./build.sh agというファイルができるので、パスを通す。 あとは $ ag foo とかで、カレントディレクトリ以下の全ファイルから"foo"を探すことができる。 あと.agignore

    Route 477 - TRICKみたいなコードをどうやって思いつくのかを解説してみる
    UDONCHAN
    UDONCHAN 2013/06/11
  • Route 477(2013-04-17)

    ■ [haskell][types] Haskellの型クラスの実現方法について調べてみた 型クラスの実装について調べていたら、1988年の「How to make ad-hoc polymorphism less ad hoc」という論文に行き当たった。 http://homepages.inf.ed.ac.uk/wadler/topics/type-classes.html (How to make ad-hoc polymorphism less ad hoc) (Macだとpsファイルがそのまま開けるようです) これによると、型クラスを使ったHaskellプログラムは、型クラスを使わない(代数的データ型のみの)プログラムに変換できるそうだ。*1 内容は、Haskellのclass構文とinstance構文の使い方を知っている人なら、上から順に読んでいけば理解できると思います。実装の

    Route 477(2013-04-17)
    UDONCHAN
    UDONCHAN 2013/04/17
  • Route 477(2013-04-14)

    ■ [ruby][event] 頭のおかしいRubyプログラムのコンテストが開催されるぞ (5/18〆切) 5月末のRubyKaigiに合わせて、IOCCCRuby版的なコンテストが開催されるようです。 TRICK 2013 TRICK 2013 (第一回 超絶技巧 Ruby 意味不明コンテスト in rubyKaigi) をやります - まめめも 「ようです」っていうか僕も審査員なんですが…。しかし他の審査員が強力すぎるので、どの方向からどんな投稿が来ても大丈夫な安心感があります。 mameさんのスライドや、家にIOCCC入賞した人の記事とか見ると雰囲気が掴めるかもしれません。 なお、要件は「このプログラム、こんな風に動くんだ!」ということですので、家IOCCC同様、たとえばワンライナでのエントリもアリです。(just another perl hackerみたいなね) 例 int

    Route 477(2013-04-14)
    UDONCHAN
    UDONCHAN 2013/04/15
    mjd
  • Route 477(2012-12-05)

    ■ [lisp][javascript] JavaScriptにコンパイルされるCommonLisp風言語、JSLispが面白そう Lisp Advent Calendar 2012 5日目の記事です。 JavaScript Weeklyから来たメールを眺めていたら、こんなJSデモを見つけた。 https://twitter.com/JavaScriptDaily/status/272370758720823297 作者は https://github.com/6502 の人らしい。見てみると、「JSLisp」というリポジトリが。 またyet anotherなLisp in JSかと思ったが、READMEを見ているとけっこう面白そうな記述が: Lisp風言語からJavaScriptにコンパイルする CLライクなlisp-2 (ていうか、マクロと関数を同名にできるから厳密にはlisp-3だよ

    Route 477(2012-12-05)
    UDONCHAN
    UDONCHAN 2012/12/05
  • Route 477(2012-07-23)

    ■ [ruby] 円周率を頭から順に計算するやつをRuby 2.0に移植してみた Island Life - Unbounded spigot algorithm Ruby 2.0に入る予定のEnumerable#lazyを使って移植してみた。*1 def stream(nxt, safe, prod, cons, seed, strm) Enumerator.new{|yielder| loop do y = nxt[seed] if safe[seed, y] seed = prod[seed, y] yielder << y else seed = cons[seed, strm.next] end end } end def extr(a, x) q, r, s, t = *a return (Rational(q) * x + Rational(r)) / (Rational(s

    Route 477(2012-07-23)
    UDONCHAN
    UDONCHAN 2012/07/25
    かわいい
  • Route 477 - ズッ友のソーシャルグラフ

    ■ [ruby] ズッ友のソーシャルグラフ メロスゎ走った…… セリヌンティウスがまってる…… でも……もぅつかれちゃった…でも…… あきらめるのょくなぃって…… メロスゎ……ぉもって……がんばった……でも……ネイル…われて……イタイょ……ゴメン……まにあわなかった……でも……メロスとセリヌンゎ……ズッ友だょ……!! [拡散性ズッ友メロス - Togetterより引用] 最近Twitterでこのようなコピペが流行しているので、Twitterを「ズッ友」で検索して「AとBはズッ友だょ」のA及びBを抜き出し、graphvizでグラフにしてみた。 その結果が…これだ! UTCで5月9日に該当する24時間のツイート、実に81105個。「ズッ友」だけでこれなんだから日人はTwitterやりすぎである。 ソースと拡大画像: https://gist.github.com/2651392 分かったこと

    Route 477 - ズッ友のソーシャルグラフ
    UDONCHAN
    UDONCHAN 2012/05/11
    かっこいい
  • Route 477(2012-04-01)

    ■ [ruby] NHKテレビ取材を受けました "ITの宝石"Rubyで輝くまち - 放送内容 - NHK総合 弊社にもテレビカメラが入って、前田さんがEnumerator::Lazyの話をするシーンとかを撮っていかれました。 カメラが回ってると、なんとなく意識してしまいますね(笑) ■ [ruby][javascript] TANITAの体重計の出力をJSでグラフにした 「体重計の出力」って何だよと思われるかもしれませんが、SDカードにCSVでデータを記録してくれる体脂肪計というのがあるんです。 B003I05L8K 最上位機種だと無線LAN対応らしいけど、まあそこまででなくていいかなと。 実装 JSのライブラリについては、「javascript graph」で検索して、データ可視化のためのグラフ描画JavaScriptライブラリ20選 から適当にdygraphs JavaScript

    Route 477(2012-04-01)
    UDONCHAN
    UDONCHAN 2012/04/09
    ほしい
  • Route 477(2012-02-03)

    ■ [ruby] rvmからrbenvに乗り換えた RubyのインストールはWindowsならASRやRubyInstaller、Macならport/brew install、Linuxならaptitude install等が定番であるが、 Ruby1.9.2と1.9.3を両方インストールしておきたいなどの特殊な用途向けに、rvmやrbenvというツールがある。 機能の違い rvmはいろいろ機能が多い。gemsetといって、使うRubyGemsのセットを動的に変更できるとか。このためにrvmを使う人もいたが、現在はBundlerがあるから有難みが薄い。 rbenvはシンプル志向。rbenv体にはRubyのビルド機能すらなくて、別途ruby-buildというツールを利用している。 端的な例を挙げると、rvmはプロジェクトごとのRubyバージョンを管理するのに.rvmrcというファイルを使う

    Route 477(2012-02-03)
    UDONCHAN
    UDONCHAN 2012/02/05
  • Route 477(2011-09-08)

    ■ [git] どの段階で混入したのか全く分からないバグが発生したので、git bisectを使ってみた 気づいたら、BiwaSchemeのmakeが通らない状態になっていた。 java -jar bin/yuicompressor-2.4.2.jar lib/biwascheme.js -o lib/biwascheme-min.js [ERROR] 16082:51:invalid property id [ERROR] 1:0:Compilation produced 1 syntax errors. 数日前までは通っていたんだけど、それから結構な回数コミットを行ったので、どれが原因なのか分からない。 でも大丈夫、こんな時こそ(存在は知っていたけど使う機会のなかった)git bisectを使うチャンスだ。 git bisectは、「OKなコミット」と「NGなコミット」の2点の間を二分

    Route 477(2011-09-08)
    UDONCHAN
    UDONCHAN 2011/09/13
  • Route 477(2011-07-07)

    ■ [biwascheme] BiwaSchemeがnode.js上でも動くようになりました なんかやってみたらできた。*1 これでBiwaSchemeで日常用スクリプトが書けるぞ! https://github.com/yhara/biwascheme/ 例: /Users/yhara/proj/biwascheme % cat a.scm (print 'hello) /Users/yhara/proj/biwascheme % ./bin/biwas a.scm hello 試す手順: node.jsとnpmを入れる $ git clone git://github.com/yhara/biwascheme.git $ cd biwascheme $ npm install # optparseが入る $ echo "(print 'hello)" > a.scm $ ./bin/b

    Route 477(2011-07-07)
    UDONCHAN
    UDONCHAN 2011/07/09
  • Route 477(2011-04-21)

    ■ [english] コミットログを英語で書くためのテンプレ githubに上げるコードは、可能なら英語でコミットログを書いたほうが良いです。なんか面白そうなプロジェクト見つけたとして、コミットログがロシア語とかアラビア語だったら困るよねという話です。 英語とか難しいと思うかも知れないですが、だいたい何か追加したか直したか変更したかのどれかなのでわりとパターン化できます。読めない言語で書かれている場合の可読性=0なので、英単語を適当に並べるだけで可読性が無限大パーセント改善されます。やった! 僕がよく使うのはこんな感じです(英語的に正しいかは知りません)。 new: xx new: added (some) xx fix: xx did not work fix: xx was wrong fix: xx should (not) yy changed xx to yy removed

    Route 477(2011-04-21)
    UDONCHAN
    UDONCHAN 2011/05/01
  • Route 477(2011-03-09)

    ■ [vim] Ubuntu 10.10でVim 7.3をコンパイルする http://d.hatena.ne.jp/hosikiti/20100910/1284079341 この手順通りにやったら普通にコンパイルできました。 ■ [ruby] rak 1.0を1.9に対応させる方法 gems/rak-1.0/bin/rakを直接編集して以下のパッチを当てるととりあえずエラーは出なくなる。 https://github.com/danlucraft/rak/commit/08a9bd1cfb407a37c49152009b3086a342a5560e 「これが最善かどうか分からないから」という理由でマージされてないけど。 まあ、オプションでエンコーディングを指定できるようにするのが良いんでしょうね。 デフォルトはEncoding.default_externalで。 ■ [ruby] Ra

    Route 477(2011-03-09)
    UDONCHAN
    UDONCHAN 2011/03/09
  • Route 477(2011-01-13)

    ■ [git][ruby] github gemからgit-hub gemに乗り換えた 自作のプロジェクトgithubで公開するとき、わざわざWeb画面からリポジトリを新規作成していませんか?hubコマンドをインストールすれば、「hub create」一発でできますよ。 githubのリポジトリをコマンドラインから操作するのにgithubコマンド(github gem)を使っていたのだが、ある時からcreate-from-localが動かなくなってたり、Ruby 1.9に未だに対応してなかったりするので おかしいなと思ったら、もっと新しいツールがあったらしい。 https://github.com/defunkt/hub $ gem install git-hub でインストールすると、hubというコマンドが使えるようになる。例えば現在のディレクトリからgithubリポジトリを新規作成す

    Route 477(2011-01-13)
    UDONCHAN
    UDONCHAN 2011/01/13
    便利
  • Route 477(2010-10-22)

    ■ [linux][ruby] RVMでUbuntu 10.10上にRuby環境を構築する それ「aptitude install ruby」でできるよ、っていう話なんだけど、 個人的な理由でrvm使ってインストールすることにする。 普段は1.9.2でいいんだけど、一応非常用に1.8.7にも切り替えられるようにしておきたい Rails2とRails3を切り替えて使ったりしたい*1 手順は以下。 1. aptitudeのインストール aptitudeって最初から入ってないんだっけ? $ sudo apt-get install aptitude 2. curlのインストール rvmのインストールに必要 $ sudo aptitude install curl 3. rvmのインストール http://rvm.beginrescueend.com/rvm/install/ 「git HEADを

    Route 477(2010-10-22)
    UDONCHAN
    UDONCHAN 2010/10/24