|
Objective
|
A Software Developer job.
|
|
|
Experience
|
iOS and Mac OS X Development
iTunes App Store as davidfinucane.com
Software Engineer. I'm writing small iOS apps privately but I'd prefer to work on a team.
-
Bike Laps. Lap counter for road cyclists. Uses Core Data, ARC, Location Manager (GPS), Media Player, Grand Central Dispatch, and MapKit.
-
Sunrise Alarm. Unusual alarm clock app. Uses Location Manager, Yahoo Weather API, XML parsing, Local Notifications, AV Foundation, custom fonts, astronomy math.
-
Law Book Apps. About a dozen. Crawlers and page scrapers, an indexing tool, memory management with limited iPhone RAM.
-
Ancient Greek Dictionary. The first Greek keyboard on the iPhone.
-
Anglo Saxon Dictionary. Predictive text for the Old English character set.
-
Diary Reader. An ebook reader like "Stanza" with books converted from blogs. Google Blogger API, on the fly pagination and typesetting.
-
Tilework. Penrose Tiles with collision detection, rule enforcement, and Quartz 2D graphics for arbitrary scaling and rotation.
-
MyMySpaceMail. Myspace client. Resulted in a cease and desist letter.
-
The Music N***. iTunes replacement solving the problem of guests fighting over music.
-
Duncan Studios. Web site entirely in AJAX, using jQuery, Javascript, and PHP.
|
2010 - Present
|
|
|
Myricom, Inc.
A Caltech spinoff designing high speed interconnects and programmable NICs for high performance applications.
Software Engineer. I was the first regular employee hired by the company's founders. I was initially responsible for whatever software the hardware team needed, and also for debugging customer installations; as the company grew, I was responsible for writing firmware for the company's switch products, and for writing simulators and debuggers used in chip design, and in developing software for those chips.
-
Firmware, in C++, on vxWorks and embedded Linux for four generations of Myricom's product line of network switches.
-
A cycle-accurate simulator and debugger for the company's LANai series of microprocessors, used internally for code development.
-
Mapping software to determine real time network topology in the presence of fabric failures. Versions of this ran on host machines, as well as on network cards.
-
Routing software to compute redundant, deadlock free routes for Myrinet based clustered computing.
-
GDB backend and server to inject C code into verilog simulations running on dedicated machines, used for chip verification and remote code development.
-
Flit-level, event driven simulator for source routed networks of crossbars, used to test routing algorithms.
-
A graphical application in Java to monitor Myrinet networks, including a graph matching algorithm that worked on unlabeled nodes.
|
September 1994 - December 2010
|
|
Education
|
University of California, Los Angeles
B.S. Computer Science and Engineering. 3.3 GPA
|
1989 - 1993
|
|
Sample Code
|
http://www.davidfinucane.com/SunriseAlarmXcodeProject.zip
http://www.davidfinucane.com/codereview , http://www.davidfinucane.com/laps_writeup
http://www.davidfinucane.com/c++Example.zip
|
|
Interests
|
Programming, cycling, books, television.
|
|