April 2017 Updates

NinjaCalc Is Now A Web App

NinjaCalc, a “collection of embedded engineering related calculators”, is now a web app (go to http://ninja-calc.mbedded.ninja/ to try it out)!

NinjaCalc is now a web app! A screenshot while selecting a calculator using the new web app at http://ninja-calc.mbedded.ninja/.

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.

The newest version of the Java based NinjaCalc (v1.3.0) can still be downloaded from https://github.com/mbedded-ninja/NinjaCalc/releases/tag/v1.3.0, although this will slowly deviate from the web app as the web app is developed further.

Existing users of NinjaCalc may appreciate the similarity between the Java app and the web app. The results can be found below!

GitHub Repo: https://github.com/mbedded-ninja/NinjaCalc
GitHub Project Page: http://mbedded-ninja.github.io/NinjaCalc/
NinjaCalc Web-app: http://ninja-calc.mbedded.ninja/

Calculators Upgraded And Have Their Own Page

The electronic online calculators have been upgraded! They now

  • Have selectable engineering units
  • Have a “Calculate What?” button, meaning you choose which variable you know, and which to calculate
  • Features shading of the calculated variables, so you know which ones you have to type in yourself
  • Has live calculating that re-calculates everytime you change something.
  • Features a “variable diagram”, which helps graphically explain the equation and what your calculating

The calculators now have their own page, which shows the collection of calculators that are used on the electrical pages of the CladLabs site.

Playing Around With The Kinect

I got excited about 3D modelling and brought a Microsoft Kinect a few weeks ago. I choose to get the ‘PC’ version, even though it was $100+ more than the Xbox version, purely because it was touted that Microsoft engineers had worked had at making it better for hacking, and it had more features such as ‘Close Up’ mode (I’m beginning to regret this decision, see below).

Anyway, I installed the Microsoft SDK/drivers and within minutes I had a development platform in action for the Kinect. I wrote a small program in Visual C# Express using the provided API, and following this tutorial, got a cool depth image of my room (‘cool’ being relative, this was the first day I had started playing with it).

However, Microsoft puts a restriction on it’s SDK, saying that the software must run on a PC running Windows. One thought in the back of my head was to one day make it run on an embedded linux system, so I had a crack at getting the 3rd party open-source drivers working. This involved many hours of messing around installing multiple programs in different orders, then trying different versions, and then trying to compile the drivers with a make command. It reminded me of the driver issues you used to get with Windows 95, and after about 5 hours I gave up.

I’m thinking that problems were arising because I was using the PC version rather than the Xbox version, which didn’t have as much support. And it turns out I don’t really need the extra features in the PC version for the 3D modelling applications I had in mind. Hmph…