May 6th, 2013

最近読んだ小説

といってもWeb小説の部類ですが、一般で販売されている小説もあるので最近ハマってます。そのうちいくつかを。

理想のヒモ生活 by 渡辺恒彦氏

こちら で公開されていて最初に読んだのがこの小説。 これを面白いと思わなければ他の小説も読む事は無かったでしょう・・・w

以下、サイトから引用。

月平均残業時間150時間オーバーの半ブラック企業に勤める山井善治郎は、気がつくと異世界に召喚されていた。善治郎を召喚したのは、善治郎の好みストライクど真ん中な、褐色の爆乳美女。「ようこそ、婿殿」と、いきなり結婚を申し込む、異世界の女王様に善治郎の出した結論は……。

タイトルだけ見るとなんぞこれって感じだったのですが、異世界に召喚というフレーズで読む気になりました。 読み進めてみると微妙に粗が目立つ感じはするものの、テンポもよく文調も楽しく感じさせるもので一気に読み終わりました。

調べてみるとヒーロー文庫から単行本化されているようで、一般にも販売されています。 Amazonでのリンクは下記の通りで現在3巻まで公開されているようです。少し前までストックが全て単行本化されていたのですが、最近また更新が始まりました。

イラストは文倉 十さん。

無職転生 - 異世界行ったら本気だす - by 理不尽な孫の手氏

こちら で公開されているのですが、これはタイトルで釣られました。 釣られても後悔はしないそんな小説でした。

以下サイトから引用。

34歳職歴無し住所不定無職童貞のニートは、ある日家を追い出され、人生を後悔している間にトラックに轢かれて死んでしまう。目覚めた時、彼は赤ん坊になっていた。どうやら異世界に転生したらしい。  彼は誓う、今度こそ本気だして後悔しない人生を送ると。  ※勢いで書いているので設定等に甘い点があり、かつ不定期更新です。

異世界で再出発というスタイルですが、精力的に更新されていて5/6現在86話分が読めます。

異世界迷宮で奴隷ハーレムを by 蘇我捨恥氏

公開先はこちらで3番目に読んだ小説。 これはタイトルを少し変更して単行本化がされています。

イラストは四季童子さんという方。自分は知らないですが有名な人らしくフルメタル・パニックやモンスターコレクションのイラストを描いた人のようです。

以下サイトから引用。

ゲームだと思っていたら異世界に飛び込んでしまった男の物語。迷宮のあるゲーム的な世界でチートな設定を使ってがんばります。そこは、身分差があり、奴隷もいる社会。となれば、やることは一つ。俺様、最強、ハーレム、性奴隷の要素があり、人も死にます。

最初のロクサーヌを奴隷に取るまで少しとっつきにくいのですが、その後あたりからはだいぶ慣れてきたのか文調が読みやすくなりました。 性奴隷の要素ありとなっていますが、痛めつけるような内容は無いのでそのあたりは安心して読めるかと思います。

リアデイルの大地にて by Ceez氏

公開先はこちら交差するも紡がれる世界というパラレルワールドで同じ世界観(と言ってもそれぞれが独立して影響は皆無に近いですが)を持つ かくもそれは魔王様のゆるい日常もあります。

以下サイトから引用

事故で半身不随となった“各務桂菜”は、ある日停電により死んでしまい、直前まで遊んでいたオンラインゲームの世界へ。 目覚めてみればゲームをしていた時代より更に200年後? とりあえず生きていく為には何を成さねばならないのか。 ゲームだった世界で、手探りで進む彼女の前に立ち塞がる者は!?

この小説は完結済ですが、主人公の魔法スキルなどはほぼカンストしており、少しずつ成長して物語を進めるRPGのような要素はありません。が、一人称の文調によるドタバタが面白く楽しいです。ただ次作のかくもそれは魔王様のゆるい日常も似たような構成なのでそのあたりは今後の課題な気が。

異世界で『黒の癒し手』って呼ばれています by ふじま美耶氏

公開先はこちらだったのですが、現在書籍化が進行中ということで規約により全て引き上げられています。アルファポリス出版予定の本によれば2013年6月下旬頃刊行予定のようです。

以下、サイトから引用。

神崎美鈴 22歳。女子大生。就職先も決まり、卒業を間近にひかえた冬の日。 黒い霧から生えてきた腕によってひっぱりこまれた先は異世界でした。 都会育ちの軟弱もやしっ子。虫いっぴき殺せません。幸い魔法は使えるみたい。ゲームで覚えた呪文を駆使し、なんとかこちらで生きていきます。 そんなお話です。逆ハーにはなりません。

文調は一人称で読みやすいと思います。そして最近Webサイトを公開され第2部以降は自身のサイトで公開することにしたようで、プロローグと簡単なあらすじが別途公開されているので単行本化の前に是非どうぞ。

雨の日の王冠~ふじま美耶の小説サイト

まとめのようなもの

紹介したすべての小説が小説家になろうというサイトで公開されているもので、まだライトノベル的なものばかりのようですが小説家の登竜門的にもなっているようです。今回書いた小説は異世界ものばかりですが、ランキングを見ると他のジャンルもたくさんあるようですので、こちらから探してみるのもいいかもしれません。

自分は積読・映画をかなりの数で解消する必要があるのですが(汗


Mar 24th, 2013

build vagrant box for squeeze64

最近 vagrant がまた話題になっているので久しぶり(390日?)に触ってみたのだけど、公開されている box が海外の人作成のものが多いので、割と変更する箇所が多いので苦痛だった。
やっぱり自分で作るかと思って veewee を入れてみたら最新のバージョン1.1.2に対応してないらしく、エラーでまくりだったので、基本に戻って Vagrant + Virtualbox の基本機能で作成してみたらやっぱり大変だったので、その記録として残しておきます。

virtualboxで作成したときの設定は以下の通り。

  • Hostname: squeeze64
  • Domain: (空白)
  • Root Password: vagrant
  • Account Id: vagrant
  • Account Password: vagrant
  • Mirror server: japan ftp.jp.debian.org
  • Install Software: all unchecked
  • Keyboad: America
  • language: en_US.UTF-8

以下プロンプトで # がある場合には root で作業していていると適宜読み替えてください。

sudo & openssh install

まずは sudosshサーバをインストール。

# apt-get install sudo openssh-server openssh-client

そして、DNSを使わない設定を ssh に追加しておく。

# echo 'UseDNS no' >> /etc/ssh/sshd_config

editor config

必須では無いが visudo などで利用されるエディタが nano なので修正しておく。

# update-alternatives --set editor /usr/bin/vim.tiny

sudo config

vagrant ユーザで sudo がパスワード無しで実行できる必要があるので /etc/sudoers.d のディレクトリの下に vagrant というファイルを以下の内容で作成する。 よくsudoの権限を修正するときに admin グループを追加して %admin の権限を追加する情報を見るけれど、こちらの方が大本を修正する必要が無いのでおすすめ。

vagrant ALL=(ALL) NOPASSWD:ALL

またこのファイルは owner(=root)group(=root) のみが読める必要があるのでパーミッションを変更。

# chmod 440 vagrant

vagrant ssh

vagrant ssh でログインするときに必要な公開鍵を設定する

# su - vagrant
$ mkdir .ssh
$ wget --no-check-certificate -O .ssh/authorized_keys https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub
$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys

guest addition package

virtualboxの管理を行うためにアクセスを許可する追加パッケージがあり、それらは既にvirtualboxインストール時に追加されているものもあるのだが古いので新しくインストールし直す。

パッケージ削除の前にロードされているサービス停止とモジュールの削除。

# /etc/init.d/virtualbox-ose-guest-utils stop
# rmmod vboxguest

そして古いパッケージの削除。

for squeeze
# apt-get autoremove virtualbox-ose-guest-dkms virtualbox-ose-guest-utils virtualbox-ose-guest-x11
for wheezy
# apt-get autoremove virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11

Guest Addtions を追加する前に module-assistant を導入して、シンボリックリンクの生成をしておく。

# apt-get install module-assistant
# m-a prepare

次に virtualbox で実行している方のメニューにある デバイスGuest Additions のインストール を選択する。すると実行している仮想環境の方で mount 出来るようになっている。メニューについてはわかりにくすぎるかもしれないので以下に画像を掲げる。

ScreenShot

選択したら実行してるVMに戻って mount して、シェルスクリプトを実行し追加パッケージをインストールする。
このシェルスクリプトでは環境の差異を吸収しつつ、カーネルのモジュールのビルドと起動時に実行するスクリプトがインストールされる。

# mount /dev/cdrom
# yes|sh /media/cdrom/VBoxLinuxAdditions.run

インストールの結果、 Installing the Window System drivers ...fail! というメッセージが表示されるがX環境が入っていないだけなので問題ない。 ここまで来たら一旦再起動。

# shutdown -r now

clean up

vagrantで作成するときに改めて作成するようにネット環境などの情報を削除しておく。 まずはdhcpリリース情報を削除。

# rm /var/lib/dhcp/*

同様にudev情報を削除

# rm -f /etc/udev/rules.d/70-persistent-net.rules

同様に/etc/resolv.confを削除。

# rm -f /etc/resolv.conf

box作成時の圧縮効率を上げるためにフリー領域にファイルを作成し削除を行う。

# dd if=/dev/zero of=/EMPTY bs=1M
# rm /EMPTY

他に linux-headers- とか build-essential などを削除しておくとVMのサイズが小さくなるのだけど、立ち上げたら定番で入れるので入れたままにしておく。小さい方が良いということなら削除した方がいいでしょう。

shutdown

ちょっとハマったのだけど、BOXを作成するためにはVMがシャットダウンされている必要があるのでシャットダウン。

# shutdown -h now

BOX作成

ここでローカルに戻って以下のコマンドを実行

$ vagrant package --base <Virutalboxで作成した時の名前>
[squeeze64] Clearing any previously set forwarded ports...
[squeeze64] Creating temporary directory for export...
[squeeze64] Exporting VM...
[squeeze64] Compressing package to:

すると実行した場所に package.box という名前でファイルが出来ているので、次のコマンドで vagrantのboxに追加する。

$ vagrant box add squeeze64 package.box
Downloading with Vagrant::Downloaders::File...
Copying box to temporary location...
Extracting box...
Cleaning up downloaded box...
Successfully added box 'squeeze64' with provider 'virtualbox'!

vagrant init & up

これ以後はvagrantの使い方そのままになるのだけど、軽く書いておきます。 適当なディレクトリを作成し、そこで vagrant の準備を行う

$ vagrant init squeeze64

そして起動。

$ vagrant up
自分の環境では上記のようにして作ったVMを起動すると初回のみ以下のようなメッセージが表示されてしまう。だけど、共有フォルダも使えるしポート転送も使えるしVMのメモリサイズ変更も行える。だから現状問題は無いのでスルーしております。

この部分の原因は Additions インストール前に m-a prepare していないことが原因だったようです。

[default] No guest additions were detected on the base box for this VM! Guest
additions are required for forwarded ports, shared folders, host only
networking, and more. If SSH fails on this machine, please install
the guest additions and repackage the box to continue.

This is not an error message; everything may continue to work properly,
in which case you may ignore this message.

無事起動し終わったら、vagrant ssh で接続できることを確認。

$ vagrant ssh

後始末

作成したVMイメージはもう要らないので Virtualbox から削除し、vagrant packageで作成した package.box も削除しておく。 お疲れ様でした。

2013-03-30 update
初回起動時のメッセージ表示の原因が分かったので追記。

2013-03-31 update
古いパッケージ削除時の処理を追加。文言の修正。
圧縮効率を上げるための処理を追加。

2013-05-07 update
清書および文章の修正。 m-a prepare 実行時 linux-headersbuild-essential がインストールされていない場合、自動でインストールされるので削除。 削除するパッケージが squeeze と wheezy で違うのでコメントの追加。


Mar 9th, 2013

OS X の bash で 'cd old new' を使えるようにした

kshzsh では以下のような cd old new が使えるので階層が深い場合にとても便利だ。

$ cd /usr/bin
$ cd bin lib
$ pwd
/usr/lib

だけどこの操作は bash では使えないので、以下のようにして使えるようにしてみた。 cd 成功時に ls が実行されるようにしてるのはただの気分です。

cd() {
    if [ -d  "$*" ]; then
       builtin cd "$*"
    else
        if [ -n "$2" ]; then
            builtin cd ${PWD/$1/$2};
        else
            builtin cd $*
        fi;
    fi;
    if [ $? = 0 ]; then
       ls
    fi;
}

このファイルを .bashrc などで読みこめばいいだけ。


Previous page Next page