20 February 2010. In response to a
lawsuit-threatening
complaint elsewhere about linking another firm to the address used
by Joe Stack add a screenshot of Google images
used in embeddedart.com.
19 February 2010
This is a reconstruction of Joe Stack's website,
embeddedart.com (now removed), retrieved
from Google caches archived before his posting a
final statement. Original
separate pages are joined as one here. Web page buttons not available.
Welcome! This site briefly describes the capabilities and experience of the
Embedded Art firmware/software development service company.
Our Mission
To advance the art of programming, one project at a time; by achieving an
optimum balance between cost, schedule, functionality, reliability, and
maintainability.
Company Profile
Embedded Art is a small independent software house, specializing in process
control and automation. In its current form it represents the culmination
of 20 years of experience in the software development consulting business.
Founded by Joe Stack in 1983 (under the name of Prowess Engineering) in Southern
California, the company thrived for 15 years until shifting focus to the
Sacramento area to take advantage of growth in the Silicon Valley.
Now, 5 years later, the expertise of Embedded Art has landed in the Austin
Area expecting to lend a hand to the growing high technology industry in
South-Central Texas.
The concept behind the success of Embedded Art is that we provide the experience
and muscle for addressing complex software engineering development tasks.
Much of today's programming is a step-wise refinement of previous development
projects. With 20 years of experience, we provide the expertise that can
effectively navigate around many of the pitfalls that snare the unseasoned
engineer (indeed, we've seen many of the same mistakes made again and again
by the inexperienced).
________________________________________________________________
Contact Information
-
Phone:
-
-
E-mail:
-
General Information
Sales
Customer Support
Webmaster
________________________________________________________________
[button: next]
Send mail to
contact@embeddedart.com with
questions or comments about this web site.
Last modified: May 28, 2005
This is Google's cache of
http://embeddedart.com/menu.htm.
It is a snapshot of the page as it appeared on Jan 24, 2010 16:01:41 GMT.
The
current
page could have changed in the meantime.
Learn
more
[seven buttons: home, site map, services, environment, customers, contact,
news]
One of the most important aspects of communication is getting the quick view
of the 'big picture', no web site is really complete with out the overview.
[image: note] This page is also a demonstration of an interesting documentation
paradox. In its current state, the design is very simple; so simple, that
one wonders why even bother with a map. However, without the map it takes
a visitor much longer to figure out just how simple the layout is.... ah,
that all of life should be so simple.
________________________________________________________________
[two buttons: home, next]
Send mail to
contact@embeddedart.com with
questions or comments about this web site.
Last modified: May 28, 2005
Throughout our twenty-year history we have grown as the software industry
has grown. Twenty years ago the industry largely regarded the development
of end-user software to be an entirely different pursuit than that of an
embedded controller application. The main reason being because the operating
environments were vastly different. Firmware generally was associated with
tight processing constraints in minimally capable hardware environments (and,
of course, was burned into ROM).
In recent years, however because of the proliferation of low cost, abundantly
capable microprocessors and support hardware, the difference between the
embedded firmware operating environment and that of the typical end user
application has become almost insignificant.
It is not at all unusual to find embedded systems with a multitasking operating
system, a full network protocol stack, a relational SQL database server,
a multi-user graphical user interface server and more.
Visit our list of Environment Element Components
page to see a catalog of some of the many processors, protocols, languages,
libraries, and facilities we have worked with over the years.
-
Embedded Systems Development
-
In this age, almost every device we encounter that is electrical has some
kind of electronic automation. Microprocessor controllers play a part in
everything from devices as simple as home appliances to complex computer
peripherals. Over the years, we've produced firmware for a wide spectrum
of these fascinating devices.
Embedded System Development Areas of Specialization
-
In every firmware development process there are frequently trouble spots
which engineers encounter. Our experience in these areas allows us to help
insure a development effort will remains on schedule, and within budget.
Some specific areas include:
-
Environment Development
-
Microprocessor Start-up Code
-
Operating System Integration
-
Device Driver Implementation
-
Algorithm and Process Refinement
-
Firmware Product Maintainability
-
End-User Application Development
-
Our end-user application development experience started with an interactive
text editor built for a port of Unix back in the early 1980's. Since then,
we've garnered praise from numerous customers (Western Digital, Sorrento
Electronics, Warner Bros. Studio Stores, and many more) for the demonstration
of our ability to define application user interfaces that present information
in a clear, concise, and efficient format which is intuitive and productive
for the user.
-
Software Quality Assurance
-
In software engineering circles, it's an odd fact of lift that many of the
most talented developers have an aversion to both the Software Quality Assurance
(SQA) and the documentation processes. It has been our experience that one
of the most expensive mistakes a company can make is to short-change the
SQA process.
No amount of effort will turn up all possible software problems (indeed,
any given module only functions within its specification in a tightly
controlled context). However, the key to achieving stellar results from SQA
efforts lies in understanding how a given software environment works and
what must be done to methodically examine each possible failure point.
-
Technical Documentation
-
Writing high quality, comprehensive documentation (whether it's a requirement
specification or an end-user document) and designing an efficient software
algorithm are very similar exercises. In both cases it takes skill and dexterity
at defining a problem to be solved, organizing just the right pieces of
information into the optimal order so that everything is presented as it
is needed, and carefully presenting all that is necessary and nothing more.
Designing a good documentation set can be almost as complicated as a good
systems design (and every bit as important). However, many of the technical
writer staff (while highly qualified authors) have a poor grasp of the
documentation tools and the ramifications of how to design a system that
can live and breath in an engineering department over the years without quickly
becoming unmanageable and obsolete. We've solved this problem, and have the
know-how to do it again with the next generation of tools.
Customer References
Follow the link to our Customers Page for a partial
list of our customers, their projects and a description of some of our roll
in those projects.
________________________________________________________________
[three buttons: back, home, next]
Send mail to
contact@embeddedart.com with
questions or comments about this web site.
Last modified: May 28, 2005
In the engineering world one's past accomplishments are a good indicator
of what might be expected in the future. We're justifiably proud of the company
we keep and our contribution to the industry, and we think that our record
speaks for itself. Here is a list of some of our customers, their projects
and a brief description of part of our contribution to the effort.
-
Cylink Corporation
-
Project: The Cylink CY8300 IPSec high-performance
security processor
-
Design the instruction set for the CY8300 internal CPUs (dual RISK processors)
-
Write and document the CY8000 Cross Assembler
(Hosted on Windows NT, Sun Solaris, and Linux)
-
Develop the CPU functional validation test suite using the CY8300 assembly
language
-
Develop the CPU simulation environment using Verilog HDL & PLI
-
Perform validation simulation using both the Verilog "NCSim" environment
and on prototype hardware
-
Write an IPSec Datagram generation/encryption utility for packet generation,
encryption/decryption (using DES, TDES, & SHA-1) and authentication (using
SHA-1, MD5, HMAC-SHA1, HMAC-MD5, & DES-MAC)
-
DMC Stratex Networks
-
Project: The Spectrum and Altium product lines,
high-capacity wireless communication platforms (i.e., microwave radios)
-
Add SNMP Agent support to the highly successful Spectrum II radio
-
Design and implement the control algorithm for unit failure detection and
recovery
-
Resolve numerous integration and configuration issues from legacy code
-
Port legacy code base to the new Altium hardware platform and map a maintenance
path for the future
-
Integrate and resolve issues with HTTP Server and Network Management User
Interface web page
-
Work with the QA team to characterize outstanding functionality issues
Occasionally, as experienced software engineering consultants a we are called
on to provide more than firmware development services. For this particular
client, for example, this involved providing department management and
development team strategic advice for the Director of Software Engineering.
It also meant serving as mentor and tutor for programmers of all experience
levels.
-
Western Digital Corporation
-
Project: A high-performance multi-function
ESDI/SCSI/Floppy controller for the Apollo networked workstations and high-end
PCs.
-
Design and implement production firmware
-
Design and implement the host multi-tasking software test platform and implement
other Apollo-based utilities to exercise the product for SQA
-
Serve as technical liaison between Apollo Computer (Chelmsford, MA) and WDC
(Irvine, CA)
-
Equinox Industries/Warner Brothers Studio Stores
-
Project: Distribution Center Processing Automation
-
Architect data center automation processing
-
Implement PM-GUI functionality and complete initial distribution center
management software integration effort
-
Define and design implement and integrate software for:
-
host merchandising control processing
-
automated sorting equipment
-
conveyer management equipment
-
hand-held RF data entry terminals
-
shipping dock merchandise management and tracking
-
Administrate the network equipment deployment and management effort
-
Interstate Electronics Corporation
-
Project: IEC 9002 GPS-based Flight Management
System
-
Define and analyze requirements
-
Implement a flash file system for pilot-defined route storage management
(based on the Linear File Storage standard for PCMCIA flash memory)
Project: The IEC 9002 Navigation Database Update
Processor, a Windows-based, off-line data reduction tool
-
Complete and supervise upgrades and modifications
-
Supervise release cycle and CMS process for product release
Project: IEC 9002 MCDU, an ARINC-739 compatible
Multi-purpose Control and Display Unit
-
Design and implement a Windows NT-hosted development environment for the
embedded target's RTOS and operational firmware
-
Implement the production unit's Built-in-Test Manager and Bootstrap Program
Loader (which allows the flash-based firmware to be updated)
Project: GPS Satellite Simulator (Military &
Commercial unit)
-
Design and implement firmware/software for process control
Project: IEC Military Plasma Display, an
80186/82720-based "intelligent" terminal boasting multi-mode text graphics
display, ANSI Standard compatibility, multiple virtual screens, and downloadable
display generation capability
-
Design and implement firmware to manage the display, keyboard, and communications
hardware
-
Everett Charles Technologies
-
Project: ECT 9090(tm) Bare Board Tester
-
Provide firmware support and update releases for AMD 2900-based measurement
controller hardware
-
Provide user field support and problem tracking and resolution management
-
Provide software support for OS/2 PM-based test management control software
-
Implement Version 2 release for test management control software
-
MOST, Inc.
-
Project: 2.6GB SCSI II read/write CD-ROM
(Magneto/Optical) drive
-
Design and implement cache algorithms and code featuring anticipatory pre-fetch
and write-back cache allowing immediate write command completion with timed
write data synchronization
-
Implement SCSI II compliant cache control command set
-
Performance analysis and tuning, and debugging
-
Emulex Corporation
-
Project: SCSI/ATA(IDE) chipset firmware base (early
C++)
-
Design and implement hardware interface library components
-
Cable & Computer Technology, Inc.
-
Project: An AMD-2900 based bit-slice magnetic
tape controller
-
Design and implement upgrades and enhancements
-
Prepare delivery components and complete end-user acceptance procedure
-
AEI Kongsberg
-
Project: AEI Container Maker (a Windows-based
CAD package for designing specialized containers)
-
Design and implement GUI Dialogs and Components
-
Controlled Induction
-
Project: A DOS-based, commercial engine analysis
& design tool
-
Design and implement the User Interface and develop processing algorithms
-
Write and produce the User Manual
-
Administer the first production run for the product
-
Taradactyl Technovation, Inc.
-
Project: The Mileage Elephant (vehicle usage tracker)
-
Design and implement prototype user interface for host database application.
-
Teledyne Systems Corporation
-
Project: An AMD-2900 based bit-slice
emulation/simulation of IBM's 32-bit AP101-F floating-point processor
-
Design and implement fixed and floating-point math functions as well as SIN,
COS, and ARC TAN trigonometric functions (using the Cordic Algorithm w/Taylor
Series Expansion algorithm developed by IBM)
-
Design and implement instruction decode processing
-
Design and implement instruction execution time tracking
-
Hughes Aircraft, Fullerton
-
Project: A multi-processor control system composed
of six 68000 processors, twenty-two 8085 processors and various dedicated
interface hardware
-
Design and implement hardware fault monitoring processing
-
Sorrento Electronics, Inc.
-
Project: Process Control System
-
Design and implement an Alignment Parameter Entry API
-
Implement firmware for system Data Transmission Simulator product
-
Design and implement a Dynamic Link Data Control application to allow engineers
to dynamically program and monitor the data being transmitted on multiple
serial links
-
Implement a PL/M-to-DOS API for an engineering software validation test tool
________________________________________________________________
[three buttons: back, home, next]
Send mail to
contact@embeddedart.com with
questions or comments about this web site.
Last modified: May 28, 2005
The vast different number of variables that can be combined to produce the
embedded developer tool set and environment underscore the importance that
practical, hands-on experience plays in the success of a project. This list
highlights several key technology components with which we have experience.
-
Processor Host Environments:
-
Motorola 6800, 68K, etc.
-
Intel x86, 8080/85, 8051, etc.
-
Zilog Z80, Rockwell 6502
-
Various DSP & Proprietary Process Control Engines
-
Various Bit-Slice Architectures
-
RTOS Environments:
-
ATI Nucleus
-
WindRiver pSOS
-
Linux
-
Numerous Proprietary Executive Schedulers & OS
-
Computer Bus Specifications:
-
SCSI
-
ESDI
-
ATA/IDE
-
ARINC-769
-
PCMCIA
-
Others...
-
Network Protocols:
-
TCP/IP & UDP/IP (IPv4 & IPv6)
-
SNMP
-
HTTP (w/Server)
-
FTP & TFTP
-
PPP/CHAP & SLIP
-
Numerous Network Interoperability Protocols (e.g., ICMP, SMB/CIFS, LDAP,
NAT, etc.)
-
IPSec (Network Security) Protocols & Data Encryption Algorithms:
-
IKE/ISAKMP & ESP/AH
-
DES/TDES & DES-MAC
-
SHA1 & HMAC-SHA1
-
MD5 & HMAC-MD5
-
Commercial Database Engines:
-
Oracle/SQL
-
DB2
-
MS Access/FoxPro, Paradox
-
BTrieve, Informix
-
Others...
-
Compilers & Computer Language Environments:
-
C, C++, Java
-
Pascal, Ada, FORTRAN
-
Fourth, PL/M
-
Various shell script environments including CShell, Korn, VMS, Rexx, others
________________________________________________________________
[three buttons: back, home, next]
Send mail to
contact@embeddedart.com with
questions or comments about this web site.
Last modified: May 28, 2005
Contact Information
-
Phone:
-
-
Postal Address:
-
-
Please tell us what you think about our web site, company, products, or services.
If you provide us with your contact information, we will be able to reach
you in case we have any questions.
Click contact@embeddedart.com
to open up your mail client.
________________________________________________________________
[three buttons: back, home, next]
Send mail to
contact@embeddedart.com with
questions or comments about this web site.
Last modified: May 28, 2005
This is where we'll announce the most recent additions to our web site. If
you've visited us before and want to know what's changed, take a look here
first.
-
It's official..... if you read this, we're officially running on our new
web host! Hopefully, there aren't any newly broken links or scripts (FTP
isn't the most reliable facility these days... sometimes it quits during
a data transfer without any error notification). If you spot something odd,
please drop the webmaster a note.
________________________________________________________________
[two buttons: back, home]
Send mail to
contact@embeddedart.com with
questions or comments about this web site.
Last modified: May 28, 2005
|