<?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>metal &#38; gin &#187; programming</title>
	<atom:link href="http://blog.craig-mackenzie.com/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.craig-mackenzie.com</link>
	<description>(a weblog by craig t mackenzie)</description>
	<lastBuildDate>Thu, 19 Mar 2009 20:56:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rails 2.0, out now!</title>
		<link>http://blog.craig-mackenzie.com/2007/12/10/rails-20-out-now/</link>
		<comments>http://blog.craig-mackenzie.com/2007/12/10/rails-20-out-now/#comments</comments>
		<pubDate>Mon, 10 Dec 2007 10:33:11 +0000</pubDate>
		<dc:creator>craig mackenzie</dc:creator>
				<category><![CDATA[observations]]></category>
		<category><![CDATA[ruby/rails]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.craig-mackenzie.com/2007/12/10/rails-20-out-now/</guid>
		<description><![CDATA[
I&#8217;m a little bit late to the party on this one, but it would appear that Rails 2.0(.1) is finally out. Friday saw the birth of the second major release of the framework we love to love, and it jam packed with lots of loveliness and joy.


Rails 2.0 (i wonder how long until the trolls [...]]]></description>
			<content:encoded><![CDATA[<p>
I&#8217;m a little bit late to the party on this one, but it would appear that Rails 2.0(.1) is finally out. Friday saw the birth of the second major release of the framework we love to love, and it jam packed with lots of loveliness and joy.
</p>
<p>
Rails 2.0 (i wonder how long until the trolls think Rails 2.0 is a Rails mash-up or something) brings with it lots of new features, polish, fixes and sexy, here are some of my favourites:
</p>
<ul>
<li>Namespaces in ActionPack</li>
<li>Seperation of view-type and renderer (ie. <code>show.html.erb</code> or <code>show.html.haml</code>)</li>
<li>Automagic record routing: <code>form_for(person)</code></li>
<li>HTTP Authentication baked in!</li>
<li>Request Profiler</li>
<li>Sexy Migrations, say a big thanks to <a href="http://errtheblog.com/" title="err.the_blog">err.the blog</a> for this one</li>
<li>ActiveRecord XML deserialization and JSON serialization</li>
<li>ActiveResource (like AR for REST api&#8217;s) </li>
</ul>
<p>
There are (obviously) tons more features to the release, i suggest you check out the <a href="http://weblog.rubyonrails.com/2007/12/7/rails-2-0-it-s-done" title="Riding Rails: Rails 2.0: It's done!">official announcement</a> as well as <a href="http://ryandaigle.com/articles/2007/12/7/rails-2-0-final-released-summary-of-features" title="Ryan's Scraps: Rails 2.0 Final Released! - Summary of Features">Ryan&#8217;s awesome post</a>. Happy coding bitches!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.craig-mackenzie.com/2007/12/10/rails-20-out-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google OpenSocial &amp; the Future of the Social Web</title>
		<link>http://blog.craig-mackenzie.com/2007/11/03/google-opensocial-and-the-future-of-the-social-web/</link>
		<comments>http://blog.craig-mackenzie.com/2007/11/03/google-opensocial-and-the-future-of-the-social-web/#comments</comments>
		<pubDate>Sat, 03 Nov 2007 11:09:46 +0000</pubDate>
		<dc:creator>craig mackenzie</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[musings]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[social-web]]></category>

		<guid isPermaLink="false">http://blog.craig-mackenzie.com/2007/11/03/google-opensocial-and-the-future-of-the-social-web/</guid>
		<description><![CDATA[
Today I attended a Google Developers breakfast to learn about one of Google&#8217;s latest tool for developers. The event went swimmingly and the focus was on their brand spanking new API, &#8220;OpenSocial&#8221;. The seminar was (obviously) focused mainly at developers and therefore this post is very much from a developers point of view.

What is Google [...]]]></description>
			<content:encoded><![CDATA[<p>
Today I attended a Google Developers breakfast to learn about one of Google&#8217;s latest tool for developers. The event went swimmingly and the focus was on their brand spanking new API, &#8220;OpenSocial&#8221;. The seminar was (obviously) focused mainly at developers and therefore this post is very much from a developers point of view.
</p>
<h2>What is Google OpenSocial?</h2>
<p>
	Google OpenSocial are two sets of API&#8217;s; one for developers and one for owners of social-oriented websites. They facilitate with the development of building &#8220;Social Applications&#8221; for a variety of social networking websites. The basic premise is that me as a developer I can learn one API (OpenSocial) and use my knowledge of that API to build social-oriented applications for any website which is an OpenSocial &#8220;container&#8221;  (has implemented the website owner version of the OpenSocial API).
</p>
<p>
	The developer API consists of standard&#8217;s based xHTML + JavaScript. This is brilliant news as anyone who&#8217;s anyone knows these languages like the back of their hand. The API&#8217;s allow easy access to common social-network oriented data such as users, users friends lists, the &#8220;social news feed&#8221; and other social-graph data. The API also allows you to store small amounts of data on Goolge&#8217;s servers (such as key/value pairs) meaning that you could (in theory) build an application without having to serve the application yourself (great news if your app become popular)
</p>
<p><span id="more-53"></span></p>
<h2>Why is this Important?</h2>
<p>
	The OpenSocial API&#8217;s are Google&#8217;s first steps into what they see becoming a far more landscape altering change. In recent years the web has started to evolve into a very user-centric ecosphere. People are choosing how they want to consume the information they are interested in, when they want to consume it and how they wan to share it. Take for example technologies such as RSS, widgets/gadgets and customized home-pages. These are all perfect examples of what is happening, users no longer have to visit a particular site or service to get the information they want. It is now delivered to them, ready for them to consume.
</p>
<p>
	Now if you look at social-networking sites, you have masses of users communicating with their peers, socializing, vocalizing and participating in like-minded groups. What is (largely) missing from these site&#8217;s is personalization. I&#8217;m not talking about skinning or theme-ing, I&#8217;m talking about being able to consume (and more importantly) share the information users care about.
</p>
<p>
	This is where social-applications come in. Leveraging social networks, content providers can enable a massive group of like-minded people to consume their content and potentially share it with yet more like-minded people. This is the massively important aspect of social-applications, in itself this gets your content to more people, fast and with instant viral appeal.
</p>
<p>
	Let&#8217;s look for a moment at a typical web-savy user, let&#8217;s call him Steve. Steve has a personalized homepage full of gadgets and widgets which keep him up-to-date on things he cares about. He has a profile on MySpace, Orkut, Bebo and a  profile on LinkedIn. Steve is really into photography, so when he hears that his favourite photography sharing site Flickr has developed an application for Orkut he is thrilled! He instantly adds it to his profile and starts sharing awesome photography with his friends on Okrut.
</p>
<p>
	This is great for a while and as the Flickr application matures it becomes something he checks every day, constantly sharing things he finds with his friends and becoming an active user of the app. The only problem is that his only access to this app is through Orkut. He&#8217;s back to the days of visiting one place, to get one type of information. The reason it&#8217;s only available to him at Orkut is because the developers at Flickr had to decide which of the propriety social application development API&#8217;s to learn, and because they chose Orkut they become dependent on Orkut&#8217;s API to mature as their app did. They were unable to launch the app on other social networking sites because it would require re-writing the app.
</p>
<p>
	So back to why all of this is important and the future of OpenSocial; Steve is getting tired of having to visit Orkut just to see he latest awesome photos on his Flickr app, he want to be able to quickly view the information on his homepage when he checks his feeds with his morning tea. Not only that but he wants to be able to share this content with his other friends that use MySpace or Bebo and also his business acquaintances on LinkedIn&#8230; Enter OpenSocial.
</p>
<p>
	The first problem that OpenSocial solves is the issue of portability, using OpenSocial Flickr are able to write a social application which will run natively on Orkut, MySpace, Bebo and LinkedIn. With absolutely no extra work their application will work on all of the social-oriented websites that Steve uses. This is brilliant! The more places Steve can use this application the wider the reach.
</p>
<p>
	What will be important for OpenSocial in the future (and something which Google today said was the long-term plan) is convergence. Imagine if Steve is able to share content he cares about with ALL of his friends, regardless if they are on MySpace or Bebo, Orkut or LinkedIn. This is a massively significant aspect of what Google hopes to achieve with OpenSocial. Take this a step further and imagine if Steve could now embed a micro version of this application on his personalized homepage. Now steve has access to this content, and the distribution aspects of it from the place he visits the most. The whole concept could be taken another step further, with application like Google Desktop, Dashboard Widgets and Adobe AIR applications, integrating with these different frameworks (all of which run native xHTML + JavaScript) he now has access to this content online and offline. You can even take it <em>another</em> step further still, Steve could access these services on his mobile phone whilst on the go.
</p>
<p>
	So, by utilizing an open, standards based approach to developing applications for social-network sites Flickr has multiplied the reach, access and viral aspects of the content they deliver through this application exponentially. It&#8217;s easy to see why this is so important, if current trends are anything to go by, the web as we know it is getting more and more user-centric, do we really want this garden-walled approach? Applications exclusive to certain separate mega-sites with little interoperability, or do we want the content we love wherever we want it, whenever we want it with the ability to share it with whoever we want? More importantly as developers do we want to launch an application to 5 million potential users on one website, or 75 million potential users across 15 websites, giving them easy access to the application from wherever they want?
</p>
<h2>Errr&#8230; What about Facebook?</h2>
<p>
	You may have noticed that I neglected to mention the largest, fastest growing social-networking site out there in this article. The problem with Facebook is that they have already developed a <strong>propriety</strong> API for developing applications. Granted they were first to the table late 2006 with their FBML (Facebook Markup Language) and FQL (Facebook Query Language) API&#8217;s for developing Facebook applications.
</p>
<p>
	The problem with these is the fact that they are propriety, and writing you application within FBML&#8217;s limitations (FBML is a subset of HTML) means your application will only work on Facebook, unless you re-write it. This is not good for the future of the open and social web (now I see where the big G got their name!) and means masses of extra time and effort for application developers.
</p>
<p>
	You could argue the point that this isn&#8217;t an important thing at all, and that OpenSocical will never really take off because of Facebook&#8217;s dominance. That might be true, who know&#8217;s what the future holds? However, I&#8217;m willing to bet that both consumers and developers alike will want their content in more places, with easier access. If I were at Facebook I would seriously consider either bridging the gap between Facebook and OpenSocial, or consider implementing an OpenSocial container for Facebook.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.craig-mackenzie.com/2007/11/03/google-opensocial-and-the-future-of-the-social-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RailsConf 2007: All Over</title>
		<link>http://blog.craig-mackenzie.com/2007/05/23/railsconf-2007-all-over/</link>
		<comments>http://blog.craig-mackenzie.com/2007/05/23/railsconf-2007-all-over/#comments</comments>
		<pubDate>Wed, 23 May 2007 13:49:25 +0000</pubDate>
		<dc:creator>craig mackenzie</dc:creator>
				<category><![CDATA[i am geek]]></category>
		<category><![CDATA[ruby/rails]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[railsconf]]></category>
		<category><![CDATA[railsconf2007]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.craig-mackenzie.com/2007/05/23/railsconf-2007-all-over/</guid>
		<description><![CDATA[RailsConf 2007 is over, I&#8217;m back in the UK, thousands of miles away from the lovely Portland, back into the normal swing of things, back on the train, just back where I was. weird feeling.
Community
RailsConf rocked, so much more than I could have hoped for an so many levels, the content was brilliant the people [...]]]></description>
			<content:encoded><![CDATA[<p>RailsConf 2007 is over, I&#8217;m back in the UK, thousands of miles away from the lovely Portland, back into the normal swing of things, back on the train, just back where I was. weird feeling.</p>
<h2>Community</h2>
<p>RailsConf rocked, so much more than I could have hoped for an so many levels, the content was brilliant the people were amazing, organizationally the thing was a stunning success and what was achieved by the community and what was achieved by many people on an individual basis was amazing.</p>
<p>The feeling was very community focused, the Rails community has grown exponentially over the past year, and this was definitely reflected in the mix of and volume of people. I spoke to at least hundred Java developers, as well as some .NET folk and a whole mix of people from other languages. All here to have a little look at this web app frame work written in this crazy Ruby language.</p>
<p>The numbers as well, this year there were over 1600 people in attendance, last year 500, the year before there was no conference. In one year Rails as a community has grown so quickly, many many people are getting wealthy off the back of it, and I think this was Chad&#8217;s point on the first day, if we were all to use that for good, we can show the rest of the IT tech, hell the world, we can show them that we can make a difference. Well I think we were all listening, last time I checked we had raised over $33,000 in donations.</p>
<p>The community, as well as the framework have grown and matured, and it&#8217;s good to see companies like Adobe, Sun, O&#8217;rielly and Amazon making their presence at this conference for a framework only 2 years old.</p>
<h2>Enterprise</h2>
<p>As larger companies start to pay more attention to us it&#8217;s important to make sure we are ready to deal with what the enterprise world wants, through projects like JRuby and others.</p>
<p>Although this is good, in a way, I hope Rails will maintain it&#8217;s Opinion as it is spun off in all sorts of directions. It&#8217;s a little bit over my head if truth be known. But interest from larger companies can only mean good right? Probably wrong? I don&#8217;t know.</p>
<p>Enterprise anxiety was definitely a strong theme running the conference.</p>
<h2>REST</h2>
<p>REST was covered heavily at RailsConf also, there were over 4 separate talks on the subject. This is important I guess, as we hurtle towards Rails 2, REST is going to become more and more central to what it is the core team are thinking.</p>
<p>Plugin&#8217;s like Hamilton&#8217;s make_resourceful have already started popping up all over the place and getting knowledge on it all know while it&#8217;s still all EDGE-centric, is going to prove really useful down the line. DHH&#8217;s keynote actually helped to clarify one of my biggest concerns, nested resources, or something. Either way I have a better understanding of it all now.</p>
<p>RailsConf was an amazing experience, something I wouldn&#8217;t have changed. The best thing to come out of the whole thing was meeting 3 wonderful human beings, <a href="http://cumu.li">Anthony Ramm</a>, <a href="http://rev.dantripp.com">Dan Tripp</a> and <a href="http://jeremy.sydik.com/">Jeremy Sydik</a>. You three are amazing, Thank You for making the experience so welcoming and warm.</p>
<p>To summarize, I&#8217;ve met some amazingly talented, clever and inspirational people over the past 4 days. I&#8217;ve felt the power of the community to truly do something amazing and make a real difference, and above everything I&#8217;ve left with 3 brilliant friends.</p>
<p>Roll on RailsConf 2008.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.craig-mackenzie.com/2007/05/23/railsconf-2007-all-over/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RailsConf 2007: Day 3</title>
		<link>http://blog.craig-mackenzie.com/2007/05/20/railsconf-2007-day-3/</link>
		<comments>http://blog.craig-mackenzie.com/2007/05/20/railsconf-2007-day-3/#comments</comments>
		<pubDate>Sun, 20 May 2007 19:16:15 +0000</pubDate>
		<dc:creator>craig mackenzie</dc:creator>
				<category><![CDATA[i am geek]]></category>
		<category><![CDATA[ruby/rails]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[railsconf]]></category>
		<category><![CDATA[railsconf2007]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.craig-mackenzie.com/2007/05/20/railsconf-2007-day-3/</guid>
		<description><![CDATA[Saturday was a slightly shorter day here at RailsConf and went like this
Bring Ruby to the Enterprise. Not the Other Way &#8216;Round
Cyndi Mitchell&#8217;s opening keynote was very good, although the community may not like It (in certain circles) there Is a need to educate and support enterprising companies about the virtues of rails/ruby. 
Cyndi&#8217;s talk [...]]]></description>
			<content:encoded><![CDATA[<p>Saturday was a slightly shorter day here at RailsConf and went like this</p>
<h2>Bring Ruby to the Enterprise. Not the Other Way &#8216;Round</h2>
<p>Cyndi Mitchell&#8217;s opening keynote was very good, although the community may not like It (in certain circles) there Is a need to educate and support enterprising companies about the virtues of rails/ruby. </p>
<p>Cyndi&#8217;s talk was very well paced and touched on some humorous comparisons between pop culture and tech-industry, some of her slides were awesome too. A good start to the day.</p>
<h2>Tim Bray</h2>
<p>Tim bray&#8217;s keynote was again on rails / enterprise, sun&#8217;s position on It, his passion for It. To be honest a lot of went over my head, I was really tired. That guy seems awesome though.</p>
<h2>Custom Rails Helpers: Keeping Your Views DRY</h2>
<p>The first session of the day focused on DRYing up your views with custom helpers, this was cool, not from a  &#8220;i&#8217;m learning something new&#8221; perspective, more from a &#8220;I do this already, I&#8217;m so glad I&#8217;m doing right&#8221;</p>
<p>Although the session taught me nothing new, It did validate a lot of the work of been doing on helpers, so It felt kinda cool. was very busy.</p>
<h2>Memcaching Rails</h2>
<p>Chris Wanstrath, of <a href="http://errtheblog.com/" title="err.the_blog">err the blog</a> fame (that&#8217;s where I heard of him anyway) presented this talk.</p>
<p>It focused on the probleming of caching, and his solution cache_fu. It was a really Insightful session with some wicked slides, and chris himself Is super animated, which Is always good.</p>
<p>It left me with enough knowledge to know where to start with caching, that Is when I need It.</p>
<h2>The Dark Art of Developing Plugins</h2>
<p>This session was really cool, It walked through making a simple plugin and was themed like a horror flick. wicked.</p>
<p>The really Insightful stuff was about ruby, extending and overwriting and all that jazz, was way cool. that class_eval method Is some crazy ass ninja kung fu.</p>
<p>Makes me wanna wrap up some common stuff Into plugins now.</p>
<h2>Data Warehouses with ActiveWarehouse</h2>
<p>This was way more high brow than I was expecting, and although I was following along alright top begin with, as soon as the concept of cubes and dimensional data aggregation started I had to walk.</p>
<p>But If the need every came along to churn through piles of data and make It relevant, this would be my starting post.</p>
<p>The day ended In a chinese restaurant, with my sipping beer from a tea cup.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.craig-mackenzie.com/2007/05/20/railsconf-2007-day-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RailsConf 2007: Day 2</title>
		<link>http://blog.craig-mackenzie.com/2007/05/19/railsconf-2007-day-2/</link>
		<comments>http://blog.craig-mackenzie.com/2007/05/19/railsconf-2007-day-2/#comments</comments>
		<pubDate>Sat, 19 May 2007 17:42:18 +0000</pubDate>
		<dc:creator>craig mackenzie</dc:creator>
				<category><![CDATA[i am geek]]></category>
		<category><![CDATA[ruby/rails]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[railsconf]]></category>
		<category><![CDATA[railsconf2007]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.craig-mackenzie.com/2007/05/19/railsconf-2007-day-2/</guid>
		<description><![CDATA[The second day of RailsConf was long&#8230; very long.
Chad Fowler&#8217;s Intro
The day kicked off with chad fowler opening the keynote with an important message: &#8220;Everyone thinks we are a bunch of arrogant bastards.&#8221; People laughed at this at first, but as he kept talking what he was saying become apparent, as our community grows more [...]]]></description>
			<content:encoded><![CDATA[<p>The second day of RailsConf was long&#8230; very long.</p>
<h2>Chad Fowler&#8217;s Intro</h2>
<p>The day kicked off with chad fowler opening the keynote with an important message: &#8220;Everyone thinks we are a bunch of arrogant bastards.&#8221; People laughed at this at first, but as he kept talking what he was saying become apparent, as our community grows more and more of us are becoming wealthy off the back of rails it becomes important to prove to the rest of the world that we can make a difference.</p>
<p>It was an important message, there are nearly 2000 people at RailsConf and if we each donated $100 to the Pragmatic Studio&#8217;s Charity of Choice we can prove to people that we can change the world.</p>
<p>Or something.</p>
<h2>DHH&#8217;s Keynote</h2>
<p>David&#8217;s keynote was good, the focus was on Rails 2, recapping the features introducing some minor new features, and indicating which features are going to be removed.</p>
<p>One of the things he highlighted which definitely got me excited was some further clarification on and enhancements to the way that RESTful routing works, my biggest gripe with that was admin/backend routing and implementing REST in all situation.</p>
<p>This has been cleaned up a lot and you can now namespace your RESTful routes / resources. </p>
<p>Another neat thing was the respond_to stuff, it now seems (i might be wrong) that this has become transparent in detecting and routing mime types. which is nice.</p>
<p>ActiveResource looks sweet. It&#8217;s going to be replacing ActiveWebService and is completely focused on consuming REST interfaces. REST is one of the main focuses of Rails 2, it&#8217;s the new opinion, if you&#8217;re going to be devleoping an app, it should be REST routed, APIs should be based on REST. Good opinions.</p>
<h2>respond_to :voice</h2>
<p>This was the first session of the day, at it fucking rocked.</p>
<p>It was an introduction to using the Asterisk PBX with rails, using a new plugin called Telegraph.</p>
<p>I looked into Asterisk a while ago, and the AGI config files are just horrible, hundreds of lines of extraneous repetitive code. nasty.</p>
<p>Telegraph takes these AGI/AMI config files and wraps them in clean MVC ruby code. The thing that really got me going was the possibilities, the guy gave some demo&#8217;s and it&#8217;s really exciting. The general idea is that you can take your rails app and another interface for your users to interact with it in. Voice, using Asterisk and Telegraph will allow you to have your app call out to people, have people call in, consume data over the phone, maintain session data between the web and the phone network (super sweet).</p>
<p>I really cant wait to get going with it.</p>
<h2>Doing Rest Right</h2>
<p>I really really wanted this to be good. It wasn&#8217;t. Although it was insightful, and gave some brain food to chew over, it was a bit high-level and philosophical. I left early.</p>
<h2>Apollo</h2>
<p>This talk was kinda good, although not really Rails-centric, it was a nice introduction to the new Adobe cross-platform runtime for Flash/Flex/HTML/JS/PDF apps.</p>
<p>The really interesting thing is that all of the separate technologies supported inside of the runtime are treated as first class citizens with a common cross technology DOM to use.</p>
<p>You could basically have an Apollo app with an HTML viewer, and Flex/Flash component side by side, and cross-script between the two of them with a common DOM. Very neat.</p>
<p>Flex in general is something that I really need to get into (again)</p>
<h2>Avi Bryant&#8217;s Keynote</h2>
<p>Avi Bryant has been in and out of the Ruby community for a while, he&#8217;s a smalltalk advocate that works on the seaside project.</p>
<p>His talk was focused on the future of ruby, performance etc.</p>
<p>It was kinda good, a prompt to think of the future of our language. meh.</p>
<h2>Ze Frank&#8217;s Keynote</h2>
<p>Ze Frank, simply put is the fucking funniest thing ever. His keynote was more of a stand up comedy routine, with slides. The topic was accelerating anxiety.</p>
<p>I really can&#8217;t explain how good it was, you just have to google some of the stuff this guy has done. It was the perfect end to the day.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.craig-mackenzie.com/2007/05/19/railsconf-2007-day-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RailsConf 2007: Day 1</title>
		<link>http://blog.craig-mackenzie.com/2007/05/18/railsconf-2007-day-1-2/</link>
		<comments>http://blog.craig-mackenzie.com/2007/05/18/railsconf-2007-day-1-2/#comments</comments>
		<pubDate>Fri, 18 May 2007 16:00:52 +0000</pubDate>
		<dc:creator>craig mackenzie</dc:creator>
				<category><![CDATA[i am geek]]></category>
		<category><![CDATA[ruby/rails]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[railsconf]]></category>
		<category><![CDATA[railsconf2007]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.craig-mackenzie.com/2007/05/18/railsconf-2007-day-1-2/</guid>
		<description><![CDATA[So yesterday was my first day at RailsConf, it was great. The day was broken into two tutorial sessions with a break for lunch.
Intro to Test Driven Development with Rails
This tutorial was awesome, presented by David Chelimsky this really helped to solidify my understanding of TDD, as well as touching on and clarifying some aspects [...]]]></description>
			<content:encoded><![CDATA[<p>So yesterday was my first day at RailsConf, it was great. The day was broken into two tutorial sessions with a break for lunch.</p>
<h2>Intro to Test Driven Development with Rails</h2>
<p>This tutorial was awesome, presented by David Chelimsky this really helped to solidify my understanding of TDD, as well as touching on and clarifying some aspects of <a href="http://rspec.rubyforge.org/" title="RSpec Home">Rspec</a>.</p>
<p>The pace was good and the tutorial didn&#8217;t seem long enough, there was lots of good discussion and the code examples were great. </p>
<p>Part of the tutorial featured us &#8220;Pair Programming&#8221; (a practice from eXtreme Programming (XP)) The basic concept is one person writes a failing test, then the next writes just enough code to pass that test, then writes a another failing test for the previous person to fix, gradually the code is written and tested and passing mechanisms are refactored into useful clean code.</p>
<p>It was a really great exercise and provided a lot of value.</p>
<h2>Harnessing Capistrano</h2>
<p>The second tutorial of the day was presented by <a href="http://weblog.jamisbuck.org/" title="the { buckblogs :here }">Jamis Buck</a>, the creator of <a href="http://capistrano.org/">Capistrano</a> and core member that works at <a href="http://www.37signals.com/" title="Simple software to help you get organized: 37signals">37 Signals</a>.</p>
<p>I was really looking forward to this tutorial and although offered a lot of insight into the new feature of Capistrano 2.0, it was a little slow and dry. </p>
<p>I guess it&#8217;s kind of difficult to get excited about something without having a hands on experiance (there was no code writing in this tutorial) but it definitely left me with some ideas.</p>
<p>The day ended with Dan Tripp, Ant (another brit from Birmingham) and myself having dinner, drinking beer and talking g33k in a mexican joint downtown.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.craig-mackenzie.com/2007/05/18/railsconf-2007-day-1-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RailsConf 2007</title>
		<link>http://blog.craig-mackenzie.com/2007/05/17/railsconf-2007-day-1/</link>
		<comments>http://blog.craig-mackenzie.com/2007/05/17/railsconf-2007-day-1/#comments</comments>
		<pubDate>Thu, 17 May 2007 14:55:42 +0000</pubDate>
		<dc:creator>craig mackenzie</dc:creator>
				<category><![CDATA[i am geek]]></category>
		<category><![CDATA[ruby/rails]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[railsconf]]></category>
		<category><![CDATA[railsconf2007]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.craig-mackenzie.com/2007/05/17/railsconf-2007-day-1/</guid>
		<description><![CDATA[I&#8217;m currently sitting in exhibit hall c of the Oregon Convention Center enjoying a starbucks coffee, I&#8217;m at railsconf 07, my first tutorial (Intro to Test-Driven Development for Rails) starts in 45mins, the convention center is huge!
Getting here was easy, Portland has a tram system called the Max Light Rail, it&#8217;s free for most of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently sitting in exhibit hall c of the Oregon Convention Center enjoying a starbucks coffee, I&#8217;m at railsconf 07, my first tutorial (Intro to Test-Driven Development for Rails) starts in 45mins, the convention center is huge!</p>
<p>Getting here was easy, Portland has a tram system called the Max Light Rail, it&#8217;s free for most of the city, and only took like 20mins.</p>
<p>There are a lot of people here already and I expect there will be even more tomorrow.</p>
<p>Portland is a beautiful city, I could honestly see living here, image paris without the dirt and smog, make the roads and paths wider, take away the awkward angles and turn them into blocks and you have portland. Why paris? The trees, image the Champs-Ã‰lysÃ©es only every block is like that. It&#8217;s really beautiful, I had a good wonder around yesterday, the sine was shining, the trees were green, it was lovely. A woman at the airport told me that portland has the feel of a big-town rather than a city. She was right.</p>
<p>My hotel (the <a href="http://hotellucia.com">hotel lucia</a>) is stunning. drop-dead-gorgeous. I also found a fabulous all-male designer underwear shop called Under U 4 Men, I dropped like $200 dollars in the already and I know I will go back.</p>
<p>All in all I&#8217;m having a great time so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.craig-mackenzie.com/2007/05/17/railsconf-2007-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
