<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://srtsolutions.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SRT Insights</title><link>http://srtsolutions.com/blogs/srtinsights/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>How a Forward-thinking Mentor Can Help Guide Your Career</title><link>http://srtsolutions.com/blogs/srtinsights/archive/2008/09/25/how-a-forward-thinking-mentor-can-help-guide-your-career.aspx</link><pubDate>Fri, 26 Sep 2008 01:43:00 GMT</pubDate><guid isPermaLink="false">727bb5a1-3d8b-4cbc-a411-ac1a71136f7d:4638</guid><dc:creator>dmarsh</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://srtsolutions.com/blogs/srtinsights/rsscomments.aspx?PostID=4638</wfw:commentRss><comments>http://srtsolutions.com/blogs/srtinsights/archive/2008/09/25/how-a-forward-thinking-mentor-can-help-guide-your-career.aspx#comments</comments><description>&lt;p&gt;In our last colurm, we wrote about how technical mentors can benefit companies&lt;br /&gt;(&lt;a href="http://srtsolutions.com/content/AABRMay08.pdf"&gt;Ann Arbor Business Review, May 22, 2008&lt;/a&gt;). In this installment, we&amp;#39;re going to talk&lt;br /&gt;about finding a mentor, and how you can work with a mentor to help guide your career.&lt;br /&gt;We&amp;#39;ll also talk about how employers can participate in this process, to benefit&lt;br /&gt;their ernployees and likely improve staff retention rates. &lt;/p&gt;&lt;p&gt;&lt;a href="http://srtsolutions.com/content/srtjuly3BR.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. This is an article that Dianne wrote. The Business Review content is not available online, so we have permission to post the scanned pdf. &lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=4638" width="1" height="1"&gt;</description><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx">srtinsights</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/mentor/default.aspx">mentor</category></item><item><title>Using Technical Mentors Well Helps Business</title><link>http://srtsolutions.com/blogs/srtinsights/archive/2008/09/17/using-technical-mentors-well-helps-business.aspx</link><pubDate>Wed, 17 Sep 2008 19:35:00 GMT</pubDate><guid isPermaLink="false">727bb5a1-3d8b-4cbc-a411-ac1a71136f7d:4584</guid><dc:creator>dmarsh</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://srtsolutions.com/blogs/srtinsights/rsscomments.aspx?PostID=4584</wfw:commentRss><comments>http://srtsolutions.com/blogs/srtinsights/archive/2008/09/17/using-technical-mentors-well-helps-business.aspx#comments</comments><description>&lt;p&gt;When most people talk about mentoring, they are talking
about someone that they can contact with personal or professional questions
about “soft skills,” the business acumen that you develop over time. That sort of a mentor can be invaluable, but
in this article, we’re going to focus on “technical skills” mentoring, the
guidance that you need to move from yourself or your team from apprentice to
journeyman to craftsman, and also over time, from expert in one set of skills
to expert in another ...

&lt;/p&gt;&lt;p&gt;&lt;a href="http://srtsolutions.com/content/AABRMay08.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. This is an article that Dianne wrote. The Business
Review content is not available online, so we have permission to post
the scanned pdf.
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=4584" width="1" height="1"&gt;</description><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx">srtinsights</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/mentor/default.aspx">mentor</category></item><item><title>Leader or Follower: How is Your Business Perceived?</title><link>http://srtsolutions.com/blogs/srtinsights/archive/2008/09/06/leader-or-follower-how-is-your-business-perceived.aspx</link><pubDate>Sun, 07 Sep 2008 01:37:00 GMT</pubDate><guid isPermaLink="false">727bb5a1-3d8b-4cbc-a411-ac1a71136f7d:4526</guid><dc:creator>dmarsh</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://srtsolutions.com/blogs/srtinsights/rsscomments.aspx?PostID=4526</wfw:commentRss><comments>http://srtsolutions.com/blogs/srtinsights/archive/2008/09/06/leader-or-follower-how-is-your-business-perceived.aspx#comments</comments><description>&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;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=4526" width="1" height="1"&gt;</description><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx">srtinsights</category></item><item><title>Ann Arbor Give Camp Developers: Half a Million Dollars to Charities</title><link>http://srtsolutions.com/blogs/srtinsights/archive/2008/07/15/ann-arbor-give-camp-developers-half-a-million-dollars-to-charities.aspx</link><pubDate>Wed, 16 Jul 2008 02:55:00 GMT</pubDate><guid isPermaLink="false">727bb5a1-3d8b-4cbc-a411-ac1a71136f7d:3889</guid><dc:creator>dmarsh</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://srtsolutions.com/blogs/srtinsights/rsscomments.aspx?PostID=3889</wfw:commentRss><comments>http://srtsolutions.com/blogs/srtinsights/archive/2008/07/15/ann-arbor-give-camp-developers-half-a-million-dollars-to-charities.aspx#comments</comments><description>&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;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=3889" width="1" height="1"&gt;</description><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx">srtinsights</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/Ann+Arbor+events/default.aspx">Ann Arbor events</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/GiveCamp/default.aspx">GiveCamp</category></item><item><title>More Bloggers to Appear on SRT Home Page</title><link>http://srtsolutions.com/blogs/srtinsights/archive/2008/06/12/more-bloggers-to-appear-on-srt-home-page.aspx</link><pubDate>Fri, 13 Jun 2008 02:14:00 GMT</pubDate><guid isPermaLink="false">727bb5a1-3d8b-4cbc-a411-ac1a71136f7d:3519</guid><dc:creator>dmarsh</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://srtsolutions.com/blogs/srtinsights/rsscomments.aspx?PostID=3519</wfw:commentRss><comments>http://srtsolutions.com/blogs/srtinsights/archive/2008/06/12/more-bloggers-to-appear-on-srt-home-page.aspx#comments</comments><description>&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;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=3519" width="1" height="1"&gt;</description><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx">srtinsights</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/blogs/default.aspx">blogs</category></item><item><title>SRT Polyglotting Euler Problems</title><link>http://srtsolutions.com/blogs/srtinsights/archive/2008/04/08/srt-polyglotting-euler-problems.aspx</link><pubDate>Tue, 08 Apr 2008 19:15:00 GMT</pubDate><guid isPermaLink="false">727bb5a1-3d8b-4cbc-a411-ac1a71136f7d:2701</guid><dc:creator>dmarsh</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://srtsolutions.com/blogs/srtinsights/rsscomments.aspx?PostID=2701</wfw:commentRss><comments>http://srtsolutions.com/blogs/srtinsights/archive/2008/04/08/srt-polyglotting-euler-problems.aspx#comments</comments><description>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;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=2701" width="1" height="1"&gt;</description><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/Ruby/default.aspx">Ruby</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx">srtinsights</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/Euler/default.aspx">Euler</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/Python/default.aspx">Python</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/scala/default.aspx">scala</category></item><item><title>CodeMash v.2.0.0.8</title><link>http://srtsolutions.com/blogs/srtinsights/archive/2008/01/14/codemash-v-2-0-0-8.aspx</link><pubDate>Tue, 15 Jan 2008 04:04:00 GMT</pubDate><guid isPermaLink="false">727bb5a1-3d8b-4cbc-a411-ac1a71136f7d:1944</guid><dc:creator>dmarsh</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://srtsolutions.com/blogs/srtinsights/rsscomments.aspx?PostID=1944</wfw:commentRss><comments>http://srtsolutions.com/blogs/srtinsights/archive/2008/01/14/codemash-v-2-0-0-8.aspx#comments</comments><description>&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;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=1944" width="1" height="1"&gt;</description><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/CodeMash/default.aspx">CodeMash</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx">srtinsights</category></item><item><title>Ann Arbor Area User Group Listing</title><link>http://srtsolutions.com/blogs/srtinsights/archive/2007/11/15/ann-arbor-area-user-group-listing.aspx</link><pubDate>Thu, 15 Nov 2007 15:24:00 GMT</pubDate><guid isPermaLink="false">727bb5a1-3d8b-4cbc-a411-ac1a71136f7d:1558</guid><dc:creator>dmarsh</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://srtsolutions.com/blogs/srtinsights/rsscomments.aspx?PostID=1558</wfw:commentRss><comments>http://srtsolutions.com/blogs/srtinsights/archive/2007/11/15/ann-arbor-area-user-group-listing.aspx#comments</comments><description>&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;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=1558" width="1" height="1"&gt;</description><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/C_2300_.+Python/default.aspx">C#. Python</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/Ann+Arbor/default.aspx">Ann Arbor</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/Java/default.aspx">Java</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/user+groups/default.aspx">user groups</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/Ruby/default.aspx">Ruby</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/.NET/default.aspx">.NET</category><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx">srtinsights</category></item><item><title>Coming soon.</title><link>http://srtsolutions.com/blogs/srtinsights/archive/2007/10/23/coming-soon.aspx</link><pubDate>Tue, 23 Oct 2007 17:30:00 GMT</pubDate><guid isPermaLink="false">727bb5a1-3d8b-4cbc-a411-ac1a71136f7d:1449</guid><dc:creator>wwagner</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://srtsolutions.com/blogs/srtinsights/rsscomments.aspx?PostID=1449</wfw:commentRss><comments>http://srtsolutions.com/blogs/srtinsights/archive/2007/10/23/coming-soon.aspx#comments</comments><description>&lt;p&gt;Join us for a discussion of software topics&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://srtsolutions.com/aggbug.aspx?PostID=1449" width="1" height="1"&gt;</description><category domain="http://srtsolutions.com/blogs/srtinsights/archive/tags/srtinsights/default.aspx">srtinsights</category></item></channel></rss>