e-mail: smartware@smart-family.net
My name is David Smart. I've been a professional programmer since 1979. I enjoyably have that same job today, although my role has changed quite a bit as both my skills and technology changed. A few years ago, I thought it would be fun to do development that is radically different than my career enables. Hence the creation of SmartWare Computing.
To keep SmartWare Computing enjoyable, I have a few guidelines-
With these thoughts in mind, on with my history.
Following extremely limited exposure to a programmable calculator in 1973, I programmed my first microcontroller in 1975, back when the Intel 8008 was powerful. I did have brief hands-on exposure to the 4004 and 4040, but I don't count that as significant.
Anyway, assemblers were not readily available, so I wrote my own. Then, the real fun began. Creation of a incredibly crude battleship type of game. You against the computer, and the clock. Then a simulated traffic light controller. As a driver, traffic lights never seem to work the way you want them to, and you don't realize how complex these systems really are until you try to program them. Times have changed for that old Intel chip, and most likely the only place to find one now is in a museum. Over the years since, I focused on embedded industrial applications, and experimented in the hobby arena, so I've programmed a wide range of microprocessors over the years- RCA 1802, Rockwell 6502, Intel 8008, 8080, 8085, 8022, 8048, 8051, Zilog Z80, Motorola 6800, 6805, 6808, 6811, Hitachi 6301, Siemens 80C167, Intel ARM, xScale, and X86, and the Hitachi SH-4 (to name most of them). Of course assembly language was the norm for most of the smallest parts, but I've been very proactive in applying C to many projects as appropriate for the job. In fact, I put my first C based systems into mass production in 1992. Those devices were still in production in 1999, which should provide some indication of the functionality and quality of those designs.
Reflecting back along the lines of PC's, I started programming DOS computers in 1986 writing some custom communications tools in C. These tools utilized forms and pull down menus to aid the user in program operation. They would look quite dated by today's standards, but they were quite advanced back then. They used the serial port, and communicated quite a large amount of data, as a network analyzer for a custom embedded network.
With the leap into Windows, I've added Visual Basic (VB) to my toolbox with its ability to rapidly produce virtual prototypes for embedded systems. The prototype is then tuned to create a more intuitive user interface and sent to the client. Through iteration with the client, a more optimal solution is developed more quickly. When the client is satisfied with the result, the design proceeds to the actual device (a handheld battery operated data logger in one case).
I have a growing skill in the Microsoft Visual C++ environment, but it is not a strength at this time. I experiment with it, learning all the time. Typically, I use this environment to produce a software tool that helps to solve other design issues.
If you have a question or would like more detail just drop me a message.