Author Archives: planset

arduinoかってみた

AOSCでarduinoの話がでていたので、前からほしかったので買ってみました。
どこで買おうかと探していたけど、とりあえずamazonでArduinoをはじめようキット
を買いました。

あとは、イーサシールドとモータ。

箱がかっこよすぎる。

とりあえず、LED光らせて遊んでいます。

高専の頃、電気の授業でもっと複雑なことしてた気がするけど、全く覚えてないw
あの頃は電気回路なんてめんどくさかったけど、今適当にやると楽しいねー。

ubuntu 12.04 beta2で。

ubuntu 12.04でのopenstack環境構築の予習ってことでbeta2を試してみました。

インストーラーの画面に選択肢としてでてきました。

おー。
こりゃらくちん。

と思いきや。

ぎゃー

まぁ、とりあえず、nova-*とかはインストールされていたので、rabbitmqとかglanceとかmysqlとかの設定を元々作ってあったホストに向けてみたら

AVAILABILITYZONE	nova	available
AVAILABILITYZONE	|- ubuntu1204beta2
AVAILABILITYZONE	| |- nova-cert	enabled :-) 2012-04-22 21:47:37
AVAILABILITYZONE	| |- nova-scheduler	enabled :-) 2012-04-22 21:47:37
AVAILABILITYZONE	| |- nova-compute	enabled :-) 2012-04-22 21:47:38
AVAILABILITYZONE	| |- nova-network	enabled :-) 2012-04-22 21:47:37

認識はされた。

認識はされたけど、インスタンスを配置しようとするとglanceで認証がうまくいっていないようだ。

nova.confは余り変わっていないけど、api-paste.iniがわりと変わってました。
keystoneの認証もなんか変わってる?

まぁ、やっぱり正式リリースされてからにしよう・・・。

VPSぷち比較

最近またVPSが熱いですなぁ。
熱いよね?

さくらのVPSは昔からよかったけど最近のリニューアルでまたよくなりました。

お名前.comのVPSにもVZだけではなくKVMも登場しました。
HDBenchのスコアはさくらよりも良いし、値段もお手頃です。
ISOアップロードが可能で好きなOSをインストールできます。

cloudcoreは、いいなこれ!と思ったけどキャンペーンなしの月額にするととても高いので却下。

逆にHDD容量がお得で使ってたsaasesの良さが霞みました。ここは思いっきって同じ値段で3倍くらいの容量にしてください。
と思ってたら、プラン改定によりGT2プランでHDD 5円/1GBとなりました。安い。
回線も補強するって書いてたから前よりよくなっているかもですね。

joesクラウドもKVMで安くやるようですね。

というわけで、ちょっとメモってみました。

VPSメモ

ちなみに、実験ということでflask + gunicorn + supervisordで動いています。

内容に関しては、以下のサイトの方がすっきりして見やすいし、カタログ以外の情報もあるのでおすすめです。

VPS比較 SaaSes, さくら, ServersMan@VPS

openstack vlanmanagerで動かしてみた。

catalyst 3500 XLを貸してもらっちゃっいました。
初めてのシリアルコンソールでの設定にうきうきしながら、以前に設定したOpenStackをVlanManagerで設定してみました。

14. OpenStack VlanManager / catalyst 3500 XL — Installing OpenStack essex-4 1 documentation

たぶん動いた気がします・・・。スイッチの設定があってるのかさっぱり・・・。
catalyst3500の中古の値段を見たら割と安いから1こほしいなーと思ったけど、起動しているとすごくうるさいし、なんか暑いので、もっと静かで暑くないのを探そう・・・。

Pythonプロフェッショナルプログラミング

Pythonプロフェッショナルプログラミング を読みました。

昨年1年かけて色々なサイトや本を見て覚えたことが1冊にまとまっている感じでした。
深いことや目新しいことは書いていなかったけど、pythonを使って(主に)ウェブアプリを作ろうとしたときに、頭に入っていると便利なことが一通り載っています。

virtualenvでの環境の構築
mercurialでソース管理
redmineでプロジェクト(チケット)管理
JenkinsでCI
sphinxでのドキュメント
nginxとgunicornで実稼働などなど

広く浅く、でも実用的な話が満載です。

これからpythonを使って何かするには読む価値ありです。

それにしてもビープラウドって会社は楽しそうだねー。

ghc-7.0.4とhaskell-platformのインストール

ghc-7.0.4がよいというコメントを頂いたので、試してみました。
とりあえず、入れてみただけですが、すんなりと入れることができました。
環境はさくらのクラウドのテンプレートから Scientific Linux release 6.1 (Carbon) です。
さくらのクラウドやVPSのテンプレートはgccやmakeは最初からインストール済だった気もする。
ライブラリは gmp-devel zlib-devel freeglut-develがあればmakeできたけど、「
Haskell環境構築:Linux – Google グループ」によると以下の準備に書いたものが必要そうです。

準備

sudo yum install gcc make gmp-devel libffi-devel zlib-devel mesa-libGL-devel mesa-libGLU-devel freeglut-devel

isntall ghc

    cd
    mkdir src
    cd src
    wget http://www.haskell.org/ghc/dist/7.0.4/ghc-7.0.4-x86_64-unknown-linux.tar.bz2
    tar jxf ghc-7.0.4-x86_64-unknown-linux.tar.bz2
    cd ghc-7.0.4
    ./configure
    make install

install haskell platform


    cd ~/src
    wget http://lambda.haskell.org/platform/download/2011.4.0.0/haskell-platform-2011.4.0.0.tar.gz
    tar zxf haskell-platform-2011.4.0.0.tar.gz
    cd haskell-platform-2011.4.0.0
    ./configure
    make
    make install

cabal

cabal update

Kobito – プログラマの技術情報記録に最適なMacアプリケーション

こういうのほしかったけど、できればevernoteが更に軽くなった上で、インデントの空白数を調整できて、reStructuredTextで書いて見れるといいんだけどねー。

Kobito – プログラマの技術情報記録に最適なMacアプリケーション.

Welcome to sphinxjp.themes.impressjs’s documentation

次に何かで話す機会があればコレ使ってみよう@v@

pip install sphinxjp.themes.impressjs
mkdir test
cd test
sphinx-quickstart
vi conf.py
extensions = ['sphinxjp.themecore']
html_theme = 'impressjs'
html_use_index = False
vi index.rst
.. This is sample documentation file for sphinxjp.themes.impressjs.

======================================================
 Welcome to sphinxjp.themes.impressjs's documentation
======================================================

.. impressjs:: title
   :data-x: 0
   :data-y: 0
   :data-z: -1000
   :data-rotate-x: -90
   :data-scale: 4

   *sphinxjp.themes.impressjs*

.. impressjs:: features
   :data-x: 1000
   :data-y: 800
   :data-rotate: 180
   :data-rotate-y: -30
   :data-scale: 1

   *Feature:*

      * provide ``impressjs`` directive for impress.js presentaion control
      * provide ``impressjs`` presentation theme for render HTML document

.. impressjs:: installation
   :data-x: -1000
   :data-y: -800
   :data-rotate-y: 30
   :data-scale: 1

   *Install:*

   .. code-block:: bash

      $ easy_install sphinxjp.themes.impressjs

.. impressjs:: setup
   :data-x: 0
   :data-y: -800
   :data-z: -200
   :data-scale: 1

   *setup your* ``conf.py`` *with:*

   .. code-block:: python

      extensions = ['sphinxjp.themecore']
      html_theme = 'sphinxjp.themes.impressjs'
      html_use_index = False

.. impressjs:: make
   :data-x: 1000
   :data-y: -800
   :data-rotate-y: -30
   :data-scale: 1

   *and run:*

   .. code-block:: bash

      $ make html

   then you'll get this page's style HTML output. Enjoy!

.. impressjs:: requirements
   :data-x: 1000
   :data-y: 0
   :data-rotate: 90
   :data-rotate-y: -30
   :data-scale: 1

   *requirement:*

   Python 2.4 or later (not support 3.x)

   Sphinx 1.0.x or later

.. impressjs:: license
   :data-x: -1000
   :data-y: 0
   :data-rotate: -90
   :data-rotate-y: 30
   :data-scale: 1

   *license:*

   Licensed under the MIT_ license.

   See LICENSE file in details.

.. impressjs:: links
   :data-x: -1000
   :data-y: 800
   :data-rotate: -180
   :data-rotate-y: 30
   :data-scale: 1

   *Links:*

   All codes on Github:

   repository_, downloads_, issues_

   Feel free to fork them on Github!

.. impressjs:: contents
   :data-x: 0
   :data-y: 0
   :data-z: -200
   :data-scale: 1

   .. toctree::

      options
      history
      authors

.. impressjs:: overview
   :data-x: 0
   :data-y: 0
   :data-scale: 3

   .. content

.. _mit:        http://www.opensource.org/licenses/mit-license.php
.. _repository: https://github.com/shkumagai/sphinxjp.themes.impressjs
.. _downloads:  https://github.com/shkumagai/sphinxjp.themes.impressjs/downloads
.. _issues:     https://github.com/shkumagai/sphinxjp.themes.impressjs/issues

.. END
make html
open _build/html/index.html

Welcome to sphinxjp.themes.impressjs’s documentation
sphinxjp.themes.impressjs 0.1.2 : Python Package Index
impress.js | presentation tool based on the power of CSS3 transforms and transitions in modern browsers | by Bartek Szopka @bartaz

sudoersファイルを書き間違えてsudoできなくなる

openstackを設定するのにsudoers.dを書いてたんですけど、まちがってdevstackのstack.shを動かしてしまったくらいのタイミングで、下のような感じになってしまい、同じ定義を2回しようとしてるよ、と怒られてsudoできなくなりました。

#includedir /etc/sudoers.d
#includedir /etc/sudoers.d

ちなみにこの#はコメントではないようです。
sudo の設定は visudo を使わずに sudoers.d に書く

ここで、rootにパスワードが設定してあれば、suできるんですが、そうでない場合、sudoできなくて終わります。
(終わるよね? 他に方法ある?)

で、終わるわけにはいかないので、起動ディスクを使ってsudoersを修正しました。

#. ubuntu live cd で起動する。
#. インストールせずに試す、で起動。
#. gnome-terminal
#. sudo apt-get install mdadm lvm2
#. あとはお好きに。

うちのはmdでraidにしてあったので、適当にmd0を作って、

sudo mdadm –assemble /dev/md0 /dev/sdc2 /dev/sdd2
sudo lvscan
sudo mount /dev/VolGroup00/LogVol01 /mnt
# sudoerなどを編集
sudo umount /mnt

# 本当はこれをしたいのだけど、失敗する。lvmが動いてるから??
# sudo mdadm –stop /dev/md0

はじめてのhaskell Text.Parsec.Stringがない

WEB+DB PRESS vol.67に入門関数プログラミングという記事があったので買って読んでみました。

まずはサンプルコードを試すのにhaskell環境の準備ですが、centosについては特に記述がなかったので、yum search haskellしてでてきた ghcというパッケージをインストールしました。
順調に動かすことができたのですが、csv.hsを読み込んだところで、こんなエラーがでました。

GHCi, version 6.10.4: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.

csv.hs:3:7:
    Could not find module `Text.Parsec.String':
      Use -v to see a list of the files searched for.
Failed, modules loaded: none.
Prelude>

Text.Parsec.Stringがないって言ってる感じです。

きっと、このバージョンにはText.Parsec.Stringというライブラリがないのでしょう。よーし。きっと最新版を入れれば解決だ。

Read more »