Welcome,

My name is Philip Reames and you've reached my personal website. There isn't a lot of content on this website currently; most of what's available is my blog.

I'm currently a graduate student at UC Berkeley where I work on tools - particularly programming languages - for writing reliable systems software. Before returning to school, I spent four years at FactSet Research Systems as a software developer and manager of their Portfolio Publisher suite of products. I graduated from UIUC with a BS in Computer Science. I do consulting on the side for fun and profit.

Research Interests

I'm a graduate student at UC Berkeley. My primary adviser is George Necula though I also work with a number of other professors on various projects. My general research interest is in finding interesting ways to apply programming language techniques to further the reliability of systems software. The projects I'm currently working on (or very recently wrapped up) include: looking at programming patterns for "free" automatic memory management in event based systems, examining the feasibility of GPUs for offloading garbage collection tasks, and exploring concrete state & user demonstrations in software development. As we make progress on each (and hopefully get something published), I'll make a post about it on my blog and link from here.

My research focuses on development and maintenance of large scale systems software. I'm interesting in techniques for incrementally improving reliability, maintainability, and/or performance in existing code. To me a large system is one with millions of lines of code. Any tool which does not scale to at least that scope is not practical. I hope to target languages such as C, C++, and Fortran for my work due to the number of existing systems in those languages.

I'm just starting my graduate studies, but if you're curious about my previous publications and talks, you can check this list.

Consulting

Information on my contract programming and consulting work has been moved to its own page.

Contact Info

If you want to reach me, send me an email at: public [at] this domain. I am not always the best at responding to email, so if you want to ensure a quicker response, give me a call. (You'll have to ask me in person for my number though.) You can also reach me on LinkedIn or Twitter. Don't expect quick responses on the latter though.