Howdy Pierce
Blog Post

My Threads Question

If we interview you here at Cardinal Peak, we're going to assume you're competent to use Google, and we'll give you the benefit of the doubt that you can look up answers to weird corner cases. What we really want to know is how deeply you understand how a computer works.
Howdy Pierce
Blog Post

I Want Widgets that Come With an API

Aside from the glut of “UltraHD” televisions at CES this year, I saw two other trends that seem noteworthy to me but that have not been highly reported in the tech press: There is a huge number of Internet-connected home sensors of all kinds, and also a much large concentration of smart or connected fitness... View Article
Cardinal Peak
Blog Post

Cardinal Peak Develops Blockbuster App

I’m proud to announce the release of the Blockbuster app for Android, developed by Cardinal Peak. The app launched this week in the Google Play store. It allows subscribers to manage their Blockbuster By Mail queue as well as find nearby stores, check a title’s availability in a store, and more. Check it out!
If we interview you here at Cardinal Peak, we're going to assume you're competent to use Google, and we'll give you the benefit of the doubt that you can look up answers to weird corner cases. What we really want to know is how deeply you understand how a computer works.
Aside from the glut of “UltraHD” televisions at CES this year, I saw two other trends that seem noteworthy to me but that have not been highly reported in the tech press: There is a huge number of Internet-connected home sensors of all kinds, and also a much large concentration of smart or connected fitness... View Article
I’m proud to announce the release of the Blockbuster app for Android, developed by Cardinal Peak. The app launched this week in the Google Play store. It allows subscribers to manage their Blockbuster By Mail queue as well as find nearby stores, check a title’s availability in a store, and more. Check it out!
Howdy Pierce
Blog Post

Computing Primes in Python and C++

Explore prime number computation: Python vs. C++. Discover speed insights between these languages using the Sieve of Eratosthenes algorithm. Download Python and C++ code here!
Howdy Pierce
Blog Post

ElcomSoft’s Hack of Image Authentication

Discover the flaw in Nikon’s image authentication system and the implications for security. Learn why true file integrity relies on more than checksum protection.
Cardinal Peak
Blog Post

High School Prior Art

Based on a Slashdot link, I read a blog post today about the Oracle/Google lawsuit over Java virtual machine patents. Among the list of software patents that Oracle has decided to sue Google with are two that I’m fairly certain that I wrote prior art for. This was in 1983 or 1984 while I was... View Article
Explore prime number computation: Python vs. C++. Discover speed insights between these languages using the Sieve of Eratosthenes algorithm. Download Python and C++ code here!
Discover the flaw in Nikon’s image authentication system and the implications for security. Learn why true file integrity relies on more than checksum protection.
Based on a Slashdot link, I read a blog post today about the Oracle/Google lawsuit over Java virtual machine patents. Among the list of software patents that Oracle has decided to sue Google with are two that I’m fairly certain that I wrote prior art for. This was in 1983 or 1984 while I was... View Article
Cardinal Peak
Blog Post

Real-Time Ethernet

A recent project for a customer was to implement a transport for a real-time signal processing application over Gigabit Ethernet (GbE). The project was especially interesting because our customer’s requirement was for extremely low latency: The transport needed to be able to send replies to incoming packets with a custom EtherType within 74.4 μsec. This... View Article
Cardinal Peak
Blog Post

Writing Defensive Code to Automatically Find Memory Leaks

In an earlier post, I suggested making all your memory allocations go through a single routine, and deletions through another. When you centralize allocation and deallocation like this, you gain a couple of benefits. First of all, you make the memory allocation more explicit, which will tend to make programmers more careful. Second, you can... View Article
Cardinal Peak
Blog Post

How To Find a Memory Leak

Finding memory leaks and other problems in your code can be challenging, but there are tools available to help simplify that process. Remember to add time to your schedule so that you can apply the available tools for finding memory leaks and other problems.
A recent project for a customer was to implement a transport for a real-time signal processing application over Gigabit Ethernet (GbE). The project was especially interesting because our customer’s requirement was for extremely low latency: The transport needed to be able to send replies to incoming packets with a custom EtherType within 74.4 μsec. This... View Article
In an earlier post, I suggested making all your memory allocations go through a single routine, and deletions through another. When you centralize allocation and deallocation like this, you gain a couple of benefits. First of all, you make the memory allocation more explicit, which will tend to make programmers more careful. Second, you can... View Article
Finding memory leaks and other problems in your code can be challenging, but there are tools available to help simplify that process. Remember to add time to your schedule so that you can apply the available tools for finding memory leaks and other problems.
Cardinal Peak
Blog Post

Ben’s Golden Rule for Preventing Memory Leaks

Learn how to prevent memory leaks in C/C++ with Ben's Golden Rule. Follow these steps for effective memory management and ensure your embedded systems run smoothly!
Cardinal Peak
Blog Post

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
Mike Perkins
Blog Post

Working With CUDA

Explore CUDA, NVIDIA's SDK enabling parallel computing on GPUs. See how we use it for high-def image processing at lightning speeds.
Learn how to prevent memory leaks in C/C++ with Ben's Golden Rule. Follow these steps for effective memory management and ensure your embedded systems run smoothly!
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
Explore CUDA, NVIDIA's SDK enabling parallel computing on GPUs. See how we use it for high-def image processing at lightning speeds.