last changed January 2005

Nicolas S. Dade

Santa Cruz, CA, 95062
(831) 464-6843
ndade@nsd.dyndns.org


OBJECTIVE


An employee or contract position in Santa Cruz or San Jose developing software involved with network security, cryptography, the Internet, C++, or Java.


SKILLS


C, C++, STL, Java, Encryption & Security, Windows/linux cross platform development, linux kernel network drivers, NT/2000 kernel device drivers, COM servers, OO & relational Databases, ethernet & IP networking and load balancing, linux software development & admin (sendmail, exim, innd news, apache, samba, bind, vrrp, zebra), Client-Server middleware, HTML & XML, PHP & ASP, WWW server administration, PC/SC & smartcards, WinNT 4.0 & Win2000, WinCE, OS/2, embedded devices, USB, 680x0, ARM, MIPS, PPC (e500), x86 cpus, build (make) environments, version control environments, dll's & so's, RTXC RTOS.

SOFTWARE & HARDWARE TOOLS

Gnu development tools (gcc,gdb,objcopy,etc) and cross development, Abatron BDI2000 JTAG debugger and Metrowerks CodeWarrior and PowerTapPro JTAG debugger, CVS, Subversion and Clear Case (yuck) version control systems, Checkpoint firewall, IIS 4.0 & ASP pages, Visual Age for Java, Java Workshop, Matlab, TeX, Netscape Enterprise Server, Apache Server, Visual Age for C++, TIBCO's Rendezvous, DreamWeaver, Microsoft Visual C++ 5.0 & 6.0, ARM SDK, VideoToaster and Lightwave.

COMPUTER LANGUAGES

I've used bash shell scripts (extensively), Java (extensively), C++ (extensively), HTML (extensively), awk, PHP, XML, SQL, Scheme, C (extensively), 6502, 68000 and ARM assembly (extensively), ARexx (a superset of IBM's Rexx), Visual Basic, SQL.
I am familiar with Forth, GAP, Lisp.

OSes

Linux (Redhat, Debian, homegrown), WinNT 4.0 & Win2K, Solaris, Win95 & 98, WinCE, OS/2, MS-DOS, Windows 3.1, AmigaDOS, RTXC RTOS.

EXPERIENCE

10/04 to present Symbol Technologies, San Jose, CA.
Principle engineer. Software architect.
  • Implemented cross compile development system targeting multiple CPUs and platforms.
  • Implemented in-house linux OS for wireless switches for multiple CPUs.
  • Implemented bootstrap mini-OS for MPC8541E PPC based system. (0xfffffffc to 0xc0000000)
  • Interfaced with hardware engineering and manufacturing team on bring-up and manufacturing tests.

12/00 to 10/04 Nortel Networks, Santa Clara, CA.
Lead engineer for Alteon Switched Firewall network security products.
  • Lead engineering of Switched Firewall from version 1.0 onward. This spans ethernet and IP network security, linux kernel development and security, and embedded linux user-space.
  • Pushed Alteon and Nortel toward embedded linux in other products.
  • Helped design Nortel wireless LAN security products.
  • Ported firewall and control protocols into Passport 8600 switches.
  • Implemented IGMP snooping on Alteon web switches and load balancing blade server switches.
  • Implemented packet capture on Alteon web switches and load balancing blade server switches by porting libpcap to the switch fabric.
  • Talked a lot about integrating network security features into Nortel switching products.

10/00 to 12/00 Global Smart Systems, Mountain View, CA.
CTO (and co-founder and lead engineer).
  • Wrote browser plugin (Win32 & Linux) to implement Smartcard banking login protocol.
  • Helped develop server-end authentication and application security gateway.

10/99 to 10/00

eMedius Inc., Santa Cruz, CA.
Director of Engineering (and lead engineer, and unix IS).

  • Recruited technical staff. Managed the development of the online applications and the graphics content in coordination with the CTO and later the VP of Eng.
  • Wrote an application server in C++ wrapped around the Apache web server module interface, the RogueWave DBTools++ class library talking to Oracle 8i, the Xerces XML class library, and the Mime++ mime and mail class library. It was developed on both Win2K and linux. This server runs the vdb.emedius.com online application.
  • Setup a load balancer for the co-located servers using the high availability linux UltraMonkey project's router.
  • Setup and administrated the company email, news, web, file and DNS servers, all on linux (sendmail, innd, apache, samba and bind), and the in house networking (SonicWall & ipchains firewalls + NAT).
  • Helped write a web & pdf content checker.
  • Helped put together the intranet and customer web sites, powered by php4 scripts.

10/99

Symeo Inc., San Jose, CA.
Consultant (Software Engineering).

  • Rapidly developed the first version of Symeo's WinCE client using C++ and HTML.

8/97 to 10/99

N*Able Technologies, Inc., Cupertino, CA.
Software Engineer and jack of all trades.

  • Designed and implemented in C the memory management and X.509 certificate caching module in the embedded device (a security processor built around the ARM cpu and several hardware cryptographic units). Wrote the low level debugger. Designed the software representation of the hardware. Ported the RTXC real-time OS to the device. Helped design the device driver and general I/O architecture of the device. Designed and implemented the keyboard matrix scanning device driver, and the random number generator device driver. Helped designed the random number generator hardware.
  • Designed and implemented the embedded device's PS/2 (keyboard), RS232 and USB driver software.
  • Designed and implemented in C++ a software simulation of the device's custom hardware, linked that to the ARM supplied simulation of the ARM processor, and linked all that to the ARM supplied software debugger in order to provide a development platform for myself and the other software engineers.
  • Designed in implemented in C++ a generic (template) database of blobs, generic file and mutex classes, and a variety of the usual helper classes (array, string, auto_ptr). All these were cross-platform, and ran on both WinNT/95/98, linux and solaris.
  • Installed and maintained the cross-platform build environment (VC++ on WinNT/95/98, g++ and gcc on linux, win32 and solaris, armcc/armasm on WinNT/95/98 and solaris), for a variety of hardware targets (the device itself, a verilog simulation of the device, an ARM development board, the software simulation of the device, and just plain executables).
  • Tweaked the NT PS/2 port kernel mode device driver to make it interface with the N*Able product.
  • Designed and implemented a COM server which supplied an uniform interface to the N*Able product for Win32 level users.
N*Able Tech was bought by Wave Systems in 7/99.


12/96 to 6/97

Delivering The Goods, Inc., San Jose, CA. (a startup; 10 employees as of June '97)
Software Engineer.

  • Designed and implemented in Java the communications module, the security module (encryption, key and ticket distribution, signatures, authentication, pseudo random number generation), and the persistent object representation based on the CORBA persistence model that sat on top of an Oracle database. The communications module was a wrapper around TIBCO's Rendezvous middleware product.
  • Maintained the developer portion of the company web and news site, which served as a coordination point for the development team. The site ran on my workstation using the Netscape Enterprise Server for Windows NT 4.0.


8/95 to 12/96

Computational Modeling Lab, Dept. of Political Science, University of Illinois.
Software Engineer.

  • Wrote from scratch an OS/2 data visualization application (it displayed maps overlaid with numerical information) and a slew of little helper programs in C++, using the Visual Age for C++ IDE. dll's and a custom written database were used to create a flexible object representation of the visualized data.
  • Maintained and modified existing MS-Windows 3.1 C and C++ programs.
  • Debugged a huge and old C/C++ Win3.0-ported-to-OS/2 numerical simulation program under deadline pressure.
  • Trained summer interns in Windows 3.1 and OS/2 PM C++ programming.


1988 to 1995

Wrote in C, C++, and 6502 and 68000 assembly for my own pleasure (mostly 68000 assembly). I have published many of these programs as freeware on BBSes and on the Internet, and some have been included in CD-ROM collections and/or mentioned in magazines.


EDUCATION


University of Illinois, B.S. with honors in Physics in May 1992.
GPA: 4.3/5.0

University of Illinois, Jan 1993 to May 1995, as a non-degree student in Computer Science.
Cumulative GPA: 4.47/5.0
GPA, Jan 1993 to May 1995: 4.93/5.0


PERSONAL


Dual citizenship: US & French.

Bilingual French-English.

HAM radio license (N9RZB). Ex-Member of Synton (University of Illinois Amateur Radio Club), where I was the designer and programmer of the club's DSP project.

Set up and ran my own web site, including cgi scripts, a search engine and secured areas.
http://nsd.dyndns.org/




Text version of résumé.
Open Office version of résumé.
MS-Word version of résumé.