247 Scout St.
Ottawa, ON K2C 4E6
Canada
Phone: 613/282-7102
Email: bart@jukie.net
http://www.jukie.net/
I seek challenging software design and development projects. I strive to achieve quality, accuracy, performance and maintainability in the products I write.
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:
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.
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.
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