Bart Trojanowski

247 Scout St.
Ottawa, ON K2C 4E6
Canada

Phone: 613/282-7102
Email: bart@jukie.net
http://www.jukie.net/

Professional Objective

I seek challenging software design and development projects. I strive to achieve quality, accuracy, performance and maintainability in the products I write.

Skills

General Experience

Kernel/Embedded

Storage

Networking

Employment History

Chief Software Architect
Diablo Technologies Inc
November 2010-Present

defined requirements and designed the software emulator of future product; performed various benchmark activities, in so doing found and resolved bottlenecks in the design; developed custom testing, data collection and visualization tools to help in characterizing performance of the software emulator; developed custom tools for the bringup activities of the FPGA based prototype; heavily contributed to the debugging, and bug fixing of the prototype; participated in product demonstrations to potential clients; identified and resolved performance bottlenecks in the design; aided in marketing and sales activities.

using the experience acquired in the first year of the project, devised an improved software architecture and implemented the design; maintains a lead role in interpreting client requirements; with the CTO office, researches and implements new corporate directions.

Consultant / Contract Developer
Jukie Networks Inc.
June 2004-2011

president of this successful consulting company specializing in Linux software design and development; has been involved in the design and implementation of 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 debuged 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.

Projects:

  • Third Brigade / Trend Micro, Ottawa; ported Windows based deep-packet-inspection firewall driver to Linux; designed a driver portability layer for supporting multiple OSes (Linux, Windows, Solaris, AIX, HP/UX); maintained code for various versions of Linux; added features, fixed bugs, debugged customer escalations, etc.
  • FinePoint Technologies, New York; porting an existing Linux based PPPoE embedded system to new hardware; profiling linux PPPoE drivers and server software to fix SMP locking bottlenecks; adding new features, like IPv6 support.
  • International Datacasting Corp, Ottawa; setting up an embedded system for a satellite based signal multiplexer; porting satellite receiver/transmitter drivers to a newer kernel; helping fix various kernel issues with other teams.
  • Safenet, Ottawa; called in to provide analysis of kernel crashes; crash analysis, researching workarounds, testing.
  • Symbio Technologies, New York; design and implementation of a small embedded system to act as a preboot environment, which obtained credentials from the user before unlocking the hard disk and booting the main OS; product was based on Linux using an ATA device with TRUST extensions; responsible for embedded system including custom drivers to talk to the SATA connected device.
  • Symbio Technologies, New York; AMD Geode based single board computer; contributed by debugging and fixing bugs in the X server and drivers.
  • Xelerance Corp, Ottawa; Linux driver for crypto hardware acceleration board from HiFn; extending functionality of OpenSwan IP/Sec stack on Linux; debugging NetBSD support for HiFn Open Crypto Framework (OCF) drivers; adding hardware acceleration support via OCF drivers to Linux.

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.

Software Developer (Co-op)
International Datacasting Corporation
Aug 1997-April 1998

designed and implemented a Java based status and control GUI for the Superflex line of satellite receivers; helped in the effort of debugging pSOS-based firmware, written in C++, that was configured by the GUI; as a result became very comfortable with switching between Java and C++; aided in the debugging efforts of a QNX system control software used to remotely control receivers; maintained transmit-side modulator software; as a side project built and maintained a Linux router & server that ran a mail spooler, a local DNS and other services.

Software Developer (Co-Op) / Assistant Project Manager
Evergreen Wildfire Systems
September 1996-August 1997

involved in the development of Sparrow GIS software; duties range from constructing graphing and charting facilities, to user interface design and debugging code for Sparrow, a program which visually represents geographical statistics retrieved from relational databases; involved in supervising and development of many projects including "Parks Fire Web," an Intranet & Internet solution to distributing public and internal forest fire information amongst its institutions.

Software Developer (Co-op)
Parks Canada
May 1995-August 1996

participated in the development of the fire management system put in place by National Parks of Canada; duties included the design of a GUI to provide remote database access functions & greater ease of use; updating this system to current client requirements, adding functionality to the existing application.

Software Developer (Co-op)
Datacast Communications
September 1995-April 1996

while on the project entitled "Newspapers for the blind" assisted the visually challenged in setting up VBI equipment in order to receive an electronic news feed; participated in a team environment to develop a WWW server, for Smart Communities, that mimicked Yellow Pages but in electronic form.

Junior Software Developer (Co-op)
Telesat Canada
June 1994-August 1994

briefly introduced to networking on IBM/9000, the Virtual Machine environment and UNIX architectures; tasks involved developing database entry sheets for personnel, payroll and security data on the VM; also developed helper applications using C on UNIX.

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; see: http://www.jukie.net/~bart/slides/git-reflections/

Devoted participant in the Ottawa Linux Users Group; presented several topics; see: http://www.jukie.net/~bart/slides/

Written various HOWTOs on Linux setup tasks; recent contributions archived in a blog; see: http://www.jukie.net/~bart/blog/

Open Source Projects

Contributed to various high profile open source projects like the Linux kernel, X-Org, Git, etc.

Maintains window manager wmii-lua; see http://github.com/bartman/wmii-lua

Contributed to Debian port to AMD64 architecture (AMD Opteron chip); see http://www.jukie.net/~bart/debian/amd64/

Involved in redesign efforts of KLIPS (kernel part of the IPSec implementation for Linux); my involvement lay in the development of a kernel-space crypto library; see: http://www.jukie.net/~bart/linux-ipsec

Developed an elf signing utility which uses the GnuPG engine for digitally signing elf executables; see: http://elfsign.sourceforge.net

... and much, much more; see https://www.ohloh.net/accounts/bartman and http://github.com/bartman