When designing software that receives and records a live data signal, file size is an important criterion for choosing the most appropriate methods for transferring the files downstream. The following is a supplement to my article “A scalable design for recording biological signals with iOS and transferring data securely to the research team using Firebase and Node.js” to explain how to calculate file sizes for beginners. You can calculate the file size based on the size of the data package, sampling rate, and duration of recording.


Consider a data signal transmitted wirelessly and serially (i.e. one long string of data)…

Photo by National Cancer Institute on Unsplash

The Google Chrome browser’s search engine keywords feature is a hidden gem that makes searching information more efficient. I use it all the time in clinical practice, academic training, and at home. See how easy it is to search a specific website, for example UpToDate:

Facebook Sharing Debugger used to test how meta tags are parsed to create link previews.

I have a domain that points to a Heroku dyno running a Node.js web app. To facilitate sharing, I added Facebook Open Graph meta tags to the html headers. However, I could not get Facebook to “see” the tags in the Facebook Sharing Debugger using my custom domain, even trying multiple variations of meta tags to be more attractive to Facebook’s crawler without luck. I could not find a solution from search engines or in the typical troubleshooting forums like stackoverflow.

Finally, I tested the Debugger using the direct heroku url (like , and all the meta tags immediately…



Welcome to Web Development! It is a fun skill to develop and very manageable to do as a side hobby in your free time. I originally wrote this article to introduce web dev to my colleagues in the medical field. This article serves as an orientation into the field, and the real learning is found in the linked tutorials.

First, you will need to download software and skim through tutorials. As you become comfortable with HTML, CSS, and basic Javascript, you can build web apps using libraries and frameworks that take care of the hard parts of user interface. …

If you are an Arduino developer using the CC41-A attached to a ZS-040 breakout board with a non-functional STATE pin, this trick may be for you! Ok, admittedly, that sounds like a pharmaceutical commercial. The CC41-A is a Bluetooth 4.0 module clone of the HM-10 that can be used to add wireless functionality to an Arduino or other microcontroller project. Plus, it is often less than half the price of a true HM-10.

I ordered several for a project and discovered the STATE pin was not working for any of the modules. STATE is supposed to pull HIGH when the…


In this final tutorial of the series, we will use the Leap Motion Controller to track finger motion in the air as it traces our Archimedes spiral.

Refer to Part 1 and Part 2 for prequisite steps.

Step 1. Install Leap Motion Controller

Download the Leap Motion software to be able to obtain data from the controller. You will need to connect the device to your computer during this process. The App Home should launch automatically where you can explore the “Playground” and download other Leap-enabled apps.


In Part 1 of this tutorial series, HTML, CSS and Javascript was used to build a web application that tracks a mouse cursor position while a user draws a straight line between start and target points. In Part 2, we will build on the existing app by focusing on JavaScript to modify the test stimulus from a straight line to an Archimedes spiral. Prerequisites and Requirements are the same as those in Part 1. I recommend browsing through JavaScript object tutorial

A working demo is available here.

Goal for Part 2 — tracing a spiral with the mouse cursor

Archimedes Spiral


The completed project: Leap Motion Controller tracks finger position in the air.


Leap Motion controller is a low cost USB infrared sensor that can track position of hands, fingers and joints in 3D space. The device’s tracking reliability has been studied and is used in virtual rehabilitation projects (e.g. Putrino Lab, VirtualRehab). The controller features an application programming interface (API) that allows programmers to interact with data in a more “human” way. For example, rather than having to develop your own algorithm to interpret the meaning of raw infrared sensor voltages, the Leap Motion API can tell you the existence…

There is a saying that learning in medical school is like “drinking from a firehose.” I have also heard estimates that one learns [insert some large number here] of new words in medical school, but they were never substantiated by data. While in school at Ross University, I started thinking about ways to analyze what I had learned and to answer “What is medical school like?” asked by family and friends on holiday breaks. I realized I could use my own lecture notes as a data source.


In 2010, I developed a flashcards website to review key facts from every…


Electromyography (EMG) is a method to evaluate motor unit action potential activity in a muscle region. As action potentials (electrical signals) propagate through nerves to neuromuscular junctions, the change in electrical potentials (voltage) can be measured. EMG is performed in the clinical setting to diagnose functional abnormalities of muscle; in this procedure, a needle electrode is inserted directly into a muscle to monitor an area smaller than 1 square millimeter.

Surface EMG is a non-invasive method of measuring muscle activity. Rather than using needle electrodes, conductive gel electrodes are placed on the skin to measure overall activity of a large…

George Marzloff

Physician in Spinal Cord Injury & Physical Medicine and Rehab @ Rocky Mountain Regional VAMC, Colorado. Interests: Rehab Engineering & software development

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