久しぶりにHaskellをやる

概要

 Haskellの環境構築をするにあたって、パッケージ管理にcabalを使うが、バージョン合わせとか何やらで非常に面倒。common lispのroswellやclojureのleiningenなどと似たような感じでビルドとかパッケージ管理とかやってくれるStackというものがあるので導入してみる。

Stack導入

  1. インストール
  2. 使い方
# 1. プロジェクト(sample-project)を作成
stack new sample-project
# 2. プロジェクトに移動
cd sample-project
# 3. セットアップ(最初に1回)
stack setup
# 4. ビルド
stack build
# 5. 実行
stack exec sample-project-exe

vim

 取り敢えずプロジェクトのルートフォルダにいる前提で、ビルド等のコマンドが実行できる様にvimの設定を書いてみた。

nnoremap [Exec] <Nop>
"; 始動キーは<C-t>
nmap <C-t> [Exec]
"; 通常のghc
"; <C-t> e
map <silent> [Exec]e :!ghc -e main %<CR>
"; --------------------
"; stackを利用する設定
"; --------------------
"; セットアップ : <C-t> s
map <silent> [Exec]s :!stack setup <CR>
"; ビルド : <C-t> b
map <silent> [Exec]b :!stack build <CR>
"; 実行 : <C-t> p
";   (注意) プロジェクトのルートからファイルを編集している想定
";          ルートにあるcabalファイルがプロジェクト名になっているので、それを探しに行くことで対応
map <silent> [Exec]p :execute('!stack exec ' . fnamemodify(expand(";**/*.cabal";), ";:r";)) . '-exe' <CR>

参考

vim初期インストール時の対応

概要

新規でvimをインストールする際に出たエラーに関する対応のメモ。

エラー

vimpythonが追加されない

sudo apt-get install python-dev
  • 原因2
    • pythonのconfigフォルダを指定してあげる必要がある
# 今回実行したコマンドは下記
./configure --with-features=huge --enable-multibyte --enable-pythoninterp --enable-gpm --enable-cscope --enable-fontset --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu
  • メモ
    • 追加されているかどうかは、「vim --version」で確認できる

起動時にエラーが発生

  • 概要
  • エラー内容
    • 以下の様なメッセージが大量に出る
E10: \ の後は / か ? か & でなければなりません
  • 原因
    • vi互換を切る必要があるらしい
" (1) .vimrcに、以下の記述を入れる
set nocompatible
" (2) 'set compatible'の記述が無い事を確認する

Guakeの透過設定

概要

Guakeの透過用に使っていたtransset-dfのインストール方法が、以前書いた記事の方法ではうまくいかなくなったので、やり方を更新する。

やり方

以前書いた記事と殆ど一緒。但し、transset-dfの取得方法が変わる。

  • 必要なパッケージ&ライブラリのインストール
sudo apt-get install xcompmgr
sudo apt-get install libxrender-dev
sudo apt-get install libxdamage-dev
sudo apt-get install libxcomposite-dev
  • transset-dfのダウンロード
    • transset-dfをここからダウンロード
  • transset-dfのインストール
    • 上のサイトに記述されている方法で良い(一応、下に書いておく)
# Xの部分はバージョンを入れる(ダウンロードしたファイルを確認してください)
tar zxf transset-df-X.tar.gz
cd transset-df-X/
make
make install
  • transset-df がインストールできない場合
    • x11-apps のインストールでtransset/xcompmgrがインストールされるみたい(2020/09/26)
sudo apt-get install x11-apps

Guakeの設定

以下のコマンドを.bashrcなり何なりに書いておく。

xcompmgr -n &
# Guake起動
guake &
sleep 1
# 透過設定
transset-df --no-regex -n guake 0.8

インターネット共有

概要

WindowsXPマシンをLinuxマシン経由でインターネットにアクセスする。
家で余ってるXP(デスクトップ)をLinux(ノート)経由でインターネットに接続する話。

環境

  • メイン
    • Linux (basix 2.1)
    • 無線でルータに接続
  • サブ

設定

  1. メインPC設定
    1. タスクバーの無線LANアイコンをクリック
    2. VPN接続から「VPN設定」をクリック
    3. Ethernetから「有線接続1」を選択し、「編集」ボタンをクリック
    4. IPv4タブを選択
    5. 方式を「他のコンピューターへ共有」に変更
    6. 保存
  2. サブPC設定
    1. デフォルトでDHCPになっていれば、特に変更する必要無し、一応下記で確認する
    2. タスクバーの「スタート」から「設定」の「ネットワーク接続」をクリック
    3. 「ローカルエリア接続」を右クリックし、「プロパティ」をクリック
    4. インターネットプロトコル(TCP/IP)」を選択し、「プロパティ」ボタンをクリック
    5. IPアドレスを自動的に取得する」を選択する

久々にClojureやった件

概要

リポジトリ

 paiza的に問題の答えを載せるのはNGらしいので、問題を解く上で使った内容やオボエガキをGitHubリポジトリにアップしました。
 今後も増えていくと思いますので、よろしくお願いします。取り敢えず、現状解ける問題は全部解きました。(2016/06/26時点)
 制服チャレ問題が厄介でした。

 https://github.com/dis-kaichi/clojure-samples

open-browserでmarkdown文章が開けない件

概要

 vimmarkdownを記述した際に、htmlに変換してブラウザから開いて確認するプラグイン(open-browser)がいつの間にか使えなくなっていた。

原因

  1. ブラウザを開く際に、xdg-openコマンドを利用している。
  2. HTMLのファイルタイプを調べると「application/x-extension-html」になっている
  3. 上記のタイプのデフォルト設定を調べると「userapp-Firefox-T72HQX.desktop;」となっている
  4. userapp-Firefox-T72HQX.desktopが存在するディレクトリを調べると「~/.local/share/applications/userapp-Firefox-T72HQX.desktopd」となっている
  5. 中身を開いてみると、実行アプリケーションの設定が「Exec=/opt/firefox/firefox-bin %u」となっていた。
  6. /opt/firefox/firefox-binを実行してみると、下記の様なエラーが表示された。

    libdbus-glib-1.so.2: cannot open shared object file: No such file or directory Couldn't load XPCOM.

  7. まともに対応するのは大変そうだったので、実行パスを「Exec=/usr/bin/firefox %u」に変更して解決した。

参考

# HTMLのファイルタイプの調べ方
$ xdg-mime query filetype HTMLファイル
# デフォルトで利用するアプリケーションの設定
$ xdg-mime query default application/x-extension-html

侍道2

侍道2オボエガキ

またやり始めたので、旧ブログからの転載&追記

共通

記法について

 括弧内がダメージ、括弧内の括弧(+90)等は崩し後に入れた場合の追加ダメージ。 つまり(380(+120))は、通常で入れると380、崩し後に入れると500となるという事。

崩しループ

 2種類以上の崩し技を所持している武器で使用可能。やり方は崩し技を交互に出すだけ。ダメは基本的に入らないが稀に敵がガードをミスった際に入る。ずっとやると相手の刀が折れる。相手を無力化する際に使える。

半崩しループ

 崩し技、キャンセル可能技の交互出し。CPU戦ならまぁまぁ続く。強さは武器によりまちまち。

崩し技後のダメージについて

 崩し後の追撃ダメは2倍になる。

上段

鮫肌丸

←△ x 4 ←→△ 繰返し (340(+90))

 甲筋から戌破天の繰返し。丁突から戌破天が難しいので練習が必要。

△ x 3←→△ cancel △ ... (210(+70))

 明星から落ち星流れ、夜星破天でキャンセルして明星への繰返し。落ち星流れから夜星破天を出すのが難しい。難易度が高すぎるのであんまりやる意味は無いかなぁ。

以下考察

  • 打ち上げ技が1つもないのが難点
  • 上へ参るを確実に当てる方法が無い
  • 迎門の使い所が不明

鬼包丁

崩し技 cancel ←△タメ (300(+100))

 CPUに対しては、コレで吊責が入るようである。

△△→△ x 3 (340(+90))

 明星、連明星、火炎車から落城

△ x 4 →△ (510(+70))

 明星から流星落としの普通のコンボ。強いが壁際でやらないと全部は当たらない。

村雨

△ x 2 →△ x 3 (380(+120))

 4番目の龍飛でスカる可能性が非常に大きい。広い場所だと5番目の龍殺は殆ど当たらない。壁際でやってもスカる事が多いので、龍飛で止めるのが良いかも。

△ cancel →△△ (310(+120))

 ポイントとしては、瀧打ちは入らないので、濁流上りで止める事。

←→□△タメ(460(+460))

 破山から妖乃刃が一番強い。崩し後の一撃なので倍ダメだと思うが未検証。

以下考察

  • 昇雲閃から腕怨のコンボは入らない
  • 破天(△系の崩し)があったら、もっと強かったのでは?
  • 昇雲閃後の竜巻斬りが、マジで要らない

続きはそのうち