resume of
              
Kins Collins, M.S. - Macintosh Software Engineer
              kins_collins @ mac.com [remove spaces]  (650)298-8560

     Located in south SF Bay Area (Silicon Valley). I can work at customer's
     site or at home, but relocation out of Silicon Valley is not possible.
 
                     Redwood City  ---  Silicon Valley, CA

--------------------------------------------------------------------------------
 Twenty years programming experience -- incl. 12 years Mac. Noted
 for clean design -- code that's easy to understand, maintain,
 modify. Now developing exclusively with Cocoa and Xcode.

 Seeks position creating applications by applying Apple's Cocoa
 application-frameworks technology to your subject area. The
 tools I use are the Xcode development system, Interface Builder,
 Cocoa (Foundation & AppKit libraries), and various performance
 and debugging utilities.

 My earlier work was done in C++ using older Mac tools like
 Metrowerks and PowerPlant and involved TCP/IP, HTTP, client-
 server apps, and the Internet, also user-interface design and
 device-drivers. Today ALL my work is done using the Objective-C
 language.

 Somewhat knowledgeable in Java and QuickTime. Conversant with
 Projector, SourceSafe, Perforce, and Subversion source-control
 software. I am also interested in OOA/OOD.

 I aim at pure object-oriented programming based on the Model-
 View-Controller (MVC) design pattern. So if you have a 
 programming project for Mac OS X and want the most modern
 tools and concepts to be used (Cocoa), contact me.
 
 Currently available. Currently only iPhone programming using
 the Apple SDK. Contracts only.
--------------------------------------------------------------------------------
  NOTE TO RECRUITERS: I am NOT a Microsoft Windows programmer.
--------------------------------------------------------------------------------
EMPLOYMENT HISTORY
Sep. - Oct. 2008 Consulting Software Engineer, Orange Labs. o Development Contract. iPhone project (SDK). Developed using Xcode & Cocoa touch. The product I designed and partially coded was Gift2Phone, a social networking app for sending virtual gifts to friends from your iPhone. My task as lead programmer was to design the program, code as much of it as I could in six weeks, and train and guide one other developer, who took over the project when my 6-week contract was over. Using Xcode, I either wrote the classes that my design required or sketched them out with stubs. The parts I coded myself were the http- code to access the Orange RESTful server using the "OAuth opensource library", the XML parser for the incoming data, the model classes generated for the data, and the datasource classes which interfaced with the iPhone ViewController classes. I gave advice to the other programmer regarding the view classes, how best to code them, how to follow the Apple iPhone User Interface guidelines, etc. When my prescribed time was up, I wrote out detailed instructions for how the project was to be completed. Aug. 2008 Consulting Software Engineer, Equals Inc. o Planning & Scheduling Contract. iPhone project (SDK). Developed using Xcode & Cocoa touch. During this very short contract, I worked out the details of Equals' social-networking client application for the iPhone mobile device. I designed the overall structure of the program following MVC rules. The necessary programmer tasks, their sequencing, and the time required for their implementation were determined and documented. I also defined all the classes for the project and did their initial coding in Objective-C and Xcode. Jun. - Jul. 2008 Consulting Software Engineer, LinkedIn Inc. o Development Contract. iPhone project (SDK). Developed using Xcode & Cocoa touch. This was a seven-week contract. I was the third member of a team that created a fully developed sophisticated iPhone client-app for LinkedIn's social-networking service. My two permanent co-workers were very experienced and talented, and together we created the application from scratch, completing it in 7 weeks. It is now available for downloading from Apple's AppStore. My role was to act as a resource for Cocoa and Xcode questions (since I had worked with Cocoa longer than my two colleagues had), and to implement some of the project's parts. I coded the XML parser for decoding the data streams from LinkedIn's RESTful server, and the code for restoring the app's view-state when it is interrupted by a phone call. I also gave advice on other parts of the app and on memory leaks. We used the Subversion source control management system. The 3 of us produced a large project: 186 Objective-C source files, 35 nib files, 51 images -- 272 files total. Feb. 2006 - Feb. 2007 Consulting Software Engineer, 4G Color, Inc. o Development Contract. Mac OS X Cocoa project. Developed using Xcode & Cocoa. I worked on 4G Color's image-processing application called ColorBender from its earliest stages through to its 1.0 release at MacWorld 2007. I added significant parts to the overall program, including converting the app to universal binary, making an Apple installer for it (also the app's icon), designing much of the security and authentication code, implementing code for reading and writing image files on disk, helping with the print routines, establishing team conventions for identifier names, helping the development team use the Xcode tools more effectively, giving guidance on Cocoa and Objective-C questions, designing and implementing classes used to manipulate program-usage counters (with persistence) and to hold and store miscellaneous variables. I was not involved with the image-processing algorithms themselves, however, which were written in C. Besides using the Cocoa libraries in my coding, I also used CoreFoundation, Quartz 2d, CoreGraphics, and ImageIO. I was essentially the build master, handling revisions, merges, and installers. 2003 - 2005 {Intensive, systematic self-study of Cocoa. (2-1/2 years)} o I have learned Cocoa, Apple's advanced object-oriented programming framework. I was determined during Silicon Valley's economic downturn, with its dearth of Macintosh contracts, to make use of the contract-free period to enhance my programming skills and learn Cocoa. Cocoa has a steep learning curve, though once mastered, the system significantly increases a programmer's productivity, Apple claiming by a factor of 5 or 10. Regarding the learning curve, as a former university lecturer I have no trouble independently absorbing big new areas of subject matter. Yet had I not been given this "wonderful gift" of an extended period between jobs, I would not have had the free time to immerse myself so completely in the study of Cocoa and learn it so thoroughly. I have read some or all of the eleven books on Cocoa, doing all the programming projects in the parts I read; the code I wrote for these projects constitutes a resource I can tap into when faced with similar programming tasks in the future. Xcode is required for Cocoa programming. 2002 - 2003 Consulting Software Engineer, TekSolutions. (12 months) o Development Contract. Mac OS X device-driver project. Developed using Xcode predecessor (ProjectBuilder). USB user-level driver for a biosensor security device (finger-print reader). Porting from Windows. For Mac OS X 10.2. The contract was performed by means of telecommuting. Used ProjectBuilder/InterfaceBuilder development system. 2001 Consulting Software Engineer, TrueSAN Networks. (2 months) o Development Contract. Mac OS X device-driver project. Developed using Xcode predecessor. My task was to design and code device-driver components for a host OS X server in a multi-platform Storage Area Network system (SCSI/Fibre-Channel disks). I designed an "I/O Kit" kernel extension (Mac device-driver) that acted as a wrapper around TrueSAN's common-code, virtualization module, the latter being identical on the various host operating system platforms. (Unfortunately, because of prevailing economic conditions, the project was cancelled before I could complete my part of it, and TrueSAN has since filed for bankruptcy.) 2000 - 2001 Consulting Software Engineer, eMotion Corp. (3 months) o Development Contract. Collaborative media-creation software group. Developed using Metrowerks. The product I worked on was eMotion's QuickTime-based media-collaboration client ("Annotation Viewer") for Macintosh. My job was to add functionality to this client/server application which allowed users to attach multi-media files to existing "Projects" residing on an NT server. Hence I programmed -- (1.) an XML parser to decode the list received from the NT server containing the project names and their attributes, (2.) the user-interface for selecting a project and the files to be added to it, (3.) the user-interface to set values to the metadata attributes of the selected project, (4.) the upload code that, using HTTP, uploads the metadata and the media files to the NT server. I used the Macintosh OS 9 Toolbox's ListManager, ThreadManager, also TCP/IP, HTTP, etc. The existing Win32 version of the client served as the spec for (a.) what my component should look like, and (b.) how it should behave, though no code was shared. So in that sense this was a porting job from Windows to Mac. The Windows/Macintosh product team consisted of six programmers. The Mac engineers used C++, Metrowerks, CodeWarrior, and PowerPlant. The Windows people used C++, Visual Studio, and MFC. There were frequent consultations between the two groups. As eMotion's Mac troubleshooter, I also modified their existing HTTP-based download code in the Macintosh client, cutting to 1/4 the time needed to download a media file from eMotion's NT server database. Metrowerks, CodeWarrior, and PowerPlant. 1999 - 2000 Consulting Software Engineer, Pixera Corp. (12 months) o Development Contract. Macintosh software group. Developed using Metrowerks. Designed and coded the user-interface for a high-end digital video camera system for microscopes. The user-interface consisted of an image window for the camera display surrounded by push buttons, popup menus, and sliders for user control of the various camera characteristics. The user could set such things as shutter speed, sensitivity, color balance, gamma of each color component of the image, etc. There was also a preferences dialog with multiple panels. I made extensive use of templates. I also designed the API and messaging system that allowed for realtime com- munication between my GUI and the other programmers' image-processing and device-driver code. By means of this API, changing any of the GUI's controls resulted in immediate updating of the camera display in this multi-threaded application. Further, by pressing a "capture" button, the user could create a still image, which could be further manipulated and/or stored on disk. The Macintosh team consisted of three programmers. Used C++, Metrowerks, CodeWarrior, and PowerPlant. 1999 Consulting Software Engineer, OneWorld Systems (formerly Global Village). (5 months) o Development Contract. Developed using MPW & Metrowerks. OneWorld Systems' product consists of fax imaging software on individual client machines and a networked "Fax Server" box available to all the clients. The server connects to the Internet or to the telephone network and thus replaces the one-modem-per-CPU idea. I rewrote the product's setup assistant for Mac clients, which prompts the user for personal information and network configuration settings. Emphasis was placed on making the GUI attractive and the user's input correct (by doing on-the-spot checks). C++, Metrowerks, CodeWarrior, PowerPlant, AppleTalk, Mac device-drivers. 1998 - 1999 Consulting Software Engineer, Sentius Corp. (3 months) o Development Contract, RichLink Netscape-plugin for Mac. C++, Metrowerks, GUI. 1998 Consulting Software Engineer, CyberSource. (4 months) o Development Contract, SmartCert Software Development Group. Developed using Metrowerks. - Part of a two-man team that wrote a Macintosh client for an electronic software-purchase and download system for the Internet. My responsibilities: (1) the assembling or "packing" module that the software producers will use to crunch together into one big file a whole directory-tree branch of files and folders, which file then goes into a database of downloadable products on the CyberSource server, and (2) the downloading module on the purchaser's machine -- using HTTP protocols on top of OpenTransport (TCP/IP) -- which downloads the one big file in streaming mode and "unpacks" the file on the fly into its constituent files and folders, complete with all their attributes. This was a 4 month contract. Metrowerks' PowerPlant was used throughout. 1996 - 1997 Consulting Software Engineer, Apple Computer. (18 months) o Development Contract, R&D Information Systems and Technology Group (IS&T). Developed using Metrowerks. - Contributed new functionality (file enclosures) to Jade, Apple IS&T's standard client-server development frameworks. Jade is the basis for many internally-used programs, such as RADAR, Apple's bug-tracking system. I was responsible for designing and coding the low-level communications modules (TCP/IP and AppleTalk), including API and network packet code. Used Metrowerks CodeWarrior and PowerPlant. The 18-month contract required close cooperation among the five team members. - Automated the team's build process using AppleScript. 1994 - 1996 Senior Software Engineer, Asante Technologies. (2 years) o Lead Development Engineer, Macintosh Group. Developed using Symantec's C++ IDE & Metrowerks. - Took over an existing large application (200,000 lines of code) written in C and Think C++, extended and enhanced it. The application was a network management program for controlling Asante smart hubs, bridges, and switches using SNMP protocols on top of TCP/IP. I was equally at home coding the user-interface modules, as I was working on the low-level system code. - Member of the cross-platform team that designed and developed a Web- browser/HTML-server version of the network-management program (IntraSpection), which runs on all platforms. My code used C++ templates. 1994 Consulting Software Engineer, Intuit. (3 months) o Development Contract, Quicken Macintosh Group. Developed using early version of Metrowerks. - Prototyped an extension to the Quicken personal accounting package. For doing this I used Metrowerks' new 68K/PPC development environment (CodeWarrior) and its application frameworks (PowerPlant). - Analyzed the Quicken sourcecode, and documented where and what (in detail) needed to be done to upgrade the code to the PowerPC Macintosh. 1993 - 1994 Consulting Software Engineer, ICON Medical Systems. (4 months) o Development Contract, Image-Server Software Group. Developed using MPW. - Designed, coded, documented, and tested an update-notification server, together with a client API. The server stored clients' requests that they be notified whenever certain items changed in a related medical- image database. The system was based on AppleTalk networking protocols and AppleEvents. Nine-thousand lines of code; written in MPW C++. The project was finished on time. 1989 - 1993 Software Engineer, Apple Computer. (4 years) o Development Engineer, Client-Server Software Group. Developed using MPW. - Designed and implemented the AppleShare Remote Administration API library using AppleEvents. This network API was developed for the manage- ment of User & Groups, Access Privileges, Folder Copying, and runtime Monitoring of the file server. Written in MPW C++. - Designed and implemented an extensive command line application for testing and performance tuning of the AppleShare Remote Administration API library and server. The tool featured a command parser, a help system, multi-level debugging modes, and input from either keyboard, command files, or AppleEvents. o Test-Developer, Networks & Communication Group. Developed using MPW. - Designed and implemented automated test software for AppleShare using sophisticated MPW scripting, VirtualUser [an Apple test language], and C. 1985 - 1989 Senior Software Engineer, Cumali Associates. (4 years) Developed using UNIX tools. - Based on SUN-3 workstation. Was one of two programmers implementing a custom application incorporating a state-of-the-art air-conditioning simulation/optimization model with quasi-realtime control, for high-rise office buildings. Played key role in the complete development cycle, from conceptual design to programming the database, graphics, and communication modules (C). - 2d/3d color plotting-program (C & Pascal), driver for plotters. 1984 - 1985 Programmer, MicroSpectrum Software International. Developed using UCSD Pascal p-System. Based on Apple III, Corvus network. Vertical job-shop application. Programmed the module to display and manipulate a job-shop's order scheduling (operations on lattices and trees, graphics). 1982 - 1984 Lecturer, Univ. of Maryland, Eur.Div.,Heidelberg, Germany. & Taught: "Structured Programming", "Pascal", "Computer Math" 1975 - 1980 (Computer Science Dept.), "Formal Logic" (Philosophy Dept.). 1980 - 1982 Lead Programmer, Univ.of Maryland,Eur.Div,Student Recs.Dept. Based on HP-3000. Designed the student-records database (for 100,000 students). Coded various programs for the system. Guided the other programmers (COBOL). --------------------------------------------------------------------------------
EDUCATION
Ph.D.(not completed) Univ. of Heidelberg (Heid., Germany), History & Philosophy M.S. University of Chicago, European History B.S. Northwestern University, Political Science & Economics B.A. University of Chicago, Liberal Arts & Mathematics Studies at the University of Heidelberg: focused on formal logic, set theory, and the philosophy of science. Courses at Various Places (since 1977): IBM-360 assembler, COBOL, PL/1, 68000 assembler, C++, discrete math, data structures, algorithms, searching & sorting, theory of computing, operating systems, computer-language design, digital circuit design, TCP/IP network programming, Java, Webpage design, etc. Recent intensive self-study in Apple's Cocoa technology. Courses at Apple Computer: AppleTalk, Macintosh Debugging, C++, MacApp, AppleScript. --------------------------------------------------------------------------------
HOBBIES AND INTERESTS
Astronomy, Greek philosophy, the history & foundations of mathematics, the psychology of cats, listening to the music of Bach. --------------------------------------------------------------------------------
Kins Collins, M.S. - Mac Software Engineer

            
Visitors since
22 jan 98