NinjaCalc has a new tool, a PID tuner! This PID tuner tool can be used to simulate/tune a PID controller, which is commonly used in industry to control things such as temperature, flow rates, speeds and all sorts of other things!
Once you click the “Start” button, the PID tuner tool simulates the process and shows you the response of the process and PID controller. You can dynamically change the P, I and D terms of the PID controller while the simulation is running and see how this affects the response of the controller.
Given two points in latitude/longitude form (both degrees and radians supported), the calculator can give you the great circle (shortest) distance between the two points, and the initial/final bearings. This calculator can also find an intermediate coordinate/point between the two coordinates, given a fractional amount (such as 0.5). All of these properties are calculated using the Haversine formula.
All these properties are shown on a interactive model of the earth in 3D (the sphere can be rotated).
Up until now NinjaCalc has been a desktop app written in Java (as NinjaTerm still is). However, the functionality that NinjaCalc provided had no need to be a installable desktop app, and I had long desired to move it to the easily accessible web.
When I recently discovered vue.js, I finally decided to make the move (after trying both React and AngularJS a year or so ago but deciding not to use them). It was the simplicity and flexibility of vue.js which was the deciding factor. Porting took about 3 weeks of full-time work (luckily I was unemployed at the time).
After trying out Heroku as the deployment platform, I eventually choose to deploy it on my server instead due to increased configuration flexibility (incl. the ability to setup the Apache server routing with
.htaccess files). rsync is used to copy the production files over ssh onto my server.
NinjaCalc v1.3.0 has been released! The biggest change is the addition of a CRC calculator, which allows you to calculate the CRC value for ASCII or hex data, using either common pre-loaded CRC algorithms or your own custom algorithm.
The custom algorithm section allows you to enter a CRC width from 1-64 bits, a CRC polynomial, initial value, XOR-out value, and whether the input data and/or the output CRC value is reflected. Then it will calculate the resultant CRC value.