Using minikube for Local Node.js Development

Troy Connor, Cloud Software Developer for CloudReach talks about Kubernetes in the background of Node.js development
27 October 2017   1437

Learning Kubernetes is hard. Learning how to set up Kubernetes even harder. Developers have to provision a cluster from a cloud provider and have to start paying for that immediately. This can discourage developers who want to build scalable microservices. On big teams, usually, developers have a DevOps team who can take care of scalability and optimization.

When breaking apart monolithic applications, microservices will have to scale to handle the load of the incoming requests. As the application grows, so will the need for the microservices. When developing their applications, developers can run into the problem where it doesn’t work in different environments. The phrase “It works on my machine” points fingers at a bigger problem. Developers can find this frustrating and it slows down updates to the application. The developer’s workflow can prevent this by using minikube.

For large enterprise applications who use the cloud as their platform, Kubernetes has been one of the many solutions to these issues. Quickly deploy, scale, and modernize your microservices with simple commands. Minikube allows you to test this functionality without the cloud provider. As a NodeJS developer, having the functionality to develop a workflow that you would use for your production application is very valuable.

In this talk we will discuss what Kubernetes is, we will discuss the advantages of using minikube, and we will show the functionality of what Kubernetes can do with NodeJS. We will show how to scale your application, how to deploy multiple copies of your application based on metrics, and show how to master blue/green deployments to not lose any uptime during updating your application.

What is Vim.Wasm?

Small introduction to Vim port to WebAssembly with screenshot and developer notes
16 July 2018   91

Vim.wasm is experimental fork of Vim editor to compile it into WebAssembly using emscripten and binaryen.

Developer added some notices:

  • Please access from a desktop browser (Chrome/Firefox/Safari/Edge). Safari seems the best on macOS.
  • Please avoid mobile networks. Your browser will fetch some large files (up to 2.5MB).
  • vim.wasm takes key inputs from DOM keydown event. Please disable your browser extensions which affect key inputs (incognito mode would be the best).
  • This project is very early phase of experiment. Currently only tiny features are supported. More features will be implemented (please see TODO section). And you may notice soon on trying it... it's buggy :)
  • If inputting something does not change anything, please try to click somewhere in the page. Vim may have lost the focus.

The goal of this project is running Vim editor on browser by compiling Vim C sources into WebAssembly. 

Vim.wasm screenshot
Vim.wasm screenshot 

WebAssembly frontend for Vim is implemented as a new GUI frontend. C sources are compiled to each LLVM bitcode files and then they are linked to one bitcode file vim.bc by emccemcc finally compiles the vim.bc into vim.wasm binary using binaryen and generates HTML/JavaScript runtime.

You can find more info at GitHub.