Technical Achievements and Experience

James R. Bergsten

5025 Sleepy Hollow Road

Cameron Park, CA 95682-1915

(530) 672-1415

 
jim@thebergstens.com
 
http://www.thebergstens.com/resume

 

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