bio_img_developer

Developer Zone

Advanced Software Development with MATLAB

Posts 71 - 80 of 96

Small Fibs Eventually Become Large Fibs – Another exercise in scaling 6

OK, I had way too much fun writing that last blog post exploring algorithmic scaling. I want to explore this a bit more with a some "real" code, and what is more real than a function to calculate the... read more >>

Performance Review Criteria 3: Scales to the task 1

To scale or not to scale. That is the question. When talking about algorithmic complexity, the answer to said question is usually an important one. No matter what the constant factors are that affect your algorithm's speed, poor scaling performance severely limits the scope of the problems you can solve. How do you measure your code's runtime complexity? If you don't have a good method for this (or even if you do!) then once again the performance testing framework is on your side. I was amazed when I learned of this one weird trick to measure the complexity of my algorithms.... read more >>

Performance Review Criteria 2: Sticks to Solid Principles 2

We saw last time how we can use the performance testing framework to easily see the runtime differences between multiple competing algorithms. This can be done without needing to learn about the philosophies and guiding principles of the framework, indeed you don't even need to know that you are using a performance test framework or that the script you are writing is actually even considered a "test".... read more >>

Performance Review Criteria 1: Peer Comparison 4

Have you ever wondered how to compare the relative speed of two snippets of MATLAB code? Who am I kidding? Of course, we all have. I am just as sure that you already have a solution for this. I know... read more >>

Time for your Performance Review

There are so many cool features in 2016a. Live Scripts are huge. The App Designer is a game changer. The language and environment keeps moving ahead with many exciting features.Unfortunately I... read more >>

Dependency, Injected 6

Now that we have conquered inversion of control, we can explore a common application of the technique, dependency injection. Dependency injection utilizes the inversion of control to, with the aid of... read more >>

Invert Your Inner Control Freak! 4

Arvind's recent posts have had me thinking. While the spellchecker he outlines is really just for illustrative purposes, its actually an example that is great to show the power, ease of use, and... read more >>

Making code usable, useful and testable 7

Easy button with a product DVD

Writing MATLAB code is seductively easy. Polishing the functionality of algorithmic MATLAB code to make it usable, useful and testable requires a bit of design.... read more >>

Open and extensible 11

Keep clam and use spellcheck

MATLAB is an open and extensible platform unique in its ability to dovetail with best-in-class technologies. Open, refers to the fact that much of MATLAB functionality is shipped in MATLAB files whose source can be studied. The community driven contributions on File Exchange has grown over the years to a scale that rivals the code that ships on the DVD. Extensible, refers to MATLAB's ability to integrate with other languages and technology stacks.... read more >>

You’ve Got Mail! 10

Today I wanted to share some fun I've been having with customizing the emails sent from my Jenkins builds. This was inspired by Narendra's comment on a previous post. So, getting to it, I took a quick look after reading the comment and found the Email-ext plugin that enables customization of the emails that are sent to administrators and code committers (offenders?) for failing or unstable builds. Out of the box, this plugin sends an email that lists the failing tests that were encountered. While this is nice, it doesn't pass muster in my book. Why?
  1. It is very much catered to JUnit test results by default. These aren't JUnit results #forgoodnesssakes! We are talking MATLAB code here! I want the CI system configuration to be production grade just like the code it is integrating, which means we don't accept calling MATLAB test results JUnit test results!
  2. Showing the failed tests is nice but I also want to see the diagnostics. If we have a chance to know immediately what the problem is then I don't want to have to click through to have to figure this out. Having the diagnostics in the email might mean I know exactly why the build fails when I get the email on my phone while riding the T on my way home. The remaining ride then has the benefit of valuable brain cycles already figuring out the solution. If I have to click through? No dice.
... read more >>

Posts 71 - 80 of 96

These postings are the author's and don't necessarily represent the opinions of MathWorks.