Steven A. Finney Linux/UNIX Systems Programmer sfinney@sfinney.com www.sfinney.com OBJECTIVE: Position in Linux/UNIX systems programming or design (kernel or user level). Cognitive/linguistic/ergonomic research, writing positions, and technical training (e.g., kernel internals) are also of interest. PROFESSIONAL BACKGROUND Sep 2009-Sep 2010: Voluntarily unemployed. Sep 2007-Sep 2009: Senior Firmware Engineer, Zing Systems (acquired by Dell), Sunnyvale, CA. Provided US-based support, testing, and oversight during development of a Qualcomm Snapdragon based Android mini-tablet, focusing on power management issues (suspend states, DVFS, power measurements). Supported local application developers (e.g., pro- viding workarounds for bugs, and diagnosis of HW issues with prototype units) and HW engineers (e.g., developing diagnostic tools). Wrote a kernel module for stress-testing CPU frequency and voltage changes. Researched and documented low-level Android features (wakelocks, IPC, startup sequence, etc.) for internal use. Reported bugs to Google and Qualcomm. Development and validation work on power management, suspend/resume, PMU confi- uration, battery charging, DVFS, watchdog, RTC, keypad, bootloader, I2C, and GPIO for a Linux-based wireless MP3 player (unfortunately canceled near completion). Supported both application developers and hardware engineers through multiple versions of FW and HW. 2005-2007: Senior Software Engineer, Health Hero Network, Redwood City, CA. Maintained and enhanced the boot loader, kernel, and root file system on the "Health Buddy" home medical appliance (Linux 2.6 on a Samsung S3C2410 w/NAND flash, STN LCD, and a USB hub). Designed the low-level software architecture for a new hardware platform. Modified kernel and user code to support communication with medical devices over USB infrared, serial, and Bluetooth adapters. Designed, implemented, and documented validation procedures in C and Python for the boot loader, Linux kernel, and root file system. Added single-bit error correction for NAND flash to the U-Boot boot loader. Developed user space diagnostic tools for flexible manipulation of LCD parameters. 2004-2005: Consultant, Open Source Risk Management, Durham, NC. Developed prototype Python-based source code analysis tools. 1 PROFESSIONAL BACKGROUND (continued) 2002-2004: Senior Software Engineer, Spirent Communications (formerly Adtech), Honolulu, HI. Developed low-level Linux systems software for proprietary network test boards using the Broadcom 1125 MIPS processor, including device drivers and significant modifications to the Linux kernel and the CFE bootloader. Helped bring up MontaVista Linux (2.4 kernel) on multiple prototype boards (both ARM- and MIPS-based), working closely with hard- ware engineers to debug hardware and FPGAs. Implemented a high-performance, zero- copy user-space network driver for the Broadcom 1125 MAC. Configured small flash-based file systems and boot images. Participated in porting proprietary RTOS-based software to a Pentium-based Linux sys- tem, focusing on kernel issues related to the PCI bus, large address space peripherals, and boot-time requirements. Implemented a memory-mapping support library for controlled user-space access to phys- ical addresses on multiple processor architectures. Prepared and presented in-house class on Linux kernel internals. 1992-2002: Graduate Student in Cognitive Science, Brown University Post-Doctoral Research Fellow in Music Cognition, Ohio State University Major research areas included auditory feedback and motor behavior, music performance, and psycholinguistics. Course work included experimental design, statistics, linguistics, and neuro- science. Software work included writing data analysis and data collection programs in C and Python, including FTAP, my GPL-licensed Linux-based real-time MIDI experiment package. See web page for CV, publications, software, and further details on activities and research, 1992- 2002. 1985-1991: Consultant, The Santa Cruz Operation, Santa Cruz, CA. (selected projects) Implemented an asynchronous raw I/O disk facility in the UNIX kernel for database server support, leading to a significant improvement in multi-user server performance. Implemented a high-resolution kernel profiler driven by the real-time clock. Helped develop, test, and debug Unipath-3270 (SNA-3270 emulation under XENIX), work- ing with both 3270 display emulation and SNA network protocols. Wrote documentation for the programmer's API. Extensive work on the SCO Integra database system, working primarily with the SQL server and SCO ISAM. Enhanced, optimized, and internationalized ISAM, and brought it up to X/OPEN conformance. Wrote a technical document describing the SQL server internals. 2 PROFESSIONAL BACKGROUND (continued) 1979-1985: Technical Staff, The Santa Cruz Operation, Santa Cruz, CA. Extensive UNIX and XENIX kernel work, including disk drivers for the IBM PC, the Victor 9000, and the Apple LISA, as well as modifications to the serial driver. Worked on the original UNIX implementation of MicroFocus COBOL, including full responsibility for the file interface, GSA testing, and the Animator screen debugger. COMPUTER LANGUAGES AND OPERATING SYSTEMS Linux (2.4 and 2.6 kernels, various distributions), Linux TCP/IP stack, U-Boot, RedBoot, and CFE boot loaders, UNIX (Version 6 through System V), C, Python, basic assembly language for various processors, minimal C++. HARDWARE ARM processors (Samsung S3C24XX, Broadcom 2820, Qualcomm 8250), Broadcom/Sibyte 1125/1250 MIPS processors, Pentium, Xscale, and PPC processors, USB (serial and network adapters, hubs), PCI, I2C, Intel 825XX Ethernet NIC family, NAND and NOR flash, various PMU chips, STN and TFT LCDs, JTAG debuggers. EDUCATION Ph.D., Cognitive Science, 1999. Brown University, Providence, RI B.A., Linguistics, 1990. University of California, Santa Cruz B.A., Computer and Information Science, 1980. University of California, Santa Cruz SOFTWARE-RELEVANT PUBLICATIONS Finney, S.A. (2001a). FTAP: A Linux-based program for tapping and music experiments. Behav- ior Research Methods, Instruments, and Computers, 33, 65-72. Finney, S.A. (2001b). Real-time programming in Linux: A case study. Behavior Research Methods, Instruments, and Computers, 33, 167-173. SELECTED OTHER PUBLICATIONS Finney, S.A. and Palmer, C.P. (2003). Auditory feedback and memory for music performance: Sound evidence for an encoding effect. Memory and Cognition, 31, 51-64. Finney, S.A. and Warren, W. H. (2002). Delayed auditory feedback and rhythmic tapping: Evi- dence for a critical interval shift. Perception and Psychophysics, 64, 896-908. 3