I'll be fine

技術ブログ

【vim】rubyでvim version manager書いてみました。

gemづくりの勉強がてらvimのversion manager書いてみました。
https://github.com/calorie/vvm-rb

kanaさんのものをかなり参考にしています。
https://github.com/kana/vim-version-manager 
http://labs.timedia.co.jp/2011/09/vim-version-manager.html

シンプルなものが欲しかったのでmacvimには非対応
現時点でkanaさんのものと違う点は

$ vvm-rb list

でインストールできるバージョンが見られるのと、

$ vvm-rb versions

でインストールしたversion一覧が見られるところです。
それ以外はほとんど同じです。

pull request常時受け付けております。

【Vagrant, Chef】vagrantを勉強し始めて2日で読んだ記事まとめ

コード多め、英語少なめ

  • vagrant

vagrant

Vagrant Documentation

VagrantDocs

Windows 8 に Vagrant と chef-solo をインストールしてみた

Windows7上で Vagrant + Chef solo + knife-soloを使い、Ubuntu + ubuntu-desktopの環境を構築してみた

vagrantで開発環境(仮想マシン)を自動構築しよう

Vagrantで作るUbuntu-12.04環境

Vagrantで再現可能な仮想マシン開発環境をMacに構築する

WindowsでのVagrant環境構築

Window 7 でVagrantでCent OS 6.3入れてみた

veeweeの使い方

vagrantの設定を色々調べて(試してみた)

Vagrant + chef-soloでgitを入れてみる

EC2のChef SandboxをVagrant+BerkShelfでさくっと作る

Chef Howto with Vagrant + Berkshelf

Vagrant と Berkshelf で環境構築すると楽すぎて人間駄目になる

  • chef

Opscode Community

All about Chef

berkshelf

Chef Soloの正しい始め方

Chef Solo入門のメモ

Vs Chef 第1回戦

入門Chef Soloをざっと読みました


2日でできたvagrantが↓
https://github.com/YuuShigetani/my-vagrant

【Ruby】brainf*ckインタプリタ

rubybrainfuckの簡単なインタプリタ書きました。

https://github.com/YuuShigetani/brainf-ck

# coding: utf-8
class Brainfuck

  def initialize
    @p = []
    @pc = 0
    @pc_stack = []
    @fp_stack = []
  end

  def bf
    File.open ARGF.path do |f|
      f.each_char do |c|
        @p[@pc] ||= 0
        case c
        when '+'
          @p[@pc] += 1
        when '-'
          @p[@pc] -= 1
        when '>'
          @pc += 1
        when '<'
          @pc -= 1
        when '['
          @pc_stack.push @pc
          @fp_stack.push f.pos
        when ']'
          unless @p[@pc] == 0
            @pc = @pc_stack.pop
            f.seek @fp_stack.pop - 1, IO::SEEK_SET
          end
        when '.'
          print @p[@pc].chr
        when ','
          `stty raw -echo`
          @p[@pc] = STDIN.getc.bytes.to_a.first
          `stty -raw echo`
        when "\n"
        when "\t"
        when "\s"
        else
          f.lines.next
        end
      end
    end
  end
end

b = Brainfuck::new
b.bf

【LinuxMint 14】VMwareで共有フォルダがみえないときの対処法

OSをバージョンアップしたときなどに /mnt/hgfs/ の共有フォルダが消えたりします。
vmware toolsを再インストールしてもvmhgfsがエラーを出して直らない時の対処法です。

$ su
$ cd /usr/lib/vmware-tools/modules/source/
$ tar xf vmhgfs.tar
$ sed -i 's/d_alloc_root/d_make_root/' vmhgfs-only/filesystem.c
$ tar cf vmhgfs.tar vmhgfs-only
vmblockでもエラーが出ていたらついでに直す
$ tar xf vmblock.tar
$ sed -i 's/d_alloc_root/d_make_root/' vmblock-only/linux/filesystem.c
$ tar cf vmblock.tar vmblock-only
vmware tools 再インストール
$ vmware-config-tools.pl

参考:
http://linux.ikoinoba.net/index.php?UID=1339502789

【Ubuntu, LinuxMint】vimでタイプ音を鳴らす方法

.vimrcに以下を追記

autocmd CursorMovedI * call vimproc#system('aplay -q /path/to/sound/type.wav')

vimprocが入っていない場合は

function! PlaySound()
  silent! exec '!aplay /path/to/sound/type.wav &'
endfunction
autocmd CursorMovedI * call PlaySound()

【Linux Mint】LinuxMint13(maya)から14(nadia)にアップグレードする方法

$ sudo -i su
$ sed -i 's/maya/nadia/g' /etc/apt/sources.list
$ sed -i 's/precise/quantal/g' /etc/apt/sources.list
$ apt-get update; apt-get dist-upgrade
$ apt-get upgrade
再起動
$ dns-fix
ネットにつながらない場合は
$ sudo rm /etc/resolv.conf
$ sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
フロッピーディスクがマウントできませんとエラーが出る場合は
$ sudo rmmod floppy
$ sudo update-initramfs -u

参考サイト
http://www.scottalanmiller.com/linux/2012/11/21/upgrading-from-linux-mint-13-to-linux-mint-14/
http://forums.linuxmint.com/viewtopic.php?f=42&t=117689
http://d.hatena.ne.jp/tettou77-2/20121215/1355539541