Plan 9とGo言語のブログ

主にPlan 9やGo言語の日々気づいたことを書きます。

Exported from Tumblr

Plan 9とATS

この記事はTumblrで公開されていました これは2016年4月の記事です。現在9legacyのパッチは修正されています。 うまくいかないメモ とても混乱しているので記録する。 MacとiOSのMailアプリは、どちらもTLS 1.0までしか対応していない 未対応の暗号スイート…

Plan 9で知っておくと便利なこと

この記事はTumblrで公開されていました 9fansより 9fansに投稿された内容から、便利そうなものをまとめる。 rcのイディオム webfsなど、ctlを開きっぱなしにしたままで他のファイルを操作する時などに、<>{cmd}イディオムが便利。詳細はrc(1)のマニュアル。…

Plan 9カーネルの読み物

この記事はTumblrで公開されていました Plan 9 OSについて Introduction to Operating Systems Abstractions (pdf) 3rd edition頃のカーネルガイド Notes on the Plan 9 3rd edition Kernel Source (pdf) どこかにあったカーネルリーディングに関するコメント…

checked N page table entries

この記事はTumblrで公開されていました Plan 9を使っていると、たまに、 <pid> <command>: checked <n> page table entries というログがコンソールに出力される場合があります。これは、/sys/src/9/port/fault.cのcheckpagesが出力しているもので、checkpagesが呼び出しされ</n></command></pid>…

Plan 9 ATAドライバのLBA

この記事はTumblrで公開されていました pc/sdata.cは起動時に、LBA可能なディスクなのか調べる。CHSしかできないなら、何があっても常にCHSでアクセスする。LBA可能な場合、アクセスするアドレスや個数がLBAの範囲内ならLBA、範囲を超えたら(例えばアドレス…

Plan 9 on さくらVPSのI/Oが遅い

この記事はTumblrで公開されていました 解決 原因がどうにもわからないので9fansにポストしたところ、最終的に、Plan 9のTCP実装が問題で、inパケットのMSSが大きすぎて不審な動作をしていたらしい。9legacyにパッチがあるので当てると解消する。 オリジナル…

pbsをpbslbaに変更する

この記事はTumblrで公開されていました インストール直後はCSH(Cylinder-head-sector)版のpbsが使われるので、LBA(Logical block addressing)版を使う。 % disk/format -b /386/pbslba /dev/sdC0/9fat とするだけでよい。9fatのファイルは維持される。

Plan 9 on さくらVPSのディスクioが遅い

この記事はTumblrで公開されていました fossilがキャッシュしていない時のio(read)が150KB/sしか出ていない。 % iostats md5sum /386/9pcf 2回目以降はキャッシュされるので120MB/s程度まで向上するけど、さすがに遅すぎるので、この年末年始でドライバをvir…

Go on Plan 9ではまったこと

この記事はTumblrで公開されていました Go 1.3.1をビルド Plan 9(386)にGo 1.3.1をインストールしてみた。通常どおりsrc/all.rcを実行したのだけれど、cmd/8cと出力された後にinvalid opcodeエラーで落ちる。そのため、インストールできない。 Go 1.3.0をビ…

Plan 9でPython(失敗)

この記事はTumblrで公開されていました http://permalink.gmane.org/gmane.os.plan9.general/72794 (リンク切れ)の通りですが。 % bind -ac $home/sys/src /sys/src で、 % cd $home/sys/src % hget https://bitbucket.org/jas/cpython/get/2.7-plan9.tar.bz…

Drawtermでキーボードを叩くとNSPortCoderな警告が出力される

この記事はTumblrで公開されていました drawtermを使ったとき、キーボードでキーを叩くと以下のような警告が出力され続ける場合があります。 Warning - conversion from 64 bit to 32 bit integral value requested within NSPortCoder, but the 64 bit valu…

syscall 53問題踏んだ

この記事はTumblrで公開されていました ふとした気の緩みで、大きく時間が取れるまで待っていたsyscall 53問題を踏んでしまった。syscall 53問題というのは、5月の中旬ごろに発生したnsec(2)がライブラリからシステムコールに変更されたことによって起こるエ…

u.h

この記事はTumblrで公開されていました Plan 9には、u.hというヘッダファイルと、Qidという構造体がある。このuとqって何なのという質問が9fansで上がっていたけど、Rob Pikeによると uint, ulongのu uniqueのq だそうで。 [9fans] why u.h, why qid?

Macから9Pをマウントする

この記事はTumblrで公開されていました 9fansで話題に上がってたのでメモ。 9Pをマウントするmac9pというカーネル拡張があって、これを使うと、たとえば9p://sources.cs.bell-labs.comのようなURLでマウントすることができるようになる。 試してみたけれど、…

Command Line Toolsだけをインストールする

この記事はTumblrで公開されていました Xcodeといっしょにインストールすることが多いCommand Line Toolsですが、単体でもインストール可能だということを最近知りました。 特に難しい方法ではなく、最初にgit等のコマンドを実行したとき、Xcodeを入手するか…

Plan 9の不思議

この記事はTumblrで公開されていました Plan 9はネットワークブートの仕組みがあって、リモートファイルサーバのファイルツリーを自分の/にマウントして、複数台のマシンでひとつのシステムを構成することができる。 で、これはplan9.iniに bootargs=tcp -g …

Goワークスペース

この記事はTumblrで公開されていました(Go 1.2の頃に書いたものです) Go言語には、ワークスペースという構造があります。最初はとても取っ付きづらいのですが難しいものではないので、軽く書き流します。 ルール GOROOT環境変数 GOROOT環境変数は、Go言語本…

Goのはじめかた

この記事はTumblrで公開されていました。とても古い記事なので参考にならないかも。 こないだ業務でGoを使ったプログラムを書きました。もともと個人的に使っていましたが、いいきっかけなのでまとめておきます。 インストール ここではソースからインストー…

plan9portがHomebrewに追加されました

この記事はTumblrで公開されていました こないだ、Homebrewにplan9portが入ったみたいなので インストールしてみました。 インストール $ brew update $ brew install plan9port これで完了です。特に依存するCellarはありません。/Applicationsに9term.app…

Plan 9の便利そうなコマンド

この記事はTumblrで公開されていました man読んでいたら便利そうなコマンドがあったのでメモ。 du(1) - -tオプションで更新時刻 lock(1) - ロックしてコマンド実行 seconds(1) - 日付文字列をunix timeに変換 tail(1) - 対象範囲は、l(行), b(1Kブロック), c…