<?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>duber's blog &#187; technical</title>
	<atom:link href="http://blog.duber.cz/category/technical/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.duber.cz</link>
	<description>the official duber studio™ blog</description>
	<lastBuildDate>Thu, 22 Jul 2010 15:53:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>3d World Magazine 128, Linear Workflow article</title>
		<link>http://blog.duber.cz/misc/3d-world-magazine-128-linear-workflow-article</link>
		<comments>http://blog.duber.cz/misc/3d-world-magazine-128-linear-workflow-article#comments</comments>
		<pubDate>Thu, 11 Mar 2010 23:14:56 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/?p=485</guid>
		<description><![CDATA[
I&#8217;ve had a chance to cooperate with James Hindley from FPA Architects on a pretty comprehensive article on Linear Workflow in 3D. Go check it out!
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.3dworldmag.com/page/3dworld?entry=3d_world_128_now_on"><img src="http://blog.duber.cz/wp-content/uploads/tdw128-gamma.jpg" alt="3D World Mag. 128" title="3D World Mag. 128" width="420" height="288" /></a></p>
<p>I&#8217;ve had a chance to cooperate with James Hindley from <a href="http://www.fparchitects.co.uk/">FPA Architects</a> on a pretty comprehensive article on Linear Workflow in 3D. <a href="http://www.3dworldmag.com/page/3dworld?entry=3d_world_128_now_on">Go check it out</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/misc/3d-world-magazine-128-linear-workflow-article/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>duberPython features demonstration!</title>
		<link>http://blog.duber.cz/3ds-max/duberpython-features-demonstration</link>
		<comments>http://blog.duber.cz/3ds-max/duberpython-features-demonstration#comments</comments>
		<pubDate>Thu, 04 Mar 2010 15:16:28 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[3ds Max]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[maxscript]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/?p=457</guid>
		<description><![CDATA[
I&#8217;m trhilled to be able to finally showcase, at least, some of our very own Python implementation into 3ds Max!
First off, our primary reason for writing our own, proprietary, Python connection to 3ds Max is Tactic by Southpaw Technology. An awesome asset management system entirely written in Python that I decided to invest in and [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://blog.duber.cz/wp-content/uploads/duberpython_banner.png' alt='duberPython banner' /></p>
<p>I&#8217;m trhilled to be able to finally showcase, at least, some of our very own Python implementation into 3ds Max!</p>
<p>First off, our primary reason for writing our own, proprietary, Python connection to 3ds Max is <a href="http://southpawtech.com/tactic.html">Tactic by Southpaw Technology</a>. An awesome asset management system entirely written in Python that I decided to invest in and integrate our tools and software packages into. Another reason for this connection, later came up, was the need for writing much more complex scripts with complex GUIs, since, as you probably know, a few functional lines of code are hardly enough in a modern, efficient, VFX production of today. <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The heart of our Python integration is <a href="http://www.microsoft.com/NET/">dotNET from Microsoft</a>. I can&#8217;t express myself enough how much I appretiate this framework! The brain of our Python integration is <a href="http://www.ironpython.net/">IronPython</a>. Also a product from Microsoft, completely open source and free, which are two very important aspects for any pipeline tool in any production facility of any size. Not the price as much as the availability of the software. And with IronPython and Microsoft, I am certain that this piece of software will be around for years!</p>
<p><span id="more-457"></span></p>
<p>So, what have we done?</p>
<ul>
<li>We&#8217;ve developed a bridge that connects MAXScript and Python via dotNET.</li>
<li>The bridge converts most of native Python and MAXScript data types to and from one another.</li>
<li>We&#8217;ve implemented several, custom, methods in Python that allow us to directly communicate with 3ds Max via MAXScript.</li>
<li>We&#8217;ve also implemented error reporting so that when an error is thrown in Python, it&#8217;ll return the exception in MAXScript for debuging.</li>
<li>Everything is based on dotNET and written in C#.</li>
<li>The best part? Our Python bridge is completely platform and 3ds Max version independent!</li>
</ul>
<p>Let me talk about the custom Python methods first. We&#8217;ve incorporated a class called <strong>mxsCon</strong>, that stores several methods for direct communication with 3ds Max as well as a variable<br />
that stores passed arguments from MAXScript to Python for greater flexibility, especially when executing short code snippets.</p>
<p>The initial design meant to provide a way of directly running Python code from within MAXScript. However, with more complex tools needed nowdays, this proved to be insufficient and thus we&#8217;ve developed a way of executing more complex Python scripts written externally using IronPython. This works perfectly well if you plan on using 3ds Max&#8217;s interpreter and just want to pass values around MAXScript and Python. This is perfectly efficitent and enough for writing really complex tools based on Python. In our case, it&#8217;s the connection to Tactic.</p>
<p>However, later, it occured to me that since we have most of the hard work done, why not bring everything over to the Python side. Since Python is such a great and powerful language, why bother with MAXScript! So we developed another method for executing MAXScript code directly within Python scripts and have the result, evaluated in MAXScript, be passed back to Python. IronPython that is. Since all the value conversions had already been done, this proved to be an extremely powerful and efficient way of writing very complex tools, now even, with very complex GUIs. Since everything is based on dotNET, we can utilise IronPython and some of the IDEs available for super quick GUI development. I used <a href="http://www.icsharpcode.net/OpenSource/SD/">SharpDevelop</a>, an open source IDE for writing dotNET applications, for all my GUI and code stuff. Then I just hook up MAXScript commands that I pass Python values to in order to perform some actions in 3ds Max, like opening a file from our server stored in Tactic. Or, create objects and list them in a ListView. Or even write a direct 3ds Max &#8211; Maya translator! Why not? <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyways, here are the methods and their purpose in 3ds Max:</p>
<ul>
<li>Python.run( &#60;string&#62; ) &#8212; will execute a Python script wrapped in double quotes (effectively a string).</li>
</ul>
<p>Example:</p>
<pre>
Python.run
(
	"import sys
	mxsCon.setResult( sys.version )"
)
</pre>
<p></br><br />
In this case, Python.run() will return whatever the mxsCon.setResult() will pass to it (more on that later).</p>
<ul>
<li>Python.runFromFile( &#60;string&#62; ) [ args:#() ] &#8212; will execute a Python script stored in an external file and alternatively pass it custom arguments.</li>
</ul>
<p>Example:</p>
<pre>
Python.runFromFile @"C:\myPythonScript.py" args:#( 10., true, #(1,2,3), "some string" )
</pre>
<p></br><br />
In Python, you&#8217;ll have to catch the passed arguments in order to use them, however the conversion of the data types will be done automatically for you.</p>
<ul>
<li>Python.inspect( &#60;data type&#62; ) &#8212; this method will inspect what data type you passed to it and how it will convert it to Python.</li>
<li>Python.getError() &#8212; this method returns the last unhandled exception in Python code.</li>
<li>Python.setVerbosity( &#60;int&#62; ) &#8212; allows you to set the level of verbosity for error reporting.</li>
<li>Python.getVerbosity() &#8212; retreives the level of verbosity you currently use.</li>
<li>Python.resetPy() &#8212; a very useful method for resetting our bridge residing in memory in case you&#8217;ve changed something radical in the source code etc&#8230;</li>
</ul>
<p>And here are the custom methods developed in C# for IronPython use in the scripts. These only exist when run via our Pythoner.dll module. If you run the Python scripts without Pythoner, you&#8217;ll have to handle their lack of presence. I&#8217;ve done this via a custom class that I import in the scripts I use. This is extremely flexible since when I run the code outside of 3ds Max, I can still use its functionality without having to deal with error handlers all over the place.</p>
<ul>
<li>mxsCon.setResult( &#60;data&#62; ) # this method will return whatever it encapsulates directly to 3ds Max as well as in Python should you need to work with it later in the script.</li>
</ul>
<p>Example:</p>
<pre>
import math

def myFunc( arg ):
	sum = arg + 100.
	return mxsCon.setResult( [arg, sum] )

if __name__ == '&#60;module&#62;':
	myFunc( math.pi )
</pre>
<p></br><br />
The myFunc function will not only return a List of whatever you pass to it as well as the result of addition, but it&#8217;ll also pass this List directly to MAXScript for later use in 3ds Max.</p>
<ul>
<li>mxsCon.getResult() # this method will only return the last value stored in memory using the .setResult() method. Useful for later usage in Python.</li>
<li>mxsCon.convert( &#60;data&#62; ) # this method will convert the input data types from Python to MAXScript compatible data types, but will return then wrapped as a string. This<br />
may be useful for other usage reasons. I used it for debugging or printing values in Python in MAXScript format.</li>
<li>mxsCon.execute( &#60;data&#62; ) # here&#8217;s where the magic happens. This method is quite complex. It not only evaluates whatever is passed to it in a String format, but it&#8217;ll also wait for the result from MAXScript and return it within Python. Another, very cool, feature of this method is similar to String formatting capabilities known from Python.</li>
</ul>
<p>Some examples of the mxsCon.execute() method:</p>
<pre>
# assume here's a ton of complex Python code that invokes this method
returnedVal = mxsCon.execute( r'Box()' )
# will create a box in 3ds Max and return OK (converted to True) back to Python.

returnedVal = mxsCon.execute( r'getDir {0}', r'#scripts' )</pre>
<p>The .execute method will first evaluate its input into a single string,<br />
in this case: r&#8217;getDir #scripts&#8217;, in a similar fashion the .format method works in Python.<br />
Then it&#8217;ll execute the command in MAXScript and retun its output back to Python.<br />
The output, in this case, will be a string: &#8216;C:\Program Files\Autodesk\3ds Max 2009\scripts&#8217;</p>
<p><a href="http://blog.duber.cz/wp-content/gallery/vids/pythoner_demo/pythoner_demo.html"><img src="http://blog.duber.cz/wp-content/uploads/pythoner_sharpdevelop_demo.png" alt="duberPython Features Demo" title="duberPython Features Demo" width="560" height="350" class="aligncenter size-full wp-image-468" /></a></p>
<p>But, enought with the talk, see it for yourself in action in this short Windows.Forms demo. (clicking the image will take you to the video)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/3ds-max/duberpython-features-demonstration/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Render slave&#8217;s setup and benchmarks</title>
		<link>http://blog.duber.cz/misc/render-slaves-setup-and-benchmarks</link>
		<comments>http://blog.duber.cz/misc/render-slaves-setup-and-benchmarks#comments</comments>
		<pubDate>Thu, 11 Feb 2010 21:34:57 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/?p=432</guid>
		<description><![CDATA[I&#8217;ve finally received all the parts for my first render slave and immediately got into assembling and installing it. The rig is quite simple, very mainstream and very affordable. A standard ATX board placed in a 1U rack chassis, a Core i7 CPU, 8GB of RAM, two drives, one primary for the system and software [...]]]></description>
			<content:encoded><![CDATA[<a href="http://blog.duber.cz/wp-content/uploads/fry.png" rel="lightbox[432]"><img src="http://blog.duber.cz/wp-content/uploads/fry_thumb.jpg" alt="render node setup" title="render node setup" width="560" height="300" class="size-thumbnail wp-image-435" /></a>
<p>I&#8217;ve finally received all the parts for my first render slave and immediately got into assembling and installing it. <a href="http://blog.duber.cz/misc/dubers-render-slaves">The rig is quite simple</a>, very mainstream and very affordable. A standard ATX board placed in a 1U rack chassis, a Core i7 CPU, 8GB of RAM, two drives, one primary for the system and software and the other for buffering stuff, no DVD drive, no GPU, 350W power supply and that&#8217;s it. All running 64bit Windows 7 Professional.</p>
<p><span id="more-432"></span></p>
<p>I was kinda curious how this baby would perform once installed in the rack and how it&#8217;ll compare to my workstation, which is also a Core i7, 12GB of RAM, tons of HDD space (about 4TB), GeForce GTX285, some BD and DVD drives and other stuff all crammed on a standard ATX main board.</p>
<p>Here&#8217;s a quick video of the setup and of the first benchmark, for which I used the latest 64bit <a href="http://www.frybench.com/">FryBench</a> renderer. Quite surprisingly, the render node performed a bit faster than my workstation (might be due to the fresh install, though). It rendered the glass scene in 00h:07m:12s.<br />
<div id="attachment_435" class="wp-caption alignnone" style="width: 570px"><img src="http://blog.duber.cz/wp-content/gallery/vids/render_node_installation.jpg" /><p class="wp-caption-text">Music &copy; <a href='http://frankklepacki.com/'>Frank Klepacki</a></p></div></p>
<p>My workstation finished the scene in 00h:07m:29s.</p>
<p>I&#8217;m quite pleased with not only the speed of the render node, but also how cool it is. The temperature never went above 70°C, which is very, very good! Especially in a crammed rack setup. But obviously, the more nodes in the rack, the more heat they&#8217;ll produce and I&#8217;ll certainly have to deal with that later, especially during summer.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/misc/render-slaves-setup-and-benchmarks/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>1000BASE-T Ethernet upgrade</title>
		<link>http://blog.duber.cz/misc/1000base-t-ethernet-upgrade</link>
		<comments>http://blog.duber.cz/misc/1000base-t-ethernet-upgrade#comments</comments>
		<pubDate>Sat, 30 Jan 2010 14:26:13 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[1000BASE-T]]></category>
		<category><![CDATA[duber]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[gigabit]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[studio]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[WAN]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/?p=402</guid>
		<description><![CDATA[
The entire studio ethernet ran on a standard 100Mbps line, 100BASE-T Fast Ethernet, which used to be enough. However, with the addition of a render farm and a fast centralized storage, I needed an upgrade. Thankfully, nowdays, a Gigabit Ethernet is becoming pretty mainstream as well, so I didn&#8217;t really have to put too much [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.duber.cz/wp-content/uploads/net_schema.png" rel="lightbox[402]"><img src="http://blog.duber.cz/wp-content/uploads/net_schema.thumbnail.png" alt="duber studio net topology" title="duber studio net topology" class="alignnone size-thumbnail wp-image-403" /></a></p>
<p>The entire studio ethernet ran on a standard 100Mbps line, 100BASE-T Fast Ethernet, which used to be enough. However, with the addition of a render farm and a fast centralized storage, I needed an upgrade. Thankfully, nowdays, a Gigabit Ethernet is becoming pretty mainstream as well, so I didn&#8217;t really have to put too much money into the whole network. All the standard, mainstream, main boards come with a 10/100/1000Mbps network cards integrated, the 1000BASE-T switches and routers are also pretty cheap, so all I really needed was a new switch, a bunch of CAT6 cables (however, CAT5e would have been enough as well) and a bit of re-wiring. The new network topology can be seen at the top.</p>
<p><span id="more-402"></span></p>
<p>Here are a few shots of the setup when I was working on it (I have a habbit of documenting a lot of stuff, when I come to think about it. <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ).</p>
<p><a href="http://blog.duber.cz/wp-content/uploads/net_upgrade_01.jpg" title="Network Upgrade" rel="lightbox[402]"><img src="http://blog.duber.cz/wp-content/uploads/net_upgrade_01.thumbnail.jpg" alt="Network Upgrade" title="net_upgrade_01" class="alignnone size-thumbnail wp-image-407" /></a></p>
<p><a href="http://blog.duber.cz/wp-content/uploads/net_upgrade_02.jpg" title="Network Upgrade" rel="lightbox[402]"><img src="http://blog.duber.cz/wp-content/uploads/net_upgrade_02.thumbnail.jpg" alt="Network Upgrade" title="net_upgrade_02" class="alignnone size-thumbnail wp-image-408" /></a></p>
<p><a href="http://blog.duber.cz/wp-content/uploads/net_upgrade_03.jpg" title="Network Upgrade" rel="lightbox[402]"><img src="http://blog.duber.cz/wp-content/uploads/net_upgrade_03.thumbnail.jpg" alt="Network Upgrade" title="net_upgrade_03" class="alignnone size-thumbnail wp-image-409" /></a></p>
<p><a href="http://blog.duber.cz/wp-content/uploads/net_upgrade_04.jpg" title="Network Upgrade" rel="lightbox[402]"><img src="http://blog.duber.cz/wp-content/uploads/net_upgrade_04.thumbnail.jpg" alt="Network Upgrade" title="net_upgrade_04" class="alignnone size-thumbnail wp-image-410" /></a></p>
<p><a href="http://blog.duber.cz/wp-content/uploads/net_upgrade_05.jpg" title="Network Upgrade" rel="lightbox[402]"><img src="http://blog.duber.cz/wp-content/uploads/net_upgrade_05.thumbnail.jpg" alt="Network Upgrade" title="net_upgrade_05" class="alignnone size-thumbnail wp-image-411" /></a></p>
<p><a href="http://blog.duber.cz/wp-content/uploads/net_upgrade_06.jpg" title="Network Upgrade" rel="lightbox[402]"><img src="http://blog.duber.cz/wp-content/uploads/net_upgrade_06.thumbnail.jpg" alt="Network Upgrade" title="net_upgrade_06" class="alignnone size-thumbnail wp-image-412" /></a></p>
<p>Anyways, we&#8217;re on a 1Gbps line all across the studio now and when I tested to copy a 14GB file from one PC to another the average data transfer speed was about 35MB/s, which took about 7 minutes or so. Not too bad. Obviously transferring tons of tiny files will always be an issue, but it should help with the larger ones, such as the scenes, source textures, renders, point caches etc&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/misc/1000base-t-ethernet-upgrade/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>duber studio server is finally online!</title>
		<link>http://blog.duber.cz/misc/duber-studio-server-is-finally-online</link>
		<comments>http://blog.duber.cz/misc/duber-studio-server-is-finally-online#comments</comments>
		<pubDate>Sat, 30 Jan 2010 02:20:13 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[duber]]></category>
		<category><![CDATA[farm]]></category>
		<category><![CDATA[nodes]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[poweredge]]></category>
		<category><![CDATA[powervault]]></category>
		<category><![CDATA[render]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[studio]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/?p=392</guid>
		<description><![CDATA[
Hell yeah!  After a few months of putting the gear together, getting all the paperwork done, installing the electrical and network cabling, we finally run our own data management platform with an added bonus of a private render farm. How cool is that?!  
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.duber.cz/wp-content/uploads/messiah_rd.png" rel="lightbox[392]"><img src="http://blog.duber.cz/wp-content/uploads/messiah_rd.thumbnail.png" alt="duber server is online" title="duber server is online" width="560" height="300" class="alignnone size-thumbnail wp-image-393" /></a></p>
<p>Hell yeah! <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> After a few months of <a href="http://blog.duber.cz/misc/the-centralized-storage-upgrade">putting the gear together</a>, getting all the paperwork done, installing the <a href="http://blog.duber.cz/misc/server-room-installation-part-1">electrical</a> and <a href="http://blog.duber.cz/misc/server-room-installation-part-2">network</a> cabling, we finally run our own data management platform with an added bonus of a <a href="http://blog.duber.cz/misc/dubers-render-slaves">private render farm</a>. How cool is that?! <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/misc/duber-studio-server-is-finally-online/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>duber&#8217;s render slaves</title>
		<link>http://blog.duber.cz/misc/dubers-render-slaves</link>
		<comments>http://blog.duber.cz/misc/dubers-render-slaves#comments</comments>
		<pubDate>Sat, 23 Jan 2010 14:33:45 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[opinions]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[duber]]></category>
		<category><![CDATA[i7]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[node]]></category>
		<category><![CDATA[nodes]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[render]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[slave]]></category>
		<category><![CDATA[slaves]]></category>
		<category><![CDATA[studio]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/misc/dubers-render-slaves</guid>
		<description><![CDATA[
I finally started building the render slaves for my studio. The first dedicated render node I built is based on basic mainstream parts, nothing fancy, but with enough power so that the render node does make sense to be placed in a rack installation.
The basic idea, obviously, was to build as powerful a machine, as [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://blog.duber.cz/wp-content/uploads/renderslave_05.jpg' title='duber render node' rel="lightbox[352]"><img src='http://blog.duber.cz/wp-content/uploads/renderslave_05.thumbnail.jpg' alt='duber render node' /></a></p>
<p>I finally started building the render slaves for my studio. The first dedicated render node I built is based on basic mainstream parts, nothing fancy, but with enough power so that the render node does make sense to be placed in a rack installation.</p>
<p>The basic idea, obviously, was to build as powerful a machine, as possible for the lowest price tag, as possible. Since I&#8217;ve been an Intel user since, well forever, I based the machine on a Core i7 860 (Lynnfield) CPU, DDR3 memory and the rest is pretty much optional. But for my purposes, I wan every machine in the studio, to basically follow this idea of having a dedicated hard-drive, preferrably pretty fast, for the OS and a dedicated one for all the offline data. So, each machine, including the render nodes, will host a C: drive with all the software and programs on and a D: drive that&#8217;ll be setup to support all the files that we&#8217;ll work with. The workstation will have some other HDDs optionally, but these two drives are neccesary in order to rule out variables in the pipeline I&#8217;ve been building for a few months now.</p>
<p><span id="more-352"></span></p>
<p><a href='http://blog.duber.cz/wp-content/uploads/renderslave_01.jpg' title='duber render node' rel="lightbox[352]"><img src='http://blog.duber.cz/wp-content/uploads/renderslave_01.thumbnail.jpg' alt='duber render node' /></a></p>
<p>Anyways, the render node&#8217;s config is a <a href="http://ark.intel.com/Product.aspx?id=41316&#038;processor=i7-860&#038;spec-codes=SLBJJ">Core i7 860 (Lynnfield)</a> CPU, 8GB of DDR3 RAM (I couldn&#8217;t get 16GB, 4&#215;4GB, sticks unfortunately, but the mainboard supports them), Corsair I believe, a Gigabyte mainboard (<a href="http://www.gigabyte.com.tw/Products/Motherboard/Products_Spec.aspx?ProductID=3309">H55M-UD2H</a>), Western Digital hard drives, one 10krpm 74GB VelociRaptor and the other is the same as I have in the <a href="http://blog.duber.cz/misc/setting-up-powervault-md1000">PowerVault MD1000 DAS</a>, a 500GB RE3 HDD. The case is a Chieftec 1U chassis. That&#8217;s about it. No graphics card, no nothing.</p>
<p><a href='http://blog.duber.cz/wp-content/uploads/renderslave_02.jpg' title='duber render node' rel="lightbox[352]"><img src='http://blog.duber.cz/wp-content/uploads/renderslave_02.thumbnail.jpg' alt='duber render node' /></a></p>
<p><a href='http://blog.duber.cz/wp-content/uploads/renderslave_03.jpg' title='duber render node' rel="lightbox[352]"><img src='http://blog.duber.cz/wp-content/uploads/renderslave_03.thumbnail.jpg' alt='duber render node' /></a></p>
<p>I&#8217;m still waiting for the 1U coolers, which will be <a href="http://www.dynatron-corp.com/en/product_detail_1.aspx?cv=&#038;id=191&#038;in=0">Dynatron K199</a>, hopefully enough to cool down the CPU in such a tiny space. And a few more misc bits, like a rack shelves or flexible PCI-e riser cards that&#8217;ll allow me to temporarily place a backup graphics card in the case for installation, which&#8217;ll be removed from the system after that.</p>
<p>The OS of choice is, none other, than Windows 7 Professional x64. I have several reasons for this is:</p>
<ol>
<li>Win 7 is pretty fast</li>
<li>It&#8217;s modern and flexible, meaning I can further enhance the performance by disabling tons of stuff and it&#8217;s gonna support the latest HW</li>
<li>Win 7 will communicate better with the <a href="http://blog.duber.cz/misc/the-pieces-are-falling-together">Windows 2008 Server</a> I have running my entire pipeline tools</li>
<li>And NO! I can&#8217;t run Linux on any of my machines!</li>
</ol>
<p><a href='http://blog.duber.cz/wp-content/uploads/renderslave_04.jpg' title='duber render node' rel="lightbox[352]"><img src='http://blog.duber.cz/wp-content/uploads/renderslave_04.thumbnail.jpg' alt='duber render node' /></a></p>
<p>I&#8217;m planning on experimenting with AMD CPUs as well, to see which ones perform best in the rack installation. The plan is to buy a new render node each bi-month, so by the end of the year, I should have at least 6 of these installed and online in the rack. For now, however, I&#8217;ll have to wait for the last parts to arrive from the US and then perform some benchmarking. I&#8217;ll keep you updated, of course! <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/misc/dubers-render-slaves/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Server room installation, part 2</title>
		<link>http://blog.duber.cz/misc/server-room-installation-part-2</link>
		<comments>http://blog.duber.cz/misc/server-room-installation-part-2#comments</comments>
		<pubDate>Thu, 21 Jan 2010 13:16:44 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[CAT5]]></category>
		<category><![CDATA[duber]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[room]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[studio]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[utility]]></category>
		<category><![CDATA[UTP]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/misc/server-room-installation-part-2</guid>
		<description><![CDATA[The T-Systems guys were pretty quick! I didn&#8217;t expect them to show up this week, but they did. Kudos!
Anyways, the server room is finally plugged to the local central switch. It is not online yet, T-Systems will have to go through yet another buerocratic procedure prior to setting up the line. But, the hard work [...]]]></description>
			<content:encoded><![CDATA[<p>The T-Systems guys were pretty quick! I didn&#8217;t expect them to show up this week, but they did. Kudos!</p>
<p>Anyways, the server room is finally plugged to the local central switch. It is not online yet, T-Systems will have to go through yet another buerocratic procedure prior to setting up the line. But, the hard work is done and all I need now is an electricity revision and the T-Systems green light.</p>
<p><span id="more-348"></span></p>
<p>I took some shots with my phone this time as I forgot my camera home. So, please, excuse the terrible quality.</p>
<p><a href='http://blog.duber.cz/wp-content/uploads/server_lan_01.jpg' title='CAT 5 UTP installation' rel="lightbox[348]"><img src='http://blog.duber.cz/wp-content/uploads/server_lan_01.thumbnail.jpg' alt='CAT 5 UTP installation' /></a></p>
<p><a href='http://blog.duber.cz/wp-content/uploads/server_lan_02.jpg' title='The centralized Switch setup' rel="lightbox[348]"><img src='http://blog.duber.cz/wp-content/uploads/server_lan_02.thumbnail.jpg' alt='The centralized Switch setup' /></a></p>
<p><a href='http://blog.duber.cz/wp-content/uploads/server_lan_03.jpg' title='Rack RJ45 outlet' rel="lightbox[348]"><img src='http://blog.duber.cz/wp-content/uploads/server_lan_03.thumbnail.jpg' alt='Rack RJ45 outlet' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/misc/server-room-installation-part-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server room installation, part 1</title>
		<link>http://blog.duber.cz/misc/server-room-installation-part-1</link>
		<comments>http://blog.duber.cz/misc/server-room-installation-part-1#comments</comments>
		<pubDate>Mon, 18 Jan 2010 00:32:11 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[duber]]></category>
		<category><![CDATA[electricity]]></category>
		<category><![CDATA[fuse]]></category>
		<category><![CDATA[fuses]]></category>
		<category><![CDATA[fusesboard]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[power]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[room]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[studio]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/misc/server-room-installation-part-1</guid>
		<description><![CDATA[
We finally got to the first stage of installing and prepping the server room this weekend. The first stage was to get electricity to the computers. The problem with this is, firstly, the power drain, then the network connection. Unfortunately, I didn&#8217;t have any other choice but to place the server with the DAS and [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://blog.duber.cz/wp-content/uploads/ele_banner.jpg' alt='Electricity Label' /></p>
<p>We finally got to the first stage of installing and prepping the server room this weekend. The first stage was to get electricity to the computers. The problem with this is, firstly, the power drain, then the network connection. Unfortunately, I didn&#8217;t have any other choice but to place the server with the DAS and the render slaves in a storage room, located on the ground floor in the building my studio is placed in (former flat). The room is great since the server and the running machines don&#8217;t bother anybody, but, it&#8217;s not properly air conditioned, it didn&#8217;t have any electricity power (except for the light) and it wasn&#8217;t connected or even remotely being able to be connected to the LAN switch.</p>
<p><span id="more-347"></span></p>
<p>I&#8217;ll deal with the air conditioning later, since it&#8217;s pretty damn cold here nowdays (below 5 degrees Celsius) and thus the temperature will be fine up til about April or so. But power was the first major issue. So this was the first step I had to take care of. I filed tons of paperwork, dealt with the local bureaus and finally hired the electricity gurus (pictured) to connect the storage room to my flat fuseboard. This presented several challenges. The first one was the power input. It had to be upgraded so that the fuses would sustain the higher power drain from the computers (both in the storage room and in the studio). Then we had to figure out how to connect the fuseboard, located about 20 meters behind three walls, to the storage room. The last bit will, yet again, be all about paperwork and bureaucracy. I&#8217;ll have to deal with that this week.</p>
<p>The second step will involve T-Mobile and their T-Systems (its subsidiary company, our internet provider) to connect the server&#8217;s switch to the local LAN switch, that is located in the underground level (the garage), also about 20 meters away. That&#8217;ll be another story and I still haven&#8217;t received the date the installation will be done, yet. But I&#8217;ll cover that as well, don&#8217;t worry. <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Anyways, I thought some might be interested in this whole process of &#8220;putting stuff together to run a small studio&#8221;, so I took quite a few photos during this first installation. <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> All this took about 9 hours of continuous labor, by the way. And for those who understand electricity, the fuse box we had to install in the fuseboard was a 32 amp (upgraded from the standard 25 amp), 3 phases, 240V for the rack (it should sustain about 30KW take-off), or so I was told. <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_01.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_01.jpg" alt="server_room_01.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_02.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_02.jpg" alt="server_room_02.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_03.jpg"  title="Server Room Electricity Installation rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_03.jpg" alt="server_room_03.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_04.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_04.jpg" alt="server_room_04.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_05.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_05.jpg" alt="server_room_05.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_06.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_06.jpg" alt="server_room_06.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_07.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_07.jpg" alt="server_room_07.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_08.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_08.jpg" alt="server_room_08.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_09.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_09.jpg" alt="server_room_09.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_10.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_10.jpg" alt="server_room_10.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_11.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_11.jpg" alt="server_room_11.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_12.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_12.jpg" alt="server_room_12.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_13.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_13.jpg" alt="server_room_13.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_14.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_14.jpg" alt="server_room_14.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_15.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_15.jpg" alt="server_room_15.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_16.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_16.jpg" alt="server_room_16.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_17.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_17.jpg" alt="server_room_17.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_18.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_18.jpg" alt="server_room_18.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_19.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_19.jpg" alt="server_room_19.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_20.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_20.jpg" alt="server_room_20.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_21.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_21.jpg" alt="server_room_21.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_22.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_22.jpg" alt="server_room_22.jpg" title="Server Room Electricity Installation" /></a> <a href="http://blog.duber.cz/wp-content/gallery/server_room/server_room_23.jpg"  title="Server Room Electricity Installation" rel="lightbox[347]"><img src="http://blog.duber.cz/wp-content/gallery/server_room/thumbs/thumbs_server_room_23.jpg" alt="server_room_23.jpg" title="Server Room Electricity Installation" /></a></p>
<p>The fuseboard was alive! I wouldn&#8217;t even dare to undo the cover, let alone reconnect the cabling! Anyways, as I&#8217;ve said, this is only the first of several steps. I&#8217;m still missing a special type of a socket outlet in the server room for the rack, that should come in about a week or so. Then a complete electrical revision. Then some more paperwork. Then the LAN switch interconnection. And that should be it. We should be able to access the server and its data storage and the render slaves from the studio, 5 storeys away. Hopefully all will be done in two weeks, tops. I&#8217;ll keep you updated. <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/misc/server-room-installation-part-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Writing custom LUTs for FrameCycler is kindergarten easy!</title>
		<link>http://blog.duber.cz/misc/writing-custom-luts-for-framecycler-is-kindergarten-easy</link>
		<comments>http://blog.duber.cz/misc/writing-custom-luts-for-framecycler-is-kindergarten-easy#comments</comments>
		<pubDate>Tue, 12 Jan 2010 23:05:42 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[framecycler]]></category>
		<category><![CDATA[ilut]]></category>
		<category><![CDATA[iridas]]></category>
		<category><![CDATA[LUT]]></category>
		<category><![CDATA[LUTs]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[sRGB]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/misc/writing-custom-luts-for-framecycler-is-kindergarten-easy</guid>
		<description><![CDATA[
That&#8217;s right! I needed to convert a fairly complex, proprietary, LUT for preview purposes to one of the IRIDAS&#8217; formats. I chose .ilut, since it&#8217;s a really simple, yet, extremely powerful format!
Let&#8217;s take a look at the syntax first. On the online documentation IRIDAS site, you&#8217;ll see all the different LUT formats FrameCycler supports, as [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://blog.duber.cz/wp-content/uploads/framecycler_srgb_lut.png' title='FrameCycler custom sRGB LUT' rel="lightbox[343]"><img src='http://blog.duber.cz/wp-content/uploads/framecycler_srgb_lut.thumbnail.png' alt='FrameCycler custom sRGB LUT' /></a></p>
<p>That&#8217;s right! I needed to convert a fairly complex, proprietary, LUT for preview purposes to one of the IRIDAS&#8217; formats. I chose .ilut, since it&#8217;s a really simple, yet, extremely powerful format!</p>
<p>Let&#8217;s take a look at the syntax first. On the <a href="http://doc.iridas.com/index.php/LUT_Formats#IRIDAS_.ilut">online documentation IRIDAS site</a>, you&#8217;ll see all the different LUT formats FrameCycler supports, as well as the syntax for those files. The .ilut format is pretty flexible. It supports either an XML (ASCII) syntax, or an inrerpretable script format. For my complex LUT I used the XML format. The LUT wouldn&#8217;t be of much use to you as it&#8217;s used on a specific machine with a specific graphics card, specifically calibrated display and generally a different color workflow than the rest of the machines at the studio. But, to demonstrate the usefulness of this LUT file format, I&#8217;ll show you my sRGB LUT I created a while ago using the interpretable script syntax for previewing linear images (OpenEXR for example).</p>
<p><span id="more-343"></span></p>
<p>But first, let&#8217;s take a look at the math behind the <a href="http://www.w3.org/Graphics/Color/sRGB.html">sRGB gamma curve</a>. Basically, the sRGB standard specifies that whenever the input value is less or equal to 0.00304, the output value will equal to the input value multiplied by 12.92. In all other cases, the output value will utilise a slightly more complex formula, a 1.055 times the input value on the power of 0.416 (it&#8217;s a periodical float value, thus it&#8217;s being expressed as a fraction 1.0/2.4) subtracting the value of 0.055. Quite simple.</p>
<p>Here&#8217;s the expression in IRIDAS&#8217; .ilut compatible format:</p>
<pre><code>&#60;IRIDAScript&#62;

&#47;&#47;sRGB LUT script

out = 0;

if (in &#60;= 0.00304)
&#123;
	out = in*12.92;
&#125;
else
	out = (1.055 * pow(in, (1.0&#47;2.4)) - 0.055);

red = out;
green = out;
blue = out;

&#60;&#47;IRIDAScript&#62;</code></pre>
<p>As the documentation suggests, all the user variables should be pre-defined prior to being used. The <em>out</em> variable is my own variable that holds the output. The <em>in</em> variable is, I assume, a built in variable that holds the input value. The formula is simlpe, as explained above. Here&#8217;s the same formula written in Python, for those who struggle with the .ilut syntax (even though I consider it trivial):</p>
<pre><code>output = 0.
input = .5 # in reality this will go through the whole interval of <0.0, 1.0>

def sRGB(input):
	if input <= .00304:
		output = input * 12.92
	else:
		output = 1.055 * pow(input, (1.0/2.4)) - 0.055

	return output

output = sRGB(input)</code></pre>
<p>All you need is simply to save the .ilut script above to a file with the .ilut extension, save it in the LUTs folder within the FrameCycler folder, restart FrameCycler and you're done. You can then choose the LUT from the Calibration drop down list (lower right corner) to use the LUT on your Linear sequences. This will then calculate the pixel values (I think on a GPU, not sure though) for each frame and display the image in a correct sRGB format on your standard monitor.</p>
<p>As a side note, the huge benefit of using the script syntax as opposed to the XML format is that the values are being dynamically calculated, so, you're not constrained by the LUT precision.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/misc/writing-custom-luts-for-framecycler-is-kindergarten-easy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transforming an elder file server into a modern workstation, part 1</title>
		<link>http://blog.duber.cz/misc/transforming-an-elder-file-server-part-1</link>
		<comments>http://blog.duber.cz/misc/transforming-an-elder-file-server-part-1#comments</comments>
		<pubDate>Mon, 04 Jan 2010 15:23:39 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[opinions]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[16x]]></category>
		<category><![CDATA[4.x]]></category>
		<category><![CDATA[5]]></category>
		<category><![CDATA[8x]]></category>
		<category><![CDATA[card]]></category>
		<category><![CDATA[express]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[G-5]]></category>
		<category><![CDATA[G5]]></category>
		<category><![CDATA[generation]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[ML350]]></category>
		<category><![CDATA[pci]]></category>
		<category><![CDATA[pci-e]]></category>
		<category><![CDATA[ProLiant]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[workstation]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/misc/transforming-an-elder-file-server-part-1</guid>
		<description><![CDATA[
I bought an aging file server, HP ProLiant ML350 G-5, and I want to transform it into a modern workstation that&#8217;ll be used for compositing tasks (Nuke, Photoshop and maybe After Effects). However, I&#8217;ve ran into some issues. Mainly, the server doesn&#8217;t have a dedicated PCI-Express 16x slot used for modern graphics cards, it only [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://blog.duber.cz/wp-content/uploads/proliant_01.jpg' title='ProLiant ML350 G-5' rel="lightbox[336]"><img src='http://blog.duber.cz/wp-content/uploads/proliant_01.thumbnail.jpg' alt='ProLiant ML350 G-5' /></a></p>
<p>I bought an aging file server, HP ProLiant ML350 G-5, and I want to transform it into a modern workstation that&#8217;ll be used for compositing tasks (Nuke, Photoshop and maybe After Effects). However, I&#8217;ve ran into some issues. Mainly, the server doesn&#8217;t have a dedicated PCI-Express 16x slot used for modern graphics cards, it only sports 3 PCI-e 4x slots, which sucks (how much it suck I&#8217;ll know after some benchmarks). The server also has only one CPU, a quite old and slow one. And, only 2GB of DDR2 RAM. The RAM is the least of an issue, the CPUs are quite expensive to upgrade, so I&#8217;ll keep the one already in there for the time being. But the GPU is the bummer! I&#8217;ve documented an approx. 15 minutes long video of &#8220;hacking&#8221; a regular graphics card in the PCI-e 4x (actually of the 8x size) slot, for those curious ones out there (I sure was!) <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><img src="http://blog.duber.cz/wp-content/gallery/vids/proliant_screen.jpg" /></p>
<p><span id="more-336"></span></p>
<p><a href='http://blog.duber.cz/wp-content/uploads/proliant_02.jpg' title='ProLiant ML350 G-5' rel="lightbox[336]"><img src='http://blog.duber.cz/wp-content/uploads/proliant_02.thumbnail.jpg' alt='ProLiant ML350 G-5' /></a></p>
<p><a href='http://blog.duber.cz/wp-content/uploads/proliant_03.jpg' title='ProLiant ML350 G-5' rel="lightbox[336]"><img src='http://blog.duber.cz/wp-content/uploads/proliant_03.thumbnail.jpg' alt='ProLiant ML350 G-5' /></a></p>
<p><a href='http://blog.duber.cz/wp-content/uploads/proliant_04.jpg' title='ProLiant ML350 G-5' rel="lightbox[336]"><img src='http://blog.duber.cz/wp-content/uploads/proliant_04.thumbnail.jpg' alt='ProLiant ML350 G-5' /></a></p>
<p><a href='http://blog.duber.cz/wp-content/uploads/proliant_05.jpg' title='ProLiant ML350 G-5' rel="lightbox[336]"><img src='http://blog.duber.cz/wp-content/uploads/proliant_05.thumbnail.jpg' alt='ProLiant ML350 G-5' /></a></p>
<p><a href='http://blog.duber.cz/wp-content/uploads/proliant_06.jpg' title='ProLiant ML350 G-5' rel="lightbox[336]"><img src='http://blog.duber.cz/wp-content/uploads/proliant_06.thumbnail.jpg' alt='ProLiant ML350 G-5' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/misc/transforming-an-elder-file-server-part-1/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
