Protocols, Communications Media and Information Security
Note: Brent LaReau is your point of contact for this category.
Completing a "real-world" project often requires me to gain additional skills, which I can offer to my clients. Some of these are described below:
- Bar Codes
- It seems that bar codes are everywhere, so it's easy to have problems related to printing or scanning bar codes. Most people recognize a bar code when they see one, but they have no idea what symbology it uses or why it might fail to scan correctly. I have been working with bar codes for many years, so I know what to check when bar code problem arise.
- Data Interfaces
- Every electronic, computer, or software system uses one or more data interfaces. Internal data interfaces are used within a system, to achieve data flow required for the system to function. External data interfaces generally fall into three categories: user, machine, and inter-system. My experience with embedded systems has allowed me to become very familiar with standard and custom data interfaces, of the internal and external types.
- File and Data Formats
- In dealing with computers, software and data interfaces I have had to understand, decode, encode and even "hack into" various data and file formats.
- Data Conversion
- Assembling a new system often involves piecing together diverse building blocks, each of which may use different data formats. Similarly, the new system may have to be data-compatible with another system. I often have to design data converters so that various parts of a system can "talk" to one another, and so that one system can talk to another, different system.
- Image Manipulation
- A plethora of image file formats is available to suit various needs. The trick is to be able to convert from one to another, so that web pages can have images, and computer screens can have icons, and documents can contain diagrams. Unfortunately, simple file conversions are usually inadequate for my project needs, so I have become adept at adding, modifying or removing various artifacts from photographs and diagrams.
- Information Security/privacy
- Recently, a new dimension has been added to embedded system requirements: security. Every component of each system must be "locked down" so that data is accessible only to specified components, users or remote systems. Security holes have become a big deal due to three main factors: regulations, cybercriminals and hackers. Regulations such as HIPAA are designed to protect personal data by requiring vendors to implement various data security measures. Cybercriminals make money by creating malware to steal other people's data. Hackers simply find and exploit security holes, but they can still be a nuisance. I take security and privacy issues very seriously when working on clients' systems, software and web sites. My whitepaper on information security is available here.
- Malware Prevention
- Viruses, worms, trojans, spyware, ransomware and other attack vehicles are generally called malware. I understand how these "nasties" get into computers, and I take great care to protect my own computers, my clients' computers, and any computerized systems I design for my clients.
- Communications Protocols (hardware and software)
- I am familiar with electronic and semantic aspects of commonly used data communications methods: EIA/TIA-232 and -422 (etc.), TCP/IP, HL7, UDP, XML, HTTP, Ethernet and so on.
- Networking
- I am well acquainted with hardware and software methods for network communications using TCP/IP over Ethernet (software libraries, proxies, hubs and switches, CAT5 cables, NICs, drivers, network stacks, etc.).
- Packet Sniffing
- Network communications play a critical role in today's products. When communications seemingly fail, I often use a network packet sniffer (such as Wireshark/Ethereal) as an objective means to diagnose problems. A packet sniffer will show whether a network connection succeeded or failed (and why).
- Port Scanning
- Once, while sitting at a desk in a client's facility, I found that 16 of their computers in various parts of the building were infected with the "W32.Nachi" worm. How? By using the Nmap port scanner to run a targeted port scan on every computer in the building. The Nachi worm listens on network TCP port 707 once it infects a computer, so it's very easy to spot from afar.
