<?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</title>
	<atom:link href="http://blog.duber.cz/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.duber.cz</link>
	<description>the official duber studio™ blog</description>
	<lastBuildDate>Thu, 11 Mar 2010 23:14:56 +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>0</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' )
"""the .execute method will first evaluate its input into a single string,
in this case: r'getDir #scripts', in a similar fashion the .format method works in Python.
Then it'll execute the command in MAXScript and retun its output back to Python.
The output, in this case, will be a string: 'C:\Program Files\Autodesk\3ds Max 2009\scripts'"""
</pre>
<p></br><br />
But, enought with the talk, see it for yourself in action in this, roughly edited, 13 minute feature demonstration (clicking the image will take you to the video):</p>
<p><a href="http://www.duber.cz/camtasia/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="alignnone size-full wp-image-468" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/3ds-max/duberpython-features-demonstration/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A pretty thorough review of the 3DATS Advanced to Expert book</title>
		<link>http://blog.duber.cz/misc/a-pretty-thorough-review-of-the-3dats-advanced-to-expert-book</link>
		<comments>http://blog.duber.cz/misc/a-pretty-thorough-review-of-the-3dats-advanced-to-expert-book#comments</comments>
		<pubDate>Mon, 22 Feb 2010 18:47:48 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[3ds Max]]></category>
		<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[opinions]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/?p=452</guid>
		<description><![CDATA[
If you still haven&#8217;t bought the book yet, DO IT NOW!  
Or at least, do it after you&#8217;ve read this thorough review of the book.
I can&#8217;t resist to quote what the reviewer is saying about my chapter, of which I&#8217;m quite proud, obviously.  
The advanced unwrapping chapter I found very useful as unwrapping [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.duber.cz/wp-content/uploads/3ds_max_2010_advanced_to_expert_banner1.jpg" rel="lightbox[452]"><img src="http://blog.duber.cz/wp-content/uploads/3ds_max_2010_advanced_to_expert_banner1.jpg" alt="3ds_max_2010_advanced_to_expert_banner" title="3ds_max_2010_advanced_to_expert_banner" width="560" height="202" class="alignnone size-full wp-image-453" /></a></p>
<p>If you still haven&#8217;t bought <a href="http://3dats.com/expert_book/">the book</a> yet, <a href="http://3dats.com/expert_book/">DO IT NOW</a>! <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Or at least, do it after you&#8217;ve read this thorough review of the book.</p>
<p>I can&#8217;t resist to quote what the reviewer is saying about my chapter, of which I&#8217;m quite proud, obviously. <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<blockquote><p>The advanced unwrapping chapter I found very useful as unwrapping is not my strongest skill in Max. By the way, none of the authors are shy about suggesting outside plugins and stand alone utilities if they think they will do the job better or at least faster than Max. In this Chapter 4 Lukas Dubeda suggested a small separate program for UV layouts that I downloaded to try myself. It does seem to be quite capable at getting the job done. The following sums up this section pretty well:</p>
<p>&#8230;</p>
<p>That “…just scratching the surface” seems to be the sentiment of many of the experts in this book. Believe me that they are all making some pretty deep scratches, providing us with an in-depth look at their chapter’s topic.</p></blockquote>
<p>Anyways, <a href="http://www.3dsny.com/mug_news/new_item020110_001.html">here&#8217;s the full review</a> for those still undecided.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/misc/a-pretty-thorough-review-of-the-3dats-advanced-to-expert-book/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I love FrameCycler!</title>
		<link>http://blog.duber.cz/misc/i-love-framecycler</link>
		<comments>http://blog.duber.cz/misc/i-love-framecycler#comments</comments>
		<pubDate>Mon, 22 Feb 2010 13:52:47 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[opinions]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/?p=447</guid>
		<description><![CDATA[
Here are my top 10 reasons why FrameCycler is the single best sequence player on the market:

It is 64bit.
It supports very flexible 3D LUT files.
It sports very robust review and edit features.
It does Stereo pretty damn good and fast.
It is rock solid and reliable.
It is extremely fast.
It supports command line input.
It plays nice with other [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.duber.cz/wp-content/uploads/fc_stereo.jpg" rel="lightbox[447]"><img src="http://blog.duber.cz/wp-content/uploads/fc_stereo-560x300.jpg" alt="FrameCycler Professional 2009 SP1" title="FrameCycler Professional 2009 SP1" width="560" height="300" class="size-thumbnail wp-image-448" /></a></p>
<p>Here are my top 10 reasons why FrameCycler is the single best sequence player on the market:</p>
<ul>
<li>It is 64bit.</li>
<li>It supports very flexible 3D LUT files.</li>
<li>It sports very robust review and edit features.</li>
<li>It does Stereo pretty damn good and fast.</li>
<li>It is rock solid and reliable.</li>
<li>It is extremely fast.</li>
<li>It supports command line input.</li>
<li>It plays nice with other production tools.</li>
<li>It has amazing support.</li>
<li>It is really cheap.</li>
</ul>
<p>If you still preview your sequences in an absolutely obsolete and impossible RAM Player in Max, or terribly outdated and rigid FlipBook, do yourself a favour and <a href="http://www.iridas.com/framecycler/pro/">buy a license today</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.duber.cz/misc/i-love-framecycler/feed</wfw:commentRss>
		<slash:comments>0</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>The most revolutionary OS of all times, DOS.</title>
		<link>http://blog.duber.cz/misc/the-most-revolutionary-os-of-all-times-dos</link>
		<comments>http://blog.duber.cz/misc/the-most-revolutionary-os-of-all-times-dos#comments</comments>
		<pubDate>Sun, 31 Jan 2010 12:45:10 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[opinions]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[line]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[ms]]></category>
		<category><![CDATA[ms-dos]]></category>
		<category><![CDATA[msdos]]></category>
		<category><![CDATA[os]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[revolutionary]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[win]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/?p=419</guid>
		<description><![CDATA[
I&#8217;m still amazed how useful DOS can be, even in 2010! And the main reason I thin it&#8217;s the most revolutionary OS of all times is that it actually brought the entire PC industry to regular folks&#8217; hands.
Now, by DOS, I&#8217;m actually referring to the simplest form of OS environment, IO.sys, MSDOS.sys and COMMAND.com. That&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.duber.cz/wp-content/uploads/MS-DOS.gif" alt="MS-DOS" title="MS-DOS" width="560" height="150" class="alignnone size-thumbnail wp-image-422" /></p>
<p>I&#8217;m still amazed how useful DOS can be, even in 2010! And the main reason I thin it&#8217;s the most revolutionary OS of all times is that it actually brought the entire PC industry to regular folks&#8217; hands.</p>
<p>Now, by DOS, I&#8217;m actually referring to the simplest form of OS environment, IO.sys, MSDOS.sys and COMMAND.com. That&#8217;s all you need in order to communicate with your system. That&#8217;s all you need to actually get some work done! Isn&#8217;t it amazing?</p>
<p>Obviously, Windows and MacOS heavily extended the OS functionality and brought something else in the game. But that&#8217;s just evolution. However, DOS on the other hand was truly revolutionary. I may be skipping some other important OS attempts, but DOS was the first OS I ever used as a little kid. I remember when I was about 8 or 9 years old, my grandpa had a, at the time, high-end 286 computer, 512KB of RAM, some 30MB HDD, it was a beast! <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> and it was running DOS. I learnt a few basic commands, such as <em>CD</em>, <em>MD</em>, <em>CLS</em>, <em>COPY</em> etc&#8230; just to be able to run Prince of Persia or Wolf3D <img src='http://blog.duber.cz/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><span id="more-419"></span></p>
<p>A few years later, when I started a <a href="http://www.sssvt.cz/">high school</a>, one of the computer classes started with a comprehensive DOS course. We learnt all the tricky bits and hidden gems of the OS. We learnt to use batch files effectively, escape sequences, pipes, even a bit of BASIC programming. This was in 2003.</p>
<p>Obviously I don&#8217;t have to tell you how much time I spent in DOS trying to configure or repair my Windows 95 or Windows 98 installations.</p>
<p>Then Windows 2000 came along, the first NT OS for the masses, in my opinion, which desperately tried to get rid of DOS for the users. There were several reasons for it. One of them was the NTFS file system. You simply weren&#8217;t able to access those NTFS partitions from DOS. Another was security. This is also tied to the NTFS, but security was a big concern. Another reason was the fact that Microsoft, ever since it introduced MS-DOS, tried to get rid of it. They wanted people to use Windows exclusively and not the cheap OS alternative. But even so Microsoft added an RConsole (I believe the name was? I might be mistaking it for the RAdmin in NetWare?).</p>
<p>Funny thing is, even nowdays there are software companies that still write software for DOS. Mainly database systems for large enterprises, like Post Offices, Banks, Account Management companies etc&#8230; This really surprises me on one hand, on the other, it makes some sense. You can run DOS on your wristwatch, it doesn&#8217;t multitask (well, there are programs that allowed a limited amount of multitasking) which means it can&#8217;t run viruses effectively without the user noticing, it&#8217;s pretty bulletproof (because it&#8217;s extremely simple) etc&#8230;</p>
<p>Now, it is 2010 and I still use DOS from time to time. Obviously not that often, but recently with the addition of a dedicated server and a network storage to my studio, I&#8217;ve spent a lot of time in DOS configuring the storage controllers, BIOSes and running other little utilities. It&#8217;s interesting how important this OS still is. And in my opinion we won&#8217;t get rid of it any time soon. It&#8217;s so simple, yet powerful, that people still need it for some lower level system configuration. One of the proofs of DOS&#8217;s power is the Shell. Sure it existed long before DOS in nix systems, which makes the point even more valid, <strong>it&#8217;s the simplest way of communicating with the system for the user</strong>. I wouldn&#8217;t be surprised if I was still using DOS to configure my uber-servers in my, by then, huge VFX facility. <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/the-most-revolutionary-os-of-all-times-dos/feed</wfw:commentRss>
		<slash:comments>5</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>3</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>WordPress update</title>
		<link>http://blog.duber.cz/misc/wordpress-update</link>
		<comments>http://blog.duber.cz/misc/wordpress-update#comments</comments>
		<pubDate>Sat, 23 Jan 2010 22:26:03 +0000</pubDate>
		<dc:creator>loocas</dc:creator>
				<category><![CDATA[miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.duber.cz/?p=358</guid>
		<description><![CDATA[I&#8217;ve just finished updating the entire WordPress back-end of this blog to the latest version 2.9.1. So, if all went well, you should see absolutely no difference at all  
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just finished updating the entire WordPress back-end of this blog to the latest <a href="http://wordpress.org/download/">version 2.9.1</a>. So, if all went well, you should see absolutely no difference at all <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/wordpress-update/feed</wfw:commentRss>
		<slash:comments>4</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>17</slash:comments>
		</item>
	</channel>
</rss>
