Why Emenda USA?

With the risk of sounding pretentious, I sometimes feel like “I have seen it all in software!”. I contributed to the design of embedded software for drones (at the time where we used oversize rubber bands to make them fly); I have programmed applications to build plant and ships (which resulted more in a 3D version of the Tron game with colorful pipes instead of flying motorcycles); I made big data fit in a “business intelligent cube”; And finally led a successful career at Rogue Wave where I have continuously for 15 years and over 15 different products, worn 2 hats, one helping sales guys with positioning complex products, and another helping customers solve real problems with what they just bought. This leads me to feel pretty sure that you trade, buy, call your friends, get billed or taxed (sorry about that) through something I have fixed or helped design at some point in my career.

And Rogue Wave or Source Pro (the famous tools.h++) are probably why most of you know me. In fact, even if this is time for big changes, I can’t leave them behind, and I am still happy to help you there as an independent contractor directly through 3DSpider (my own independent consulting company) or through Rogue Wave as a subcontractor.

Rogue Wave Software

But the big news is not here:

People who know me knows three things about me:

  • I strongly believe “buzzwords”, “acronyms” and fancy PowerPoints are no value to people in software. My advice for evaluating vaporware level: Always ask someone using a buzzword what it means… If I have never made you laugh about this, or gave you my full theory, please step in my office!!
  • When I find a product I truly see value in, you will see my eyes lit up with excitement. Ever seen one of my Totalview demo?
  • I love to learn and grow and want everyone around me to do the same.

And I think I found the perfect opportunity to match all three.

So I am leaving one of the best jobs on the planet to learn to fly on my own.

On my own, well, not really…

Emenda is a 10-year-old company based in Europe that have developed an impressive practice and reseller business around code and software quality, extending offerings in Security and Compliance. It took about 5 min listening to their CEO, Stephane Rougerie, to understand that this team has built an incredible expertise in that field, and that the vaporware level is close to zero there too.

They were looking to extend their operation to North America… so here I am, launching their US Operation with the help of a few friends and partners.

Emenda Worldwide

My goal? Learning and develop a great practice around code quality, from safety critical development such as ISO 26262 to Industry critical development, where your end-customer may not suffer life threatening injuries, but your reputation and bottom line might.

No buzzword, checked, opportunity to grow, checked… what about excitement?

By developing a practice around code quality, I am getting exposed to many new solutions. And my mind has been blown by 3 things in past few weeks.

3 Big Things

One

The first “wow!” moment, I should probably keep to myself, because once you know about it, you will need less of an expensive engineer like me to understand “what’s going on!”. Since you indulge me with your reading I will share anyway. But, beware! There is a software gem out there and you don’t know about it! And I am pretty much sure that if you were to try it, you will want it.

Think Java, JavaScript, C, C++, Fortran, (even Assembly), PHP or XML. I am talking legacy code, or something you inherited (because the person who wrote it left…) and you need to “document” whatever it is for your own or someone’s else sake. How many times have you been in front of some spaghetti code and have no idea how it’s even built? Or even what’s what? What depends on what? How do you even know where to start? And I am talking about use case where the code doesn’t compile, where you are missing files and where Manual has called in sick that morning. I am so confident here that I will offer you one challenge. Give me a piece of code with no direction on how to build it, and one hour. After that single hour, I am pretty confident I will have gain enough knowledge about the code that I will be able to speak about it with a confidence equivalent to some of your developers.

Not surprising, this gem is named “Understand”. Ask me about it or take me up on my challenge! The ability to understand code so fast, I am convinced this tools should be on every developer desk worldwide. Save you the headaches!

Two

A second big “wow!” is something completely different, but tie your seat belt because this is the most disruptive thing I have seen in the software industry for a while. We have just talked about the headaches of understand a code we didn’t write, right? Well, you all know what come just after that: You need to modify it. If you have ever been there, then you that simply adding a “else” statement might just have introduced a deadlock in your code that will happen once in a blue moon, but always “soon enough”, and may eventually call a recall on your product and great monetary loss.

When code become complex, regardless if you wrote it or not, it takes a lot of brain power to figure out whether you have introduced new problems. We think, we hypothesize, we test to the best extent of what we can comprehend. Sadly, this level of understanding is also transient knowledge quickly lost over time or over people shuffling. The result is that in any piece of automation we have, there is always “unknown unknown’s”.

So we all our code lives within an acceptable sense of understanding of the application and confidence in a test strategy. Being exposed to safety critical system, this level can actually get pretty high, but in most case this always amount to playing Russian roulette with a very large number of chambers in the barrel. We just decide unconsciously how many.

So what do most of us do? We can build test and prove that under specific circumstances we won’t have an issue. But can you actually prove that there is no logical error in your design that could lead to catastrophic failure, breakage or recall?

So what if you could test that the logic in your design would not falter before the code is even written? What if I was able to design my system components in your own word, without any math symbols or fancy but obscure graphical editor, and then plug them together and prove they are behaving correctly? What if I could generate verified code from the design? And what if I could share this design with others, helping them understand it, and quickly modify it, as well as verifying their new version automatically.

At Emenda USA, we have just partnered with a company called Verum that now offer what I consider the “holy grail” in term of design for state driven automaton and make all of this possible. If you design anything that work “like” an automaton, please contact me! I will show you a lot of excitement!!! Actually, I will show you a simple tutorial that illustrates my point on a problem we all faced: The ever evil Garage Door opener that somehow will always manage to break at the least opportune time and that will eventually force you to carry it back to your local home and gardening favorite store.

But beyond industrial automation and control, I am actually looking forward to introduce the technology to select customers in all industries included but not limited to automation, automotive, healthcare, finance, telecommunications and plenty others. I am actually curious to see how we can map it to your use case. So if I trigger your curiosity, please reach out! I want to try this with you.

Three

And finally, my third big moment so far has been to work with Security Innovation. We also have recently partnered with them at Emenda USA and we are set up to promote their training. Have I said something about the fact I like to learn? I thought “I had seen it all in software”, well I hadn’t… Here is a quick test, how many time have you talked or been talked about a “buffer overflow”? Right, 1,000s of time… And can you or your developer describe why it’s important? In most case, when I ask, I am usually given the following explanation: “A Buffer overflow is when something overflow, like a casserole full of water and pasta on too much heat; you know, it’s bad!”. In all honesty, do you really know why a buffer overflow is bad? And when? And what does it allow someone to do? Under what condition? I don’t like buzzword, sure, but I also believe the risks associated with this lack of knowledge is two folds: one, you and your developer are exposed, and two, you may be wasting a lot of time on something that doesn’t matter. I like my mechanic to have gone through mechanic school before he touches my car… if that was a Telsa (my dream car!!! Any one work there?), I would probably like him to have gone through Security Innovation too. I think you see the point. And by the way, if you have non-programming staff on board and you need help with the usual “fishing” email, Security Innovation can also help (Brett, no need to email me, that has nothing to do with Fish… sorry… private joke…)

While all this sounds like Christmas, I am not done opening my presents. Emenda USA, with the help of Emenda Europe is an exciting place with the goal of developing the best practices around software quality, compliance and security.

Executive Summary

The adventure is starting, and I am would love to help friends with software issues and be successful at the same time. So Reach out and be in touch, regardless if we need to talk Rogue Wave, Emenda or 3DSpider! BTW, I have a new cell phone, no more 617 number, so a LinkedIn email is the best.

PS: I have a vested interest in those products, so please reach out to me directly if you want to learn more (scitools™ Understand®, Verum® Dezyne™, Security Innovation).

Did I tell you I also got my HoloLens last week?