<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../..//default_style.css" type="text/css">
<link rel="stylesheet" href="../..//webtools/wtp.css" type="text/css">
<title>
			Eclipse Web Tool Platform Project Team -&nbsp;
		Contributor&nbsp;-&nbsp;Todd&nbsp;Williams</title>
</head>
<body>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tbody>
<tr>
<td width="60%" align="left"><font class="indextop">todd&nbsp;williams&nbsp;@ eclipse wtp</font>
<br>
<font class="indexsub">
			Eclipse Web Tool Platform Project Team -&nbsp;
		Contributor&nbsp;-&nbsp;Todd&nbsp;Williams</font></td><td width="40%"><img width="120" hspace="50" height="86" align="middle" src="../..//images/Idea.jpg"></td>
</tr>
</tbody>
</table>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<col width="16">
<col width="*">
<tbody>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top"><img height="250" width="200" src="photos/large/no-picture.png"></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../..//images/Adarrow.gif"></td><td><b>Affiliation:&nbsp;</b><a target="_top" href="http://www.genuitec.com">Genuitec</a></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../..//images/Adarrow.gif"></td><td><b>E-mail:&nbsp;</b><script language="JavaScript">var protocol = "mailto";
							function contact() { window.open(protocol +
							":" + user + "@" + server, "_self"); }
						</script><a href="javascript:contact()">todd&nbsp;at&nbsp;genuitec&nbsp;dot&nbsp;com</a></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../..//images/Adarrow.gif"></td><td><b>Home page:&nbsp;</b>n/a</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top"><script language="JavaScript">var user = "todd";var server = "genuitec.com";
					
var bugzilla = "https://bugs.eclipse.org/bugs/buglist.cgi?product=Web+Tools";

function bugsIReported() { 
	var query_string = "&emailreporter1=1&emailtype1=substring&email1=";
	window.open(bugzilla + query_string + user + "@" +
	server, "_top"); 
}

function bugsIOwn() { 
	var query_string = "&emailassigned_to1=1&emailtype1=substring&email1=";
	window.open(bugzilla + query_string + user + "@" + server, "_top"); 
}

function bugsINeedToConfirm() { 
	var query_string = "&bug_status=UNCONFIRMED&emailassigned_to1=1&emailtype1=substring&email1=";
	window.open(bugzilla + query_string + user + "@" + server, "_top"); 
}

function bugsINeedToResolve() { 
	var query_string = "&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=";
	window.open(bugzilla + query_string + user + "@" + server, "_top"); 
}

function bugsINeedToVerify() { 
	var query_string = "&bug_status=RESOLVED&emailreporter1=1&emailtype1=substring&email1=";
	window.open(bugzilla + query_string + user + "@" + server, "_top"); 
}

function bugsINeedToClose() { 
	var query_string = "&bug_status=VERIFIED&emailassigned_to1=1=1&emailtype1=substring&email1=";
	window.open(bugzilla + query_string + user + "@" + server, "_top"); 
}
					
				</script></td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Bugs</font></b></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../..//images/Adarrow.gif"></td><td><a href="javascript:bugsIReported()">Bugs I Reported</a></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../..//images/Adarrow.gif"></td><td><a href="javascript:bugsINeedToVerify()">
					Bugs I Need to Verify
				</a></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../..//images/Adarrow.gif"></td><td><a href="javascript:bugsIOwn()">Bugs I Own</a></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../..//images/Adarrow.gif"></td><td><a href="javascript:bugsINeedToConfirm()">
					Bugs I Need to Confirm
				</a></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../..//images/Adarrow.gif"></td><td><a href="javascript:bugsINeedToResolve()">
					Bugs I Need to Resolve
				</a></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../..//images/Adarrow.gif"></td><td><a href="javascript:bugsINeedToClose()">
					Bugs I Need to Close
				</a></td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Contribution</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p xmlns:person="http://eclipse.org/webtools/person" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Todd is a member of the WTP Requirements Group.</p>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Biography</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p xmlns:person="http://eclipse.org/webtools/person" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			Todd Williams is responsible for Genuitec&rsquo;s technology
			direction, infrastructure, and best practices. He has over
			17 years experience developing software solutions to data
			and computationally intensive problems. He has expert
			knowledge in the development of computing infrastructures,
			distributed software architectures, and the application of
			object-oriented methodologies and technologies.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p xmlns:person="http://eclipse.org/webtools/person" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			Todd holds a B.S. degree in Computer Science from Texas A&amp;M
			University, an M.S. degree in Computer Science from the
			University of Texas at Dallas, and is a Sun Certified
			Architect for Java Technology (Java 2).
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<br>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../..//images/Adarrow.gif"></td><td><a href="contributors.html#Todd-Williams">Contributor Activity</a></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../..//images/Adarrow.gif"></td><td><a href="index.html#Todd-Williams">Contributor Index</a></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<br>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<br>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<br>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Please see our
			<a target="_top" href="http://eclipse.org/legal/privacy.html">privacy policy</a>
			and website
			<a target="_top" href="http://eclipse.org/legal/termsofuse.html">terms of use</a>. 
			For problems with the eclipse.org site, please contact the
			<a href="mailto:webmaster@eclipse.org">webmaster</a>
			or read the
			<a target="_top" href="http://eclipse.org/webmaster/index.html">webmaster FAQ</a>
			for answers to common questions!
		</p>
</td>
</tr>
</tbody>
</table>
</body>
</html>
