<div dir="ltr"><div>I've confirmed that both Marks were the same person: <a href="mailto:markw@mohawksoft.com" target="_blank">markw@mohawksoft.com</a>. I've corrected the calendar to reflect this. <br></div><div><br></div><div>Thanks for the audit! <br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 21, 2023 at 8:53 AM John Abreau <<a href="mailto:abreauj@gmail.com" target="_blank">abreauj@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I took a look at the calendar. <br></div><div><br></div><div>I used the GEDCOM* name format for names in the persons table, but somehow missed it when adding Don Becker back in 2008, and I didn't add the speakers lists to the web page until many years after that. I've corrected his record, and it's no longer giving the python exception. <br></div><div><br></div><div>I imagine the two Mark Woodwards are probably the same person, but I don't know that for sure. I'll have to dig back in my inbox to 2011 to see if I can find any clues to resolve the question. </div><div><br></div><div>*GEDCOM stands for "Genealogical Data Communications", a file format for exchanging genealogical data. Internationally, and historically, there exist(ed) many different conventions for delineating personal names vs family names, so for maximum utility GEDCOM uses slash characters to delimit the family name. E.g., <br></div><div><br></div><div>    "Montmorency Quintus /Blodgett/ Jr.", a.k.a. "Spike". <br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 20, 2023 at 12:38 PM Bill Ricker <<a href="mailto:bill.n1vux@gmail.com" target="_blank">bill.n1vux@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif">JABR,</div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif">Kurt treating the <span style="font-family:monospace">calendar/speakers</span> like a competitive league table (private email) got me proofreading <a href="http://blu.org/cgi-bin/calendar/speakers" target="_blank">http://blu.org/cgi-bin/calendar/speakers</a> -<br></div><div class="gmail_default" style="font-family:georgia,serif"><ul><li>Are these the same person? <a href="http://blu.org/cgi-bin/calendar/speakers/m-woodward1" target="_blank">Mark L. <strong>Woodward</strong></a> (1) :: 
<a href="http://blu.org/cgi-bin/calendar/speakers/m-wood1" target="_blank">Mark <strong>Woodward</strong></a> (1) </li><li>why is Don alphabetized by FirstName, with no bold?  :: 
<a href="http://blu.org/cgi-bin/calendar/speakers/d-becker1" target="_blank">Don Becker</a> (1) :: 
</li><ul><li>looks like there's a <a href="http://blu.org/cgi-bin/calendar/speakers/d-becker1" target="_blank">data problem</a> <br></li></ul></ul></div><div style="font-family:georgia,serif" class="gmail_default"><table summary="heading" width="100%" cellspacing="0" cellpadding="2" border="0"><tbody><tr bgcolor="#6622aa"><td valign="bottom"><font face="helvetica, arial" color="#ffffff"><big><big><strong><type 'exceptions.ValueError'></strong></big></big></font></td><td valign="bottom" align="right"><font face="helvetica, arial" color="#ffffff">Python 2.7.5: /usr/bin/python<br>Thu Jul 20 12:34:07 2023</font></td></tr></tbody></table>
    
<p>A problem occurred in a Python script.  Here is the sequence of
function calls leading up to the error, in the order they occurred.</p>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tbody><tr><td bgcolor="#d8bbff"><big> </big><a>/srv/www/cgi-bin/calendar</a> in <strong><span></span></strong>()</td></tr>
<tr><td><font color="#909090"><tt>  <small>  563</small>   print '</html>'<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>  <small>  564</small> <br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>  <small>  565</small> if __name__ == '__main__':<br>
</tt></font></td></tr>
<tr><td bgcolor="#ffccee"><tt>=><small>  566</small>   main()<br>
</tt></td></tr>
<tr><td><font color="#909090"><tt>  <small>  567</small> <br>
</tt></font></td></tr>
<tr><td><small><font color="#909090"><strong>main</strong> = <function main></font></small></td></tr></tbody></table>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tbody><tr><td bgcolor="#d8bbff"><big> </big><a>/srv/www/cgi-bin/calendar</a> in <strong>main</strong>()</td></tr>
<tr><td><font color="#909090"><tt>  <small>   48</small>     if row_exists(dbh, 'persons', person):<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>  <small>   49</small>       print_html_header('BLU speaker: %s' % person)<br>
</tt></font></td></tr>
<tr><td bgcolor="#ffccee"><tt>=><small>   50</small>       show_one_speaker(dbh, path_info)<br>
</tt></td></tr>
<tr><td><font color="#909090"><tt>  <small>   51</small>     else:<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>  <small>   52</small>       print_html_header('Nonexistent BLU speaker')<br>
</tt></font></td></tr>
<tr><td><small><font color="#909090"><em>global</em> <strong>show_one_speaker</strong> = <function show_one_speaker>, <strong>dbh</strong> = <connection object at 0x7f3fb496f7f8; dsn: 'dbna...t='localhost' password=xxxxxxxxxxxxx', closed: 0>, <em>global</em> <strong>path_info</strong> = 'speakers/d-becker1'</font></small></td></tr></tbody></table>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tbody><tr><td bgcolor="#d8bbff"><big> </big><a>/srv/www/cgi-bin/calendar</a> in <strong>show_one_speaker</strong>(dbh=<connection
 object at 0x7f3fb496f7f8; dsn: 'dbna...t='localhost' 
password=xxxxxxxxxxxxx', closed: 0>, path_info='speakers/d-becker1')</td></tr>
<tr><td><font color="#909090"><tt>  <small>  265</small>     print '<h1>BLU Speaker: %s</h1>' % plain_name<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>  <small>  266</small> <br>
</tt></font></td></tr>
<tr><td bgcolor="#ffccee"><tt>=><small>  267</small>     show_person(dbh, pers_id)<br>
</tt></td></tr>
<tr><td><font color="#909090"><tt>  <small>  268</small> <br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>  <small>  269</small>     if row['bio']:</tt></font></td></tr></tbody></table></div><br><br></div>
_______________________________________________<br>
Officers mailing list<br>
<a href="mailto:Officers@lists.blu.org" target="_blank">Officers@lists.blu.org</a><br>
<a href="http://lists.blu.org/mailman/listinfo/officers" rel="noreferrer" target="_blank">http://lists.blu.org/mailman/listinfo/officers</a><br>
</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr">John Abreau / Executive Director, Boston Linux & Unix<br>Email: <a href="mailto:abreauj@gmail.com" target="_blank">abreauj@gmail.com</a> / WWW <a href="http://www.abreau.net" target="_blank">http://www.abreau.net</a> / PGP-Key-ID 0x920063C6<br>PGP-Key-Fingerprint A5AD 6BE1 FEFE 8E4F 5C23  C2D0 E885 E17C 9200 63C6<br><br></div></div>
</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr">John Abreau / Executive Director, Boston Linux & Unix<br>Email: <a href="mailto:abreauj@gmail.com" target="_blank">abreauj@gmail.com</a> / WWW <a href="http://www.abreau.net" target="_blank">http://www.abreau.net</a> / PGP-Key-ID 0x920063C6<br>PGP-Key-Fingerprint A5AD 6BE1 FEFE 8E4F 5C23  C2D0 E885 E17C 9200 63C6<br><br></div></div>