Baruch Berger

software engineer

https://github.com/bbss
baruchberger@gmail.com

some of my work

korean.tools

A work in progress that I've been using to help me study Korean. I started turning it into an app because I think others might like the tool!

ClojureClojureScriptxtdbfulcro
Great client-server story
State-machines in UI where logic isn't trivial
Inspectable normalized data on front-end
Form-state makes server mutations minimal and unintrusive
Intuitive data resolution from many datasources
Fancy neuralnet tech for content and Korean grammar analysis

aircraft-noise.org

Supporting researchers in visualizing models of aircraft noise pollution. Building visualizations and supporting tools.

ClojureClojureScriptpostgreskafka
Making use of the great vis.gl GIS tool suite.
Worked with Uber vis.gl team to squeeze out performance.
Using WebWorkers for data fetching & processing.
Keeping UI thread as yank-free as possible.
Use WebSockets and defined TypedArray layouts for optimal data transfer and display.
Use kafka for backfilling real-time flights.

CLJSC2

Wrote an

open source Clojure library

to the StarCraft II AI API.


When DeepMind beat the legendary Lee Sedol (이세돌) in the old Asian game of Go they announced maybe tackling StarCraft next, I got very excited..

When Blizzard announced their cooperation and AI API I knew I wanted to hook up my favorite programming language to experiment with it.


Around the time I finished my first experiments I got an invite to a workshop with StarCraft II developers and DeepMind researchers!

Super lucky to meet a lot of smart people and talk about these awesome topics.

Runs multiple instances of SC2 games.
Interactive control of SC2 via Clojure REPL.
Wraps full API for low level control.
Data-based api with game-state query capabilities for higher level control.
Parses API EBNF context free grammar file to generate Clojure specs.
Datalog version of gamestate, and higher level rules to start playing the game.
Integrated clojure and cljsc2 into Jupyter Notebook for interactive studies.

data.worldbank.org

Built the mobile-first SPA for the Open Data platform of the World Bank.

The Open Data platform has a lot of datasets of yearly indicators for all countries in the world.

The datasets are explorable in a bunch of ways and can be mixed and visualized to the user's liking.

JavaScriptnode.jsJavaScriptfalcorJSredis
Used by millions of people!
Early adopter of ReactJS Redux pattern.
Wraps datasets with a falcorJS data resolution system:
Easy fetching, caching, batching for slow devices.
D3.js for custom graphs + intuitive touch interactions.