<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Adam Haeder</title>
	<atom:link href="http://adamhaeder.com/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://adamhaeder.com/wordpress</link>
	<description>Your friendly neighborhood geek</description>
	<lastBuildDate>Tue, 01 Nov 2011 16:24:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>First Lego League volunteers needed</title>
		<link>http://adamhaeder.com/wordpress/2011/11/01/first-lego-league-volunteers-needed/</link>
		<comments>http://adamhaeder.com/wordpress/2011/11/01/first-lego-league-volunteers-needed/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 16:22:53 +0000</pubDate>
		<dc:creator>Adam Haeder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adamhaeder.com/wordpress/?p=38574</guid>
		<description><![CDATA[The First Lego League is a national program to get kids aged 9-14 interested in STEM (Science, Technology, Engineering and Math) through interaction with the LEGO Mindstorms robotics platform. The program was started 10 years ago by Dean Kamen (the &#8230;<p class="read-more"><a href="http://adamhaeder.com/wordpress/2011/11/01/first-lego-league-volunteers-needed/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<div>The First Lego League is a national program to get kids aged 9-14 interested in STEM (Science, Technology, Engineering and Math) through interaction with the LEGO Mindstorms robotics platform. The program was started 10 years ago by Dean Kamen (the inventor of the Segway) in partnership with LEGO. The program culminates with a yearly robotics competition, that has teams of up to 10 kids designing LEGO Mindstorms robots to autonomously interact with a LEGO-based &#8216;environment&#8217;, competing against other teams for the highest score in a points-based mission environment.</div>
<div>The Nebraska competition was started 5 years ago by the Boys and Girls Club, and has grown steadily. The 2011 competition this last February at the SAC Museum saw 50+ teams from NE, IA, MO and KS compete against the clock (and each other) for the chance to go on to the national competition.</div>
<div>I have been involved with the project from the beginning, sometimes as a judge, and sometimes as a referee. In the last few years, many of my colleagues at the AIM Institute have volunteered as well as referees.</div>
<div>Because of the increase in the number of teams interested in competing, the need for volunteers continues to grow. Two important factors have increased the need for more volunteers this year:</div>
<div>
<ul>
<li><span class="Apple-style-span" style="line-height: 19px;">Because of the large number of teams, there are now 3 qualifying tournaments leading up to the &#8216;final&#8217; tournament in February: Omaha (Dec 3), Lincoln (Dec 10) and Kearney (Jan 7). So they need volunteers (referees, judges, support staff) for all 4 tournaments. The final tournament is Feb 18, 2012.</span></li>
<li><span class="Apple-style-span" style="line-height: 19px;">I will not be able to act as head referee this year, because my wife and I are coaching a team (the Bellevue-Offutt Homeschool Group First Lego Lunatics)</span></li>
</ul>
</div>
<div>If this is something that interests you, your support would be greatly appreciated. Each tournament consists of a full Saturday. If you&#8217;re a referee, you&#8217;ll just need to understand the scoring of the different missions and score each round accordingly. If you&#8217;re a judge, you&#8217;ll be listening to presentations given by the teams and scoring them against a standard rubric. If you&#8217;re support staff, you&#8217;ll probably be doing a lot of directing of human traffic.</div>
<div>For more information and to sign up to volunteer, visit <a href="http://4hset.unl.edu/4hdrupal/node/638">http://4hset.unl.edu/4hdrupal/node/638</a> . If you have questions, please contact me and I&#8217;ll do my best to point you in the right direction. Thanks!</div>
<div><a href="http://usfirst.org/">http://usfirst.org/</a></div>
<div><a href="http://www.firstlegoleague.org/">http://www.firstlegoleague.org/</a></div>
<div><a href="http://www.youtube.com/user/FIRSTWorldTube">http://www.youtube.com/user/FIRSTWorldTube</a></div>
]]></content:encoded>
			<wfw:commentRss>http://adamhaeder.com/wordpress/2011/11/01/first-lego-league-volunteers-needed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress look and feel</title>
		<link>http://adamhaeder.com/wordpress/2011/08/09/wordpress-look-and-feel/</link>
		<comments>http://adamhaeder.com/wordpress/2011/08/09/wordpress-look-and-feel/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 17:43:19 +0000</pubDate>
		<dc:creator>Adam Haeder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adamhaeder.com/wordpress/?p=37041</guid>
		<description><![CDATA[Trying out a new theme here, went with a much more stripped-down, minimalist look. I&#8217;ve seen way too many websites lately that remind me too much of my 4 year olds (&#8220;Look at me! Look at meeeeeee!!&#8221;) and it&#8217;s getting &#8230;<p class="read-more"><a href="http://adamhaeder.com/wordpress/2011/08/09/wordpress-look-and-feel/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Trying out a new theme here, went with a much more stripped-down, minimalist look. I&#8217;ve seen way too many websites lately that remind me too much of my 4 year olds (&#8220;Look at me! Look at meeeeeee!!&#8221;) and it&#8217;s getting old quickly. </p>
]]></content:encoded>
			<wfw:commentRss>http://adamhaeder.com/wordpress/2011/08/09/wordpress-look-and-feel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Free Windows games for the long Thanksgiving Weekend</title>
		<link>http://adamhaeder.com/wordpress/2010/11/25/free-windows-games-for-the-long-thanksgiving-weekend/</link>
		<comments>http://adamhaeder.com/wordpress/2010/11/25/free-windows-games-for-the-long-thanksgiving-weekend/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 04:46:10 +0000</pubDate>
		<dc:creator>Adam Haeder</dc:creator>
				<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://adamhaeder.com/wordpress/?p=15116</guid>
		<description><![CDATA[As you relax from your turkey dinner this weekend, forgetting the boring football games and hating that it&#8217;s too cold to go outside, your thoughts turn to computer games. Sure, you&#8217;ve got your 360 or your Wii and all that, &#8230;<p class="read-more"><a href="http://adamhaeder.com/wordpress/2010/11/25/free-windows-games-for-the-long-thanksgiving-weekend/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>As you relax from your turkey dinner this weekend, forgetting the boring football games and hating that it&#8217;s too cold to go outside, your thoughts turn to computer games. Sure, you&#8217;ve got your 360 or your Wii and all that, but what about some good old PC gaming? Luckily, there are lots of options out there for gamers looking for something for nothing. And I&#8217;m not talking about flash game sites for 7 year olds. I&#8217;m talking about good old FPSes or MMOs. Here&#8217;s a non-exhaustive list of fun and free games for Windows.</p>
<p><a href="http://www.ijji.com/">http://www.ijji.com/</a> &#8211; Their game client &#8220;Reactor&#8221; is similar to <a href="http://store.steampowered.com/">Steam</a>, except that it&#8217;s basically a frontend to download their free games. They are:</p>
<ul>
<li><a href="http://genesis.ijji.com/">Genesis A.D</a> &#8211; Scifi FPS</li>
<li><a href="http://ava.ijji.com/">A.V.A</a> &#8211; MMO Shooter, World War II look and feel</li>
<li><a href="http://sfront.ijji.com/">Soldier Front </a>- another MMO Shooter</li>
<li><a href="http://karos.ijji.com/">Karos Online</a> &#8211; Fantasy MMORPG</li>
<li><a href="http://neosteam.ijji.com/">Neo Steam</a> &#8211; Steampunk MMORPG</li>
<li><a href="http://atlantica.ijji.com/">Atlantica</a> &#8211; Turn-based MMORPG</li>
<li><a href="http://sfighters.ijji.com/">Splash Fighters</a> &#8211; 3d Multiplayer fighting</li>
<li><a href="http://gunz.ijji.com/">GunZ</a> &#8211; 3rd person shooter</li>
<li><a href="http://lunia.ijji.com/">Lunia</a> &#8211; Arcade and RPG</li>
<li><a href="http://sun.ijji.com/">S.U.N</a></li>
<li><a href="http://karma.ijji.com/">Karma: Operation Barbarossa</a> &#8211; MMO Shooter</li>
<li><a href="http://holybeast.ijji.com/">HolyBeast Online</a> &#8211; Fantasy MMORPG</li>
<li><a href="http://luminary.ijji.com/">Luminary</a></li>
<li><a href="http://rohan.ijji.com/">R.O.H.A.N. &#8211; Blood Fued</a> &#8211; Fantasy MMORPG</li>
</ul>
<p><a href="http://www.perfectworld.com">http://perfectworld.com</a> &#8211; Another great collection of online games, mostly MMORPGs. We&#8217;ve only tried one so far:</p>
<ul>
<li><a href="http://boi.perfectworld.com/">Battle of the Immortals</a> &#8211; Reminds us a lot of <a href="http://www.titanquestgame.com/">Titan Quest</a>, but in MMO form</li>
</ul>
<p>They have many others too, so check them out.</p>
<p><a href="http://www.nexon.net/">http://nexon.net</a> &#8211; <a href="http://www.nexon.net/Downloads/GameClients.aspx">Another great collection of games</a>. Specifically <a href="http://vindictus.nexon.net/Support/Client.aspx">Vindictus</a>, which apparently a lot of people are leaving <a href="http://www.warcraft.com/">WoW</a> for.</p>
<p>And finally, you can now play <a href="http://www.lotro.com/free.php?">Lord of the Rings Online</a> for free.</p>
<p>So check out the links, start downloading, and have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://adamhaeder.com/wordpress/2010/11/25/free-windows-games-for-the-long-thanksgiving-weekend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wifi radio on the cheap</title>
		<link>http://adamhaeder.com/wordpress/2010/09/13/wifi-radio-on-the-cheap/</link>
		<comments>http://adamhaeder.com/wordpress/2010/09/13/wifi-radio-on-the-cheap/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 15:40:16 +0000</pubDate>
		<dc:creator>Adam Haeder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adamhaeder.com/wordpress/?p=10689</guid>
		<description><![CDATA[This is one of the coolest things I&#8217;ve seen in a long time &#8211; how to turn a &#60; $50 ASUS wifi router into a wifi radio]]></description>
			<content:encoded><![CDATA[<p>This is one of the coolest things I&#8217;ve seen in a long time &#8211; how to turn a &lt; $50 ASUS wifi router into a wifi radio</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/Bp26xFBwrJs&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/Bp26xFBwrJs&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://adamhaeder.com/wordpress/2010/09/13/wifi-radio-on-the-cheap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to add a daily digest email to Kunena forums (Joomla)</title>
		<link>http://adamhaeder.com/wordpress/2010/05/13/how-to-add-a-daily-digest-email-to-kunena-forums-joomla/</link>
		<comments>http://adamhaeder.com/wordpress/2010/05/13/how-to-add-a-daily-digest-email-to-kunena-forums-joomla/#comments</comments>
		<pubDate>Thu, 13 May 2010 19:04:14 +0000</pubDate>
		<dc:creator>Adam Haeder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[kunena]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://adamhaeder.com/wordpress/?p=1429</guid>
		<description><![CDATA[Kunena is a common freely available add-on for the Joomla content management system that gives you the ability to add a message board or forum to your joomla website, with moderation, threads, document uploads, and many other features. The only &#8230;<p class="read-more"><a href="http://adamhaeder.com/wordpress/2010/05/13/how-to-add-a-daily-digest-email-to-kunena-forums-joomla/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://kunena.com">Kunena</a> is a common freely available add-on for the <a href="http://joomla.org">Joomla</a> content management system that gives you the ability to add a message board or forum to your joomla website, with moderation, threads, document uploads, and many other features. The only main feature that seems to be missing is the ability to send all users a regular digest of postings made over a certain period of time. Daily digest functionality exists in other forum software, like Yahoo! Groups and others, and a number of people on the <a href="http://kunena.com/forum">Kunena message boards</a> have talked about wanting such a feature.</p>
<p>I recently helped a local user group migrate from a Yahoo! Groups page to their own website running Joomla for content management and Kunena for forum functionality. They really like the daily digest option Yahoo! offered, so I figured out a way to implement that in the Kunena forum software.</p>
<p>Disclaimer: I&#8217;m not a Joomla developer, and this solution has really nothing to do with Joomla. I&#8217;m a Linux systems administrator, so my preferred method of approaching this problem was to write a script that would query the database directly, finding the posts made in the last 24 hours, putting them in an html page, and then emailing that page to all the registered users. So this solution is not as simple as &#8216;install this joomla module&#8217;, or &#8216;check this configuration option&#8217;. But it does work very well.</p>
<p>First, I wanted to give the users the ability to opt-out of the email if they wished. Rather than modify one of the existing joomla tables to store this opt-out option, I created a new mysql table:</p>
<pre>mysql&gt; describe digest;

+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| username      | varchar(100) | NO   | PRI | NULL    |       |
| receivedigest | char(5)      | NO   |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
2 rows in set (0.25 sec)</pre>
<p>Here is the sql used to create this table:</p>
<pre class="brush:sql">CREATE TABLE `digest` (
`username` varchar(100) NOT NULL,
`receivedigest` char(5) NOT NULL,
PRIMARY KEY  (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1</pre>
<p>The thinking behind this is that everyone is going to get the digest by default. If they choose to opt-out, I will put their username in this table with a value of &#8216;no&#8217; for the receivedigest field. If they change their mind and want it again, I can either erase them from the table, or change the value to &#8216;yes&#8217;.</p>
<p>Now, you need to create the page that people will use to manage their preferences. I created a directory called &#8220;custom&#8221; underneath the main directory of my Joomla install to store custom php scripts that are called within Joomla. Here is the first, digest.php:</p>
<pre class="brush:php">&lt;html&gt;&lt;body&gt;
&lt;?php
global $my;
$username = "$my-&gt;username";
$dbusername="SQLUSER";
$password="SQLPASSWORD";
$database="SQLDATABASE";
$dbserver="SQLSERVER";
$dbtable="digest";

### / Initial mysql connection
mysql_connect($dbserver,$dbusername,$password) or die (" Can't connect");
@mysql_select_db($database) or die( "Unable to select database");

$query = "SELECT * FROM $dbtable where username = '$username';";
$query_result=mysql_query($query);
$query_num=mysql_numrows($query_result);
$i=0;
$result="yes";
while ($i &lt; $query_num)
{
 $result="";
 $result=mysql_result($query_result,$i,"receivedigest");
 $i++;
}

if ( $result == "yes" )
{
 $checked="checked";
}
else
{
 $checked="";
}

print "Hello $username!&lt;br&gt;&lt;br&gt;";
?&gt;

&lt;form name="digest" id="digest" action="custom/digest_submit.php" method="POST"&gt;
&lt;input type="hidden" name="username" value="&lt;?php print "$username" ?&gt;"&gt;
&lt;input &lt;? echo "$checked"; ?&gt; name="receive_digest" TYPE="CHECKBOX" VALUE="yes"&gt;Check this to receive the daily digest via email&lt;br&gt;
&lt;br&gt;&lt;input type="submit" value="Submit"/&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Once the user has made their decision, they submit the form which submits to this page:</p>
<pre class="brush:php">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;
&lt;html lang="en" xml:lang="en"&gt;
&lt;head&gt;
&lt;META HTTP-EQUIV=Refresh CONTENT="3; URL=http://website"&gt;
&lt;/head&gt;
&lt;?php
$dbusername="SQLUSER";
$password="SQLPASSWORD";
$database="SQLDATABASE";
$dbserver="SQLSERVER";
$dbtable="digest";

mysql_connect($dbserver,$dbusername,$password) or die ("Sorry! I couldn't connect to the database! Please try again later");
@mysql_select_db($database) or die( "Unable to select database");

# User submitted variables
$insert_date=date("Y-m-d H:i:s");
$count=1;

$username= mysql_real_escape_string($_POST["username"]);
$receive_digest= mysql_real_escape_string($_POST["receive_digest"]);
if ( $receive_digest == "" )
{
 $receive_digest = "no";
}

$insert = "REPLACE INTO $dbtable ( username, receivedigest ) VALUES ( '$username','$receive_digest')";
$result=mysql_query($insert);
mysql_close();

print "&lt;h2&gt;Preferences Updated.&lt;/h2&gt;";
?&gt;</pre>
<p>Now that you have a preference page, it&#8217;s time to actually write the program that find the daily posts and sends the email. Here it is:</p>
<pre class="brush:bash">#!/bin/bash
TMPDIR=/tmp/digest.$$
rm -Rf ${TMPDIR}
mkdir -p ${TMPDIR}
outfile="${TMPDIR}/digest.html"
outfile2="${TMPDIR}/digest2.html"
email_file="${TMPDIR}/email"
today=`date --date "yesterday" +%Y-%m-%d`
mysql_line="mysql -s -uSQLUSER -pSQLPASSWORD -hSQLSERVER SQLDATABASE"

echo "&lt;html&gt;
&lt;body&gt;
&lt;h2&gt;Message Board Digest for ${today}&lt;/h2&gt;
You are receiving this email because you are subscribed to the daily digest of the message board. To change your subscription, log into &lt;a href=\"http://website\"&gt;website&lt;/a&gt; and click \"Daily Digest Options\" from the User Menu.
&lt;br&gt;
&lt;hr&gt;
&lt;table border=1&gt;
&lt;tr&gt;
&lt;td&gt;
Message Date
&lt;/td&gt;
&lt;td&gt;
Posted By
&lt;/td&gt;
&lt;td&gt;
Subject
&lt;/td&gt;
&lt;/tr&gt;
" &gt; ${outfile}

echo "select a.catid,a.thread,from_unixtime(a.time),a.name,a.subject,b.message from jos_fb_messages a,jos_fb_messages_text b where a.id = b.mesid;" | ${mysql_line} | tr "\t" "|" | sed s/"\\\t"/"\&amp;nbsp;"/g | sed s/"\\\n"/"&lt;br&gt;"/g | while read line;
do
 catid=`echo ${line} | cut -d"|" -f1`
 msgid=`echo ${line} | cut -d"|" -f2`
 msgdate=`echo ${line} | cut -d"|" -f3`
 user=`echo ${line} | cut -d"|" -f4`
 subject=$(echo ${line} | cut -d"|" -f5 |  sed -r s/"\\\\"/""/g)
 message=$(echo ${line} | cut -d"|" -f6 |\
 sed -r s/"url\]"/"url]\n"/g |\
 sed -r s/"\[\/url\]"/"&lt;\/a&gt;"/g |\
 sed -r s/"\[url=(.+)\]"/"&lt;a href=\"\\1\"&gt;"/g |\
 sed -r s/"img\]"/"img]\n"/g |\
 sed -r s/"\[\/img\]"/"\"&gt;"/g |\
 sed -r s/"\[img\]"/"&lt;img src=\""/g |\
 sed -r s/"\[b\]"/"&lt;b&gt;"/g |\
 sed -r s/"\[\/b\]"/"&lt;\/b&gt;"/g |\
 sed -r s/"\\\\"/""/g)
 if [[ "${msgdate}" =~ ${today}.+ ]]; then
  echo "&lt;tr&gt;&lt;td&gt;${msgdate}&lt;/td&gt;&lt;td&gt;${user}&lt;/td&gt;&lt;td&gt;&lt;a href=\"#${msgid}\"&gt;${subject}&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;" &gt;&gt; ${outfile}
  echo "&lt;hr&gt;&lt;a name=\"${msgid}\"&gt;${msgdate} from ${user}&lt;/a&gt;&lt;br&gt;&lt;b&gt;&lt;a href=\"http://website/message-board/${catid}/${msgid}\"&gt;${subject}&lt;/a&gt;&lt;/b&gt;&lt;br&gt;${message}&lt;br&gt;&lt;br&gt;" &gt;&gt; ${outfile2}
 fi
done

echo "&lt;hr&gt;" &gt;&gt; ${outfile2}
echo "&lt;/table&gt;&lt;br&gt;" &gt;&gt; ${outfile}
cat ${outfile2} &gt;&gt; ${outfile}
echo "&lt;/body&gt;&lt;/html&gt;" &gt;&gt; ${outfile}

# figure out who to send the digest to
# for some reason, I stored the table that indicates whether or not a user wants to get the digest in a
# different database than the joomla site was stored in. The first database is "DB1", the joomla database is "DB2"
# modify accordingly for your setup
echo "select DB2.jos_users.email  from DB2.jos_users LEFT JOIN DB1.digest on DB2.jos_users.username = DB1.digest.username where (DB1.digest.receivedigest &lt;&gt; 'no' or DB1.digest.receivedigest IS NULL) and DB2.jos_users.username &lt;&gt; 'admin';" | ${mysql_line} &gt; ${TMPDIR}/list_to_email

for item in `cat ${TMPDIR}/list_to_email`
do
 # append SMTP header
 # replace SENDTO with the appropriate To:
 echo "HELO myserverhostname.com
 MAIL FROM: admin@website
 RCPT TO: SENDTO
 DATA
 From: Daily Digest &lt;admin@website&gt;
 To: SENDTO
 Subject: Daily Digest for $today
 MIME-Version: 1.0
 Content-Type: text/html; charset=us-ascii
 Content-Transfer-Encoding: 7bit" | sed "s/SENDTO/${item}/g" &gt; ${email_file}
 # need an extra newline to conform to HTTP protocol
 # this separates the header from the content
 echo "" &gt;&gt; ${email_file}
 cat ${outfile} &gt;&gt; ${email_file}
 # Tell the mail server we are done
 echo ".
quit" &gt;&gt; ${email_file}
 echo "sending to ${item}"
 cat ${email_file} | /usr/bin/nc localhost 25 1&gt; /dev/null
 sleep 1
done
rm -Rf ${TMPDIR}</pre>
<p>This script gets every Joomla user (except those who have opted out) and emails them the html file created for the last day of messages. I run this out a user&#8217;s cron sometime after midnight (since it&#8217;s querying for yesterday). And it works and everyone is happy!<br />
Still todo:</p>
<ul>
<li>Handle the formatting in the body of the &#8216;psuedo-html&#8217; that kunena uses (BBCode)</li>
<li>Make the opt-out form more AJAX-y</li>
<li>More direct links from the digest into individual threads and users</li>
</ul>
<p>I know this isn&#8217;t the easiest thing to implement, but if you&#8217;re not that familiar with Linux, find someone who can help you set this up. Until Kunena comes out with a quicker way to do this, this is probably your best bet.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamhaeder.com/wordpress/2010/05/13/how-to-add-a-daily-digest-email-to-kunena-forums-joomla/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lincoln Journal-Star article about cloud computing</title>
		<link>http://adamhaeder.com/wordpress/2010/05/03/lincoln-journal-star-article-about-cloud-computing/</link>
		<comments>http://adamhaeder.com/wordpress/2010/05/03/lincoln-journal-star-article-about-cloud-computing/#comments</comments>
		<pubDate>Mon, 03 May 2010 20:46:45 +0000</pubDate>
		<dc:creator>Adam Haeder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adamhaeder.com/wordpress/?p=1284</guid>
		<description><![CDATA[I was quoted in an article in this Sunday&#8217;s Lincoln Journal-Star about a cloud computing company in Lincoln, NE called Cost Effective Technology. The complete article is here: http://journalstar.com/business/local/article_bda758a4-548b-11df-8c93-001cc4c03286.html]]></description>
			<content:encoded><![CDATA[<p>I was quoted in an article in this Sunday&#8217;s Lincoln Journal-Star about a cloud computing company in Lincoln, NE called Cost Effective Technology. The complete article is here: <a href="http://journalstar.com/business/local/article_bda758a4-548b-11df-8c93-001cc4c03286.html">http://journalstar.com/business/local/article_bda758a4-548b-11df-8c93-001cc4c03286.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://adamhaeder.com/wordpress/2010/05/03/lincoln-journal-star-article-about-cloud-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick notes from Stephan Balzac&#8217;s presentation at Infotec2010</title>
		<link>http://adamhaeder.com/wordpress/2010/04/14/quick-notes-from-stephan-balzacs-presentation-at-infotec2010/</link>
		<comments>http://adamhaeder.com/wordpress/2010/04/14/quick-notes-from-stephan-balzacs-presentation-at-infotec2010/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 20:04:04 +0000</pubDate>
		<dc:creator>Adam Haeder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[infotec]]></category>

		<guid isPermaLink="false">http://adamhaeder.com/wordpress/2010/04/14/quick-notes-from-stephan-balzacs-presentation-at-infotec2010/</guid>
		<description><![CDATA[No conflict is as bad as too much conflict Create autonomy If you&#8217;re not excited about the product, who else is? make feedback easy and unobtrusive A couple isn&#8217;t married until they&#8217;ve had their first fight If they don&#8217;t argue, &#8230;<p class="read-more"><a href="http://adamhaeder.com/wordpress/2010/04/14/quick-notes-from-stephan-balzacs-presentation-at-infotec2010/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>No conflict is as bad as too much conflict</p>
<p>Create autonomy</p>
<p>If you&#8217;re not excited about the product, who else is?</p>
<p>make feedback easy and unobtrusive</p>
<p>A couple isn&#8217;t married until they&#8217;ve had their first fight</p>
<p>If they don&#8217;t argue, you don&#8217;t have a team, you have henchmen</p>
<p>You have to know what success and failure look like</p>
<p>Turn the team lose, and don&#8217;t care if you succeed or fail. The results will surprise you.</p>
<p>Never judge and punish. Always be willing to adjust resources</p>
<p>Experts are people that recognize their mistakes sooner, and get out of them quickly</p>
<p>The key to power is to find opportunities to share it</p>
<p>Become a role model to your team</p>
<p>Turn objections around. Invite brainstorming</p>
<p>Book recommendation: The one-minute manager</p>
]]></content:encoded>
			<wfw:commentRss>http://adamhaeder.com/wordpress/2010/04/14/quick-notes-from-stephan-balzacs-presentation-at-infotec2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Good security advice from Ron Woerner</title>
		<link>http://adamhaeder.com/wordpress/2010/04/09/good-security-advice-from-ron-woerner/</link>
		<comments>http://adamhaeder.com/wordpress/2010/04/09/good-security-advice-from-ron-woerner/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 14:50:37 +0000</pubDate>
		<dc:creator>Adam Haeder</dc:creator>
				<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://adamhaeder.com/wordpress/?p=194</guid>
		<description><![CDATA[Ron Woerner (@RonW123) recently posted this message to the Secure0maha security mailing list. Good advice as always. There's been a lot of talk lately around the Security Blogosphere on getting into Security and being successful in your security career. Here's &#8230;<p class="read-more"><a href="http://adamhaeder.com/wordpress/2010/04/09/good-security-advice-from-ron-woerner/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Ron Woerner (<a href="http://twitter.com/RonW123">@RonW123</a>) recently posted this message to the Secure0maha security mailing list. Good advice as always.</p>
<pre>There's been a lot of talk lately around the Security Blogosphere on
getting into Security and being successful in your security career.
Here's few of note:</pre>
<pre>1. CSO Online:
<a href="http://www.csoonline.com/article/590096/Are_You_Making_a_Security_Career_or_Working_a_Job_">http://www.csoonline.com/article/590096/Are_You_Making_a_Security_Career_or_Working_a_Job_</a></pre>
<pre>2. I Am InfoSec, and So Can You: <a href="http://bit.ly/a3I4mI">http://bit.ly/a3I4mI</a></pre>
<pre>3. Bootstrapping the next generation
(<a href="http://layer8.itsecuritygeek.com/layer8/bootstrapping-the-next-generation/">http://layer8.itsecuritygeek.com/layer8/bootstrapping-the-next-generation/</a>)</pre>
<pre>4. Who to Recruit for Security, How to Get Started, and Career Tracks
(<a href="http://securosis.com/blog/who-to-recruit-for-security-how-to-get-started-and-career-tracks">http://securosis.com/blog/who-to-recruit-for-security-how-to-get-
started-and-career-tracks</a>)</pre>
<pre>We're in a tough field. It's kinda like being a UN Nuclear Inspector:
no one really wants us around, but we're critical for keeping things
safe. I find these articles inspiring and reminding me of
what's important.</pre>
<pre>Ron W</pre>
]]></content:encoded>
			<wfw:commentRss>http://adamhaeder.com/wordpress/2010/04/09/good-security-advice-from-ron-woerner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My O&#8217;Reilly LPI book is available for pre-order</title>
		<link>http://adamhaeder.com/wordpress/2010/04/05/my-oreilly-lpi-book-is-available-for-pre-order/</link>
		<comments>http://adamhaeder.com/wordpress/2010/04/05/my-oreilly-lpi-book-is-available-for-pre-order/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 22:29:34 +0000</pubDate>
		<dc:creator>Adam Haeder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adamhaeder.com/wordpress/?p=174</guid>
		<description><![CDATA[Should be available in bookstores sometime in June 2010. Preorder from Amazon Preorder from O&#8217;Reilly]]></description>
			<content:encoded><![CDATA[<p>Should be available in bookstores sometime in June 2010.</p>
<p>Preorder from <a href="http://bit.ly/bvQQ0I">Amazon</a></p>
<p>Preorder from <a href="http://oreil.ly/a0FGdy">O&#8217;Reilly</a></p>
<p><a href="http://oreil.ly/a0FGdy"><img class="alignnone" title="LPI" src="http://covers.oreilly.com/images/9780596804886/cat.gif" alt="" width="180" height="270" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://adamhaeder.com/wordpress/2010/04/05/my-oreilly-lpi-book-is-available-for-pre-order/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Restaurants with discounted kids menus in Omaha, NE</title>
		<link>http://adamhaeder.com/wordpress/2010/03/26/restaurants-with-discounted-kids-menus-in-omaha-ne/</link>
		<comments>http://adamhaeder.com/wordpress/2010/03/26/restaurants-with-discounted-kids-menus-in-omaha-ne/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 15:06:51 +0000</pubDate>
		<dc:creator>Adam Haeder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adamhaeder.com/wordpress/?p=154</guid>
		<description><![CDATA[DISCLAIMER: I found this list on a home school message board in 2009. If some of these are wrong, please let me know. Thanks Some are &#8216;kids eat free&#8217;, some are just discounts. EVERYDAY: Denny&#8217;s &#8211; kids eat free &#8211; &#8230;<p class="read-more"><a href="http://adamhaeder.com/wordpress/2010/03/26/restaurants-with-discounted-kids-menus-in-omaha-ne/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>DISCLAIMER: I found this list on a home school message board in 2009. If some of these are wrong, please let me know. Thanks</p>
<p>Some are &#8216;kids eat free&#8217;, some are just discounts.</p>
<p><!-- .hmmessage P { margin:0px; padding:0px } body.hmmessage { font-size: 10pt; font-family:Verdana } -->EVERYDAY:<br />
Denny&#8217;s &#8211; kids eat free  &#8211; 4-10pm<br />
IHop &#8211; free kids meal w/ adult entree &#8211; 4-10pm<br />
Roja &#8211; Happy  Hour in back room &#8211; 5-6:30 &#8211; $1.50 tacos<br />
Hector&#8217;s &#8211; free kids meal w/ adult  entree</p>
<p>MONDAY:<br />
Upstream (170 &amp; Center) &#8211; kids eat free w/ adult  entree<br />
Doc &amp; Eddie&#8217;s (168 &amp; Harrison) &#8211; kids eat free<br />
Texas  Roadhouse &#8211; Kids eat free &#8211; 1 per adult entree<br />
Sam &amp; Louie&#8217;s (downtown  Elkhorn) &#8211; buy one pizza, get one free<br />
Grandmothers &#8211; $.99 kids meals<br />
Grisanti&#8217;s &#8211; Kids eat free w/ adult entree &#8211; 4-10pm<br />
Julio&#8217;s West (123 rd  &amp; Center) &#8211; Kids eat free<br />
Sizzler &#8211; For each adult salad bar you get 2  free kids salad bars<br />
Spaghetti Works &#8211; Kids eat free &#8211; 2 children per 1  adult entree<br />
Summer Kitchen &#8211; Kids eat free<br />
Fuddrucker&#8217;s &#8211; 4-9 pm &#8211; kids  12 and under eat for $.99 &#8211; drink included<br />
Buffalo Wild Wings &#8211; kids 12 and  under eat for $.99 &#8211; 5-8pm</p>
<p>TUESDAY:<br />
Applebee&#8217;s &#8211; Order 1 adult meal and get 2 kids meals for  $.99 each<br />
Doc &amp; Eddie&#8217;s (168 &amp; Harrison) &#8211; kids eat free<br />
94/95 &#8211;  $.99 kids&#8217; meals<br />
Paradise Bakery &#8211; Kids 12 and under eat free after 4pm (2 per adult entree)<br />
Fazoli&#8217;s &#8211; Kids eat for $.99 with 1 adult entree from 5-8<br />
Sizzler &#8211; For  each adult salad bar you get 2 kids salad bars for free<br />
Summer Kitchen &#8211;  Kids eat free<br />
China Buffet &#8211; Kids 10 and under eat free w/ adult entree<br />
Fuddrucker&#8217;s &#8211; 4-9 pm &#8211; kids 12 and under eat for $.99 &#8211; drink included<br />
Godfathers &#8211; kids 10 and under eat free buffet &#8211; 5-8pm<br />
Lonestar &#8211; kids  eat free with adult entree &#8211; drink included</p>
<p>WEDNESDAY:<br />
Pepper Jax &#8211;  Kids eat free &#8211; 4-9pm<br />
Doc &amp; Eddie&#8217;s (168 &amp; Harrison) &#8211; kids eat free<br />
Sizzler &#8211; for each adult salad bar you get 2 kids salad bars for free<br />
Perkins &#8211; free kids meal with adult entree &#8211; kids 12 and under &#8211; 4-9pm</p>
<p>THURSDAY:<br />
Applebee&#8217;s &#8211; for each adult entree get 2 kids meals for  $.99 each<br />
Paradise Bakery &#8211; Kids 12 and under eat free after 4pm (2 per  adult entree)</p>
<p>SATURDAY:<br />
Perkins &#8211; free kids meal with adult entree &#8211;  12 and under &#8211; 4 &#8211; 9pm</p>
<p>SUNDAY:<br />
Red Zone BBQ &#8211; Kids eat free<br />
Valentino&#8217;s Buffet (138th &amp; P) &#8211; Kids eat free buffet all day<br />
Hooters &#8211; Kids eat free all day<br />
Planet Sub &#8211; free kids meal with adult entree</p>
]]></content:encoded>
			<wfw:commentRss>http://adamhaeder.com/wordpress/2010/03/26/restaurants-with-discounted-kids-menus-in-omaha-ne/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

