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.
GCC’s Unhelpful Error Messages Software Development By Ben Mesander 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 ArticleDetails
Working With CUDA Software Development By Mike Perkins 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 ArticleDetails
The Importance of Encrypting Video Over IP Video By Howdy Pierce I just read a report of a new IP security vulnerability being demonstrated today at the DefCon hacker’s conference in Las Vegas. The new hack has two components: 1. The attackers are able to view video being streamed across a network, and 2. The attackers are able to use a man-in-the-middle attack to insert video controlled by the attacker to a video decoder somewhere on the network. The linked video shows viscerally how an attacker could foil a security/surveillance video system — a modern-day Thomas Crown Affair. Details
Power Measurements With the DFT Signal Processing By Mike Perkins Many of the systems we work on here at Cardinal Peak employ analog-to-digital conversion in one form or another. It seems like almost invariably some analog signal needs to be digitized or “sampled.” Sampling is the process of periodically looking at an analog signal at some sample rate, and then converting each measured value into… View ArticleDetails