BLOG

Our blog focuses on sharing our experience and knowledge across a wide range of technologies and industries including hardware and software design, audio, video, internet of things, mobile application and signal processing technologies.

Ben’s Golden Rule for Preventing Memory Leaks As an embedded software engineer, I spend the majority of my time writing code in C and C++. One somewhat-justified knock on these languages is that they both force the programmer to sweat all the details involved with memory management. One particular bugaboo of the C/C++ engineer is the memory leak: Memory that is dynamically… View Article Details
Howdy Pierce The Cost of an Engineer-Hour As all good project managers know, there are three dimensions to any engineering effort: The features of the product: What does the product do and how does it look? (For sake of simplicity, let’s include “quality” as a product feature.) The schedule on which the product is produced: How fast does it get to market?… View Article Details
Mike Perkins The Math Behind Analog Video Resolution The world is moving in the direction of HDTV, but NTSC “standard def” signals are still common for many reasons and will remain so. One important reason is that cameras that output NTSC are widely available and cheap! Many applications, including a lot of security applications, simply don’t require the resolution of HDTV — and… View Article Details
Howdy Pierce On the Importance of Encrypting Video This morning brought a front-page Wall St. Journal article that’s a bit of a jaw-dropper: Militants in Iraq have used $26 off-the-shelf software to intercept live video feeds from U.S. Predator drones, potentially providing them with information they need to evade or monitor U.S. military operations. … The potential drone vulnerability lies in an unencrypted… View Article Details
Howdy Pierce Outsourcing Just the 1.0 Seven years into running a services business, we’ve recently recognized a pattern across several of the projects we’ve done. The pattern is that the customer wants to outsource the initial development of a product but also wants to bring subsequent maintenance engineering and feature enhancement in-house. This pattern doesn’t apply to all customers or all… View Article Details
Detecting Well-Focused Images Our expert discusses how to write a program to automatically determine which photo in a group of pictures of the same scene is in the best focus. The trick is to use a contrast measurement in the passive autofocus algorithm. Details
Mike Perkins Noise Floor As shown in a previous post, for samples taken from a zero mean i.i.d noise signal, the expected power of the k’th DFT coefficient is given by     As discussed in that post, when plotting the power of the k’th coefficient as a function of frequency, the “noise floor” will decrease as N increases… View Article Details
Uploading Kodak Zi8 Videos to Flickr Recently my mom bought me a Kodak Zi8 pocket HD video camera for my birthday. Thanks, Mom! You know what an engineer likes! I love photography, and I upload my photos to the Flickr photo-sharing site. But I think my mom wanted some more home movies of my daughter. The first day I had it,… View Article Details
Mike Perkins IACP Product Introduction I just spent the last three days at the IACP show in Denver — the annual conference and expo for the International Association of Chiefs of Police. For anyone who was once a 12-year-old boy, IACP is about as cool as it comes because there are all sorts of cop paraphernalia on display — from… View Article Details
GCC’s Unhelpful Error Messages Something must be done about the obtuse error messages issued by the GCC compiler, particularly when using C++ and STL classes. Take this, for example, which is the output I got recently after a one-line change: ‘std::_Rb_tree_iterator<std::pair<const unsigned int, EMMServer::EMM> >’ to non-scalar type ‘std::_Rb_tree_iterator<std::pair<const unsigned int, std::map<short unsigned int, EMMServer::EMMSource, std::less<short unsigned int>, std::allocator<std::pair<const… View Article Details
Howdy Pierce Why is the Compact Disk Sample Rate 44.1kHz? During a recent conference call discussing audio sampling rates, the question came up: Why do CDs use a sampling rate of 44.1 kHz? The 2 Most Common CD Sampling Rates: 44.1kHz & 48kH First, a little background: When you sample an audio waveform, you have a choice as to how many samples you take per… View Article Details
Mike Perkins Working With CUDA We’ve recently been working with a cool technology that is rapidly penetrating scientific and engineering computing, but seems little known otherwise. It’s called CUDA. In a nutshell, it is an SDK to allow you to run parallelizable compute-intensive applications on your Nvidia graphics card instead of serially on your CPU. CUDA is one of a… View Article Details
25 pages of results