Monday, October 20, 2014

Maybe this is why I am such a sloppy programmer....

C++ and MFC


TL;DR

C++:

“In 1989 C++ 2.0 was released followed by the updated second edition of The C++ Programming Language in 1991.[9] New features in 2.0 included multiple inheritance, abstract classes, static member functions, const member functions, and protected members. In 1990, The Annotated C++ Reference Manual was published. This work became the basis for the future standard. Late feature additions included templatesexceptionsnamespaces, new casts, and a boolean type.
In 2011, C++11 was released which added more features and enlarged the standard library further (compared to it in 1998), providing more facilities for C++ programmers to use, with more additions planned for 2014 and 2017.”


I remember taking a class on C++ using Bjarne Stroustrup’s book in 1992 or 1993. Since C++ was so new to industry, my professor didn't even really understand the class implementation of the language making the class quite nightmarish. This was also the last programming class I took in college. After graduating college, I didn't do any programming until coming to Corning in 1999, and that was just VBA.

MFC:

'Windows Forms seemed to me what MFC should have been'
All the early books used C, but then Petzold shifted to writing about C# and .NET. Was he comfortable with such a high level of abstraction?
“I started out with machine code and assembly language. I took to C very well. I kind of skipped over C++ and MFC. C++ always looked like an extraordinarily ugly language to me, and MFC was not a very well-designed object-oriented wrapper around the API. I thought there should be something better. My first experience of .NET was with C# and Windows Forms, and was extremely favourable. [sic] I liked C# sharp as a programming language, I liked .NET as a sturdy, extensive, runtime library, and Windows Forms seemed to me what MFC should have been.”



This is interesting since LabVIEW (sorry, yes, everything right now relates back to LV, I should diversify) seems to rely so heavily on, but is quite hamstrung by it.

Thursday, September 11, 2014

Personal Blogs - Are there any EE guys out there???

Do a search for "Electrical Engineering Blogs"

Go ahead, do it, I'll wait. What do you see? Not much right?

It is curious that some of the top 100 engineering blogs include blogs from engineers that have jumped off the corporate band wagon and are either farming or exploring alternative energy projects. There are several student blogs that may or not be abandoned. You might even consider this blog abandoned, I don't know. Whatever, it is my personal space to rant and spit about the world around me. Maybe I will post more often if the mood hits. Maybe I will start blogging about jumping off the band wagon and becoming a farmer.

Saturday, January 4, 2014

Fail Faster - Profindity

I think I have found my new motto, "Fail faster." How can I find a solution to a problem? Find and try everything I can think of as quickly as possible. What ever does not work gets thrown out and the best of the solutions that work get kept and aired out.

I first heard this from a Vimeo post by TeamGleason.org during their ALS Summit a few months ago. I was put onto this by my son watching Steve Gleasons's Saints when he told me that Steve was answering and posting tweets during the game between the Saints and the Eagles in Philadelphia. Being the curious sort, and somewhat vaguely aware of ALS, especially knowing that Steven Hawking is disabled due to "something like" ALS. Yes, I am ignorant, Steven Hawking is, after some searching, also afflicted by ALS. I searched around for Steve Gleason and found his website along with his wife's PSA about him and the organization, I watched a bit of the summit's introductions and was immediately stuck by the profound statement of Walter O'Brien of Scorpion Computer Services. He explains that in computer science, the secret to success is to "fail faster" where he implies the two week "sprint" that you hear about in so many bleeding edge development strategies. I don't subscribe to any particular development strategy per se; however, I can agree completely with cutting you loses early and moving on.

Mr. O'Brien also talks about how anything he works on is new, because, "if it was already done, we would have used the previous system." This is the world I tend to live in with my work. Granted, I do work on projects which require me to maintain equipment to keep the process running; however, many of the things I do enable engineers to accomplish tasks and build things in a way that has never been done before. Now I do not profess to actually know anything; however, what I do have is a broad range experience. I draw on previous experience and build on that to accomplish great things. Which is pretty cool. My favorite projects to date involve working with glass. Whether that be in the form of optical fiber, or thin sheets of glass used in information displays.

Now, I have to admit that I have fallen into the rut of taking a part of a system that is not well suited to the application and working through the problems to "just make it work" without considering that there may be a better solution. Therefore, I am committing to work smarter and identify ways to "fail faster" and get to the best solution to the problem before me instead of wasting my and my customer's time in trying to make a sub-optimal solution work.

Fail Faster, indeed.

http://www.teamgleason.org/