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.
Outsourcing Just the 1.0
Outsourced Engineering
By Howdy Pierce
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 ArticleDetails
Detecting Well-Focused Images
Image Processing
By Ben Mesander
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
Noise Floor
Signal Processing
By Mike Perkins
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 ArticleDetails
Uploading Kodak Zi8 Videos to Flickr
Video
By Ben Mesander
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 ArticleDetails
IACP Product Introduction
Security
By Mike Perkins
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 ArticleDetails
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
Why is the Compact Disk Sample Rate 44.1kHz?
Audio
By Howdy Pierce
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 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
Announcing PhotoDialer for the Palm Pre
Software Development
By Chad Scates
Cardinal Peak is proud to announce that our PhotoDialer application is now available for free download in the Palm Pre App Catalog. Our history with Palm and passion for their products encouraged us to get involved early with their platform. Early usage of the Palm Pre left us wishing there were an easier way to… View ArticleDetails
WebOS List Formatters
Software Development
By Chad Scates
Here at Cardinal Peak, we’ve been doing quite a bit of development on webOS, Palm’s new operating system for smartphones. WebOS is based on Linux, and it relies heavily on web standards like HTML, CSS, and JavaScript. It’s a great programming environment, but since it’s also rather new, there’s a lot of tribal knowledge still… Details
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