トップ 追記

Route 477

過去の日記


2015-01-06

[github] GitHub Wikiを全画面表示する

GitHub Wikiは便利だけど、ページ幅がけっこう狭いので、表とか入れるとちょっと見づらかったりする。
これをChrome + CSSでなんとかする方法。

  1. Stylishという拡張を入れる
  2. Github - Remove wiki page list and whitespaceを追加
  3. GitHub Wideを追加

これでGitHubの表示幅が広くなって、かつサイドバーも無くなるのでWikiコンテンツが画面いっぱいに表示されるようになった。

ただサイドバー無くすのはちょっとやりすぎで、ページ間移動がめんどい。クリックでトグルできたりする方がほんとは良い。
まあ印刷時だけ有効化するとかが良いかも。


2015-01-05

[vim] Vimでペースト→インデントする方法

Vimで、「いまペーストした範囲を全体的に右にずらしたい」みたいなときがたまにある。
vim usersに何か書いてあったような…と思って調べてみたところ、それっぽいものを見つけた。

]という特別な名前のmarkが、「直近に変更またはyankしたテキスト範囲の末尾」を指すようだ。
なので、pとかでyankしてから>']とタイプすることで、ペーストした範囲の最後までを対象にインデント(>)できると。なるほど。

いつも設定したマークに飛ぶときは「」の方を使っていたけど、「'」というのもあるらしい。「」はマークしたその位置に飛ぶけど、「'」はマーク箇所の行頭(=その最初の非空白文字)に飛ぶようだ。今回はインデント(>)なのでどっちでもよさそう。


2014-12-09

[types] MacでSML#を動かす

ちょっと手元でSML#を動かしたかったのだけど、オフィシャルにはMacPortsのパッケージしかなかった。
そこでhomebrewと組み合わせて自前でのコンパイルを試みた。

brew + コンパイル

SML# 2.0.0のコンパイルにはLLVM 3.4が必要である。普通にbrew install llvmすると3.5が入ってしまうので、何らかの工夫が必要になる。
brewで古いバージョンを入れる方法はいろいろあるようだが、ここではhomebrew-versionsを使ってみた。

$ brew install homebrew/versions/llvm34
$ cd /usr/local/opt/llvm34/bin/
$ ln -s llvm-config-3.4 llvm-config
$ cd ~/somewhere/smlsharp-2.0.0
$ ./configure --with-llvm=/usr/local/opt/llvm34 --enable-native=x86-darwin && make
(中略)
g++  -L/usr/local/Cellar/llvm34/3.4.2/lib/llvm-3.4/lib \
      src/runtime/smlsharp_entry.o \
      precompiled/x86.o \
      src/llvm/main/llvm_support.o src/llvm/main/SMLSharpGC.o \
      src/runtime/libsmlsharp.a \
      -ldl -lgmp -lm  -lLLVMLTO -lLLVMLinker -lLLVMipo -lLLVMVectorize -lLLVMBitWriter -lLLVMTableGen -lLLVMDebugInfo -lLLVMOption -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMIRReader -lLLVMBitReader -lLLVMAsmParser -lLLVMMCDisassembler -lLLVMMCParser -lLLVMInstrumentation -lLLVMInterpreter -lLLVMMCJIT -lLLVMJIT -lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport -lz -lpthread -lffi -lcurses -lm \
      -o minismlsharp
ld: warning: ignoring file precompiled/x86.o, file was built for i386 which is not the architecture being linked (x86_64): precompiled/x86.o
Undefined symbols for architecture x86_64:
  "__SMLmain", referenced from:
      _main in smlsharp_entry.o
  "__SMLstackmap", referenced from:
      _sml_control_init in libsmlsharp.a(control.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [minismlsharp] Error 1

うーん、うまく行かない。

Ubuntuを試す

VMWare上にUbuntuの環境があるので、そっちも試してみた。

  • Ubuntu 14.04 trustyを使っている
  • smlsharp-2.0.0-2_ubuntu-amd64.debを入れようとするとlib32gmp-devが必要と言われる
  • そのようなパッケージは見つからない

ということで

ちょっと触りたいだけならDockerで動かすのが一番簡単っぽい。

$ docker run -i -t mzpi/smlsharp  /bin/bash
(イメージのダウンロード部分は中略)
root@528ee3cd7f3e:/# smlsharp 
SML# 2.0.0 (2014-04-04 11:47:08 JST) for i686-unknown-linux-gnu with LLVM 3.4
# 1;
val it = 1 : int 

2014-11-05

[memo][mac][docker] MacにDockerを入れた

まだ入れただけ。

  • とりあえずbrew install docker boot2docker
  • boot2docker initしてみたけど、VirtualBox 4.2だとなんかうまく動かなかった
  • Virtual 4.3を入れて、boot2docker delete → boot2docker init → boot2docker up でうまく行った *1
% VBoxManage -v
4.3.18r96516

boot2docker upが成功すると以下のようになる。

% boot2docker up
Waiting for VM and Docker daemon to start...
.o
Started.
Writing /Users/yhara/.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/yhara/.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/yhara/.boot2docker/certs/boot2docker-vm/key.pem

To connect the Docker client to the Docker daemon, please set:
    export DOCKER_HOST=tcp://192.168.59.103:2376
    export DOCKER_CERT_PATH=/Users/yhara/.boot2docker/certs/boot2docker-vm
    export DOCKER_TLS_VERIFY=1

ので、下の3行のexportを~/.zshrcに追加してsource ~/.zshrcする。このIPはboot2dockerで起動したVirtualBox VMのもの *2

docker versionで以下のような表示が出たら、ちゃんとVirtualBox VM上のdocker serverに接続できている。

% docker version
Client version: 1.3.1
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): 4e9bbfa
OS/Arch (client): darwin/amd64
Server version: 1.3.1
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): 4e9bbfa

*1 間でbrew uninstall/installとかしたかも

*2 なのでlocalhostとかに書き換えてはいけない


2014-10-22

[misc] VMWare上のWindows 7にHDDを追加する

最近VMWare Fusion上のWindows 7を再インストールしたんだけど、仮想HDDの追加にちょっと手間取ったので手順をメモっておく。

  1. まずVMWareのVMの設定から「デバイスの追加」を選び、「新規ハードディスク」を追加する。(このとき仮想マシンはいったんシャットダウンしておかないと追加できない)
  2. Windowsを起動する。
  3. ここでエクスプローラを起動して、新しいHDDが見えてたりすると便利なのだけど、C:ドライブしかない。
  4. コントロールパネル→管理ツール→コンピュータの管理→ディスクの管理 を選択。
  5. ディスク0の他にディスク1があるはずなので、右クリックからフォーマットを選ぶ。
  6. あとは全部デフォルトを選べばNTFSでクイックフォーマットされ、使えるようになるはず。今回はE:ドライブとして見えるようになった。

過去の日記