Bluepostech

まじめなことを書きます

【win10】bash on windowsが強くなっていた

先日アップロードした記事の続き。
bluepost69-tech.hatenablog.com

これまでと困ってること

これまでcygwin上でemacsをインラインで使ってきたけど、win10だとその方法が取れないということだった。WSL*1とかMSYSとか試したけどどれもインラインでemacsが使えなくて、結局コマンドラインからatomを起動したというオチだった。

そもそも別窓でエディタが開くのは嫌

cygwinでもemacsを一応は使うことはできる。ただしGUIでしか使えず、別窓で開く。別窓で開くと視線をターミナルから移さないといけないのでめんどうくさい。ターミナル上で開きたい。

Atomは重い

Atomを起動する方法は別窓で開くという問題を解決できていないうえ、Atomは起動までが重い。数秒かかることもある。

vimは嫌

emacs信者なので。

ターミナルを使いたい

シェルが使えるIDEを使うという手もある。しかしIDESSHでは実行できない*2ので、SSHとローカルでやり方を変える必要がある。個人的に同じ言語では同じ手法を使いたい。

一瞬Powershellに落ち着いた

cygwinやらMSYSやらいろいろ試行錯誤したが、一旦はPowershellを使っていた。

しかしPowershellbashではないので、文法の違いがなかなか不便だった。rmやcpのような基本的なコマンドはエイリアスが差さっているので困らないが、たとえば

  1. for文が使えない
  2. rmのオプションが使えない(「-vrf」をいちいち「-v -r -force」と打たなければならない)
  3. NTemacsは日本語が使えない

といった不満があった。

久しぶりにbashを触ったらはまった

そこで、しばらく寝かせていたWSLを久しぶりに触ってみた。

すると、アップデートのおかげか、文字欠けは起こらなくなっていた。これはよい。

それに、cygwinのcygstart的なこともできる方法を発見した。Powershellではカレントディレクトリをエクスプローラで開くには

explorer .

でできるが、以前のbashでは方法が見つからなかった。ところが、今のWSLはexeファイルに対応したらしく、

explorer.exe .

で同様のことができる。しかもbashなのでbashのやり方でエイリアスを差しておけばよい。

当然EmacsCUIで開けるし、SSHだってできる。やっぱりbashはよい。

2017.10.19 追記
WSLはBoW(Bash on Windows)などいろんな呼び方があり一定していなかったが、公式にはWSLにしてほしいとのことだったので、表記を統一した。

*1:Windows Subsystem for Linux

*2:僕が知らないだけかもしれない

Haskell-stackを触ってみた

タイトル通りHaskellを触ってみたのだが、Hello worldのような簡単なコードを実行するまででも「これにしたがってやればいい」みたいなドキュメントが見つからなかったので、メモ書きとして残しておく。

環境:windows10 + powershell

1.インストールとセットアップ

chocolateyでインストールした。

cinst -y haskell-stack

どうやらstackというコマンドで管理するらしく、次でセットアップする。セットアップには結構時間がかかった。管理者でやったほうがいいかもしれない。

stack setup

2.インタラクティブな実行(ghci)

Haskellインタラクティブ(会話型)で実行するには、ghciというものを使う。

stack ghci

終了するには「:quit」と打つ。

3.スクリプト実行

スクリプトファイルとして実行するには、次のようにする。

stack runghc src.hs

ただしなぜか異様に時間がかかる。

4.コンパイルして実行する

コンパイルもできる。

stack ghc src.hs

生成された実行ファイルは通常通り実行できる。

5.プロジェクト化する

stackでプロジェクトの管理もできる。下記のコマンドを実行するとmyprojectという新たなディレクトリが作られ、中にプロジェクトが生成される。

stack new myproject

おそらくめちゃくちゃなので、間違いや改善点などあればご指摘ください。

VOCALOID3でのVOCALOID2のライブラリインポート

いろいろつまづいたのでメモ。

元々VOCALOID2(以下V2)のライブラリはVOCALOID3(以下V3)のものとは別であり、V2のライブラリをV3で使うにはライブラリインポートツールというものを使わなければならない。

このライブラリインポートツールは2016年末でYAMAHAのサポートが終了した。
「VOCALOID2 ライブラリインポート」サポート終了のお知らせ | VOCALOID ( ボーカロイド・ボカロ )
これでインポートに必要なシリアルが発行されないので、移行するとインポートツールだけ持っててもインポートできない。

ここで詰んだと思ったのだが、調べると移管先のSONICWIREでシリアルをとれるとのことだった。

1.SONICWIREアカウントを作る

http://sonicwire.com/

2.Cryptonアカウントを作る

このとき配送先情報も入れる。

3.CryptonアカウントにVOCALOID2製品を登録する

4.SONICWIREアカウントと統合する

これで新たなバージョンのライブラリインポートツールがダウンロードできるようになり、インポートができる。