Philip Budne, Consultant
phil at Ultimate.COM
Arlington, Ma
Specialties:
- Un*x wizard; over 30 years professional experience with Unix/BSD/Linux
systems programming and system management
- TCP/IP protocol implementation and application development
- Making things work (practical orientation)
- Quality, Reliability, Scalability, Delivery on time
- Wading into, and draining swamps
- Porting (applications, drivers) to new Unix/Linux distributions
- Python2 to Python3 ports
- Amazon Web Services: EC2/ASG/SQS/DynamoDB/Redshift
- Low level programming: device drivers, kernel development, hardware interfacing
- Respecting and adapting adapting existing code and infrastructure
- Doing the nasty, gnarly stuff other people don't want to do
- Parsers, Little Language implementations
- Crafting tools, scripts, and little languages to help get the job done
- Odd jobs: No job too small, no mess too large
Full, chronological resume
LinkedIn Profile
Independent Consulting/Contracting
(December 1993 - present)
Past projects include;
- Diagnosed driver issues on Linux using perf and flame graphs.
- Ported large VoIP/SIP based voice conferencing system from RHEL5 to RHEL7,
and then to RHEL8, controlling all build/runtime parameterization in a single
config file per target system.
- Diagnosed and fixed performance problems in FreeBSD based Software-defined networking product (embedded appliance and co-located concentrator) using dtrace, PMC and Flame Graphs.
- pthread parallelization of VoIP Media Control Unit (MCU).
- Helped resurect PDP-7 UNIX;
Typed in system (kernel), helped debug & comment system, as, ed.
Determined details of disk layout.
Implemented a shell, "ls directory" and bootstrap in PDP-7 assembler.
Resurected TMG compiler-compiler.
- Designed and implemented realtime data store for vehicle tracking
(prototyped with Cassandra, deployed using Amazon DynamoDB)
- Deployed services on Amazon Web Services EC2 using ansible
- Processed approximately 1 billion records of historical data
(in various formats) using Apache Spark on Amazon EMR
- Thin SQL query library in Python with automatic caching (a tiny ORM) using AWS Elasticache, Redis, memcached
- Python message queue library supporting Amazon SQS and files with JSON and CSV encoding, multiple destinations
- Implemented encrypted and signed firmware upgrade for embedded Linux platform using OpenSSL APIs.
- Wrote hard disk management scripts for embedded Linux platform
- Enhancements to 30K TCP/SSL connection multiplexor, including
edge-triggered epoll, Websockets, IPv6
- C++ classes implementing REST interface to Video Conference MCU
- C++ classes implementing client and server side for connection multiplexing protocol
- Modified application upgrade procedure to allow upgrades to be performed
on a mirror copy of the system disk while live application is running
to minimize down-time and allow fallback.
- Implemented framework for transmitting XML representations of
configuration updates Configuration Management Server using
Java Persistence API (JPA). User describes data objects using
Python objects which are used to generate Java object
declarations with methods for XML parsing and XML object dumps.
- Implemented low overhead VoIP Call Quality Metrics generation and reporting via RTCP-XR.
- Enabled Multi-threading in VoIP (RTP) Conferencing Mixer.
Designed and implemented class-oriented voice codec interface
- Designed satellite data collection/communication protocol.
Wrote portable implementation for Linux server
and remote embedded (Linux, uCos II, eCos) targets.
- Implemented framework for easy implementation of SNMP MIBs.
Perl descriptions of objects used to generate consistant MIB files.
Implemented MIBs for system monitoring, alerts and statistics
- Merged three codebases for software license generation into one,
with facilities for customization/branding
- Ported large VoIP product from RedHat 9 to RedHat Enterprise Linux (RHEL4)
- Designed and implemented mailing list database with
polymorphic web forms using JavaScript and Perl CGI back-end.
- Desktop collaboration (application sharing) environment for
browser based integrated conferencing, IM and presentation product.
Project included Win32 "leader software", Linux multiplexor
"middle-ware" and Java "viewer". Implementation used
existing facilities for multiplexed data transmission and SIP
signaling.
- Device Drivers on SunOS4, Solaris (sparc & x86),
AIX, HP-UX, Linux, NetBSD, FreeBSD, Windows 9x
for PCI, ISA and S-Bus hardware.
- Implementation of "e-mail appliance" (using sendmail, IMAP, POP, procmail, spamassassin) with user web interface
- System management tools development (Serial Line Console Manager product)
- Java classes to interface to "legacy" network protocols
- Java JNI classes for interface to Unix system functions
- Participated in Bring up & debug of new PCI, ISA and S-Bus cards.
- Diagnostic software for new hardware
- Obfuscator for Perl language programs
- Low overhead Perl modules for Encryption, CRC, HTTP
- Unix system management, including DNS, sendmail, Apache,
Solaris, Linux, HP-UX, AIX, IRIX, NetApp, FreeBSD, OpenBSD
- IP network & firewall design and management including CISCO IOS and PIX,
OpenBSD
- Replaced network of old servers with single file & backup server
- Web site design and Implementation for non-profit organizations
- Portable implementation of SNOBOL4 language system (runs on a wide variety of Unix platforms, Linux, Win32/64, VMS)
- Contributed packages to Python Package Index (PyPI) for networking and
JSON data storage/search
Shiva Corporation
(August 1990 - November 1993)
Instrumental in development of FastPath 5 (68000/Z181 based
AppleTalk/IP router) and LanRover 2.0 (68020 IP/IPX Dialup server)
products.
- FastPath Project leader
- Improved performance, reliability of existing system firmware
- FastPath 5 Project Leader for Hardware/Firmware team (5 engineers)
- Participated in hardware design, and debug
- Ported existing code-base to new hardware,
while maintaining application
compatibility. Wrote Ethernet driver
(Fujitsu Etherstar). Designed and
implemented multiprocessor software interface.
Implemented SNMP MIBs, DECnet transport (NSP),
and Network Management Listener (NML).
- Supervised ten firmware component releases
- Represented company at nine IETF meetings
- Principal Architect of "ShivOS" multiprotocol firmware code-base
- Cleaned and restructured existing code base
- Designed system layering
- Designed & Implemented:
Configuration management,
Build environment,
Remote Debugging,
Memory management,
Ethernet device driver (Fujitsu NICE),
Threads,
Synchronization,
Logging,
Firmware/Application device discovery interface,
Network interface class hierarchy,
SLIP,
Async HDLC,
IP Multicast (IGMP),
Classless IP Routing Table,
RIP (v1 & v2),
User device I/O layer,
User device drivers for Serial, UDP, TCP,
Byte oriented I/O layer (including TELNET),
Authentication/Authorization/Accounting framework,
Multi-threaded SNMP server.
- Ported TCP, IPX, SPX.
- Consulted on design of additional components
- Firmware lead for LanRover 2.0 product
- First project to use ShivOS
- Responsible for all firmware issues (5 team members)
Boston University, Distributed Systems Group
Systems Programmer/Analyst III
(Sept 1985 - July 1990)
- Unix systems programming and system management
(Sun, VAX/BSD, Encore, AT&T)
- Created database and utilities for campus wide Unix account management.
- Laser printer software development and maintenance
(Talaris/QMS), PostScript, MDQS, CAP (Macintosh networking), TeX
- Ported network and printer device drivers to 4.3BSD
- Site DDN Technical Contact, Zone Contact
- Created utilties for DNS database managenment
- TOPS-20 systems programming/management
- AppleTalk/IP Networking
Digital Equipment Corporation, Marlborough, Mass.
Software Engineer in "Large Computer Group" (LCG/LSG/HPS&C)
(November 1981 - August 1985)
- Member FORTRAN-10/20 Compiler Team for TOPS-10/20 --
- Wrote extensions to compiler and runtime system
for extended addressing, nested includes, compile-time
arithmetic on COMPLEX constants
- Participated in design reviews and code inspections
- Wrote regression tests for FORTRAN-77 compiler
- Member Advanced development team for "SAFE" 64-bit RISC Machine
(SAFE begat PRISM, which begat Alpha)
- Wrote instruction scheduler for VAX to RISC code translation tool.
Skills:
- Languages:
- C, Python, shell, AWK, JavaScript, C++, Perl, YACC/Bison, Lex, Java, HTML, XML, XPath, SNOBOL4, BLISS, TECO
- Systems:
- Linux, Unix (BSD, Solaris, IRIX, AIX, HP-UX), Android, Win32, TOPS-20, TOPS-10, VMS, RT-11
- Protocols:
- TCP, UDP, IPv6, Websocket, JWT, OpenID, RFB, RTP, TELNET, DNS, SNMP, PPP, SSL/TLS, AppleTalk, IPX, DECnet
- Tools:
- git, github, Docker, Podman, Docker Compose, Flask, make, Apache, nginx
- Architectures:
- x86, AVR/ATtiny, ARM, 68K, PowerPC, SPARC, 68HC11, Z80, 8051, PDP-10, PDP-11
Education:
- BA in Psychology from Boston University, 1986
- Graduate courses in Computer Architecture, Operating Systems, Compilers
- Alcatel-Lucent "Introduction to Scrum"
Awards
- Bell Labs Teamwork Award (May 2009)
Back to Phil's Home Page