備忘録 blog

Docker/Machine Learning/Linux

three.jsでテキストの向きをカメラに追従させる

Three.js で三次元の可視化を実装するときに、カメラ移動を実装して、様々な角度からその三次元データを見られるようにしたいと考えることがある。このときに必要なマウスドラッグやマウスホイールによるカメラ移動は、OrbitControls.js を使うと苦も無く実…

現時点での好きなLinux環境

自分の気に入っている、Linux環境上でのソフトウェア群をまとめてみた。 Desktop Environment KDE 重厚長大だが、充実した機能とカスタマイズ性が、どのKDEのバージョンでも維持されており、それがKDEの魅力でもある。Qt製で、Qtのバージョンアップに従ってK…

Google BigQuery の SQL文tips

Google BigQueryとはおおざっぱに言うと、大量のテーブルデータに対して高速にSQLを実行できるフルマネージドサービスである。主にアクセスログや、テーブルデータのように、十分に大きいデータソースを持っている企業にとっては安価で、すぐにSQLを実行する…

3Dで使われるオイラー角とクォータニオンとは何か?

tl;dr 3次元上の回転について調べたのでまとめる備忘録。 復習: 2次元の場合はどうだったか 2次元座標上で回転をどう定義するか、ということについては、ここでは詳説しない。 回転行列 オイラー角 複素数 これらの表現が、3次元上ではどうなるのかについて…

RailsとReactを統合する方法を考える

なぜReactを導入したくなるか 現代のWebアプリケーションの発ではしばしば、リッチなユーザエクスペリエンスを提供するためなど様々な理由で、クライアント側に(ウェブブラウザ上に)状態を持っておきたいという状況があります。例えばチェックボックスにチ…

MacのNotes.appで過って削除されたメモを復元する

tl;dr Notes.appを使っているとき、sqlite3の書き込みがエラーになったようで、クラウド上への同期もとっていなかったことでNotes.appのメモがあらかた消えてしまった。サルベージを試みた記録を遺しておく。 What I have done 元のファイルのありかを特定し…

ガベージコレクション(GC)

tl;dr ガベージコレクション(GC)についてサーベイしたので、メモを残す。 ガベージコレクションのアルゴリズムと実装作者: 中村成洋,相川光,竹内郁雄出版社/メーカー: 秀和システム発売日: 2010/03/17メディア: 単行本購入: 25人 クリック: 810回この商品…

UEFI環境下でのgrubでLinuxとWindows 10をデュアルブートする

Windowsでのブートの制約 Dual boot with Windows - ArchWiki 上記より、Windows 10ではUEFI-GPTあるいはBIOS-MBRの組合せでしかブート出来ません。ところで旧来のBIOSブートに比べてUEFIブートは高速であることが知られています。またMBRに比べてGPTでは基…

Rustの覚書

全体的に postd.cc https://japaric.github.io/discovery/ インストール rustを手元の環境に導入する方法として、rustc(rustコンパイラ)を直に入れるほかにrustupと呼ばれるツールチェーン管理用のソフトウェアを介してインストールする方法がある。これはni…

HaskellにおけるHTMLのテンプレートエンジンを調査する

HaskellはWebフレームワークだけでもYesod, Snap, Happstackといった重厚長大型のフレームワークに加え、軽量なもの/API向けのものでもSpock, Scotty, Servantなど乱立しているが、Template Engineとて例外ではない。Blaze-html, shakespeare, mustache, sta…

シェルコマンドでよく使う引数を書き留める

TL;DR シェルコマンドの中で、しばしば自分が使っていて便利な引数、毎回検索するも忘れてしまって前回打ったコマンドをback-i-searchで探そうとするも見つからなくて困るものなどを記す。 diff diff -y -B -b -i -W 200 -y : 結果を2行に表示 -W 200: 各行…

Haskellで参考にしたもの

Web Framework Scotty / Spock Rubyで言う所のSinatraのような軽量フレームワークのhaskell版。ScottyよりSpockの方が、waiに準拠している上に機能も充実していて良いらしい。 Spockの紹介記事は以下。 qiita.com ScottyをHerokuで動かしてみたサンプルアプ…

React-Nativeで便利なUIライブラリ

tl;dr React-NativeでiOSやAndroidのネイティブアプリを作る際、自分が使った中で便利だったUIに関するライブラリをいくつか紹介する。 探し方や導入方法など github.com ここにReact-nativeに関連する様々な情報がまとまっており、その中にライブラリも多数…

PRML 3.4-3.6 メモ

線形回帰モデルの流れ 3章では、に対して、 yと決定変数tの間に加えられるガウスノイズの精度パラメータとしてβ、モデルパラメータwの事前確率分布を期待値0の、分散の等方的ガウス分布としてαという2つのハイパーパラメータを導入している。ここで、ベイズ…

KerasでLSTMを使ってテスト駆動開発してみた

tl;dr Kerasという機械学習のフレームワークのサンプルにあるLSTMを使い、テストコードを生成して、それをもとにテスト駆動開発してみた。 Kerasを試してみる 以前、紹介記事を書いたのでそちらを参照していただけると幸いです。 sharply.hatenablog.com ま…

プロセスあたりのメモリ使用量を知りたい

tl;dr それぞれのプロセスがどのぐらいのメモリを使用しているかを知りたい。 コマンドで確認する システム全体のメモリ使用量を確認する cat /proc/meminfo linuxではデバイスもプロセスもファイルとして扱えるので、catできる。 MemTotal: 8073996 kB MemF…

KerasのサンプルでMLPを使って文の分類を試してみる

tl;dr Kerasに付属しているサンプルを使って、MLPで簡単な文書解析を試してみた。 Kerasを試してみる 前回、紹介記事を書いたのでそちらを参照していただけると幸いです。 sharply.hatenablog.com MLPで文を分類してみる 単純なパーセプトロンはニューラルネ…

Paxos, Raftなど分散合意プロトコルを概観する(2)

前回の記事 sharply.hatenablog.com 本稿ではRaft, Bitcoinの Proof of Work, Proof of Stakeそれぞれのアルゴリズムについて説明する。 分散合意プロトコル Raft 難解であったPaxosより簡単であることを標榜しているアルゴリズムで、そこまで多くないノード…

Paxos, Raftなど分散合意プロトコルを概観する(1)

tl;dr 分散合意プロトコルについてサーベイしたので、メモを残す。 2PC 3PC Paxos Raft(次回) Proof of Work(次回) Proof of Stake(次回) 分散システムについては素人の筆者が書いたため誤りが多いと思うので、できれば確認のため元論文を参照してもらいたい…

word2vecによる文章表現 / ディープラーニング所感

tl;dr Kerasを用いてDeepLearningをした上で得られた知見や、感じたことについて適当に列挙する。 Kerasについて sharply.hatenablog.com 以前に書いた。依然としてKerasはオススメである。 Optimizerについて ExampleではしばしばSGDを使っているが、上の図…

ownCloudのアプリを作る

php

tl;dr ownCloudはphp製のオープンソースオンラインストレージであり、社内Dropboxのようなものとして使えるが、プラグインのような形でAppを自作・追加することができます。このAppはHookやCronジョブのほか、ownCloud内にアプリ用のページを実装することも…

若者の生態を青春小説の系譜から探る

若者 は常に、良くも悪くも時代を象徴する存在であった。太陽族、竹の子族、ヒッピー、アッシー君……といった時代を象徴する文化や言葉には、背後に若者の大きな力があった。しかしながら、一億総中流と呼ばれた日本人が多様化をする中で、人口に対する若者の…

Wantedly SyncのGithub連携を試してみる

Wantedlyがリリースしている社内向けグループチャットツールSyncに、github連携できる機能がついたので早速試してみました。 github連携を有効にすると、プルリクなどを通知してくれるようになります。 方法 Syncにアクセスします。 Sync 左下の歯車のマーク…

ディープラーニングをKerasというフレームワーク上で行う

はじめに 機械学習、特にディープラーニングが近頃(といってもだいぶ前の話になりますが)盛んになっています。CaffeやChainerといったフレームワークもありますが、特にGoogleがTensorflowでtensorboardと呼ばれる簡単に使える可視化基盤を提供して有名に…

IBMのx10チュートリアルをやる

x10

tl;dr IBMのx10言語という、並列計算に向いた言語がある。言語仕様の詳細は省くが、scalaライクにオブジェクト指向で書ける言語の割に、MPIほど面倒なことを書かなくてもネイティブなC/C++のコードを吐いてくれるので速度が出るというありがたい言語である。…

Gentoo Linuxにxmonadを導入する

動機 Gentoo Linuxではコンパイルに時間がかかるので、大規模なデスクトップ環境を構築しようとするとすごい時間がかかる。 当方はGNOME派だが、恐らくGNOMEやKDEを入れるのは骨が折れるだろう。コテコテのデスクトップ環境を構築するのもそれはそれで一興だ…

Gentoo Linuxでうどんワールドする

tl;dr Gentoo LinuxでPortageを使う際、 # emerge --uDNva @world をしたときに大量に循環依存やエラーメッセージが出た場合の対処策。 まずはメッセージを読む $ man emerge emergeコマンドの説明(できれば英語版のようがよい)を読みながら、出力の意味を…

Gentoo Linuxでtestingブランチを使わないことにする

tl;dr AMD64環境のGentoo LinuxにXmonadを入れるときに、一部のdev-haskellパッケージのUSEフラグで~amd64を追加するように指示された。 /etc/package/make.confにACCEPT_KEYWORDS="~amd64"と指定してうどんワールド *1 してしまったせいで、次の日から大量…

Gentoo Linuxをインストールする

パーティション設定 * sda2 128M part /boot ext2 * sda3 論理パーティション * sda5 8G swap * sda6 96.8G part / btrfs メモリを2GBしか積んでいないので、コンパイル時にSwap領域を使うかと思って8GBぐらい確保しておいた。 btrfsが死なないことを祈る。 …

Dockerでサーバーを立てる(2)

それでは実際に、Docker-composeでRailsアプリを立てるところまでやってみたいと思う。 構成 今回のdocker-compose構成は以下である。 nginx(Arch linux) app(rails - puma) data(busybox) supervisordで1つのコンテナに全て立てるのはやはりdockerの原則に…