nDiki : Homebrew

2015年8月21日 (金)

YAPC::Asia Tokyo 2015 1日目

rimage:/nDiki/Flickr/20803751295.jpg

YAPC::Asia Tokyo 2015 の1日目です。

なんだかんだいって 9:00 過ぎには会場到着。受付待ちの @tamotamago 氏と再会しました。

「Opening」 Daisuke Maki @lestrrat 氏 #yapcasiaA

オープニングとクロージングはメインのホールでというのが(自分が参加して知る範囲では) YAPC::Asia Tokyo のスタイルです。複数トラックでもきちんと最初と最後は集まるというスタイルはやはりいいですね。

「Get ready to party!」 Larry Wall @TimToady 氏 #yapcasiaA

Perl 5 と Perl 6 を「ホビットの冒険」と「指輪物語」の関係になぞらえながら、Larry Wall 氏らしい軽快な語り口で Perl 6 について語っていました。何事もなければ今年のクリスマス頃には Perl 6 をリリースするかもしれないということで期待が高まります。

Perl 6 を使ってみる気にそろそろなってきました。

Perl 6 をインストール

Teppei Sato @teppeis 氏 #yapcasiaC の 「Effective ES」 を聞こうと思っていたのですがトイレに寄ったあとに行ったらやはり満席。ではせっかくなので普段触れない話題でと「Web由来の組み込みエンジニアの半年間のすべて 〜WebiOSとBLEとハードウェアデバイスのこと〜」 Kazuhiro Homma @kazuph 氏 #yapcasiaD に入室。

ただちょっと内容がマッチしなかったので Perl 6 (Rakudo Star) をインストールしてみました。OS X なら Homebrew で入るということで

 brew install rakudo-star

を実行。 en.wikibooks.org/wiki/Perl_6_Programming を見ながらぽちぽち実行したり。気がついたらトークを聞いていなかったのでそっと退室してロビーで続きをぽちぽち。

ランチ

@lapis25 氏と合流したので一緒にランチに行くことにしました。

途中 @shmorimo 氏にあってステッカーをいただいたり、以前 YAPC::Asia Tokyo 2010 ネタで Twitter声をかけていただいた @nealsato とすれ違ったりしたあと、 2F で看板を見つめる chipple 氏を見つけて、一緒にカレーを食べました。東展示棟価格でした。

「TBD」 Yukihiro "Matz" Matsumoto @yukihiro_matz 氏 #yapcasiaA

ランチから戻ったら既にトークが始まってました(間違えて10分スタートしていたらしい)。

Ruby の悪口を言って一番恨まれないのは私」という Matz 氏が Ruby の一番悪い点は Perl の影響を受けたこと言っていて大笑いです。Matz 氏のトークを生で聞くのは始めてたっだのですが、想像していたより軽妙で気さくな印象でした。

無限コーヒー

次は 「Perlの上にも三年 〜 ずっとイケてるサービスを作り続ける技術 〜」 趣味はマリンスポーツです @hitode909 氏 #yapcasiaE を聞こうと思ったのですが満席なので断念。無限コーヒーへ。

ここで Yoshimoto 氏 @yuuAn 氏と会いました。なにげに Yoshimoto 氏とはオンラインで会話するのは今日が始めてです! 初めまして! @yuuAn 氏もお久しぶりです!

そのあとこの時間で Perl 6 のシールをもらってきました。

Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN」 Yusuke Wada @yusukebe 氏 #yapcasiaE

安定の @yusukebe 氏です。今回は Podcast をすることで得た知見の共有トークでした。Podcast を聞くことも、ましてはやることも私は今のところは無さそうなのですが

「実時間またはそれに近い時間を視聴者がとられる」「それによってリスナーが適当に囲い込まれる」「オープンだけど体験する人が淘汰される」

というメディアの特徴についての話はなるほどなと思いました。

現在エンゲージメントマーケティング的なことを進めていて、そこでも「少ない対象の方と深くかかわる」という方向で活動しているので近いものを感じました。

「Lightning Talks Day 1」 #yapcasiaA

YAPC::Asia Tokyo 恒例の LTイベントの規模が大きくなってもこの雰囲気は健在ですね。

1日目を終えて

水曜日のインターンシップ懇親会で「YAPC 行く予定です。」といっていた体格の良いインターンの方を最後に見かけたので軽く声をかけたあと、東京ビッグサイトを後にしました。

昨年以上に盛況で、人気トークはすぐに満席になりますね。明日も朝から1日 YAPC です。

スポンサード リンク
[ 8月21日全て ]

2017年12月11日 (月)

ターミナルや Alfred から Slack に投稿するのに slackcat を入れた

ぼっち Slack ワークスペースに思い浮かんだことをつぶやいておくことにしたのでターミナルや Alfred for Mac からもさくっと投稿できるように、slackcat を入れてみました。

slack は Go で書かれているのでさくっとビルドできますが Homebrew でもインストールできます。

 brew install slackcat

あとは最初に

 slackcat --configure

と --configure オプション付きで slaccat を1回実行し認証を済ませます。認証が済めば以下のように標準入力から slackcat にテキストを渡すことで Slack に投稿できます。

 echo 'hello' | slackcat --channel timeline --stream

便利。

[ 12月11日全て ]

2017年12月13日 (水)

今日のさえずり: さっそく超グラコロ食べた。超満足。

2017年12月13日

[ 12月13日全て ]

2018年2月26日 (月)

Markdown で書いているノートWeb ブラウザで見るのに MkDocs を使う

ノート/メモははライティングアプリ Ulysses を使い Markdown で書いていて、検索・閲覧・整理も Ulysses で基本済ませています。ただいくつかの良く参照するファイルはブックマークやハイパーリンクから Web ブラウザでさっと表示させたかったりします。なので以前は Plack::App::Directory::Markdown を使った自作 PSGI アプリケーションを使ってました。

が、セットアップしたり保守したりという手間を今とれないなと思って、 Markdown ビューアを探してみたところ MkDocs が良さそうなので試してみました。

  • http://www.mkdocs.org/ (公式サイト自体が MkDocs で作られているのでどのような表示になるか確認できます)

MkDocs を Homebrew で入れてみる

MacBook ProHomebrew で入れて動かしてみます。

 $brew install MkDocs
 $mkdir -p ~/var/mkdocs
 $cd ~/var/mkdocs
 $mkdocs new local
 $cd local
 $mkdocs serve

Web サーバが立ち上がるので http://127.0.0.1:8000/ にアクセスすると ~/var/mkdocs/local/docs/index.md の内容を HTML に変換したものが表示されます。お手軽! 設定変更は ~/var/mkdocs/local/mkdocs.yml できます。

あとは docs の下に Markdown ファイルを置いておけば Web ブラウザで閲覧できます。docs の下に既存の Markdown ファイルノートディレクトリへシンボリックリンクを作ればそれらも辿って表示されます。

pip で入れ直す

試していてブラウザでのレンダリング表示が重いなと思って HTML ソースを見たら同じ JavaScript ファイルを何十回も読み込んでいて何か変ぽかったので Homebrew のをやめて pip で入れなおしました。どちらも現在 mkdocs 0.17.2 ですが pip で入れた方は問題なかったのでこちらを使うことにします。

 $brew uninstall mkdocs
 $brew install python
 $pip2 install mkdocs

MkDown は静的サイトジェネレータで、プレビューサーバは補助的機能ですがまずまず使えそうです。

[ 2月26日全て ]

2018年7月20日 (金)

Homebrew でプログラミング用フォント Ricty をインストール

2014年頃に Emacs の設定に Ricty フォントを追加していました(記憶がない)

 (add-to-list 'default-frame-alist '(font . "Ricty"))

けれども今の環境には Ricty を入れてなかったので入れました。

 $ brew tap sanemat/font
 $ brew install ricty
 $ cp -f /usr/local/opt/ricty/share/fonts/Ricty*.ttf ~/Library/Fonts/
 $ fc-cache -vf

Homebrew でパッチを当てた Emacsアップデート

Emacs 26.1 が出ているので久しぶりに Emacsアップデート

前回と同様 @takaxp 氏のパッチを使いました。感謝。手順は前回の手順とほぼ同じ。

 $ cd ~/tmp
 $ curl -LO https://gist.githubusercontent.com/takaxp/5294b6c52782d0be0b25342be62e4a77/raw/9c9325288ff03a50ee26e4e32c8ca57c0dd81ace/emacs-25.2-inline-googleime.patch
 $ brew update
 $ brew edit emacs

で起動したエディタで先頭の方に数行追加。

 # 以下を追加
 patch :p1 do
   url "file:///Users/naney/tmp/emacs-25.2-inline-googleime.patch"
 end

 depends_on "autoconf" => :build
 depends_on "automake" => :build
 # ここまで

でインストール。

 $ brew uninstall emacs
 $ brew install --with-cocoa --verbose emacs
[ 7月20日全て ]

2018年8月5日 (日)

macOS High Sierra にアップグレード

今日プリンタ印刷をしようとしたらプリンタとうまく通信できていなくて、そういえば SSH も数日前から接続できないことがあって、あれっと思ったら App Store にもうまくつながらなかったり。考えられるのはノートン セキュリティを再インストールしたことぐらい。ファイアウォールの設定も見てみたけれど問題なさそうなので、このタイミングで macOS High Sierra に上げておくことにしました。

macOS Sierra 10.12.6 から macOS High Sierra 10.13.6 へのアップグレードになります。アップグレードした結果、印刷できるようになったし SSH 問題も解決したので良しとします。

ScanSnap Manager は要アップデート

それから iTerm2 で新しいウィンドウを開くと

 failed MSpanList_Insert 0x2d4000 0x3abc7c6fbf83 0x0
 fatal error: MSpanList_Insert

 runtime stack:
 runtime.throw(0x277a4b)
 	/usr/local/go/src/runtime/panic.go:491 +0xad fp=0x7ffeefbff550 sp=0x7ffeefbff520
 runtime.MSpanList_Insert(0x296e48, 0x2d4000)
 	/usr/local/go/src/runtime/mheap.c:692 +0x8f fp=0x7ffeefbff578 sp=0x7ffeefbff550
 以下続く

エラーを吐くようになりました。.bashrc の中で読んでいる direnv が出していたので自前でビルドしていたのを捨てて Homebrew で再インストール。

 brew install direnv

途中

 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
 Error: Failure while executing; `git config --local --replace-all homebrew.private true` exited with 1.

と出て git が動かなくなってしまっていることに気がついたので、こちらは

 xcode-select --install

で対応。

[ 8月5日全て ]

2020年7月23日 (木)

nodebrew で Node.js をインストール

今まで Node.js はそれほど使っていなかったのでシンプルにインストールしていたけれど、ホームディレクトリ直下に node_modules を置くのが嫌という地味な理由でバージョンマネージャを使うことにした。

Node.js を使った開発をしておらずプロジェクト毎に Node.js を切り替える必要は無いので nvm ではなく nodebrew を選んだ。

nodebrew をインストール

Homebrew でインストールしセットアップを実行する。

 $ brew install nodebrew
 $ nodebrew setup

.bashrc に PATH 設定を追加する。

 # nodebrew
 if [ -d $HOME/.nodebrew/current/bin ]; then
     PATH=$HOME/.nodebrew/current/bin:$PATH
 fi

nodebrew で Node.js 安定版をインストール

 $ nodebrew install-binary stable
 $ nodebrew use stable

これで安定版の Node.js を使えるようになった。

[ 7月23日全て ]

2021年1月5日 (火)

最近の Unisonビルドする

双方向ファイル同期化ツール Unison File Synchronizer、 Mac で使っているのが Unison 2.48.6 の GUI 版なのだけれど、古いせいか macOS Catalina だと「Install command-line tool」 が機能しない(/usr/bin にインストールしようとしているからかな)。

macOS 上で text UI 版がちょっと使いたい & GUI 版も新しいのにしたいなと思ってビルドとかした。

現在の Unison のバージョン

2021年01月05日時点での安定版は 2.51.3

Homebrew で入れる

 $ brew install unison

で text UI 版の「unison version 2.51.3 (ocaml 4.10.0)」が入る。GUI 版は入らない。

macOS Catalina 上でビルドする

Unison 最新版のバイナリ配布が見当たらないのでビルドしてみる。 Xcode が必要。

 $ xcode-select --install

で入る Command Line Tools だけだと text UI 版の Unison しかビルドできないので App Store から Xcode をインストールした。

OCaml は Homebrew ので済ます。

 $ brew install ocaml

今日時点で入るのは OCaml 4.10.0 だ。次に Unison 2.51.3 をビルドする。

 $ cd ~/tmp
 $ curl -OL https://github.com/bcpierce00/unison/archive/v2.51.3.tar.gz
 $ tar zxvf v2.51.3.tar.gz
 $ cd unison-2.51.3
 $ make all

make だけだと text UI 版しかビルドされないので make all してみた。が残念 GUI 版はエラーで途中で止まった。今はうまくビルドできないのかもしれない。

諦めて make で text UI 版だけバイナリを得ることにした。 make 後

 $ ./src/unison -version

で実行できることを確認。 ./src/unison を適当なところにコピーしておく(これなら brew install unison で十分だった)。

FreeBSD 上でビルド

ローカルホストの Unison とリモートホストの Unison のバージョンが合っていないと同期できないのでリモートホスト側 (FreeBSD 9.1-RELEASE-p24) でも同じバージョンのものをビルドする。さくらのレンタルサーバ プレミアムで root 権限はないのでユーザー権限にて。

まずは OCaml。最近の OCaml は opam というのでインストールして使うのが流儀らしい。 opam をインストール。

 $ cd ~/tmp
 $ mkdir bin
 $ curl -OL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh
 $ BINDIR=$HOME/tmp/bin sh install.sh

リモートホストの環境に合ったプレビルドが無いとエラーが出て install.sh ではインストールできず。

OCaml の前に遡って opam のビルドをする。

 $ cd ~/tmp
 $ curl -OL https://github.com/ocaml/opam/archive/2.0.7.tar.gz
 $ tar zxvf 2.0.7
 $ cd opam-2.0.7
 $ gmake cold CONFIGURE_ARGS="--prefix ~/tmp/opam"
 $ gmake cold-install

ビルドできた。opam を初期化する。

 $ PATH=$HOME/tmp/opam/bin:$PATH
 $ opam init

gpatch が無いとエラーで止まった。 patch へのシンボリックリンクで gpatch を作ってイケるかなと思ったけど今度は別のエラーで止まる。うーん。 opam で OCaml をインストールするのは断念。

OCaml のドキュメントを読んだら今まで通り configure して make も普通にできるじゃない。

 $ curl -OL https://github.com/ocaml/ocaml/archive/4.10.0.tar.gz
 $ tar zxvf 4.10.0.tar.gz
 $ cd ocaml-4.10.0
 $ ./configure --prefix $HOME/tmp
 $ gmake
 $ gmake install

次に Unison 2.51.3 をビルドする。出来上がったバイナリは今使っている Unison 2.48.3 と併用できるように別のディレクトリへ。

 $ cd ~/tmp
 $ curl -OL https://github.com/bcpierce00/unison/archive/v2.51.3.tar.gz
 $ tar zxvf v2.51.3.tar.gz
 $ cd unison-2.51.3
 $ PATH=$PATH:$HOME/tmp/bin
 $ gmake
 $ ./unison -version
 $ mkdir -p $HOME/local/unison-2.51.3/bin
 $ cp -a src/unison $HOME/local/unison-2.51.3/bin

サイト

[ 1月5日全て ]

2021年1月15日 (金)

2021年01月15日(金)の #nNote

情意評価(情意考課)

態度評価(態度考課)とも。

人事評価の一般的な評価項目

  • 情意評価
  • 能力評価・行動評価
  • 成果評価・業績評価

の中の1つ。

情意評価の一般的な評価項目:

  • 規律性 (勤怠を含む)
  • 積極性
  • 責任性
  • 協調性

[ 人事評価 ]

fswatch

https://github.com/emcrisostomo/fswatch

指定したファイル・ディレクトリの変更をモニタし、変更があれば変更イベント情報を標準出力に出力するプログラム。 macOS にも対応している。 Homebrew でインストールできる。

 $ brew install fswatch
[ 1月15日全て ]

2021年1月19日 (火)

Zettlr はテキストファイルノートアプリに適した Markdown エディタ

Zettelkasten メソッドのための機能を備えた Markdown エディタに Zettlr がある。ローカルディレクトリ上に通常の Markdown ファイルとしてデータを保存するタイプで、ロックインの心配が無く他のツールと併用できる好みのアプリだ。インストールして1日使ってみた。

インストール (macOS )

Homebrew では以下で。

 $ brew install --cask Zettlr

今日時点でインストールされるのが 1.8.3 でちょっと古かったので

からバイナリビルドされた 1.8.6 をダウンロードしてインストールした。

Markdown エディタとして

ヘッダを大きめに表示したりリンクの URL を隠したりと一部プリレンダリングされるタイプ。日本語も問題無さそう。

ファイル末のあたりで文字入力するとエディタがガクガク揺れるは今後改善されると嬉しい。

見出し単位で折り畳む機能やサイドバーで目次を表示する機能があり、長めの文章を書くための支援が揃っている。

ファイル管理

ファイルツリー上にディレクトリとファイルの両方を表示する Combined モード以外に、ファイルツリー(ディレクトリツリー)とファイルリストの両方を表示する Expanded モード、ファイルツリーとファイルリストのどちらかを表示する Thin モードがある。

Expanded モードを選ぶと iA WriterUlysses などでもお馴染みのスタイルになりノートアプリとして使いやすくなる。

ファイルシステム上のディレクトリをルートディレクトリとしたワークスペースを複数同時に開いておける。用途別にディレクトリを分けている場合に便利だ。

全文検索はワークスペース単位。内部リンクもワークスペース単位で機能する。 自分は複数のワークスペースを横断的に全文検索したいので、本格的に使うなら1つのディレクトリの下にまとめる必要があるな。

ファイルの拡張子は md ではなく txt でも OK なので、ファイルを同期した Google ドライブ上で全文検索させられるのが嬉しい(Markdown ファイルの拡張子を md にすると Google ドライブで不便)。 md 固定の Obisidian より柔軟だ。

Zettelkasten メソッドと内部リンク

Makrdown ファイルから Markdown ファイルへファイルベース名を指定して 「[[ファイルベース名]]」の形で内部リンクできる(パス名は不要)。

また Markdown ファイル内にユニークな ID を書いておき、その ID を指定して「[[ID]]」としてリンクもできる。後者を使えばファイル名変更が気軽にできる。 ID の形式やリンクの開始文字列 [[ ・終了文字列 ]] もカスタマイズできて柔軟なのも良い。

iA Writer では

 ia-writer://open?path=/Locations/path/to/file.txt

のような URL を発行して擬似的にリンクするさせるしかないので比べると圧倒的に便利。

1日使ってみて

今メインで使っている Mac アプリケーションiA Writer に比べると Electron ベースの Zettlr は美しさで負けるのは仕方ないところかな。

Zettlr をテキストファイルノートアプリとして内部リンクを活用しながらパーソナルナレッジベースを作っていくのありだな。

[ ノート・日記はテキストファイルに ]

[ 1月19日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。

#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。 それとは別に nNote にもちょっとしたノートがあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.059831s / load averages: 0.35, 0.30, 0.31
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker