<?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>Tyler Weir &#187; Scala</title>
	<atom:link href="http://www.praytothemachine.com/evil/tag/scala/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.praytothemachine.com/evil</link>
	<description>If it don&#039;t make dollars, then it don&#039;t make sense...</description>
	<lastBuildDate>Mon, 23 Jan 2012 16:13:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Scala Development</title>
		<link>http://www.praytothemachine.com/evil/2010/09/13/scala-development/</link>
		<comments>http://www.praytothemachine.com/evil/2010/09/13/scala-development/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 23:15:07 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[#pttjweir]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[ensime]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=2370</guid>
		<description><![CDATA[Nothing better on OS X than: Emacs + Ensime + VimMode for me right now. And I stole SteveJ&#8217;s .emacs.d files.]]></description>
			<content:encoded><![CDATA[<p>Nothing better on OS X than:<br />
<a href="http://emacsformacosx.com/" onclick="pageTracker._trackPageview('/outgoing/emacsformacosx.com/?referer=');">Emacs</a> +<br />
<a href="http://ensime.blogspot.com/" onclick="pageTracker._trackPageview('/outgoing/ensime.blogspot.com/?referer=');">Ensime</a> +<br />
<a href="http://bitbucket.org/lyro/vim-mode/downloads" onclick="pageTracker._trackPageview('/outgoing/bitbucket.org/lyro/vim-mode/downloads?referer=');">VimMode</a><br />
for me right now.</p>
<p>And I stole <a href="http://github.com/stevej/emacs/" onclick="pageTracker._trackPageview('/outgoing/github.com/stevej/emacs/?referer=');">SteveJ&#8217;s .emacs.d files.</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2010/09/13/scala-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Objective-C is getting lots of Scala features.</title>
		<link>http://www.praytothemachine.com/evil/2009/08/22/objective-c-is-getting-lots-of-scala-features/</link>
		<comments>http://www.praytothemachine.com/evil/2009/08/22/objective-c-is-getting-lots-of-scala-features/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 13:03:00 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[actors]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[landonfuller]]></category>
		<category><![CDATA[mogeneration]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=2120</guid>
		<description><![CDATA[Scala is awesome. Through a few libraries, you can add some of Scala&#8217;s awesomeness to Objective-C. Landon Fuller&#8217;s PLActorKit for Actors Landon Fuller&#8217;s PLBlocks for Closures &#8211; Also coming in Snow Leopard. MoGenerations&#8217;s FunctionalKit for Functional Constructs Wonderful, wonderful, wonderful.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.scala-lang.org" onclick="pageTracker._trackPageview('/outgoing/www.scala-lang.org?referer=');">Scala</a> is awesome.</p>
<p>Through a few libraries, you can add some of Scala&#8217;s awesomeness to Objective-C.</p>
<ul>
<li><a href="http://code.google.com/p/plactorkit/" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/plactorkit/?referer=');">Landon Fuller&#8217;s PLActorKit</a> for Actors</li>
<li><a href="http://code.google.com/p/plblocks/" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/plblocks/?referer=');">Landon Fuller&#8217;s PLBlocks</a> for Closures &#8211; Also coming in Snow Leopard.</li>
<li><a href="http://github.com/mogeneration/functionalkit/tree/master" onclick="pageTracker._trackPageview('/outgoing/github.com/mogeneration/functionalkit/tree/master?referer=');">MoGenerations&#8217;s FunctionalKit</a> for Functional Constructs</li>
</ul>
<p>Wonderful, wonderful, wonderful.</p>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2009/08/22/objective-c-is-getting-lots-of-scala-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jMonkeyEngine and Scala, not going so we&#8230;</title>
		<link>http://www.praytothemachine.com/evil/2009/05/10/jmonkeyengine-and-scala-not-going-so-we/</link>
		<comments>http://www.praytothemachine.com/evil/2009/05/10/jmonkeyengine-and-scala-not-going-so-we/#comments</comments>
		<pubDate>Sun, 10 May 2009 13:30:12 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[jmonkeyengine]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/2009/05/10/jmonkeyengine-and-scala-not-going-so-we/</guid>
		<description><![CDATA[jMonkeyEngine and Scala, not going so well.]]></description>
			<content:encoded><![CDATA[<p>jMonkeyEngine and Scala, not going so well.</p>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2009/05/10/jmonkeyengine-and-scala-not-going-so-we/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exploring Lift: Scala-based Web Framework</title>
		<link>http://www.praytothemachine.com/evil/2009/03/20/exploring-lift-scala-based-web-framework/</link>
		<comments>http://www.praytothemachine.com/evil/2009/03/20/exploring-lift-scala-based-web-framework/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 18:54:41 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[lift]]></category>
		<category><![CDATA[LiftWeb]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=1868</guid>
		<description><![CDATA[Lift is an exciting new framework that leverages the Scala programming language to offer an innovative approach to creating web applications. Lift provides enormous flexibility and functionality while keeping your code simple. Exploring Lift is brought to you by Derek Chen-Becker, Marius Danciu, and Tyler Weir, three committers on the Lift project. The book not [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.liftweb.net/" onclick="pageTracker._trackPageview('/outgoing/www.liftweb.net/?referer=');">Lift</a> is an exciting new framework that leverages the <a href="http://www.scala-lang.org/" onclick="pageTracker._trackPageview('/outgoing/www.scala-lang.org/?referer=');">Scala programming language</a> to offer an innovative approach to creating web applications. Lift provides enormous flexibility and functionality while keeping your code simple.</p>
<p><a href="http://www.apress.com/book/view/1430224215" onclick="pageTracker._trackPageview('/outgoing/www.apress.com/book/view/1430224215?referer=');"><b>Exploring Lift</b></a> is brought to you by Derek Chen-Becker, Marius Danciu, and Tyler Weir, three committers on the Lift project. The book not only covers the fundamentals of building a comprehensive Lift-based application, but contains multiple chapters on advanced functionality such as AJAX, Comet and custom URL rewriting. Extensive code samples are given throughout the book to demonstrate practical application, and a complete demo app is built from the ground up to reinforce the information presented.<br />
What you&#8217;ll learn:</p>
<ul>
<li>How to get a basic Lift application up and running quickly using Maven&#8217;s archetypes</li>
<li>How to generate and process forms, including file uploads</li>
<li>How to use the SiteMap framework to provide a custom site menu and programmatic access control to your application&#8217;s pages</li>
<li>Database access using Lift&#8217;s Mapper framework as well as how to integrate the Java Persistence Architecture</li>
<li>How to use custom URL rewriting and request dispatch to easily provide user-friendly URLs and powerful servlet-like functionality</li>
<li>How to easily internationalized (I18N) your application</li>
<li>And much more!</li>
</ul>
<h3>Who this book is for?</h3>
<p>Anyone interested in getting the most out of their web applications and who appreciates the power and flexibility of the Scala programming language. A basic understanding of Scala is assumed, so if you&#8217;re not familiar with it we would suggest reading <a href="http://blog.lostlake.org/" onclick="pageTracker._trackPageview('/outgoing/blog.lostlake.org/?referer=');">David Pollak&#8217;s</a> excellent book, <a href="http://apress.com/book/view/1430219890" onclick="pageTracker._trackPageview('/outgoing/apress.com/book/view/1430219890?referer=');">Beginning Scala.</a></p>
<h3>Reviews</h3>
<p>Lift was created by David Pollak, an industry veteran who has repeatedly pushed the boundaries of what is possible with programming. Here is what people are saying about Lift:</p>
<p>    &#8220;Lift is the only new framework in the last four years to offer fresh and innovative approaches to web development. It&#8217;s not just some incremental improvements over the status quo, it redefines the state of the art. If you are a web developer, you should learn Lift. Even if you don&#8217;t wind up using it everyday, it will change the way you approach web applications.&#8221;</p>
<p>—Michael Galpin, Developer, eBay</p>
<p>    &#8220;Lift is an expressive and elegant framework for writing web applications. Lift stresses the importance of security, maintainability, scalability and performance, while allowing for high levels of developer productivity.&#8221;</p>
<p>—Lee Mighdoll, CTO, Digiting, Inc.</p>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2009/03/20/exploring-lift-scala-based-web-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lift 1.0 has been released!</title>
		<link>http://www.praytothemachine.com/evil/2009/02/26/lift-10-has-been-released/</link>
		<comments>http://www.praytothemachine.com/evil/2009/02/26/lift-10-has-been-released/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 20:39:34 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[lift]]></category>
		<category><![CDATA[LiftWeb]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=1786</guid>
		<description><![CDATA[Read Dave&#8217;s announcement and check out the site. Lift is an expressive elegant web framework based on the Scala programming language and released under an an Apache 2.0 license. Lift provides developers the best way to build interactive, high performance web applications. Lift based applications are deployed as WAR files into J2EE containers such as [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://scala-blogs.org/2009/02/lift-10-released.html" onclick="pageTracker._trackPageview('/outgoing/scala-blogs.org/2009/02/lift-10-released.html?referer=');">Read Dave&#8217;s announcement</a> and <a href="http://liftweb.net/" onclick="pageTracker._trackPageview('/outgoing/liftweb.net/?referer=');">check out the site.</a></p>
<blockquote><p>
Lift is an expressive elegant web framework based on the Scala programming language and released under an an Apache 2.0 license. Lift provides developers the best way to build interactive, high performance web applications. Lift based applications are deployed as WAR files into J2EE containers such as Jetty, Tomcat, and WebLogic. Lift based applications are high performance and can make use of your existing Java libraries.</p></blockquote>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2009/02/26/lift-10-has-been-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scala port of JBox2D</title>
		<link>http://www.praytothemachine.com/evil/2009/02/18/scala-port-of-jbox2d/</link>
		<comments>http://www.praytothemachine.com/evil/2009/02/18/scala-port-of-jbox2d/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 18:47:14 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[jbox2d]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=1752</guid>
		<description><![CDATA[Villane is working on a Scala port of JBox2D. I&#8217;m looking forward to this port. There are a few games in my head I&#8217;d like to produce. Here&#8217;s the homepage of JBox2D. Update: Villane has a GitHub repo up for ScalaBox2D.]]></description>
			<content:encoded><![CDATA[<p><a href="http://villane.wordpress.com/2009/02/18/my-head-asplode/trackback/" onclick="pageTracker._trackPageview('/outgoing/villane.wordpress.com/2009/02/18/my-head-asplode/trackback/?referer=');">Villane is working on a Scala port of JBox2D.</a></p>
<p>I&#8217;m looking forward to this port.  There are a few games in my head I&#8217;d like to produce.</p>
<p><a href="http://jbox2d.org/" onclick="pageTracker._trackPageview('/outgoing/jbox2d.org/?referer=');">Here&#8217;s the homepage of JBox2D.</a></p>
<p><b>Update:</b> <a href="http://github.com/Villane/" onclick="pageTracker._trackPageview('/outgoing/github.com/Villane/?referer=');">Villane</a> has a <a href="http://github.com/Villane/scalabox2d/tree/master" onclick="pageTracker._trackPageview('/outgoing/github.com/Villane/scalabox2d/tree/master?referer=');">GitHub repo up for ScalaBox2D.</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2009/02/18/scala-port-of-jbox2d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Structure and Interpretation of Computer Programs</title>
		<link>http://www.praytothemachine.com/evil/2009/01/11/structure-and-interpretation-of-computer-programs/</link>
		<comments>http://www.praytothemachine.com/evil/2009/01/11/structure-and-interpretation-of-computer-programs/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 12:15:32 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[functionalprogramming]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[sicp]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=1363</guid>
		<description><![CDATA[There is a thread on Hacker News discussing a reading group focused on Structure and Interpretation of Computer Programs. There is a Google Group and a wiki up as well. Geez, Hacker News people move quickly. I&#8217;m going to do my best to go through SICP and do the exercises in Scala. When I was [...]]]></description>
			<content:encoded><![CDATA[<p>There is <a href="http://news.ycombinator.com/item?id=428248" onclick="pageTracker._trackPageview('/outgoing/news.ycombinator.com/item?id=428248&amp;referer=');">a thread</a> on <a href="http://news.ycombinator.com/" onclick="pageTracker._trackPageview('/outgoing/news.ycombinator.com/?referer=');">Hacker News</a> discussing a reading group focused on <a href="http://mitpress.mit.edu/sicp/full-text/book/book.html" onclick="pageTracker._trackPageview('/outgoing/mitpress.mit.edu/sicp/full-text/book/book.html?referer=');">Structure and Interpretation of Computer Programs.</a></p>
<p>There is a <a href="http://groups.google.com/group/hacker-news-reads-sicp" onclick="pageTracker._trackPageview('/outgoing/groups.google.com/group/hacker-news-reads-sicp?referer=');">Google Group</a> and <a href="http://hn-sicp.pbwiki.com/" onclick="pageTracker._trackPageview('/outgoing/hn-sicp.pbwiki.com/?referer=');">a wiki</a> up as well. Geez, Hacker News people move quickly.</p>
<p>I&#8217;m going to do my best to go through SICP and do the exercises in <a href="http://www.scala-lang.org" onclick="pageTracker._trackPageview('/outgoing/www.scala-lang.org?referer=');">Scala.</a><br />
When I was coming back to Functional Programming <a href="http://www.saladwithsteve.com/" onclick="pageTracker._trackPageview('/outgoing/www.saladwithsteve.com/?referer=');">Steve Jenson</a> told me to read SICP.</p>
<p><a href="http://github.com/tjweir/sicp-scala/tree/master" onclick="pageTracker._trackPageview('/outgoing/github.com/tjweir/sicp-scala/tree/master?referer=');">I&#8217;ve put up a github repo for my code.</a></p>
<p>If you <a href="http://github.com/search?q=sicp" onclick="pageTracker._trackPageview('/outgoing/github.com/search?q=sicp&amp;referer=');">search for sicp on github</a>, you get a bunch of repos from people with similar ideas.</p>
<p><a href="http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_languages" onclick="pageTracker._trackPageview('/outgoing/www.codepoetics.com/wiki/index.php?title=Topics_SICP_in_other_languages&amp;referer=');">Here&#8217;s a wiki with a bunch of SICP chapters in different languages.</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2009/01/11/structure-and-interpretation-of-computer-programs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lift Book</title>
		<link>http://www.praytothemachine.com/evil/2009/01/04/lift-book/</link>
		<comments>http://www.praytothemachine.com/evil/2009/01/04/lift-book/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 20:10:09 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[lift]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/2009/01/04/lift-book/</guid>
		<description><![CDATA[Book for the Lift Web Framework Derek, Marius and I, with the help of the community, will be putting together a comprehensive book for using Lift. We have set up a Google Group for topic discussion here: http://groups.google.com/group/the-lift-book The work will be licensed under the Creative Commons Attribution-No Derivatives found here: http://creativecommons.org/license/results-one?licensecode=by-nd Works 3.0 Unported [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm4.static.flickr.com/3529/3217216663_a18ef4c944.jpg?v=0" /><br />
<a href="http://github.com/tjweir/liftbook/tree/master" onclick="pageTracker._trackPageview('/outgoing/github.com/tjweir/liftbook/tree/master?referer=');">Book for the Lift Web Framework</a></p>
<p>Derek, Marius and I, with the help of the community, will be putting together a comprehensive book for using Lift.</p>
<p>We have set up a Google Group for topic discussion here: <a href="http://groups.google.com/group/the-lift-book" onclick="pageTracker._trackPageview('/outgoing/groups.google.com/group/the-lift-book?referer=');">http://groups.google.com/group/the-lift-book</a></p>
<p>The work will be licensed under the Creative Commons Attribution-No Derivatives found here: <a href="http://creativecommons.org/license/results-one?licensecode=by-nd" onclick="pageTracker._trackPageview('/outgoing/creativecommons.org/license/results-one?licensecode=by-nd&amp;referer=');">http://creativecommons.org/license/results-one?licensecode=by-nd</a>  Works 3.0 Unported License. To view a copy of this license, visit <a href="http://creativecommons.org/licenses/by-nd/3.0/" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/creativecommons.org/licenses/by-nd/3.0/?referer=');">http://creativecommons.org/licenses/by-nd/3.0/</a> or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.</p>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2009/01/04/lift-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lift and Configgy</title>
		<link>http://www.praytothemachine.com/evil/2008/11/19/lift-and-configgy/</link>
		<comments>http://www.praytothemachine.com/evil/2008/11/19/lift-and-configgy/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 15:25:00 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[configgy]]></category>
		<category><![CDATA[lift]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=1153</guid>
		<description><![CDATA[Robey wrote Configgy, and summarizes it as: Configgy is a library for handling config files and logging for a scala daemon. The idea is that it should be simple and straightforward, allowing you to plug it in and get started quickly, writing small useful daemons without entering the shadowy world of java frameworks. Simple and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lag.net/" onclick="pageTracker._trackPageview('/outgoing/www.lag.net/?referer=');">Robey</a> wrote <a href="http://www.lag.net/configgy/" onclick="pageTracker._trackPageview('/outgoing/www.lag.net/configgy/?referer=');">Configgy</a>, and summarizes it as:</p>
<blockquote><p>Configgy is a library for handling config files and logging for a scala daemon. The idea is that it should be simple and straightforward, allowing you to plug it in and get started quickly, writing small useful daemons without entering the shadowy world of java frameworks. </p></blockquote>
<p>Simple and straight forward indeed.  To add it to my Lift app I did the following:<br />
1. Added this to my pom.xml<br />
<code><br />
&lt;repository&gt;<br />
      &lt;id&gt;<a href="http://www.lag.net/repo/&lt;/id&gt;" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/www.lag.net/repo/_lt_/id_gt?referer=');">http://www.lag.net/repo/&lt;/id&gt;</a><br />
      &lt;name&gt;<a href="http://www.lag.net/repo/&lt;/name&gt;" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/www.lag.net/repo/_lt_/name_gt?referer=');">http://www.lag.net/repo/&lt;/name&gt;</a><br />
      &lt;url&gt;<a href="http://www.lag.net/repo/&lt;/url&gt;" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/www.lag.net/repo/_lt_/url_gt?referer=');">http://www.lag.net/repo/&lt;/url&gt;</a><br />
    &lt;/repository&gt;<br />
</code><br />
And<br />
<code>    &lt;dependency&gt;<br />
      &lt;groupid&gt;net.lag&lt;/groupid&gt;<br />
      &lt;artifactid&gt;configgy&lt;/artifactid&gt;<br />
      &lt;version&gt;1.2&lt;/version&gt;<br />
    &lt;/dependency&gt;<br />
 </code></p>
<p>2. Wrote this conf file (it&#8217;s in the same dir as the pom.xml file and so is the log directory which you&#8217;ll need permissions on)<br />
<code>&lt;log&gt;<br />
        filename = "log/pca.log"<br />
        roll = "daily"<br />
        level = "debug"<br />
&lt;/log&gt;<br />
hostname = "localhost"<br />
port = 8080<br />
</code></p>
<p>3. Added this to Boot.scala<br />
<code><br />
...<br />
import net.lag.configgy.Configgy<br />
import net.lag.logging.Logger<br />
...<br />
    Configgy.configure("pca.conf")<br />
    val log = Logger.get<br />
    log.info("Configgy up")<br />
    log.info("Bootstrap up")<br />
 </code></p>
<p>4.  And a quick test, in one of my snippets I added:<br />
<code><br />
...<br />
 import net.lag.logging.Logger<br />
...<br />
    log.info("Super Awesome Form rendered")<br />
</code><br />
5.  The output is:<br />
<code><br />
INF [20081119-14:11:15.085] liftweb: Configgy up<br />
INF [20081119-14:11:15.088] liftweb: Bootstrap up<br />
INF [20081119-14:11:22.144] snippet: Super Awesome Form rendered<br />
</code></p>
<p>Make with the nice nice.</p>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2008/11/19/lift-and-configgy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Al3x&#8217;s slides from his C4 talk on Scala</title>
		<link>http://www.praytothemachine.com/evil/2008/09/06/al3xs-slides-from-his-c4-talk-on-scala/</link>
		<comments>http://www.praytothemachine.com/evil/2008/09/06/al3xs-slides-from-his-c4-talk-on-scala/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 17:20:56 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[c4]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=946</guid>
		<description><![CDATA[I would like to go to C4[3], but we&#8217;ll see&#8230; anyhoo, here&#8217;s Al3x&#8217;s scala slides: Why Scala? View SlideShare presentation or Upload your own. (tags: c4 scala)]]></description>
			<content:encoded><![CDATA[<p>I would like to go to C4[3], but we&#8217;ll see&#8230; anyhoo, here&#8217;s Al3x&#8217;s scala slides:</p>
<div style="width:425px;text-align:left" id="__ss_585572"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/al3x/why-scala-presentation?src=embed" title="Why Scala?" onclick="pageTracker._trackPageview('/outgoing/www.slideshare.net/al3x/why-scala-presentation?src=embed&amp;referer=');">Why Scala?</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=scala-1220722512764902-8&#038;stripped_title=why-scala-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=scala-1220722512764902-8&#038;stripped_title=why-scala-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/al3x/why-scala-presentation?src=embed" title="View Why Scala? on SlideShare" onclick="pageTracker._trackPageview('/outgoing/www.slideshare.net/al3x/why-scala-presentation?src=embed&amp;referer=');">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?src=embed" onclick="pageTracker._trackPageview('/outgoing/www.slideshare.net/upload?src=embed&amp;referer=');">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/c4" onclick="pageTracker._trackPageview('/outgoing/slideshare.net/tag/c4?referer=');">c4</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/scala" onclick="pageTracker._trackPageview('/outgoing/slideshare.net/tag/scala?referer=');">scala</a>)</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2008/09/06/al3xs-slides-from-his-c4-talk-on-scala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scala: Silly things I&#8217;ve done.</title>
		<link>http://www.praytothemachine.com/evil/2008/07/30/scala-silly-things-iv-done/</link>
		<comments>http://www.praytothemachine.com/evil/2008/07/30/scala-silly-things-iv-done/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 11:04:01 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=841</guid>
		<description><![CDATA[I had a list of objects, say like this: val l = List("aaa", "bbb", "ccc") and I wanted to produce something like this: &#60;td id=IDaaa&#62;aaa&#60;/td&#62; &#60;td id=IDbbb&#62;bbb&#60;/td&#62; &#60;td id=IDccc&#62;ccc&#60;/td&#62; I first did this: l.map(u => &#60;td id="ID" + {u}&#62;{u}&#60;/td&#62;) and that failed, unsurprisingly. That&#8217;s not even close to valid xml. The real way is this: [...]]]></description>
			<content:encoded><![CDATA[<p>I had a list of objects, say like this:</p>
<blockquote><p><code>val l = List("aaa", "bbb", "ccc")</code></p></blockquote>
<p>and I wanted to produce something like this:</p>
<blockquote><p><code>&lt;td id=IDaaa&gt;aaa&lt;/td&gt;<br />
&lt;td id=IDbbb&gt;bbb&lt;/td&gt;<br />
&lt;td id=IDccc&gt;ccc&lt;/td&gt;</code></p></blockquote>
<p>I first did this:</p>
<blockquote><p><code>l.map(u => &lt;td id="ID" + {u}&gt;{u}&lt;/td&gt;)</code></p></blockquote>
<p>and that failed, unsurprisingly.  That&#8217;s not even close to valid xml.</p>
<p>The real way is this:</p>
<blockquote><p><code>l.map(u => &lt;td id={"ID" + u}&gt;{u}&lt;/td&gt;)</code></p></blockquote>
<p>This post brought to you by <a href="http://softwarecraftsmanship.oreilly.com/wiki/show/expose_your_ignorance" onclick="pageTracker._trackPageview('/outgoing/softwarecraftsmanship.oreilly.com/wiki/show/expose_your_ignorance?referer=');">&#8220;Expose your Ignorance.&#8221;</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2008/07/30/scala-silly-things-iv-done/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting my nerd on.</title>
		<link>http://www.praytothemachine.com/evil/2008/04/22/getting-my-nerd-on/</link>
		<comments>http://www.praytothemachine.com/evil/2008/04/22/getting-my-nerd-on/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 00:46:39 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[lift]]></category>
		<category><![CDATA[LiftWeb]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=664</guid>
		<description><![CDATA[I will be attending ScalaLiftOff on Saturday May 10th, 2008 from 9am to 5pm. What&#8217;s ScalaLiftOff? The Scala lift off is a great place for members of the Scala and lift communities to get together, learn about Scala, learn about lift and get to know each other face to face. There will be Scala tracks [...]]]></description>
			<content:encoded><![CDATA[<p>I will be attending <a href="http://www.scalaliftoff.com/" onclick="pageTracker._trackPageview('/outgoing/www.scalaliftoff.com/?referer=');">ScalaLiftOff</a> on Saturday May 10th, 2008 from 9am to 5pm.</p>
<p>What&#8217;s ScalaLiftOff?</p>
<blockquote><p>The Scala lift off is a great place for members of the Scala and lift  communities to get together, learn about Scala, learn about lift and get to know each other face to face.  There will be Scala tracks going all day long and lift tracks to suits everyones interests.</p></blockquote>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2008/04/22/getting-my-nerd-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gravatars and Liftweb.</title>
		<link>http://www.praytothemachine.com/evil/2008/03/11/gravatars-and-liftweb/</link>
		<comments>http://www.praytothemachine.com/evil/2008/03/11/gravatars-and-liftweb/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 20:03:05 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[gravatars]]></category>
		<category><![CDATA[lift]]></category>
		<category><![CDATA[LiftWeb]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=606</guid>
		<description><![CDATA[Liftweb and Gravatars together at last. Here&#8217;s the snippet: package net.liftweb.example.snippet import net.liftweb.example.model._ import scala.xml.{NodeSeq, Text, Group, Node, Elem} import net.liftweb.http._ import net.liftweb.http.S import net.liftweb.mapper._ import net.liftweb.http.S._ import net.liftweb.util.Helpers._ import net.liftweb.util._ import java.util.Locale import net.liftweb.sitemap._ import net.liftweb.sitemap.Loc._ import java.security._ // gravatar_id - MD5 sum of your email address // size - image size // rating [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.liftweb.net" onclick="pageTracker._trackPageview('/outgoing/www.liftweb.net?referer=');">Liftweb</a> and <a href="http://www.gravatar.com/" onclick="pageTracker._trackPageview('/outgoing/www.gravatar.com/?referer=');">Gravatars</a> together at last.</p>
<p>Here&#8217;s the snippet:<br />
<code>package net.liftweb.example.snippet</p>
<p>import net.liftweb.example.model._<br />
import scala.xml.{NodeSeq, Text, Group, Node, Elem}<br />
import net.liftweb.http._<br />
import net.liftweb.http.S<br />
import net.liftweb.mapper._<br />
import net.liftweb.http.S._<br />
import net.liftweb.util.Helpers._<br />
import net.liftweb.util._<br />
import java.util.Locale<br />
import net.liftweb.sitemap._<br />
import net.liftweb.sitemap.Loc._<br />
import java.security._</p>
<p>// gravatar_id - MD5 sum of your email address<br />
// size - image size<br />
// rating - rating of the image, let's start with "G" which is also the default</p>
<p>class Gravatar {<br />
  val theUser: User = User.currentUser.openOr(new User)</p>
<p>  private def getMD5(s: String): String = {<br />
    val m = MessageDigest.getInstance("MD5")<br />
    m.update(s.getBytes(),0,s.length())<br />
    BigInt(1,m.digest()).toString(16)<br />
  }</p>
<p>  def getGravatar(xhtml: NodeSeq): NodeSeq = {<br />
    var src = "http://www.gravatar.com/avatar.php?gravatar_id=" + getMD5(S.attr("e").openOr(theUser.email))<br />
    src = src + "&#038;size=" + S.attr("s").openOr("42")<br />
    src = src + "&#038;rating=" + S.attr("r").openOr("G")</p>
<p>    &lt;img src={src}/&gt;<br />
  }<br />
</code></p>
<p>And here&#8217;s how to use it in your templates:<br />
<code><br />
   &lt;lift :Gravatar.getGravatar e="email address" s="80" r="G" /&gt;<br />
</code></p>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2008/03/11/gravatars-and-liftweb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using MySql with Lift</title>
		<link>http://www.praytothemachine.com/evil/2007/11/24/using-mysql-with-lift/</link>
		<comments>http://www.praytothemachine.com/evil/2007/11/24/using-mysql-with-lift/#comments</comments>
		<pubDate>Sat, 24 Nov 2007 19:05:24 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[LiftWeb]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[lift]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.praytothemachine.com/evil/?p=428</guid>
		<description><![CDATA[I need to use MySQL with my Lift webapp and here&#8217;s how I did it. In Boot.scala I replaced the Derby DBVendor object with a MySQL object. Hope that helps. Add this to your pom.xml: &#60;dependency&#62; &#60;groupid&#62;mysql&#60;/groupid&#62; &#60;artifactid&#62;mysql-connector-java&#60;/artifactid&#62; &#60;version&#62;5.0.41&#60;/version&#62; &#60;/dependency&#62; object DBVendor extends ConnectionManager { def newConnection(name: ConnectionIdentifier): Can[Connection] = { try { Class.forName("com.mysql.jdbc.Driver") val [...]]]></description>
			<content:encoded><![CDATA[<p>I need to use <a href="http://www.mysql.org/" onclick="pageTracker._trackPageview('/outgoing/www.mysql.org/?referer=');">MySQL</a> with my <a href="http://www.liftcode.com/" onclick="pageTracker._trackPageview('/outgoing/www.liftcode.com/?referer=');">Lift webapp</a> and here&#8217;s how I did it.  In Boot.scala I replaced the Derby DBVendor object with a MySQL object.  Hope that helps.</p>
<p>Add this to your pom.xml:</p>
<pre>
        &lt;dependency&gt;
          &lt;groupid&gt;mysql&lt;/groupid&gt;
          &lt;artifactid&gt;mysql-connector-java&lt;/artifactid&gt;
          &lt;version&gt;5.0.41&lt;/version&gt;
        &lt;/dependency&gt;
</pre>
<p><code>object DBVendor extends ConnectionManager {<br />
  def newConnection(name: ConnectionIdentifier): Can[Connection] = {<br />
    try<br />
    {<br />
      Class.forName("com.mysql.jdbc.Driver")<br />
      val dm = DriverManager.getConnection("jdbc:mysql://localhost:3306/database_name", "user", "password")<br />
      Full(dm)<br />
    }<br />
    catch<br />
    {<br />
      case e : Exception => e.printStackTrace; Empty<br />
    }<br />
  }<br />
  def releaseConnection(conn: Connection)<br />
  {<br />
    conn.close<br />
  }<br />
}<br />
</code></p>
<p>Next up is learning how to set up my domain objects properly.</p>]]></content:encoded>
			<wfw:commentRss>http://www.praytothemachine.com/evil/2007/11/24/using-mysql-with-lift/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

