|
Objective
|
A Software Engineering job.
|
|
|
Experience
|
PBHS, Inc.
Dental Website Design, Dental Websites, Dental Marketing
Software Engineer. Here I used SourceTree for the first time.
-
iConsult. An iPad app that was being developed in partnership with a second company. Audio Queues, Storyboards, and a reliable network stack using NSURLConnection, NSOperation, and blocks.
|
Jan. 2013 - April 2013
Santa Rosa, CA
|
|
|
iOS and Mac OS X Development
iTunes App Store as davidfinucane.com
Software Engineer. I wrote native iOS apps for App Store royalties.
-
Bike Laps. Lap counter for road cyclists. Uses Core Data, ARC, Location Manager (GPS), Media Player, Grand Central Dispatch, and MapKit. The hard part was dealing with inaccurate GPS and figure 8 loops. Also doing printf debugging while riding a bike. See:
http://davidfinucane.com/more/bike_laps
-
Sunrise Alarm. Unusual alarm clock app. Uses Location Manager, Yahoo Weather API, XML parsing, Local Notifications, AV Foundation, custom fonts, astronomy math. The hard part was dealing with multiple simultaneous asynchronous data inputs to the app. See:
http://davidfinucane.com/more/sunrise_alarm
-
Law Book Apps. About a dozen. Crawlers and page scrapers, an indexing tool, memory management with limited iPhone RAM. The hard part was getting the barely structured law data from the most populous states.
-
Ancient Greek Dictionary. The first Greek keyboard on the iPhone. This is a pretty basic app, doing an Ancient Greek keyboard was the fun part.
-
Anglo Saxon Dictionary. Predictive text for the Old English character set. I didn't know what predictive text was, but it's how I mapped a standard English character set into Old English. This was an early design decision, rather than make a keyboard with yoghs and thorns.
-
Diary Reader. An ebook reader like "Stanza" with books converted from blogs. Google Blogger API, on the fly pagination and typesetting. By far the hardest part was figuring out how to do pagination. I used a separate thread to do this in the background. There was some in-app page scraping to handle the case where the blog was set to private, and the Google Blogger API was useless.
-
Tilework. Penrose Tiles with collision detection, rule enforcement, and Quartz 2D graphics for arbitrary scaling and rotation. The hard part was re-learning 9th grade geometry, and writing what amounted to a game. It has a scene graph and a paint method.
-
MyMySpaceMail. Myspace OS X app. Resulted in a cease and desist letter. This was straightforward reverse engineering of Myspace's web site, using tcpdump, and making 1000's of parallel network connections to make a reliability layer on top of Myspace.
-
The Music ****. iTunes replacement solving the problem of guests fighting over music.
-
Duncan Studios. Web site entirely in AJAX, using jQuery, Javascript, and PHP.
-
Warner Music Group. Javascript module for efficient access of Spotify JSON feeds.
|
Jan. 2011 - Dec. 2013
Pasadena, CA
|
|
|
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 wrote applications ranging from C++ code running on bare hardware, firmware, network device drivers, vxWorks and embedded Linux applications, simulators written in C++ from scratch, and fluffy network monitoring applications with GUIs.
-
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 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. https://github.com/myri/lanai-gdb
-
Event driven simulator for source routed networks of crossbars for testing routing algorithms.
-
A graphical application in Java to monitor Myrinet networks, including a graph matching algorithm that worked on unlabeled nodes.
-
Initial version of the company's web page, in HTML 1.0, optimized for NCSA Mosaic™.
|
Sept. 1994 - Dec. 2010
Arcadia, CA
|
|
Education
|
University of California, Los Angeles
B.S. Computer Science and Engineering. 3.3 GPA
|
1989 - 1993
Los Angeles
|
|
Github
|
https://github.com/finucane?tab=repositories
|
|
Interests
|
Programming, road and mountain biking, 70's & 80's era British cop shows, books.
|
|