Daniel E. Brown
6019 Amador Pl.
Newark, CA 94560
Tel. (510) 827-5185
I am looking for a senior software engineering position in a company committed to innovative products.
Background and Experience
I have been programming computers for over 20 years.
I have considerable experience with embedded systems and applications, ROM BIOS, OS kernel and device drivers under Linux and Windows. Extensive system programming in Linux, Windows and embedded systems have given me in depth knowledge to the point where my colleagues consider me expert.
I also have experience with Backend web applications, dynamic web applications, Linux server applications, RAID storage systems, networking and wireless networking.
I have considerable skill and experience in the following areas:
- Development of an open source Linux platform for mobile phones
- Porting of embedded Linux to mobile phone platforms
- UNIX server process for video capture, image processing, network transfer, database access, large data storage, inter-system and inter-process communications.
- Web server and application clustering using Linux, proprietary software and WebSphere.
- Networking, Data communication and telephony. I have worked with wired and wireless communication at the systems and applications levels. This includes extensive experience with short range WiFi (like indoor hot spots); long range point to point WiFi over miles as well as mobile embedded devices (such as two way pagers).
- Java and Oracle application development environment and tools like WebSphere, Eclipse and Toad.
- Device Drivers and related items for Linux, Windows and embedded systems.
- Simulators. - While at SGI, I worked on an x86 PC simulator that ran under UNIX on large SGI servers, which interfaced, to a number of other servers and chip simulators.
- ROM BIOS software for PC clones as well as graphics BIOS and device drivers.
- Hardware control applications. At Wireless Access, I worked with a small team to develop the OS, file system and device drivers for a real time two-way email pager. While at Award Software and Osborne I wrote firmware for a microprocessor based keyboard controller and a hard disk controller. In addition, I developed software to control an array of specialized hardware.
- Developed a number of software debugging tools.
8,144,453 Integrated feature for friction less movement of force sensitive touch screen
6,600,481 Data entry apparatus and method, Wireless Access
Advanced firmware boot sequence x86 computer system, SGI
6,128,731 Advanced boot sequence that maintains expansion card device compatibility, SGI
2005 - Present KD Software Consulting / a la mobile Linux mobile phone start-up
Senior Software Consultant
- Development of an open source Linux platform for mobile phones: Convergent Linux Solution
- Porting of embedded Linux to three different mobile phone Board Support Packages (BSPs) based on Intelís XScale implementation of ARM architecture: Mainstone, Carbonado, BSQUARE PXA255.
The tasks included:
- Modification of Linux device drivers for synchronous serial ports, keyboard, audio, touchscreen, and NIC, using C and assembler
- Redesign of the interrupt system and other components such as DMA, MMU and GPIO
- BIOS development
- Modification of boot loaders: Uboat, Blob
- Using embedded file systems: JFFS, CRAM, NFS and RAMFS
- Modification of the Linux initialization code
- Consulting and advising to other Linux porting engineers
2004 KD Software Consulting/Ontrac/ VISA International
Senior Software Consultant
- The QoS application is a clustered multi-threaded application designed to run on a cluster of servers running the JAVA web environment WebSphere. The application is a mix of JAVA, Perl and scripts.
- Identified several challenging problems and solutions for a web based multi-threaded QoS application in a very short period of time, by examining the logs, the Java code (including J2EE package) and the user interface, and by setting up a number of tests on the Oracle database.
- Installed and used a clustered version of WebSphere with debugger, Eclipse, Toad, Javadoc and other development tools.
2001 - Present OIC, Inc. Video Surveillance start-up, Fremont, CA
Principal Software Engineer and Architect
- Founder and Member of Board of Directors.
- Invented and implemented a unique set of software programs and a clustered networking environment for capturing and displaying video surveillance across the Internet on multiple servers.
- Linux network and system programmer SSH, FTP, HTTP, NTP, WWW proxy and reverse proxy.
1997 - 2000 SGI Silicon Graphics, Mountain View, CA
Member of Technical Staff / NT Workstations
- Used Perl, Mod_Perl, CGI and shell scripts to set up many "live" video cameras for use during hardware bring up. The images were viewed in real time on dynamically updating web pages. These cameras were used to track lab activity and system availability. The video capture was done with SGI UNIX workstations and the pictures were sent to an SGI server where they were posted on internal web pages for the team to view. This turned out to be very a useful tool to find members of the development team.
- Worked on an x86 PC simulator that ran under UNIX on a large SGI server. This simulator emulated a complete PC with a 686 processor. It was used with VHDL hardware simulator for SGI custom chips. It allowed the system software to be written before the hardware was built. I learned many things about UNIX, multi-processor, X-windows, TCP/IP and TCL/TK. I was able to improve the features of the simulator and greatly improve its performance.
- Member of the system software group that produced the VW 320/540, the SGI NT workstation. Worked on the boot prom where we created a virtual PC to run the option BIOS on PCI cards. This work also allowed the booting of DOS on a non-clone PC.
- Worked on a 1394 FireWire NT device driver. The VW 320/540 has built-in 1394 support and this driver was needed for the Win2000 release.
1994 - 1996 Wireless Access, Santa Clara, CA
Senior Software Architect
- Responsible for the Software Architecture of the Skywriter (SkyTelís 2-way Reflex-50 pager), this included the User Interface and the Real Time Operating System. I designed and implemented most of the OS, message file system, external and internal diagnostics, network monitoring software (in the pager), musical messages and alerts, FLASH download program and a serial port protocol. I worked very closely with the hardware engineers and outside suppliers.
1990 - 1993 Communication Intelligence Corporation, Redwood Shores, CA
Senior Software Engineer and Architect
- Designed and implemented most of the following products: PenDOS operating environment for the pen, YPad-the electronic note taker, high memory protect mode loader and TSR work, PenDOS application programming interface, DOS and Windows install programs. Used Windows OLE Optimized handwriting recognition and stroke compression software.
1986 - 1989 MicroPro International Corporation, San Rafael, CA
Principal Software Engineer and Architect
- Designed and implemented WordStar's Advanced Page Preview. Worked in a group of four to build an interactive graphics WordStar (i.e. WYSIWYG).
1985 - 1988 Award Software Inc., Los Gatos, CA
Senior Software Engineer and new product Architect
- Wrote the PC-AT and PC-EGA BIOS ROM software for PC clones. Designed and implemented a page preview for a batch-typesetting program. This was sold to MicroPro as PageSetter and later became Page Preview in WordStar.
1983 - 1984 Fujitsu Micro Systems, San Jose, CA
Senior Software Engineer and project leader
- Managed the development of six mainframe communication packages from three vendors. This included setup of the main frame, testing, and releasing. Also managed the PC-to-PC local area network project.
1981 - 1982 Osborne Computer Corporation, Hayward, CA
- Designed and implemented the Osborne 1 and VIXEN system software. This included the ROM BIOS and all the utilities. Wrote diagnostics for the Osborne 1, VIXEN and double density floppy disk controllers. Wrote interface software for a hard disk drive network using Osborne's and Corvus disk drives.