David Dantowitz's Resume
Developing software for a while...
|
David Dantowitz on
software developer • photographer • a cappella singer • researcher in algorithms and magic
Objective
|
|
Seeking a full-time, cutting-edge software development opportunity, focused on computation, algorithms &
research. An ideal position sits at the intersection of computer architecture & optimized performance.
|
Summary
|
|
Algorithm-oriented software developer with 25+ years of experience, skilled at achieving performance-focused
solutions & unearthing optimizations. I thrive at the lower levels of technology stacks, refactoring code bases &
creating significant software breakthroughs.
|
Apple, Cupertino, CA
Senior Software Engineer, Proactive Intelligence, Feb 2019 – June 2025
|
Focused on the development of an Objective-C API for on-device data used by Apple's knowledge systems & apps
• Redesigned the API's storage architecture, improved data access performance from linear to logN & increased
efficiency by up to 44%, reduced CPU time, power & SSD use
• Developed a new algorithm & prototype for a time-critical operation, achieved a 7-to-9x speed-up, and reduced
temporary storage by 92%
• Resolved a threading collision by designing an algorithm to maintain coherency under significant loads
• Submitted two idea disclosures for patent consideration related to storage & data sharing
• Developed several stochastic testing approaches to reproduce bugs at scale that were difficult to observe
• Developed a privacy-preserving tool to identify & document software bugs, removing the need to copy files
containing personal information into reports
• Optimized performance for an API that merged multiple data sources from N2 to NLogN
• Proposed suggestions for improved methods for performance, monitoring tools & test methods
• Simplified & restructured code, improved concurrency issues, changed to more compact encoding, reduced
system calls, remove scanning of empty data entries & re-wrote legacy code
|
A Fast String Match Algorithm
|
Developed a faster fuzzy string match algorithm with the same results as Damerau-Levenshtein. The graph below shows the results of searching the complete works of William Shakespeare (1, 5, 10, 50, and 100
copies) with 5 randomly selected words (from the work) of lengths 7 to 10 characters with a limit distance of 2.
|
MailBurst™
|
MailBurst (1996-2008) was a sophisticated add-on application for The Apple
Internet Mail Server (AIMS), which was renamed The Eudora Internet Mail Server (EIMS), as well as The Stalker Internet Mail Server (SIMS).
MailBurst's initial development was driven by the fact that in 1996, AIMS did not yet support
multiple domain email hosting. Thus, a server could host only a single info account for info@domain.com,
and was not able to support a second info account at info@otherDomain.com. Using MailBurst, multiple domains were supported.
MailBurst grew into a sohpisticated email routing tool, adding features not possible with the mail server alone. A year
later, it loaned its surname to its younger sibling: ZipBurst™.
|
ZipBurst™
|
ZipBurst, written in C from scratch, is a powerful, multi-threaded NoSQL,
Multi-Version Concurency Control (MVCC) database/search engine with
relational and geo/location-based components. It facilitated the creation of location-based
and non-location-based data driven web solutions.
ZipBurst was licensed for many websites and hosted at ZipServe.com. It was also licensed by Apple to run the "Where to Buy" feature for Apple.com
US & Canada: 2003-2009, The Apple
Consultants Program and for seminars within Apple from 2001-2011.
|
| |
FaxBee™
|
FaxBee (1999) was an email to FAX gateway app, supporting direct forwarding
from email to fax, automated BCC to fax, and mail merge and web forms to FAX.
|
MillburnMac.com
Consulting for Apple Products since 1989.
One to One consumer consulting.
|
|
A Multi-threaded Simulation Engine for a Shared Memory Parallel Super Computer
| Developed an environment similar to MPI from scratch: a multi-threaded,
multi-cpu, NUMA Aware, simulation engine for use on a Shared Memory Parallel Super
Computer using event driven simulation and minimal synchronization
barriers.
|
|
|