Our product design and development 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.
Why Sample Size and Random Sampling Matters
Signal Processing
By Mike Perkins
Recently we tweeted an interesting article on big data, from the Financial Times. The author’s key point is that sampling bias and sampling error are possible even with large data sets. As illustration, the author discusses a classic case where the Literary Digest incorrectly predicted that Alf Landon would beat FDR in the 1936 election…. View ArticleDetails
The IoT Ahead
Connected Devices and IoT
By Matt Osminer
I had the pleasure of attending and speaking at the EE Live Internet-of-Things conference in San Jose last month. Since then, I’ve been reflecting on some of the bleeding edge technical concepts that were discussed there. It occurs to me that many of the IoT devices we are asked to design act as a standalone… View ArticleDetails
IoT Comms Software Is Hard
Connected Devices and IoT
By Matt Osminer
I’ve got a new blog post up at EE Times, talking about how to architect the network communications protocols for Internet-of-Things devices: Crafting a communications software stack tailored to the needs of your Internet of Things design is crucial — and not necessarily easy, given that options are continually evolving. Read the whole thing here. Details
On the Importance of Hiring Excellence
Outsourced Engineering
By Mike Perkins
I came across the article “Why the “Next Silicon Valley” is Always Silicon Valley” during my lunchtime reading today and found it really interesting. I would summarize it — obviously not justly! — as follows: Excellence is a snowball rolling down hill. Excellence attracts more excellence in a virtuous circle. Getting the snowball started is… View ArticleDetails
Heartbleed Wasn’t a Single Bug
Networking
By Ben Mesander
The heartbleed bug in OpenSSL has been all over the news. XKCD perhaps had the most succinct explanation. I’d like to take a deeper look at this bug and the process that allowed it to be created. Catastrophic failures are often caused by a chain of bad decisions or errors that finally result in a… View ArticleDetails
Do Something Hard
Outsourced Engineering
By Howdy Pierce
We have recently had several prospective customers approach us who are self-funded startups. Each of these customers was hoping we could help them develop an embedded product to the point where it could be sold on Kickstarter. And each of them wanted us to get them through some hard technical challenge that stands between them… View ArticleDetails
Choosing the Correct Video Sampling Format
Signal Processing
By Mike Perkins
We’re a little late in posting this, but I wrote a blog entry for EDN last week that discusses how to choose the correct video sampling format. An excerpt: To process signals digitally, they must first be sampled and quantized. Sampling refers to measuring the light intensity at discrete space-time points, while quantization is the… View ArticleDetails
Big Data, Probability and Birthdays: Part 2 of 2
Signal Processing
By Mike Perkins
In Part One of this blog post, I discussed how to state an experiment in the form of probability spaces. Determining the sample space and the event space is necessary to be able to talk intelligently about probability measures, which is the topic of this post. Approach 1: Counting We’ve figured out the sample space… View ArticleDetails
Using UDP in Internet of Things Devices
Connected Devices and IoT
By Ben Mesander
I recently read this article by John Carbone about using UDP in embedded systems. The advice in the article is accurate, but there are some other issues to consider when designing UDP based protocols in embedded systems that Carbone did not address. I wanted to tackle them here. First and foremost: UDP datagrams are trivial… View ArticleDetails
Big Data, Probability and Birthdays: Part 1 of 2
Signal Processing
By Mike Perkins
Cardinal Peak’s big data practice is expanding as we continue adding data scientists to our staff. In a recent discussion regarding a data set we’re analyzing, a probability problem conceptually equivalent to the following arose: In a room filled with N people, what is the probability that none of them have the same birthday? In… View ArticleDetails
MAC vs HMAC: Differences Explained
Security
By Ben Mesander
Hash-based message authentication code, or HMAC, is an important building block for proving that data transmitted between the components of a system has not been tampered with. It is a widely used cryptographic technology. I recently came across its use in an RFID system. Details