春なのでEmacsを卒業してAtomに入学しました。
Emacsに飽きたわけでも、嫌いになったわけでもないけど、新しい刺激が欲しくてたまらんくなったので、メインのエディタをAtomに乗り換えました。
はじめはストレスを感じるかと思いきや、Emacsのキーバインドと一部のコマンドを実装したatomic-emacs パッケージのできがよく、個人的には、ほぼこれだけで日常的に使えるようになってしまった。
その後、本格的に使いはじめて早数ヶ月、設定はもちろん、様々なパッケージを試したり、PRを送ったり、自分でパッケージを作ったりなどした結果、十分満足のいくレベルで使えるようになりました。
Atomの良い点
Atomの微妙な点
- Coffee、悪くないけど、すぐ忘れる
- Chrome に次いでメモリを奪う
- 2メガまでのファイルしか開けない。でも、あと数週で解決するかもしれない atom/atom #307
This editor is a toy, if it can't handle large files. I'll be watching to see if Atom matures in this area.
のコメントがうける。
インストールしたパッケージ
実際にインストールしているパッケージ(~/.atom/packages で ls したもの)に一言コメントを入れて紹介します。
- Sublime-Style-Column-Selection Alt 押しながら選択するとカーソルが増やせる
- asciidoc-preview AsciiDocをプレビュー
- atom-alignment alingを
- atom-color-highlight カラーコードを背景色に
- atom-ctags ctagsを利用した補完など
- atom-html-preview htmlをプレビュー
- atom-live-grammar-reload Atom開発用
- atom-pair ネットワーク越しに別のAtomで同じバッファを参照して編集できるペアプロ用
- atom-rails Rails MVC 移動
- atomatigit magit の Atom 版。がんばってる。
- atomic-emacs Emacsのキーバインドなど
- autocomplete-emojis 補完候補に絵文字を追加
- autocomplete-paths 補完候補にパスを追加
- autocomplete-plus 補完をサジェスト表示
- autocomplete-snippets 補完候補にスニペットを追加
- block-cursor カーソルの見た目を変更する
- build ビルドツールとの連携
- circle-ci Circle CI のステータス表示
- color-picker カラピッカーが使える
- command-logger コマンドのログを取る
- editor-stats 文字入力のログを取る
- emmet Emmet には馴染めなかった
- file-icons タブとかのアイコンを拡張
- gist-it Gist にポストできる
- git-blame git blameを表示
- git-control Git フロントエンド。がんばってる
- git-grep git grep を Atom で
- git-history git のコミットログをバッファに表示する
- git-log git log ビューワ
- git-plus Git コマンドをAtomで叩く
- git-projects Git プロジェクトをAtomで開く。便利
- git-tab-status git status でタブを色付け
- github-issues Git issues ビューワ
- gitter gitter を Atom で
- html-entities HTMLとエンティティを相互変換
- japanese-wrap 日本語のSoft Wrapをまともに
- jumpy バッファ内をジャンプできるアレ
- language-asciidoc AsciiDoc用シンタックス
- language-lisp Lisp用シンタックス
- language-r R用シンタックス
- language-review Re:VIEW用シンタックス
- linter 様々な lint を使うためのAPIを提供
- linter-csslint csslint
- linter-eslint eslint
- linter-flow flow で lint
- linter-jshint jshint
- linter-jsonlint jsonlint
- linter-jsxhint jsxlint
- linter-less less で lint
- linter-perl perl で lint
- linter-php php で lint
- linter-rubocop rubocop で lint
- linter-ruby ruby で lint
- live-archive 履歴を強化してくれるが、使いこなせてない
- man man ビューワ
- markdown-pdf MarkdownをPDFに出力する
- merge-conflicts コンフリクトしたときの編集支援
- minimap ミニマップ(minimap-git-diff)のためだけに使ってる
- minimap-color-highlight ミニマップに色付け
- minimap-find-and-replace ミニマップに検索ハイライト
- minimap-git-diff ミニマップに diff の色付け。超便利
- monokai テーマ
- pdf-view PDFビューワ
- preview Coffee とか LESS をコンパイルしてプレビューできる
- project-manager git-projects でお役御免した
- rails-navigation Rails MVC 移動系
- rails-rspec Rail MVC 移動系
- rails-snippets Rals 用スニペットを追加
- rails-transporter Rail MVC 移動系
- react React(JSX)のシンタックス対応など
- recent-files git-projects でお役御免した
- redpen RedPen をバッファにかける
- regex-railroad-diagram Regex をダイアグラムで表示する
- rst-preview Rst のプレビュー
- run-command Atom でシェルコマンドを実行
- script バッファを実行
- seti-syntax テーマ
- seti-ui テーマ
- symbol-gen ctags コマンドでタグファイルを生成
- symbols-tree-view symbols-view を使ったツリービュー
- term2 いわゆるターミナルエミュレーター
- test-status テストを自動実行
- travis-ci-status Travis CI のステータスを表示
- video-player Atomで動画再生
- web-view ウェブページを表示
- webview-pane バッファをブラウザで表示
- wordcount 文字数などのカウントをステータスバーに表示
あと、未公開(ライセンスやパッケージ名などに問題がある)の自作のパッケージがあって、それは次のような感じです。問題が解決したらいつか公開するかも。
今日はエイプリルフールです。
今日はエイプリルフールですね。
エディタ不問!ラングリッチで一緒に働いてくれるエンジニアを超募集。
お久しぶりです。この1ヶ月、フィリピンでは地震あり、台風ありと、厳しい天災に見舞われ、僕もこの1ヶ月で2度ほどセブへ足を運びましたが、幸いにも大きな被害はなく無事に営業を続けることができております。
色々とご心配していただいた方々、お心遣い誠にありがとうございました。ただ、近隣の島々では、非常に根深い被害がありますので、フィリピンに会社を持つ我々として、何かできることを考えていきたいと思っております。
次期開発に向けてエンジニアを募集。
さてさて、ラングリッチも去年の夏に東京オフィスを構えてから、早いもので1年が経過しましたが、お陰様で無事に営業を続けております。
そんな中、秋頃から新しい事業もスタートし、来年に向けて開発がなお活発になるため、ここらで僕らと一緒に開発をしてくれるエンジニアを募集したいと思います。
というわけで、まずは会社の特徴を紹介します。
ラングリッチは『オンライン英会話』の会社です。
既にこのブログを読んでくれている大抵の人はご存知かと思いますが、ラングリッチは、オンライン英会話というフィリピン人講師による英会話レッスンを提供する会社です。
当然ですが、フィリピンにオフィスがあり、そこでは数百人の講師が在籍し、日本のご家庭に英会話レッスンをお届けしています。
詳しくはウェブサイトをご覧下さい。
ラングリッチは『コードの書けるアントレプレナー』の会社です。
たまたま、コードの書けるアントレプレナーはどこにいる — Mediumという記事を見たので書きますが、ラングリッチは僕が代表を務める会社です。
僕はまぁ、スーパーハカーというわけではありませんが、Emacs実践入門という書籍を書くくらいには、開発することができます。
まぁ、社内には既に僕よりコードが書ける人達がいるので、最近ではコードを書く量が減ってきましたが、元々は僕が全てのコードに手を入れて作ったサービスです。なので、エンジニアというか技術への理解力は確かです。
余談ですが、現在発売中の Software Design 11月号のEmacs特集で、『Web開発の舞台裏とEmacs』という記事を書きました(詳しくは目次を参照)。
僕と会社について興味がでた人は、私が今、ぜひとも採用したい人:伊賀泰代×大竹智也【第1回】 | 語った | ジレンマ+ の対談もどうぞ。
ラングリッチは『Emacs スペシャリストの在籍する』会社です。
なぜだかわかりませんが、ラングリッチのエンジニアはみなEmacsを使っています。
そして、その中には僕のEmacsの師匠でもある elim さんが在籍していたり、Emacs力が非常に高い会社となっています。ただ、本番環境では Emacs を禁止されてしまったので、内心ちょっぴり悲しかったのはここだけのナイショの話です。
というわで、Vim のスペシャリストの方が、ぜひ弊社に入社してブイブイ言わせてくれることを切に願っています。
もちろん、これからはST2ですよという尖った方も大歓迎です。
ラングリッチは『Github と Pull Request ベース開発』の会社です。
ラングリッチでは、伊藤直也さんの記事、Webサービス開発現場から / 近頃の開発のやり方 ・・・ Github と Pull Request とコードレビュー - naoyaのはてなダイアリーで書かれている、Github を使った Pull Request ベースの開発フローを採用している会社です。
まぁ、最近の会社では珍しいことではないかもしれませんが一応。
他には社内のチャットツールとしてはChatWork、ファイル共有には Google Drive、Dropbox などのサービスを使っています。
募集要項。
さて、一通り会社の紹介が終ったところで、募集要項をば。
ひとまずスキルを列挙すると以下のような感じです。
というところが必須で、あると良いのが、
- MySQL, Nginx の利用経験。
- HTML, CSS の基礎知識。
- JavaScript(CoffeeScript)の基礎知識。
- Grunt の基礎知識。
- Puppet の基礎知識。
などなど。
WebRTC でアプリ作りたい方歓迎。
もし、WebRTC に凄い興味があって、業務でアプリを作ってみたいという方も大歓迎です。
1年以上前から僕は『これからは WebRTC が熱い!』と言い続けているのですが、なかなか本腰を入れて調べる余力がないので、WebRTC でSkypeエンハンスなアプリを書きたいという人はぜひお声掛け下さい。
ブログでよく見る人はまじ凄い。
昨日、ブログについて書いたので、続けてブログ関係でもう一本。
ウェブエンジニア界隈でブログが有名な人は、本当に凄い人が多いという話。
ウェブエンジニアというのは、なかなか実力がはっきりしているお厳しい世界で、出来る人は何でもできるし、出来ない人は何もできなかったりします。総じて、出来る人は、広くて深い。
教育を織り込んだ新卒はさておき、中途採用の場合は、当然ながら出来る人を採用したいものです。
ウェブ履歴書説。
で、採用の歳は、面接やら試験やらを行って、出来るか出来ないかを判断するわけですが、よくある話しとして、ウェブエンジニアの場合、ブログが履歴書という概念があり、一般的な職務経歴書より、ブログを読んだ方がてっとり早く能力を判定できるという説があります。
この説は、いまではブログに特化したものではなく、総じてウェブ上の活動、例えばGithubを使っていれば、それを見れば、どんなコードを書いて、どんなコミットログを書くのか一目瞭然で、なんか丸裸にできるというものです。
試験の瞬発力も大事かもしれませんが、積み上げてきたもので評価した方が、ぶれがなくて採用という意味では安全のような気がしますし、結局、普段の行ないが、その人の能力だと言えなくもありません。
ブログでよく見る人はまじ凄い。
で、ここからが本題なのですが、ブログ界で有名な人は、その活動履歴も立派であることが多く、僕なんかだと「いつまで経っても追いつけないよ、こいつら」と思ったりするのですが、そんな凄い人と接する機会が増えてきたあるとき、とある事実に気付きました。
それが、ブログでよく見る人はまじ凄いという事実です。
どういうことかというと、ブログでよく見るエアーマンのように倒せない凄い人というのは、本当にまじ凄い人である可能性が高く、それは、本当に業界全体でも一握りだということです。
ウェブ業界だと、雑誌や書籍などで執筆している人と普通に接することができるのですが、やっぱりそういう人はマジパないので、別に自分が彼らに僕が届かなくても仕方ないという開き直りと、逆に採用する立場であるならば、そういうった人、つまりブログで良く見る人を採用するのが正解だと思うという2つの話です。
ウェブに触れ初めた10年前から、雲の上の人達にいつまで経っても追い付けないという焦りが常につきまとっているのですが、逆に、これから業界に入る人に対して、僕と同じ思いを味あわせてやらなければならないと思う次第です。
29歳、なぜブログを書くのか。
最近は絶賛月1、2回の更新しかしていなかったブログですが、先日木達さんにお会いしたときにブログを書いていないことを指摘されたのを良い切っ掛けに、気持ちを切り替えて、先週から1週間ほど、ほぼ毎日1本ペースで記事を更新してきました。
お陰様で、だんだんペースが戻ってきて、書くスピードと自分の文調も取り戻してきました。
そんな中、件の婚活エントリは、なかなかの注目を集め、さっそくブログの面白さを久しぶりに感じることができたわけですが、何となく、ここで何故ブログを書くのかを29歳のいまの気持ちで整理しておきたいと思います。
1. 存在証明。
いまでもブログを書く一番の理由は、自分の存在を証明するためだと思います。
ただ、別にブログを書かなければ、自分が存在できないという訳でもなく、現実の自分は確かに存在していて、充分に自己独立を保っています。
それでは、何の存在を証明したいのかというと、ウェブ上に広かる無限インターネッツ空間における自分です。そこでも、自分は確かに存在していて、多くの人と共に生きており、普段なかなか会ったりすることができない人や、まだ直接会ったことのない人に向けて、自分という人間の存在証明を発信し続けているのです。
それを怠ると、自分は存在しないも同然となってしまうし、逆に存在をアピールしておけば、なかなか会うことができない人であっても、自分を強く認識してもらうことができます。むしろ後者が自分の中で、超絶重要だということに、最近改めて気づきました。
僕は、ブログを書くとき、いつも誰かの顔を思い浮かべながら書いていて、あの人に届いたら嬉しいな、あの人にも届くかな?と思っているのですが、つまるところ、上記の理由によるところのようです。
2. 文章の練習。
僕が Twitter や Facebook ではなく、いまだブログを愛す理由は昔にも書いたので、愛情論とは別のところで考えを出すとするならば、一種の文章の練習の場として、利用している節があります。
別に本を書くとか、そういう事は一切関係なく(だって、ブログが面白いのと面白い話が書けるのは別だと思うし)、ただただ純粋に単純に面白い文章を書きたいだけ、又、書けるようになりたいだけ。そのための格好の練習の場が自分のブログだと思っています。
将来的に、ここで培った文調を活かして、小説を書きたいなと思っています。
3. 会いたいと思われる人になるため。
最後に、これはもう超絶思い付きなんだけれども、例えばブログ書きとして僕がとても尊敬する刺身☆ブーメランさんという人物がいるのですが、最近の記事を見て、「うわぁ、かっけーなぁ。会いてぇなぁ」と、ふと思いました。
要するに、良い記事(別に綺麗という意味ではなく、僕にとって良いという意味です)を書いていると、当然ながら会ってみたいと思われるようになるんじゃないかと思ったわけです。なので、僕もせっかくだから会ってみたいと思われるような人になるために、ブログを書くというのは、なかなか良い志だなと思いはじめました。
とはいうものの、僕は世間一般的に、クリーンなエントリを書いた後、世間一般的に酷いエントリを書くようを心掛けているので、正直難しいのではないかとも感じています。
20歳前後であれば、有名になるとかもっと野心的な気持ちが強かったのですが、29歳ともなれば、結構落ち着いてくるようです。
そんなわけで、これからもできるだけサボらず、毎日更新できるよう頑張っていきましょう。
Opera Mail は SSD で最強になった。
Opera Mail について書こうと思っていたら、Opera は Presto から Webkit、そして Blink になってしまわれたのですが、Opera Mail はスタンドアロンアプリケーションとして生き残ってくれて本当に嬉しかったです。
で、ちょうど1年前くらいに、MacBook の Retina モデルを購入したことで、初のSSD体験を果たしたのですが、その最も大きな恩恵が実は Opera Mail が爆速になったということでした。
Opera Mail をなぜ使い続けているのかというと、答えはひとつしかなく、全てのメールアカウントを対象にして串刺し全文検索できるからです。
なのですが、これが僕の環境(メールボックスの容量は4GBくらい)だと、HDD 時代は次第に遅くなってきて、起動時にメールDBの読み込みに5分以上かかってたのではないかというくらいに遅くなってしまっていました。
いくら、オフライン環境でもメールが全文検索できるとはいえ、検索ボックスに入力しただけで固まるようでは、正直使いものにならず、そろそろ見切りをつけてウェブメーラーに移行しようかなと思っていたのですが、SSDになると、それまでの重さが嘘のように消えさり、最強メーラーに舞い戻ってくれたというわけです。
Gmail を開いて検索ボックスに入力して結果が表示されるまでに5秒はかかるだろうが、Opera Mail だと、2秒を切る。そして、アカウントを切り替えなくていい。一度、この快適さを味わうと、ウェブメーラーには移行できないのだ。
いまや、Opera Mail はスタンドアロンアプリとなりましたが、これはこれで、慣れれば使いやすく、まだ Opera 本体は12からアップデートしていないのですが、そろそろアップデートしても良いのかなかと思ってきています。
まぁ、いまさらメーラーなんてと思っている人は多いかもしれませんが、個人的にネットに繋がっていない環境でもメール全文が見れるというのは精神的にとても安定を感じています。
今後、更新されるのかは謎ですが、まあ、動作も安定しているのであと5年くらいは戦えそうです。
shell-command の環境変数は Emacs から制御できない。
環境変数関係で、ちょっとはまったのでメモ。
Emacsには、exec-path という変数があって、環境変数PATHみたいな役割をしており、Emacsから call-process とかでコマンドを実行するときは、この中のパスから検索する仕組みとなっている。
shell-command の方は、こちらはコマンドがシェルに直接渡されるため、自分のデフォルトのシェルの環境変数を見るようになっている。即ち、exec-path は関係ない。
で、問題は、このシェルの環境変数について。
zsh を利用している場合、.zshenv は読んでくれるが .zshrc は読まない。
なんとなく聞いたことがあったけど、普段弄らないからほぼ忘れており、なぜか、perlbrew の環境変数だけ shell-command に反映されなくて困っていたら、source $HOME/perl5/perlbrew/etc/bashrc
という設定だけ、なぜか .zshrc に書かれていて、shell-command で読み込まれずに、悶々としていた。
ポイントを纏めると、
- call-process は exec-path を使う。
- shell-command は exec-path を見ない。
- shell-command は .zshenv を読む(zsh の場合)。
- shell-command は .zshrc は読まない(zsh の場合)。
- setenv で PATH を追加しても shell-command には関係ない。
という感じ。基本、うまく動いているときは、一切いじることもないし、気にも止めない設定だけに、嵌ると結構原因が分からず難儀しました。
婚活記事の後始末。
さて、先日の婚活パーティー記事の燃料もそろそろ燃え尽きてきたようでなので、ここらで後始末をしたいと思います。
記事単体のアクセスは2日間で約28000PV。
アクセス数は、誰でも見れるようにしているので、興味のある人は自由にご覧いただければと思いますが、Google Analytics によると、2日間の記事単体のアクセスは約28000PV、UUも25000ほどとなりました。
1本の記事で稼いだ当日アクセス数としては、僕の記憶の中では、おそらく過去最高だと思います。
これくらいのアクセス数をコンスタントに1ヶ月続けても、100万PVに届きそうになく、100万PVの偉大さを知りました。200万PVとかどんだけなんや。
300ブックマークは想定範囲だったが、アクセス数は想定外。
今回、これまでと一番違った点(自分でも想定外だった点)は、はてブの数に比べてPVが異常に多かったという事です。
最初に記事を書くときは、暖めていたネタなので100ブクマ越えを狙うくらいを目標で書いて、記事を公開して2時間くらいの様子で、「これは300ブクマくらい行くな」と思いました。
で、寝て起きたらちょうど300超えたところで、予想通りといったところだったのですが、アクセス数がこれまでの感覚と比べて異常に多い。
過去の経験上、1000ブクマの記事ですら、2日間で15000PVくらいだったんですが、はてブ数は3分の1で、PVは倍ときたので、驚いたというか、へぇっと感心したわけです。
PV の増えた理由はおそらく2つ。
ひとつは、Twitter の影響。拡散しやすい面と、ネタの種類的ににTwitterユーザーに好まれる感じだったくらいの理由がパッと思い浮かぶ。
ふたつめは、スマートフォンの普及。2011年の記事だと、PCとモバイルの比率は2:1のようだが、ちょうど約2年経った2013年では3:2となっていた。表示領域の狭い携帯だと、ますますタイトルの重要度が上がりそうですね。
記事の反応について。
ネタと分かる人はさておき、マジレスするエンターテイナーの人の反応を見ると、およそ以下の2つに分類されるようです。
- 煙草に対する嫌悪系コメント
- 見下してる系コメント
まぁ、煙草に関しては、世の中的に絶対弱者というか絶対悪みたいになっているので、無差別に叩きやすい。煙草がだめって言ってるのにも関わらず、煙草だめに決まってるだろみたいな感じで追撃してくる神経には恐れいる。そもそも、僕は煙草苦手な人の前では、吸わないし。
しかし、煙草については、嫌煙家の薮蛇は勘弁なので、これ以上言わない。
見下してる系については、謙遜を美徳とする日本文化と、とりあえず調子乗ってる人は叩いとけみたいな感じで、他のコメントにもあるがお前の方が見下してね?的なブーメランでとても微笑ましい。感覚としては、学校とかで、自分で自分のことできる奴って言うと、妬まれたり疎まれたりするみたいな。
でも、こういうコメントする人って、基本、面と向かっては、絶対に言わないタイプが多いので、そういう人については純粋にむかつきます。
痛いコメント紹介コーナー。
なお、以下の内容は、あくまで記事に寄せられたコメントに対する意見であり、人物を攻撃するものではありませんので、誤解なきようお気をつけ下さい。
さっそく、適当に選ばれた痛いコメントナンバー1番は、id:neogratche さん。88888〜
男女構わず触れてるBLによってにわか認定し、あまつさえ「自分だけオタっぽくない普通寄り」とか実質他参加者をキモオタと見下してる辺り、なるほど誰も近づかない訳だと
日本語がちょっとおかしくて何言ってるのか分からないコメントで恐縮なんですが、まぁ、痛いコメントというのは、えてしてそういう雰囲気があります。
部分部分で痛いところを上げていくと、まず、「にわか」なんて記事で一言も言ってないという事実。
なお、にわか認定という、言葉の正確な意味が分からなかったので調べたのですが、どうやら「経験が浅い」という意味のスラングのようです。
で、実際問題、自分の周りの人よりレベルが低いっていうと、それ即ちにわか認定なのでしょうか?周囲と比較するだけで、見下しているように捉えられるのであれば、例えば、プロがアマに対して周りよりレベル低いって言っても見下しとなってしまいますね。
あと、読解力が足りない人がいたので注釈しておくと、中村明日美子の下りは、男性が知らないということをばかなと言ったのだ。女性みんな知ってましたしね。
次に、「実質他参加者をキモオタと見下して」のところ、いやいや、キモオタは俺だと言ってるし。
そもそもオタクっていうと、見下すことになるのでしょうか?普通の方が上なの?優劣あったんだ。それこそオタクを見下してない?僕はオタクっぽいって言われたら嬉しいんだけど。
そんな感じで、他者を見下してるの良くないと言いつつ、このコメント自体がオタクを見下しているという非常に残念で痛いコメントでした〜。
ご紹介した neogratche さんは Twitter もされているようなので、みなさん、ぜひこれからも応援してあげましょう!
と書いたところで、書くのが疲れてきたので、痛いコメント紹介コーナーはこれで終わりにします。ナイス痛コメありがとうございました!