Resume

Contact

Jim Powers
jim(at)corruptmemory(dot)com
www.corruptmemory.com
639 Delaware Avenue
Ridgewood, NJ 07450

Intro

I am an “all-around” computer programmer and technology maven. Although I have done quite a bit of Web-related work, I am equally at home with embedded systems, system-level development, numerical-analysis, machine-learning, artificial intelligence, distributed systems, computer language design, and more. What interests me is not some pigeon-holed job slot, rather the application of technology to better the human condition; using the tools science, mathematics, and technology have made available to make each us smarter and more effective at achieving our individual goals.

As you read through my employment history, please keep in mind: I’m not looking to follow a “career arc”: I am somewhat of a generalist by nature, and a wide variety of computer-related problems interest me. As a result, I track and analyze activity in broad range of computer science and software engineering subject areas. Additionally, I spend a considerable amount of my free time exploring software engineering approaches, both based on existing and emerging trends, but also developing techniques and approaches of my own. This web site, www.corruptmemory.com, is, in many respects, long-overdue: I have a lot to share, and hope that some of it will be either useful to you or at least will encourage you to think critically. In short: my professional accomplishments are a very limited representation of what I have to offer – my past is what it is, it is the future I wish to help shape.

One final note: although I will not “say no” to opportunities that involve developing applications using closed-source software, my preference is to work with free and open-source (FLOSS) tools wherever possible. Perhaps you or your organization is looking to migrate to a FLOSS platform, I may be able to help.

Kinds of work

  • Web, Desktop (stand-alone and client/server), Server (services/daemons), Systems administration, Network design and deployment, Distributed systems, Database design and development, Embedded Systems.

Programming Languages

  • C/C++, Ruby, Perl, C#, JavaScript, Java, Common-Lisp, Scheme, PHP, Python, Lua, Objective-C, others…

Operating Systems

  • GNU/Linux (several distros), Windows, OS X, others…

Frameworks

  • Ruby on Rails, Merb, Template Toolkit, HTML::Mason, Smarty, JSP, Servlets, J2EE, ASP/ADO.NET (and classic), WebObjects, Win32, others…

Employment History

Outside.In (OI) (web site)

Director of Platform Architecture/Software Development Lead [2009-current]

DigitalRailroad.net (DRR)

Director of Platform Architecture/Software Development Lead [2004–2008]

  • Web-based platform providing a comprehensive on-line presence, automation tools, and e-commerce solution to professional photographers and photo agencies.

Responsibilities Included

  • Technical leadership, platform architecture, software design/development lead, infrastructure planning, recruitment/staffing, mentoring, research and development.

Accomplishments Included

  • Free/Open-Source technology evangelist/mentor — Promoted the use of free/open-source technology throughout DRR. Educated engineering staff about the practical benefits of free/open-source software.

  • Designed, developed, and implemented free/open-source software transition plan at DRR — Migration from ASP.NET to a GNU/Linux-based platform. This transition plan included training DRR engineering staff on numerous Linux-based technologies and packages including: Apache (and various modules such as mod_proxy, mod_rewrite, and mod_perl), Subversion version control, Ruby, Perl, Ruby on Rails, Ruby Gems, Postgres, OpenSSH, Gentoo Portage, and many others.

  • Designed and developed scalable distributed image delivery system — Solution was built using Apache, mod_perl, Perl, ImageMagick, ImLib2, ExifTool, Postgres, Samba, and numerous other Perl packages.

  • Designed and developed numerous library components used throughout the DRR site — Adapted RoR to DRR needs (via plugin), several Ruby gems, internal Gentoo portage packages, image metadata manipulation tools, patches to the RoR SQL Server driver, numerous UI toolkits in both RoR and C#/ASP.NET for displaying paged results efficiently, JavaScript libraries for efficient drag-and-drop slide manipulation, nice C# library for making self-managing/deploying services, among others.

  • Designed, developed, and implemented HMAC Web-services filter in Java for the Jersey WS library — Had responsibility for creating a filter for the Jersey library to declarative and transparently check the authenticity of request packets. Our hosting environment was Tomcat 6, but we were migrating to GlassFish. Filter implementation utilized Google Guice AOP framework. I am continuing development of the filter and moving to Spring for AOP and will release the filter back to the Jersey project.

  • Designed and developed full-text metadata indexing system based on Apache Lucene — Initial implementation done under Windows using C#/CLR using Lucene.NET. Multi-threaded indexing service robustly isolated various parts of the indexing process for fault tolerance and improved throughput. Began work on moving indexer to Java to run under GNU/Linux.

  • Designed and developed various components of the DRR Web site user interface

3C Company, Inc. (web site)

Lead Software Engineer [2002–2004]

  • 3C is an ISV, VAR, and service-based company serving the pharmaceutical industry. I was deployed on two projects while at 3C; Shering-Plough and Pfizer were the clients.

Responsibilities Included

  • Technical leadership, platform architecture, software design/development lead, mentoring, research and development.

Accomplishments Included

  • Trained existing staff on Microsoft .NET Technologies — This included training on C#, ASP.NET, ADO.NET, Win32-.NET interoperability, and Windows Forms. Prior background was exclusively in PowerBuilder.

  • Designed, developed, and implemented JavaScript library to support a complete DHTML interface using AJAX. — Before being converted to a Windows Forms project, the initial request was for a Web-based solution. Built a comprehensive AJAX-enabled JavaScript UI library. Plan was to use the same UI library with a hosted back-end in a disconnected environment. Due to development risks and complexity of approach was abandoned for a Windows Forms-based client.

  • Designed, developed, and implemented Windows Forms-based client — Client was implemented in C#, and operated both connected (Oracle back-end), and disconnected (SQL Anywhere back-end). Numerous custom UI components developed in support of this project.

WinPro, Inc. (web site)

Consulting/Network support [2002]

  • Provided consulting and support services through WinPro to various clients including: New York University and Slingo, Inc.

Bluetip, Inc.

Co-founder/CTO [1998–2001]

  • Formed Bluetip with three other co-workers from NNY. Bluetip was a small development shop primarily focused on Web start-ups and wireless development.

Responsibilities Included

  • Technical leadership, business development, product selection/recommendation, platform architecture, software design/development lead, recruitment/staffing , mentoring, research and development.

Accomplishments Included

  • Designed, developed, and implemented an extensible music-playing client in C++ under Win32

  • Designed, developed, and implemented a set of COM+ components in C++ to ease Web site development and improve performance — Bluetip implemented a number of Web sites for various clients. Implemented COM+ components in C++ (using ATL) that could be used from (classic) ASP, and Microsoft Transaction Server (MTS) to make it easy to interact with distributed merchants, and for building customized communication workflows.

  • Designed, developed, and implemented a IP multi-cast voting framework in C++ in support of load-balancing and fault-tolerance of data processing COM+ components. — Developed a C++-based framework for the building of self-managed clusters of COM+ data processing components. The purpose of this framework was to make it very easy to setup and manage large data processing clusters using the COM+ component architecture.

  • Designed, developed, and implemented J2EE private-label publishing system — Developed a Java-based Web front end to their system that allowed client to produce private-label versions of their product. System was implemented using JSP, custom Servlets and was deployed in IBM’s WebSphere.

Nicholson NY (NNY, now IconNicholson) (web site)

Engineering Director [1994–1998]

  • Co-managed the engineering department (growing to approximately 16 people). Started as the sixth employee of a company that grew to more than 100 in two years.

Responsibilities Included

  • Technical leadership, business development, product selection/recommendation, platform architecture, software design/development lead, recruitment/staffing, mentoring, research and development.

Accomplishments Included

  • Designed, developed, and implemented customized DB and image processing tools in C++ for CD-ROM-based product. — Developed high-performance custom data access tools for slow CD-ROM media, also an image viewing framework for viewing very large images efficiently off of slow CD-ROM media. All work in C++ using Win32.

  • Built numerous web sites using diverse tools — Objective-C/WebObjects, (classic) ASP, Oracle Web Server, custom/in-house tools written in C++ using NSAPI and ISAPI.

  • Image processing library for Macromedia Director — Various transition filters in C++ for our Macromedia Director location-based projects.

Stevens Institute of Technology (web site)

Lead Software Engineer [1991–1994]

  • Lead software engineer and designer on the team that developed a constraint-based expert system that integrated with the CAD system PRO/Engineer. The development effort included a language system for expressing rules about the design of plastic parts, a constraint analyzer and the integration with PRO/Engineer. The system was entirely developed in C++.

Autonomy Computer Corporation

Lead Software Engineer [1988–1991]

  • Primary responsibilities was the development of an operating system for the Autonomy PT, including device drivers, bootstrap code, and program loader. Also, lead the design effort for the application suite that came bundled on the PT including a calculator, notepad, personal information manager (to do list manager, phone book, personal scheduler), and host application used to transfer programs and data between the PT and a PC. Development was done in C and various assembly languages (8086, 65816, 68K)

Stevens Institute of Technology (web site)

Research Assistant [1986–1988]

  • Worked with Professor Walter C. Ermler, a theoretical chemist, on computation of atomic polarizabilities.

Friendly River Group

Lead Software Engineer [1982–1984]

  • Lead software engineer on an educational game for preschoolers. The game was loosely based on the story of “Johnny Appleseed”. As the story progressed the player’s decisions would affect the outcome of the game. The game was developed on an Apple II in 6502 assembly and AppleSoft Basic.

Education

[1991–1993] Applied Mathematics (12 credits earned towards M.S.) Stevens Institute of Technology, Hoboken, NJ
[1984–1988] B.S. Physics Stevens Institute of Technology, Hoboken, NJ

Publications

Ab Initio Relativistic Effective Potentials with Spin-Orbit Operators. IV. Cs through La and Hf through Rn, R.B. Ross, J.M. Powers, T. Atashroo, W.C. Ermler, L. Lajohn and P.A. Christiansen, The Journal of Chemical Physics Vol. 93, pp. 6654–70, 1990.