decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
0955.pdf as text as html | 96 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
0955.pdf as text as html
Authored by: indyandy on Monday, May 21 2012 @ 02:09 AM EDT
[Ed: (Remove this comment when inserting this html)

In the preview I see several cases where non-breaking space tags have been incorrectly interpreted by geeklog
They should all look like ' ', but some have an extra space inside the tag or have not correctly interpreted the ampersand tag.
I can see errors on the following lines IN THE PREVIEW:
... Andrew T. McFadden
... Bytecode interpreter, in C and ARM assembly
... library features, like reflection and proxy classes.
... Native method access (JNI).
... Bytecode verifier and register maps (to support type-precise GC)
... Developer features: remote debugger support (JDWP)...
... (In short, wrote nearly all of the features found in Android...
]



[Ed:<br>
1 This is the Resume of Andrew McFadden as downloaded (printed?) on 5/1/2011 (according to the footer on the pdf)<br>
2 At time of transcription this document was available online at http://www.fadden.com/resume.html. The online version has correct formatting and working hyperlinks. This transcription uses minimal formatting and has no hyperlinks.<br>
]<br>
<br>
&nbsp;&nbsp;&am p;nbsp; Andrew T. McFadden<br>
&nbsp;&nbsp;&nbsp; fadden@fadden.com<br>
&nbsp;&nbsp;&nbsp; http://www.fadden.com/resume.html<br>
<br>
(Please bear in mind this was initially thrown together for a couple of informal interviews, not carefully crafted for a<br>
formal presentation.)<br>
<br>
<br>
<br>
Skills <br>
Things I'm really good at:<br>
<br>
&nbsp;&nbsp;&nbsp; C/C++<br>
&nbsp;&nbsp;&nbsp; UNIX (Linux, Solaris, SunOS, others)<br>
&nbsp;&nbsp;&nbsp; Writing lots of solid code while under pressure<br>
&nbsp;&nbsp;&nbsp; Debugging<br>
<br>
Things I've done a little of recently or a lot of a while back:<br>
<br>
&nbsp;&nbsp;&nbsp; Java<br>
&nbsp;&nbsp;&nbsp; ARM assembly (ARMv5TE+)<br>
&nbsp;&nbsp;&nbsp; Windows programming (Win32 API, including MFC, with some C# .NET)<br>
<br>
Things I used to be really good at, and could be again:<br>
&nbsp;&nbsp;&nbsp; 6502/65816 assembly language (Apple ][/IIgs, SNES)<br>
<br>
Employment History<br>
<br>
Android, Inc. / Google, Inc. -=- May 2005 - present <br>
<br>
<br>
Senior Software Architect at Android. The company was acquired by Google in July 2005.<br>
<br>
After the acquisition I continued to be part of Android mobile software development. Responsibilities and achievements:<br>
<br>
&nbsp;&nbsp;&nbsp; Primary developer of the Dalvik virtual machine runtime. Wrote 85-90% of the code, notably:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;Bytecode interpreter, in C and ARM assembly.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;Class loader, object model, native threads, basic synchronization.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp;&quot;Internal&quot; library features, like reflection and proxy classes.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;Native method access (JNI).<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;Bytecode verifier and register maps (to support type-precise GC).<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& amp;nbsp;&nbsp;Developer features: remote debugger support (JDWP), method profiling, deadlock prediction.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& ;nbsp;&nbsp;&nbsp;(In short, wrote nearly all of the features found in Android 1.0 - 1.6, except for the garbage-collected heap and a few odds and ends.)<br>
&nbsp;&nbsp;&nbsp; Wrote developer documentation on VM-related topics.<br>
&nbsp;&nbsp;&nbsp; Created the first incarnation of DDMS, a GUI app that manages the connection between a debugger and multiple Dalvik VMs running on a device. (This was later converted to an Eclipse plug-in and built into the Android SDK.)<br>
&nbsp;&nbsp;&nbsp; Developed the Android &quot;simulator&quot;, a GUI front-end that allows Android software to run directly on a Linux desktop. (This significantly pre-dated the Android &quot;emulator&quot;, which now ships with the SDK.) The hardware abstraction was later improved by using a pre-load library that patches various library and system calls.<br>
&nbsp;&nbsp;&nbsp; Learned Java, Javascript, Python, ARM assembly, SWT, and wxWidgets when I needed to use them.<br>
&nbsp;&nbsp;&nbsp; Actively supported Android developers on mailing lists.<br>
<br>
FaddenSoft, LLC -=- August 2002 - May 2005<br>
<br>
Founder, member, chief architect, and head dish washer. I worked on projects that interested me and published them as freeware or shareware on the web, and occasionally did contract work. Notables:<br>
<br>
&nbsp;&nbsp;&nbsp; Technical Consultant -=- March 2005 - April 2006<br>
<br>
&nbsp;&nbsp;&nbsp; Provided technical expertise to a law firm during software patent litigation.<br>
<br>
&nbsp;&nbsp;&nbsp; Akimbo Systems, Inc. -=- November 2003 - December 2003<br>
<br>
&nbsp;&nbsp;&nbsp; (Software engineering contract.) Developed an event logging system in C# .NET. Developed an API for engineers to use to log interesting events to a compact binary format. Wrote log harvesting and aggregation servers, as well as tools for sorting and formatting event logs.<br>
<br>
&nbsp;&nbsp;&nbsp; CiderPress -=- initial release March 2003, open-source March 2007<br>
<br>
&nbsp;&nbsp;&nbsp; Developed CiderPress, a Windows application for manipulating Apple II archives and disk images.<br>
&nbsp;&nbsp;&nbsp; Features include a full set of archive operations (similar to WinZip) as well as Apple II-specific text and graphic file format converters. The program uses low-level I/O operations to access Apple II hard drives, floppy disks, CF cards, and CD-ROMs. Five different filesystems are supported. The project was developed in C++ (about 100K lines of well-commented source code), using Visual Studio 6.0 and the MFC library.<br>
<br>
Moxi Digital / Digeo, Inc. -=- January 2000 - July 2002<br>
<br>
Software architect and team lead. Moxi built a set-top box featuring multi-tuner video recording, CD jukebox, MP3 ripping and playback, DVD playback, and wired or wireless distribution. The device went on to win Best In Show at the January 2002 CES convention.<br>
<br>
Moxi Digital was originally known as Rearden Steel Technologies. It was acquired by Digeo in May of 2002.<br>
<br>
Responsibilities and achievements:<br>
<br>
&nbsp;&nbsp;&nbsp; Part of the &quot;Gang of Five&quot; that developed the detailed design of the hardware and software. Developed detailed plans for application infrastructure, graphics and sound architecture, &quot;mother&quot; services, and other topics.<br>
&nbsp;&nbsp;&nbsp; Part of a small group that defined the merged Moxi/Digeo architecture after the acquisition.<br>
&nbsp;&nbsp;&nbsp; Led a team varying in size from 2 to 4 engineers. My group was responsible for application infrastructure, graphics drivers, satellite and cable tuning, DVD playback, user input, and porting Macromedia Flash (4.x and 5.x) to our architecture.<br>
&nbsp;&nbsp;&nbsp; Designed and implemented &quot;Central Services&quot;, the core of the Moxi application infrastructure. CS loaded apps, managed access to graphics and video resources, handled user input devices, and provided debugging hooks for developers (thread watcher, memory watcher, and a graphical &quot;control panel&quot;).<br>
&nbsp;&nbsp;&nbsp; Designed and implemented the initial version of the &quot;RATI&quot; library, a hardware abstraction layer that proved to be extremely useful as the hardware evolved.<br>
&nbsp;&nbsp;&nbsp; Designed and implemented remote execution wrappers with pseudo-ttys and network sockets. These connected to &quot;xterm servers&quot; running on developer workstations, allowing developers to view the output from multiple remote processes.<br>
&nbsp;&nbsp;&nbsp; Managed the relationship with one of our graphics chip vendors (ATI).<br>
&nbsp;&nbsp;&nbsp; Gave presentations on different system components to vendors, potential buyers, and internal folks.<br>
<br>
NotifyMe Networks -=- January 2000<br>
<br>
Software engineering contract (two weeks with ongoing advisory relationship). Helped design the NotifyMe service.<br>
Developed service launcher and some service infrastructure libraries.<br>
<br>
The NotifyMe service used a bank of outbound phone lines to provide automated, interactive customer notifications.<br>
Target customers were corporations that wanted to provide information to their customers and get simple feedback.<br>
Examples include online auction sites and furniture delivery companies.<br>
<br>
WebTV Networks, Inc. / Microsoft, Inc. -=- March 1996 - December 1999<br>
<br>
Software engineer in the online service development group. WebTV runs an online service, connecting users to the Internet with a television set-top box. The service was initially written in C on BSDI, but was primarily developed on Sun Solaris 2.x (SPARC).<br>
<br>
WebTV was acquired by Microsoft in August of 1997.<br>
<br>
Primary responsibilities:<br>
<br>
&nbsp;&nbsp;&nbsp; Designed and implemented the WebTV dialup infrastructure. The system automatically configures the set-top box, selecting multiple dialup access numbers from several different Internet access providers based on the customer's phone number. Selection process optimizes for call cost (to customer and to WebTV) while load-balancing and attempting to provide redundant access in case of IAP failure. Works for NANP (US/Canada) and Japanese phone systems. Wrote tools to examine and manipulate telco data and per-customer settings.<br>
&nbsp;&nbsp;&nbsp; Designed and implemented the client upgrade system. Three different classes of WebTV box are upgraded automatically by the service as needed. ROM images are split into pieces, compressed, and digitally signed before being downloaded.<br>
&nbsp;&nbsp;&nbsp; Held general ongoing responsibility for several major service components.<br>
<br>
Other achievements:<br>
<br>
&nbsp;&nbsp;&nbsp; Responsible for implementing service support for new products, including EchoStar &quot;DishPlayer&quot; and Thomson &quot;eTV&quot;.<br>
&nbsp;&nbsp;&nbsp; Developed offline e-mail access for two different classes of WebTV client.<br>
&nbsp;&nbsp;&nbsp; Implemented data compression algorithms for use in client-service communication.<br>
&nbsp;&nbsp;&nbsp; Developed pieces of the early service infrastructure (handled system dependencies in build process, added &quot;fun&quot; stdio, tweaked client connection handling, ported service from BSDI to Solaris, etc).<br>
&nbsp;&nbsp;&nbsp; Developed and maintained service side of phone activity logs and box crash logs.<br>
&nbsp;&nbsp;&nbsp; Wrote service documentation for pieces I developed, including a 70-page tome providing a general overview of the dialup system, for use by engineering, QA, network operations, and customer care (the &quot;Greater Scroll of Dialing Wisdom&quot;).<br>
&nbsp;&nbsp;&nbsp; Plugged several security holes exposed by users, and several more that weren't. Redesigned &quot;tricks&quot; service to allow different levels of access for regular customers, outsourced Customer Care, and internal users.<br>
<br>
Most development had a high level of visibility in Customer Care, Operations, and Business Development.<br>
<br>
As a result of my work at WebTV, I am named as an inventor on the following patents:<br>
<br>
US05838927 1998/11/17 Method and apparatus for compressing a continuous, indistinct data stream<br>
US05940074 1999/08/17 Remote upgrade of software over a network<br>
US06023268 2000/02/08 Reducing latency while downloading data over a network<br>
US06230319 2001/05/08 Managing interruption while downloading data over a network<br>
US06259442 2001/07/10 Downloading software from a server to a client<br>
US06317792 2001/11/13 Generation and execution of scripts for enabling cost-effective access to network resources<br>
US06473099 2002/10/29 Automatically upgrading software over a satellite link<br>
US06614804 2003/09/02 Method and apparatus for remote update of clients by a server via broadcast satellite<br>
US06779034 2004/08/17 Cost-effective access to network resources<br>
<br>
Catapult Entertainment, Inc. -=- August 1994 - March 1996<br>
<br>
Software engineer in the online service development group. Catapult created the XBAND Video Game Modem and Network, a device and service that allowed owners of Sega Genesis and Super Nintendo Entertainment System (SNES) consoles to play against other users over a phone line. (Catapult was later purchased by Mpath Interactive, a/k/a HearMe.)<br>
<br>
Major feats:<br>
<br>
&nbsp;&nbsp;&nbsp; Implemented a significant portion of the service that Catapult launched with in mid-November '94. Notably:<br>
&nbsp;&nbsp;&nbsp; customer database, intra-service mail, news, game matching, game result tracking and player ranking, game patch management, build environment, logging, stat generation, and general network infrastructure including RPC between server processes. Service was written in C on SunOS 4.<br>
&nbsp;&nbsp;&nbsp; Ongoing responsibility for much of the service. Carried a pager, and fixed anything that broke. Continued development on customer database, new game platform support, security, and client interaction.<br>
<br>
Lesser feats:<br>
<br>
&nbsp;&nbsp;&nbsp; Implemented data compression algorithms for use in client-service communication.<br>
&nbsp;&nbsp;&nbsp; Spent a month in Japan, adapting the service for use with the SNES-J client.<br>
&nbsp;&nbsp;&nbsp; Shared assorted SunOS sysadmin duties with the rest of the team.<br>
<br>
Highland Digital -=- June 1994 - July 1994<br>
<br>
Software engineer. Highland Digital was primarily a Sun value-added retailer (VAR). They kept a small software<br>
team to develop products that addressed specific problems.<br>
<br>
In brief:<br>
<br>
&nbsp;&nbsp;&nbsp; Ported various WWW tools to SunOS and Solaris.<br>
&nbsp;&nbsp;&nbsp; Set up highland.com web server.<br>
<br>
Amdahl Corp. -=- June 1991 - May 1994<br>
<br>
Software engineer in the UTS System Software Group. Amdahl built IBM-compatible mainframes and software to run on them. UTS is Amdahl's mainframe UNIX product, based on SVR3 and SVR4. As demand for mainframes slowed, Amdahl began to move toward Sparc-based systems.<br>
<br>
Things I did:<br>
<br>
&nbsp;&nbsp;&nbsp; Ported and enhanced utilities from AT&amp;T's SVR4.x to UTS4.y.<br>
&nbsp;&nbsp;&nbsp; Added new system configuration and maintenance commands.<br>
&nbsp;&nbsp;&nbsp; Made changes to UTS4 kernel.<br>
&nbsp;&nbsp;&nbsp; Ported public domain and GNU-license software for internal use.<br>
&nbsp;&nbsp;&nbsp; Debugged a lot of strange situations.<br>
&nbsp;&nbsp;&nbsp; Worked on A+Texture, which was supposed to be a suite of applications for World Wide Web development.<br>
&nbsp;&nbsp;&nbsp; Enhanced NCSA Mosaic.<br>
<br>
Outside Projects<br>
CD-Recordable FAQ -=- March 1996 - present<br>
<br>
Created the Frequently Asked Questions list for CD recording, starting with the list of questions that I wanted to have answered.<br>
The FAQ currently fills about 250+ pages (depending on how you print it), has been translated at various times into Hungarian, Turkish, Italian, French, Russian, Spanish, German, Dutch, and Chinese, and at its peak got several thousand visitors a day. Customer support organizations at major hardware and software companies regularly referred customers to it as a resource. I have been interviewed by various newspapers and made a live appearance as a guest on TechTV's &quot;Call for Help&quot; program.<br>
<br>
The FAQ is converted from an ASCII text Usenet posting to an indexed, multi-page HTML format using the &quot;faq2html&quot; program I wrote for the purpose.<br>
<br>
NufxLib and NuLib2 -=- February 2000<br>
<br>
Designed, implemented, and documented a data archiving library and application. The NufxLib library allows applications to add, extract, rename, delete, and examine the contents of NuFX archives (popular in the Apple II world, mainly for use with software emulators). NuLib2, a replacement for the original NuLib (see below), is a command-line application implemented with NufxLib. Both are available as source code on sourceforge.net under GPL licenses.<br>
<br>
HardPressed[tm] -=- March 1992 - July 1993<br>
<br>
Designed and implemented &quot;HardPressed&quot;, a transparent file compression product for the Apple IIgs. Project involved extensive patching of the operating system, development of GUI user applications, and writing lots of code that had to be absolutely reliable. Sold as a commercial product through WestCode Software.<br>
<br>
The complete source code is available here.<br>
<br>
Hacking Data Compression -=- October 1992 - January 1993<br>
<br>
Developed a 12-part online course for the GEnie online service, entitled &quot;Hacking Data Compression&quot;. The course taught compression theory and algorithm implementation, focusing on lossless data compression for Apple IIgs applications written in C or 65816 assembly.<br>
<br>
Netrek Enhancements -=- December 1991 - May 1994<br>
<br>
Developed several enhancements to Netrek, a multiplayer space combat game written for UNIX and the X window system. Among them:<br>
<br>
&nbsp;&nbsp;&nbsp; Implemented UDP networking code. Netrek was originally written to use TCP/IP, and performed poorly over lossy connections. To the best of my knowledge, Netrek was the first game that ever used UDP over the Internet.<br>
&nbsp;&nbsp;&nbsp; Developed a suite of server administration tools, including a graphical observation and maintenance tool.<br>
&nbsp;&nbsp;&nbsp; Developed the &quot;meta-server&quot;, which provides up-to-date information on public server usage. (Looks like one is still running on metaserver.netrek.org port 3521; telnet to it.)<br>
&nbsp;&nbsp;&nbsp; Wrote a curses-based player-list editor.<br>
&nbsp;&nbsp;&nbsp; Wrote a secure packet-passing daemon (&quot;trekhopd&quot;) to allow gameplay across a bastion-host firewall.<br>
&nbsp;&nbsp;&nbsp; Created the Frequently Offered Clever Suggestions (FOCS) list for would-be developers.<br>
<br>
I gave a deposition for the defense in a patent lawsuit (HearMe vs. Lipstream Networks re: US 5,822,523) where Netrek was used as an example of prior art. And again, when the same patent came up in PalTalk vs. Microsoft.<br>
<br>
Optical Disc Jukebox Daemon -=- Spring 1991<br>
<br>
Wrote a client library and server application to control an optical disc jukebox that the Berkeley CS department had acquired.<br>
<br>
NuLib -=- Early 1989 - 1991?<br>
<br>
Developed a full-featured file archiver for use with Apple II &quot;.SHK&quot; archives. NuLib was written in C and ported to a wide variety of different UNIX systems. The program is still in use, mainly by Apple II emulator enthusiasts, though it has largely been replaced by NuLib2.<br>
<br>
Background<br>
Graduated from the University of California at Berkeley with a B.S. degree in Electrical Engineering and Computer Science, May 1991.<br>
<br>
Outside interests include martial arts, currently Danzan-Ryu Ju-jitsu. As part of my martial training I am certified in seifukujitsu (massage therapy).<br>
I have been known to perform certain acts of interior decoration.<br>
Last updated: 2010/01/10<br>
<br>
<br>
<br>
<br>
http://www.fadden.com/resume.html 5/1/2011<br>
<br>

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )