Resume
Bart Trojanowski⌗
247 Scout St.
Ottawa, ON K2C 4E6
Canada
Phone: 613/282-7102 Email: bart@jukie.net http://www.jukie.net/~bart/
Professional Objective⌗
Qualified programmer, architect, and consultant. 25+ years of Linux development experience, 20+ years driver and kernel work. Specialties: Linux kernel, drivers, multi-platform, security, memory, storage, optimization.
Employment History⌗
Chief Software Architect⌗
- Thikra Technologies
- 2018 – Present
Conducted research, prototyping, development, and optimization of custom virtual memory paging software in a Linux kernel module. Using Linux Kernel, TCP/IP, Valgrind, DynamoRIO, page tables, custom virtual memory management driver, disassembly, virtual memory, memory management, PMEM, PMDK, RocksDB, dynamic library preload.
Consultant / Contract Developer⌗
- Jukie Networks Inc.
- June 2004 - Present
President of this successful consulting company specializing in Linux software design and development; has been involved in the design and implementation of multiple AI/ML inference accelerator frameworks, AI video ingestion pipeline, a distributed file system, development and porting of several PCI device drivers, and continued development of a Linux IPSec stack; has helped clients draft the architecture for embedded platforms, designed cross-platform driver and system software, and debugged various kernel and real-time issues; has been involved with system bootstrap and x86 BIOS, the X.org system, Linux network internals, deep packet inspection, PPPoE/PPPoA server software, and security software; has contributed patches to open source software, and given lectures on the Linux kernel and Git revision control tool; as part of ongoing efforts to keep current, is passionately following various open source projects such as the Linux kernel and Google Android.
Senior Software Architect/Consultant⌗
- Untether AI
- Jan 2022 - May 2025
Joined to support hardware bringup activities, Linux kernel driver development for high performance PCIe device, debugging/fixing existing issues, and supporting customer engagements. Heavily involved in design of the software interfaces to next 2nd and 3rd gen product. Architected, developed, and deployed C++20 based tools for managing custom GPU ASIC, optimized for ML inference workloads. Implemented various debug facilities, help in debugging bringup issues. Using Linux kernel, Linux perf and debug tools, AI/ML frameworks, clang tools, cmake, docker, amd64, x86-64, Risc-V, Aarch64.
Software Developer/Consultant⌗
- C2RO
- Jul 2021 – Sept 2024
Performance optimizations and security assessment for video AI/ML pipeline. Improving CPU utilization, multi thread efficiency, porting Python to C++. Using Linux, gstreamer, ffmpeg, SWIG, OpenVINO, OpenCV, OpenMP.
Senior Software Architect⌗
- Formulus Black
- Dec 2019 – Jul 2021
Providing research, development, and optimization services for Formulus Black, a venture backed startup enabling next-generation persistent in-memory computing, without peripherals or application changes. Using Linux kernel, PMEM/DCPMM, storage drivers, ramdisk, SPDK/DPDK, userspace drivers, AVX-512, lockless algorithms.
Chief Software Architect⌗
- Diablo Technologies Inc
- November 2010-August 2017
Involved in 3 main projects:
“MegaDIMM” project: Initially designed and implemented a software simulation environment. Developed as a block device driver in C on Linux. Implementation ran cycle-exact simulation of hardware Diablo would later build in FPGA. Coordinated FPGA board bringup, porting simulator to driver, assisted in FPGA design, and firmware debug.
“TeraDIMM” project: Heavily involved in designing a software stack to support Diablo’s Memory1 hardware architecture. Implemented driver on Linux, and helped to port it to Windows and VMware ESX. Heavily relied on Linux tool chain, oprofile, Linux perf, and in house tools for gathering performance numbers. Concentrated on performance characterization and code optimization.
“DMX” project: Prototyped, designed, and developed initial prototype of Diablo Memory eXpansion software stack. Initially implemented as a modification to Linux kernel, and later ported to be a loadable module. Operational on host, KVM and containers. Implemented custom page fault handler using private PTE page-table tree. Worked with the software team to productise it. Designed initial smart prefetching algorithms that would keep ahead of the application paging in data the application would require. Added support for DMX to use NVME devices. Heavily relied on Linux tool chain, Linux perf, Linux crash tool, and in house tools for benchmarking DMX. Concentrated on improving performance of the design, and removing multi-threading bottlenecks.
Software Developer⌗
- FortiNet
- March 2004-June 2004
Worked on debugging and extending the functionality of the FortiLog product, which was designed to collect events from other FortiNet units and generate reports; scope extended to developing software to handle various RAID configurations, detecting and acting on faults, and helping integrate code into several existing products.
Software Developer⌗
- SOMA Networks
- September 2001-March 2004
Designed, implemented, and responsible for a set of drivers handling telecom radio communication and configuration, via PCI bus using async DMA; the target platforms of said drivers were arm-linux and x86-linux.
Software Developer⌗
- Chrysalis-ITS
- January 2000-August 2001
Designed, implemented, and responsible for maintenance of a cross platform (Linux/FreeBSD) driver and debug tools for a PCI device; helped in porting it to WinNT and Solaris; designed and implemented an automated testing environment for the PCI device; involved in porting a kernel IPSec implementation to use a hardware accelerator; wrote various kernel modules to exercise the Chrysalis-ITS hardware; also, worked on various internal tools used by the firmware developers; provided Linux tutelage to other project developers; as a background task maintained a project CVS/NFS server for various developers.
Software Specialist⌗
- International Datacasting Corporation
- May 1998-January 2000
Developed and maintained a Java based status & control application; researched the needed tools and support software, in part designed, and developed the majority of the firmware to drive the next generation Superflex product; firmware was written in C++, taking advantage of POSIX threads, and ran on Linux; reduced a Linux install to fit on an 8M flash disk; extensively involved in design of the firmware and control protocol specification for the new data satellite receiver; solely responsible for research of technologies and development of the firmware.
Education⌗
- Bachelor of Science in Computer Science with Software Option, May 1999, Carleton University.
- Five year Co-op program. Degree awarded with Highest Honours standing.
- Studies concentrated on: Computer Networking and Cryptography, Operating Systems & Real-time Systems, Object Oriented Programming, Artificial Intelligence, Computer Graphics & Simulations, and Database Development.
Miscellaneous⌗
Lectures and presentations⌗
- Lead organizer of the Ottawa IPv6 Summit.
- Active participant in the Linux Symposium; including organizing talks and running tutorials.
- Given several well received lectures on Git.
- participant in the Ottawa Linux Users Group.
- Written various HOWTOs on Linux setup tasks.
Open Source Projects⌗
- Contributed to various high profile open source projects like the Linux kernel, X-Org, Git, etc.
- Contributed to Debian port to AMD64 architecture (AMD Opteron chip).
- Involved in redesign efforts of KLIPS (kernel part of the IPSec implementation for Linux).
- Continue to contribute to projects on github, debian, etc.