<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0"><channel><title>Infozerk Inc.: averyBlog</title><link>http://infozerk.com/averyblog/</link><description /><generator>Graffiti CMS 1.0 (build 1.0.1.963)</generator><lastBuildDate>Fri, 02 Jan 2009 20:32:19 GMT</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/averyBlog" type="application/rss+xml" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FaveryBlog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FaveryBlog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FaveryBlog" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Ffeeds.feedburner.com%2FaveryBlog" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/averyBlog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FaveryBlog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FaveryBlog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FaveryBlog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item><title>Rails for .NET Developers and the Alt.Net Podcast</title><link>http://infozerk.com/averyblog/rails-for-net-developers-and-the-alt-net-podcast/</link><pubDate>Fri, 02 Jan 2009 23:32:19 GMT</pubDate><guid isPermaLink="true">http://infozerk.com/averyblog/rails-for-net-developers-and-the-alt-net-podcast/</guid><dc:creator>James Avery</dc:creator><slash:comments>0</slash:comments><category domain="http://infozerk.com/averyblog/">averyBlog</category><description>&lt;p style="text-align:center"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51cctS-JKgL._SL160_.jpg" width="134" height="160" name="51cctS-JKgL._SL160_.jpg" style="margin-top: 2px; margin-bottom: 2px; margin-right: 2px; margin-left: 2px; padding-top: 2px; padding-bottom: 2px; padding-left: 2px; float: right;" /&gt;&lt;/p&gt;
&lt;p&gt;Last year I had the opportunity to be a technical reviewer on &lt;a href="http://www.amazon.com/Rails-NET-Developers-Facets-Ruby/dp/1934356204%3FSubscriptionId%3D0PZ7TM66EXQCXFVTMTR2%26tag%3Dinfozerk-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1934356204"&gt;Rails for .NET Developers&lt;/a&gt; by Jeff Cohen and Brian Eng (of &lt;a href="http://www.softiesonrails.com/"&gt;Softies of Rails&lt;/a&gt; fame). I haven't done a technical review in a long-time and it wasn't half as painful as I remembered. It helped that the book is well written and an enjoyable read. &lt;strong&gt;I definitely think this book is the best place to start for a .NET developer who wants to learn Rails.&lt;/strong&gt; The book isn't a substitute for reading mainstays like &lt;a href="http://www.amazon.com/Agile-Web-Development-Rails-2nd/dp/0977616630%3FSubscriptionId%3D0PZ7TM66EXQCXFVTMTR2%26tag%3Dinfozerk-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0977616630"&gt;Agile Web Dev with Rails&lt;/a&gt; or &lt;a href="http://www.amazon.com/Programming-Ruby-Pragmatic-Programmers-Second/dp/0974514055%3FSubscriptionId%3D0PZ7TM66EXQCXFVTMTR2%26tag%3Dinfozerk-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0974514055"&gt;The PickAxe book&lt;/a&gt;, but by reading this book first you would be able to pick up the concepts much easier and quicker.&lt;/p&gt;
&lt;p&gt;I was also thrilled just to be involved with a pragmatic programmer book, since I am &lt;a href="http://infozerk.com/averyblog/new-pragmatic-programmer-site/"&gt;kind of a fanboi&lt;/a&gt;, and even ended up with a quote I gave them on the back cover.&lt;/p&gt;
&lt;p&gt;A couple weeks ago I also did a quick &lt;a href="http://www.altnetpodcast.com/episodes/13-ruby-on-rails"&gt;Alt.Net Podcast&lt;/a&gt; (more on the podcast later) with Jeff, Brian, and Mike Moore. It was a good time and I think it turned out nicely.&lt;/p&gt;
&lt;p&gt;-James&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AVERY/B1B84B3D3AD070A758E115F64C4E6531C24A4421"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AVERY/B1B84B3D3AD070A758E115F64C4E6531C24A4421"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/averyBlog?a=oKyp2l.P"&gt;&lt;img src="http://feeds.feedburner.com/~f/averyBlog?i=oKyp2l.P" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>2008 In Review</title><link>http://infozerk.com/averyblog/2008-in-review/</link><pubDate>Thu, 01 Jan 2009 03:55:14 GMT</pubDate><guid isPermaLink="true">http://infozerk.com/averyblog/2008-in-review/</guid><dc:creator>James Avery</dc:creator><slash:comments>0</slash:comments><category domain="http://infozerk.com/averyblog/">averyBlog</category><description>&lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3259/3154626351_7c6d1c5ce7_m.jpg" width="163" height="217" alt="rinnycakes.jpg" style="float:right; padding-top:2px; padding-right:2px; padding-bottom:2px; padding-left:4px;" /&gt;It's New Years Eve and what better way to spend the night then writing up a post about the last year. The biggest change this year was the birth of my wonderful daughter Katherine, who we affectionately call Rin. It truly has been life changing and while it would be nice if she slept a little bit more than she does she is an extremely cute and happy baby who is growing and learning so quickly.&lt;/p&gt;
&lt;p&gt;I feel good about what I was able to accomplish this year. I covered some of the progress on The Lounge in an &lt;a href="http://infozerk.com/averyblog/the-lounge-one-year-later/"&gt;earlier post&lt;/a&gt;, but basically I took over The Lounge in late december and managed to quadruple the number of publishers, venture into podcast, screencast, and &lt;a href="http://infozerk.com/averyblog/rss-advertising-with-the-lounge/"&gt;RSS advertising&lt;/a&gt; and increase the revenue by over 5x. I launched the Ruby Room which because &lt;a href="http://www.rubyrow.net/Home"&gt;Ruby Row&lt;/a&gt; and it is doing great so far. I wish I had launched more networks this year and that will be a major focus of mine next year.&lt;/p&gt;
&lt;p&gt;I also had the pleasure of working with Microsoft and the SDS team to write the &lt;a href="http://infozerk.com/averyblog/sds-and-ruby/"&gt;ruby library for Microsoft SDS&lt;/a&gt;, it was great to not only be playing with a cool new technology like SDS but to be using Ruby with it made it even better.&lt;/p&gt;
&lt;p&gt;Earlier this year &lt;a href="http://infozerk.com/averyblog/new-years-goals/"&gt;I posted&lt;/a&gt; some goals so here is a quick rundown of how I did.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Goal #1: Lose Weight and get into shape.&lt;/p&gt;
&lt;p&gt;My plan to lose weight didn't work out very well but I have high hopes for the year ahead. I never expected how much time a baby would consume and it has made it tough to get back into my running schedule. Things are starting to stabilize though and I think I will be able to get back into it and hope to run at least a 10k by the end of the year.&lt;/p&gt;
&lt;p&gt;Goal #2: Minimize and Simplify&lt;/p&gt;
&lt;p&gt;This isn't a great goal since it's hard to measure, but I do feel like I have minimized and trashed alot of clutter and that I have embraced simplicity in everything I attempt. (it is a constant struggle to keep things simple, but it is a very noble goal)&lt;/p&gt;
&lt;p&gt;Goal #3: Stop Consulting&lt;/p&gt;
&lt;p&gt;I didn't manage to do this in 2008, but my long-term contract is ending Jan 15th and I will be attempting to avoid taking another long-term contract. I am open to smaller contracts, but I don't want another 6-12 month contract and if possible I would like to avoid it completely. (more on this later)&lt;/p&gt;
&lt;p&gt;Goal #4: Make 22books a success&lt;/p&gt;
&lt;p&gt;Well, this definitely didn't happen. I decided I needed to focus on The Lounge and Ruby Row over doing any work on 22books. I haven't made any updates in months, but the site continues to work and has a small group of users. On the plus side the site has been running on a couple of mongrels without being restarted for 6+ months.&lt;/p&gt;
&lt;p&gt;Goal #5: Grow The Lounge&lt;/p&gt;
&lt;p&gt;I posted about this earlier this week, The Lounge has continued to grow and has started to surpass my expectations. I have huge plans for The Lounge in 2009.&lt;/p&gt;
&lt;p&gt;Goal #6: Re-Launch Windows Developer Power Tools&lt;/p&gt;
&lt;p&gt;I missed this one as well, my decision to focus on The Lounge and Ruby Row meant other ventures like this suffered.&lt;/p&gt;
&lt;p&gt;Goal #7: Reset this blog&lt;/p&gt;
&lt;p&gt;I didn't write a post a week, I am not even sure I wrote a post a month. I can't believe that I used to post daily back in 04, but I lived a totally different life back then... I wish I had that time now.&lt;/p&gt;
&lt;p&gt;So while I didn't hit alot of my goals I learned some very important lessons about focus. By neglecting 22books and WDPT as well as the blog I was able to get much more done on The Lounge and Ruby Row than I would of otherwise . I am going to keep this in mind when making goals for next year.&lt;/p&gt;
&lt;p&gt;-James&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AVERY/AFAC2516AF26804AF76155A20BF80CE1E31D839D"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AVERY/AFAC2516AF26804AF76155A20BF80CE1E31D839D"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/averyBlog?a=ZcR9Xt.O"&gt;&lt;img src="http://feeds.feedburner.com/~f/averyBlog?i=ZcR9Xt.O" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>The Lounge - One Year Later</title><link>http://infozerk.com/averyblog/the-lounge-one-year-later/</link><pubDate>Tue, 16 Dec 2008 22:33:51 GMT</pubDate><guid isPermaLink="true">http://infozerk.com/averyblog/the-lounge-one-year-later/</guid><dc:creator>James Avery</dc:creator><slash:comments>2</slash:comments><category domain="http://infozerk.com/averyblog/">averyBlog</category><description>&lt;p&gt;On December 16th 2007, a year ago today, I took over The Lounge Advertising Network from my buddy Kevin F. Here is a quick summary of the first year:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Grew from 10 publishers to 40&lt;/li&gt;

  &lt;li&gt;Launched the &lt;a href="http://www.theloungenet.com/rooms/DOTNETSP"&gt;Small Publishers Room&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;Launched the first .NET focused RSS advertising offering with the &lt;a href="http://www.theloungenet.com/rooms/DOTNETRSS"&gt;RSS Room&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;Launched the &lt;a href="http://www.theloungenet.com/rooms/DOTNETPOD"&gt;Podcast&lt;/a&gt; and &lt;a href="http://www.theloungenet.com/rooms/DOTNETSC"&gt;Screencast&lt;/a&gt; rooms&lt;/li&gt;

  &lt;li&gt;Started the year with 2 advertisers, sold out all rooms for the first time in July.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also have a couple of new things to announce today. The first is a couple of new publishers who actually joined last month but I never blogged about. Both have joined the Small Publishers Room and I think make great additions.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.kevinwilliampang.com"&gt;&lt;img src="http://static.theloungenet.com/publishers/pang.jpg" width="175" height="100" alt="016A6590-75A7-49BA-BB06-D5A6F916C146.jpeg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.kevinwilliampang.com/"&gt;Kevin Pang&lt;/a&gt; writes a great blog and you will quickly notice he loves creating lists.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;img name="EGOZI.png" height="100" width="174" src="http://static.theloungenet.com/publishers/egozi.png" style="" id="EGOZI.png" /&gt; &lt;a href="http://www.kenegozi.com/blog"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.kenegozi.com/blog"&gt;Ken Egozi&lt;/a&gt; is very active in open source. He is a committer to the Castle project and helps out on the NHibernate mailing list and wiki.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;a href="http://www.theloungenet.com/rooms/NETOS"&gt;&lt;img name="NETOS.png" height="100" width="175" src="http://static.theloungenet.com/netos.png" style="" id="NETOS.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The second announcement is a new room called the &lt;a href="http://www.theloungenet.com/rooms/NETOS"&gt;Open Source .NET Room&lt;/a&gt;. This room will be a way for open source projects and developers to make money from advertising without resorting to large banner ads or google adsense. I was hesitant to start this room because I don't want to be seen as profiting off of open source, so all the proceeds of this room are going to fund the servers that run &lt;a href="http://ideavine.net/"&gt;ideavine.net&lt;/a&gt;. If you have an open source project and you would like to be a part of this room please email me (javery at this domain).&lt;/p&gt;
&lt;p&gt;I also have another new room that will be launching in the new year, but I am not yet ready to make that public.&lt;/p&gt;
&lt;p&gt;Its been an amazing year and I hope next year is even better.&lt;/p&gt;
&lt;p&gt;-James&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AVERY/F0BD8ECC1F35F281996E3B957FFA235EBF5260A6"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AVERY/F0BD8ECC1F35F281996E3B957FFA235EBF5260A6"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/averyBlog?a=J605O"&gt;&lt;img src="http://feeds.feedburner.com/~f/averyBlog?i=J605O" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>Announcing ShadowCamp</title><link>http://infozerk.com/averyblog/announcing-shadowcamp/</link><pubDate>Tue, 11 Nov 2008 05:27:12 GMT</pubDate><guid isPermaLink="true">http://infozerk.com/averyblog/announcing-shadowcamp/</guid><dc:creator>James Avery</dc:creator><slash:comments>2</slash:comments><category domain="http://infozerk.com/averyblog/">averyBlog</category><description>&lt;p&gt;
There are more and more one-day local events every year, and each time people come into town, go to the event, then meander home sometime on Sunday. A couple months ago I had the idea to run a separate unaffiliated event on the Sunday morning after one of these local events.
&lt;/p&gt;
&lt;p&gt;
We will be having the first &lt;a href="http://barcamp.org/ShadowCamp"&gt;ShadowCamp&lt;/a&gt; this weekend on Sunday after the Raleigh Code Camp. It will be held at the same venue (ECPI) and will of course be free. The only catch is that we are capping attendance at 30, but it is first-come, first-serve. Even though Raleigh Code Camp is focused on .NET and ShadowCamp attendance will probably be slanted towards .NET, I am sure there will be plenty of people interested in other languages and technologies so don't let that stop you from coming.
&lt;/p&gt;
&lt;p&gt;
Many of these code camps now include open spaces events, but I wanted to experiment with a pure open spaces event. There will be no other talks other than open spaces.
&lt;/p&gt;
&lt;p&gt;
So, if you live in the area or are in-town for Raleigh Code Camp go &lt;a href="http://barcamp.org/ShadowCamp"&gt;register&lt;/a&gt; and participate in this experiment.
&lt;/p&gt;
&lt;p&gt;
-James
&lt;/p&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AVERY/C77240499EF71AD4E49E7E8CFE7553B236DDC569"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AVERY/C77240499EF71AD4E49E7E8CFE7553B236DDC569"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/averyBlog?a=XB0qN"&gt;&lt;img src="http://feeds.feedburner.com/~f/averyBlog?i=XB0qN" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>RubyConf 2008 Day 3</title><link>http://infozerk.com/averyblog/rubyconf-2008-day-3/</link><pubDate>Tue, 11 Nov 2008 05:17:09 GMT</pubDate><guid isPermaLink="true">http://infozerk.com/averyblog/rubyconf-2008-day-3/</guid><dc:creator>James Avery</dc:creator><slash:comments>0</slash:comments><category domain="http://infozerk.com/averyblog/">averyBlog</category><description>&lt;p&gt;
I am a little late in posting this but I wanted to post my thoughts on the last day and the overall conference. I was a little "talked out" by the third day so I only ended up only going to a couple of talks&lt;/p&gt;
&lt;h3&gt;Advanced DSLs in Ruby&lt;/h3&gt;
&lt;p&gt;
Neal Ford did an excellent job talking about how to build DSLs in Ruby and true to the name of the talk he didn't just cover the basics, he dug down into various techniques you can use to build a good DSL in Ruby. There is a &lt;a href="http://jroller.com/dscataglini/entry/railsconf_2008_advanced_dsls_in"&gt;great write-up of the talk over here&lt;/a&gt;, and Neal has posted his slides over &lt;a href="http://www.nealford.com/mypastconferences.htm"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;The Ruby Code Review. A Play in Three Acts&lt;/h3&gt;
&lt;p&gt;
This was a very entertaining talk with Jim Weirich and Chris Nelson. I worked with both of these guys on my last contract but when Chris and I ran into each other we couldn't place where we knew each other from since we weren't wearing ties and in the right context. The talk was basically a mock code review of Chris showing very poorly tested and written code to Jim. It was a blast to watch and a good re-inforcement of good testing and coding principles.
&lt;/p&gt;
&lt;p&gt;
I spent the rest of the day getting ready to head out and then had a great conversation with &lt;a href="http://orderedlist.com/"&gt;John Nunemaker&lt;/a&gt;. John and I have alot in common and I had a great time exchanging ideas and brainstorming about our various projects.
&lt;/p&gt;
&lt;p&gt;
The conference was over and I headed back to the order with my free ride (Fred) and hung out at the airport with &lt;a href="http://matthewbass.com/"&gt;Matthew Bass&lt;/a&gt; and &lt;a href="http://ryandaigle.com/"&gt;Ryan Daigle&lt;/a&gt; until out plane left.
&lt;/p&gt;
&lt;p&gt;
Overall it was an amazing conference, I am already thinking about next year. It was great to meet most of the members of Ruby Row and many of the other developers I have run into over the last year. One thing that I would totally love to see next year (&lt;a href="http://www.37signals.com/svn/posts/1380-unconferences"&gt;like Jamis&lt;/a&gt;) is an open spaces track that would let people self-organize some great conversations and presentations about their projects. Like most conferences the best times are usually in the halls chatting with people or peering over their laptop to see what they are working on.
&lt;/p&gt;
&lt;p&gt;
-James
&lt;/p&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AVERY/81A5917C8F7AC619C0B3D6E26BA270FB9B46CCB9"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AVERY/81A5917C8F7AC619C0B3D6E26BA270FB9B46CCB9"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/averyBlog?a=alRbN"&gt;&lt;img src="http://feeds.feedburner.com/~f/averyBlog?i=alRbN" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>RubyConf 2008 Day 2</title><link>http://infozerk.com/averyblog/rubyconf-2008-day-2/</link><pubDate>Sat, 08 Nov 2008 15:52:40 GMT</pubDate><guid isPermaLink="true">http://infozerk.com/averyblog/rubyconf-2008-day-2/</guid><dc:creator>James Avery</dc:creator><slash:comments>0</slash:comments><category domain="http://infozerk.com/averyblog/">averyBlog</category><description>&lt;p&gt;I decided to take a different approach for Day 2 and write a single post instead of writing an entry for every talk. Last year when I had power in the room it was much easier to write the post during the talk, but this year without power I have to try and save my batter power for those boring talks where I want to work on something else.&lt;/p&gt;

&lt;h3&gt;Aristotle and the art of software development - &lt;a href="http://railspikes.com/"&gt;Jonathan Dahl&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;
This was the first talk of the day and it was very enjoyable. Jonathan obviously comes from a philosophy background and drew on that to make some interesting observations about being a developer. The one that stuck with me is the comparison to morals. When kids are young they follow a very strict rule set which is eventually internalized into morals. Development is very similar, for instance DRY (Don't Repeat Yourself) could be considered a rule of development. But it is very much a judgement call on how far to take DRY, taking it too far can produce overly complicated and obfuscated code. Overall it was a great talk, you can see the &lt;a href="http://railspikes.com/2008/11/7/aristotle-and-software-at-railsconf"&gt;slides up&lt;/a&gt; already on Jon's blog.
&lt;/p&gt;

&lt;h3&gt;Fear of Programming - &lt;a href="http://blog.talbott.ws/"&gt;Nathaniel Talbott&lt;/a&gt; &lt;/h3&gt;
&lt;p&gt;
This talk was something I am very familiar with. I used to be very afraid of giving presentations, but one time I gave a presentation for some material I wasn't very familiar with. It was a canned talk from MS for one of their events and was a complete disaster. The next talk I gave was infinitely better though because I had gotten over my fear of completely bombing on a talk. I realized that while it wasn't fun to flop a talk, it didn't cause me that much harm and I was much more willing to take chances and throw myself into a talk after I saw that it couldn't really be that bad. This talk was about the same thing but with writing code and working on side projects. It was a very open talk with no slides and lots of audience participation, it was almost like an open space. 
&lt;/p&gt;

&lt;h3&gt;What Every Rubyist Should Know About Threads - &lt;a href="http://onestepback.org/"&gt;Jim Weirich&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;
I love seeing Jim Weirich talk. I have seen him talk more about Ruby more than any other person and his enthusiasm is infectious. For this talk Jim walked through the basics of threading then covered how to deal with the various race conditions that you can encounter and how to tackle them. Jim then went on to cover some of the various other languages that are better built for concurrency including &lt;a href="http://www.erlang.org/"&gt;Erlang&lt;/a&gt; and &lt;a href="http://clojure.org/"&gt;Clojure&lt;/a&gt;.
&lt;/p&gt;

&lt;h3&gt;Effective and Creative Coding: Help from Cognitive Psychology in Caring For the Rubyist's Mind - Evan Ivancich&lt;/h3&gt;
&lt;p&gt;
This was a very interesting talk that covered how our minds work while we are programming. It covered the differences between fascination and direct attention and the affects of the mental fatigue that long periods of direct attention can have on you. One interesting study showed how people who took a vacation in a wilderness setting vs. an urban setting 
had less fatigue and could better focus after the vacation. This talk didn't include alot of actionable items, but it was fascinating to learn a little bit more about how our brains work&lt;/p&gt;

&lt;h3&gt;Writing Code That Doesn't Suck: Interface Oriented Design - &lt;a href="http://yehudakatz.com/"&gt;Yehuda Katz&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;
This was a great talk that consisted on one main point. Unit tests are not regression tests. We should be writing regression tests that make sure that the API we are exposing to the world doesn't change or break while we work on our application. So much of unit testing is now focused on testing the actual implementation of that functionality instead of testing the actual interface and functionality. The example he had from Merb was where they used to test lots of the internals of the Render method, but they didn't have a simple test to call the Render method and make sure that the response type is HTTP. How that happens doesn't matter to the outside world, what matters is that the external interface doesn't break. I agree with Yehuda that this is something that is sorely missing in most Ruby programs, because Ruby is so open people tend to forget that they should still care about the public interface of their application.
&lt;/p&gt;

&lt;h3&gt;OS X Application Development with HotCocoa - &lt;a href="http://richkilmer.blogs.com/"&gt;Rich Kilmer&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;
This talk was freaking awesome. Rich has written a ruby wrapper over Cocoa that along with MacRuby makes writing Cocoa applications in Ruby extremely easy. Rich walked through creating a simple app and showed off controlling iTunes from Ruby code, all very cool stuff. The only downside is that there is still alot of work left to wrap Cocoa and make this a viable solution to writing Cocoa apps.
&lt;/p&gt;

&lt;h3&gt;Keynote by &lt;a href="http://pragdave.pragprog.com/"&gt;Dave Thomas&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;
After dinner we came back for the Dave Thomas keynote. Before the talk they gave away books and I was lucky enough to win Programming Erlang from Joe Armstrong which was perfect since I am looking to use Erlang for a number of things. Dave did an excellent keynote where he started by encouraging people to fork the ruby language. Not to try and replace the existing ruby, but to encourage experimentation in Ruby. Dave went through four different possible forks, but the one that connected with me was RubyLite. I would love to see less methods and features in core Ruby and more moved out to gems, especially things in the standard library. This is a tough line to walk though, one of the benefits of Ruby is that by downloading Ruby you get so much functionality. I can see where it might be frustrating to have to install 10-15 gems to get a reasonably complex application up and working, but I think there is definitely some room to move things to gems without taking it to far. I am sure a number of RubyLites will popup on github and I look forward to seeing what they accomplish.
&lt;/p&gt;

&lt;p&gt;
After the keynote I grabbed a couple beers and hacked on some code then went to bed way too late.&lt;/p&gt;
&lt;p&gt;
-James
&lt;/p&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AVERY/19FD4D521AB7479B0314D1C1837C2DEFAD8F1468"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AVERY/19FD4D521AB7479B0314D1C1837C2DEFAD8F1468"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/averyBlog?a=rcMpN"&gt;&lt;img src="http://feeds.feedburner.com/~f/averyBlog?i=rcMpN" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>RubyConf 08: John Lam - IronRuby</title><link>http://infozerk.com/averyblog/rubyconf-08-john-lam-ironruby/</link><pubDate>Sat, 08 Nov 2008 14:42:45 GMT</pubDate><guid isPermaLink="true">http://infozerk.com/averyblog/rubyconf-08-john-lam-ironruby/</guid><dc:creator>James Avery</dc:creator><slash:comments>1</slash:comments><category domain="http://infozerk.com/averyblog/">averyBlog</category><description>&lt;p&gt;
John walked through some of the cool stuff they are doing with IronRuby. He started out showing how you can host the ruby engine in a C# application, in just a couple lines of code he wrote a WPF irb clone. He also showed how with C# 4.0 you can run the ruby engine, send it code, then reach in and get specific variables and pull them back out (using the dynamic keyword).
&lt;/p&gt;
&lt;p&gt;
He went on to show accessing C# from IronRuby and even monkey patching a CLR class from IronRuby, which was pretty cool. Corey Haines asked to confirm and you can even undef methods from a CLR class from IronRuby. (of course they would only be modified from a DLR perspective)
&lt;/p&gt;
&lt;p&gt;
John also shared some interesting statistics, I believe they were that the language rubyspecs were around 93% passing and the lib specs were around 78% complete. He also mentioned that performance right now is mostly better than MRI with some that is worse but that they haven't spent alot of time on it yet. IronRuby and the DLR clock in at only 2MB when compressed, which is fairly impressive.
&lt;/p&gt;
&lt;p&gt;
There was a question about 1.9 which he basically said they weren't even thinking about yet, which is worrisome since it will probably be out fairly soon and I would at least like to hear that they have a plan on how to implement it. (otherwise they will always be behind)
&lt;/p&gt;



&lt;p&gt;
I have to say I was very happy to not see any Silverlight in the talk, there was a decent amount of XAML and WPF but that is OK. I just don't want to see IronRuby and Silverlight joined at the hip, which for the first year or so seemed to be the case.
&lt;/p&gt;
&lt;p&gt;
-James
&lt;/p&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AVERY/7F22C8E677B7A602D7C83E1550F75FCA68742B32"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AVERY/7F22C8E677B7A602D7C83E1550F75FCA68742B32"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/averyBlog?a=zJi8N"&gt;&lt;img src="http://feeds.feedburner.com/~f/averyBlog?i=zJi8N" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>RubyConf 08: Jamis Buck - Recovering from the Enterprise</title><link>http://infozerk.com/averyblog/rubyconf-08-jamis-buck-recovering-from-the-enterprise/</link><pubDate>Thu, 06 Nov 2008 22:51:22 GMT</pubDate><guid isPermaLink="true">http://infozerk.com/averyblog/rubyconf-08-jamis-buck-recovering-from-the-enterprise/</guid><dc:creator>James Avery</dc:creator><slash:comments>1</slash:comments><category domain="http://infozerk.com/averyblog/">averyBlog</category><description>&lt;p&gt;The main idea of this talk was that working in the enterprise gets you used to certain solutions and its easy to try and apply those solutions in Ruby where they might not apply.  &lt;a href="http://weblog.jamisbuck.org/"&gt;Jamis&lt;/a&gt; worked in Java and when he came to Ruby he wanted to bring dependency injection to Ruby and wrote two different frameworks for Ruby to enable dependency injection. 
&lt;/p&gt;
&lt;p&gt;
The first he wrote was called &lt;a href="http://rubyforge.org/projects/copland/"&gt;Copland&lt;/a&gt; and was very much a Java library written in Ruby, one stat he mentioned was that there was 161 lines of YAML config for a 250 line ruby library. He presented it at RubyConf and the main recommendation was to get rid of the config and write it in Ruby. Jim Weirich went as far as to write a small sample of how he would do it, Jamis ran with the sample and created another library called &lt;a href="http://rubyforge.org/projects/needle/"&gt;Needle&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
To try and show why these libraries were needed Jamis added Needle to his &lt;a href="http://net-ssh.rubyforge.org/"&gt;NET:SSH&lt;/a&gt; project. He went as far as to make the cryptography library configurable, even though there is only one ruby cryptography library. It's a classic example of of "enterprise thinking".&lt;/p&gt;
&lt;p&gt;
Jamis has since realized that he was trying to use Java solutions in a Ruby world. His analogy was that Java is like Legos and Ruby is like Play-Doh, you wouldn't mold Play-Doh into little blocks to build something... because you don't have the constraints that you have with Legos. 
&lt;/p&gt;
&lt;p&gt;
One great quote was "Just in time, not just in case" which is a nice re-statement of YAGNI.
&lt;/p&gt;
&lt;p&gt;
UPDATE: Jamis has posted a &lt;a href="http://weblog.jamisbuck.org/2008/11/9/legos-play-doh-and-programming"&gt;great post&lt;/a&gt; summing up his talk.
&lt;/p&gt;
&lt;p&gt;
-James
&lt;/p&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AVERY/89D9F13B5D5F07C6BE73219BB16EC71F73E71723"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AVERY/89D9F13B5D5F07C6BE73219BB16EC71F73E71723"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/averyBlog?a=gqOnN"&gt;&lt;img src="http://feeds.feedburner.com/~f/averyBlog?i=gqOnN" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>RubyConf 2008: Mark Bates - Building Distributed Applications </title><link>http://infozerk.com/averyblog/rubyconf-2008-mark-bates-building-distributed-applications/</link><pubDate>Thu, 06 Nov 2008 21:10:03 GMT</pubDate><guid isPermaLink="true">http://infozerk.com/averyblog/rubyconf-2008-mark-bates-building-distributed-applications/</guid><dc:creator>James Avery</dc:creator><slash:comments>0</slash:comments><category domain="http://infozerk.com/averyblog/">averyBlog</category><description>&lt;p&gt;About this time my battery died on my laptop and this year there is no power available in the rooms (which is a major bummer) so my notes on this talk aren't as good as my other notes.&lt;/p&gt;
&lt;p&gt;
Basically this talk was about a number of libraries available to make working with distributed ruby very easy. The first is &lt;a href="http://chadfowler.com/ruby/drb.html"&gt;Drb&lt;/a&gt; with is the base library need to use distributed ruby. The second is &lt;a href="http://ruby-doc.org/stdlib/libdoc/rinda/rdoc/index.html"&gt;Rinda&lt;/a&gt; which is a server used to register and communicate with your ruby services.
&lt;/p&gt;
&lt;p&gt;
Mark then went onto to cover his &lt;a href="http://www.mackframework.com/about/"&gt;Mack Framework&lt;/a&gt; which is a framework for building portal like applications in Ruby. It basically gives you a very easy way to bring multiple applications together into a portal application using distributed ruby to communicate between the different applications.
&lt;/p&gt;
&lt;p&gt;
-James
&lt;/p&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AVERY/95968ED672A3547A8CBDA87B715E8EED6C37D19D"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AVERY/95968ED672A3547A8CBDA87B715E8EED6C37D19D"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/averyBlog?a=uq7JN"&gt;&lt;img src="http://feeds.feedburner.com/~f/averyBlog?i=uq7JN" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>RubyConf 2008: Evan Phoenix - Rubinius </title><link>http://infozerk.com/averyblog/rubyconf-2008-evan-phoenix-rubinius/</link><pubDate>Thu, 06 Nov 2008 18:19:35 GMT</pubDate><guid isPermaLink="true">http://infozerk.com/averyblog/rubyconf-2008-evan-phoenix-rubinius/</guid><dc:creator>James Avery</dc:creator><slash:comments>0</slash:comments><category domain="http://infozerk.com/averyblog/">averyBlog</category><description>&lt;p&gt;For this talk Evan went through some of the challenges and choices they made in re-writing the VM from C to C++. It was interesting to see some of the internals but for the most part I was more interested in hearing about the progress of the project and when it might be ready for use... unfortunately all we found out is that it is going well, they are happy with their progress, but no information on when it might be ready for production.&lt;/p&gt;

&lt;p&gt;-James&lt;/p&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AVERY/B01C6C5EBC836338EA75B255583C77AB0C105BE6"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AVERY/B01C6C5EBC836338EA75B255583C77AB0C105BE6"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/averyBlog?a=yxiPN"&gt;&lt;img src="http://feeds.feedburner.com/~f/averyBlog?i=yxiPN" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description></item></channel></rss>
