Chocolateyのセットアップ

Windowsでのパッケージマネージャとして一番普及しているっぽいChocolateyをインストールして初期設定するまでをメモしておく。

GithubのChocolateyプロジェクトWikiにあるInstallationを参考にインストールする。 予めFAQにも目を通しておくと、パッケージマネージャとしての思想や選択が書いてあるので戸惑いが少なくなるかもしれない。 今回は、推奨されているcmd.exeからのコマンド実行でインストールした。

続いて、環境変数を設定する。 Chocolateyのパッケージインストール方法は大きく分けて

  • MSIなどのインストーラを内部で呼び出すタイプ
  • Zipなどのファイルを展開するタイプ

があり、前者の場合はインストーラが決めた場所(たいていProgram Files)に、後者の場合は<Env:ChocolateyInstall>\libにパッケージが配置される。ただし、RubyPythonなどは例外で、

  • 環境変数chocolatey_bin_rootがあれば<Env:SystemDrive>\chocolatey_bin_root
  • なければ<Env:SystemDrive>直下

に配置される。おそらくRubyPythonなどはそれ自体がパッケージマネージャを含むので階層構造が深くならないようにとか色々あってこうなっているのだとは思うが、そうはいっても放っておくとシステムドライブ直下にぼこぼこパッケージが入ってしまう可能性があるので適当なフォルダを作って環境変数を設定しておく。例えばフォルダChocoPackagesを作成し、そこへのパスを通すなら

PS > New-Item -Name ChocoPackages -Path C:\ -ItemType directory
PS > [Environment]::SetEnvironmentVariable("chocolatey_bin_root", "ChocoPackages", [EnvironmentVariableTarget]::User)

ちなみに、「環境変数chocolatey_bin_rootがなければbinをセットする」だけのパッケージもある。やはりモヤっとする人はいるみたいだ。

以上で設定は終了。あとはGetting Startedを見ながら必要なパッケージをインストールしていけばよい。

PowerShellでwget、curl的なURL指定でのファイルダウンロード

PowerShellでURLを指定してWebからファイルをダウンロードしたい場合、invoke-webrequestを使う。

invoke-webrequest -uri <URL> -outfile <保存先パス>

で保存される。保存先パスは保存場所ではなくファイル名まで指定する。また、invoke-webrequestHtmlWebResponseObjectを返すことを利用して

(invoke-webrequest -uri <URL>).content > <保存先パス>

でも同様のことが可能だ。

名前の通りinvoke-webrequestはダウンロードのためのコマンドというよりはWebリクエストを実行するためのコマンドで、ヘルプを眺めていると色々面白い。JSON関係のコマンドレット、REST API呼び出しに特化したコマンドレットも用意されているので、HTMLフォームのPOSTを挟んだり、REST APIを間に挟むような処理も自動化できるようになっている。

PowerShellのヘルプファイルをローカルにインストールする

Windows 8.1にはPowerShell 4.0が標準で入っているので、これを機にPowerShellを本格的に使っていくことにした。

ということでPowerShell ISEを起動したが、まず困ったのがヘルプがオンライン前提になっていることだった。

get-help <String> -online

でブラウザ上で閲覧できるけど、できればコンソール内で完結させたい。また、操作方法や概念のヘルプを閲覧できる

get-help about_<String> # about_aliasesなど

系は-onlineでも閲覧できない。ということで、ローカルにダウンロードしたヘルプをコンソールで見られるようにしたい。

ヘルプのローカル展開機能は予め用意されていて、update-helpコマンドレットがそれだ。PowerShellを管理者権限で起動して

update-help -uiculture ja-JP, en-US

を実行すれば英語、日本語のヘルプをWebからダウンロードしてインストールしてくれる。ただ、今のところ日本語版は用意されていないようで日本語ヘルプのダウンロードはすべてエラーになる。

get-help about_aliases

を実行してエイリアスに関する説明が表示されれば成功。 今後もヘルプが更新されたら上記コマンドでインストールできる。

Surface Pro 2 を買った

Surface Pro 2 256GBモデルを買いました。

初代Surface RTは国内発売後すぐに買ってお出かけ用に重宝していましたが、家用のメインWindowsマシンとして使うべくPro 2を買うことにしました。
こういうガジェットはなんとなく店頭で買いたいと思い秋葉原をうろうろしましたが在庫切れの店ばかりで、なんとかツクモのラス1をゲットできました!
Sufrce 2にしろSurface Pro 2のほかのモデルにしろ在庫はあったので、やっぱりメモリ8GBは魅力なようです。

年末年始、いじり倒してやるぜ!

カレー屋、ラーメン屋は水にも力をいれてほしい

カレー屋とラーメン屋で水がまずいと、どんなにメインが美味しくてもあんまり再訪したくなくなる。
というのも、この2つではがつがつ食って最後に水をぐいっと飲んで締めたいんです。ラストの水も含めてのカレーでありラーメンなんです。ほかの飲食店だと水が絵の具みたいな匂いしてたりしてもあんまり気にならないけど、上記2つの場合は致命的になる。
ほんと、水道水にレモンの輪切りを浮かべる程度でも劇的に印象が異なるので、僕の生活圏にあるお店はもっと気をつけるとよいと思います。

押上: 麺屋社中

初訪問。
頼んだのはあっさり鶏そば具だくさん。
トッピングの内訳は

  • 軟骨入りの鳥団子
  • 鳥の照り焼き(チャーシュー風)
  • メンマ
  • 白髪ねぎと青ねぎ

すごくポジティブな歌詞の軽快な男性ボーカルJPOP、黒いTシャツの店員、筆文字のPOPや注意書きなど、日本的創作ラーメン屋に対して思い浮かべるイメージに合致しすぎなくらい合致した店づくりだった。
安心感はあるが面白味はないなぁと思って店内を見回したところ店オリジナル黒Tシャツが販売されているのを見つけ、店主の既存フォーマットを踏襲することへのこだわりを感じ、面白味などを求めた自分の不明を恥じた。

味はおいしかったです。特に水がおいしいのがよかったと思いました。

Emacs 24.3 環境設定の方針

後で参照できるように文書化しておく。

参考にしたサイト、書籍など

Emacs24 のインストールと新機能 : 紹介マニア紹介マニア
Emacs 24で追加された機能について
Emacs24に最初から同梱されているテーマ - AOEの日記AOEの日記
Emacs 24に標準で添付されているテーマについて

以降、順次追加

設定

方針

  • package.elでインストールできるものはpackage.elを使用する。
    • package.elでインストールするパッケージはinit.elに記述する。
  • ライブラリごとの設定で煩雑になりそうなものはconf/に設定ファイルを切り出す。
  • プラットフォーム独自の設定もconf/に設定ファイルを切り出す。
  • 単純な機能ならなるべく自分でelispを書く。
    • 勉強のため

ディレクトリ構成

  • .emacs.d/
    • init.el ; Emacs自身の設定
    • conf/ ; 追加のライブラリやプラットフォーム独自の設定
      • init-helm.el
      • init-mac.el
    • site-elisp/ ; elisp置き場
    • elpa/ package.elでインストールしたパッケージ置き場

パッケージごとの設定

パッケージの設定はinit-[パッケージ名].elに記述する。どんなに記述量が少なくても必ず外だしする。

TODO

  • githubでの管理
  • コンソール起動時での検証