I found an interesting article written about optimizations for Arrow Go. It looks that this method can be applied to wide variety of Go projects which needs arithmetic vector operations.

The optimization is clearly explained in the above article. Here I give more detailed introduction and how I fixed problems that I bumped into. After reading this article, you will know the followings:

  1. What is SIMD?
  2. How to use SSE from C programs by using intrinsics
  3. What is AVX2 and why faster than SSE
  4. Learn about Auto-Vectorization of LLVM
  5. Converting x64 assembly into Go Plan9 Assembly for reducing overheads


Hi, I’m @c-bata, an author of cmaes library. Optuna uses a univariate TPE for single objective optimization by default, but you can easily switch to other samplers.

In this article, I introduce CmaEsSampler. It may perform better than Optuna’s default sampler. After reading this article, you will know the followings:

  • What is CMA-ES?
  • How to use CmaEsSampler.
  • The variants of CMA-ES.
  • When you should NOT use CmaEsSampler.

What is CMA-ES?

Covariance Matrix Adaptation Evolution Strategy (CMA-ES) [1] is one of the most promising methods for black-box optimization, where objective functions cannot be described using an explicit representation in general. …


Hello, I’m a creator of go-prompt. Fortunately, go-prompt reaches 2300 stars on Github. And many awesome OSS adopts this library today. Thank you for all the users and contributors. By using go-prompt, you can write powerful interactive prompts, like kube-prompt.

https://github.com/c-bata/kube-prompt

As the number of Github stars of the terminal UI projects implies, The rich terminal UI applications are very attractive for most software developers. On the other hand, I guess most software developers don’t know how does it work because you don’t need to learn about terminal control for your job.

In this article, I describe how to develop a…


Bayesian optimization is widely used to find the global maximum or global minimum value of black-box function. Although it has been mainly studied for hyper-parameter tuning of machine learning models, it is also able to apply to any problems as long as you can define an objective function.

For example, Facebook announced Ax and Botorch. They are planning to use these softwares in wide variety of projects like following:

  • Tuning Video Streaming Algorithms
  • Tuning Machine Learning Models
  • AR/VR Hardware Design
  • Tuning Just-In-Time compiler (for HHVM)


Hi, I’m c-bata. This is my first story of Medium.

In this story, I describe how to write cross-platform packet capture from scratch. The source code of my packet capture is available on Github. Currently it supports ARP, ICMP, IP, IPv6, TCP and UDP protocols.

How supports the both of Linux and macOS

The packet capture tool receives and analyzes all packets flowing through the network. The way how Promiscuous mode allows a network device to intercept and read each network packets regardless of the target address. Most of NICs (Network Interface Cards) are support it.

There are differences between each systems because it needs to control NIC…

Masashi SHIBATA

Creator of go-prompt and kube-prompt. Optuna committer. Kubeflow/Katib reviewer. GitHub: c-bata

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store