2017年2月10日金曜日

bash_profile

ログイン時には~/.bash_profileが呼ばれる。 ちぃ覚えた

2016年7月10日日曜日

Quick Tab Switch

Chromeの拡張に、現在開いているタブをショートカットで行き来できる拡張があります。

Chrome store
QuicktabSwitch
これを文字列でfilterできるようにしました。
new feature
文字列をタイプするようになったためタブに飛ぶ時のコマンドをCtrl + <表示されているアルファベット>という仕様に変更したためPRを出すのはやめときますが、個人的に使いやすいためこのままにしておこうかなと思っています。
ちなみに、Chrome storeでquick tab的な文字列で検索すると山ほど類似拡張出てきて悲しい思いをしていることは秘密だ。
追記:これ 割と自分が想像している通りの挙動をしていてワロタwwwわろた・・・

2015年1月31日土曜日

第1回 プログラマのための数学勉強会

今週末プログラマのための数学勉強会に参加した。 内容としてはこんな感じだった。
  • 線形代数(アフィン変換とか)Slideshare
  • 素数の話
  • 4次元の話(ベクトルの話)
  • AutoEncoderの話
  • バックトラック法の話 SlideShare
今週中に復習したい。特に一番最初のアフィン変換の話とバックトラック法の話。

学生の時は画像処理を研究していたので、NNとかバックプロパゲーションとか特徴量抽出とかは一応おぼろげながら理解していたんだが、そもそもDeepLearningってなんだ 見たいな説明があんまなくて今一分からなかった。

正直NNの具体的な数式やらよりも現在画像認識の研究の状況をはさんでもらえると良かったのだが...。
調べるとDeepLearning自体2012頃出てきた概念だそうな。

素数と4次元の話はもはやよくわからない世界観になっていたので聞いていて面白かったのだが控えにも今後の仕事に関わる事はないだろうな。

とりあえず一番ダイレクトに仕事に関わりそうなアルゴリズム的な話と平易な線形代数位理解しておきたいのでこの辺りをしばらく勉強したいと思う。

バックトラッキング法についてはQiitaにソースがあるみたいな事言ってたけど、確認できず。

2014年11月24日月曜日

[github]fork元からcommitをマージする方法

メモ。
github上でforkしたリポジトリで動いているときにfork元に何らかのcommitがあった場合のmerge方法
git remote add upstream https://fork元のurl
git fetch upstream
こうすると新しくブランチが作成されるのでそれに対してmergeを行えば良い
作業ディレクトリに移動して以下のコマンドでmerge
git merge upstream/repository名
参考公式ページ
fork-a-repo
syncing-a-repo

2014年10月25日土曜日

gradleハンズオン

仕事柄結構gradleのお世話になっているためGradleハンズオン - G*ワークショップZ に参加。 アジェンダとしてはこんな感じ
  • Gradle 2.1動向
  • plugin ポータルを公式ではじめました。
  • plugin script blockにより3rd partyのpluginの使用が簡単に
  • インクリメンタルビルドはじめました。
  • ハンズオン
  • タスクの使い方
  • カスタムプラグインの実装
  • TL
  • gradle 2.2 最新動向
  • oss開発者としての薦め
インクリメンタルビルドは非常にありがたい。これだけでも2.1にアップデートする価値があるかもしれん。(デフォルトではオフ)
allprojects {
  tasks.withType(javaCompile) {
    options.incremental = true;
  }
}
これで有効になるっぽい
pluginポータルと3rd partyのプラグインが使いやすくなる点に関しては将来に期待
カスタムプラグインについてはカスタムプラグインの作成 にほぼ書かれている内容っぽいかな?
gradle publishToMavenLocal
で~/.m2/にpushlishできてmavenLocal()を使って自作pluginをapplyできるようになるっぽい。
色々面倒ならbuild.graldeのそのままpluginを実装するとクラスパスとか気にしなくていい感じ。
なんか面白いネタを見つけたらちょっと作ってみよう。
gradle 2.2でちょっと気になったのはcross-platformの対応が便利になったっぽい?みたいな内容があるらしい。
何?Makefileリプレース出来るの?

クロージャって何じゃ←論外

ちょっと調べてみるとコールバック関数とか関数ポインタっぽい。
ただコンテキストも保持できるので今までの非同期処理周りのコールバック関数より 直感的に使いやすそう。
こんな機会でも無いと中々最新技術とか調べないから、良い機会なったし割と初心者向けだったので自分でもついていけた。
同じような機会があればまた参加したい。

2014年9月30日火曜日

[emacs][ssh][tramp] trampを使ってremote host上でsudo状態でファイルを開く方法。

鯖といじってると特定のユーザにsudo権限を与えてrootのパスとか知らんとかポリシー上よくある。
例でいうとこんな感じ
ssh test@remotehost
test@remotehost ~/ $ sudo su
root@remotehost /home/test #
localからemacsでremoteのファイルを色々弄りたいとか、鯖管をしたいとか言うと結構面倒 なんとかemacs + trampでsudo状態でファイルを開けないかなと調べてたら見つかったので覚書 ファイルオープン
C-x C-f /ssh:you@remotehost|sudo:remotehost:/path/to/file RET
ちなこれもいける shell
M-x /ssh:you@remotehost|sudo:remotehost:/path/to/file RET
ちなみに内容はそのまま公式にありました。

2014年9月29日月曜日

[emacs][evernote] emacs-evernote-mode

エディタにemacsを使っていてなおかつevernoteを多用している人は結構いるのでは無いだろうか。いやいるに決まっている(反語)。
結構そういう人は
emacs-evernote-mode
を見つけたのでは無いのだろうか。 emacsのevernote-pluginである。 上のリンクが公式っぽいがもはや公式の開発は2011年にリリースされたver 0.41でストップしている。
且つ公式の最新はevernote側のoauthの実装などの変更がありそのままでは使えなくなっている。
ただ,github上ではいくつかforkされているリポジトリが存在しており一番最新で使えるリポジトリは
pymander/evernote-mode
かな。
基本的にREADME.mdを見てもらえばわかると思うがインストールするときに重要なのは2点で
  • evernote Developer Tokenの入力
  • evernote_oauth gemのインストール
これと加えて最近issueとして
Opening existing notes, searching and note browsing fails - undefined method `to_sym' for nil:NilClass
が私の環境でも 発生したので、ちょっと修正してみた。
i-takuya/evernote-mode
は私がforkして修正を入れたevernote-modeのリポジトリである。同じ問題が起きているなら使ってもらいたいと思う。俺の環境では動いた。(結構雑な修正なんで保証はしない)
ダメだったらissueないし、pull requestを送ってもらえるととりあえず見ようとは思う。(修正できるとは言っていない)