Skip to main content

Posts

Showing posts from 2015

Who will Taylor Swift model her next song after?

Taylor Swift is easy to like. She's polite in interviews, she's nice  on Twitter . Even if you aren't a fan you can appreciate how nice she is in an industry filled with privileged people engaging in bad behavior. I've noticed that some of Taylor's songs seem to be similar to other hit songs. Maybe its coincidence. She's had several big hits that have had a lot of airtime but she has several albums of songs. If some percentage of all songs sound alike, her music's popularity is providing ample opportunity for us to observe those similarities. Here are a couple of examples of songs that I found to be similar. Lorde's Royals was a top 100 hit when it was released in 2013 When I first heard Taylor Swift's 'Blank Space' a year or two ago I was surprised by its similarities to Royals. Here are the YouTube videos so you can compare. Recently Taylor released "Wildest Dreams". It was so similar sounding to Lana Del Rey t...

Performance of std::vector vs. arrays

The surprising results of a performance comparison between std::vector<> operator= and memcpy() with a raw array. An application profiling effort by a colleague and I led us to investigate the performance tradeoffs between std::vector<> and a raw array ( uint8_t blah[] ). The application was a c++ rewrite of a c# application. The rewrite was undertaken because the overhead of running a c# application on our memory and cpu constrained ARM Linux system was affecting system performance and responsiveness. Using Mono to run C# applications on Linux resulted in ~40MB of ram overhead for our application that itself allocated tens of thousands of bytes at most. Startup time left much to be desired. It took a few seconds to start the application up from mmc on the 1GHz ARM processor. We verified the long startup time by printing an “I’m started” string as the first function in Main. We tried upgrading to a newer version of Mono to see if that would improve performance. We las...

What's next for Beagleboard.org and the Beaglebone Black?

The Beaglebone Black, Raspberry Pi, and other low cost SBCs have altered the embedded computing landscape with high end capabilities and low price points. It has been amazing to watch the shift from systems like the Arduino in 2005 (16MHz cpu, 2k of ram), to the Pi in 2012 (700MHz cpu, 256MB of ram). I've been working with the Beaglebone Black (BBB) for a few years now, almost since it was released in 2013. While the Raspberry Pi is the volume leader by far, and has been around for longer, since 2012, the Pi uses a Broadcom SoC that isn't available through low volume distribution channels. The BBB on the other hand uses the TI Sitara AM335x which can be had through common enough places as DigiKey . This availability means that the BBB can be an ideal prototype platform for both hobby and commercial use. You can begin with the off the shelf BBB and then build a custom board around the AM335x SoC or, because the design files for the BBB are open, customize the BBB's desig...