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

<channel>
	<title>spam: the other white meat</title>
	<atom:link href="http://www.24b6.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.24b6.net</link>
	<description>protein, now</description>
	<pubDate>Fri, 03 Oct 2008 14:16:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Win a Server for Life (some restrictions apply)</title>
		<link>http://www.24b6.net/2008/09/30/win-a-server-for-life-some-restrictions-apply/</link>
		<comments>http://www.24b6.net/2008/09/30/win-a-server-for-life-some-restrictions-apply/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 00:26:48 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Planet Drupal]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.24b6.net/?p=242</guid>
		<description><![CDATA[This across the wire from Riseup&#8230;. 
Win a Server for Life (some restrictions apply)
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;
The riseup birds have big big dreams! But, alas, we are kept super busy  maintaining and improving the current services we provide. One thing we  are good at is building infrastructure (and acquiring donated hardware).
So good, in fact, that we [...]]]></description>
			<content:encoded><![CDATA[<p>This across the wire from Riseup&#8230;. </p>
<p>Win a Server for Life (some restrictions apply)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
The riseup birds have big big dreams! But, alas, we are kept super busy  maintaining and improving the current services we provide. One thing we  are good at is building infrastructure (and acquiring donated hardware).</p>
<p>So good, in fact, that we want to give some of it away in a contest we  are calling the &#8220;Win a Server for Life (some restrictions apply) 2008  Extravaganza&#8221;.</p>
<p>We got the servers, you got the talent, baby! Here&#8217;s the deal: We provide your collective with free hardware, bandwidth, and rackspace for the life of the server. You provide an important service to a radical  social movement or local community. So long as you are using the capacity of the server, we will maintain it and host it for you.</p>
<p>We are particularly keen on ideas to create new services that do not  currently exist, services that are difficult to find, or services that  meet a need for an underserved community. Examples might include VoIP  for radicals, rails hosting that keeps no logs, an encrypted backup  service for activists, secure DNS services, and so on.</p>
<p>The server in question is a quad core 2.8ghz xeon with 4gb of ram and three disk bays. Don&#8217;t bother with a formal proposal. Drop us a note at collective@riseup.net with your idea and what you are about. We will talk, figure out who we know in common, and make sweet data together.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/09/30/win-a-server-for-life-some-restrictions-apply/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Drupal 6 For Media Mover</title>
		<link>http://www.24b6.net/2008/09/26/drupal-6-for-media-mover/</link>
		<comments>http://www.24b6.net/2008/09/26/drupal-6-for-media-mover/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 16:11:09 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

		<category><![CDATA[media mover]]></category>

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

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

		<guid isPermaLink="false">http://www.24b6.net/?p=240</guid>
		<description><![CDATA[When Media Mover was first under development, it was started on an already obsolete version of Drupal. Now with RC1 due any day now (next week, I swear) I&#8217;ve realized that I can&#8217;t wait any longer to start moving toward Drupal Six. So I&#8217;ve started the porting process and of course it is not an [...]]]></description>
			<content:encoded><![CDATA[<p>When Media Mover was first under development, it was started on an already obsolete version of Drupal. Now with RC1 due any day now (next week, I swear) I&#8217;ve realized that I can&#8217;t wait any longer to start moving toward Drupal Six. So I&#8217;ve started the porting process and of course it is not an easy road.</p>
<p>I used <a href="http://drupal.org/project/deadwood">deadwood</a> to generate the menus system for me- mostly worked, but I&#8217;ve still had to do some cleanup, probably because my own menus weren&#8217;t that well designed. I tried having deadwood convert the full module, but kept running into errors. I think it has a greater difficulty with complex modules as would be expected. At anyrate, there is a functional patch for Drupal-5 to upgrade to six here: http://drupal.org/node/269126</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/09/26/drupal-6-for-media-mover/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Server Melt Down</title>
		<link>http://www.24b6.net/2008/09/24/server-melt-down/</link>
		<comments>http://www.24b6.net/2008/09/24/server-melt-down/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 14:12:49 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://www.24b6.net/?p=204</guid>
		<description><![CDATA[An extremely unfortunate series of events has left me with a significant loss of data- hence at the moment all the posts here date from February of this year- I&#8217;m hoping that I can pull out more data, but things at the moment are not looking so hot. I&#8217;m hopping that I&#8217;ll be able to [...]]]></description>
			<content:encoded><![CDATA[<p>An extremely unfortunate series of events has left me with a significant loss of data- hence at the moment all the posts here date from February of this year- I&#8217;m hoping that I can pull out more data, but things at the moment are not looking so hot. I&#8217;m hopping that I&#8217;ll be able to recreate much of the information that was here on Media Mover and related media issues in Drupal.</p>
<p><strong>update:</strong> recovery process has started&#8230;. I&#8217;ve lost all the comments, but at least I&#8217;m finding some of the content</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/09/24/server-melt-down/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CPU Throttle Media Mover</title>
		<link>http://www.24b6.net/2008/09/18/cpu-throttle-media-mover/</link>
		<comments>http://www.24b6.net/2008/09/18/cpu-throttle-media-mover/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 13:56:42 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

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

		<category><![CDATA[media mover]]></category>

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

		<guid isPermaLink="false">http://www.24b6.net/?p=206</guid>
		<description><![CDATA[Media Mover can be pretty CPU intensive- transcoding with FFmpeg can be a substantial hit on your server resources. If you couple this with a large amount of batch processing, you are looking at high loads over a long period of time. And of course, this does not even begin to look at what is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.24b6.net/wp-content/uploads/2008/09/picture-10.png"><img src="http://www.24b6.net/wp-content/uploads/2008/09/picture-10-300x1231.png" alt="" title="picture-10-300x1231" width="300" height="123" class="alignleft size-medium wp-image-208" /></a><a href="http://drupal.org/project/media_mover">Media Mover</a> can be pretty CPU intensive- transcoding with <a href="http://ffmpeg.mplayerhq.hu/">FFmpeg</a> can be a substantial hit on your server resources. If you couple this with a large amount of batch processing, you are looking at high loads over a long period of time. And of course, this does not even begin to look at what is going on for your users on the site.</p>
<p><a href="http://drupal.org">Drupal</a> employs the Throttle module to handle high load situations. It looks at traffic patterns on the site to determine if a throttle condition should be employed. In considering how to limit the activity of Media Mover on a server this is an obvious consideration. One of the things that makes Media Mover (for most use cases) different than the needs of modules effected by Throttle is that it is not bound by the traffic occuring on the site- it may well be a factor, but it is not the only consideration. If a Media Mover configuration is using FFmpeg to transcode files, it is almost exclusively CPU bound. Of course there is the Apache process that kicks off cron, some degree of Drupal processing, and perhaps a MySQL hit or two, but largely FFmpeg wants to make use of the server CPU. Media Mover will cycle through sets of files that it is loading from MySQL, but again, in terms of its total impact, mostly we are looking at FFmpeg hitting the CPU.</p>
<p>In this case, if we want to limit Media Mover from running when a server is starting to get overloaded on its CPU we need to check the CPU load. I’ve written a fairly basic utility that does this on Linux / Unix based servers on Media Mover’s cron processing script. It allows other scripts to still access the API without being throttled, but Cron is stopped if load creeps beyond what you set it for.</p>
<p>You can set the threshold where Media Mover should stop, and select which average you want to use as the threshold- the one, five or 15 minute load averages. Once the load drops below the threshold, the Media Mover Cron runs will start up again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/09/18/cpu-throttle-media-mover/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Writing panels integration</title>
		<link>http://www.24b6.net/2008/09/17/writing-panels-integration/</link>
		<comments>http://www.24b6.net/2008/09/17/writing-panels-integration/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 13:27:51 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

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

		<category><![CDATA[work rambling]]></category>

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

		<category><![CDATA[module development]]></category>

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

		<guid isPermaLink="false">http://www.24b6.net/?p=244</guid>
		<description><![CDATA[I&#8217;m working on a project where I need to get some of my custom content into Panels. Having the Panels interface to manage things is obviously a huge boon, but I wanted to do more than create Drupal blocks- I wanted the same kind of integration that modules like Views and CCK are using.
Poking around, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a project where I need to get some of my custom content into <a href="http://drupal.org/project/panels">Panels</a>. Having the Panels interface to manage things is obviously a huge boon, but I wanted to do more than create Drupal blocks- I wanted the same kind of integration that modules like Views and CCK are using.</p>
<p>Poking around, I didn&#8217;t find much information on how to actually write your own Panels integration, so after a few fits and starts, I just started from block.inc as an example and then have abstracted it here.<br />
I wanted to do this in a fairly simple way- a basic definition function and then a set of functions that pass these definitions off to theme functions. I&#8217;m making an example out of my code for people to use- hopefully it is useful to see how to set this up. </p>
<p>First we&#8217;re going to define what the items are that will be used as panes in Panels. This is a custom function, not a Panels function.<br />
<code>/**<br />
 * Defines the panel content for this module.<br />
 * @return array<br />
 *   array has a key which will be used as a function call and a title<br />
 */<br />
function mymod_panels_content_define() {<br />
  $items = array(<br />
    'mymod_item_1' =&gt;; t('This is pane one'),<br />
    'mymod_item_2' =&gt;; t('This is pane two'),<br />
  );<br />
  return $items;<br />
}</code><br />
Now we need to declare the theme functions that will be used. Obviously these are rather simple for demonstration purposes, but you get the idea. Note that you would name these in relationship to your declarations above. Here is the first pane:<br />
<code>/**<br />
 * display the content for item 1<br />
 * @param array $conf<br />
 * @return string<br />
 *   html return<br />
 */<br />
function theme_mymod_item_1($conf) {<br />
  return "my module item 1 theme function output";<br />
}</code><br />
And the second- again, here is where you would add your custom functions.<br />
<code>/**<br />
 * display the content for item 2<br />
 * @param array $conf<br />
 * @return string<br />
 *   html return<br />
 */<br />
function theme_mymod_item_2($conf) {<br />
  return "my module item 2 theme function output";<br />
}</code><br />
Now we need to tell Panels about our code. This declares what functions are responsible for handling the Panels callbacks. These are Panels functions.<br />
<code>/**<br />
 * Callback function to supply a list of content types.<br />
 * @return array<br />
 */<br />
function mymod_panels_panels_content_types() {<br />
  $items['mymod panes'] = array(<br />
    'title' =&gt;; t('My Module panes'),<br />
    'content_types' =&gt;; 'mymod_panels_admin_content_types',<br />
    'title callback' =&gt;; 'mymod_panels_admin_title',<br />
    'add callback' =&gt;; 'mymod_panels_admin_add',<br />
    'render callback' =&gt;; 'mymod_panels_content',<br />
  );<br />
  return $items;<br />
}</code><br />
Now that Panels knows about our code, we tell it how to handle the content types. We&#8217;re going to get the items that we declared first and then assign them a few additional pieces of information to make them appear in the right places in the admin interface.<br />
<code>/**<br />
 * Return all block content types available.<br />
 * @return array<br />
 */<br />
function mymod_panels_admin_content_types() {<br />
  $types = array();<br />
  foreach (mymod_panels_content_define() as $id =&gt;; $title) {<br />
    $info = array(<br />
      'title' =&gt;; $title,<br />
      'category' =&gt;; array(t('My Module panes')),<br />
      'icon' =&gt;; drupal_get_path('module', 'mymod_panels') .'/images/mymod.gif',<br />
      'id' =&gt;; $id,<br />
    );<br />
    $types["mymod_panels-$id"] = $info;<br />
  }<br />
  return $types;<br />
}</code><br />
When an admin adds our pane, we need to add some additional information to the pane so that we can access it during the rendering phase. In the above function, we keyed the array data with the module and function data so we can pull it out easily. Now we just need to put that data into a form:<br />
<code>/**<br />
 * Returns the form for a new block.<br />
 */<br />
function mymod_panels_admin_add($id, $parents, $conf = array()) {<br />
  list($conf['module'], $conf['delta']) = explode('-', $id, 2);<br />
  $form['module'] = array(<br />
    '#type' =&gt;; 'value',</p>
<p>    '#value' =&gt;; $conf['module'],<br />
  );<br />
  $form['delta'] = array(<br />
    '#type' =&gt;; 'value',<br />
    '#value' =&gt;; $conf['delta'],<br />
  );<br />
  return $form;<br />
}</code><br />
Now that we&#8217;ve added this data into the form, it is passed through to the render phase. In this example, to render the pane, we are doing something simple- just pass the call to a coresponding theme function- one of the ones we declared above.<br />
<code>/**<br />
 * call the content to generate for the pane in question<br />
 * calls a theme(module_name_pane_name, $conf);<br />
 * @param array $conf<br />
 * @return object<br />
 */<br />
function mymod_panels_content($conf) {<br />
  $function = $conf['module'] .'_'. $conf['delta'];<br />
  $block = new stdClass();<br />
  $block-&gt;;content = theme("$function", $conf);<br />
  return $block;<br />
}</code><br />
Finally, we just need a function that declares the title of the pane to Panels:<br />
<code>/**<br />
 * Returns the administrative title for a type.<br />
 * @param array $conf<br />
 */<br />
function mymod_panels_admin_title($conf) {<br />
  $panels = mymod_panels_content_define();<br />
  return $panels[$conf['delta']];<br />
}</code><br />
Now you&#8217;ve got a fast way to integrate your custom content into Panels. There might be easier/faster ways to do this, but I haven&#8217;t found an examples to build from. You can download the example file here as well: <a href='http://www.24b6.net/wp-content/uploads/2008/09/mymod_panelsphp1.txt'>mymod_panels.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/09/17/writing-panels-integration/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Media Mover Hearts Asset</title>
		<link>http://www.24b6.net/2008/09/13/media-mover-hearts-asset/</link>
		<comments>http://www.24b6.net/2008/09/13/media-mover-hearts-asset/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 14:07:40 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

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

		<category><![CDATA[media mover]]></category>

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

		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://www.24b6.net/?p=211</guid>
		<description><![CDATA[Asset is the obvious choice if you need your users to be able to easily upload content and place it within WYWISYG editor. Media Mover is probably on the other side of the spectrum- tones of options, lots of arcane settings that will not make sense if you are not familiar with the ins and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://drupal.org/project/asset">Asset</a> is the obvious choice if you need your users to be able to easily upload content and place it within WYWISYG editor. <a href="http://drupal.org/project/media_mover">Media Mover</a> is probably on the other side of the spectrum- tones of options, lots of arcane settings that will not make sense if you are not familiar with the ins and outs of rich media- further if you just want to get your transcoded media on the page.</p>
<p>The problem is that Media Mover is more of an API than it is an interface. In fact, you’d be hard pressed to really call it an interface if you’re an end user. A while back, I released the Auto Run module for Media Mover which runs Media Mover configurations when a node is created or updated. This really set the groundwork for starting to move toward running Media Mover configurations on specific user interactions- the ones that I think a majority of people are looking for. This approach- the transcode on create/update content- while workable, still does not give the end user control of how page layout works. For some, this is a fine middle ground approach, for others, unworkable. From my perspective, Asset provides a solid way for users to add content to their nodes. Of course WYSISYG editors are problematic, but they are not going anywhere, and hopefully, their HTML will just get better. Asset goes along way toward improving the integration between WYSIWYG editors and Drupal. Media Mover can remain a work horse for rich media, but it can also play nice when it comes to offering up its services.</p>
<p>From what I’ve heard from other Drupal admins and people who use the web in general, they do not want to be bothered by file formats, complex preferences, or sorting out what formats are playable and what you need for the non-playable ones. Asset, Media Mover, and FLVMediaPlayer combined offer a step forward in addressing this- users can upload “video” and get “video” on the web, without a tremendous amount of knowledge of what is actually going on. This gives the admin the opportunity to fine tune what options are available, while users get to have the fun of having a full transcoding system at their finger tips. Hence a union between Asset and Media Mover seems a perfect thing.</p>
<p>I did a little screen cast to show how this works. It shows the process of enabling the modules, making sure that there are profiles in the FLVMediaPlayer, setting up Asset, and the process of actually uploading and inserting with Asset. If you are not familiar with these modules, should still make some sense, though it will probably be more meaningful if you are familiar with Asset.</p>
<p id="video">
<p><script type='text/javascript' src='/scripts/swfobject.js'></script><br />
<script type='text/javascript'>
$(document).ready(function () { 
  var s1 = new SWFObject('/flash/mediaplayer.swf', 'player', '400','300','9');
  s1.addParam('allowfullscreen','true'); 
  s1.addParam('allowscriptaccess','always');
  s1.addParam('flashvars','file=http://www.24b6.net/wp-content/uploads/2008/09/mm_asset1.flv');
  s1.write('video');
});
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/09/13/media-mover-hearts-asset/feed/</wfw:commentRss>
<enclosure url="http://www.24b6.net/wp-content/uploads/2008/09/mm_asset1.flv" length="20578609" type="video/x-flv" />
		</item>
		<item>
		<title>Auto Run Module</title>
		<link>http://www.24b6.net/2008/08/06/auto-run-module/</link>
		<comments>http://www.24b6.net/2008/08/06/auto-run-module/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 14:18:07 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

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

		<category><![CDATA[media mover]]></category>

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

		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://www.24b6.net/?p=219</guid>
		<description><![CDATA[I’ve just added the new Auto Run module to Media Mover’s 1.0alpha3 release. This module is a straight forward attempt to bridge the gap between people who need the complex functionality that Media Mover offers and people who need their data to be converted on demand. This module will run specified Media Mover configurations on [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve just added the new Auto Run module to <a href="http://drupal.org/project/media_mover">Media Mover’s 1.0alpha3 release</a>. This module is a straight forward attempt to bridge the gap between people who need the complex functionality that Media Mover offers and people who need their data to be converted on demand. This module will run specified Media Mover configurations on node inserts and updates- meaning that when a user submits content or updates content, the specific Media Mover configurations will be run. In addition, this functionality leverages some earlier updates that let Media Mover run only on the specific node in question. This helps keep processing overhead down.</p>
<p><a href="http://www.24b6.net/wp-content/uploads/2008/09/auto_run.png"><img src="http://www.24b6.net/wp-content/uploads/2008/09/auto_run-300x210.png" alt="" title="auto_run" width="300" height="210" class="alignleft size-medium wp-image-220" /></a>This screen shot shows the listing of the Media Mover configurations that are available to run. Note that the administrator should choose configurations that are harvesting from nodes- otherwise it is just wasted cycles.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/08/06/auto-run-module/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Import / Export for FLV Media Player</title>
		<link>http://www.24b6.net/2008/08/05/import-export-for-flv-media-player/</link>
		<comments>http://www.24b6.net/2008/08/05/import-export-for-flv-media-player/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 14:20:44 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

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

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

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

		<guid isPermaLink="false">http://www.24b6.net/?p=222</guid>
		<description><![CDATA[Using a similar system that I built for Media Mover, I implemented an import / export system in the FLV Media Player module which allows an administrator to move configurations from one site to another. This is great if you’re working on your development site and want to port the new configuration to your live [...]]]></description>
			<content:encoded><![CDATA[<p>Using a similar system that I built for <a href="http://drupal.org/project/media_mover">Media Mover</a>, I implemented an import / export system in the <a href="http://drupal.org/project/media_mover">FLV Media Player</a> module which allows an administrator to move configurations from one site to another. This is great if you’re working on your development site and want to port the new configuration to your live site.</p>
<p>Once the 1.0 release is stabilized for both, I’ll write some functions that allow modules to define FLV Media Player profiles and Media Mover configurations in custom modules so that these can be kept under version control, making it easier to deploy changes via version control.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/08/05/import-export-for-flv-media-player/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SEADUG Media Mover Talk</title>
		<link>http://www.24b6.net/2008/08/04/seadug-media-mover-talk/</link>
		<comments>http://www.24b6.net/2008/08/04/seadug-media-mover-talk/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 14:22:31 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

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

		<category><![CDATA[media mover]]></category>

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

		<category><![CDATA[user groups]]></category>

		<guid isPermaLink="false">http://www.24b6.net/?p=224</guid>
		<description><![CDATA[
Thanks to heyrocker for the photo.
I just realized that my talk on Media Mover at the Seattle Drupal Users’ Group from this past June was posted on Blip. I guess I’m a bit behind the times! This is similar to the talk that I did in NYC with less command line and more talking. Interestingly, [...]]]></description>
			<content:encoded><![CDATA[<div class="alignleft"><a href="http://www.24b6.net/wp-content/uploads/2008/08/picture-3.png"><img src="http://www.24b6.net/wp-content/uploads/2008/08/picture-3-300x225.png" alt="" title="picture-3" width="300" height="225" class=" size-medium wp-image-282" /></a><br />
<small>Thanks to <a href="http://www.flickr.com/photos/heyrocker/2618372579/">heyrocker</a> for the photo.</small></div>
<p>I just realized that <a href="http://seadug.blip.tv/file/1039288/">my talk</a> on Media Mover at the <a href="http://groups.drupal.org/seattle">Seattle Drupal Users’ Group</a> from this past June was posted on Blip. I guess I’m a bit behind the times! This is similar to the talk that I did in <a href="http://www.24b6.net/2008/04/11/media-mover-install-talk-and-demo">NYC</a> with less command line and more talking. Interestingly, some of the items that are “future plans” have actually been completed already and are in the alpha releases of Media Mover 1.</p>
<p>The Seattle group is really impressive- super well organized, really well attended weekend with great talks and great people. Both <a href="http://civicactions.com/team/robin_barre">Robin</a> and <a href="http://civicactions.com/team/gregoryheller">Gregory</a> really knocked this one out of the park!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/08/04/seadug-media-mover-talk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Go VDUG!</title>
		<link>http://www.24b6.net/2008/07/30/go-vdug/</link>
		<comments>http://www.24b6.net/2008/07/30/go-vdug/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 14:32:11 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

		<category><![CDATA[user groups]]></category>

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

		<guid isPermaLink="false">http://www.24b6.net/?p=229</guid>
		<description><![CDATA[Just got back from the first (well that I know of) Vermont Drupal User’s Group, and it was lovely to meet other Vermonter’s who are working with Drupal. That much better to have it in my own back yard. It’s really interesting to see how high the level of conversation is- especially from people who [...]]]></description>
			<content:encoded><![CDATA[<p>Just got back from the first (well that I know of) Vermont Drupal User’s Group, and it was lovely to meet other Vermonter’s who are working with Drupal. That much better to have it in my own back yard. It’s really interesting to see how high the level of conversation is- especially from people who don’t consider themselves coders. I think it really points to how sophisticated the community of Drupal is- from users to developers. The next one will be in Burlington, September 9th, 4pm, location TBA.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/07/30/go-vdug/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FFmpeg Wrapper: Auto Configuration</title>
		<link>http://www.24b6.net/2008/07/28/ffmpeg-wrapper-auto-configuration/</link>
		<comments>http://www.24b6.net/2008/07/28/ffmpeg-wrapper-auto-configuration/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 14:33:22 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

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

		<category><![CDATA[media mover]]></category>

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

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

		<guid isPermaLink="false">http://www.24b6.net/?p=231</guid>
		<description><![CDATA[The power and flexibility of FFmpeg is a strength and a weakness. While it provides a huge number of options, it’s easy to create a configuration that actually doesn’t work. Case in point has been my experience with Media Mover- the most common thing that people want to use it for is creating FLV files [...]]]></description>
			<content:encoded><![CDATA[<p>The power and flexibility of <a href="http://ffmpeg.mplayerhq.hu/">FFmpeg</a> is a strength and a weakness. While it provides a huge number of options, it’s easy to create a configuration that actually doesn’t work. Case in point has been my experience with <a href="http://drupal.org/project/media_mover">Media Mover</a>- the most common thing that people want to use it for is creating FLV files from a variety of source material. Unfortunately, setting the codec or bit rate right can be somewhat challenging, to the point where people create configurations that will not convert the files they have.</p>
<p>I’ve setup <a href="http://drupal.org/project/ffmpeg_wrapper">FFmpeg wrapper</a> to use configuration files. For each output format, a format file can be create which defines what kinds of options are available (codecs, bit rates, sample rates, etc). These files are loaded via ajax and any form that conforms to a set of rules can be updated on the fly as the user selects different options.</p>
<p>While this currently only works for Media Mover’s FFmpeg processing module, it would work for any module that wanted to implement the setup. Further, people who have experience with specific kinds of output formats can contribute back configuration files that help improve the output from FFmpeg.</p>
<p>The screencast below shows this process in action- I’m adding a new configuration to Media Mover and then selecting different output options for FFmpeg. While I only have one configuration complete at this time (FLV) switching between other options grabs the default (ie: all) options. It also turns the advanced configurations off when you select an option that uses the default- this way FFmpeg will take it’s best guess at converting unless you specifically tell it to.</p>
<p>On top of this, I’ve added support in mm_ffmpeg to enter in your own command- while this is potentially dangerous, it gives people with advanced needs of FFmpeg the ability to run what they need.</p>
<p><script type='text/javascript' src='/scripts/swfobject.js'></script><br />
<script type='text/javascript'>
$(document).ready(function () { 
  var s1 = new SWFObject('/flash/mediaplayer.swf', 'player', '400','300','9');
  s1.addParam('allowfullscreen','true'); 
  s1.addParam('allowscriptaccess','always');
  s1.addParam('flashvars','file=http://www.24b6.net/wp-content/uploads/2008/07/ffmpeg_js.flv');
  s1.write('preview');
});
</script></p>
<p id='preview'>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/07/28/ffmpeg-wrapper-auto-configuration/feed/</wfw:commentRss>
<enclosure url="http://www.24b6.net/wp-content/uploads/2008/07/ffmpeg_js.flv" length="2087082" type="video/x-flv" />
		</item>
		<item>
		<title>SimpleTest</title>
		<link>http://www.24b6.net/2008/07/09/simpletest/</link>
		<comments>http://www.24b6.net/2008/07/09/simpletest/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 14:29:41 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

		<category><![CDATA[media mover]]></category>

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

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

		<guid isPermaLink="false">http://www.24b6.net/?p=227</guid>
		<description><![CDATA[Doug Green just did a great presentation for us on SimpleTest. It is really inspiring to see how straight forwarding adding testing is to modules. I spent a few minutes to add the frame work to Media Mover and very very… well, simple test. This first one is not much but for the 1.0 release, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.douggreenconsulting.com/">Doug Green</a> just did a great presentation for us on <a href="http://drupal.org/project/simpletest">SimpleTest</a>. It is really inspiring to see how straight forwarding adding testing is to modules. I spent a few minutes to add the frame work to <a href="http://drupal.org/project/media_mover">Media Mover</a> and very very… well, simple test. This first one is not much but for the 1.0 release, I will start adding more…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/07/09/simpletest/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Workflow NG integration</title>
		<link>http://www.24b6.net/2008/07/03/workflow-ng-integration/</link>
		<comments>http://www.24b6.net/2008/07/03/workflow-ng-integration/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 14:36:39 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

		<category><![CDATA[media mover]]></category>

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

		<guid isPermaLink="false">http://www.24b6.net/?p=233</guid>
		<description><![CDATA[
I asked Jacob to start doing some integration of workflow support into Media Mover so that various triggers could be called from inside of Media Mover. We went back and forth between using Workflow and Workflow NG and ended up going with Workflow NG as it offered a much higher level of of sophistication.
Two modules [...]]]></description>
			<content:encoded><![CDATA[<p>
I asked <a href="http://drupal.org/user/68912">Jacob</a> to start doing some integration of workflow support into Media Mover so that various triggers could be called from inside of Media Mover. We went back and forth between using <a href="http://drupal.org/project/workflow">Workflow</a> and <a href="http://drupal.org/project/workflow_ng">Workflow NG</a> and ended up going with Workflow NG as it offered a much higher level of of sophistication.</p>
<p>Two modules have been incorporated into Media Mover- mm_token and mm_workflow_ng to do this integration. Tokens are provided from the mm_token module and the events are defined in mm_workflow_ng.</p>
<p>Currently things are in CVS, and you can track the issue there&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/07/03/workflow-ng-integration/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Harvest From Filesystem</title>
		<link>http://www.24b6.net/2008/06/23/harvest-from-filesystem/</link>
		<comments>http://www.24b6.net/2008/06/23/harvest-from-filesystem/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 14:43:44 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

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

		<category><![CDATA[media mover]]></category>

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

		<guid isPermaLink="false">http://www.24b6.net/?p=237</guid>
		<description><![CDATA[I put together a module for Media Mover which allows some basic support for harvesting files from the local file system. It uses the same form that other Media Modules do- provides an absolute path to a directory and has a file extension filter. It currently does not work recursively, but it should be enough [...]]]></description>
			<content:encoded><![CDATA[<p>I put together a module for <a href="http://drupal.org/project/media_mover">Media Mover</a> which allows some basic support for harvesting files from the local file system. It uses the same form that other Media Modules do- provides an absolute path to a directory and has a file extension filter. It currently does not work recursively, but it should be enough to provide the initial functionality.</p>
<p>Here you can see the options that the mm_dir module gives on a configuration screen:<br />
<a href='http://www.24b6.net/wp-content/uploads/2008/06/picture-18.png'><img src="http://www.24b6.net/wp-content/uploads/2008/06/picture-18.png" alt="" title="picture-18" width="500" height="285" class="alignnone size-full wp-image-259" /></a></p>
<p>The code is in CVS and will be released with the next Media Mover release.</p>
<p>See the discussion here: http://drupal.org/node/258956#comment-900776<br />
<strong>UPDATE:</strong> now also supports storing to the filesystem as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/06/23/harvest-from-filesystem/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Import / Export Configurations in Media Mover</title>
		<link>http://www.24b6.net/2008/06/23/import-export-configurations-in-media-mover/</link>
		<comments>http://www.24b6.net/2008/06/23/import-export-configurations-in-media-mover/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 14:38:14 +0000</pubDate>
		<dc:creator>arthur</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Planet Drupal]]></category>

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

		<category><![CDATA[media mover]]></category>

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

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

		<guid isPermaLink="false">http://www.24b6.net/?p=235</guid>
		<description><![CDATA[One of the greatest things about the views project is that it is simple to create backups or move views from one site to another. It makes it really easy to entrust site administrators to develop complicated tools inside of Drupal without ever touching code. It&#8217;s also great for developers because we can put the [...]]]></description>
			<content:encoded><![CDATA[<p>One of the greatest things about the <a href="http://drupal.org/project/views">views</a> project is that it is simple to create backups or move views from one site to another. It makes it really easy to entrust site administrators to develop complicated tools inside of Drupal without ever touching code. It&#8217;s also great for developers because we can put the views created by administrators of the site into code and actually keep track of critical views inside modules where things can be kept under version control.</p>
<p>Media Mover presents similar challenges for websites.You want to try out major changes before they go live- often on a different server or at least a different environment from your live one. You don&#8217;t want to bog down your server with extra processing until you know for sure you&#8217;ve got things right. Further, it gives you a chance to test out different configurations of processing to tweak the final output for your ends.</p>
<p>The problem however, is moving those configurations from one environment to another. It&#8217;s not that hard to do this by hand, but there is room for error, and doing lots of this can get tiresome very quickly.</p>
<p>I sat down this morning and started shelling out the import / export system for Media Mover. At the moment, it&#8217;s quite simple and doesn&#8217;t allow the defining of configurations in other modules, however, that should be fairly easy to implement. What it does do is straight forward exporting of an existing configuration and importing of the same configuration. The only real error checking that it does is to make sure that the same models are enabled on the import- this prevents some potentially nasty things from happening since there isn&#8217;t a whole lot of error checking once Media Mover starts processing.</p>
<p><a href='http://www.24b6.net/wp-content/uploads/2008/06/import3.png'><img src="http://www.24b6.net/wp-content/uploads/2008/06/import3-300x244.png" alt="" title="import3" width="300" height="244" class="alignleft size-medium wp-image-253" /></a><br class="clear" /></p>
<p>The GUI is similar to views- clicking on the main export button gives you the options of which configurations to output, there is also a single link from the configuration landing page which directly exports that configuration.<br />
<a href='http://www.24b6.net/wp-content/uploads/2008/06/import4.png'><img src="http://www.24b6.net/wp-content/uploads/2008/06/import4-300x190.png" alt="" title="import4" width="300" height="190" class="size-medium wp-image-254" /></a><br class="clear" /></p>
<p>That&#8217;s the extent of the export functionality. Once the user has the code, they can paste this code into the import textarea:<br />
<a href='http://www.24b6.net/wp-content/uploads/2008/06/import5.png'><img src="http://www.24b6.net/wp-content/uploads/2008/06/import5-300x230.png" alt="" title="import5" width="300" height="230" class="size-medium wp-image-255" /></a><br class="clear" /></p>
<p>The code is basically the configuration object re-rendered in a textarea. Again, very similar to the approach taken by views:<br />
<a href='http://www.24b6.net/wp-content/uploads/2008/06/import6.png'><img src="http://www.24b6.net/wp-content/uploads/2008/06/import6-300x154.png" alt="" title="import6" width="300" height="154" class="size-medium wp-image-256" /></a></p>
<p>In this final image, you can see the new view. I renamed it in the code so that it would have a new name on import just to make it obvious- by default this doesn&#8217;t happen, it&#8217;s just for demonstration purposes. If you&#8217;re interested in checking it out, take a peek at the DRUPAL-5 CVS branch. All the code is there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.24b6.net/2008/06/23/import-export-configurations-in-media-mover/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
