My current research interests are quite broad, but all contain an emphasis on open source technology development and software engineering. I have a Ph.D. in artificial intelligence, and do some work around applications of search and machine learning in autonomous systems, planning, and scheduling, and one- and two-player games.
I was involved with work on the X Window System for some time; I am a past Member and Secretary of the X.Org Foundation Board of Directors. I am the principal designer of the XCB X protocol C binding library and a lead participant in my students' Xlib/XCB project. I have also been involved with the development of fontconfig and the Cairo libraries. The hosting of freedesktop.org at Portland State is partly the result of my efforts.
I was lead faculty advisor to the Portland State Aerospace Society for many years, building open source sounding rockets featuring highly advanced amateur avionics.
I am quite interested in solving one and two player games, and have created a strong solver for single-player Yahtzee and a retrograde solver for Ricochet Robots.
I am a believer in lightweight formal methods as a software engineering tool, and have done work in applying these methods to open source development. I also have research interests in programming languages, systems, and tools, and am the co-creator of the Nickle open source programming language and implementation.
You can find most of my projects (and some of my students') at "BartForge" and on Github.
Bibliography and Biography
Activities and Affiliations
PSU CS Capstone
Google/PSU Summer of Code
PSU Student ACM Chapter
Funding for graduate student research and teaching assistants is coordinated by the Graduate Committee, not by me. In addition, I only recommend funding students I have successfully worked closely with previously on an unpaid basis. In short, while I'd be happy to talk about working with you, I am not currently interested in receiving requests for paid teaching or research assistantship positions: such requests will be discarded unanswered. For more information on student funding in the PSU CS Department, contact the Graduate Coordinator.
I'm afraid that my time has become very limited. I am no longer writing letters of recommendation for students who have not distinguished themselves in some way with me. If we have worked closely and succesfully together outside of class, or if you have taken a number of my classes and done well, or if you have spectacularly excelled in one of my classes, etc., I am happy to write you a letter of recommendation for almost anything. Otherwise, please try to find another recommender.