<?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: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-2981306617559016581</id><updated>2011-08-15T02:19:23.864-07:00</updated><category term='slides'/><category term='docs'/><category term='webware'/><category term='arimaa'/><category term='development'/><category term='games'/><category term='cobra'/><category term='sens'/><category term='web services'/><category term='press'/><category term='help wanted'/><category term='sample'/><category term='presentation'/><category term='los angeles'/><category term='charity'/><category term='python'/><category term='Lang.NET2006'/><category term='mac'/><category term='smallworks'/><category term='design'/><category term='.net'/><category term='article'/><category term='fun'/><category term='release'/><category term='update'/><title type='text'>The Cobra Programming Language</title><subtitle type='html'>News and thoughts about the Cobra programming language for .NET and Mono.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-5959641560150948930</id><published>2011-08-15T02:15:00.000-07:00</published><updated>2011-08-15T02:19:23.879-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='help wanted'/><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><title type='text'>Update for August 2011</title><content type='html'>Well apparently I'm not a consistent blogger. I do, however, participate in the &lt;a href="http://cobra-language.com/forums/viewforum.php?f=4"&gt;Cobra discussion group&lt;/a&gt; and the &lt;a href="http://cobra-language.com/trac/cobra/wiki/IrcChannel"&gt;Cobra IRC channel&lt;/a&gt; on a regular basis. I have also been applying patches and making improvements which you can see on the &lt;a href="http://cobra-language.com/trac/cobra/timeline"&gt;Trac Timeline page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Finally, I encourage people to take a look at the latest &lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=875"&gt;Help Wanted&lt;/a&gt; post to see if something catches your interest.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-5959641560150948930?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/5959641560150948930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=5959641560150948930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/5959641560150948930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/5959641560150948930'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2011/08/update-for-august-2011.html' title='Update for August 2011'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-4874651398377342129</id><published>2010-10-18T12:41:00.000-07:00</published><updated>2010-10-18T12:43:45.180-07:00</updated><title type='text'>Cobra 2010-10-18</title><content type='html'>A new version of the Cobra programming language, dubbed &lt;nobr&gt;&lt;strong&gt;"Cobra 2010-10-18"&lt;/strong&gt;&lt;/nobr&gt;, has been released. This new version has several additions and refinements to both the language and the libraries. There have also been numerous fixes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=672"&gt;Release notes&lt;/a&gt; have been posted to the discussion forums and the &lt;a href="http://cobra-language.com/downloads/"&gt;downloads are ready&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://cobra-language.com/how-to/"&gt;"How To"&lt;/a&gt; and &lt;a href="http://cobra-language.com/samples/"&gt;"Sample"&lt;/a&gt; programs on the web site (and included in the release) have been expanded and updated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-4874651398377342129?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/4874651398377342129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=4874651398377342129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4874651398377342129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4874651398377342129'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2010/10/cobra-2010-10-18.html' title='Cobra 2010-10-18'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-3021989385199919322</id><published>2010-04-05T15:45:00.000-07:00</published><updated>2010-04-06T20:21:31.380-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>Cobra 2010-04-02 Released</title><content type='html'>A new version of the Cobra programming language, dubbed &lt;nobr&gt;&lt;strong&gt;"Cobra 2010-04-02"&lt;/strong&gt;&lt;/nobr&gt;, has been released. This new version has several additions and refinements to both the language and the libraries. There have also been numerous fixes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=585"&gt;Release notes&lt;/a&gt; have been posted to the discussion forums and the &lt;a href="http://cobra-language.com/downloads/"&gt;downloads are ready&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://cobra-language.com/how-to/"&gt;"How To"&lt;/a&gt; and &lt;a href="http://cobra-language.com/samples/"&gt;"Sample"&lt;/a&gt; programs on the web site (and included in the release) have been expanded and updated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-3021989385199919322?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/3021989385199919322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=3021989385199919322' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/3021989385199919322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/3021989385199919322'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2010/04/cobra-2010-04-02-released.html' title='Cobra 2010-04-02 Released'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-4703059583100027621</id><published>2009-06-10T22:02:00.001-07:00</published><updated>2009-06-10T22:05:48.847-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='slides'/><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><title type='text'>New Cobra Slides</title><content type='html'>I presented Cobra to the Architecture SIG folks of the &lt;a href="http://www.sandiegodotnet.com/"&gt;San Diego .NET Users Group&lt;/a&gt;. You can view the &lt;a href="http://cobra-language.com/docs/papers-etc/Cobra-San-Diego-2009-06-Slides.pdf"&gt;PDF Slides&lt;/a&gt; to learn more about Cobra.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-4703059583100027621?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/4703059583100027621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=4703059583100027621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4703059583100027621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4703059583100027621'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/06/new-cobra-slides.html' title='New Cobra Slides'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-7215154590759008174</id><published>2009-06-09T22:34:00.000-07:00</published><updated>2009-06-09T22:36:35.080-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='sample'/><title type='text'>New Sample Program Evolves Solutions</title><content type='html'>Are you familiar with the genetic algorithm (GA)? If not, the doc string contains the requisite Wikipedia links to the topic.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cobra-language.com/samples/GeneticAlgorithm/"&gt;Genetic Algorithm Sample in Cobra&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-7215154590759008174?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/7215154590759008174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=7215154590759008174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/7215154590759008174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/7215154590759008174'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/06/new-sample-program-evolves-solutions.html' title='New Sample Program Evolves Solutions'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-2701264603567420397</id><published>2009-06-08T09:51:00.000-07:00</published><updated>2009-06-08T09:53:17.959-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><title type='text'>Presentation in San Diego</title><content type='html'>I'm presenting Cobra in San Diego to a .NET group on Wed Jun 10. If you're in the area and you're new to Cobra, or you'd just like to meet up, then come join the fun.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sandiegodotnet.com/Meetings/ArchitectureSIG/tabid/61/Default.aspx"&gt;Information here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-2701264603567420397?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/2701264603567420397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=2701264603567420397' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/2701264603567420397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/2701264603567420397'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/06/presentation-in-san-diego.html' title='Presentation in San Diego'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-1057344221435891695</id><published>2009-06-02T22:36:00.000-07:00</published><updated>2009-06-02T22:40:41.038-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='article'/><title type='text'>Reaping The Benefits Of Cobra</title><content type='html'>MSDN Magazine has published an article, &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd882513.aspx"&gt;Reaping The Benefits Of Cobra&lt;/a&gt; by Ted Neward. There's nice coverage of key Cobra features and their advantages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-1057344221435891695?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/1057344221435891695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=1057344221435891695' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1057344221435891695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1057344221435891695'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/06/reaping-benefits-of-cobra.html' title='Reaping The Benefits Of Cobra'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-6779024275616425993</id><published>2009-05-09T18:30:00.000-07:00</published><updated>2009-05-09T18:37:41.704-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>MSDN Low Bandwidth Bookmarklet</title><content type='html'>The MSDN web site is full of great information, but runs too slow and is too awkward for my taste. If it could actually remember my preference to exclude examples for certain languages from the documentation, maybe it would be worth it. But since it cannot, it becomes an example of "too many bells and whistles".&lt;br /&gt;&lt;br /&gt;Fortunately, they have a "low bandwidth" version that not only loads faster, but is easier to navigate.&lt;br /&gt;&lt;br /&gt;Jon Galloway &lt;a href="http://weblogs.asp.net/jgalloway/archive/2008/08/30/msdn-low-bandwidth-bookmarklet.aspx"&gt;documented this&lt;/a&gt; some time ago with a nice "bookmarklet" for toggling the MSDN mode. I actually expect to read more of the MSDN material now!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-6779024275616425993?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://weblogs.asp.net/jgalloway/archive/2008/08/30/msdn-low-bandwidth-bookmarklet.aspx' title='MSDN Low Bandwidth Bookmarklet'/><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/6779024275616425993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=6779024275616425993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/6779024275616425993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/6779024275616425993'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/05/msdn-low-bandwidth-bookmarklet.html' title='MSDN Low Bandwidth Bookmarklet'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-1479811098982412043</id><published>2009-05-04T22:41:00.000-07:00</published><updated>2009-05-04T22:47:16.946-07:00</updated><title type='text'>Cobra April 2009 Update and Release</title><content type='html'>The &lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=357"&gt;Cobra April 2009 Update&lt;/a&gt; has been posted and &lt;a href="http://cobra-language.com/downloads/"&gt;Release 2009-04-30&lt;/a&gt; was recently made. It features the usual round of improvements such as refinements to the language, more library conveniences and the occasional bug fix. Also, the installer is more robust.&lt;br /&gt;&lt;br /&gt;See the update for full details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-1479811098982412043?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/1479811098982412043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=1479811098982412043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1479811098982412043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1479811098982412043'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/05/cobra-april-2009-update-and-release.html' title='Cobra April 2009 Update and Release'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-1869744044536766717</id><published>2009-04-26T13:28:00.001-07:00</published><updated>2009-04-26T13:29:41.234-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Counting Sheep</title><content type='html'>&lt;a href="http://www.xkcd.com/571/"&gt;Baa!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-1869744044536766717?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/1869744044536766717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=1869744044536766717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1869744044536766717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1869744044536766717'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/04/counting-sheep.html' title='Counting Sheep'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-6925372355697430472</id><published>2009-04-10T01:00:00.000-07:00</published><updated>2009-04-10T01:07:45.840-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Cobra March 2009 Update</title><content type='html'>The &lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=339"&gt;update for March&lt;/a&gt; has been posted. Most notable are HTML syntax highlighting of source files and new sample programs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-6925372355697430472?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=339' title='Cobra March 2009 Update'/><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/6925372355697430472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=6925372355697430472' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/6925372355697430472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/6925372355697430472'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/04/cobra-march-2009-update.html' title='Cobra March 2009 Update'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-2908732394536902498</id><published>2009-04-07T00:43:00.000-07:00</published><updated>2009-04-07T00:49:26.896-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>Cobra Release 2009-04-07</title><content type='html'>Due to fixes and refinements, you'll want to upgrade if you're using any previous release. Or, if you're using Cobra from a Subversion workspace, you can just update at any time and run &lt;i&gt;install-from-workspace&lt;/i&gt; in the Source\ directory.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=335"&gt;Discussion thread / Announcement&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cobra-language.com/downloads/"&gt;Download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See the ReadMe.text file after unzipping.&lt;br /&gt;&lt;br /&gt;Btw if you're using Novell Mono, do not use version 2.2. It has one or more bugs which make it unusable with Cobra. Use 2.4+ or an earlier version such as 2.0.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-2908732394536902498?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/2908732394536902498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=2908732394536902498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/2908732394536902498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/2908732394536902498'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/04/cobra-release-2009-04-07.html' title='Cobra Release 2009-04-07'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-239309178063765791</id><published>2009-03-28T16:18:00.000-07:00</published><updated>2009-03-29T03:34:57.229-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='arimaa'/><title type='text'>Have you played Arimaa?</title><content type='html'>I found a wonderful new game called "Arimaa". It's a turn-based game, vaguely similar to chess, with an 8x8 board and different classes of pieces. It's one of those well designed games that is rather easy to learn, but challenging to master. There are many aspects of the game to discover and explore; I've only just started.&lt;br /&gt;&lt;br /&gt;Arimaa was actually created for AI research purposes in response to the defeat of world chess champion, Gary Kasparov, at the hands of IBM's Deep Blue chess computer. Arimaa has many more choices per turn and some other interesting properties. As a consequence, the best computer "bots" cannot currently defeat the best human players. There is a prize of $17,000 for the first bot that can. Naturally, I hope the winning bot will be written in Cobra.  :-)&lt;br /&gt;&lt;br /&gt;Omar Syed, the creator of the game, is a computer engineer trained in artificial intelligence. He runs a great site with instructions, wiki, forums, internet game room, bot API, etc. You can even order a physical game set.&lt;br /&gt;&lt;br /&gt;Given Arimaa's design goal of challenging AI researchers, I was expecting that it might be boring, but it was just the opposite! Arimaa is fun in and of itself.&lt;br /&gt;&lt;br /&gt;You can learn more about it at:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Arimaa"&gt;Wikipedia:Arimaa&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://arimaa.com/"&gt;Arimaa.com&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.boardgamegeek.com/boardgame/4616"&gt;BoardGameGeek:Arimaa&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-239309178063765791?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/239309178063765791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=239309178063765791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/239309178063765791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/239309178063765791'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/03/have-you-played-arimaa.html' title='Have you played Arimaa?'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-3437473415807636027</id><published>2009-03-16T18:00:00.000-07:00</published><updated>2009-03-16T18:04:57.856-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='help wanted'/><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><title type='text'>Cobra March 2009 Help Wanted</title><content type='html'>Want to help with an open source project? Today's post on &lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=318"&gt;"Help Wanted"&lt;/a&gt; outlines a number of ideas that you might find interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-3437473415807636027?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=318' title='Cobra March 2009 Help Wanted'/><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/3437473415807636027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=3437473415807636027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/3437473415807636027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/3437473415807636027'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/03/cobra-march-2009-help-wanted.html' title='Cobra March 2009 Help Wanted'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-8900854810966304687</id><published>2009-03-08T11:13:00.000-07:00</published><updated>2009-03-08T11:15:23.349-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Cobra February 2009 Update</title><content type='html'>February's update includes mixins, lambdas, constants and new documentation. Check out the &lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=310"&gt;Cobra February 2009 Update&lt;/a&gt; for more information. Or dive in now by &lt;a href=http://cobra-language.com/downloads/&gt;getting the latest&lt;/a&gt; and exploring &lt;a href=http://cobra-language.com/docs/&gt;the docs&lt;/a&gt; and &lt;a href=http://cobra-language.com/trac/cobra/wiki/&gt;the wiki&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-8900854810966304687?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=310' title='Cobra February 2009 Update'/><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/8900854810966304687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=8900854810966304687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/8900854810966304687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/8900854810966304687'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/03/cobra-february-2009-update.html' title='Cobra February 2009 Update'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-6209058799287290497</id><published>2009-03-01T10:43:00.001-08:00</published><updated>2009-03-01T11:05:15.540-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Informal Releases</title><content type='html'>I've decided to start a lightweight process I call "Informal Releases" which can be made quickly and which leverage the existing &lt;i&gt;install-from-workspace&lt;/i&gt; script. However, you don't have to use Subversion to get such a release. You just download a zip file.&lt;br /&gt;&lt;br /&gt;Making such a release is much less work for me than an official one, so I expect to make 1 - 4 of these per month. They don't replace the future official releases such as Cobra 0.9, 0.9.1, 1.0, etc. But they do give you early access to new features.&lt;br /&gt;&lt;br /&gt;This is for folks are not comfortable installing Cobra out of a Subversion workspace. It's easy enough to do, but users may prefer to download a hand-picked snapshot instead.&lt;br /&gt;&lt;br /&gt;Another route could have been to fully automate the build of a nightly package, but then you don't know if you're downloading a stable package when it's blindly made at the same time every day. In contrast, I'll cut an informal release when I'm fairly confident that the Cobra source repository is stable and has something worthwhile to offer over the last one.&lt;br /&gt;&lt;br /&gt;You can, of course, continue to use a &lt;a href="http://cobra-language.com/source/"&gt;Subversion workspace&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;There is a &lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=307"&gt;discussion thread&lt;/a&gt; on this topic which includes the link to &lt;b&gt;&lt;span style="white-space:nowrap;"&gt;Cobra 2009-03-01&lt;/span&gt;&lt;/b&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-6209058799287290497?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/6209058799287290497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=6209058799287290497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/6209058799287290497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/6209058799287290497'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/03/informal-releases.html' title='Informal Releases'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-5988727611457690931</id><published>2009-02-03T20:07:00.000-08:00</published><updated>2009-02-03T20:26:46.060-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Cobra January 2009 Update</title><content type='html'>January's work was all about refinements. Fixes, better error messages, more docs, etc. Check out the &lt;a href=http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=292&gt;Cobra January 2009 Update&lt;/a&gt; for more information. Or dive in now by &lt;a href=http://cobra-language.com/trac/cobra/wiki/HowToInstallFromSource&gt;getting the latest&lt;/a&gt; and exploring &lt;a href=http://cobra-language.com/docs/&gt;the docs&lt;/a&gt; and &lt;a href=http://cobra-language.com/trac/cobra/wiki/&gt;the wiki&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-5988727611457690931?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=292' title='Cobra January 2009 Update'/><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/5988727611457690931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=5988727611457690931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/5988727611457690931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/5988727611457690931'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/02/cobra-january-2009-update.html' title='Cobra January 2009 Update'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-8536636677204463866</id><published>2009-01-01T18:31:00.000-08:00</published><updated>2009-02-03T20:26:27.755-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Cobra December 2008 Update</title><content type='html'>Cobra now supports extension methods on generic types, along with several refinements to the language and libraries. Check out the &lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=266"&gt;Cobra December 2008 Update&lt;/a&gt; for more information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-8536636677204463866?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=266' title='Cobra December 2008 Update'/><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/8536636677204463866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=8536636677204463866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/8536636677204463866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/8536636677204463866'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2009/01/cobra-december-2008-update.html' title='Cobra December 2008 Update'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-4488320667680286840</id><published>2008-11-30T17:32:00.000-08:00</published><updated>2008-11-30T17:37:01.110-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Cobra November 2008 Update</title><content type='html'>Cobra now has closures, streams, generic method constraints and more. Check out the &lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=218"&gt;Cobra November 2008 Update&lt;/a&gt; for more information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-4488320667680286840?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=218' title='Cobra November 2008 Update'/><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/4488320667680286840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=4488320667680286840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4488320667680286840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4488320667680286840'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2008/11/cobra-november-2008-update.html' title='Cobra November 2008 Update'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-2400569099626323643</id><published>2008-11-29T17:34:00.000-08:00</published><updated>2008-11-29T17:40:49.421-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webware'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Webware for Python 1.0</title><content type='html'>Christoph Zwerschke has just announced:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The historic Webware for Python version 1.0 has finally been released. It runs with all Python versions from 2.0 to 2.6.&lt;br /&gt;&lt;br /&gt;A lot of bugs have been fixed, and a few small improvements and changes have been made since the last release. See the release notes for WebKit, MiddleKit, TaskKit, CGIWrapper and DBUtils for details.&lt;br /&gt;&lt;br /&gt;Webware for Python is a suite of Python packages and tools for developing object-oriented, web-based applications. The suite uses well known design patterns and includes a fast Application Server, Servlets, Python Server Pages (PSP), Object-Relational Mapping, Task Scheduling, Session Management, and many other features. Webware is very modular and easily extended.&lt;br /&gt;&lt;br /&gt;Webware for Python is well proven and platform-independent. It is compatible with multiple web servers, database servers and operating systems.&lt;br /&gt;&lt;br /&gt;DBUtils is a suite of tools providing solid, persistent and pooled connections to a database that can be used in all kinds of multi-threaded environments like Webware for Python or other web application servers. The suite supports DB-API 2 compliant database interfaces and the classic PyGreSQL interface.&lt;br /&gt;&lt;br /&gt;Check out the Webware for Python home page at &lt;a href="http://www.w4py.org"&gt;http://www.w4py.org&lt;/a&gt;.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I was the original author and founder of this open source project back in 2000. Over the years we attracted several contributors and many users. Ultimately, I left and turned to Cobra. Chris took over the Webware project and has done a smash up job supporting users and improving the code base. I still use Webware on multiple projects that date back to the early 2000's and I'd use it again on any Python project.&lt;br /&gt;&lt;br /&gt;Congratulations to Chris and the Webware community!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-2400569099626323643?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.w4py.org' title='Webware for Python 1.0'/><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/2400569099626323643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=2400569099626323643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/2400569099626323643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/2400569099626323643'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2008/11/webware-for-python-10.html' title='Webware for Python 1.0'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-334884638965302532</id><published>2008-10-22T18:48:00.000-07:00</published><updated>2008-10-22T18:50:27.815-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Cobra October Update</title><content type='html'>Cobra has a new "install-from-workspace" script that is quite handy, and I've posted a &lt;a href="http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=189"&gt;Cobra October Update&lt;/a&gt; in the discussion forums.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-334884638965302532?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://cobra-language.com/forums/viewtopic.php?f=4&amp;t=189' title='Cobra October Update'/><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/334884638965302532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=334884638965302532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/334884638965302532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/334884638965302532'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2008/10/cobra-october-update.html' title='Cobra October Update'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-8719147372323754268</id><published>2008-09-18T15:32:00.000-07:00</published><updated>2008-09-18T15:35:27.733-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='los angeles'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>SoCal Piggies Meeting Tonight</title><content type='html'>I'll be attending the SoCal Piggies Meeting tonight at Disney Animation Studios in Burbank, CA (Los Angeles area).&lt;br /&gt;&lt;br /&gt;Tonight's agenda:&lt;br /&gt;&lt;br /&gt;Michał Kwiatkowski: "Automatic generation of unit tests with Pythoscope"&lt;br /&gt;&lt;br /&gt;Joe Shochet (lead game designer and programmer on Disney's Toontown Online): "How we use Python in Toontown"&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://socal-piggies.org/"&gt;http://socal-piggies.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-8719147372323754268?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://socal-piggies.org/scp' title='SoCal Piggies Meeting Tonight'/><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/8719147372323754268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=8719147372323754268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/8719147372323754268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/8719147372323754268'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2008/09/socal-piggies-meeting-tonight.html' title='SoCal Piggies Meeting Tonight'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-4065703580222751686</id><published>2008-09-16T08:51:00.000-07:00</published><updated>2008-09-16T08:57:03.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='charity'/><category scheme='http://www.blogger.com/atom/ns#' term='smallworks'/><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><title type='text'>smallworks</title><content type='html'>I recently met Chris Berg, the chair and founder of &lt;a href="smallworks.org"&gt;smallworks.org&lt;/a&gt;. This site aims to offer free services to non-profit organizations that might not otherwise have the funds or the know how to make good use of software technology. Unlike the open source approach, smallworks is oriented towards providing the end software as a service to users rather than as a package or code base to developers.&lt;br /&gt;&lt;br /&gt;Overall, it's a good idea, but I think smallworks would benefit from opening up so that others could contribute to the code base. Cobra has certainly benefited from going &lt;a href="http://cobra-language.com/source/"&gt;open source&lt;/a&gt; earlier this year.&lt;br /&gt;&lt;br /&gt;Smallworks is web-based in order to avoid installation headaches and to achieve its goal to &lt;a href="http://smallworks.org/about.aspx"&gt;connect givers and receivers&lt;/a&gt;. There appears to be a lot of work still to do on the site, but it'll be interesting to see how smallworks evolves in the future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-4065703580222751686?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/4065703580222751686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=4065703580222751686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4065703580222751686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4065703580222751686'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2008/09/smallworks.html' title='smallworks'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-1007926583952497660</id><published>2008-04-14T23:47:00.000-07:00</published><updated>2008-04-15T00:03:40.753-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Cobra 0.8 Is Out</title><content type='html'>Cobra &lt;a href=http://cobra-language.com/docs/release-notes/Cobra-0.8.0.html&gt;0.8&lt;/a&gt; is out now. Get it from the &lt;a href=http://cobra-language.com/downloads/&gt;downloads page&lt;/a&gt; (there are packages for Windows and Unix-like systems). Bugs that blocked the usage of GTK# and Tao have been fixed, so it'll be interesting to see what people do with Cobra and those libraries.&lt;br /&gt;&lt;br /&gt;If you haven't discovered the &lt;a href=http://cobra-language.com/forums/&gt;forums&lt;/a&gt; yet, check 'em out.&lt;br /&gt;&lt;br /&gt;I haven't been blogging much because I've been way too busy working on the compiler in response to feedback. While "1.0" is still a long way off, I feel like I can breathe a bit easier with these various improvements in place. Feedback for Cobra has been largely positive, and it's getting better as Cobra matures.&lt;br /&gt;&lt;br /&gt;Tonight I reviewed &lt;a href=http://cobra-language.com/docs/how-to-learn/&gt;How to Learn Cobra&lt;/a&gt; to see if it needed an update. While it still exhibits the most uninspired page layout possible, the content is totally legit. If you follow the steps, you will definitely become a Cobra coder.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-1007926583952497660?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/1007926583952497660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=1007926583952497660' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1007926583952497660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1007926583952497660'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2008/04/cobra-08-is-out.html' title='Cobra 0.8 Is Out'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-1602285827524051723</id><published>2008-02-07T15:06:00.000-08:00</published><updated>2008-02-07T15:15:39.939-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><category scheme='http://www.blogger.com/atom/ns#' term='press'/><title type='text'>Forums and Press Coverage</title><content type='html'>InfoWorld has &lt;a href="http://www.infoworld.com/article/08/02/07/cobra-language_1.html"&gt;covered Cobra&lt;/a&gt; with a general overview and a catchy title.&lt;br /&gt;&lt;br /&gt;But I would have preferred "Cobra is faster and more deadly than Python". &amp;nbsp; &lt;kdb&gt;:-)&lt;/kbd&gt;&lt;br /&gt;&lt;br /&gt;And &lt;a href="http://cobra-language.com/forums/"&gt;discussion forums&lt;/a&gt; are up! This is the main place for all Cobra discussion. After registering, check for your verification email in both your in-box and your spam folder.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-1602285827524051723?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/1602285827524051723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=1602285827524051723' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1602285827524051723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1602285827524051723'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2008/02/forums-and-press-coverage.html' title='Forums and Press Coverage'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-6881890677188843976</id><published>2008-01-27T01:41:00.000-08:00</published><updated>2008-01-27T01:45:09.989-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>New Cobra</title><content type='html'>I thought January's release of Cobra would be a 0.0.1 increment, but the progress was substantial enough to call it "0.7". See for yourself in the &lt;a href="http://cobra-language.com/docs/release-notes/Cobra-0.7.0.html"&gt;release notes&lt;/a&gt; and &lt;a href="http://cobra-language.com/downloads/"&gt;get yourself a copy&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;In other news:&lt;br /&gt;&lt;br /&gt;I added a section that I had forgotten in the &lt;a href="http://cobra-language.com/docs/python/"&gt;Comparison to Python&lt;/a&gt; about how Cobra defaults to accurate arithmetic. Adding 0.1 to itself 10 times &lt;b&gt;does not&lt;/b&gt; equal 0.999999...&lt;br /&gt;&lt;br /&gt;There is a new sample that implements a &lt;a href="http://cobra-language.com/samples/forth/"&gt;FORTH interpreter&lt;/a&gt;. It needs a lot more work, but it's a good start with support for word definitions.&lt;br /&gt;&lt;br /&gt;In less than 10 hours I fly out to Washington for &lt;a href="http://www.langnetsymposium.com/agenda.asp"&gt;Lang.NET 2008&lt;/a&gt;. I'm looking forward to geeking out about languages, compilers, interpreters and more. But I'm disappointed that the &lt;a href="http://research.microsoft.com/specsharp/"&gt;Spec#&lt;/a&gt; team won't be presenting as they did last time. Cobra also does contracts and I hope to integrate with their static analysis tool at some point.&lt;br /&gt;&lt;br /&gt;Getting back to the Cobra language and compiler, I fell shy of the necessary clean up to open the source code, but I'm getting close. So when I get back the plans are:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;Open the source code some time in February. (MIT license)&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Install Trac for issue tracking and wiki.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Set up discussion forums.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Get new blogging software?&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;And then it's on to the next version!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-6881890677188843976?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/6881890677188843976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=6881890677188843976' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/6881890677188843976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/6881890677188843976'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2008/01/new-cobra_27.html' title='New Cobra'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-5896582534161224345</id><published>2008-01-20T01:52:00.000-08:00</published><updated>2008-01-20T02:12:28.701-08:00</updated><title type='text'>News</title><content type='html'>The new domain for Cobra is &lt;a href=http://cobra-language.com/&gt;http://cobra-language.com/&lt;/a&gt; which is easier to verbalize in a conversation ("cobra language dot com") and easier to read with the dash. The old domain, cobralang.com, suffered in both areas. Note that whether you use a dash or not, or type ".com" or ".org", doesn't matter. All those combinations, as well as the old domain, will forward to http://cobra-language.com/.&lt;br /&gt;&lt;br /&gt;There will be a new release later this week with various fixes, refinements and additions.&lt;br /&gt;&lt;br /&gt;Then next week I'll be at the &lt;a href=http://www.langnetsymposium.com/&gt;Lang.NET 2008 Symposium&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In February, I'll open source Cobra and add &lt;a href=http://trac.edgewall.org/&gt;Trac&lt;/a&gt; for issue tracking, wiki and Subversion browsing.&lt;br /&gt;&lt;br /&gt;At some point, hopefully in February again, I'll add online discussion forums.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-5896582534161224345?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/5896582534161224345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=5896582534161224345' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/5896582534161224345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/5896582534161224345'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2008/01/news.html' title='News'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-5842219611103783315</id><published>2008-01-02T13:07:00.000-08:00</published><updated>2008-01-02T22:59:42.885-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>New Cobra!</title><content type='html'>Cobra 0.6 was released on Dec 31. &lt;a href=http://cobralanguage.com/docs/release-notes/Cobra-0.6.0.html&gt;Release Notes&lt;/a&gt;, &lt;a href=http://cobralanguage.com/downloads/&gt;Downloads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And there is some Cobra discussion on the &lt;a href=http://www.kernel-panic.org/pipermail/kplug-lpsg/2008-January/thread.html#7160&gt;kplug-lpsg mailing list&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-5842219611103783315?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/5842219611103783315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=5842219611103783315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/5842219611103783315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/5842219611103783315'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2008/01/new-cobra.html' title='New Cobra!'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-4819055582456451498</id><published>2007-12-21T02:37:00.000-08:00</published><updated>2007-12-21T18:37:21.043-08:00</updated><title type='text'>Making Progresss</title><content type='html'>It's been a month since my last post, so it's time for an update. I've continued to make progress, most of which is bug fixing. I've also improved several error messages to read more clearly. There are 25 new test programs for a total of 478.&lt;br /&gt;&lt;br /&gt;The hardest problems to fix always involve generics. The good news is that after fixing problems with generics, everything else is a cakewalk.&lt;br /&gt;&lt;br /&gt;(Note: "CLI" stands for "Common Language Infrastructure" and I reference it instead of ".NET" because Cobra also runs on Novell Mono.)&lt;br /&gt;&lt;br /&gt;I've also added a new &lt;b&gt;-embed-run-time&lt;/b&gt; option so that you can deliver a CLI .DLL to C#, VB and other CLI users without requiring that they have a Cobra.Lang.dll on their system. Extreme compatibility with C# and VB is one of Cobra's goal. The idea is that you should be able to vend Cobra libraries back out to other CLI users both technically and practically.&lt;br /&gt;&lt;br /&gt;I expect to release 0.6 before the New Year.&lt;br /&gt;&lt;br /&gt;And I'll be at the &lt;a href="http://www.langnetsymposium.com/"&gt;2008 Lang.NET Symposium&lt;/a&gt; in late January.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-4819055582456451498?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/4819055582456451498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=4819055582456451498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4819055582456451498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4819055582456451498'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2007/12/making-progresss.html' title='Making Progresss'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-3740680917897396199</id><published>2007-11-20T14:02:00.000-08:00</published><updated>2007-11-20T14:39:41.281-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sens'/><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Where's Cobra?</title><content type='html'>The next version of Cobra is still on my hard drive because I'm obsessed with fixing warts and bugs in it. What I'm doing is making the next release more practical for you to sink your teeth into and offer meaningful feedback. (Of course, I make offsite backups to avoid catastrophe!)&lt;br /&gt;&lt;br /&gt;The release notes, which I write concurrent to the work, are fairly long and this looks like it will be the largest release yet. Test cases are up to 454 and rising.&lt;br /&gt;&lt;br /&gt;I don't have an ETA, but it will be at least two more weeks and possibly longer.&lt;br /&gt;&lt;br /&gt;Also, Cobra will be going open source in the future with either the MIT or BSD license. The compiler itself is written in Cobra and much of the source is in an older coding style from when Cobra was less mature so I'll be cleaning that up first. I expect to open the source no later than release 0.7, but hopefully earlier as an independent event.&lt;br /&gt;&lt;br /&gt;In non-Cobra news, I've become one of &lt;a href="http://www.mprize.org/index.php?pagename=thethreehundred"&gt;"The Three Hundred"&lt;/a&gt;. $85/month is a pretty cheap price for longevity!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-3740680917897396199?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/3740680917897396199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=3740680917897396199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/3740680917897396199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/3740680917897396199'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2007/11/wheres-cobra.html' title='Where&apos;s Cobra?'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-7646067956550144632</id><published>2007-08-25T16:27:00.000-07:00</published><updated>2007-08-25T16:31:09.849-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Movie Robot or Programming Language?</title><content type='html'>I scored 14 out of 15 on the &lt;a href=http://www.bbspot.com/features/2001/09/robot_quiz.php&gt;Movie Robot or Programming Language?&lt;/a&gt; quiz. Should I be embarrassed or proud?&lt;br /&gt;&lt;br /&gt;(New Cobra release coming next week...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-7646067956550144632?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/7646067956550144632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=7646067956550144632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/7646067956550144632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/7646067956550144632'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2007/08/movie-robot-or-programming-language.html' title='Movie Robot or Programming Language?'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-471269096673421088</id><published>2007-07-13T01:55:00.000-07:00</published><updated>2007-07-13T02:02:58.078-07:00</updated><title type='text'>Full-Time</title><content type='html'>I've been part-time on Cobra this whole time... until now. Starting this week, I am full-time on Cobra. This means more releases, more docs and more thorough testing.&lt;br /&gt;&lt;br /&gt;There is still a lot of work to do on the language, but as it gets closer to maturity, I'll branch out into a mailing list, a wiki and all that good stuff.&lt;br /&gt;&lt;br /&gt;Implementing the compiler in Cobra (by using "snapshots" of the compiler at stable points) continues to pay huge dividends. One type of dividend is benefiting from Cobra's features (contracts, unit tests, the upcoming exception report, etc.). Another is finding bugs quickly because the whole time I'm implementing Cobra, I'm hammering Cobra.&lt;br /&gt;&lt;br /&gt;The next release will be out by month's end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-471269096673421088?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/471269096673421088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=471269096673421088' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/471269096673421088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/471269096673421088'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2007/07/full-time.html' title='Full-Time'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-3096015574219673740</id><published>2007-04-07T18:51:00.000-07:00</published><updated>2007-04-07T18:54:34.069-07:00</updated><title type='text'>Cobra 0.5 Released</title><content type='html'>Cobra 0.5 has been released:&lt;br /&gt;&lt;br /&gt;&lt;a href=http://cobralang.com/downloads/&gt;Download Page&lt;/a&gt;&lt;br /&gt;&lt;a href=http://cobralang.com/docs/release-notes/Cobra-0.5.0.html&gt;Cobra 0.5 Release Notes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also, there's a budding &lt;a href=http://cobralang.com/docs/manual/&gt;reference manual&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Feedback is always welcome:&lt;br /&gt;contact -AT- cobralang -DOT- com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-3096015574219673740?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/3096015574219673740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=3096015574219673740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/3096015574219673740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/3096015574219673740'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2007/04/cobra-05-released.html' title='Cobra 0.5 Released'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-4875202119195545491</id><published>2007-03-24T20:50:00.000-07:00</published><updated>2007-03-24T21:24:35.373-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>The 400</title><content type='html'>Forget about &lt;a href="http://imdb.com/title/tt0416449/"&gt;the 300&lt;/a&gt;... Cobra hit 400... test cases tonight. It looks like a nice, strong number when the test suite finishes:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;400 Tests in 00:04:40.7474784.&lt;br /&gt;Success.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I suppose there are really 401 since the compiler is written in Cobra and forms the last and most complex test case.&lt;br /&gt;So Cobra 0.5 is coming up. It will feature:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;A new &lt;b&gt;trace&lt;/b&gt; statement to aid debugging (think "print statements on steroids").&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Support for optional dynamic typing. Pick static or dynamic at your pleasure.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Better error checking and messages.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Better "cobra -test" behavior.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; The usual round of refinements and bugfixes.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;I'm in the home stretch for this release with more testing, documentation and packaging to do. And I'm pretty excited about carrying Cobra all the way to a 1.0 release this year!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-4875202119195545491?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/4875202119195545491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=4875202119195545491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4875202119195545491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4875202119195545491'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2007/03/400.html' title='The 400'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-4706336748537995759</id><published>2007-02-27T19:36:00.000-08:00</published><updated>2007-03-06T10:45:42.994-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><category scheme='http://www.blogger.com/atom/ns#' term='docs'/><title type='text'>Cobra 0.4 Released, "Why Cobra?"</title><content type='html'>Cobra 0.4 has been released:&lt;br /&gt;&lt;div style="padding-left: 1em; padding-top: 0;"&gt;&lt;br /&gt;&lt;li&gt; &lt;a href=http://cobralang.com/downloads/&gt;Download Page&lt;/a&gt;&lt;br /&gt;&lt;li&gt; &lt;a href=http://cobralang.com/docs/release-notes/Cobra-0.4.0.html&gt;Cobra 0.4 Release Notes&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Also, a &lt;a href=http://cobralang.com/docs/why/&gt;Why Cobra?&lt;/a&gt; document has been added and &lt;a href=http://cobralang.com/docs/quality/&gt;Coding for Quality&lt;/a&gt; has been broken out so that it can be directly linked to (it's important).&lt;/p&gt;&lt;br /&gt;Feedback is always welcome:&lt;br /&gt;contact -AT- cobralang -DOT- com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-4706336748537995759?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/4706336748537995759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=4706336748537995759' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4706336748537995759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4706336748537995759'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2007/02/cobra-04-released-why-cobra.html' title='Cobra 0.4 Released, &quot;Why Cobra?&quot;'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-813196282511853827</id><published>2007-02-20T01:19:00.000-08:00</published><updated>2007-02-20T01:25:25.797-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Cobra Discussion and Upcoming Release</title><content type='html'>Some interesting discussion about Cobra is taking place at &lt;a href="http://programming.reddit.com/info/154zp/comments"&gt;reddit&lt;/a&gt;. Of course, it includes the obligatory dismissal of any language that is new.     :-)&lt;br /&gt;&lt;br /&gt;The next release is in 2-3 weeks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-813196282511853827?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://programming.reddit.com/info/154zp/comments' title='Cobra Discussion and Upcoming Release'/><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/813196282511853827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=813196282511853827' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/813196282511853827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/813196282511853827'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2007/02/cobra-discussion-and-upcoming-release.html' title='Cobra Discussion and Upcoming Release'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-2239624200981685616</id><published>2007-01-09T10:40:00.000-08:00</published><updated>2007-01-09T11:48:42.125-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='design'/><title type='text'>Truthfulness</title><content type='html'>Cobra copies a lot of syntax and high level semantics from Python, including how to determine truthfulness:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;... if stuff&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;... ... print 'I have some stuff.'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(Sorry for the periods, but Blogger is stripping preceding whitespace. Maybe I'll have to find a new blog site. Suggestions are welcome.)&lt;br /&gt;&lt;br /&gt;In Python, as well as the current release of Cobra, "stuff" is considered true if it is non-zero, non-nil, &lt;span style="font-style: italic;"&gt;non-empty&lt;/span&gt; or the boolean value, true. So even empty strings and collections are considered false. That can be useful since programmers often want to take or avoid an action if a string is blank or a collection is empty. Code becomes more terse:&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;... if not name&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;... ... print 'You have no name'&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;... # vs:&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;... if name is not nil and not name.length&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;... ... print 'You have no name'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But that also introduces a lot of expressions in the form "stuff is not nil" either because that is exactly what you need, or for efficiency.&lt;br /&gt;&lt;br /&gt;Keep in mind that determining "non-empty" involves inspecting the object to allow a method to partake in the determination ("__nonzero__" in Python; "length" or "count" in Cobra).  That's expensive and so between that expense and the numerous "...is not nil" fragments in my code, I decided to reconsider this semantic.&lt;br /&gt;&lt;br /&gt;Would it be better to drop the semantics regarding blank strings, empty collections and object participation in truthfulness? I wasn't sure, but felt that an examination of Cobra source code would be telling.&lt;br /&gt;&lt;br /&gt;So I augmented the Cobra compiler to count the number of times a reference type was checked for truthfulness vs. the occurrence of "x is not nil". I then applied it to the largest Cobra project to date: the Cobra compiler. The counts came out:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;107 - instances of "x is not nil"&lt;/li&gt;&lt;li&gt;509 - instances of simple truthfulness on reference types&lt;/li&gt;&lt;/ul&gt;So it would appear that high-level truthfulness is quite popular. &lt;span style="font-weight: bold;"&gt;But&lt;/span&gt; as part of doing the count, I printed the expressions that were being considered for their truthfulness.&lt;br /&gt;&lt;br /&gt;And I was alarmed at how many of them should have been "is not nil" from an efficiency point of view. Basically, if you know that the type of an object does not customize truthfulness with the "count" method, then "x is not nil" is much more efficient than "x". That's because "x" implies checking the type (String, ICollection) and possibly checking for a "count" method.&lt;br /&gt;&lt;br /&gt;I read though all 509 and counted the ones that should have used the simpler calculation of "x is not nil". That changed the numbers to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;412 - x is not nil&lt;/li&gt;&lt;li&gt;204 - truthfulness on reference types&lt;/li&gt;&lt;/ul&gt;Not only is "is not nil" a more popular computation (2 to 1), but the current approach leads to slower running programs if you're not diligent.&lt;br /&gt;&lt;br /&gt;Furthermore, Cobra's compile-time nil tracking means that many variables cannot be nil anyway and therefore the expression:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;... if s is not nil and s.length&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;becomes:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;... if s.length&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;when "s" is a "String" rather than a "String?":&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;... def doSomething(s as String)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;... ... # "nil" cannot be passed in for "s"&lt;br /&gt;... ... # because its type is not "String?"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So I made the change and then updated the Cobra compiler source, test cases, samples and docs. This experience confirmed that the new semantics were usable, writeable, readable, in other words, capable. (Btw this is another advantage to writing a language's compiler (or interpreter as the case may be) in the language itself--you find out fairly quickly which ideas were good and which were bad.) This will show up in the 0.4 release later this month.&lt;br /&gt;&lt;br /&gt;Regarding Cobra's ongoing development, there are certainly major &lt;span style="font-style: italic;"&gt;additions&lt;/span&gt; in the future, for example, operator overloading. But this is the last change I know of that has a major impact on existing code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-2239624200981685616?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/2239624200981685616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=2239624200981685616' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/2239624200981685616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/2239624200981685616'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2007/01/truthfulness.html' title='Truthfulness'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-5107863253991669303</id><published>2006-11-17T16:05:00.000-08:00</published><updated>2006-11-17T16:18:45.143-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cobra'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>New Compiler, New Computer</title><content type='html'>Yesterday, I released &lt;a href="http://cobralang.com/"&gt;Cobra 0.2&lt;/a&gt;. This is the new compiler written in Cobra itself and delivered as a .NET exe (previous versions were Python programs).&lt;br /&gt;&lt;br /&gt;Now Cobra will return to a fairly regular release schedule of once per month.&lt;br /&gt;&lt;br /&gt;Today, I received a new MacBook Pro 17" 3GB Intel Core 2 Duo. It's bad to the bone. Assuming that Mono runs on it, all future Cobra releases will be tested on Novell Mono on Mac as well as Microsoft .NET on XP Pro. In fact, I plan on running a copy of XP Pro on Parallels on Mac OS X so I can literally use both operating systems at once. I'll have ready access to all that is Mac as well as Visual Studio 2005. Search the Internet and you'll find several existing blog posts of people doing this successfully. In fact, that was the tipping point for me to finally take the plunge into Mac.&lt;br /&gt;&lt;br /&gt;By the way, I was a major NeXTstep user back in the day. It feels good to "come home."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-5107863253991669303?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/5107863253991669303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=5107863253991669303' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/5107863253991669303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/5107863253991669303'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2006/11/new-compiler-new-computer.html' title='New Compiler, New Computer'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-1937584888477200984</id><published>2006-11-14T22:28:00.000-08:00</published><updated>2006-11-14T22:31:24.751-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><category scheme='http://www.blogger.com/atom/ns#' term='docs'/><title type='text'>Comparison to Python</title><content type='html'>I have added a &lt;a href="http://cobralang.com/docs/python/"&gt;Comparison to Python&lt;/a&gt; essay on CobraLang.com. This will help Python programmers understand the point of Cobra, including in contrast to IronPython.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-1937584888477200984?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/1937584888477200984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=1937584888477200984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1937584888477200984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1937584888477200984'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2006/11/comparison-to-python.html' title='Comparison to Python'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-1030829508674622969</id><published>2006-11-04T20:45:00.000-08:00</published><updated>2006-11-14T22:32:27.161-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>New Cobra Compiler</title><content type='html'>&lt;div id="body1188250" class="commentbody"&gt;               Regarding the new, upcoming Cobra compiler written in Cobra, it will be released this month (November). There will be some minor refinements to the language, improved error checking, faster compilation and the Python dependency will be removed.&lt;br /&gt;&lt;br /&gt;I'm about 80%-90% of the way there. I'm really looking forward to getting back to pushing the features and maturity forward after this release.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-1030829508674622969?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/1030829508674622969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=1030829508674622969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1030829508674622969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/1030829508674622969'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2006/11/regarding-new-upcoming-cobra-compiler.html' title='New Cobra Compiler'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-4647038596054956434</id><published>2006-09-16T15:04:00.000-07:00</published><updated>2006-11-14T22:32:03.832-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lang.NET2006'/><title type='text'>Lang.NET 2006 at Microsoft</title><content type='html'>The presentations at the Lang.NET Symposium have been posted here as the "video" links next to each presenter at &lt;a href="http://www.langnetsymposium.com/speakers.asp"&gt;http://www.langnetsymposium.com/speakers.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The videos capture the projection with the speaker's voice. This is exactly what you would have experienced being there (sans networking, interactive questions, seeing the speaker's face, etc.) At least the two I've watched so far. I haven't checked them all.&lt;br /&gt;&lt;br /&gt;Here are some opinionated highlights of the presentations I enjoyed most:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Anders Hejlsberg is the author of C# and gives a presentation on "Language Integrated Query (LINQ) and C# 3.0". I really appreciate how LINQ isn't completely baked: the LINQ expressions translate to ordinary dotted expressions allowing any kind of object to participate in data queries. But I could have done without the XML portion as I never drank the &lt;koolaid&gt;.&lt;/koolaid&gt;&lt;/li&gt;&lt;li&gt;The Spec# demo was totally bad ass. You would definitely want an engineer to be using this when writing any safety critical code (medical, aircraft, etc.) that intersects with your life. You might even want to use it yourself if you have the patience to deal with *manyof your bugs early and upfront (before you get to runtime). Once again, the architecture is open so that other languages might tap into it. In this case, "it" would be the backend theorem prover that analyzes your code.&lt;/li&gt;&lt;li&gt;Jim Hugunin covers IronPython which Microsoft sponsors in full.&lt;/li&gt;&lt;li&gt;PowerShell was cool (formally called Monad) and long overdue.&lt;/li&gt;&lt;li&gt;BLINQ has some potential for getting webapps kick started. Providing the right kinds of customizations will be challenging, though. Only time will tell if it pans out.&lt;/li&gt;&lt;li&gt;Miguel de Icaza presented Novell Mono (an open source clone of Microsoft .NET) in a whirlwind of demo apps, dev tools and that funky cool window manager he uses. I gained an appreciation for GTK# from this and some hope that maybe Linux will be a viable desktop someday (even for really picky people like myself).&lt;/li&gt;&lt;li&gt;William Cook's presentation approach was fresh and his angle on optimizing database access was just really, really neat. I hope to see it mature and become accessible for use on future enterprise apps.&lt;/li&gt;&lt;li&gt;Shriram Krishnamurthi's presentation was pretty wild in terms of what he was able to do with the browser, although I'm not sure what I take from it in terms of how I would change my approach to web apps. But definitely worth watching for langsmith nerds like us.&lt;/li&gt;&lt;li&gt;Don Syme covered F#. Like Shriram's presentation, it was neat to see dynamic, animated behavior come out of a program, that if I recall correctly, had no explicit timer nor loop. I guess the trick is for the language and/or runtime support to recognize dynamic sources like "ticks" and "mouse position".&lt;/li&gt;&lt;li&gt;If you're interested in futurism and accelerating technology, that would be the "Gary Flake" presentation. He also has some interesting war stories from the Internet bubble.&lt;/li&gt;&lt;li&gt;The "Second Life" presentation had the "cool factor" even if it's not going to impact your future development like the Anders H. presentation and others might.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Hopefully someone finds some of the above useful in terms of picking out presentations to watch.&lt;br /&gt;&lt;br /&gt;Also, I was searching for "lang.net2006" and found the flickr gallery of that crazy guy who snapped hundreds of photos every day. Check out the &lt;a href="http://flickr.com/photos/91555706@N00/206987269/"&gt;intense expression&lt;/a&gt; on this dude.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-4647038596054956434?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/4647038596054956434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=4647038596054956434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4647038596054956434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/4647038596054956434'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2006/09/presentations-at-lang.html' title='Lang.NET 2006 at Microsoft'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2981306617559016581.post-3017517167542683334</id><published>2006-09-01T17:32:00.000-07:00</published><updated>2006-09-01T17:42:54.961-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Rewriting Cobra in Cobra</title><content type='html'>The current compiler for the Cobra programming language is written in Python, but I'm part way through rewriting the compiler in Cobra itself so I can benefit from increased performance, software contracts, static typing, compile-time nil checking and more. This will also remove the Python dependency for users of Cobra.&lt;br /&gt;&lt;br /&gt;After the new compiler catches up to the old compiler's capabilities, I will be continuing with new features including optional dynamic typing. I'm a big fan of Objective-C's support for both static and dynamic typing in the same language. The developer, not the language designer, should decide how much static or dynamic binding goes on in his software.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://CobraLang.com/"&gt;http://CobraLang.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2981306617559016581-3017517167542683334?l=cobralang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cobralang.blogspot.com/feeds/3017517167542683334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2981306617559016581&amp;postID=3017517167542683334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/3017517167542683334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2981306617559016581/posts/default/3017517167542683334'/><link rel='alternate' type='text/html' href='http://cobralang.blogspot.com/2006/09/rewriting-cobra-in-cobra.html' title='Rewriting Cobra in Cobra'/><author><name>Chuck Esterbrook</name><uri>http://www.blogger.com/profile/12828427007919562636</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
