Frequently Asked Questions
about Working with Arthur Goldberg
If you need to understand or improve a software system; design a computational curriculum or graduate program; but lack an expert who can solve your problem, then I can help.
Table of Contents—Quick Links
Working With Arthur
Who are you, Arthur Goldberg?
I'm a PhD computer scientist, software engineer, computational geneticist and computing educator who has retired as a part-time consultant in these domains. I only accept projects I'm confident I can handle.
I dive deeply into my projects to provide insightful and actionable guidance that I support with materials that document my reasoning and guidance. To manage my time and maintain my focus, I work on only one project at a time. My clients always deal with me directly. And if I have a great idea while jogging or showering when I'm working for you it will help your project.
What kinds of clients do you serve?
I consult for firms and universities. As an expert witness I interact with my client's legal team.
Will you sign our NDA?
Yes. I understand the importance of confidentiality for many organizations, and I will gladly sign any fair NDA.
I have decades of experience protecting confidential data. Over the course of my career I've had a secret US security clearance, signed many corporate and lawsuit NDAs, and properly handled 100s of gigabytes of medical data protected by HIPAA.
Technical and Software Questions
What computer programs have you built?
Most recently, at Mount Sinai I wrote an object-oriented discrete-event simulator in Python; wrote a Python interface to a constraint optimization program; developed SQL to access and evaluate a healthcare data warehouse; and wrote Bash scripts to run SQL scripts that update a database to configure a web app.
A few years ago I designed and coded a Python program that processes the voluminous financial records that my wife and I incorporate into our tax returns.
At the Memorial Sloan Kettering Cancer Center I designed and built Java programs that visualize the patterns of mutations in the tumors of dozens of patients.
While at NYU's CS department, I designed internet client and server programs that tested student programs and supervised their construction by CS PhD students. In that role, I also designed and co-wrote a program that measured the performance of internet websites and used the data it generated in a couple of research papers my students and I co-authored in the late 90s.
Previously, I wrote Forth programs that analyzed astrophysical data and stored and analyzed pulmonary medical data and a Fortran program that simulated the light curves of contact binary stars. The results of these programs were published in a 1979 symposium and my undergraduate thesis, respectively.
Can you help us evaluate an existing codebase?
That depends. It's straightforward to evaluate codebases that are smaller, well-organized, thoroughly tested by unit tests, well-documented with architectural diagrams and API docs, and maintained by people who understand them well and can guide me. Codebases that deviate from too many of these desirable software engineering properties may be impossible to evaluate at an affordable cost.
What programming languages, software tools and systems have you used?
Languages: Python, SQL, Java, C, C++, Hermes, Forth, Prolog, and Fortran.
Tools: Git, GitHub, PyTest, Unittest, Mock, Eclipse, BB Edit, Coverage.py, Jupyter notebooks, and matplotlib.
Systems: macOS, Linux, Linux clusters, and MySQL.
Academic & Educational Projects
Do you help design curricula for graduate and undergrad programs?
Yes. I’ve created and run graduate programs, taught at New York University and the Mount Sinai School of Medicine, and created and operated courses open to graduate and undergraduate students for over 20 years. I would welcome opportunities to help design new programs or revise existing ones.
Are you available to teach or lecture?
Yes. I welcome requests to teach or lecture. I love leaching and lecturing. I've prepared and delivered dozens of lectures on the design and construction of software systems, the management of anonymized medical data warehouses, and the performance of software systems and computer networks.
I customize lectures and courses for each audience.
Logistics
What's the best way to reach you?
Please complete my contact form and I will reply by email. You may also schedule a meeting with me.
Where are you based?
I’m based in New York, and work with clients located in reasonably close time zones.