The First Cry of Atom Today is the first day of the rest of my life.

Internal deeplearnjs - math

deeplearnjs is a new deep learning framework running on browser accelerated by WebGL hardware acceleration as I introduced before in this post. I was interested in the library from the beginning and submitted some patches including new optimizer implementations. I learned some internal codebase of the library during this process. So I want to ex... Read more

Babel add-module-exports

I’m now trying to convert td-client-node codebase to ES6. treasure-data/td-client-node #21 Since ES6 provides us bunch of useful features and syntax which are not available in ES5. But nodejs (and backend V8) does not support full functionalities of ES6. You can check the overview of supported ECMAScript features by nodejs in this website.... Read more

An efficient bandit algorithm for real-time multivariate optimization

KDD ‘17で、Audience Appreciation Awardにも選ばれていた”An efficient bandit algorithm for real-time multivariate optimization”という論文を読みました。 Amazonがコンバージョンを上げるためにいわゆるA/Bテストをいかに効率よく行うかという問題をMulti-armed banditの手法で解いたというものです。例えばあるECサイトのウェブページがあったとします。 このページにはコンポーネント5つあり、それぞれ取りうるパターンが決まっています。ボタンは赤か青、画像は3パターンが用意されているといった具合に。この時すべてのパターンをテストするには48パターン(=2☓2☓3☓2☓2... Read more

Moved to Sublime Text3

I usually use two text editors or IDE. One is IntelliJ IDEA for developing Java and Scala project mainly. My day work focus on writing Java or Scala so IntelliJ IDEA is the best environment I’ve ever used. I’ve used it for more than 3 years. The only pain point of IntelliJ IDEA is the time to launch. It usually takes about 30 seconds to be rea... Read more

Using Puppeteer in TypeScript

Finally DefinitelyTyped provides the type definition of Puppeteer. @types/puppeteer Puppeteer is a node API for headless Chrome. It is easy to use and provides intuitive API. For example, here is a example in getting started. import * as puppeteer from 'puppeteer'; (async () => { const browser = await puppeteer.launch(); const pag... Read more