main logo

Contents

     Contact Information
Skills
Experience
Education
 

Contact Information

Address:   33 Chippenham Drive
Penfield, NY 14526-1909
USA

Email: ed NOSPAM at leafe.com (Just remove the NOSPAM)

Web: http://leafe.com
http://dabodev.com

Voice: 585.734.3881

 
   
 

Skills


My primary development language is Python. I chose Python because of its wonderful balance of power and simplicity. It does just about everything I need, from automating tasks on my server using small scripts, to creating powerful database applications.


I am also a co-developer of a major Open Source project written in Python. We are creating a database application development tool named 'Dabo'. Dabo is similar to Visual FoxPro, Visual Basic, Delphi, etc., in enabling a developer to quickly create applications for searching, retrieving, and updating data. But where Dabo shines is the fact that it is platform-independent; Dabo code runs unchanged on Windows, Linux and OS X. Dabo is also database-agnostic; it currently supports 5 major database products, and more can be added as the need arises. More information about Dabo, including its current status, is available on the Dabo website: http://dabodev.com.


I have been fortunate enough to be asked to speak at the last three Pycon conferences in the US. Besides the wonderful feedback I received from making these presentations, I've also gotten a chance to meet and talk at length with some of the best minds in the Python world.

    Over the past decade and a half, though, most of my development work has been written in Microsoft Visual FoxPro (VFP). It is a fully object-oriented database-centric language, and is fully capable of creating all three tiers of a three-tier application: it has a complete GUI environment for creating the presentation layer; it excels at creating business objects for validating data in the business logic layer; and has its own ODBC-accessible database storage. It is also a strong development front end tool for working with data in SQL databases such as Microsoft SQL Server and the open source MySQL and PostgreSQL database servers. Of course, being a Microsoft product, it is limited to Windows desktops only.


But I have primarily developed in Python for the past 5 years. I started with Python first as the result of being involved in a project converting a Windows application over to run natively on Linux, then after that doing lots of Zope 2.x development, and now because of my work with Dabo. Python is an amazingly fast and flexible language.


While I've used various programming products over the last decade and a half, the one consistent thing is that I love working with data. I specialize in not only designing a database to effectively handle your needs, but also in working with existing data structures in order to help you get the most benefit for your business.


For web applications, I have been working a lot with Zope, an open-source web application server. This entire website, for example, is written and served in Zope. It allows to easily create dynamic pages that can integrate data from almost any source (I'm using MySQL on this site) into the pages.

I have run my own website since 1996. Besides the static web content, I have a many dynamic sections written using Zope's page templating structures and the Python scripting language. The data for the site is maintained in a series of MySQL databases. You can check out the ProFox Archive Search page for an example.

       As an independent consultant, I have created applications for a variety of clients, all with different business needs. The apps thus span the range from automobile resale logistics to pizza delivery tracking. I have listed some of the more recent clients below in the Experience section. Due to this wide variety of experience, I was a Contributing Editor to FoxPro Advisor Magazine from 2000 - 2003, where I co-edited the monthly "Tips" column.

    I am one of the authors of the Visual Codebook development framework for VFP, and am currently the class librarian for the 6.x version of framework. Recently Codebook was released as an Open Source project, and is now hosted on SourceForge. I also run the Codebook Support Forum, where developers who use the Codebook framework can get answers to development questions in a peer support forum.

    I am a strong believer in community support for developers. To that end, I have hosted the ProFox email list on my site since 1999, and have just started up the ProLinux and ProPython email lists to help out developers as they start working with the Linux OS and Python, respectively. Currently, about 500 VFP developers subscribe to ProFox to get quick answers to their questions.

As a result of my support work, I have been awarded the Most Valuable Professional award from Microsoft for 10 years in a row. This is awarded to those in the community who consistently provide high quality peer-level support.
Most Valuable Professional

 
   
 

Experience

Company:
Contact:
Address:
Phone:
Email:
Project Description:



Company: The Dabo Project
Contact: Ed Leafe / Paul McNett
Phone: 585.734.3881
Email: info at dabodev dot com
Period: February 2005 — present
Project Description: Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit. This project involves designing and coding an extremely complex series of interactions among the several layers of classes so that the final result is a simple, easy-to-use tool for the developer. Since the project is Open Source, you can download the code to see the level of work that I am capable of for yourself.



Company: Government of Canada - Secretariat on Homelessness
Contact: Henry Dagher
Phone: 819.994.2417
Email: henry.dagher at hrsdc-rhdsc.gc dot ca
Period: October — November 2007
Project Description:The Secretariat on Homelessness provides software to homeless shelters throughout Canada to help them track their clients, as well as services provided by the shelter. It was working well in small cities, but slowing down unacceptably as large cities began to use it. I worked with their in-house programmer to identify the performance bottlenecks and improve them so that now the performance scales well.



Company: Cernium Corporation
Contact: Nik Gagvani
Address: 1943 Isaac Newton Square
Suite 200
Reston, VA 20190
Phone: 703.483.3000
Email: ngagvani at cernium dot com
Period: May 2007 — present
Project Description: Cernium is a leader in providing electronic security through the use of advanced video analysis. I am working with them to bring some of their newer Python-based tools to market.



Company: Access Capital, Inc.
Contact: Irene Robinson
Address: 405 Park Avenue
16th Floor
New York, NY 10022
Phone: 212.644.9300
Email: irobinson at accesscapitalinc dot com
Period: March 2002 — present
Project Description: Access Capital funds the growth of companies run by capable entrepreneurs with the talent, the integrity and the motivation to succeed. They provide immediate working capital to small and middle market companies by discounting current accounts receivable. As a result, there is a lot of information regarding these accounts receivable and the payments against them that must be tracked and reported. They have an existing, home-grown system that they've now outgrown. I have re-designed their database to better handle the relationship of all the parties involved so that the business leaders can get a clearer picture of exactly where they stand with each client.



Company: Phoenix Information Management Services, LLC
Contact: Gil Hale
Address: 43 Marr Drive
Pittsford, NY 14534
Phone: 585.359.8086
Email: gil at gilhale dot com
Period: December 2002 — March 2004
Project Description: Phoenix creates systems that help automobile dealers store, access and report on their data. I initially migrated the existing system they had from an all-FoxPro design to one that uses Visual FoxPro for the client application, but stores its data in MySQL. This added greater scalability and security without sacrificing any speed. I wrote a series of additions to my framework to make the use of MySQL-based data as easy as using Fox data. I also converted their server from a Windows 2000 system to a Linux system in order to increase stability and reduce licensing costs. This involved re-writing some of the server apps that were in Visual FoxPro into Python, as well as adding Python programs for regular backup to both local tape drive and secure copying to remote servers.



Company: eMedicine.com
Contact: Jeff Berezin
Address: 5750 Commons Park Drive
East Syracuse, NY 13057
Phone: 315/413-0661
Email: jberezin at emedicine dot com
Period: September 2000 — November 2001
Project Description: eMedicine.com is the leading publisher of medical textbooks and information on the web. It grew from a small site with a single developer publishing all of these text from Visual FoxPro tables to HTML pages. When they began to outgrow this initial design, I was brought in as part of a team to update the database design to handle future growth. We developed a structured data design using Microsoft SQL Server as the back end, and Visual FoxPro as the middle tier. All of the data was converted to XML, so that publishing an HTML page or creating a PDF document was simply a matter of applying the desired XSLT instead of a tedious manual project. I also developed the code for the registration and authentication pieces of the website, and also implemented their web-based CME (Continuing Medical Education) program, which is now the world's largest provider of peer reviewed online CME.



Company: Microworks POS, Inc.
Contact: Scott Paratore
Address: 2112 Empire Blvd.
Suite 2A
Webster, NY 14580
Phone: 585/787-2058
Email: scottp at microworks dot com
Period: January 2000 — November 2000
Project Description: Microworks POS makes Point-Of-Sale systems for the restaurant industry. Their product has been around for many years, and was recently upgraded from DOS to Visual FoxPro 6.0. I helped them through the transition by redefining their data model for greater speed and flexibility, and also designed an improved object model for their application. As a result, their application has enjoyed greater stability, and they've been able to customize it readily for individual clients.



Company: Remarketing Services of America

(a DaimlerChrysler subsidiary)
Contact: Mary D'Arrigo
Address: 40 John Glenn Drive
Suite 100
Amherst, NY 14228
Phone: 716/553-5530 (note: company is no longer in business)
Email: mpdarrigo at hotmail dot com
Period: October 1997 — May 2000
Project Description: Remarketing Services of America (now part of FiServe) was an incredibly fast-growing company which handles automobile end-of-lease processing for banks and other leasing groups. Their internal software has to track hundreds of thousands of cars, their owners, their lease terms, and their locations, throughout a complex process involving lease endings, cars getting bought or turned in and then re-sold. I was the chief class designer and librarian for this project, which lasted over two years and involved over a dozen developers. When I finished work there, there were over 300 simultaneous users running this networked application, which used Visual FoxPro for all three tiers: presentation, business logic and data storage.



Company: Flash Creative Management
Contact: Y. Alan Griver
Address: 433 Hackensack Avenue
Hackensack, NJ 07601
Phone: 201/489-2500 x202
Email: yag at microsoft dot com
Period: 1992 — 1998 (various projects)
Project Description: Flash Creative Management was a consulting group whose clients include Corning, 3M, AT&T, Pitney Bowes, American Express, Microsoft, ACNielsen and others. I have known them for years, and worked with them on many of these projects. They were bought out by GoAmerica in the fall of 2000, and Y. Alan Griver, one of the principals of Flash, has since moved on to a position at Microsoft.



Company: AT&T, Office of the President
Contact: Ross Brooks
Address: Basking Ridge, NJ
Phone: 973/376-6372
Email: - current email unavailable -
Period: May 1997 — January 1998
Project Description: AT&T has a system for tracking customer complaints. When these complaints do not get resolved by a first-line representative, they get escalated an are recorded in a system that ensures that they do not get ignored or forgotten. The existing system was slow and could only produce a fixed number of hard-coded reports. I was brought in for two purposes: to design a system to replace the one they had, and at the same time to train the in-house staff in application analysis, design, and coding. After a month of analysis and design training, we began implementing the app, with me acting as project manager and mentor to the staff programmers. Ross Brooks was the executive in charge of the programming team; he has since left AT&T, and I do not have a current email address for him.



Company: AT&T Capital Corp.
Contact: Vern Bradner
Address: 44 Whippany Rd.
Morristown, NJ 07962
Phone: 201/397-4083
Email: Vern_Bradner at attcapital dot com
Period: March 1994 — November 1995
Project Description: This project was an overall re-write of the Treasury Department systems at AT&T Capital. Previously, they had had a number of separate systems which did not share data or "talk" to each other. I worked with Vern to redesign the applications so that they shared a common database, and also added many new features along the way.


 
   

Education

September 2000, Programming WebObjects I
    Apple Computer, Toronto, ON
 
1980, Michigan State University
    B.S. in Biochemistry, with Computer Science minor
Graduated with High Honors

 
   
 
Powered by Rackspace Cloud Computing
Powered by Rackspace Cloud Computing