<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://srtsolutions.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">SRT Insights</title><subtitle type="html" /><id>http://srtsolutions.com/blogs/srtinsights/atom.aspx</id><link rel="alternate" type="text/html" href="http://srtsolutions.com/blogs/srtinsights/default.aspx" /><link rel="self" type="application/atom+xml" href="http://srtsolutions.com/blogs/srtinsights/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2007-10-23T13:30:00Z</updated><entry><title>Leader or Follower: How is Your Business Perceived?</title><link rel="alternate" type="text/html" href="http://srtsolutions.com/blogs/srtinsights/archive/2008/09/06/leader-or-follower-how-is-your-business-perceived.aspx" /><id>http://srtsolutions.com/blogs/srtinsights/archive/2008/09/06/leader-or-follower-how-is-your-business-perceived.aspx</id><published>2008-09-07T01:37:00Z</published><updated>2008-09-07T01:37:00Z</updated><content type="html">&lt;p&gt;As a business leader, you&amp;#39;ve undoubtedly nurtured your company&amp;#39;s image
in the marketplace. You take great care in ensuring that your customers
view you as a quality organization, an ethical organization and a
positive member of the community. Often, an equal amount of care isn&amp;#39;t
spent on a company&amp;#39;s brand image with other members of the business
community ...&lt;/p&gt;&lt;p&gt;&lt;a href="http://srtsolutions.com/content/SRTBillBRColumn.pdf"&gt;Read the rest of the article&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Bill Wagner and Dianne Marsh have been writing a monthly column for the
Ann Arbor Business Review since May 2008.&amp;nbsp; This is the article that
Bill Wagner wrote for their first submission (May 2008).&amp;nbsp; The Business
Review content is not available online, so we have permission to post
the scanned pdf.&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=4526" width="1" height="1"&gt;</content><author><name>dmarsh</name><uri>http://srtsolutions.com/members/dmarsh.aspx</uri></author><category term="srtinsights" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx" /></entry><entry><title>Ann Arbor Give Camp Developers: Half a Million Dollars to Charities</title><link rel="alternate" type="text/html" href="http://srtsolutions.com/blogs/srtinsights/archive/2008/07/15/ann-arbor-give-camp-developers-half-a-million-dollars-to-charities.aspx" /><id>http://srtsolutions.com/blogs/srtinsights/archive/2008/07/15/ann-arbor-give-camp-developers-half-a-million-dollars-to-charities.aspx</id><published>2008-07-16T02:55:00Z</published><updated>2008-07-16T02:55:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://www.annarborgivecamp.org/"&gt;Ann Arbor Give Camp&lt;/a&gt; started with &lt;a href="http://blogs.msdn.com/jennifer/"&gt;Jennifer Marsman&lt;/a&gt;, of Microsoft, wanting to organize an event to pull together the developer community in the Ann Arbor area. She had heard about a Give Camp organized in Dallas, where developers worked over a weekend to produce applications and/or websites for charities, and wondered if it would work here.&amp;nbsp; She started organizing this a few months ago, and started soliciting charities.&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;45 charities submitted proposals, but only about 15 could be selected.&amp;nbsp; A team of volunteers (including SRT&amp;#39;s &lt;a href="http://srtsolutions.com/blogs/billwagner/"&gt;Bill Wagner&lt;/a&gt; and Patrick Steele) called charities to clarify requirements and to ensure that their projects could be done by a team over the weekend.&amp;nbsp; It was critical that the charities be given something of value, something complete. The organizers thought that it was critical that the charities not be left holding partially done work.&amp;nbsp; Other volunteers, including SRT&amp;#39;s Lisa Zuber, reached out to area restaurants and stores for donations of food, water, and snacks.&amp;nbsp; Lisa even stopped by on Friday night (her day off!) to deliver the snacks! &lt;/p&gt;&lt;p&gt;About 118 developers signed up (some on the day before the event!) and showed up at Washtenaw Community College on Friday July 11 to kick things off.&amp;nbsp; Satellite teams worked in &lt;a href="http://devlicio.us/blogs/vinull/archive/2008/07/15/knoxville-takes-part-in-the-ann-arbor-give-camp.aspx"&gt;Knoxville, TN&lt;/a&gt; and in Columbus, OH.&amp;nbsp; SRT&amp;#39;s &lt;a href="http://srtsolutions.com/blogs/patricksteele/archive/2008/07/15/ann-arbor-give-camp-angel-s-place.aspx"&gt;Patrick Steele&lt;/a&gt; and &lt;a href="http://srtsolutions.com/blogs/mikewoelmer/archive/2008/07/14/ann-arbor-give-camp-and-the-developers-in-room-be-240.aspx"&gt;Mike Woelmer&lt;/a&gt; were in the main group working from Ann Arbor. &lt;/p&gt;&lt;p&gt;The blogs about Ann Arbor Give Camp are amazing.&amp;nbsp; Jennifer has posted a &lt;a href="http://blogs.msdn.com/jennifer/archive/2008/07/15/ann-arbor-give-camp.aspx"&gt;list of blogs for GiveCamp&lt;/a&gt; on her blog; read more about it there.&amp;nbsp; It was estimated that about a half of a million dollars in value was donated by these generous folks over the weekend.&amp;nbsp; Great job, everyone!&amp;nbsp; With a success like this in the first year of this event, I can only imagine that both charities and developers will be even more interested in contributing next time! &lt;/p&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=3889" width="1" height="1"&gt;</content><author><name>dmarsh</name><uri>http://srtsolutions.com/members/dmarsh.aspx</uri></author><category term="srtinsights" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx" /><category term="Ann Arbor events" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/Ann+Arbor+events/default.aspx" /><category term="GiveCamp" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/GiveCamp/default.aspx" /></entry><entry><title>More Bloggers to Appear on SRT Home Page</title><link rel="alternate" type="text/html" href="http://srtsolutions.com/blogs/srtinsights/archive/2008/06/12/more-bloggers-to-appear-on-srt-home-page.aspx" /><id>http://srtsolutions.com/blogs/srtinsights/archive/2008/06/12/more-bloggers-to-appear-on-srt-home-page.aspx</id><published>2008-06-13T02:14:00Z</published><updated>2008-06-13T02:14:00Z</updated><content type="html">&lt;p&gt;Initially, only Bill and I had blogs at SRT.&amp;nbsp; When others (consultants and employees) wanted blogs, we added them and enjoyed reading the blog entries, but realized that other people may have a harder time finding them!&amp;nbsp; To make the other SRT blogs more prominent (they&amp;#39;re available on the http://srtsolutions.com/blogs page, we wanted to put them on the front page.&amp;nbsp; So, we tasked our brilliant intern (Charlie) to add the appropriate code to pull snippets from the most recent 3 blogs, to appear on the front page.&amp;nbsp; Of course, all of the blogs are still available on the blogs page.&lt;/p&gt;&lt;p&gt;Charlie rolled out the changes today.&amp;nbsp; We hope that you enjoy reading the varied insight.&amp;nbsp; Feel free to comment on all of the blogs.&amp;nbsp; Since blog spam is so prevalent, we do have comments set to &amp;quot;moderated&amp;quot;, but we eventually find your notes and we do appreciate them! &lt;/p&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=3519" width="1" height="1"&gt;</content><author><name>dmarsh</name><uri>http://srtsolutions.com/members/dmarsh.aspx</uri></author><category term="srtinsights" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx" /><category term="blogs" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/blogs/default.aspx" /></entry><entry><title>SRT Polyglotting Euler Problems</title><link rel="alternate" type="text/html" href="http://srtsolutions.com/blogs/srtinsights/archive/2008/04/08/srt-polyglotting-euler-problems.aspx" /><id>http://srtsolutions.com/blogs/srtinsights/archive/2008/04/08/srt-polyglotting-euler-problems.aspx</id><published>2008-04-08T19:15:00Z</published><updated>2008-04-08T19:15:00Z</updated><content type="html">I was first introduced to the term &lt;b&gt;&lt;i&gt;polyglot&lt;/i&gt;&lt;/b&gt; when I was in
high school.&amp;nbsp; Our French class did a presentation at a Foreign Language
Day.&amp;nbsp; I have this vague recollection that the theme of the day was
&amp;quot;Polyglots Have More Fun&amp;quot;. I&amp;#39;ve always liked the word, so I was
thrilled to see &lt;a href="http://memeagora.blogspot.com/2006/12/polyglot-programming.html"&gt;Neal
Ford using it&lt;/a&gt;.



&lt;p class="MsoNormal"&gt;In any case, &lt;a href="http://srtsolutions.com/blogs/billwagner"&gt;Bill Wagner&lt;/a&gt; started things
off at SRT by working the &lt;a href="http://projecteuler.net/"&gt;Project Euler&lt;/a&gt;
problems in C#/LINQ.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;a href="http://srtsolutions.com/blogs/marinafedner"&gt;Marina Fedner&lt;/a&gt; joined in,
addressing the problems in Ruby.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;a href="http://srtsolutions.com/blogs/darrellhawley"&gt;Darrell Hawley&lt;/a&gt; tackled
them with Python, and I (&lt;a href="http://srtsolutions.com/blogs/diannemarsh"&gt;Dianne
Marsh&lt;/a&gt;) jumped in with Scala.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This
article compares the solutions to Problem 1, in each of the languages.&lt;span&gt;&amp;nbsp; &lt;/span&gt;We don’t maintain that these are optimal
solutions, in any of these languages, and we’re happy to take and post feedback
containing better solutions.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://projecteuler.net/index.php?section=problems&amp;amp;id=1"&gt;Problem
1:&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we list all the natural numbers below 10 that are multiples of 3 or 5, we
get 3, 5, 6 and 9. The sum of these multiples is 23.&lt;/p&gt;

&lt;p&gt;Find the sum of all the multiples of 3 or 5 below 1000.&lt;/p&gt;

&lt;p&gt;Here are the SRT “solutions”, in alphabetical order.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;u&gt;C# 3.0/LINQ:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;var nums = from n in&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Generators.NumberSequence(0, 1000)&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;where ((n % 3 == 0) || (n % 5 == 0))&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;select n;&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;var answer = nums.Sum();&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;// note: Bill put this in a library for
future use&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;public static IEnumerable&amp;lt;int&amp;gt;
NumberSequence(int from, int to)&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;{&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;do&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;{&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;yield return from++;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;} while (from &amp;lt; to);&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;u&gt;Python:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;pre&gt;print sum([x for x in range(1,1000) if x%5==0 or x%3==0])&lt;/pre&gt;

&lt;p&gt;&lt;b&gt;&lt;u&gt;Ruby:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;pre&gt;answer = (0..999).select {&lt;span class="moz-txt-tag"&gt;|&lt;/span&gt;&lt;code&gt;a&lt;/code&gt;&lt;span class="moz-txt-tag"&gt;|&lt;/span&gt; a%3 ==0 || a%5==0}&lt;/pre&gt;&lt;pre&gt;puts answer.inject {&lt;span class="moz-txt-tag"&gt;|&lt;/span&gt;&lt;code&gt;sum, n&lt;/code&gt;&lt;span class="moz-txt-tag"&gt;|&lt;/span&gt; sum+n}&lt;/pre&gt;



&lt;p&gt;&lt;b&gt;&lt;u&gt;Scala:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;val
nums = 3 until 1000&lt;br /&gt;
&amp;nbsp;&amp;nbsp;val somenums = nums.filter(x =&amp;gt; (x % 3 == 0 || x % 5 ==0))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;var sum = 0&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;somenums.foreach(sum += _)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;println (sum)&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;The Ruby and Python implementations are really concise! I was left wondering
if Bill and I could have done better jobs in our respective languages.&lt;/p&gt;

&lt;p&gt;Without rethinking the approach, but just eliminating local variables, I was
able to get the Scala version down to a more respectable:&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sum = 0&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(1 to
1000).filter(x =&amp;gt; (x %3 == 0 || x % 5 ==0)).foreach( sum += _)&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;println (sum)&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Then, I looked at the C#.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The only
thing bloating the C# implementation is the missing “Range” function, which
Bill rightly put into a library for later use as NumberSequence.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The comments in his blog for Problem 1 noted
a built-in function&lt;/p&gt;

&lt;p&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;Enumerable.Range(0,
1000)&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;that could be used to simplify the code and obviate the need for that
function.&lt;span&gt;&amp;nbsp; &lt;/span&gt;So, the C# code refactored to:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;var nums = from n in&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Enumerable.Range(0, 1000)&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;where ((n % 3 == 0) || (n % 5 == 0))&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;select n;&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;code&gt;&lt;span style="font-size:10pt;"&gt;var answer = nums.Sum();&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So there you have it: 4 implementations, fairly similar in their approach
but using different syntax, to Problem 1.&lt;span&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;If you wish, add a comment to this blog indicating which you prefer, and
why!&lt;span&gt;&amp;nbsp; &lt;/span&gt;And, perhaps also indicate if your
preferred implementation is in your typical programming language or if you like
what you see in another, better.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=2701" width="1" height="1"&gt;</content><author><name>dmarsh</name><uri>http://srtsolutions.com/members/dmarsh.aspx</uri></author><category term="Ruby" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/Ruby/default.aspx" /><category term="srtinsights" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx" /><category term="Euler" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/Euler/default.aspx" /><category term="Python" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/Python/default.aspx" /><category term="C#" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/C_2300_/default.aspx" /><category term="scala" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/scala/default.aspx" /></entry><entry><title>CodeMash v.2.0.0.8</title><link rel="alternate" type="text/html" href="http://srtsolutions.com/blogs/srtinsights/archive/2008/01/14/codemash-v-2-0-0-8.aspx" /><id>http://srtsolutions.com/blogs/srtinsights/archive/2008/01/14/codemash-v-2-0-0-8.aspx</id><published>2008-01-15T04:04:00Z</published><updated>2008-01-15T04:04:00Z</updated><content type="html">&lt;p&gt;CodeMash is a conference held in Sandusky, OH.&amp;nbsp; It attracts developers mainly from Ohio and Michigan, but also some from surrounding states.&amp;nbsp; This year, at least one person came from each of the states of Nebraska, South Dakota, Georgia, California, Virginia, and Washington.&amp;nbsp; The talks were great and the conference experienced about a 40% growth over last year&amp;#39;s inaugural event.&lt;/p&gt;&lt;p&gt;Sponsors and great speakers are the key to the success of CodeMash, and the conference has been fortunate enough to attract both.&amp;nbsp; This year&amp;#39;s sponsors included big companies like Amazon,IBM, Sun, and Microsoft, regional companies like Pillar, TechSmith, HMB, Quick Solutions, and Stout Systems.&amp;nbsp; And, we at SRT Solutions sponsored as well as helping to organize the conference.&lt;/p&gt;&lt;p&gt;The conference, organized completely by volunteers (all of whom are developers) attracted industry luminaries such as Brian Goetz, Neal Ford, Scott Hanselman, and Bruce Eckel.&amp;nbsp; Some speakers traveled to the conference, including Dick Wall (Google, Java Posse), James Ward (Flex), and Andrew Glover (Groovy).&amp;nbsp; Well known local speakers included Bill Wagner (C#), Brian Sam-Bodden (Java) and Kevin Dangoor (DoJo) .. and many others.&amp;nbsp; It was truly a great conference, and we&amp;#39;re already looking forward to next year&amp;#39;s event.&lt;/p&gt;&lt;p&gt;CodeMash Families was introduced this year.&amp;nbsp; This was organized by the spouse of one of the attendees, as a result of recognizing that many families attended last year but didn&amp;#39;t discover one another until well into the conference.&amp;nbsp; Organized activities for families included group dinners and story time.&lt;/p&gt;&lt;p&gt;KidzMash took on a life of its own.&amp;nbsp; Just before the conference started, discussions centered around who was bringing kids.&amp;nbsp; A few people volunteered to lead some &amp;quot;kid geek&amp;quot; activities, to show our kids what it is that we do, as computer scientists.&amp;nbsp; One demonstration (thank you Arnulfo Wing!) included showing kids how to program in the Kids Programming Language (KPL).&amp;nbsp; It was truly amazing to see young kids (ages 4-8 or so) intently listening and participating!&amp;nbsp; The other demonstration was a Lego Robotics demo by Duane Collicott (thanks Duane!).&amp;nbsp; The parents seemed to enjoy it as much as the kids!&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;And yes, the conference was held at a water park: the Kalahari Resort.&amp;nbsp; It&amp;#39;s a great venue for a conference and lends itself well to the family-friendly atmosphere that the CodeMash conference organizers are promoting, by including CodeMash Families and KidzMash.&lt;br /&gt;&lt;/p&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=1944" width="1" height="1"&gt;</content><author><name>dmarsh</name><uri>http://srtsolutions.com/members/dmarsh.aspx</uri></author><category term="CodeMash" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/CodeMash/default.aspx" /><category term="srtinsights" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx" /></entry><entry><title>Ann Arbor Area User Group Listing</title><link rel="alternate" type="text/html" href="http://srtsolutions.com/blogs/srtinsights/archive/2007/11/15/ann-arbor-area-user-group-listing.aspx" /><id>http://srtsolutions.com/blogs/srtinsights/archive/2007/11/15/ann-arbor-area-user-group-listing.aspx</id><published>2007-11-15T15:24:00Z</published><updated>2007-11-15T15:24:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;&lt;span style="font-size:14pt;"&gt;Ann
  Arbor&lt;/span&gt;&lt;span style="font-size:14pt;"&gt; Area User
Groups&lt;/span&gt;&lt;/h1&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;SRT
Solutions strongly supports the local user groups.&lt;span&gt;&amp;nbsp; &lt;/span&gt;We believe that enabling developers to
connect with one another and be exposed to different technologies provides a
navigable path through a field where technology changes very quickly.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This is good for our employees as well as for
the community in general.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The following
is a description of some of the area user groups (there are more!).&lt;span&gt;&amp;nbsp; &lt;/span&gt;All of these meetings are free and open to
the public.&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style="font-size:12pt;"&gt;Ann
  Arbor&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; Computer
Society&lt;/span&gt;&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;The Ann Arbor Computer Society (&lt;a href="http://www.computersociety.org"&gt;http://www.computersociety.org&lt;/a&gt;) was
started in 1993 by a group of developers interested in keeping the community
vibrant.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The meeting topics are not
specific to any technology.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The AACS
meets at &lt;b&gt;SRT Solutions&lt;/b&gt; on the first
Wednesday of the month at 6:00 pm.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Pizza
is provided.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;The
next AACS meeting is on &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;December 5th, when Kevin DuBois
will be presenting on the latest release of Ubuntu Linux: what is new, what is
old and general linux desktop things.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style="font-size:12pt;"&gt;Ann Arbor .NET Developers Group&lt;/span&gt;&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;The Ann Arbor
.NET Developer Group (&lt;a href="http://www.aadnd.org/"&gt;http://www.aadnd.org&lt;/a&gt;) was organized
in 2006 for developers to get together and discuss .NET-related topics.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Previously, people went to Northwest Ohio or Southfield for meetings, and Ann Arbor provided a location in
between.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The AADND group meets at &lt;b&gt;SRT Solutions&lt;/b&gt; on the second Wednesday
of the month at 6 pm.&lt;span&gt;&amp;nbsp; &lt;/span&gt;An introductory
level presentation kicks off the meeting, then pizza is served, followed by a
more in-depth presentation.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;The
next AADND meeting is on December 12, when Aydin Akcasu will discuss Wii remote
programming.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style="font-size:12pt;"&gt;Ann Arbor Java User Group&lt;/span&gt;&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;The Ann Arbor Java User Group (&lt;a href="http://www.aajug.org"&gt;http://www.aajug.org&lt;/a&gt;) is one of the
Top 20 JUGS in the US,
by size.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Meeting size has been fairly
small in recent years, but there is a concerted effort to harness the size of
the group to build that back up again.&lt;span&gt;&amp;nbsp;
&lt;/span&gt;Several talks in 2007 brought in large groups of people.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The AAJUG meets at &lt;b&gt;Washtenaw&lt;/b&gt;&lt;b&gt; Community
  College&lt;/b&gt;&lt;b&gt;.&lt;/b&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;They are moving their meeting date around to
try to avoid conflicts with other meetings, so the best source for information
is on their website.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;The
next AAJUG meeting is on November 27 at Zattoo (www.zattoo.com), where food and
beverages will be served.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The meeting
will start at 6:00 pm.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:center;" align="center"&gt;&lt;i&gt;&lt;span style="font-family:Tahoma;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style="font-size:12pt;"&gt;Michigan Python Users Group&lt;/span&gt;&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;The Michigan Python User Group (&lt;a href="http://groups.google.com/michipug"&gt;http://groups.google.com/michipug&lt;/a&gt;)
is a small, dedicated group of developers that enjoy talking about the Python
programming language.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Python, a
dynamically yet strongly typed language, is interpreted.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Its strength lies in its readability and the
many packages (libraries) that are available for it.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The MichiPUG group meets at the &lt;b&gt;SRT Solutions&lt;/b&gt; on the first Thursday of
each month at 7:00 pm.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;The
next MichiPUG meeting is on December 6th.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style="font-size:12pt;"&gt;Ruby User Group&lt;/span&gt;&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;The Southeast Michigan Ruby User Group (&lt;a href="http://wiki.rubymi.org"&gt;http://wiki.rubymi.org&lt;/a&gt;) is
for enthusiasts of the Ruby language who live in Southeastern
 Michigan.&lt;span&gt;&amp;nbsp; &lt;/span&gt;In addition to
the presentation, each meeting includes a User Group challenge.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The Ruby User Group meets at the University of Michigan North Campus, 1200 EECS on the
first Monday of the month at 7:00 pm.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size:10pt;font-family:Tahoma;"&gt;The
next Ruby User Group meeting is on December 3.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=1558" width="1" height="1"&gt;</content><author><name>dmarsh</name><uri>http://srtsolutions.com/members/dmarsh.aspx</uri></author><category term="C#. Python" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/C_23002E00_+Python/default.aspx" /><category term="Ann Arbor" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/Ann+Arbor/default.aspx" /><category term="Java" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/Java/default.aspx" /><category term="user groups" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/user+groups/default.aspx" /><category term="Ruby" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/Ruby/default.aspx" /><category term=".NET" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/.NET/default.aspx" /><category term="srtinsights" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx" /></entry><entry><title>Coming soon.</title><link rel="alternate" type="text/html" href="http://srtsolutions.com/blogs/srtinsights/archive/2007/10/23/coming-soon.aspx" /><id>http://srtsolutions.com/blogs/srtinsights/archive/2007/10/23/coming-soon.aspx</id><published>2007-10-23T17:30:00Z</published><updated>2007-10-23T17:30:00Z</updated><content type="html">&lt;p&gt;Join us for a discussion of software topics&lt;/p&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=1449" width="1" height="1"&gt;</content><author><name>wwagner</name><uri>http://srtsolutions.com/members/wwagner.aspx</uri></author><category term="srtinsights" scheme="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx" /></entry></feed>