Roger Binns
Email contact: rogerb@rogerbinns.com
The position I am best suited for is one that combines Sales
Engineer, Business Development, Software Architect, Product
Marketing Engineer, Product Manager and Consultant. I enjoy
visiting customers and partners, helping to close sales, fight
fires, and having a positive impact on customer implementations
and experience. I complete the feedback loop to internal
development and product management with what worked well,
considerations of future functionality, and areas of new
potential (including development of prototypes, bug fixing and
small pieces of custom development).
My goal is to do whatever it takes to make things better for
developers, partners and customers. I prefer to work in small
companies and startup like environments.
I am located in the San Francisco Bay Area in California
(Santa Cruz), and can legally live and work anywhere in the USA
and European Union.
A note for recruiters
RELEVANT SKILLS INCLUDE
-
Business Development: Working with business oriented
people on technical issues, and technical people on business
issues, both internally and externally.
-
Architecting, designing, implementation, logistics and
consulting for network oriented products.
-
Product Management: Study of potentially new and existing
features, use cases, requirements and specification
authoring, feasibility studies, estimation and
prioritization, managing bug tracking.
-
Extensive programming experience: System and network level
with some graphical user interface. Multi-platform - UNIX
(Linux, SVR4, Solaris, various others), Microsoft Windows
(Win16, Win32, Terminal Services)
-
Programming languages: Extensive experience of C/C++,
Python, shell languages (Windows & UNIX),
Internationalization (UNICODE and locales) and working
knowledge of assembly language, web markup languages (PHP,
JavaScript etc), Java and TCL
-
Internet/Intranet: Implementation and interoperability
with many protocols including mail (MAPI, IMAP, POP, SMTP),
news (NNTP), WWW (http, AJAX, XML-RPC), files (ftp, CIFS/SMB,
NFS), directory services (LDAP), DNS, security (SSL, SSH) and
display (RDP, X11).
WORKING HISTORY
|
January 2007 - December 2007
|
Devon IT
Consultant/contractor reporting to CTO
I was brought on to do product management for BladeWorks.
After doing initial roadmaps etc, I did development work to
help bring the product to initial release and to ensure
everything was covered.
- Initial product roadmap, admin web interface
prototype, initial administrator visible component
specifications
- Critique of partner products and protocols (security,
future capabilities, interoperability with
networking)
- Designed and drove changes in partner product to
drastically simplify initial setup and configuration for
customers, resilience to network and administrative
changes
- Got a wiki up and going (trac), put in lots of
content that wasn't being recorded anywhere
- Architecture for the various components
- Protocol specifications for intercomponent
communication
- Found numerous bugs in components, fixed some serious
ones (C++, QT, strace, ltrace, valgrind, gdb)
- Implemented Apache module (C, Python), REST style
public interface (text, JSON, XML)
- Implemented CLI talking to REST (Python)
- Implemented web administration interface talking to
REST (Javascript, YUI toolkit) and admin components
(Python, Genshi)
- Implemented an automated testing system linked to
trac tickets to repeat bugs, catch regressions etc
(Python, unittest, Selenium RC, Javascript)
- Implemented a single command product build system
that produced a VMWare appliance as output (Python,
ccache, VMWare Server, Ubuntu debootstrap)
- Implemented a control console application inside
appliance (Python, whiptail)
- Implemented an automated tester with device emulators
(Python, nlite Windows installation customization, VMWare
Server)
- Implemented a core dump catcher which grabbed all
relevant information into a dump file (eg open files,
memory maps, core image) and build system component for
getting backtraces (Python, gdb scripting)
|
|
September 2004 - August 2006
|
Juniper
Networks (acquired Peribit)
(Diverse responsibilities) Product Management Group,
Application
Acceleration Products
Peribit Networks Consultant
reporting to CTO
A substantial part of my effort was focussed on
acceleration for the following protocols for the WX/WXC
platforms (in addition to some others not made public
yet):
- SMB/CIFS - Microsoft file sharing protocol
- MAPI - protocol between Outlook and Exchange
- HTTP - browser based applications
- SSL - secure sockets layer
Complete lifecycle for features/functionality
- Invention
-
- Brainstorming of new ideas for enhancing existing
product functionality and future functionality
- Techniques to accelerate various protocols and
applications from customers
- 2 patent applications
- Subject matter expert on Microsoft protocols and
products
- Product Management
-
- Assisted product managers
- Authored product requirement documents (eg for
SSL acceleration)
- Implemented prototypes to judge user experience
and feasibility (eg SSL acceleration proxy)
- Estimates of development effort and risk to guide
product management and business development
- Development
-
- Architecture discussions as well as guidance on
implementation issues
- Developed tools to analyse behaviour of our own
and other products such as graphical display of file
segment caching, heuristics for improving hit rates,
csv output from Ethereal traces for pivot table
analysis in Excel.
- Reverse engineered MAPI protocol, wrote Ethereal
MAPI decoder
- Testing/QA
-
- Tools that caused degenerate behaviour to
investigate edge cases and proper handling
- Test plan drafts to help QA ensure they provided
complete test coverage
- Sourcing of testing tools, both free and
commercial to help ensure compliance
- Authored benchmarking tools to evaluate
performance (eg Microsoft Office automator, driving
Internet Explorer)
- Marketing
-
- Initial drafts of material pushed out by product
marketing
- Found flaws in competitor products (architectural
and bad bugs), documented flaws in white papers with
test cases
- Customers
-
- Assisted support with customer issues
- Assisted escalations engineering with customer
issues
- Gathered technical information from customers to
establish how their protocol and application problems
could be solved, producing reports on suggested
solutions (go back to invention)
Communication
- Maintained Wiki for product group, used by product
management and development, authored extensions such as
display of CSV data and source code highlighting
(MediaWiki)
- Authored numerous pages
- Worked across internal product groups on issues
affecting multiple product lines currently and in the
future
- Podcast on Windows
Vista and WAN Optimization
- Active participant on internal discussion and help
groups with sales engineers
Business development
- Worked on technical side of business relationships
with 3 major software companies
- Investigation of product fit and potential
modifications to enhance joint value
Developer productivity
- Evaluated static analysis tools
- Analysis of moving from SourceSafe to Subversion
source code control system. Presentation to engineering,
ran Subversion server and authored/enhanced scripts to
migrate data.
- Spread usage of VMWare and Virtual PC in development
and QA
|
|
July 2003 - December 2004
|
Various companies
Consultant
MainSpring Ventures
Background research and analysis.
Unfunded local
startup
(October 2003 till Sept 2004)
VP, Architecture, Design, proof of concepts and
prototypes
-
Helping with company strategy moving towards getting
funding
-
Architecture of distributed multi-media
environment
-
Development of prototype software: PocketPC 2002
Phone Edition, Windows XP Embedded, data and SMS,
C++/MFC/Python, Linux web backend (PHP, Python, Perl
and XML-RPC)
|
|
August 1993 - June 2003
|
Tarantella Inc, (Formerly
IXI Limited, a division of The Santa Cruz Operation)
Cambridge, United Kingdom and then Santa Cruz,
California
Various awards such as Employee of the Year, President's
Club, Employee of the Quarter
Responsibilities:
Business Development Manager and Solutions Architect -
Strategic Alliances Group
-
Working with strategic partners to develop business
and technical relationships, to the benefit of joint
customers and partners.
-
Technical consulting on customer projects.
-
Feasibility study and prototype implementations of
potential projects.
-
Managing high priority customer issues, onsite
visits.
-
SunTone qualification of the Tarantella Enterprise
product
Previous responsibilities:
Software Architect - Development Division
-
Architecture, design and implementation of
products.
-
Member of company wide Technical Strategy Group.
-
Training world-wide, On-site consultancy.
-
Reverse engineered Microsoft Terminal Services
protocol (RDP) and file and print protocol (SMB).
Products:
- Tarantella - Three-tier application broker
- Tarantella is software that sits between an
application server and a user with a web browser. It
takes the application display protocol and provides a
optimized display for the user. Additionally by acting as
an intermediary it is possible to provide session suspend
and resume, enhanced security, load balancing and similar
functionality. I was the architect for the non-display
side from inception through shipping, later taking on
roles in sales, marketing and business development. The
company renamed itself around this product. Version 1 was
implemented in C++ with version 3 predominantly in
Java.
- VisionFS - SMB/CIFS server
- Running on Unix, VisionFS was written from the ground
up to provide Windows file and print services. It was
written in C++ and was the first C++ project for our
division. There was and extremely strong emphasis on ease
of use and data integrity. Much of the framework code was
later used to kickstart the Tarantella project. I was the
architect and team lead from inception through
shipping.
- IXI Mosaic
- Many enhancements to NCSA's Mosaic web browser to add
(then original) features such as integration of help and
proferences, client side scripting, drag and drop, URL
links. Implemented in C with TCL scripting.
- IXI Panorama
- Highly configurable and usable panning window manager
based on the Motif Window Manager. Implemented in C with
TCL scripting.
- IXI X.desktop
- Porting and maintenance of IXI's flagship desktop
product. Implemented in C with proprietary
scripting.
|
|
1989 - 1993
|
While at University I did 3 six month work placements
(required as part of the degree).
-
1990 Contracting agency: Mostly data entry, but also
IBM AS/400 and Cobol as well as supporting various
external customer DOS and WordPerfect environments.
-
1991 ICL: Ported a UNIX virtual terminal protocol
terminal emulator (it's all part of the OSI stack) to
Windows 3.0 and later 3.1.
-
1992 ICL: Wrote an email gateway on UNIX between
Novell's MHS system and X.400. Did third level support
for Netware for UNIX.
|
EDUCATION
Brunel University. BSc (Hons) Computer Science (Upper
Second)
Uxbridge, London, United Kingdom (1989-1993)
Waterford Kamhlaba United World College of Southern
Africa International Baccalaureate
Mbabane, Swaziland (1983-1988)
OPEN SOURCE/PERSONAL PROJECTS
I started all these projects to solve various problems for
myself, and provided them as open source. They include varying
amounts of contributions from others.
APSW - Another Python SQLite Wrapper
http://code.google.com/p/apsw
-
The only complete Python wrapper for the SQLite embedded database.
-
Implemented in C. Works on Windows, Linux, Mac and other
platforms.
-
Downloads were around 15 per day, but currently unknown.
Package is included in most Linux distributions.
BitPim
http://www.bitpim.org
I was the founder, project manager and lead developer.
Leadership has since successfully been handed over to someone else
and I am no longer involved.
-
An open source program that allows for managing of of
phonebook, calendar, wallpapers and ringtones with CDMA
cellular phones. (Started with LG VX4400, now incorporates
other LG models and Sprint Sanyo phones). Ships on Windows,
Linux and Macintosh.
-
Integration with other APIs and data sources (eg USB,
Windows Address Book, Outlook, vCards, Evolution)
-
Downloads around 6,000 per day (about 4.5 million total).
Usually in the top 200 most active projects on
SourceForge.
-
Implemented in Python with wxPython GUI.
-
Reverse engineered diagnostics protocol used in Qualcomm
CDMA chipset phones
-
Devised methods to update functionality on the phone (eg
calendar, wallpapers and ringtones) that other sync programs
did not support
UML Builder (Dormant)
http://umlbuilder.sourceforge.net
-
An open source program that lets you install a
conventional RPM based Linux distribution for use with the
User Mode Linux (UML) kernel. The goal is to make it as close
as possible to what the distribution would be like on real
hardware. Ships on Linux. No need to be root on host.
-
Downloads in the range of 5-15 per day (~10,000 total)
-
Implemented in Python with both commandline and Tk based
GUI
-
Correctly configures networking in new system
-
Includes a purpose built Xnest based X server so new
system can be run in graphical mode on existing desktop
-
miniroot standalone system that allows for
operations done by guest system that would otherwise require
root access on host.
IMAP Spam Begone (Dormant)
http://www.rogerbinns.com/isbg
-
An open source script that runs SpamAssassin against an
IMAP based Inbox and moves spam to a seperate IMAP folder.
Shipped as source, users have it working on Windows, Linux
and Mac.
-
About 150 downloads a month
-
Implemented in Python, no user interface (designed to run
as cron job)
-
Keeps track of already scanned messages, can be configured
to cache passwords, minimize bandwidth consumption and
various other options
PATENTS
6,362,836 Universal application server for providing
applications on a variety of client devices in a client/server
network, granted March 2002. Joint inventor.
There are currently 3 other applications at the Patent
Office.
REFERENCES
Unsung
heros of open source, John Udell column at InfoWorld.
Linked-in at http://www.linkedin.com/in/rogerbinns