fc2ブログ
■■■■■■□■■■■■■□■■■■■■□□□□□■■□■■■■■■
■■□□■■□■■□□■■□■■□□□□□■■■■■■□■■□□□□
■■□□■■□■■□□■■□■■□□□□□■■□□■■□■■■■■■
■■□□■■□■■□□■■□■■□□□□□■■□□■■□□□□□■■
■■□□■■□■■■■■■□■■■■■■□■■■■■■□■■■■■■

先週は…(グダグダと長文)

いやいや、お久しぶりです。
先週は
友達とオカマバーに行ったり、
友達とディズニーシーに行ったり、
一人でラウドパーク行ったり、
僕にしては充実した一週間でした~。

初めてディズニーシー行ったんだけど、
ミッキーミニードナルドもみんな見れたし、
アトラクション2つ乗ったんだけど、
どっちも一番前で、とってもついてた!

ラウドパークは、
久しぶりにライブではしゃいで、
転んだ人を起こしたり、起こしてもらったり、
僕が靴紐ほどけて結ぼうとしたら、輪を作ってガードしてくれたり、
優しさというか、
仲間意識というか、
アツい感じというか
に触れられてすごい楽しかったです。
あの時助けてくれた人たち、ありがとう。


ラウドパークは1日目だけ行ったんだけど、すんごい人でした。
グッズ売り場に一時間半近く並んで、
挙句、目当てのカーカスのTシャツは売り切れ…
んで、見たかったバンドは、
  • カーカス
  • オビチュアリー
  • メシュガー
  • ついでにスリップノット
    って感じだったんですが、
    オビチュアリーではしゃぎ過ぎて、
    モッシュなんて出来ないくせにモッシュピットに入っちゃったり、
    今冷静に見ると恥ずかしい~テンションぶち上げな感じw
    結局オビチュアリーの間すら体力が持たず、
    汗びっしょりになって息が上がって、
    久しぶりに部活のような感覚を味わうことが出来ました。
    みんな黒いTシャツだから少し目立とうと思って、
    ずっとスカジャン着てたんだけど、
    スカジャンが完全に汗で濡れてました。
    帰り同じ電車だった方々、臭かったよね?ごめんなさい。

    オビチュアリーが終わると、
    (今日はビールのみだなぁ~なんて思ってたのに)
    水を求め彷徨い、
    次のメシュガーなんて見る余裕も無く、
    ドラゴンフォースのやってるステージ側(次カーカスだったから)の柵の端っこで寝てましたw
    んで、ドラゴンフォースが終わるとノソノソと起き上がり前の方へ…
    そしていよいよカーカス!…前に行き過ぎて動けない…
    メロイックサインあげて、飛び跳ねて、ヘッドバンギングするのが精一杯でした。
    もう少し後ろの方に行ってモッシュとか踊ってる方がよかったなぁ。

    スリップノットはもう疲れたし、
    規制かかってアリーナは入れなかったし、
    観なくてもいいかなぁと思ったんだけど、
    一応スタンドから見学。
    いやーセットいくらか買ってんだろう?
    すごかった!メンバーもいっぱいいるし、観てて楽しいね。
    アリーナは入れたらもっと楽しかったんだろうな。

    いやー首は痛いのは予想の範囲内だったけど、
    前腕も痛い…何でか分かる?メロイックサイン筋ですよw
    あんなにメロイックサインあげた日は過去ないからなー。

    スポンサーサイト



    テーマ:雑記 - ジャンル:日記

    1. 2008/10/20(月) 22:40:47|
    2. 未分類
    3. | トラックバック:0
    4. | コメント:0
  • vimスクリプト書いてみた2

    最近のPCのモニタってワイド多くない?
    コーディングするには縦長の方が良いだけど。
    なので、少しは良くなるかなぁと思ってこんなスクリプトを書いてみました。
    隣のウィンドウをシンクロスクロールします。
    でも既にプラグインあるかも。2chで聞いてみよう。
    では~

    command! -nargs=* SynchronizeWindow call s:SynchronizeWindow()

    function! s:SynchronizeWindow()
      let dctView = winsaveview()
      let nCurWin = winnr()
      let nCurBuf = bufnr("%")
      let nCurTop = dctView["topline"]
      let nCurBot = line("w$")
      exe nCurWin+1 . "wincmd w"
      let isOtherWin = nCurWin != winnr()
      if isOtherWin
        let dctView["topline"] = min([nCurBot+1, line("$")+1 - winheight(".")])
      else
        exe nCurWin-1 . "wincmd w"
        let isOtherWin = nCurWin != winnr()
        if isOtherWin
          let dctView["topline"] = max([nCurTop - winheight("."), 1])
        endif
      endif
      if isOtherWin
        if nCurBuf == bufnr("%")
          let lstPos = getpos(".")
          call winrestview(dctView)
          let lstPos[1] = max([min([lstPos[1], line("w$")]), dctView["topline"]])
          call setpos(".", lstPos)
        endif
        exe nCurWin . "wincmd w"
      endif
    endfunction

    テーマ:vim - ジャンル:コンピュータ

    1. 2008/10/11(土) 01:29:01|
    2. フリーソフト
    3. | トラックバック:0
    4. | コメント:2

    連番展開スクリプト(ruby版)修正

    バグってた~同じ値の後方参照を使って、[ ]内の式が違うとき、
    きちんと置き換えられてませんでした。
    なので修正版を

    #!/usr/bin/env ruby
    ###############################################
    # expand serial number                        #
    # syntax  : foo[nStart-nEnd][...]             #
    # example : before                            #
    #             0: foo[0-1][3-2]bar[1+\2][\1-1] #
    #           after                             #
    #             0: foo03bar4-1                  #
    #             1: foo02bar3-1                  #
    #             2: foo13bar40                   #
    #             3: foo12bar30                   #
    ###############################################

    ####### SUB FUNCTIONS
    ### DIGIT ALIGNMENT
    def aligndigit(sFoo, nLen)
        return sFoo = "0" * [nLen - sFoo.length, 0].max + sFoo
    end
    ### DECREMENT INDEX OF BACK-REFERENCE
    def decrefindex(sFoo)
      if (sFoo =~ /(.*?\[.*?\\)(\d)(.*?\].*)/)
        return $1 + ($2.to_i-1).to_s + decrefindex($3)
      end
      return sFoo
    end
    ### SUBSTITUTE BACK-REFERENCE "\1"
    def substbackref(sFoo, sBar)
      if (sFoo =~ /.*\[(.*?)\\1(.*?)\]/)
        sEvl = aligndigit(eval($1 + sBar.to_i.to_s + $2).to_s, sBar.length)
        sFoo.gsub! /\[#{Regexp.escape($1)}\\1#{Regexp.escape($2)}\]/, sEvl
        substbackref(sFoo, sBar)
      end
      return decrefindex(sFoo)
    end
    ### SERIAL NUMBER EXPANTION
    def expand(sFoo)
      if (sFoo =~ /(.*?)\[\s*(\d+)\s*-\s*(\d+)\s*\](.*)/)
        sPre   = $1
        nStart = $2.to_i
        nEnd   = $3.to_i
        sSuf   = $4
        nLen   = $2.length # for align digit
        # increment/decrement
        nStep = nStart < nEnd ? 1 : -1
        nStart.step(nEnd, nStep) { |i|
          sAligned = aligndigit(i.to_s, nLen)
          expand(substbackref(sPre + sAligned + sSuf, sAligned))
        }
      else
        puts sFoo
      end
    end

    ####### MAIN
    while (line = ARGF.gets)
      expand(line)
    end

    # vim: expandtab ts=2 sw=2

    テーマ:Ruby - ジャンル:コンピュータ

    1. 2008/10/04(土) 23:53:37|
    2. フリーソフト
    3. | トラックバック:0
    4. | コメント:0

    連番展開スクリプト(ruby版)

    昔書いた連番展開スクリプトをrubyで書いてみました。
    何でかっていうと、PC買い換えてからperlを入れてないから~
    会社のPCも最近入れ替えて以来rubyしか入れてないし
    って思ったら会社のLinuxにはruby入ってなかったw
    なんかperlん時よりスッキリした(単にperl分かってないだけ…)
    #!/usr/bin/env ruby
    ###############################################
    # expand serial number                        #
    # syntax  : foo[nStart-nEnd][...]             #
    # example : before                            #
    #             0: foo[0-1][3-2]bar[1+\2][\1-1] #
    #           after                             #
    #             0: foo03bar4-1                  #
    #             1: foo02bar3-1                  #
    #             2: foo13bar40                   #
    #             3: foo12bar30                   #
    ###############################################

    ####### SUB FUNCTIONS
    ### DIGIT ALIGNMENT
    def aligndigit(sFoo, nLen)
        return sFoo = "0" * [nLen - sFoo.length, 0].max + sFoo
    end
    ### DECREMENT INDEX OF BACK-REFERENCE
    def decrefindex(sFoo)
      if (sFoo =~ /(.*?\[.*?\\)(\d)(.*?\].*)/)
        return $1 + ($2.to_i-1).to_s + decrefindex($3)
      end
      return sFoo
    end
    ### SUBSTITUTE BACK-REFERENCE "\1"
    def substbackref(sFoo, sBar)
      if (sFoo =~ /.*\[(.*?)\\1(.*?)\]/)
        sEvl = aligndigit(eval($1 + sBar.to_i.to_s + $2).to_s, sBar.length)
        sFoo.gsub! /\[#{Regexp.escape($1)}\\1#{Regexp.escape($2)}\]/, sEvl
      end
      return decrefindex(sFoo)
    end
    ### SERIAL NUMBER EXPANTION
    def expand(sFoo)
      if (sFoo =~ /(.*?)\[\s*(\d+)\s*-\s*(\d+)\s*\](.*)/)
        sPre   = $1
        nStart = $2.to_i
        nEnd   = $3.to_i
        sSuf   = $4
        nLen   = $2.length # for align digit
        # increment/decrement
        nStep = nStart < nEnd ? 1 : -1
        nStart.step(nEnd, nStep) { |i|
          sAligned = aligndigit(i.to_s, nLen)
          expand(substbackref(sPre + sAligned + sSuf, sAligned))
        }
      else
        puts sFoo
      end
    end

    ####### MAIN
    while (line = ARGF.gets)
      expand(line)
    end

    # vim: expandtab ts=2 sw=2

    [連番展開スクリプト(ruby版)]の続きを読む

    テーマ:Ruby - ジャンル:コンピュータ

    1. 2008/10/01(水) 00:40:04|
    2. フリーソフト
    3. | トラックバック:0
    4. | コメント:0
    home

    プロフィール

    Author:nocd5
    30歳(男)
    会社員

    Last.fm



    最近の記事

    2008年10月20日 (月)
    先週は…(グダグダと長文)
    2008年10月11日 (土)
    vimスクリプト書いてみた2
    2008年10月04日 (土)
    連番展開スクリプト(ruby版)修正
    2008年10月01日 (水)
    連番展開スクリプト(ruby版)

    カテゴリー

    カレンダー

    09 | 2008/10 | 11
    Sun Mon Tue Wed Thu Fri Sat
    - - - 1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31 -

    最近のコメント

    最近のトラックバック

    ブロとも申請フォーム

    この人とブロともになる

    ブログ内検索

    Amazonアソシエイト

    RSSフィード

    リンク

    このブログをリンクに追加する

    FC2ブログランキング

    FC2Blog Ranking