JQuery XHR Memory Leak Workaro...

Matlab Waveform Deconvolution

3D Printer Unboxing: Wanhao Du...

Flashing Nordic NRF51 With J-L...

Electric Standing Desk

Hardware Controlled LED Lamp

Ultrasonic Digital Signals Pro...

Bluetooth Low Energy Garage Op...

Mini Cast-Iron Deep Dish Pizza

Homebrewed Columbus IPA

Mini Gingerbread Houses

Iced Brownies
JQuery's implementation of the XMLHttpRequest (XHR) object inside of the jQuery.ajax() function appears to leak memory, through the browser keeping an internal reference to the XHR. This subsequentially manifests itself inside of the jQuery getJSON() and post() functions. These functions have to be repeatedly used thousands of times before any significant amount of leaked memory begins to add up.

To fix this, in some circumstances, we can rewrite the functions to recycle the same XHR object (or a set of XHR objects).
Posted on: 2017-09-13 21:00:01

This Matlab script takes a real world waveform response containing two overlapping impulses and removes one of them to generate a clean reference waveform via frequency domain deconvolution
Deconvolution Image
Posted on: 2016-10-18 20:39:01

This is a fairly detailed unboxing and assembling of the Wanhao Duplicator I3 printer

Image 1
Posted on: 2015-12-20 12:22:14

Here's how to program one of Nordic's Bluetooth SoCs with a J-Link Debugger:
(This assumes you're using a SWD protocol and one of Nordic's SoftDevice stacks)

./JLinkExe -if SWD -device nRF51822_xxAC -speed auto

exec device = nRF51822_xxAC
w4 4001E504, 2
w4 4001e50C, 1
Sleep 100
Sleep 100
loadfile ../s110_softdevice.hex
loadfile ../application_xxac_s110.hex 

Posted on: 2015-08-04 17:00:00

Before backing up VirtualBox disk images, it is a good idea to compact them.

I've seen this shrink 80GB -> 10GB. It also seems to speed up some disk I/O performances.


**This whole process may take a few hours

1) Install zerofree (sudo apt-get install zerofree)
2) Shut down the VM

Posted on: 2015-07-30 18:04:49

When running a heterogeneous SoC like the Freescale Vybrid, it may be desirable to share static memory between the two processors. Consider that you have two processors; one running Linux and one running some other RTOS. A Linux application then creates a pool of memory to share with the RTOS, but how do you obtain an address pointer from within the Linux application? If you simply dereference the memory pool, you will have obtained the MMU's virtualized address. Furthermore, you don't know that the memory was contiguously allocated by the Linux application. So you have to find a way to bypass the MMU. dma_alloc_coherent() may work if you have it available, but I did not.

Instead, I chose to section off the highest 16MB of RAM and use it as a shared pool. I told Linux that the system only had 240MB of RAM (down from 256MB) and then used memory mapping to trick Linux into accessing the 240MB+ position of RAM.

Posted on: 2015-07-11 20:04:49