<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3245885273362999580</id><updated>2026-08-21T08:42:03.013-07:00</updated><category term="Visual Studio"/><category term="bug"/><category term="linux"/><category term=".iso"/><category term="ArcGIS 10"/><category term="Custom Tool"/><category term="DVD"/><category term="DataGridView"/><category term="Geoprocessing"/><category term="Registry"/><category term="Virtual Machine"/><category term="documentation"/><category term="eclipse"/><category term="iis"/><category term="java"/><category term="redmine"/><category term="swt"/><category term="update-java-alternatives"/><title type='text'>GIS Geek</title><subtitle type='html'>There are no big problems, there are just a lot of little problems. &#xa;- Henry Ford</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-3889329531801678807</id><published>2012-12-23T20:05:00.000-08:00</published><updated>2017-08-27T13:40:09.763-07:00</updated><title type='text'>Deprecated</title><content type='html'>This blog has been deprecated.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/3889329531801678807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/12/this-blog-has-been-deprecated.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/3889329531801678807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/3889329531801678807'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/12/this-blog-has-been-deprecated.html' title='Deprecated'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-680813494516243608</id><published>2012-12-23T13:58:00.000-08:00</published><updated>2012-12-23T14:00:07.598-08:00</updated><title type='text'>Using Apache Avro with Python</title><content type='html'>&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Abstract:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Instructions are given on&amp;nbsp;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;how to use the Python implementation of Avro to load multiple schemas, &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;stored in separate files,&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;&amp;nbsp;to build an overall composite schema.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;&lt;b&gt;Details:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;The following example uses two Avro schema files, where the second uses the first. &amp;nbsp;There is also an example of a Python script, which combines and tests the composite schema by outputting to the console.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;&lt;u&gt;First schema file&lt;/u&gt;: &amp;nbsp;parameter_types.avsc&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;{&quot;&lt;b&gt;namespace&lt;/b&gt;&quot;: &quot;&lt;/span&gt;&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;scriptaxe.parameter&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;&quot;&lt;b&gt;type&lt;/b&gt;&quot;: &quot;enum&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;&quot;&lt;b&gt;name&lt;/b&gt;&quot;: &quot;&lt;/span&gt;&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;&quot;&lt;b&gt;symbols&lt;/b&gt;&quot;: [&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;null&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;boolean&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;int&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;long&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;float&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;double&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;bytes&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;string&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; ]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;&lt;u&gt;Second schema file&lt;/u&gt;: &amp;nbsp;parameter.avsc&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;{&quot;&lt;b&gt;namespace&lt;/b&gt;&quot;: &quot;scriptaxe&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;&quot;&lt;b&gt;type&lt;/b&gt;&quot;: &quot;record&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;&quot;&lt;b&gt;name&lt;/b&gt;&quot;: &quot;parameter&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;&quot;&lt;b&gt;fields&lt;/b&gt;&quot;: [&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;&lt;b&gt;name&lt;/b&gt;&quot;: &quot;name&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;&lt;b&gt;type&lt;/b&gt;&quot;: &quot;string&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp;},{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;&lt;b&gt;name&lt;/b&gt;&quot;: &quot;description&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;&lt;b&gt;type&lt;/b&gt;&quot;: [&quot;null&quot;, &quot;string&quot;]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp;},{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;&lt;b&gt;name&lt;/b&gt;&quot;: &quot;type&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;&lt;b&gt;type&lt;/b&gt;&quot;: &quot;&lt;/span&gt;&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;scriptaxe.parameter.types&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;&lt;u&gt;Python file: &lt;/u&gt;&amp;nbsp;avro_test.py&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;import&lt;/span&gt;&lt;/b&gt; avro.schema&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;import&lt;/span&gt;&lt;/b&gt; json&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;def &lt;b&gt;main&lt;/b&gt;():&lt;br /&gt;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&quot;&quot;&quot;Start of execution&quot;&quot;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;#combine the schemas&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; known_schemas = avro.schema.Names()&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; types_schema = LoadAvsc(&lt;span style=&quot;color: #38761d;&quot;&gt;&quot;parameter_types.avsc&quot;&lt;/span&gt;, known_schemas)&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; param_schema = LoadAvsc(&lt;span style=&quot;color: #38761d;&quot;&gt;&quot;parameter.avsc&quot;&lt;/span&gt;, known_schemas)&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &lt;b&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;print&lt;/span&gt;&lt;/b&gt; json.dumps(param_schema.to_json(avro.schema.Names()), indent=2)&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;#test the schema works&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; param_file = open(&lt;span style=&quot;color: #38761d;&quot;&gt;&quot;parameters.avro&quot;&lt;/span&gt;, &quot;w&quot;)&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; writer = DataFileWriter(param_file, DatumWriter(), param_schema)&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; param_1 = {&lt;span style=&quot;color: #38761d;&quot;&gt;&quot;name&quot;&lt;/span&gt;: &lt;span style=&quot;color: #38761d;&quot;&gt;&quot;test&quot;&lt;/span&gt;, &lt;span style=&quot;color: #38761d;&quot;&gt;&quot;description&quot;&lt;/span&gt;:&lt;span style=&quot;color: #38761d;&quot;&gt;&quot;An Avro test.&quot;&lt;/span&gt;, &lt;span style=&quot;color: #38761d;&quot;&gt;&quot;type&quot;&lt;/span&gt;:&lt;span style=&quot;color: #38761d;&quot;&gt;&quot;int&quot;&lt;/span&gt;}&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; param_2 = {&lt;span style=&quot;color: #38761d;&quot;&gt;&quot;name&quot;&lt;/span&gt;: &lt;span style=&quot;color: #38761d;&quot;&gt;&quot;test&quot;&lt;/span&gt;, &lt;span style=&quot;color: #38761d;&quot;&gt;&quot;description&quot;&lt;/span&gt;:&lt;span style=&quot;color: #38761d;&quot;&gt;&quot;An Avro test.&quot;&lt;/span&gt;, &lt;span style=&quot;color: #38761d;&quot;&gt;&quot;type&quot;&lt;/span&gt;:&lt;span style=&quot;color: #38761d;&quot;&gt;&quot;boolean&quot;&lt;/span&gt;}&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; writer.append(param_1)&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; writer.append(param_2)&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; writer.close()&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; reader = DataFileReader(open(&lt;span style=&quot;color: #38761d;&quot;&gt;&quot;parameters.avro&quot;&lt;/span&gt;, &lt;span style=&quot;color: #38761d;&quot;&gt;&quot;r&quot;&lt;/span&gt;), DatumReader())&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; for parameter in reader:&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; print parameter&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; reader.close()&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;def &lt;b&gt;LoadAvsc&lt;/b&gt;(file_path, names=&lt;b&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;None&lt;/span&gt;&lt;/b&gt;):&lt;br /&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &quot;&quot;&quot;Load avsc file&lt;br /&gt;&amp;nbsp; &amp;nbsp; file_path: path to schema file&lt;br /&gt;&amp;nbsp; &amp;nbsp; names(optional): avro.schema.Names object&lt;br /&gt;&amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; file_text = open(file_path).read()&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; json_data = json.loads(file_text)&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; schema = avro.schema.make_avsc_object(json_data, names)&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &lt;b&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;return&lt;/span&gt;&lt;/b&gt; schema&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; __name__ == &lt;span style=&quot;color: #38761d;&quot;&gt;&quot;__main__&quot;&lt;/span&gt;:&lt;br /&gt;&amp;nbsp; main()&lt;/span&gt;&lt;/blockquote&gt;
&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;u&gt;Output to console:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &quot;type&quot;: &quot;record&quot;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &quot;namespace&quot;: &quot;scriptaxe&quot;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &quot;name&quot;: &quot;parameter&quot;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &quot;fields&quot;: [&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;type&quot;: &quot;string&quot;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;name&quot;: &quot;name&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; }, {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;type&quot;: [&quot;null&quot;, &quot;string&quot;],&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;name&quot;: &quot;description&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; }, {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;type&quot;: {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;symbols&quot;: [&quot;null&quot;, &quot;boolean&quot;, &quot;int&quot;, &quot;long&quot;, &quot;float&quot;, &quot;double&quot;, &quot;bytes&quot;, &quot;string&quot;],&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;namespace&quot;: &quot;scriptaxe.parameter&quot;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;type&quot;: &quot;enum&quot;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;name&quot;: &quot;types&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;name&quot;: &quot;type&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&amp;nbsp; ]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;{u&#39;type&#39;: u&#39;int&#39;, u&#39;name&#39;: u&#39;test&#39;, u&#39;description&#39;: u&#39;An Avro test.&#39;}&lt;br /&gt;{u&#39;type&#39;: u&#39;boolean&#39;, u&#39;name&#39;: u&#39;test&#39;, u&#39;description&#39;: u&#39;An Avro test.&#39;}&lt;/span&gt;&lt;/blockquote&gt;
&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;b&gt;Discussion:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;Avro&#39;s documentation is sparse. &amp;nbsp;This article is intended to help those who are curious to know if the Python implementation of Avro can reuse separately defined schemas. &amp;nbsp;The answer is yes, and a working example was presented above.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 16px;&quot;&gt;Keep in mind that the data used in this example, param_1 and param_2, have key names which match some of Avro&#39;s. &amp;nbsp;Obviously these key names were chosen to mimic Avro, not because they were specifically required.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;It is important to note that the base schemas that must be &quot;inherited&quot;, in this case the schema contained in&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;parameter_types.avsc, must be loaded first.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;It would be nice to have a bulk schema loader that could take a set schemas in any order and manage the correct loading process for us.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;b&gt;Additional Notes:&lt;/b&gt;&lt;br /&gt;
Installing Avro for Python is easy:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$sudo pip install avro&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: inherit; line-height: 16px;&quot;&gt;&lt;b&gt;References:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;a href=&quot;http://www.infoq.com/articles/ApacheAvro&quot;&gt;Using Apache Avro&lt;/a&gt;&amp;nbsp;,&amp;nbsp;Boris Lublinsky on Jan 25, 2011.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;a href=&quot;http://avro.apache.org/docs/current/gettingstartedpython.html&quot;&gt;Apache Avro™ 1.7.3 Getting Started (Python)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://avro.apache.org/docs/current/spec.html&quot;&gt;Apache Avro™ 1.7.3 Specification&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/680813494516243608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/12/using-apache-avro-with-python.html#comment-form' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/680813494516243608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/680813494516243608'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/12/using-apache-avro-with-python.html' title='Using Apache Avro with Python'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-4957280884926963377</id><published>2012-11-04T13:55:00.000-08:00</published><updated>2012-11-04T13:56:06.568-08:00</updated><title type='text'>Ubuntu 12.04 Restore Default Scrollbars</title><content type='html'>&lt;b style=&quot;font-family: inherit;&quot;&gt;Situation:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Ubuntu 12.04 LTS(Precise)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b style=&quot;font-family: inherit;&quot;&gt;Problem:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Please restore the default scrollbars.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b style=&quot;font-family: inherit;&quot;&gt;Solution:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Run the following at command line:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;sudo su&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;echo &quot;export LIBOVERLAY_SCROLLBAR=0&quot; &amp;gt; /etc/X11/Xsession.d/80overlayscrollbars&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;gnome-session-quit #log out and back in&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b style=&quot;font-family: inherit;&quot;&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://www.webupd8.org/2011/04/how-to-disable-overlay-scrollbars-in.html&quot;&gt;http://www.webupd8.org/2011/04/how-to-disable-overlay-scrollbars-in.html&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/4957280884926963377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/11/ubuntu-1204-restore-default-scrollbars.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/4957280884926963377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/4957280884926963377'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/11/ubuntu-1204-restore-default-scrollbars.html' title='Ubuntu 12.04 Restore Default Scrollbars'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-1914831649316875690</id><published>2012-11-04T13:10:00.000-08:00</published><updated>2012-12-20T19:58:01.364-08:00</updated><title type='text'> Error &quot;string indices must be integers&quot; When Deserializing Queryset</title><content type='html'>&lt;br /&gt;
&lt;b&gt;Situation:&lt;/b&gt;&lt;br /&gt;
Attempting to deserialize a django 1.5 queryset&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;from django.core import serializers&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;queryset =&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;MyModel.objects.all()&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;data = serializers.serialize(&#39;json&#39;, queryset)&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#... on another server, data loaded using urllib2:&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;obj = serializers.deserialize(&#39;json&#39;, data) # error&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
Django returns the error &quot;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 13px;&quot;&gt;string indices must be integers&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
You are not deserializing what you think you are deserializing. &amp;nbsp;Look at the JSON string and it should be apparent. &amp;nbsp; I had this problem in two cases:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;I had accidentally serialized twice (the JSON string contained escaped quotation marks: \&quot;)&lt;/li&gt;
&lt;li&gt;There was an error message instead of the actual object&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/dev/topics/serialization/&quot;&gt;Django Docs: &amp;nbsp;Serialization&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/1914831649316875690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/11/situation-attempting-to-deserialize.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/1914831649316875690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/1914831649316875690'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/11/situation-attempting-to-deserialize.html' title=' Error &quot;string indices must be integers&quot; When Deserializing Queryset'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-2418139640805660370</id><published>2012-08-09T18:43:00.004-07:00</published><updated>2012-08-21T00:03:48.023-07:00</updated><title type='text'>Python:  Import a Submodule Programmatically</title><content type='html'>&lt;b&gt;Situation:&lt;/b&gt;&lt;br /&gt;
In Python 2.7, there is a need to import a sub-package programmatically by name.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
I&#39;ve looked at &lt;a href=&quot;http://docs.python.org/library/functions.html#__import__&quot;&gt;__import__&lt;/a&gt; and &lt;a href=&quot;http://docs.python.org/library/importlib.html#importlib.import_module&quot;&gt;importlib&lt;/a&gt; but the solution is not readily apparent.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
import importlib&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
module_name = &#39;.&#39;.join((&#39;os&#39;,&#39;path&#39;))&lt;br /&gt;
path = importlib.import_module(module_name)&lt;br /&gt;
&lt;br /&gt;
#or&lt;br /&gt;
&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
module_name = &#39;.&#39;.join((&#39;os&#39;,&#39;path&#39;))&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
__import__(module_name)&lt;br /&gt;
path = sys.modules[module_name]&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;&lt;a href=&quot;http://docs.python.org/library/importlib.html#module-importlib&quot;&gt;importlib – Convenience wrappers for __import__()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hg.python.org/releasing/2.7.3/file/7bb96963d067/Lib/importlib/__init__.py&quot;&gt;Source code for importlib&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/2418139640805660370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/08/python-how-do-i-programmatically-import.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/2418139640805660370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/2418139640805660370'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/08/python-how-do-i-programmatically-import.html' title='Python:  Import a Submodule Programmatically'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-4963216910851731920</id><published>2012-08-02T21:58:00.005-07:00</published><updated>2012-08-14T23:38:49.585-07:00</updated><title type='text'>Trouble Starting Ubuntu:  System Running in Low Graphics Mode</title><content type='html'>&lt;b&gt;Situation&lt;/b&gt;:&lt;br /&gt;
Trying to boot computer into&amp;nbsp;Ubuntu 12.04 LTS(Precise)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Problem&lt;/b&gt;:&lt;br /&gt;
You reach dialog which says &quot;System running in low graphics mode&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution&lt;/b&gt;:&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;lt;CTRL-ALT-F1&amp;gt; to get to command line&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;lt;CTRL-C&amp;gt; to exit current process if needed&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; line-height: 16px; text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo apt-get install --reinstall ubuntu-desktop&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; line-height: 16px; text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo reboot&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References&lt;/b&gt;:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://askubuntu.com/questions/125453/your-system-is-running-in-low-graphics-mode-with-an-ati-radeon-3200-graphics-car&quot;&gt;Ask Ubuntu: Your system is running in low-graphics mode with an ATI Radeon 3200 Graphics card&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/4963216910851731920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/08/trouble-starting-ubuntu-system-running.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/4963216910851731920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/4963216910851731920'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/08/trouble-starting-ubuntu-system-running.html' title='Trouble Starting Ubuntu:  System Running in Low Graphics Mode'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-5371671205470150271</id><published>2012-08-01T19:43:00.000-07:00</published><updated>2012-11-04T13:18:11.408-08:00</updated><title type='text'>Ubuntu Software Center is Prompting for Root</title><content type='html'>&lt;b&gt;Situation:&lt;/b&gt;&lt;br /&gt;
Trying to install package using Ubuntu Software Center on&amp;nbsp;Ubuntu 12.04 LTS(Precise)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
The user is prompted for the root password instead of their own&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
Edit&amp;nbsp;&lt;span style=&quot;background-color: #f7f6f5; font-family: Ubuntu, Ubuntu, &#39;Ubuntu Beta&#39;, UbuntuBeta, &#39;Bitstream Vera Sans&#39;, &#39;DejaVu Sans&#39;, Tahoma, HelveticaNeue-Light, &#39;Helvetica Neue Light&#39;, &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 13px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #f7f6f5; font-family: Ubuntu, Ubuntu, &#39;Ubuntu Beta&#39;, UbuntuBeta, &#39;Bitstream Vera Sans&#39;, &#39;DejaVu Sans&#39;, Tahoma, HelveticaNeue-Light, &#39;Helvetica Neue Light&#39;, &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 13px;&quot;&gt;/etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf&lt;/span&gt;&amp;nbsp;to include the user or their group. Here is an example of the contents of this file:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;[Configuration]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;AdminIdentities=unix-group:administrators;unix-user:johnsmith&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://manpages.ubuntu.com/manpages/maverick/man8/pklocalauthority.8.html&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;pklocalauthority - PolicyKit Local Authority&lt;/span&gt;&lt;/a&gt;&lt;pre style=&quot;border: 0px; color: #333333; font-family: inherit; font-size: 12px; line-height: 16px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://ubuntuforums.org/showthread.php?t=1766429&quot;&gt;Ubuntu forums&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/5371671205470150271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/08/ubuntu-software-center-is-prompting-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/5371671205470150271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/5371671205470150271'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/08/ubuntu-software-center-is-prompting-for.html' title='Ubuntu Software Center is Prompting for Root'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-5815560997058327535</id><published>2012-06-27T21:20:00.004-07:00</published><updated>2012-06-27T21:29:45.847-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="update-java-alternatives"/><title type='text'>Switch Linux Java Version (Ubuntu 12.04)</title><content type='html'>&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
I installed a new version of Java on Linux. &amp;nbsp;How do I quickly make it the default?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ java -version&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;java version &quot;1.6.0_24&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;OpenJDK Runtime Environment (IcedTea6 1.11.1) (6b24-1.11.1-4ubuntu3)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ update-java-alternatives -l&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ sudo update-java-alternatives -s java-1.7.0-openjdk-amd64&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;...&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ java -version&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;java version &quot;1.7.0_03&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;OpenJDK Runtime Environment (IcedTea7 2.1.1pre) (7~u3-2.1.1~pre1-1ubuntu3)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://maciek.hubpages.com/hub/Ubuntu-Install-Sun-Java-Alternatives&quot;&gt;Install Sun Java Alternative in Ubuntu&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/5815560997058327535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/06/switch-linux-java-version-ubuntu-1204.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/5815560997058327535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/5815560997058327535'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/06/switch-linux-java-version-ubuntu-1204.html' title='Switch Linux Java Version (Ubuntu 12.04)'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-829044162518733368</id><published>2012-06-17T17:03:00.002-07:00</published><updated>2012-06-17T17:05:52.861-07:00</updated><title type='text'>Google Chart API Shows Only One Chart</title><content type='html'>&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
When using Google Charts, a single chart is shown despite adding multiple charts.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
The &amp;lt;div&amp;gt; element is a non-void(non-empty) element and should not be self closed.&lt;br /&gt;
&lt;br /&gt;
Single graph shows:&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;lt;div id=&quot;month_type&quot; class=&quot;chg_chart&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;lt;div id=&quot;month_cat&quot; class=&quot;chg_chart&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;lt;div id=&quot;month_region&quot; class=&quot;chg_chart&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Three graphs show:&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;lt;div id=&quot;month_type&quot; class=&quot;chg_chart&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;lt;div id=&quot;month_cat&quot; class=&quot;chg_chart&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;lt;div id=&quot;month_region&quot; class=&quot;chg_chart&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/6708777/is-it-possible-to-have-multiple-google-charts-in-one-page&quot;&gt;stackoverflow:  is it possible to have multiple google charts in one page?&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/829044162518733368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/06/google-chart-api-shows-only-one-chart.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/829044162518733368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/829044162518733368'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/06/google-chart-api-shows-only-one-chart.html' title='Google Chart API Shows Only One Chart'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-6311530776788040937</id><published>2012-05-02T16:52:00.001-07:00</published><updated>2012-05-02T18:02:45.932-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iis"/><category scheme="http://www.blogger.com/atom/ns#" term="redmine"/><title type='text'>Unable to upload files on Redmine installed on a Windows IIS server</title><content type='html'>The following instructions were used to install Redmine on a Windows server:&lt;br /&gt;
&lt;a href=&quot;http://www.helicontech.com/articles/installing-redmine-on-windows-in-production/&quot;&gt;http://www.helicontech.com/articles/installing-redmine-on-windows-in-production/&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
There is an error when you try to upload files to a project in Redmine.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Create a folder in the root of the Redmine installation directory:&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;C:\inetpub\wwwroot\redmine\files&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Add write permission to this directory. &amp;nbsp;In our case we had a IIS_IUSRS user that was given modify permission for this directory.&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.redmine.org/boards/2/topics/12086&quot;&gt;http://www.redmine.org/boards/2/topics/12086&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/6311530776788040937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/05/unable-to-upload-files-on-redmine.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/6311530776788040937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/6311530776788040937'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/05/unable-to-upload-files-on-redmine.html' title='Unable to upload files on Redmine installed on a Windows IIS server'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-7380861927752049645</id><published>2012-04-27T12:13:00.001-07:00</published><updated>2012-05-02T18:03:18.596-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="swt"/><title type='text'>Eclipse won&#39;t start on Linux &quot;Could not load SWT library&quot; with Oracle Java 7</title><content type='html'>&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
When starting Eclipse on Linux (64bit Ubuntu 12.04) you get an error message:&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;An error has occurred. &amp;nbsp;See the log file&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;/home/&amp;lt;user_name&amp;gt;/.eclipse/org.eclipse.platform_3.70_155965261/configuration/1335552227148.log.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Opening the log file reveals the following:&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;!SESSION 2012-04-27 11:43:47.016 -----------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;eclipse.buildId=I20110613-1736&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;java.version=1.7.0_03&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;java.vendor=Oracle Corporation&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;Command-line arguments: &amp;nbsp;-os linux -ws gtk -arch x86_64&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;!ENTRY org.eclipse.osgi 4 0 2012-04-27 11:43:48.075&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;!MESSAGE Application error&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;!STACK 1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;no swt-gtk-3740 in java.library.path&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;no swt-gtk in java.library.path&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Can&#39;t load library: /home/maj/.swt/lib/linux/x86_64/libswt-gtk-3740.so&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Can&#39;t load library: /home/maj/.swt/lib/linux/x86_64/libswt-gtk.so&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.swt.internal.Library.loadLibrary(Library.java:285)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.swt.internal.Library.loadLibrary(Library.java:194)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.swt.internal.C.&amp;lt;clinit&amp;gt;(C.java:21)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.swt.widgets.Display.&amp;lt;clinit&amp;gt;(Display.java:132)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:695)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:153)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:95)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at java.lang.reflect.Method.invoke(Method.java:601)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.equinox.launcher.Main.run(Main.java:1410)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at org.eclipse.equinox.launcher.Main.main(Main.java:1386)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
Execute the following command to create a symlink to the current version of swt:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-size: 14px; line-height: 18px; text-align: left;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 18px;&quot;&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/10165693/ubuntu-eclipse-cannot-load-swt-libraries-not-opening&quot;&gt;StackOverflow: Ubuntu - Eclipse cannot load SWT libraries. Not opening&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/7380861927752049645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/04/eclipse-wont-start-on-linux-could-not.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/7380861927752049645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/7380861927752049645'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/04/eclipse-wont-start-on-linux-could-not.html' title='Eclipse won&#39;t start on Linux &quot;Could not load SWT library&quot; with Oracle Java 7'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-8933433212063445973</id><published>2012-04-16T14:22:00.000-07:00</published><updated>2012-04-24T00:32:02.852-07:00</updated><title type='text'>SmartGit Hangs When Switching Branches</title><content type='html'>&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
On Windows, SmartGit Hangs when switching braches, with the message:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Process Not Responding&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;SmartGit is waiting for the following process to finish.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;C:\Program Files(x86)\Git\bin\git.exe ls-remote origin&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;If you thnk the process is hanging, click the Exit Process button, otherwise Wait&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZYpSCK6AiroopusaFKrquE5slQ7dPYdWX6kyXpFU4Faav4YL8EVXM90zYFZFvzIQvHyUSkCl4LvMN3gETeVfzp-hd6UOPmC2DYyYdFvwyXyxuDYP26-hCoGqGRSnMLS87JMSvdViApN4/s1600/image.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZYpSCK6AiroopusaFKrquE5slQ7dPYdWX6kyXpFU4Faav4YL8EVXM90zYFZFvzIQvHyUSkCl4LvMN3gETeVfzp-hd6UOPmC2DYyYdFvwyXyxuDYP26-hCoGqGRSnMLS87JMSvdViApN4/s1600/image.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
Install an earlier version of msysgit to eliminate this issue.&lt;br /&gt;
&lt;br /&gt;
This error popped up in version 1.7.10 (Git-1.7.10-preview20120409.exe) of msysgit. &amp;nbsp; This error was confirmed absent from versions 1.7.9 (Git-1.7.9-preview20120201.exe) and 1.7.8 (Git-1.7.8-preview20111206.exe) &amp;nbsp;of msysgit.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;UPDATE (2012-04-24)&lt;/span&gt;:&lt;br /&gt;
&lt;br /&gt;
This bug was fixed in&amp;nbsp;&lt;a href=&quot;http://www.syntevo.com/smartgit/changelog.txt&quot;&gt;SmartGit 3.0.4 (2012-04-21)&lt;/a&gt;:&lt;br /&gt;
&lt;pre style=&quot;white-space: pre-wrap; word-wrap: break-word;&quot;&gt;&lt;ul&gt;
&lt;li&gt;Switch (Git): hangs for https repositories with (msys)Git 1.7.9.2 or newer&lt;/li&gt;
&lt;/ul&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;white-space: pre-wrap; word-wrap: break-word;&quot;&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/8933433212063445973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/04/smartgit-hangs-when-switching-branch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/8933433212063445973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/8933433212063445973'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/04/smartgit-hangs-when-switching-branch.html' title='SmartGit Hangs When Switching Branches'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZYpSCK6AiroopusaFKrquE5slQ7dPYdWX6kyXpFU4Faav4YL8EVXM90zYFZFvzIQvHyUSkCl4LvMN3gETeVfzp-hd6UOPmC2DYyYdFvwyXyxuDYP26-hCoGqGRSnMLS87JMSvdViApN4/s72-c/image.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-5293607578499856599</id><published>2012-04-10T10:14:00.002-07:00</published><updated>2012-04-16T14:28:24.652-07:00</updated><title type='text'>SmartGit SSL Certificate Problem, error:14090086:SSL</title><content type='html'>&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;
Problem:&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
You get error:14090086:SSL in SmartGit when trying to clone a remote repository using HTTPS (SSL):&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioLWZXO71JPCfBwQTjiMfhVTUzz4o99zHpaMa3aTu6kuHdvAuRaeEuwLrYrLznQTilVlxpPF6aKc1ZF8LKKt7rFiAKCnawqvo4fJ4nFcV5hsF4NuR4rc9nhI3a2V9UDF68VdByTQbFTuc/s1600/git+error.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img alt=&quot;Command Failed:  SSL certificate problem, verify that the CA cert is OK.  Details:  HTTP request failed: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioLWZXO71JPCfBwQTjiMfhVTUzz4o99zHpaMa3aTu6kuHdvAuRaeEuwLrYrLznQTilVlxpPF6aKc1ZF8LKKt7rFiAKCnawqvo4fJ4nFcV5hsF4NuR4rc9nhI3a2V9UDF68VdByTQbFTuc/s1600/git+error.png&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;Solution (Windows):&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;rvps2&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font: inherit; padding-bottom: 0px; padding-left: 24px; padding-right: 0px; padding-top: 0px; text-align: left; text-indent: -24px; vertical-align: baseline;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;rvps2&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; padding-bottom: 0px; padding-left: 24px; padding-right: 0px; padding-top: 0px; text-align: left; text-indent: -24px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;rvts6&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;1. &amp;nbsp;Create a new directory called &amp;lt;project_name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rvts6&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;rvps2&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; padding-bottom: 0px; padding-left: 24px; padding-right: 0px; padding-top: 0px; text-align: left; text-indent: -24px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;rvts6&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;2. Right-Click on the new directory and select &quot;Git Bash Here&quot;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rvts6&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;rvps2&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; padding-bottom: 0px; padding-left: 24px; padding-right: 0px; padding-top: 0px; text-align: left; text-indent: -24px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;rvts6&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;3. &amp;nbsp;Enter the following command lines:&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rvts6&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rvts23&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;git init&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rvts23&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rvts23&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;git config http.sslVerify false&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rvts23&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rvts23&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;git remote add origin https://&amp;lt;/Bonobo.Git.Server/Git.aspx/pylet&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;rvts6&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;rvps2&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; padding-bottom: 0px; padding-left: 24px; padding-right: 0px; padding-top: 0px; text-align: left; text-indent: -24px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;rvts6&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;4. Close the Git Bash&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;rvps2&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; padding-bottom: 0px; padding-left: 24px; padding-right: 0px; padding-top: 0px; text-align: left; text-indent: -24px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;rvts6&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;rvps2&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; padding-bottom: 0px; padding-left: 24px; padding-right: 0px; padding-top: 0px; text-align: left; text-indent: -24px; vertical-align: baseline;&quot;&gt;
&lt;span class=&quot;rvts6&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;5. Open SmartGit and open the existing local repository, and click the Pull button&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Warning:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
This solution is a security risk if ever used with an external site and is intended for intranet servers with self-signed ssl certificates. &amp;nbsp;Do not use this solution with public servers and if your repository is ever moved to an external site, you will want to switch http.sslVerify back to true.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
You might see examples using a global setting (&lt;span style=&quot;background-color: #eeeeee; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 18px; text-align: left;&quot;&gt;git config --global http.sslverify &quot;false&quot;)&lt;/span&gt;&amp;nbsp;. &amp;nbsp;In the solution presented here, we are intentionally disabling SSL verification on a per repository basis so&amp;nbsp;you can still safely use public repositories.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;h1 itemprop=&quot;name&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 1.3; margin-bottom: 7px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; vertical-align: baseline;&quot;&gt;

&lt;span style=&quot;font-family: inherit; font-size: small; font-weight: normal;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/9008309/how-do-i-set-git-ssl-no-verify-for-specific-repos-only&quot;&gt;How do I set GIT_SSL_NO_VERIFY for specific repos only?&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/5293607578499856599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/04/smartgit-ssl-certificate-problem.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/5293607578499856599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/5293607578499856599'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/04/smartgit-ssl-certificate-problem.html' title='SmartGit SSL Certificate Problem, error:14090086:SSL'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioLWZXO71JPCfBwQTjiMfhVTUzz4o99zHpaMa3aTu6kuHdvAuRaeEuwLrYrLznQTilVlxpPF6aKc1ZF8LKKt7rFiAKCnawqvo4fJ4nFcV5hsF4NuR4rc9nhI3a2V9UDF68VdByTQbFTuc/s72-c/git+error.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-6063427955756132466</id><published>2012-03-08T11:46:00.000-08:00</published><updated>2012-03-08T23:17:43.277-08:00</updated><title type='text'>Compiling Bonobo.Git.Server from Source</title><content type='html'>After downloading Bonobo.Git.Server source code:&lt;br /&gt;
&lt;a href=&quot;https://github.com/jakubgarfield/Bonobo-Git-Server&quot;&gt;https://github.com/jakubgarfield/Bonobo-Git-Server&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I experienced a few problems getting started.&lt;br /&gt;
&lt;br /&gt;
I suspect that just installing the following will allow you get to business immediately:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.microsoft.com/web/downloads/platform.aspx&quot;&gt;Microsoft Web Platform Installer 3.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://sourceforge.net/projects/sqlite-dotnet2/&quot;&gt;ADO.NET 2.0 Provider for SQLite&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
but here is the path I took...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Problem 1:&lt;/b&gt;&lt;br /&gt;
I was not able to open the project. &amp;nbsp;It reported this error in VS2010:&lt;br /&gt;
&lt;i&gt;Error : The Project Type is not supported by this Installation&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution 1:&lt;/b&gt;&lt;br /&gt;
Edit &amp;nbsp;Bonobo.Git.Server / Bonobo.Git.Server / Bonobo.Git.Server.csproj and remove&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span style=&quot;background-color: white; color: #333333; line-height: 16px; white-space: pre;&quot;&gt;{e53f8fea-eae0-44a6-8774-ffd645390401}; from &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; line-height: 16px; white-space: pre;&quot;&gt;ProjectTypeGuids&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;Problem 2:&lt;/b&gt;&lt;br /&gt;
A lot of web dependencies are missing, and the &quot;Install Web Components&quot; button does not work in VS2010&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution 2:&lt;/b&gt;&lt;br /&gt;
Install &lt;a href=&quot;http://www.microsoft.com/web/downloads/platform.aspx&quot;&gt;Microsoft Web Platform&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;Problem 3:&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;Error 175: The specified data store provider cannot be found, or is not valid.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution 3:&lt;/b&gt;&lt;br /&gt;
Install &lt;a href=&quot;http://sourceforge.net/projects/sqlite-dotnet2/&quot;&gt;ADO.NET 2.0 Provider for SQLite&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://social.msdn.microsoft.com/Forums/is/vssetup/thread/e68a080d-b394-4c8b-b593-438b82c284b8&quot;&gt;http://social.msdn.microsoft.com/Forums/is/vssetup/thread/e68a080d-b394-4c8b-b593-438b82c284b8&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://social.msdn.microsoft.com/Forums/en/vssetup/thread/90f13749-8eaa-4a1b-b29e-b621b54cbefe&quot;&gt;http://social.msdn.microsoft.com/Forums/en/vssetup/thread/90f13749-8eaa-4a1b-b29e-b621b54cbefe&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/4444742/error-175-the-specified-data-store-provider-cannot-be-found&quot;&gt;http://stackoverflow.com/questions/4444742/error-175-the-specified-data-store-provider-cannot-be-found&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/6063427955756132466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/03/error-175-specified-data-store-provider.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/6063427955756132466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/6063427955756132466'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/03/error-175-specified-data-store-provider.html' title='Compiling Bonobo.Git.Server from Source'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-3632358169957483895</id><published>2012-03-06T16:02:00.000-08:00</published><updated>2012-05-02T18:15:32.640-07:00</updated><title type='text'>Bonobo Git Server  - &quot;The remote end hung up unexpectedly&quot;</title><content type='html'>&lt;div&gt;
&lt;b&gt;Problem:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
The following error occurs in SmartGit when trying to push an existing local repository to a new remote repository on Bonobo Git Server:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Push:&lt;br /&gt; The remote end hung up unexpectedly&lt;br /&gt; The remote end hung up unexpectedly&lt;br /&gt;RPC failed; result=22, HTTP code = 404&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Modify the web.config file in the root of Bonobo.Git.Server (C:\initpub\wwwroot\Bonobo.Git.Server\Web.config) and up the limits on the following lines:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;system.web&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;    &amp;lt;httpRuntime maxRequestLength=&quot;102400&quot; /&amp;gt;
 &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;lt;security&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;  &amp;lt;requestFiltering&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;requestLimits maxAllowedContentLength=&quot;102400&quot; /&amp;gt;

&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
In both cases &quot;102400&quot; was replaced with &quot;999999999&quot; and the push worked!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/7152285/issue-with-git-hosted-on-iis-with-bonobo&quot;&gt;windows - Issue with GIT hosted on IIS with Bonobo - Stack Overflow&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/3632358169957483895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/03/bonobo-git-server-remote-end-hung-up.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/3632358169957483895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/3632358169957483895'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/03/bonobo-git-server-remote-end-hung-up.html' title='Bonobo Git Server  - &quot;The remote end hung up unexpectedly&quot;'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-1668928628350510473</id><published>2012-03-06T09:06:00.000-08:00</published><updated>2012-03-06T16:29:55.000-08:00</updated><title type='text'>Redirect a Python Import</title><content type='html'>&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
You need to redirect a Python import to a module or package in a relative location.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; text-align: left;&quot;&gt;&lt;span style=&quot;font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 18px;&quot;&gt;Create a dummy module that replaces its own reference in sys.modules with a reference to a module or package in another location.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre style=&quot;background-color: #f8f8f8; border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; color: #383838; font-size: 14px; overflow-x: auto; overflow-y: auto; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; padding-top: 10px;&quot;&gt;&lt;span style=&quot;background-color: white; text-align: left;&quot;&gt;&lt;span class=&quot;c&quot; style=&quot;color: #008800; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;# Paste this in the module being imported, in this example a package&lt;/span&gt;
&lt;span class=&quot;c&quot; style=&quot;color: #008800; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;# Note that when del sys.modules[__name__] is executed, local variables no longer accessible&lt;/span&gt;
&lt;span class=&quot;c&quot; style=&quot;color: #008800; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;# You can store items in sys.argv if exec(&#39;import {0}&#39;.format(module_name)) needed,&lt;/span&gt;
&lt;span class=&quot;c&quot; style=&quot;color: #008800; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;# but you get the following warning:&lt;/span&gt;
&lt;span class=&quot;c&quot; style=&quot;color: #008800; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;# RuntimeWarning: Parent module &#39;attila&#39; not found while handling absolute import&lt;/span&gt;
&lt;span class=&quot;kn&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot; style=&quot;color: blue; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;os&lt;/span&gt;
&lt;span class=&quot;kn&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot; style=&quot;color: blue; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;sys&lt;/span&gt;

&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;RELATIVE_VALUE&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;1&lt;/span&gt;  &lt;span class=&quot;c&quot; style=&quot;color: #008800; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;# Directories to step up:  -1 = . (packages only), -2 = .. , -3 = ... , etc.&lt;/span&gt;
&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;PATH_APPEND&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;[]&lt;/span&gt;  &lt;span class=&quot;c&quot; style=&quot;color: #008800; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;# After step up, append this sub path, example: [&#39;foo&#39;, &#39;bar&#39;] -&amp;gt; /foo/bar is appended&lt;/span&gt;

&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;pth&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;sep&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;__file__&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;sep&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;RELATIVE_VALUE&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;PATH_APPEND&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;sys&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;insert&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;pth&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;del&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;sys&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;modules&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;__name__&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;kn&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot; style=&quot;color: blue; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;foo&lt;/span&gt;  &lt;span class=&quot;c&quot; style=&quot;color: #008800; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;#name of this module, and the one you are redirecting to&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Reference:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/4855936/how-can-i-transparently-redirect-a-python-import/9450785#9450785 &quot;&gt;http://stackoverflow.com/questions/4855936/how-can-i-transparently-redirect-a-python-import/9450785#9450785&amp;nbsp;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gist.github.com/1983695&quot;&gt;https://gist.github.com/1983695&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/1668928628350510473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/03/problem-you-need-to-redirect-python.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/1668928628350510473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/1668928628350510473'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/03/problem-you-need-to-redirect-python.html' title='Redirect a Python Import'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-1594886151531937290</id><published>2012-03-01T11:13:00.000-08:00</published><updated>2012-03-07T00:41:34.468-08:00</updated><title type='text'>FlashBuilder Fails to Launch: JVM terminated.  Exit code=-1</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;b&gt;Problem:&lt;/b&gt;&lt;/div&gt;
FlashBuilder fails to launch, with a &quot;JVM terminated. &amp;nbsp;Exit code=-1&quot; error:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg36ZkP0CpgR-ZdGbqYYBoYVmRu6XwKzo6TIfur4S2fhm4DMX8NETD1wQ4M3MoRuvtV3pK3UB_RJm66GLyZOdG2pj2n7ogdNqoWaIFMLGQAYgAahwLrLEu71MjjHwWs-79O7Gq4Jp4lpSs/s1600/Image+1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg36ZkP0CpgR-ZdGbqYYBoYVmRu6XwKzo6TIfur4S2fhm4DMX8NETD1wQ4M3MoRuvtV3pK3UB_RJm66GLyZOdG2pj2n7ogdNqoWaIFMLGQAYgAahwLrLEu71MjjHwWs-79O7Gq4Jp4lpSs/s1600/Image+1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
Delete the following line from the FlashBuilder.ini file in root of your installation directory:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;-XX:MaxPermSize=512m&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
The default installation directory on 64bit Windows 7 is:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;C:\Program Files (x86)\Adobe\Adobe Flash Builder 4\FlashBuilder.ini&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://www.blog.techsplice.com/archives/38&quot;&gt;http://www.blog.techsplice.com/archives/38&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/1594886151531937290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/03/problem-flashbuilder-fails-to-launch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/1594886151531937290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/1594886151531937290'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/03/problem-flashbuilder-fails-to-launch.html' title='FlashBuilder Fails to Launch: JVM terminated.  Exit code=-1'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg36ZkP0CpgR-ZdGbqYYBoYVmRu6XwKzo6TIfur4S2fhm4DMX8NETD1wQ4M3MoRuvtV3pK3UB_RJm66GLyZOdG2pj2n7ogdNqoWaIFMLGQAYgAahwLrLEu71MjjHwWs-79O7Gq4Jp4lpSs/s72-c/Image+1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-433188465625651453</id><published>2012-03-01T01:38:00.000-08:00</published><updated>2012-03-01T07:49:01.350-08:00</updated><title type='text'>VirtualBox  -  Windows 7 fails to install  -  Status: 0xc0000225</title><content type='html'>&lt;div style=&quot;font-style: normal;&quot;&gt;
&lt;b&gt;Problem:&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;font-weight: normal;&quot;&gt;
While attempting to install Windows 7 as a guest on a Linux host using VirtualBox, the following error occurs during installation:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;   Windows failed to start...&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;font-weight: normal;&quot;&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;font-weight: normal;&quot;&gt;
&lt;i&gt;   Status: 0xc0000225&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;font-style: normal; font-weight: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-style: normal;&quot;&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;font-style: normal; font-weight: normal;&quot;&gt;
In the VirtualBox settings for the virtual machine, select &quot;Enable IO APIC&quot; under System &amp;gt; Motherboard.&lt;/div&gt;
&lt;div style=&quot;font-style: normal; font-weight: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-style: normal;&quot;&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;/div&gt;
&lt;a href=&quot;https://forums.virtualbox.org/viewtopic.php?f=2&amp;amp;t=37628&quot; style=&quot;font-style: normal; font-weight: normal;&quot;&gt;virtualbox.org • View topic - [SOLVED] Windows 7 fails to install; Status: 0xc0000225&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/433188465625651453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/03/virtualbox-windows-7-fails-to-install.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/433188465625651453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/433188465625651453'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/03/virtualbox-windows-7-fails-to-install.html' title='VirtualBox  -  Windows 7 fails to install  -  Status: 0xc0000225'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-5586680766826202790</id><published>2012-02-25T17:14:00.001-08:00</published><updated>2012-02-27T13:24:25.446-08:00</updated><title type='text'>Convert Mercurial (hg) Repository to Git</title><content type='html'>The following instructions are for converting an hg repository to git on Windows 7.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;INSTRUCTIONS&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Install &lt;a href=&quot;http://www.cygwin.com/&quot;&gt;Cygwin &lt;/a&gt;with python, hg and git&lt;/li&gt;
&lt;li&gt;Install fast-export&lt;br /&gt;&lt;br /&gt;You can try installing directly from the fast-export repository by issuing this command in the Cygwin console:&lt;br /&gt;&lt;pre style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: #333333; line-height: 22px; overflow-x: auto; overflow-y: auto; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;git clone git://repo.or.cz/fast-export.git&lt;/span&gt;&lt;/pre&gt;
If your firewall doesn&#39;t like that command and responds with:&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Cloning into fast-export...&lt;br /&gt;repo.or.cz[0: 195.113.20.142]: errno=Connection timed out&lt;br /&gt;fatal: unable to connect a socket (Connection timed out)&lt;/span&gt;
&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;you can download an archive from here:&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://repo.or.cz/w/fast-export.git/shortlog/refs/heads/master/&quot; style=&quot;font-family: inherit;&quot;&gt;http://repo.or.cz/w/fast-export.git/shortlog/refs/heads/master/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Also, I was getting the following error:&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment-copy&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: #fafafa; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #444444; line-height: 17px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;IOError: [Errno 32] Broken pipe&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;br /&gt;and was able to get around it by downloading an older version:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;fast-export-c8a45848968a21c3021489a6ba3ab1ffe5ef2a90.tar.gz&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Execute these commands in cygwin to create a working directory and initialize a new git repository:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;mkdir conversion&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;cd conversion&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;In Windows explorer,&amp;nbsp;copy the fast-export folder from inside the archive into:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;C:\cygwin\home\&amp;lt;USERNAME&amp;gt;\conversion&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Also, &amp;nbsp;copy your existing&amp;nbsp;mercurial repository, we&#39;ll call it&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;convert.hg&lt;/span&gt;, into the same directory&lt;/li&gt;
&lt;li&gt;Execute the following commands:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;mkdir convert.git&lt;br /&gt;cd convert.git&lt;br /&gt;git init&lt;br /&gt;~/conversion/fast-export/hg-fast-export.sh -r ~/conversion/convert.hg&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;b&gt;ADDITIONAL NOTES&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
The directory structure created for this example was:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;~/conversion&lt;br /&gt;&amp;nbsp; &amp;nbsp; /convert.git &amp;nbsp;# A new empty git repository&lt;br /&gt;&amp;nbsp; &amp;nbsp; /convert.hg &amp;nbsp; # Your existing mercurial repository&lt;br /&gt;&amp;nbsp; &amp;nbsp; /fast-export &amp;nbsp;# The fast-export directory we downloaded&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;REFERENCES&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/3267232/converting-a-mercurial-hg-repository-to-git-on-windows-7&quot;&gt;http://stackoverflow.com/questions/3267232/converting-a-mercurial-hg-repository-to-git-on-windows-7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hedonismbot.wordpress.com/2008/10/16/hg-fast-export-convert-mercurial-repositories-to-git-repositories/&quot;&gt;http://hedonismbot.wordpress.com/2008/10/16/hg-fast-export-convert-mercurial-repositories-to-git-repositories/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/5586680766826202790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/02/comvert-mercurial-hg-repository-to-git.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/5586680766826202790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/5586680766826202790'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/02/comvert-mercurial-hg-repository-to-git.html' title='Convert Mercurial (hg) Repository to Git'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-526337284665812327</id><published>2012-02-11T11:10:00.000-08:00</published><updated>2012-02-28T15:29:00.865-08:00</updated><title type='text'>Installing Ubuntu Desktop 11.10 on a Dell M4400 with Dock and Dual External Monitors</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc0ikGAJH8lNAUkYVhJAROapIom6SOt0qL23KMTGT7FlLb5-K3FwUyUFexHgd2Gq6T6mh_qHjrSMNB917YXbZIIUbZR1SErqxwQpewJCISJlaOrMeM3HmRKUo062oBmBbKZrASsNLKnfA/s1600/2012-02-28_15-11-48_844.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc0ikGAJH8lNAUkYVhJAROapIom6SOt0qL23KMTGT7FlLb5-K3FwUyUFexHgd2Gq6T6mh_qHjrSMNB917YXbZIIUbZR1SErqxwQpewJCISJlaOrMeM3HmRKUo062oBmBbKZrASsNLKnfA/s400/2012-02-28_15-11-48_844.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The following are notes for how I was able to get Ubuntu 11.10 working with the two external monitors attached to my docked Dell M4400 laptop.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Before starting the installation, it is best to start by undocking  the laptop and connecting directly to the router instead of using wireless.  I had an issue where it seemed progress would halt during startup, booting from USB, but the problem didn&#39;t occur when using the undocked laptop screen.&lt;/li&gt;
&lt;li&gt;I went ahead and checked the box for proprietary drivers.  This option might install the Nvidia &lt;br /&gt;driver which ultimately causes an issue(we&#39;re going to remove the Nvidia drivers later). &amp;nbsp;I also checked the box to install updates.  If you don&#39;t install updates, you will eventually notice an issue where you have to hold down the mouse button to navigate the menus.&lt;/li&gt;
&lt;li&gt;After installation completes, and you reboot into Ubuntu, execute these commands:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;sudo apt-get remove nvidia-*&lt;br /&gt;&amp;nbsp; &amp;nbsp;sudo apt-get upgrade&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Enter &quot;y&quot; when prompted&lt;/li&gt;
&lt;li&gt;Shutdown&lt;/li&gt;
&lt;li&gt;Dock your laptop with the lid closed and press the power button. &amp;nbsp;The external monitors will eventually fire up, but the desktop will be mirrored.&lt;/li&gt;
&lt;li&gt;To extend the desktop across both monitors, under the same &quot;Dash home&quot; searchbox, enter &quot;displays&quot;.  Unclick the mirror displays checkbox and make sure moitor resolutions are correct, then click the Apply button. &amp;nbsp;Click the &quot;Keep this configuration&quot; button in the dialog that appears.&lt;/li&gt;
&lt;li&gt;All done, you should be able to drag windows across both desktops.  At one point there was a glitch when I applied the settings and I needed to restart because the menu bar was missing (click the desktop and push the power button on the dock, a window with restart options will appear).&lt;/li&gt;
&lt;li&gt;Enjoy Ubuntu 11.10! &amp;nbsp;It looks slick! &amp;nbsp;I finally made the switch because Windows 7 kept blue-screening, and I had always wanted to leave the dark side. &lt;/li&gt;
&lt;li&gt;If you find out the exact instructions to get the Nvidia driver working, please post a comment. &amp;nbsp;I ultimately gave up after multiple failed attempts at installing the driver both from the Nvidia website and from Ubuntu&#39;s package repository.  Eventually, I might do some more attempts with a fresh install on a different hard drive, but for now I can get to work!&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/526337284665812327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/02/installing-ubuntu-desktop-1110-on-dell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/526337284665812327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/526337284665812327'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/02/installing-ubuntu-desktop-1110-on-dell.html' title='Installing Ubuntu Desktop 11.10 on a Dell M4400 with Dock and Dual External Monitors'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc0ikGAJH8lNAUkYVhJAROapIom6SOt0qL23KMTGT7FlLb5-K3FwUyUFexHgd2Gq6T6mh_qHjrSMNB917YXbZIIUbZR1SErqxwQpewJCISJlaOrMeM3HmRKUo062oBmBbKZrASsNLKnfA/s72-c/2012-02-28_15-11-48_844.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-7110093480420700801</id><published>2012-01-23T15:44:00.000-08:00</published><updated>2012-01-23T15:44:00.926-08:00</updated><title type='text'>DateTimer: Python class to easily report stop, start and elapsed time</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;color: #383838; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
Here is a simple class to make reporting start, finish and elapsed time easy. &amp;nbsp;If you are running python scripts at command line, this utility will make it easier to keep track of the progress of your processing.&lt;/div&gt;
&lt;div style=&quot;color: #383838; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
Here is an example of usage:&lt;/div&gt;
&lt;div class=&quot;syntax&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; color: #383838; font-family: Arial, Helvetica, sans-serif; font-size: 14px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
&lt;pre style=&quot;background-color: transparent; border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; overflow-x: auto; overflow-y: auto; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; padding-top: 10px;&quot;&gt;&lt;span class=&quot;kn&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot; style=&quot;color: blue; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;arcpyh&lt;/span&gt; &lt;span class=&quot;kn&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;DateTimer&lt;/span&gt;
&lt;span class=&quot;kn&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot; style=&quot;color: blue; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;time&lt;/span&gt;

&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;timer&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;DateTimer&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;timer&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;start&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;sleep&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;timer&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;stop&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;()&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #383838; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
Here is an example of the output:&lt;/div&gt;
&lt;div class=&quot;syntax&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; color: #383838; font-family: Arial, Helvetica, sans-serif; font-size: 14px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
&lt;pre style=&quot;background-color: transparent; border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; overflow-x: auto; overflow-y: auto; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; padding-top: 10px;&quot;&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Started&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;2012&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mo&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;01&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;23&lt;/span&gt; &lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;14&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;mo&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;00&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
Finished&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;2012&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mo&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;01&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;23&lt;/span&gt; &lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;14&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;10&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Elapsed&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;mo&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;00&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;)&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #383838; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
Here is the important code. &amp;nbsp;Save this in a file called “arcpyh.py” and put it in the same directory of the script you are running or elsewhere in your&amp;nbsp;&lt;a href=&quot;http://docs.python.org/using/cmdline.html?highlight=pythonpath#PYTHONPATH&quot; style=&quot;color: #fa7f42; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;pythonpath&lt;/a&gt;.&lt;/div&gt;
&lt;div class=&quot;syntax&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; color: #383838; font-family: Arial, Helvetica, sans-serif; font-size: 14px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
&lt;pre style=&quot;background-color: transparent; border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; overflow-x: auto; overflow-y: auto; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; padding-top: 10px;&quot;&gt;&lt;span class=&quot;kn&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot; style=&quot;color: blue; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;datetime&lt;/span&gt; &lt;span class=&quot;kn&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;datetime&lt;/span&gt;

&lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot; style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;DateTimer&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;sd&quot; style=&quot;color: #bb4444; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&#39;&#39;&#39; Handy timer that reports start time, end time and delta time&lt;/span&gt;

&lt;span class=&quot;sd&quot; style=&quot;color: #bb4444; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;        report:(default=True) If True, prints automatically&lt;/span&gt;

&lt;span class=&quot;sd&quot; style=&quot;color: #bb4444; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;        Example output:&lt;/span&gt;

&lt;span class=&quot;sd&quot; style=&quot;color: #bb4444; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;            Started: 2012-01-23 14:40:37&lt;/span&gt;
&lt;span class=&quot;sd&quot; style=&quot;color: #bb4444; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;            Finished: 2012-01-23 14:40:47 (Elapsed: 0:00:10)&lt;/span&gt;

&lt;span class=&quot;sd&quot; style=&quot;color: #bb4444; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;    &#39;&#39;&#39;&lt;/span&gt;

    &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;NO_START_MSG&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot; style=&quot;color: #bb4444; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&quot;Timer was never started.&quot;&lt;/span&gt;
    &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;FINISH_MSG&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot; style=&quot;color: #bb4444; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&quot;Finished: {0} (Elapsed: {1})&quot;&lt;/span&gt;
    &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;START_MSG&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot; style=&quot;color: #bb4444; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&quot;Started: {0}&quot;&lt;/span&gt;

    &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot; style=&quot;color: #00a000; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;report&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;):&lt;/span&gt;

        &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;report&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;report&lt;/span&gt;
        &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;startDateTime&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;None&lt;/span&gt;
        &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;endDateTime&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;None&lt;/span&gt;
        &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;deltaTime&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;None&lt;/span&gt;

    &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot; style=&quot;color: #00a000; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;start&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;):&lt;/span&gt;

        &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;report&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;startDateTime&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;datetime&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;()&lt;/span&gt;
        &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;endDateTime&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;None&lt;/span&gt;

        &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;report&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;printStart&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;()&lt;/span&gt;

    &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot; style=&quot;color: #00a000; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;stop&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;endDateTime&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;datetime&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;()&lt;/span&gt;
        &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;startDateTime&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;deltaTime&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;endDateTime&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;startDateTime&lt;/span&gt;

        &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;report&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;printEnd&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;()&lt;/span&gt;

    &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot; style=&quot;color: #00a000; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;printStart&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;startDateTime&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;START_MSG&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;datetimeToString&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;startDateTime&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;))&lt;/span&gt;
        &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;NO_START_MSG&lt;/span&gt;

    &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot; style=&quot;color: #00a000; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;printEnd&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;deltaTime&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;FINISH_MSG&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;datetimeToString&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;endDateTime&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;deltaToString&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;deltaTime&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;))&lt;/span&gt;
        &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;NO_START_MSG&lt;/span&gt;

    &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot; style=&quot;color: #00a000; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;datetimeToString&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;dateTimeObject&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nb&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;dateTimeObject&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;color: #bb4444; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;]&lt;/span&gt;

    &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot; style=&quot;color: #00a000; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;deltaToString&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;delta&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;k&quot; style=&quot;color: #aa22ff; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nb&quot; style=&quot;color: #aa22ff; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;delta&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;color: #bb4444; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;color: #666666; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;]&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/7110093480420700801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/01/datetimer-python-class-to-easily-report.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/7110093480420700801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/7110093480420700801'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/01/datetimer-python-class-to-easily-report.html' title='DateTimer: Python class to easily report stop, start and elapsed time'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-2052034645961266900</id><published>2012-01-19T12:35:00.000-08:00</published><updated>2012-08-20T23:54:40.456-07:00</updated><title type='text'>Set 32bit Executable LARGEADDRESSAWARE Flag to True</title><content type='html'>&lt;div&gt;
If a 32bit executable does not have the LARGEADDRESSAWARE flag set to true, the application can&#39;t use more than 2 gigabytes.  If you are on a 64bit machine with lots of memory, even if you are stuck with a 32bit process, you should ideally be able to start multiple processes each using 3+ gigabytes.&lt;br /&gt;
&lt;br /&gt;
For example, the 32bit version of python is not large address aware.  You might ask why use 32bit Python on a 64bit machine?  Unfortunately, some third party vendors like ESRI have been slow to update to 64bit.  ArcGIS Server is 64bit at 10.1, but ArcGIS Desktop remains 32 bit.  We can only access their arcpy python module from 32bit Python.&lt;br /&gt;
&lt;br /&gt;
Well, we can at least give our 32bit Python process a little more memory to play with:&lt;/div&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;1. Verify Visual Studio Installed &lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;blockquote&gt;
This routine was only tested using Visual Studio 2010 Professional.  If you have success with Visual Studio C++ Express, please leave a comment.&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;2. Launch Visual Studio Command Prompt&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote&gt;
From Start Menu:  All Programs &amp;gt; Microsoft Visual Studio 2010 &amp;gt; Visual Studio Tools &amp;gt; Visual Studio Command Prompt (2010)&lt;/blockquote&gt;
&lt;blockquote&gt;
or&lt;/blockquote&gt;
&lt;blockquote&gt;
From console (cmd.exe): &lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&quot;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat&quot; x86&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In either case, you should see the following message:&lt;br /&gt;
Setting environment for using Microsoft Visual Studio 2010 x86 tools.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;3.  Backup your executable&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote&gt;
You might want to swap the old executable back if you experience unexpected issues!&lt;/blockquote&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;b&gt;4. Execute command to set the LARGEADRESSAWARE flag to true:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;editbin /LARGEADDRESSAWARE &quot;C:\Python26\ArcGIS10.0\python.exe&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If the executable is locked, copy it to a temporary directory, then overwrite original when process locking executable has finished.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&lt;b&gt;5. Check that it worked&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;dumpbin /headers &quot;C:\Python26\ArcGIS10.0\python.exe&quot;  | more&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
You should see &quot;...Application can handle large (&amp;gt;2GB) addresses...&quot;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;6.  Reflection Time&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote&gt;
Ok, our hope is that we can now launch 32bit python processes that can access more than 2gb of ram.  Given Murphy&#39;s Law, I&#39;m sure we can guarantee that there will be at least some instances where this causes issues.  See the third reference below for a discussion on the merits of what we just did.  Personally, I like to live on the raggedy edge, but I plan on keeping the backup of the original handy to swap back in if ever needed.&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://stackoverflow.com/questions/3979624/verify-if-largeaddressaware-is-in-effect&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;div&gt;
&lt;div&gt;
1. &lt;a href=&quot;http://stackoverflow.com/questions/3979624/verify-if-largeaddressaware-is-in-effect&quot;&gt;http://stackoverflow.com/questions/3979624/verify-if-largeaddressaware-is-in-effect&lt;/a&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
2. &lt;a href=&quot;http://www.c-sharpcorner.com/uploadfile/rmcochran/running-the-command-prompt-from-visual-studio-tools-menu/&quot;&gt;http://www.c-sharpcorner.com/uploadfile/rmcochran/running-the-command-prompt-from-visual-studio-tools-menu/&lt;/a&gt; &lt;/div&gt;
&lt;div&gt;
3. &lt;a href=&quot;http://bugs.python.org/issue1449496&quot;&gt;http://bugs.python.org/issue1449496&lt;/a&gt; &lt;/div&gt;
&lt;div&gt;
4. &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/d25ddyfc.aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/d25ddyfc.aspx&lt;/a&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/d25ddyfc.aspx&quot;&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/2052034645961266900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/01/set-32bit-executable-largeaddressaware.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/2052034645961266900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/2052034645961266900'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/01/set-32bit-executable-largeaddressaware.html' title='Set 32bit Executable LARGEADDRESSAWARE Flag to True'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-8769393336787841683</id><published>2012-01-14T18:35:00.000-08:00</published><updated>2012-02-24T00:52:21.221-08:00</updated><title type='text'>Windows 7 Burn ISO option not available</title><content type='html'>If Windows 7 doesn&#39;t give you an option to burn an ISO image after right clicking on the .iso file in windows explorer, make a burn.reg text file and paste in the following, save, and then double click on the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;pre lang=&quot;x-xhtml&quot; style=&quot;background-color: white; border-bottom-style: none; border-color: initial; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; color: #333333; font-family: inherit; font-size: 11px; line-height: 13px; list-style-type: none; margin-bottom: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; word-wrap: break-word;&quot;&gt;&lt;/pre&gt;
&lt;pre lang=&quot;x-xhtml&quot; style=&quot;background-color: white; border-bottom-style: none; border-color: initial; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; color: #333333; font-family: inherit; font-size: 11px; line-height: 13px; list-style-type: none; margin-bottom: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; word-wrap: break-word;&quot;&gt;&lt;/pre&gt;
&lt;pre lang=&quot;x-xhtml&quot; style=&quot;background-color: white; border-bottom-style: none; border-color: initial; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; color: #333333; font-family: inherit; font-size: 11px; line-height: 13px; list-style-type: none; margin-bottom: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; word-wrap: break-word;&quot;&gt;&lt;/pre&gt;
&lt;pre lang=&quot;x-xhtml&quot; style=&quot;background-color: white; border-bottom-style: none; border-color: initial; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; color: #333333; font-family: inherit; font-size: 11px; line-height: 13px; list-style-type: none; margin-bottom: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; word-wrap: break-word;&quot;&gt;&lt;/pre&gt;
&lt;pre lang=&quot;x-xhtml&quot; style=&quot;background-color: white; border-bottom-style: none; border-color: initial; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; color: #333333; font-family: inherit; font-size: 11px; line-height: 13px; list-style-type: none; margin-bottom: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; word-wrap: break-word;&quot;&gt;&lt;/pre&gt;
&lt;pre lang=&quot;x-xhtml&quot; style=&quot;background-color: white; border-bottom-style: none; border-color: initial; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; color: #333333; font-family: inherit; font-size: 11px; line-height: 13px; list-style-type: none; margin-bottom: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; word-wrap: break-word;&quot;&gt;&lt;pre lang=&quot;x-xhtml&quot; style=&quot;border-bottom-style: none; border-color: initial; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; font-family: inherit; list-style-type: none; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; word-wrap: break-word;&quot;&gt;Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.iso]
@=&quot;Windows.IsoFile&quot;

[HKEY_CLASSES_ROOT\Windows.IsoFile]
@=&quot;Disc Image File&quot;
&quot;FriendlyTypeName&quot;=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
  00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
  32,00,5c,00,69,00,73,00,6f,00,62,00,75,00,72,00,6e,00,2e,00,65,00,78,00,65,\
  00,2c,00,2d,00,33,00,35,00,30,00,00,00

[HKEY_CLASSES_ROOT\Windows.IsoFile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,73,00,\
  6f,00,62,00,75,00,72,00,6e,00,2e,00,65,00,78,00,65,00,2c,00,2d,00,31,00,30,\
  00,31,00,00,00

[HKEY_CLASSES_ROOT\Windows.IsoFile\shell]

[HKEY_CLASSES_ROOT\Windows.IsoFile\shell\burn]
&quot;MUIVerb&quot;=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
  6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
  00,69,00,73,00,6f,00,62,00,75,00,72,00,6e,00,2e,00,65,00,78,00,65,00,2c,00,\
  2d,00,33,00,35,00,31,00,00,00

[HKEY_CLASSES_ROOT\Windows.IsoFile\shell\burn\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,73,00,\
  6f,00,62,00,75,00,72,00,6e,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,31,\
  00,22,00,00,00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.iso\UserChoice]&lt;/pre&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
References:&lt;/div&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://social.technet.microsoft.com/Forums/en-US/w7itproui/thread/4d9d24c6-d83f-47e2-bc6e-a5077731f9ac/&quot;&gt;Windows 7 Burn ISO option not available&lt;/a&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/8769393336787841683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2012/01/windows-7-burn-iso-option-not-available.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/8769393336787841683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/8769393336787841683'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2012/01/windows-7-burn-iso-option-not-available.html' title='Windows 7 Burn ISO option not available'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-4576405298176202699</id><published>2011-10-13T09:52:00.000-07:00</published><updated>2011-10-13T10:23:25.894-07:00</updated><title type='text'>ArcGIS 10:  Change Default Editor for ToolValidator</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Unfortunately, ArcCatalog does not respect the Editor and Debugger Geoprocessing Options when you edit a ToolValidator.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Make a registry change (Windows 7) to change the default editor (for me it was IDLE) for the ToolValidator class.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Add an edit key to the shell key for Python.File:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;HKEY_CLASSES_ROOT\Python.File\shell\edit\command&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Create a new string value, and in the value put the path for your editor, for example if you set Notepad++:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;C:\Program Files (x86)\Notepad++\notepad++.exe &quot;%1&quot;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Geoprocessing Options are ignored when editing the ToolValidator class:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPkr9BJYRoPj0O98Ld0YWoa_HAPh5fbc1UG6UINO0pF82XsWp8Ki2ehXPg1QhoXAfNnyt0_TTS7N5lxNI1S8Getgd_o5ev5aWjiF1PjGcmciVfYq9ymmokfLb9g9ZSq11qsltH_REeFbQ/s1600/GeoprocessingOptions.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPkr9BJYRoPj0O98Ld0YWoa_HAPh5fbc1UG6UINO0pF82XsWp8Ki2ehXPg1QhoXAfNnyt0_TTS7N5lxNI1S8Getgd_o5ev5aWjiF1PjGcmciVfYq9ymmokfLb9g9ZSq11qsltH_REeFbQ/s1600/GeoprocessingOptions.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;It is possible to change the default editor for the ToolValidator class:&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTB7uPIsJT0CktwI3u6j3jOWqJnnX2aD3NBT36K-WvmjiRcgt_V2PAik427ouDLEYYCf2Sr3TdmQ-RBtSuCoYho-hqbxNhyphenhyphenwG7E26I2di_7e-3fT_7RL-mlseXGfIH5quLI6RAebZvgNo/s1600/tv.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTB7uPIsJT0CktwI3u6j3jOWqJnnX2aD3NBT36K-WvmjiRcgt_V2PAik427ouDLEYYCf2Sr3TdmQ-RBtSuCoYho-hqbxNhyphenhyphenwG7E26I2di_7e-3fT_7RL-mlseXGfIH5quLI6RAebZvgNo/s1600/tv.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;A new registry entry is required:&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDjZVEB9dERSY9MTSQahuh4r718JYBTRZ6lzMo7UqoRk6AC9gF2xXPjsW6SDM_ts59Sk8g2OTHyyFaf8IrWVN2UBeMNaCArsp4COt1wWW745E2KynrywQVzuAdkY1M9mRiRpBhGa7f53I/s1600/reg.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDjZVEB9dERSY9MTSQahuh4r718JYBTRZ6lzMo7UqoRk6AC9gF2xXPjsW6SDM_ts59Sk8g2OTHyyFaf8IrWVN2UBeMNaCArsp4COt1wWW745E2KynrywQVzuAdkY1M9mRiRpBhGa7f53I/s1600/reg.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/4576405298176202699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2011/10/arcgis-10-change-default-editor-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/4576405298176202699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/4576405298176202699'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2011/10/arcgis-10-change-default-editor-for.html' title='ArcGIS 10:  Change Default Editor for ToolValidator'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPkr9BJYRoPj0O98Ld0YWoa_HAPh5fbc1UG6UINO0pF82XsWp8Ki2ehXPg1QhoXAfNnyt0_TTS7N5lxNI1S8Getgd_o5ev5aWjiF1PjGcmciVfYq9ymmokfLb9g9ZSq11qsltH_REeFbQ/s72-c/GeoprocessingOptions.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3245885273362999580.post-8786323217139134811</id><published>2011-09-23T22:31:00.000-07:00</published><updated>2011-09-23T22:32:34.148-07:00</updated><title type='text'>Laptop Running Hot and Slow</title><content type='html'>Is your laptop running really hot?&lt;br /&gt;
Does your laptop&#39;s performance seem non-existent?&lt;br /&gt;
Is your fan running really loud, but not much air is coming out?&lt;br /&gt;
&lt;br /&gt;
It might be time to remove the dust bunny.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF1L4qzWbOOupqU_ZvpjoStM8eb7VFeDa6RPADWwjSoTWMbCfZESXf09kSxGS2n6ochklRoEB0pTM75Qxj18YWdgA_oD8_P-5CLmGR-E2fA-OVgrcsWRrgqoNE7saiSWMs3-yw0uC9Cpw/s1600/fan_blocked.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF1L4qzWbOOupqU_ZvpjoStM8eb7VFeDa6RPADWwjSoTWMbCfZESXf09kSxGS2n6ochklRoEB0pTM75Qxj18YWdgA_oD8_P-5CLmGR-E2fA-OVgrcsWRrgqoNE7saiSWMs3-yw0uC9Cpw/s1600/fan_blocked.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAC5Hmy1d5Ob9qnD0Alvq66kqGSNXouaMqI10vGVRGnKBPTEJQotys9RgL4-ukgHq1DQx1bE1oHLQDB4bzggjd1ggTz1c_7m-sgsqZ1Wlw3uYhQg5sDGvjIdj42Agbpyreb5OJy8WOrLU/s1600/fan_clear.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAC5Hmy1d5Ob9qnD0Alvq66kqGSNXouaMqI10vGVRGnKBPTEJQotys9RgL4-ukgHq1DQx1bE1oHLQDB4bzggjd1ggTz1c_7m-sgsqZ1Wlw3uYhQg5sDGvjIdj42Agbpyreb5OJy8WOrLU/s1600/fan_clear.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://gisgeek.blogspot.com/feeds/8786323217139134811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gisgeek.blogspot.com/2011/09/laptop-running-hot-and-slow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/8786323217139134811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3245885273362999580/posts/default/8786323217139134811'/><link rel='alternate' type='text/html' href='http://gisgeek.blogspot.com/2011/09/laptop-running-hot-and-slow.html' title='Laptop Running Hot and Slow'/><author><name>Michael</name><uri>http://www.blogger.com/profile/14251229046467082650</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMFPtiflKBI7rO8e9jJMnXrrKJDFAd1qtH4yFHzVs76ps8g97Qkl5iZiuy9PbwM_F-ZXsjnofsa29Dzq1_piX8VhQCpwmg5poKqaM2Pfu2QVq1DR7faRE0DXmnLsGHqU/s220/268497_2133622348951_1497813301_2488644_2757789_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF1L4qzWbOOupqU_ZvpjoStM8eb7VFeDa6RPADWwjSoTWMbCfZESXf09kSxGS2n6ochklRoEB0pTM75Qxj18YWdgA_oD8_P-5CLmGR-E2fA-OVgrcsWRrgqoNE7saiSWMs3-yw0uC9Cpw/s72-c/fan_blocked.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>