Technical Achievements and Experience |
James R. Bergsten 5025 Sleepy Hollow Road Cameron Park, CA 95682-1915 (530) 672-1415 |
With 40-plus years plus experience in
computing, I have developed many successful, high-quality, low-maintenance,
easy-to-use hardware and software products. Have architected, designed, developed,
debugged, tested, and documented six award-winning software products, and two
hardware/firmware products. Many of
these are presently in productive use worldwide -- some have been running
“bug-free” for over 30 years.
Have personally developed three proprietary operating systems, two real-time
storage array and virtualization systems, disaster recovery and business
continuation applications, financial applications, database applications,
application and systems development and debugging tools, and graphical display
systems.
Have specified, purchased, managed,
configured, installed, and maintained servers and array/SAN/NFS/CIFS storage
from multiple vendors.
Have written well over half a million
lines of debugged production code, and several thousand pages of technical
documentation. Have 14 sole-inventor
“crown jewel” issued U.S. Patents.
Product Development Experience
Operating System Development
Architected and developed a
platform-independent real-time operating system, supporting n-way
multiprocessing and multitasking, scheduling and dispatching, memory allocation
and management, device virtualization, rudimentary file system, system initialization
and shutdown, device discovery, security, encryption, resource locking,
semaphores, system debugging and console command processing.
Developed an entire multi-homed TCP/IP
stack from scratch. Developed servers
for Telnet, FTP, HTTP, SNMP, and multiple vendor-specific protocols.
Architected and developed a
complete fault-tolerant, multipathing I/O subsystem.
Developed device drivers for initiator and
target mode NVMe, UFS, SCSI and Fibre Channel, iSCSI, FCoE, ATA, SATA and SAS,
serial and parallel ports, disk, tape, CD/DVD, USB, flash memory, EEPROM,
NVSRAM, UPS, timer, real-time clock, keyboard, USB, Ethernet/Gigabit, and
simple graphics. Developed extensive software
for device exercising and testing, bring-up, compliance, data-integrity-verification,
fault-isolation, diagnostics, and performance analysis and reporting.
Ported open source filesystems and
scripting languages to this proprietary RTOS.
Edge Computing Development
Developed TCP/IP bridges for mobile-based,
edge and server driven gaming system, responding to physical motion (such as in
a vehicle) within the game.
Embedded System Development
Developed FOTA (Firmware Over the Air)
system for a Zephyr/Mcuboot based embedded system – similar
to Apple Pay – as both a standalone USB device and reference platform
for laptops.
Sales Support
Developed, managed, and developed a system
for demonstrating Intel-specific hardware security features. This system was then replicated into
standalone servers and shipped to prospects for their in-house demonstration,
proof of concept, and development.
Storage and Storage Array Subsystem Development and Administration
Architected and developed an interface-agnostic,
SCSI-compatible storage product with support for disks, tapes and CD/DVD, device
simulation, caching, device virtualization, zoning, transparent local and
remote device access, n-way local, remote, and cascaded mirroring and snapshot,
no single point of failure, n+1 failover/fallback, multiple active coherent
cache, data error detection and recovery, customizable performance and tuning, configuration,
extensive reporting, and support for user, operator, administrator, and
maintenance console commands.
Developed Linux, Windows, VMWare, and FreeBSD
drivers. Ported drivers from one
platform to another.
Developed SATA and iSCSI drivers for LSI Logic storage
arrays. Took over development,
debugging, and documentation for defunct storage array supplier.
Developed SCSI/NVM/SOE layer firmware for
PMC-Sierra FLASH chips.
Developed NVMe drivers and
test/performance/bring-up tools.
Developed UFS drivers and test/performance/bring-up tools.
Contributor to SPDK. Developed multiple NVMe CLI tools. Developed huge storage allocator.
Application Development
Designed, managed, and/or developed six
successful products for the IBM mainframe environment including: XMENU, a multiple-award winning
windowing tool for mainframe terminals (pioneered what-you-see-is-what-you-get
screen layout editing, and symbolic-field-naming), KPROBE, a post-mortem operating system debugging tool, XDEBUG, an interactive application and
system debugging tool, SQLEXEC and SQLMENU – interactive SQL development
tools, and KDES, a file encryption
tool. Also developed program product
distribution and maintenance tools.
Co-developed a pharmaceutical tracking system using radio frequency
identification (RFID) technology, web programming, and SQL databases. Developed a financial application for
testing, simulating, and validating equities trading and portfolio management. Developed tools for product development,
test, and installation.
Product Test and Validation Development
Developed tests and tools for product
validation and debug.
Website/Social Media Development
Created and maintain websites for several
not-for-profit organizations. Created
and maintain several blogs. Instrumented
websites to monitor usage statistics.
Developed several online databases. Developed web server for Intel Security
project.
Developed TCP/IP bridge for Intel XR, 5G
and Edge Computing project.
Platform and
Administration Experience
Clients and Servers
Microsoft Windows-- all variants --
product design and development, modifications, device drivers, installation,
performance and tuning, maintenance, testing, operation, experience with
virtually all popular software products.
Subscribe to MSDN. Maintain
multiple personal XP and Server systems, including SQL, web servers, email
servers, communications servers, and application servers.
Zephyr and Mcuboot – system and application development including ARM protected
(TF-M) code.
Linux -- all variants -- product
design and development, installation, testing, performance and tuning,
operation, device drivers. Maintain
multiple personal Ubuntu, Centos, Redhat and SuSE Linux systems.
UNIX/BSD -- product design and
development, installation, performance and tuning, operation, administration. Maintain multiple personal FreeBSD, NetBSD,
OpenBSD, and Solaris systems.
Storage Administration
NetApp – all filers and shelves,
LSI/Engenio -- all arrays, EMC – all arrays.
Installation, configuration, migration, management, backup, snapshot, DR/BC,
dedup, security performance, utilities.
JBOD. FC, SAS, iSCSI, FCoE, SATA, ATA drives.
Mainframes and Enterprise
VM -- all variants -- product
design and development, modifications, installation, performance and tuning,
testing, operation, experience with virtually all program products
MVS -- all variants -- product
design and development, installation, testing, performance and tuning,
operation, experience with most popular program products
SQL databases -- product design and
development, installation, performance tuning, operation, administration
Storage management -- product
design and development, performance tuning, operation, administration
MIS management -- hardware and software
procurement, installation, operation management, maintenance, physical
planning, and disaster recovery – managed multiple enterprise computer centers.
Minicomputers, Workstations
Intel x86 -- product design and
development, hardware and software acquisition and installation, performance and
tuning, BIOS development, own Pentium development and test systems, with
personal copies of over fifty software development, application, and tool
products, Windows SDK and DDK, Windows XP/Vista SDK, DDK, and HAL..
ARM based – Raspberry Pi
Power PC -- NT, AIX --
firmware/diagnostics/system bring up.
Windows NT SDK, DDK, and HAL Novell NetWare, Windows, Linux, BSD,
Solaris -- network setup and administration
Experience with UNIX systems dating back
to first UNIX version shipped outside Bell Labs to AUX/Solaris/UTS/Linux
Embedded Systems
MIPS, ARM, XScale, PowerPC, Cavium,
licensed embedded processor programming
Mobile Platforms
iOS, Android, Android Studio, PhoneGap,
Ionic, Swift
Protocol Tracing
SCSI, SATA, SAS, FC, I2C JTag,,USB, Bluetooth, RS232/485, Modbus
Languages
C, C++, Microsoft Visual C++, Intel, Gnu
-- product design and development
REXX -- product design and development
FORTRAN
Turbo Pascal and Pascal/VS
Minor experience with many other languages
Many assembler languages
Many microcoding languages – developed
proprietary microcode compiler
Several prototyping/object-oriented
languages (Actor, Smalltalk V)
Most scripting languages (Python (both), Perl,
Go, various shells, etc.).
Documentation, Web Design, Multimedia, Image, and Graphics
Microsoft Word and PowerPoint, Word
Perfect, Adobe Acrobat, FrameMaker, and PageMaker, XMLmind / DOCX
Adobe Photoshop, Illustrator, and
Premiere, Corel Graphics Suite, Microsoft Visio
IBM DCF, GML, BookMaster including macro
development
Hardware, Device Drivers, Vendors, and Standards
Parallel SCSI (LSI, Adaptec,
Advansys), Fibre Channel/ FCoE (QLogic, Emulex, LSI), iSCSI (QLogic, Intel,
others), SAS/SOE/NVM (LSI, PMC), PCI, PCI-x, PCI Express, Infiniband,
IDE/ATA/SATA, AHCI (Intel, Marvell, Promise, Broadcom), Ethernet/GigE/10/40/56/100GigE
(Intel, Broadcom, Mellanox), ISA/EISA, USB (UHCI, EHCI, xHCI),
I2C, BIOS, ACPI, Oakgate, Teledyne LeCroy.
NVMe, UFS, ATA/SATA, SCSI, FC, SAS
drives (Seagate, Maxtor, Western Digital, Hitachi, others), various CD/DVD and
tape drives
Extensive IBM mainframe experience
-- diagnostic development, test cases, advanced function design and
specification, ESCON, channel programming including virtually all peripherals
x86, Power PC, XScale, MIPS, ARM --
systems architecture (embedded Linux, RedBoot, OpenBoot, grub) – various
chipsets (Intel, Broadcom, Marvell, Cavium, TI)
Miscellaneous
Spreadsheet -- Excel
General Accounting – Peachtree,
Quicken
Project and Development Management
-- Microsoft Project, Track, Delta, SourceSafe, Subversion, CVS, Perforce, TestLink, JIRA, Jenkins, Bitbucket, GitHub, SourceTree
Proprietary bug / problem tracking
systems, test driver and tracking systems
Contact tracking software,
communications software
Large complement of development and
debugging tools