<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Dave Landers</title>
	<atom:link href="http://dave.srednal.com/feed" rel="self" type="application/rss+xml" />
	<link>http://dave.srednal.com</link>
	<description>Dave's thoughts (such as they are)</description>
	<pubDate>Tue, 20 Jan 2009 19:42:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<item>
		<title>Winter Festival</title>
		<link>http://dave.srednal.com/archives/64</link>
		<comments>http://dave.srednal.com/archives/64#comments</comments>
		<pubDate>Tue, 20 Jan 2009 19:07:14 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Cooking]]></category>

		<category><![CDATA[Scouting]]></category>

		<guid isPermaLink="false">http://dave.srednal.com/archives/64</guid>
		<description><![CDATA[Our Order of the Arrow lodge had its annual Winter Festival weekend and banquet this past weekend.  I was head cook, and we prepared 5 meals for about 100 people (mostly hungry teenaged boys).  It was a success, and the cook crew had loads of fun.
While we were in the kitchen, everyone else [...]]]></description>
			<content:encoded><![CDATA[<p>Our Order of the Arrow lodge had its annual Winter Festival weekend and banquet this past weekend.  I was head cook, and we prepared 5 meals for about 100 people (mostly hungry teenaged boys).  It was a success, and the cook crew had loads of fun.</p>
<p>While we were in the kitchen, everyone else spent the morning in training classes, and the afternoon doing various activities (bowling and tours of local attractions).</p>
<p>At the banquet, we had a great speaker, a lot of recognitions and awards were handed out, and there were a couple of  ceremonies.</p>
<p>One of the highlights is always the annual callout for <a title="Vigil Honor" href="http://www.oa-bsa.org/misc/anr/vigilhonor.htm">Vigil Honor</a>.  Our lodge was allowed 9 candidates this year.  I was so proud that my oldest son Paul was selected.  I was still processing that pride when I realized that the next bio they were reading was mine!  Quite an honor (and now a responsibility, for you are selected not so much for what you have done as for what is expected of you in the future).  It is going to be great that Paul and I will do our Vigil together (the Vigil weekend is in May).</p>
<p>I also was encouraged to log my hours for the <a href="http://www.presidentialserviceawards.gov">President&#8217;s Volunteer Service Award</a>, which I have just finished doing.  I found that I have qualified for the Gold level award for 2008.  Neat!</p>
]]></content:encoded>
			<wfw:commentRss>http://dave.srednal.com/archives/64/feed</wfw:commentRss>
		</item>
		<item>
		<title>XC Ski Overnight Outing</title>
		<link>http://dave.srednal.com/archives/63</link>
		<comments>http://dave.srednal.com/archives/63#comments</comments>
		<pubDate>Fri, 09 Jan 2009 02:15:38 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://dave.srednal.com/archives/63</guid>
		<description><![CDATA[I just got back from a fun overnight with my son Paul and his friend Nick.  Around Christmas, Paul decided we needed to do a &#8220;Cross Country Ski / Backpacking&#8221; overnighter.  We had planned to go last week while I was on vacation, but we decided to wait due to our colds.  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dave.srednal.com/blog/wp-content/uploads/2009/01/xc-skibp-trip.png" onclick="window.open('http://dave.srednal.com/blog/wp-content/uploads/2009/01/xc-skibp-trip.png','popup','width=1055,height=751,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0');return false"><img src="http://dave.srednal.com/blog/wp-content/uploads/2009/01/xc-skibp-trip-tm.jpg" height="100" width="140" border="1" hspace="4" vspace="4" alt="Trip Map" title="Trip Map" /></a>I just got back from a fun overnight with my son Paul and his friend Nick.  Around Christmas, Paul decided we needed to do a &#8220;Cross Country Ski / Backpacking&#8221; overnighter.  We had planned to go last week while I was on vacation, but we decided to wait due to our colds.  So I took off a couple extra days from work and we headed out yesterday.</p>
<p>We decided to hit the Sourdough trail - an area we are familiar with (at least in the Summer). The forecast called for high winds along the Front Range, and snow in the mountains.  I figured, due to the area where we were going, that we&#8217;d have one, both, or neither :).</p>
<p>We get to the trailhead, and it snowing lightly and somewhat windy.  By &#8220;somewhat  windy&#8221;, I mean that my estimate at the time was 60 MPH or more.  That was confirmed today as I checked the Niwot Ridge data (a set of CU weather research stations).  Their  <a href="http://culter.colorado.edu/exec/metpage/sdlmetpage_2.cgi">Saddle Sit</a><span style="color:#1a1aff;text-decoration:underline;">e</span> is the closet to where we camped (about 1.5 miles south), and it showed average wind speeds at around 50 MPH, and gusts in the 60-70 MPH range.  One of their other stations registered a peak gust of around 106 MPH that morning.<br />
<a href="http://dave.srednal.com/blog/wp-content/uploads/2009/01/wind.png" onclick="window.open('http://dave.srednal.com/blog/wp-content/uploads/2009/01/wind.png','popup','width=513,height=516,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0');return false"><img src="http://dave.srednal.com/blog/wp-content/uploads/2009/01/wind-tm.jpg" height="100" width="100" border="1" hspace="4" vspace="4" alt="Wind" /></a><br />
Fortunately, once we were off the road and in the forrest, we didn&#8217;t experience much of the wind.</p>
<p>For the first mile of the trail, the snow was pretty poor - we walked about as much as we skied  But south of the Beaver Bog TH the snow was pretty decent.</p>
<p>We made it to the junction of the Wapiti/Baptiste Ski Trails, (about another mile) and decided the location would be a good spot to make camp - the area seemed to be reasonably sheltered from the wind, and there was a good place where we could camp without worrying about snags or widow makers.</p>
<p>We set up camp and built a fire, intending to do a bit more skiing (without the backpacks) but it didn&#8217;t happen.  Just a quiet afternoon and evening around the fire.</p>
<p>The trip back this morning was nice - more downhill than the trip in.  Downhill is obviously easier, but  for us novice cross-country skiers carrying backpacks it also proved to be occasionally exciting.  But no one was injured, and we had a great time.</p>
<p>I hope to do things like this more often, it was fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://dave.srednal.com/archives/63/feed</wfw:commentRss>
		</item>
		<item>
		<title>Colorado Software Summit wrapup</title>
		<link>http://dave.srednal.com/archives/58</link>
		<comments>http://dave.srednal.com/archives/58#comments</comments>
		<pubDate>Fri, 24 Oct 2008 14:42:16 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://dave.srednal.com/archives/58</guid>
		<description><![CDATA[It has been a great week - I&#8217;ve now got a lot of things to dig into more. There were things I learned directly from the sessions, and other stuff that I picked up outside the sessions themselves.
I need to try out Virtual Box to host Linux on my Mac.
I want to look at World [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a great week - I&#8217;ve now got a lot of things to dig into more. There were things I learned directly from the sessions, and other stuff that I picked up outside the sessions themselves.</p>
<p>I need to try out <a href="http://www.virtualbox.org/">Virtual Box</a> to host Linux on my Mac.</p>
<p>I want to look at <a href="http://www.worldcommunitygrid.org/index.jsp">World Community Grid</a> and maybe contribute to something useful rather than my iPhoto screensaver.</p>
<p>I wish I could find an excuse to build an iPhone application - there were <a href="http://www.softwaresummit.com/2008/speakers/harrington.htm">several</a> <a href="http://www.softwaresummit.com/2008/speakers/dudney.htm">good</a> iPhone development sessions this week. Looks like fun.</p>
<p>I have this proxy application that I wrote and have re-written several times to investigate various technologies.  I have a MINA version, and so was interested in the <a href="http://www.softwaresummit.com/2008/speakers/pritchett.htm">MINA talk</a> this week.  After that talk, I think I will now have to re-write it again to wire up the MINA filters and handlers using <a href="http://www.softwaresummit.com/2008/speakers/raible.htm">Spring</a>.</p>
<p>I need to play more with <a href="http://www.softwaresummit.com/2008/speakers/marx.htm">JMX</a> to understand how to use it for configuring and monitoring. Maybe I&#8217;ll do this as part of that same MINA/Spring update.</p>
<p><a href="http://www.softwaresummit.com/2008/speakers/phipps.htm">Simon Phipps</a>, talking about standards, asserted that standards should be about <em>Substitutability</em> not <em>Interoperability</em>.  That is, if we concentrate on building a standard that lets us Substitute one thing for another we will have a more useful standard than when we focus on interop.  I&#8217;m going to have to think about that one.</p>
<p>And on Monday morning, I plan to clear the whiteboard and grab the slides and my notes from <a href="http://www.softwaresummit.com/2008/speakers/allamaraju.htm">Subbu&#8217;s REST</a> talks - because I have a RESTful service API to build.</p>
<p>What a great week.  I am educated, informed, inspired, reconnected &#8230; and tired.<br />
<!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/colorado software summit" rel="tag">colorado software summit</a>, <a href="http://www.technorati.com/tag/conference" rel="tag">conference</a>, <a href="http://www.technorati.com/tag/softwaresummit" rel="tag">softwaresummit</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://dave.srednal.com/archives/58/feed</wfw:commentRss>
		</item>
		<item>
		<title>Collecting for dIon at Software Summit</title>
		<link>http://dave.srednal.com/archives/57</link>
		<comments>http://dave.srednal.com/archives/57#comments</comments>
		<pubDate>Thu, 23 Oct 2008 14:40:59 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://dave.srednal.com/archives/57</guid>
		<description><![CDATA[In past years, at the Colorado Software Summit, we have taken up a collection and given some sort of &#8220;surprise&#8221; gift to the organizers: Wayne and Peggy.
We&#8217;re going to do something different this year.  We recently lost one of our &#8220;family&#8221; - our dear friend dIon Gillard.  
This year&#8217;s collection will be sent [...]]]></description>
			<content:encoded><![CDATA[<p>In past years, at the Colorado Software Summit, we have taken up a collection and given some sort of &#8220;surprise&#8221; gift to the organizers: Wayne and Peggy.</p>
<p>We&#8217;re going to do something different this year.  We recently lost one of our &#8220;family&#8221; - our dear friend <a href="http://www.flickr.com/photos/diongillard/" title="dIon's fantastic photo stream">dIon Gillard</a>.  </p>
<p>This year&#8217;s collection will be sent to the  <a href="http://www.melanomafoundation.com.au/">Melanoma Foundation</a> (Austrailia) -  hopefully we make it less likely that we loose another friend to this awful disease.</p>
<p>If you are here at the conference, find me or <a href="http://www.ibm.com/developerworks/blogs/page/KRL" title="Kelvin Lawrence">Kelvin</a> and please make a donation.</p>
<p>Thanks.</p>
<p><!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/colorado software summit" rel="tag">colorado software summit</a>, <a href="http://www.technorati.com/tag/conference" rel="tag">conference</a>, <a href="http://www.technorati.com/tag/softwaresummit" rel="tag">softwaresummit</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://dave.srednal.com/archives/57/feed</wfw:commentRss>
		</item>
		<item>
		<title>Colorado Software Summit Day 2</title>
		<link>http://dave.srednal.com/archives/56</link>
		<comments>http://dave.srednal.com/archives/56#comments</comments>
		<pubDate>Wed, 22 Oct 2008 00:18:13 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://dave.srednal.com/archives/56</guid>
		<description><![CDATA[More good sessions today, but the best was from my friend Subbu, who talked on Pragmatic REST.
Subbu gave a really great overview of REST - what is it, and how do you do it.  This is especially going to help me as I am just starting a project to build a RESTful API for [...]]]></description>
			<content:encoded><![CDATA[<p>More good sessions today, but the best was from my friend <a href="http://subbu.org">Subbu</a>, who talked on <a href="http://www.softwaresummit.com/2008/speakers/allamaraju.htm">Pragmatic REST</a>.</p>
<p>Subbu gave a really great overview of REST - what is it, and how do you do it.  This is especially going to help me as I am just starting a project to build a RESTful API for WebLogic Portal, so I have this timely reminder to serve as a guide - <em>thanks, Subbu</em>!</p>
<p>If any of you are interested in REST, I suggest you check out his blog and his slides from this conference (they should end up on the conference web site eventually, or Subbu said he would post them to his blog soon).<br />
<!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/colorado software summit" rel="tag">colorado software summit</a>, <a href="http://www.technorati.com/tag/conference" rel="tag">conference</a>, <a href="http://www.technorati.com/tag/REST" rel="tag">REST</a>, <a href="http://www.technorati.com/tag/softwaresummit" rel="tag">softwaresummit</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://dave.srednal.com/archives/56/feed</wfw:commentRss>
		</item>
		<item>
		<title>Colorado Software Summit</title>
		<link>http://dave.srednal.com/archives/55</link>
		<comments>http://dave.srednal.com/archives/55#comments</comments>
		<pubDate>Tue, 21 Oct 2008 15:14:09 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://dave.srednal.com/archives/55</guid>
		<description><![CDATA[I enjoyed day one of Software Summit, now we&#8217;re on to day two.
Yesterday, I attended several sessions.  Highlights for me included Bryan Basham&#8217;s Becoming a JavaScript Wizard and Simon Roberts&#8217; What OO Doesn&#8217;t Address
I don&#8217;t actually do much JavaScript - I spend most of my time doing server-side stuff.  But last year I [...]]]></description>
			<content:encoded><![CDATA[<p>I enjoyed day one of <a href="http://www.softwaresummit.com/" title="Colorado Software Summit">Software Summit</a>, now we&#8217;re on to day two.</p>
<p>Yesterday, I attended several sessions.  Highlights for me included Bryan Basham&#8217;s <em><a href="http://www.softwaresummit.com/2008/speakers/basham.htm" title="Bryan's abstract">Becoming a JavaScript Wizard</a></em> and Simon Roberts&#8217; <em><a href="http://www.softwaresummit.com/2008/speakers/roberts.htm" title="Simon's abstract">What OO Doesn&#8217;t Address</a></em></p>
<p>I don&#8217;t actually do much JavaScript - I spend most of my time doing server-side stuff.  But last year I made a conscious decision to shed my decade-old prejudice against JavaScript, and found it to be a language with some interesting concepts and features.  It happens to have most exposure in a browser, but the Java Scripting API (and the inclusion of Rhino in JavaSE) now makes it a compelling option on the server.  Bryan spent some time talking about the language basics before diving into browser-based stuff (he mostly talked about prototype for this).</p>
<p>Simon&#8217;s talk surprised me - I almost skipped it.  I was going by the title, which doesn&#8217;t do anything to represent Simon&#8217;s entertaining and energetic presentation style.  The main take-away I got from this is that we &#8220;Software Architects&#8221; are (should be) mainly around to inject reality into the design.  That is, a pure OO domain model won&#8217;t necessarily consider things like security, performance, scalability, networks, usability, etc.  Satisfying these concerns requires insight, experience, and a high-level understanding of lots of conflicting issues.  And it often means backing down from an ivory-tower design purism.</p>
<p>We had some interesting weather come through in the afternoon - lightning, thunder, and rain.  Then it turned to a rain snow mix - some really huge flakes mixed in with the rain.  Very wet.  The temperature was I thin just a few degrees too warm or we&#8217;d had a great snow.</p>
<p>The sun is coming out this morning, and I&#8217;ve got some good looking talks on my schedule.  Should be another good day.<br />
<!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/colorado software summit" rel="tag">colorado software summit</a>, <a href="http://www.technorati.com/tag/conference" rel="tag">conference</a>, <a href="http://www.technorati.com/tag/softwaresummit" rel="tag">softwaresummit</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://dave.srednal.com/archives/55/feed</wfw:commentRss>
		</item>
		<item>
		<title>Colorado Software Summit - Day 1</title>
		<link>http://dave.srednal.com/archives/54</link>
		<comments>http://dave.srednal.com/archives/54#comments</comments>
		<pubDate>Mon, 20 Oct 2008 13:46:16 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://dave.srednal.com/archives/54</guid>
		<description><![CDATA[It&#8217;s now Monday morning at Keystone, and I&#8217;m looking forward to a good week of learning and catching up with old and new friends.
For those of you who are unable to be here this year, here is the annual obligatory picture of &#8220;the goods&#8221;.

The coolest thing this year is how they are distributing the conference [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s now Monday morning at Keystone, and I&#8217;m looking forward to a good week of learning and catching up with old and new friends.</p>
<p>For those of you who are unable to be here this year, here is the annual obligatory picture of &#8220;the goods&#8221;.</p>
<p><a href="http://dave.srednal.com/blog/wp-content/uploads/2008/10/dscn1891.jpg" onclick="window.open('http://dave.srednal.com/blog/wp-content/uploads/2008/10/dscn1891.jpg','popup','width=640,height=480,scrollbars=no,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=yes,left=0,top=0');return false"><img src="http://dave.srednal.com/blog/wp-content/uploads/2008/10/dscn1891-tm.jpg" height="100" width="133" border="1" hspace="4" vspace="4" alt="Software Summit Goodies" title="Software Summit Goodies" /></a><br />
The coolest thing this year is how they are distributing the conference session slides.  In the past it was in a big 3&#8243; 3-ring binder.  Last year, we got a CDROM.   This year, everyone got the slides on a 1.8Gb USB thumb drive.   Nice!<br />
<!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/colorado software summit" rel="tag">colorado software summit</a>, <a href="http://www.technorati.com/tag/conference" rel="tag">conference</a>, <a href="http://www.technorati.com/tag/softwaresummit" rel="tag">softwaresummit</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://dave.srednal.com/archives/54/feed</wfw:commentRss>
		</item>
		<item>
		<title>A twitter group bot for Colorado Software Summit</title>
		<link>http://dave.srednal.com/archives/51</link>
		<comments>http://dave.srednal.com/archives/51#comments</comments>
		<pubDate>Tue, 07 Oct 2008 17:24:45 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://dave.srednal.com/archives/51</guid>
		<description><![CDATA[I have created a twitter group and an associated pair of bots for use during this year&#8217;s Colorado Software Summit.
Listening to @swsmt

The twitter group is @swsmt.  If you use twitter, and want to follow tweets about the conference, then just follow @swsmt.
A few minutes later, you should also see @swsmt start following you.  [...]]]></description>
			<content:encoded><![CDATA[<p>I have created a <a href="http://twitter.com" title="Twitter">twitter</a> group and an associated pair of bots for use during this year&#8217;s <a href="http://www.softwaresummit.com/" title="Colorado Software Summit">Colorado Software Summit</a>.</p>
<p><strong>Listening to @swsmt<br />
</strong><br />
The twitter group is <a href="http://twitter.com/swsmt" title="Twitter - @swsmt">@swsmt</a>.  If you use twitter, and want to follow tweets about the conference, then just follow @swsmt.</p>
<p>A few minutes later, you should also see @swsmt start following you.  The main reason for this is to allow you to direct message the group.  If you remove @swsmt from your followers, it should also then quit following you.</p>
<p><strong>Tweeting to @swsmt<br />
</strong><br />
To tweet about the conference, or to send a message to everyone following @swsmt, you can do one of several things:</p>
<ul>
<li>Direct message the swsmt group (For example: D swsmt blah).</li>
<li>Reply to @swsmt, or otherwise mention @swsmt in a tweet.</li>
<li>Use the #swsmt hashtag in a tweet.</li>
<li>Mention &quot;SoftwareSummit&quot; (one word) in your tweet - this will also pick up anyone tweeting a link to softwaresummit.com</li>
</ul>
<p>When my bot sees any of the above, it will retweet them to the @swsmt account, so that everyone following the group will then see them.</p>
<p><strong>The bots<br />
</strong><br />
Twitter has a pretty decent <a href="http://apiwiki.twitter.com/" title="Twitter API">REST API</a>, and I also found a nifty ruby library (<a href="http://twitter.rubyforge.org/" title="Ruby API for Twitter">twitter</a>) wrapping that.  Throwing together a couple of scripts was pretty easy after that.</p>
<p><strong>Syncing friends<br />
</strong><br />
The first script I wrote syncs the group&#8217;s friends with followers.  Keeping these in sync lets the follow act kind of like a subscription to the group.</p>
<p>The script just grabs both the followers and friends lists, and adds/removes based on the diffs between them.</p>
<p>The script is:</p>
<pre class="code">#!/usr/bin/env ruby

# synchronize followers/followed
# we do this because followers (those who 'join this group') will see
# all the messages, but we need to make them our friend so they
# can direct message the group

# http://twitter.rubyforge.org/
# sudo gem install twitter
require 'rubygems'
require 'twitter'

group_name = 'swsmt'
passwd = 'XYZZY'   # not really :)

# Log in
group = Twitter::Base.new(group_name,passwd)

# TODO only returns 100
# when we get more than 100, this will probably stop working very well
friends = group.friends.collect{ |f| f.screen_name }
followers = group.followers.collect{ |f| f.screen_name }

# followers who are not the group's friend yet (add them)
followers.each do |f|
  unless friends.include? f then
    begin
      puts &quot;Adding friend (following) #{f}&quot;
      group.create_friendship f
    rescue
      puts &quot;Unable to add friend #{f}: #{$!}&quot;
    end
  end
end

# friends who no longer follow the group (remove them)
friends.each do |f|
  unless followers.include? f then
    begin
      puts &quot;Removing friend (following) #{f}&quot;
      group.destroy_friendship f
    rescue
      puts &quot;Unable to remove friend #{f}: #{$!}&quot;
    end
  end
end
</pre>
<p><strong>Retweeting script<br />
</strong><br />
The retweet script searches recent tweets for @swsmt, #swsmt, or softwaresummit, and retweets that to @swsmt.  It then grabs any recent direct messages, and retweets those.</p>
<p>Here&#8217;s that script:</p>
<pre class="code">#!/usr/bin/env ruby

# retweet messages to the @group
# we'll search for messages with a group hashtag #group or
# referencing the @group
# as well as some other keywords.
# also retweet any direct messages to the group
# run this via cron every couple of minutes to keep the group updated

# http://twitter.rubyforge.org/
# sudo gem install twitter
require 'rubygems'
require 'twitter'

group_name = 'swsmt'
passwd = 'XYZZY'   # not

# search for hashtags, group ref, or conference name
search_query = &quot;##{group_name} OR @#{group_name} OR SoftwareSummit&quot;

# Log in
group = Twitter::Base.new(group_name,passwd)

def retweet(group, from, text, id, lastid)
  retweet =  &quot;Via @#{from}: #{text}&quot;
  retweet = retweet[0,140] + '...' if retweet.length &gt; 159
  puts retweet
  begin
    group.post(retweet)
    id.to_i &gt; lastid.to_i ? id.to_i : lastid
  rescue
    puts &quot;Error retweeting: #{$!}&quot;
    lastid
  end
end
# Keep track of the last ids we retweeted
searchid_file = File.expand_path('~/.group_retweet.searchid')

last_searchid = nil
last_searchid = File.open(searchid_file){ |f| f.gets.to_i } if File.exists?(searchid_file)

begin
  # search for #group hashtag etc
  # TODO this will only return the 50 most recent - if there's too much traffic,
  #   we will drop some.
  Twitter::Search.new(search_query).since(last_searchid).per_page(50).sort {|a,b| a['id'] &lt;=&gt; b['id'] }.each do |m|
    # skip messages from the group itself (probably our last retweet)
    unless  m['from_user'] == group_name then
      last_searchid = retweet group, m['from_user'], m['text'], m['id'], last_searchid
    end
  end
ensure
  File.open(searchid_file, 'w'){ |f| f.puts last_searchid } unless last_searchid.nil?
end

directid_file = File.expand_path('~/.group_retweet.directid')
last_directid = nil
last_directid = File.open(directid_file){ |f| f.gets.to_i } if File.exists?(directid_file)

begin
  # now grab any new direct messages and retweet them
  # TODO this will only return the 20 most recent - if there's too much traffic,
  #    we will drop some
  group.direct_messages(:since_id=&gt;last_directid).sort {|a,b| a.id &lt;=&gt; b.id }.each do |m|
      last_directid = retweet group, m.sender_screen_name, m.text, m.id, last_directid
  end
ensure
   File.open(directid_file, 'w'){ |f| f.puts last_directid } unless last_directid.nil?
end
</pre>
<p>I&#8217;m running both of these via cron.  I just turned this on, so we&#8217;ll see how it goes.</p>
<p><!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/colorado software summit" rel="tag">colorado software summit</a>, <a href="http://www.technorati.com/tag/conference" rel="tag">conference</a>, <a href="http://www.technorati.com/tag/hashtag" rel="tag">hashtag</a>, <a href="http://www.technorati.com/tag/bot" rel="tag">bot</a>, <a href="http://www.technorati.com/tag/ruby" rel="tag">ruby</a>, <a href="http://www.technorati.com/tag/softwaresummit" rel="tag">softwaresummit</a>, <a href="http://www.technorati.com/tag/twitter" rel="tag">twitter</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://dave.srednal.com/archives/51/feed</wfw:commentRss>
		</item>
		<item>
		<title>Scheduling for Software Summit</title>
		<link>http://dave.srednal.com/archives/50</link>
		<comments>http://dave.srednal.com/archives/50#comments</comments>
		<pubDate>Mon, 06 Oct 2008 23:10:28 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://dave.srednal.com/archives/50</guid>
		<description><![CDATA[The 3-each-session scheduling at Colorado Software Summit pays off again.
I looked at the schedule, and picked (based on content) the sessions I pretty much want to see this year.  I ended up with 18.  There are only 20 time blocks.
But because of the way they do the scheduling, I was able to fit [...]]]></description>
			<content:encoded><![CDATA[<p>The 3-each-session scheduling at <a href="http://www.softwaresummit.com/" title="Colorado Software Summit">Colorado Software Summit</a> pays off again.</p>
<p>I looked at the <a href="http://www.softwaresummit.com/2008/spkrsched.htm" title="Colorado Software Summit Schedule">schedule</a>, and picked (based on content) the sessions I pretty much want to see this year.  I ended up with 18.  There are only 20 time blocks.</p>
<p>But because of the way they do the scheduling, I was able to fit in all 18 of my preferences into the 20 time slots.  Just try that at other conferences!</p>
<p>Here&#8217;s how I do my schedule, in case you care:</p>
<p>Since the <a href="webcal://softwaresummit.com/2008/css2008schedule.ics" title="Colorado Software Summit Schedule subscription">iCalendar</a> format schedule is now also available, I subscribed to that (I use Apple&#8217;s iCal).  Then, I created a new &#8220;myCSS&#8221; calendar and copied all the sessions I might go to (that&#8217;s 18 sessions at 3 times each).   Some of the time blocks only had one session I wanted, so I deleted all the other instances of that session.  That opened up yet more blocks.  Lather, rinse, repeat.  In the end I only had about 3 or 4 time slots to manually resolve.  It probably took me less than 10 minutes total (not counting reading all the session abstracts to choose the 18 in the first place).</p>
<p>Thanks, Wayne &#38; Peggy!<br />
<!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/colorado software summit" rel="tag">colorado software summit</a>, <a href="http://www.technorati.com/tag/conference" rel="tag">conference</a>, <a href="http://www.technorati.com/tag/java" rel="tag">java</a>, <a href="http://www.technorati.com/tag/softwaresummit" rel="tag">softwaresummit</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://dave.srednal.com/archives/50/feed</wfw:commentRss>
		</item>
		<item>
		<title>Colorado Software Summit - Detailed Schedule Posted</title>
		<link>http://dave.srednal.com/archives/49</link>
		<comments>http://dave.srednal.com/archives/49#comments</comments>
		<pubDate>Fri, 03 Oct 2008 17:05:56 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://dave.srednal.com/archives/49</guid>
		<description><![CDATA[The full, detailed, daily schedule for Colorado Software Summit has just been posted.
If you are not familiar with the conference, you should take a look.  One look at the full schedule and you will see that (like every year), they&#8217;ve got some world-class developers talking about some hot topics - REST, JavaScript, JSF, Linux, [...]]]></description>
			<content:encoded><![CDATA[<p>The full, detailed, daily schedule for <a href="http://www.softwaresummit.com/" title="Colorado Software Summit">Colorado Software Summit</a> has just been <a href="http://www.softwaresummit.com/2008/spkrsched.htm" title="Conference Schedule (by speaker)">posted</a>.</p>
<p>If you are not familiar with the conference, you should take a look.  One look at the full schedule and you will see that (like every year), they&#8217;ve got some world-class developers talking about some hot topics - REST, JavaScript, JSF, Linux, iPhone and Andriod development, scalability, Spring, and lots more.</p>
<p>In fact, this might just be the first conference to feature iPhone development since Apple has only this week lifted their NDA.</p>
<p>You should also note that, unlike a lot of other conferences, this one features every session three (3) times each.  That&#8217;s quite a load on the speakers (I speak here from personal experience), but is a boon for attendees (again, personal experience).  While there is much more content here than you can hope to take in during the week, the 3-times-each deal makes it pretty certain that you&#8217;ll be able to get to your top 10 or 15 sessions.</p>
<p>Some other things that make this conference different and better than the rest:</p>
<ul>
<li>When you check in, you will get a CD with every single slide for every single session.  So you can plan your schedule based on more than just the abstracts.</li>
<li>After you get home, you&#8217;ll receive a CD containing every single slide (again - since many speakers tweak things at the last minute), plus any example source code used in the sessions.</li>
<li>Every speaker is presenting two topics, so if you like one session, you might want to attend their other one.</li>
<li>This conference is a real community.  You will (if you so choose) be able to hang out, eat lunch, etc. with the speakers (and many other smart developers).  Networking, in-depth conversations, and lots of joking around are an integral part of Software Summit.  If you don&#8217;t leave having made a couple of new friends, you haven&#8217;t done it right.</li>
<li>The <a href="http://www.softwaresummit.com/2008/menus.htm" title="Conference Daily Menus">food</a> is absolutely fabulous.</li>
<li>The <a href="http://www.softwaresummit.com/2008/keystone.htm" title="Keystone Resort">venue</a> in the heart of Colorado&#8217;s Rocky mountains (at a major ski resort) is spectacular.</li>
</ul>
<p><!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/colorado software summit" rel="tag">colorado software summit</a>, <a href="http://www.technorati.com/tag/conference" rel="tag">conference</a>, <a href="http://www.technorati.com/tag/iPhone" rel="tag">iPhone</a>, <a href="http://www.technorati.com/tag/java" rel="tag">java</a>, <a href="http://www.technorati.com/tag/mac" rel="tag">mac</a>, <a href="http://www.technorati.com/tag/softwaresummit" rel="tag">softwaresummit</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://dave.srednal.com/archives/49/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
