David Dantowitz's Resume
Developing software for a while...
|
David Dantowitz on
software developer • occasional photographer • a cappella singer • researcher in algorithms and magic
On Software...
| Creating performance-directed innovative solutions, applying key insights at the intersection of
storage, computation, performance and algorithms. Thrilled to have most recently applied my skills to a foundational
data storage framework powering Apple Intelligence's knowledge platform, device personalization, and many apps.
I thrive working on the lower levels of technology stacks and creating multiplicative gains.
| | Currently seeking a diverse, cross-discipline collaborative group, focused on research, new ideas, computation and algorithms
to solve novel challenges. Strong interest in computer architecture and optimizing performance.
|
Apple, Cupertino, CA
Senior Software Engineer, Proactive Intelligence, Feb 2019 – June 2025
|
Contributed to a foundational on-device data storage framework for knowledge systems across Apple Devices.
• Redesigned the framework's storage architecture, improving data access
performance and increasing efficiency by 3%-44%, depending on the data element sizes. This reduced processing
time, power and SSD use across all Apple devices.
• Developed a new algorithm and prototype for a key time-critical operation, achieving a 7-9x speedup. The
algorithm also reduced temporary storage used for computation by 13.6x (again, reducing power and SSD use).
• Resolved a key threading issue by designing an algorithm to maintain coherency under significant loads.
• Submitted two patent disclosures related to storage and data sharing.
• Developed several stochastic testing approaches to reproduce and identify anomalies at scale that were
otherwise difficult to observe.
• Developed a privacy-preserving tool to identify and document data issues and remove the need to copy data
(containing personal information) to reports.
• Supported other teams adopting our framework. |
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.
|
|
|