HN user

adadabase

1 karma

I'm building a highly parallel, horizontally scalable, and really rather fast graph database.

Posts0
Comments4
View on HN
No posts found.

Mimoto | Remote (US Citizens Only) | Full-time | https://mimoto.ai

Mimoto identifies active cyberattacks so our customers can react in real-time BEFORE an attack impacts their business.

We hiring four engineering roles: https://jobs.lever.co/mimoto

Data Scientist: https://jobs.lever.co/mimoto/d46cb5bc-a6f5-45e9-9690-8bfe42d...

Frontend Engineer: https://jobs.lever.co/mimoto/31d21f5f-eb89-4fdd-b85d-a43b5d9...

Full Stack Engineer: https://jobs.lever.co/mimoto/a7730d91-4359-4d74-8f91-b327033...

Senior Software Engineer: https://jobs.lever.co/mimoto/fea0701d-c6b9-4d87-904c-66227a8...

Oops, I forgot to mention a few things... Builds: Waf - https://code.google.com/p/waf/ Unit Testing: googletest - https://code.google.com/p/googletest/ waf tool for googletest - https://github.com/tanakh/waf-unittest Logging: glog - https://code.google.com/p/google-glog/ Command line flags: gflags - https://code.google.com/p/gflags/ Batteries (ala Python's batteries included) - http://www.boost.org/

Finally... I've started looking at hayai for benchmarking since it's based on googletest's design: https://github.com/nickbruun/hayai

Looks like OpenCV is using CMake: http://www.cmake.org/

Here's my setup: Vagrant http://www.vagrantup.com/ Clang http://clang.llvm.org/ Chef cookbooks for dependencies (like Clang)

Vagrant makes standing up a development virtual machine easy and repeatable. I prefer clang to gcc primarily for the (IMO) superior error messages. But, the "YouCompleteMe" plugin for Vim is a very nice additional benefit to using clang.

I would also recommend reading up on some of the changes to the language made in C++11 - the support for lambdas, for example, is wonderful.

Finally, with the latest version of Vagrant there is support for Docker containers, https://www.docker.io/ This holds a lot of promise. I'd recommend looking at that, too, as a way to build the development environment and required libraries once, in addition to using Chef for provisioning... think of docker as a shortcut to provisioning that can also be used in deployment...