Erik Andersen's Homepage

Erik's Page
Shaunalei's Page
Jessika's Page
Micah's Page
Ashleigh's Page
Web Search Page

Erik B. Andersen

All comments, insults, suggestions and bribes to:

I'm a Mechanical Engineer with a solid background in robotics, kinematics, control systems, manufacture, machine vision, C/C++ programming, networking, and embedded systems.

Status: I am working as a consultant, and president of CodePoet Consulting.

Some Background

After graduate school I went to work at Cimetrix doing robot stuff (that is after all what I had been studying). We started off using Unix, but the company made the switch to NT. While there, I used to write code for Windows NT using MFC and Microsoft Visual C++, and then I would come home and program stuff using Linux. It was a good experience, and I got a lot of time in working on embedded systems, robotic workcells, doing image processing, and spending weeks at a time in hotels doing work for various manufacturing facilities. Eventually, I wanted to pursue some other interests (and spend less time on the road), so after working there for over 2 years, I left to go work at WordCruncher.

WordCruncher was an Internet search engine company. It was a pretty cool place to work, since I got to use Linux on my workstation, and do cool search engine programming stuff using a very high powered DEC Alpha based supercomputing cluster. Things changed. Management decided they wanted to do something else and "shift[ed] strategic direction" in order to become "the business portal for the Internet". My boss, the very cool Tim Riker, was "let go" to facilitate this direction change. I quit a few weeks later.

Next I went to work as the System Administrator for the now defunct EagleNet Online, a growing, medium sized ISP. I made all the computers go, and fixed them when they broke. I maintained all the modem banks, web servers, mail servers, news servers, ftp servers, frame relay connections, wireless connections, routers, etc. Other than being a pain sometimes, it was a lot of fun. To help handle the load, I hired a friend of mine to help out, Mark Whitley, and he later took over the job as System Administrator. About 6 months after I quit, he quit too, and also went to work for Lineo.

Next I went to for Lineo as a Senior Software Engineer, doing embedded Linux development, Linux and uClinux kernel porting, driver development, development of systems for various customers. I also got to work on a lot of Open Source software. While there I developed and helped build a developer community around some of my Open Source efforts such as uClibc, TinyLogin, and BusyBox. BusyBox has proved to be extremely popular and is now used by nearly everyone doing embedded Linux work.

On Friday, September 7th, 2001, I was laid off when Lineo, had some major layoffs (over 60% of the company was let go). Since that time I have been running a small consulting company.


Linux, networking, computer programming, computer graphics, robotics, automation, CNC machining, computational vision, and about 25 other things depending on the day of the week you ask me.

Links to other stuff:

  • Here is my (not especially current) resume.

  • Status: I am working as a consultant, and president of CodePoet Consulting.

  • Linux is a completely free re-implementation of the Unix operating system that has been ported to just about every type of computer ever made. Like Unix, Linux is a robust, 32-bit, multitasking, multiuser, networked operating system with a long list of standard features. It is also a lot of fun to work with. I have been using and developing software for Linux since around 1994.

    I used to be president of the Salt Lake Linux User's Group. But I have since moved an hour south of Salt Lake and have turned that job over to others.

  • I volunteer with the Debian/GNU Linux distribution, which I have been doing since October 1995, when I became a Debian developer.

  • One of my current projects is maintaining BusyBox, which is a GPL suite of tiny UNIX utilities that provides a pretty complete POSIX environment in a very small package. I have rewritten most of it, helped build a developer community around it, and turned it into an excellent system for that is used by nearly everyone doing embedded Linux work. It was originaly written for the Debian boot-floppies by Bruce Perens, but really makes an excellent base for small or embedded systems.

  • I also put together Tinylogin, a very small embedded login-getty-passwd-etc utility designed to be a nice companion to BusyBox.

  • I have also done an x86 and ARM port of uClibc, a very compact C library for embedded Linux systems.

  • I wrote GnomeHack, a port of the venerable, but still wonderful role-playing game of nethack to the Gnome windowing system and the Gtk toolkit. This has now been integrated into the mainline nethack source tree and so I am no longer maintaining it.

  • A few years back I spent some time working on libVRML97, naw called openVRML, which is an excellent and portable C++ class library for reading and displaying VRML files using OpenGL. I helped by converting it to using automake and autoconf, and I wrote a couple of viewers for it, one using GTK and another using win32 (for Windows). I won't be doing any more win32 development on libVRML97 though, since I no longer work where I have access to NT (my heart is breaking ;-)

  • CD-ROM stuff
    Some time back in 1996 I made the mistake of buying an ATAPI CD changer. Of course it wasn't supported very well under linux at the time. I downloaded the ATAPI spec, and started hacking the Linux kernel. My patch to better support ATAPI CD changers under Linux eventually resulted in my maintaining the entire CD-ROM subsystem for the linux kernel for about two years. During that time I did a major update to the kernel's Uniform cdrom interface, ported the most useful of the old proprietary cdrom drivers to the Uniform cdrom interface, helped define the kernel's cdrom changer interface and added support for changers to ide-cd, fixed tons of bugs, etc. When you boot and see stuff like:
        Uniform CDROM driver Revision: 2.50
        hdc: ATAPI 6X CDROM CD-R/RW drive, 768kB Cache
        hdd: ATAPI 4X CDROM changer w/4 slots, 128kB Cache
    well, I wrote that. ;-)

    Unfortunatly, due to time constraints (i.e. my work was sucking up my time, my wife wanted me to finish our basement, put in an automatic sprinkler system, and to top it all off, I got very sick) I turned over maintainence of the Linux CDROM subsystem to Jens Axboe, who is doing an excellent job. Check out to see what Jens has done recently with the CD-ROM drivers. If you are having problems with your CD-ROM drive under Linux, this fine gentleman will be glad to help you. I can try, but I may be too busy to help.

  • My personal Internet Search page.

Last modified: Thursday, 28-Aug-2003 23:37:03 MDT
Mail all comments, insults, suggestions and bribes to Erik Andersen
This site created with the vi editor Graphics by GIMP Linux Today Valid HTML 4.0!
Weather Forecast for Salt Lake City, Utah


Freshmeat No Patents! Valid CSS!