RESUME OF:
Alan Balkany
P.O. Box ****
Ann Arbor, MI 48106
adrw7z@r.postjobfree.com
Linked In URL: www.linkedin.com/in/alan-l-balkany-b9400337
PROFESSIONAL OBJECTIVE
Contract or permanent position in software engineering in southeastern Michigan or remote. Available beginning 8-1-22. (Current employment ending 7-29-22.)
EDUCATION
M.S. in Computer Science and Engineering, University of Michigan,
Spring, 1992.
B.S. in both Computer Science and Mathematics, with distinction,
Wayne State University, May, 1986.
RELEVANT COURSES
Software Engineering, Artificial Intelligence, Advanced Artificial
Intelligence, Analysis and Design of Algorithms, Adaptive Systems,
Knowledge-Based Design, Operating Systems, Principles of
Programming Languages, Data Structures, File Structures, Computer
Organization, Parallel Computer Architecture, Theoretical Computer
Science, Numerical Methods, Mathematical Models, Multivariate
Analysis, Advanced Multivariate Analysis and Model Construction,
Linear Algebra, Modern Algebra, Discrete Mathematics for Computer
Science, Calculus, Statistics, Probability and Stochastic
Processes, Graph Theory.
LANGUAGES AND OPERATING SYSTEMS
C/C++ and C#. Have programmed in C#/WPF, JavaScript, Lisp,
Ruby on Rails, Java, BASIC, Smalltalk, PL/I, Fortran, and BLIX.
Windows, Linux, Docker/Linux.
WORK EXPERIENCE
10/18 – 7/22 H3D Inc, Ann Arbor, Michigan
- Software Engineer working on H3D's radiation mapping and
monitoring systems, using mostly C++ (and Ruby on Rails).
- Sped up H3D's radiation-imaging algorithm (used on most
of their products) by 70%.
- Sped up H3D's isotope-identification algorithm by 60%.
- Devised efficient algorithms to do 2D radiation mapping.
(Previously they had only 3D.)
- Added functionality to their products, including an
extensive alarm system to their RMS (Remote Monitoring
System) product, used in nuclear power plants.
03/16 – 12/17 Xoran Technologies, Ann Arbor, Michigan
- Senior Software Engineer working on documentation and
maintaining software for CAT scanning and viewing 3D
graphical models.
- Prepared documents for the planning, design,
verification, traceability, and validation of FDA-
regulated medical-device software.
- Used Visual Basic 6 maintaining their legacy system.
- Maintained 3D tracking system for image-guided surgery.
- Studied CUDA programming for parallel processing.
- Wrote utility applications.
07/14 - 8/15 Systems In Motion/Nexient, Ann Arbor, Michigan
- Technical Specialist working on Agent Workbench, a
- web-based support application for Best Buy.
- Used WPF (Windows Presentation Foundation) and XAML in
C#.NET.
- Fixed bugs and added functionality to the application.
- Used agile development process.
- Worked on an employee-tracking web application using
ASP.NET, webAPI, ASP.NET MVC, with C#, Razor, and HTML.
- Did some development with JavaScript, AJAX, and jQuery.
- Used Visual Studio 2015 and .NET 4.5.
3/07 – 2/14 EFI/Jetrion Industrial Inkjet Systems
- Was a Software Engineer.
- Wrote and maintained software used in inkjet printing.
- Wrote Label Designer, a variable-data printing
application that:
o Allowed interactive label layout,
o Bound graphics to data files, counters, etc.,
o Used mathematical morphology and error-
diffusion image-processing techniques, and
o Generated CMYK separations for four- (and five-)
color printing.
- Added functionality to Label Designer that eliminated
the need for a software team, saving the company
thousands of dollars a month.
- Designed and implemented image-dithering algorithms for
smooth transitions between print heads.
- Maintained printer-control software.
- Used C#, C++/MFC, and Win32.
10/06 – 3/07 Sigma Tec, Royal Oak, Michigan
- Contract job developing software controlling a laser
gauging system, for a former manager I had at General
Inspection.
- Developed algorithms to identify features in scanned
parts.
- Used C#.NET
12/04 - 12/05 Vision IT, Detroit, Michigan
- Accepted a six-month contract job at A & D Technology
(Ann Arbor, Michigan) which was extended to one year.
- Worked on creation of Task Flow Pro, a system for
maintaining the many types of knowledge an application
engineer needs to test an engine in an auto-test cell.
- Designed and implemented Task Flow Pro’s multi-
threaded scheduling algorithm for executing the
concurrent tasks needed for a test. Task execution is
constrained by a task-flow graph with arbitrary
dependencies between tasks.
- Programmed in C# and .NET.
- Modified ActiveX controls to add new functionality and
give them a more modern appearance.
- Wrote XSLT templates to transform XML into HTML.
8/02 - 10/04 General Inspection, Davisburg, Michigan.
- Was a Software Engineer developing industrial part-
inspection systems, based on laser gauging, computer
vision, and eddy-current analysis.
- Used Visual C++ and HTML.
- Designed and implemented image and signal-processing
algorithms such as bias correction and drift correction
- Maintained and developed GUIs in MFC and HTML.
- Made trips to customer sites in Michigan and Ohio to
troubleshoot problems.
- Learned C#.
7/01 - 8/01 Analytical Design Service Corporation, Ann Arbor, Michigan
- Did a five-week contract job at the University of
Michigan.
- Implemented about 30 data processing algorithms.
- Used AIX and C.
4/00 - 4/01 Commerce One (formerly Appnet), Ann Arbor, Michigan
- Was a Senior Technical Consultant working on web-
based projects involving Java, Enterprise JavaBeans
(EJBs), applets, servlets, Java server pages (JSPs),
JavaScript, Weblogic, HTML, XML, and XSL.
- Wrote the architecture section of a proposal to
Daimler-Chrysler for a web-based automotive-diagnosis
system.
- Developed reusable web-based components in Java.
- Gave a "tech talk" on the use of XSLT to process XML.
- Received training in the Rational Unified Process,
Rational Rose, UML, and Extreme Programming.
- Did paired programming
1/00 - 2/00 Netstar Corporation, Bloomfield Hills, Michigan
- Completed two contract programming jobs at the Ford
Motor Company:
- Debugged an Oracle Pro*C/SQL program in VAX/VMS.
- Made Y2K modifications to a Visual Basic program and
ported it to Visual Basic 6.
6/99 - 1/00 President of PatternScope Systems, Ann Arbor, Michigan
- Developed data mining/analysis tools using a variety
of statistical and artificial intelligence
techniques.
- Wrote patent claims for the above technology.
- Implemented GUIs for interactive data visualization
and analysis, using shape, color, and animation.
Used Visual C++ and MFC.
5/95 - 6/99 Innovative Software Systems, Inc., Ann Arbor, Michigan
Worked on six projects with ISS:
5/99 - 6/99 - Worked on two projects as a Chief Scientist:
- Wrote the entire kernel for a high-performance
compressed-memory database. Wrote six data analysis
tools based on this kernel. Used Visual C++/MFC.
- Wrote patent claims for the above technology.
- Studied COM and Java.
6/97 - 5/99 - Worked at Triada Ltd, developing applications based
on their data mining technology. Used mostly Visual
C++/MFC, and also some Java to develop data
visualization and analysis systems.
- Used the tools I wrote to analyze data for Triada
clients.
- Worked on four projects as a Senior Software Consultant:
2/97 - 5/97 - Back at Automatic Data Processing, Ann Arbor, MI,
adding additional functionality to the electronic
banking system, Business Express. This is mostly
writing GUIs to the database, using MFC and Visual
C++, with Windows 95 and Windows NT.
10/96 - 2/97 - Designed and implemented a generic scheduling system
that ISS plans to turn into a product. The system is
based on a genetic algorithm, so is more flexible
than systems based on more traditional, rigid
scheduling algorithms. The scheduling engine was
done in Visual C++ and the GUI was done in Visual
Basic 4, with Windows NT.
7/96 - 10/96 - Worked on the creation of a web site for a database
of chemical solvents, for the National Center for
Manufacturing Sciences, in Ann Arbor, MI. Used HTML
and JavaScript.
5/95 - 7/96 - Worked at Automatic Data Processing, Ann Arbor,
Michigan, on a project to create an electronic
banking system: Business Express. Did the original
functional specification, much of the GUI, the
checkbook reconciliation module, and system security
(encryption, permissions, log in, and defenses
against hackers). Used Visual C++, MFC, and Windows
NT.
9/90 - 5/95 University of Michigan, Department of Electrical
Engineering and Computer Science, Ann Arbor, Michigan
- Was a graduate student research assistant.
- Did research on the rapid construction and
modification of knowledge-based problem solving
systems using mechanisms. The main focus was on
configuration-design systems.
- Implemented the DIDS System (Domain-Independent
Design System) with my research group, using C++ with
UNIX and Macintosh OS, and Visual C++ with Windows
3.1.
- Participated in the design and implementation of a
constraint network for the solution of design
problems with many constraints. My contributions
included using graph-theoretic techniques for
optimizing the network's performance (by many
orders of magnitude for some design tasks).
- Co-authored papers on the use of artificial
intelligence techniques in design.
- Also used Macintosh Common Lisp, Visual Basic, HTML,
and UNIX sockets.
9/88 - 9/90 Machine Vision International, Ann Arbor, Michigan
- Worked on two projects: An automatic guidance system
for NASA, to enable a rocket to dock with a
satellite, using computer vision, and "Rover", a
robot dog.
- Programmed in C and Smalltalk.
- Learned object-oriented programming and the Smalltalk
Class Hierarchy.
- Implemented and used neural nets.
8/86 - 9/88 Datagraphic Systems, Ann Arbor, Michigan
- Maintained and wrote additional functions for
ImageMaster; a CAD / raster-editing and document-
management system.
- Did systems programming in C in an MS-DOS
environment.
- Did 8086 assembly language programming.
- Used HALO graphics package, Number Nine Revolution
and Pepperpro 1280 graphics boards.
2/85 - 5/86 Machine Vision International, Ann Arbor, Michigan
- Maintained and wrote additional functions for the IBM
AT end of a two-processor interactive image-
processing system.
- Programmed in C.
- Used MS-DOS, UNIX, and VAX/VMS operating systems.
- Designed structuring elements for use in image
processing. (Structuring elements are 2D and 3D
geometric shapes used in mathematical morphology
which define a region around each pixel.)
- Received training in Structured Design, a software-
design methodology.
9/83 - 2/85 Bureau of Business Research, School of Business
Administration, Wayne State University, Detroit,
Michigan
- Did applications programming for the Business School.
- Worked on IBM personal computers.
- Managed two computer laboratories.
9/81 - 9/83 Wayne State University Medical School, Detroit,
Michigan
- Was a scientific applications programmer.
- Did FORTRAN programming for an evolution research
team.
- Improved algorithm used to determine the optimal
arrangement of a dendrogram, (a binary tree
representing points of divergence of species with a
common ancestor), based on the number of mutations in
a region of DNA.
6/82 - 9/82 GMISCA Division, General Motors, Warren, Michigan
- Was a summer intern using PL/I, TSO/SPF, and IBM JCL.
- Received training in relational databases.
9/81 - 9/83 Department of Computer Science, Wayne State University,
Detroit, Michigan
- Was a student consultant for Pascal, PL/I, FORTRAN,
BASIC, and IBM 370 Assembly language.
- Debugged programs and answered questions about
algorithms, languages, and the operating system for
students.
9/82 - 2/85 Did private tutoring in computer science.
PATENTS
Sole inventor and author of the following U.S. patents:
- US Patent No. 7,139,765, “Hierarchical Method for Storing Data with
Improved Compression”, issued November 21, 2006.
- US Patent No. 8,396,844, “Hierarchical Method for Storing and Retrieving
Data with Improved Compression”, issued March 12, 2013.
PUBLICATIONS
Runkel, J.T., Birmingham, W.P., and Balkany, A.
"Solving VT by Reuse", International Journal of Human-Computer
Studies, 44, 403-433, (1996).
Balkany, A., Birmingham, W.P., and Runkel, J.T.
"Solving Sisyphus by Design", International Journal of Human-
Computer Studies, 40, 221-241, (1994).
Runkel, J.T., Birmingham, W.P., and Balkany, A.
“Separation of Knowledge: A Key to Reusability", Proceedings of the
8th Banff Knowledge Acquisition for Knowledge-Based Systems
Workshop (1994).
Runkel, J.T., Balkany, A., and Birmingham, W.P.
"Generating Non-Brittle Configuration-Design Tools", Third
International Conference on Artificial Intelligence in Design,
(1994).
Balkany, A., Birmingham, W.P., and Tommelein, I.D.
"An Analysis of Several Configuration Design Systems", in
Artificial Intelligence in Engineering, Design, and Manufacturing
(January, 1993).
Balkany, A., Birmingham, W.P., Maxim, B.R., Runkel, J.T. and
Tommelein, I.D.
"DIDS: Rapidly Prototyping Configuration Design Systems", The
Journal of Intelligent Manufacturing, 21-40, (1993).
Runkel, J.T., Balkany, A., and Birmingham, W.P.
"Prototyping Knowledge-Based Design Systems in a Object-Oriented
Environment", in Proceedings of the International Conference on
Object-Oriented Manufacturing Systems, (1992).
Balkany, A., Birmingham, W.P., and Tommelein, I.D.
"A Knowledge-Level Analysis of Several Design Tools" in Proceedings
of Artificial Intelligence in Design '91, Edinburgh, U.K.,
Butterworth Scientific Ltd., (1991). (This paper was cited in the
Encyclopedia of Artificial Intelligence, 1992 edition).
HONORS AND AWARDS
Received the Karl T. Folley award for outstanding performance in the undergraduate program from the Department of Mathematics at Wayne State University (1986).
References available upon request.