Friday, August 19, 2005

Reverse Engineering

Eighty First Post: Reverse Engineering

Sometimes rather than build something from scratch, the designer or engineer will build upon other’s work. It is considered bad design to reinvent the wheel while other more practical means are present.1

This is a more common, less expensive design process, but it just sounds less fun. Does this mean after graduating college, the designer is just copying stuff from textbooks? It probably doesn’t. It can be beneficial to use a known design and modify it to meet the need of the design.

But let’s talk about the fun part of using others work. Suppose the designer has to find out how a machine, computer program, or circuit works by studying the product itself. In other words reverse engineer it. This sounds like it is more fun.

Doesn’t everybody do a little bit of reverse engineering themselves. When we were kids we would play with toys until they broke and after they broke we would take them apart and try to fix them or just see how they worked. Or maybe we started a junk collection in the garage full of gadgets that can surely be used for something.

Ok. There is some issues with reverse engineering. Many companies wanting to protect their developments and research. For the most part reverse engineering by an individual is only for fun and pursuit of knowledge and not to steal other’s work.

Were can we see reverse engineering. We see it in computers and video game systems. It is possible to by mod chips for X-box and Playstation. This came from someone reverse engineering the game systems.

Rather than try to use reverse engineering to hack electronics to do the things we want them to do, there are other dimensions to reverse engineering. Suppose you were teaching a shop class or more specifically a technical drawing class, it would be an excellent learning tool to show the student a mechanical part and have them draw how they thought it worked. Then take the machine apart and see the works and see how it differed from the students version.

There are many reasons to reverse engineer. This is why open source code is important for learning and development, because improvements happen more as people share more thoughts and ideas. It isn’t just limited to computers and software either. Basically the designer is seeing how something work, learning from it, add improvements and original work, and then sharing their findings to make improvements to the community.

References: 1: Mechanical Design of Machine Elements and Machines: A Failure Prevention Perspective, Jack A. Collins, Wiley 2003

0 Comments:

Post a Comment

<< Home