<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>Nat!&apos;s Web Journal</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/" />
   <link rel="self" type="application/atom+xml" href="http://www.mulle-kybernetik.com/weblog/atom.xml" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7</id>
   <updated>2008-09-22T13:55:12Z</updated>
   
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.34</generator>

<entry>
   <title>-[CFDictionary retain] bug</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/09/cfdictionary_retain_bug.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1130</id>
   
   <published>2008-09-21T16:23:11Z</published>
   <updated>2008-09-22T13:55:12Z</updated>
   
   <summary><![CDATA[This is a strange one. I don't see anything illegal I am doing. NSMutableDictionary's real class is of course CFDictionary and that will be returned from class. But why is it going into recursion on retain ? #import &lt;Foundation/Foundation.h&gt; int...]]></summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[This is a strange one. I don't see anything illegal I am doing. <tt>NSMutableDictionary's</tt> real class is of course <tt>CFDictionary</tt> and that will be returned from <tt>class</tt>. But why is it going into recursion on <tt>retain</tt> ?
<p>
<pre>#import &lt;Foundation/Foundation.h&gt;


int main (int argc, const char * argv[]) 
{
   NSAutoreleasePool     *pool;
   NSMutableDictionary   *dict;
   NSMutableDictionary   *other;
   
   pool = [NSAutoreleasePool new];

   dict  = [NSMutableDictionary dictionary];
   other = [[[dict class] new] autorelease];
   
   NSLog( @"A");
   [other retain]; // Program received signal:  &#8220;EXC_BAD_ACCESS&#8221;.
   NSLog( @"B");
   
   [pool release];
   return( 0);
}
</pre>

<hr>
<i>UPDATE: Thanks to Ken Ferry from the MacOSXDev mailing list, this piece of code can be made usable thusly:

<pre>
   other = [[[dict classForCoder] new] autorelease];
</pre>
]]>
      
   </content>
</entry>
<entry>
   <title>Limiting Stacksize for recursion debugging</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/09/limiting_stacksize_for_recursi.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1129</id>
   
   <published>2008-09-21T15:55:03Z</published>
   <updated>2008-09-21T15:55:10Z</updated>
   
   <summary><![CDATA[This can be handy in recursion crashers, where Xcode takes half an hour to resolve symbols. struct rlimit rlim; getrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = 0x8000; setrlimit(RLIMIT_STACK, &rlim);...]]></summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[This can be handy in recursion crashers, where Xcode takes half an hour to resolve symbols.

<pre>   struct rlimit rlim;
   getrlimit(RLIMIT_STACK, &rlim);
   rlim.rlim_cur = 0x8000;
   setrlimit(RLIMIT_STACK, &rlim);
</pre>]]>
      
   </content>
</entry>
<entry>
   <title>A cursory glance at other free 3D Modellers</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/09/a_cursory_glance_at_other_free.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1128</id>
   
   <published>2008-09-01T16:13:43Z</published>
   <updated>2008-09-21T20:01:41Z</updated>
   
   <summary>While looking for an alternative to Blender I checked out these alternatives... NameCommentVerdict Art Of Illusion 3DNeither the 2.5.1 nor the the 2.6.1 installer .exe worked on Windows.FAIL GroIMP-0.9.7Java jar without accompanying .BAT, didn&apos;t look so promising/fitting in the first...</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[While looking for an alternative to Blender I checked out these alternatives...
<p>

<table cellpadding=3 border=1 cellspacing=0>
<tr bgcolor="gray">
<th>Name</th><th>Comment</th><th>Verdict</th>
</tr>

<tr>
<td><a href="http://www.artofillusion.org/">Art Of Illusion 3D</a></td><td>Neither the 2.5.1 nor the the 2.6.1 installer .exe worked on Windows.</td><td>FAIL</td>
</tr>

<tr>
<td><a href="http://www-gs.informatik.tu-cottbus.de/grogra.de/software/groimp/">GroIMP-0.9.7</a></td><td>Java jar without accompanying .BAT, didn't look so promising/fitting in the first place.</td><td>FAIL</td>
</tr>

<tr>
<td><a href="http://www.openfx.org/">OpenFX 2.0</a></td><td>A nice looking editor, but I couldn't find a useful object list view.</td><td>FAIL</td>
</tr>

<tr>
<td><a href="http://www.moonlight3d.eu/">Moonlight-0.2.0</a></td><td>Java yet again. No .BAT file to start it. Screenshots didn't look too bad though.</td><td>FAIL</td>
</tr>

<tr>
<td><a href="http://www.ayam3d.org/">Ayam 1.13</a></td><td>Needs an obsolete render engine. Looked extremely poor.</td><td>FAIL</td>
</tr>

<tr>
<td><a href="http://avocado-cad.sourceforge.net/">AvoCADo-08.03</a></td><td>Java :( but comes with a .BAT file! Which doesn't work :(</td><td>FAIL</td>
</tr>

<tr>
<td><a href="http://www.k-3d.org/">K-3D 0.7.9</a></td><td>It looked very promising for exactly 45seconds and then crashed when I tried to move a sphere.</td><td>FAIL</td>
</tr>

</table>
<br>

The last try will be <a href="http://www.caligari.com/">trueSpace</a> from Caligari a hefty -used to be commercial- package and then it's back to Blender (yuck).
]]>
      
   </content>
</entry>
<entry>
   <title>Blender 2.47 moan</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/09/blender_247_moan.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1127</id>
   
   <published>2008-09-01T14:41:52Z</published>
   <updated>2008-09-07T12:16:42Z</updated>
   
   <summary>So I want to create some simple 3D models and show them in a 3D viewer in my &quot;enterprise&quot; app. The easiest way would be to create the models with a 3D modelling studio, import them into the code and...</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[So I want to create some simple 3D models and show them in a 3D viewer in my "enterprise" app. The easiest way would be to  create the models with a 3D modelling studio, import them into the code and then modify them a little to taste before viewing. I figured the first stop for this is probably <a href="http://www.blender.org/">Blender</a>.
<p>
Now the last time I touched a 3D modelling tool has been on an Atari ST... or so. I remember that creating models in a 3D view was a real pain, and that ultimately I was editing the models usually in a kind of spreadsheet list manually and seeing the changes in real time in the 3D view.
<p>
After about three hours with Blender it has become fairly clear, that there has been virtually no progress except that Blender can't even do the basics well. The very first very obvious bug (Mac OS X or Windows) is this: Start Blender and you get a default scene with three objects (lamp, camera, cube). Now go into the outline view and you see... nothing (or <em>almost</em> nothing), which is pretty perplexing. Actually it's a simple redrawing problem, when you switch the view to "Oops Schematic" and back then you get the contents. 
<div align="center">
<img src="http://www.mulle-kybernetik.com/weblog/images/blender-redraw.jpg" height="321" width="512"  border="0" hspace="0" vspace="0" alt="Blender redraw bug" title="Complaint!" longdesc="" />
</div>
<br>
More hair pulling is the boneheaded way the selection works in Blender and how the inspector window isn't updated correctly. The thing is, if you say deselect all 'A', it's not <em>really</em> deselecting all. Your last object stays selected. So if you want to switch to another object by then selecting it with 'B', oh no, you have a multiple selection, because selecting is additive. If you are doing a multiple selection, the inspector can't really display it, so cleverly the <strong>old</strong> contents stay and are still editable. You don't even see, how many objects you have selected, unless you have the outline view open, which apparently is mandatory to have open all the time (see Atari ST times), and also the only(?) way to really select only one item.
<p>
But Blender can take gestures to initate rotations or translations and reorganize the panels with fluid animation, developer time surely well spent...
<p>
Now Blender may be otherwise a fine product, but I have my doubts...
]]>
      
   </content>
</entry>
<entry>
   <title>C# .NET 3D Frameworks - Part II </title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/09/c_net_3d_frameworks_part_ii.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1126</id>
   
   <published>2008-09-01T13:53:37Z</published>
   <updated>2008-09-07T12:16:38Z</updated>
   
   <summary>Axiom Multiverse is out of the picture as it failed the most simple compile test. I downloaded the package and tried to compile it with Visual Studio 2008, but Multiverse doesn&apos;t include all the necessary codes to compile it. So...</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[Axiom Multiverse is out of the picture as it failed the most simple compile test. I downloaded the package and tried to compile it with Visual Studio 2008, but Multiverse doesn't include all the necessary codes to compile it. So the last native candidate is gone. 
<p>
MOGRE does compile with Visual Studio 2008. It's another win by default and not necessarily by technical merit.
<p>
So it's either MOGRE or nothing. Nothing meaning, that I don't do the 3D in C# but instead opt for a separate C++ app that I myself bridge into C# or that communicates with the C# App.

]]>
      
   </content>
</entry>
<entry>
   <title>C# .NET 3D Frameworks / Wrapper Frameworks built-in obsolesence ?</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/08/c_net_3d_frameworks_wrapper_fr.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1125</id>
   
   <published>2008-08-28T13:32:18Z</published>
   <updated>2008-09-07T12:16:35Z</updated>
   
   <summary>I am looking into a 3D engine framework for a C# application. 3D Engines get released and abandoned at a frightful fast pace only a very few survive for a few years. As I want to use the 3D engine...</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[I am looking into a 3D engine framework for a C# application. 3D Engines get released and abandoned at a frightful fast pace only a very few survive for a few years. As I want to use the 3D engine in an enterprise class application, it needs to have longevity which basically means open source. I have spent a good deal of my life profitably rewriting abandoned vendor frameworks, but I would rather do something else now, if I can help it.
<p>
<i>Enterprise class meaning, an app that has to work for more than a few years</i>. <p>
<p>
So anyway what I found to be available for C# .NET coding is:

<html>
<body>
<h2>Wrapped Engines</h2>
<table border=1 cellspacing=0 cellpadding=4>
<tr bgcolor="gray">
  <th>Name</th><th>Language</th><th>Version</th><th>.NET Wrapper</th><th>Wrapped Version</th><th>Latency</th>
</tr>

<tr>
<td><a href="http://irrlicht.sourceforge.net/">Irrlicht</a></td><td>C++</td><td>1.4.1</td><td><a href="http://sourceforge.net/projects/irrlichtnetcp">Irrlicht.NET CP</a></td><td>1.3.1</td><td>1 year</td>
</tr>

<tr>
<td><a href="http://www.horde3d.org/">Horde3D</td><td>C++</td><td>1.0.0</td><td><a href="http://www.pyropix.net/horde3d.htm">Horde3D .NET</a></td><td>0.13.0 </td><td>1/2 year</td>
</tr>

<tr>
<td><a href="http://www.ogre3d.org/">Ogre</a></td><td>C++</td><td>1.4.9</td><td><a href="http://www.ogre3d.org/wiki/index.php/MOGRE">MOGRE</a></td><td>1.4.8</td><td>1 month</td>
</tr>



</tr>
</table>

<br>
One major problem with the wrapper frameworks is, that they are maintained outside of the main project and aren't released with the core frameworks. So there is always a latency between a core release and a wrapper release. The common theme of these frameworks is, that they are maintained by students. Students like to code for kicks but maintaining gets boring very fast and after they leave college they suddenly have no time. 
<p>
<i>There is nothing wrong with that, if you don't get paid, do what you do for fun.</i>
<p>
Irrlicht used to have a .NET framework inside the core release, but it got abandoned in favor of the third party product...
<p>
<h3>Quick Judgements</h3>
The <b>Irrlicht CP</b> wrapper is just lagging too much, to be a candidate. The <b>Horde 3D .NET wrapper</b> also has the looks of being abandoned. So <b>MOGRE</b> is the sole survivor in the wrapper category.

<h2>Native Engines</h2>

<table border=1 cellspacing=0 cellpadding=4>
<tr bgcolor="gray">
  <th>Name</th><th>Language</th><th>Version</th><th>Adoption</th><th>Release Latency</th>
</tr>
<tr>
<td><a href="http://axiomengine.sourceforge.net/wiki/index.php/Main_Page">Axiom</a></td><td>C#</td><td>0.7.3</td><td>0</td><td>1 Year</td>
</tr>
<tr>

<td><a href="http://update.multiverse.net/wiki/index.php/Open_Source_Components">Axiom Multiverse Branch</a></td><td>C#</td><td>0.7.?</td><td>1</td><td>3 months</td>
</tr>

<tr>
<td><a href="http://www.jadengine.com/">JAD Engine</a></td><td>C#</td><td>1.0</td><td>0</td><td>unknown</td>
</tr>

</tr>
</table>
<p>
Adoption is the number of real outside projects, that use the framework. Axiom gets a zero, because the only real project using the framework has created it's own fork.

<h3>Quick Judgements</h3>

Until I looked into the Multiverse branch, I discounted <b>Axiom</b> as another abandoned student project. There is little traffic in the forum and the threads that exist are all about fairly basic problems. The <b>JAD Engine</b> is <a href="http://kartones.net/blogs/jadengine/archive/2008/06/04/jad-engine-looking-for-new-members.aspx">short on developers</a> and it sounds like its <a href="http://kartones.net/blogs/jadengine/archive/2008/04/17/current-state-of-jade.aspx">dying</a> and can't yet boast a single outside project, that has adopted it.<br>
So <b>Axiom Multiverse Branch</b> is the sole survivor in the native category.

<h2>Remote Alternatives</h2>

<table border=1 cellspacing=0 cellpadding=4>
<tr bgcolor="gray">
  <th>Name</th><th>Language</th><th>Version</th><th>.NET Wrapper</th><th>Wrapped Version</th><th>Latency</th>
</tr>

<tr>
<td>OpenGL</td><td>-</td><td>-</td><td><a href="http://www.taoframework.com/">TAO</a></td><td>2.1.0</td><td></td>
</tr>

<tr>
<td>Direct X</td><td>-</td><td>-</td><td><a href="http://creators.xna.com//">Xna</a></td><td>2.0</td><td></td>
</tr>

</tr>
</table>

<h3>Quick Notes</h3>

<b>Xna</b> is not open source, but Microsoft usually - contrary to other vendors - does not abandon users at the whim of the CEO and it certainly isn't expected to go belly up in the foreseeable future. Therefore the Open Source requirement could be relaxed at this point.
<p>
<b>Tao</b> appears to be a collection of well maintained and ill maintained wrappers for OpenGL, SDL and some physics frameworks. 
<p>
Both are a little bit too low level for my wishes (yet).

<p>
<h2>Conclusion</h2>
Without looking into any technical details yet, there are only two candidates left <b>MOGRE</b> and <b>Axiom Multiverse</b>. <b>MOGRE</b> carries the stigma of the wrapper with it and <b>Axiom Multiverse</b> is just used by one project. Both choices are not very enticing.

]]>
      
   </content>
</entry>
<entry>
   <title>Late to the party - Apple Developer Union</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/07/late_to_the_party_apple_develo.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1124</id>
   
   <published>2008-07-28T22:46:40Z</published>
   <updated>2008-08-28T13:33:19Z</updated>
   
   <summary>Reading an Ars Technica article about the iPhone SDK NDA, I found the www.fuckingnda.com/ website. Given the popularity of the site, this is certainly not breaking news ;) Apple certainly prefers to manage its third party developers like Caesar: divide...</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[Reading an Ars Technica article about the iPhone SDK NDA, I found the <a href="http://www.fuckingnda.com/">www.fuckingnda.com/</a> website. Given the popularity of the site, this is certainly not breaking news ;)
<p>
Apple certainly prefers to manage its third party developers like Caesar: divide and conquer. So sometimes I think a shared interest organization with a single voice that gets some media attention might be a good thing. The FuckingDNA site might be considered some kind of spontaneous unionizing or maybe it could be the start of one. 
<p>
I am not developing any iPhone stuff, though. I don't even own one. So even though I was late to the party I left first.
]]>
      
   </content>
</entry>
<entry>
   <title>The next MulleSybaseEOAdaptor release</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/07/the_next_mullesybaseeoadaptor.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1122</id>
   
   <published>2008-07-09T17:02:05Z</published>
   <updated>2008-08-28T13:33:23Z</updated>
   
   <summary>I finally have some time to ready a new adaptor release. I dimly remember that I had some requests for some special OS X or compiler combination, but I forgot which. If you have a request specific to the MulleSybaseEOAdaptor,...</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[I finally have some time to ready a new adaptor release. I dimly remember that I had some requests for some special OS X or compiler combination, but I forgot which. If you have a request specific to the MulleSybaseEOAdaptor, leave a comment.
<p>
Here are the preliminary release notes:

<h4>Version 2.9</h4>

<ol>
<li>. I am really pedantic on +formatValue not being nil. It shouldn't happen when using MulleEOF and
you should be passing in [EONull null] anyway
<li> Added an exception so that writetext doesn't fail silently (with only some log output). Check that
image/text isn't really just varchar/varbinary.
<li>Allow nil qualifier in debug mode on and updateValues:inRowDescribedByQualifier:entity: 
related
</ol>

<h4>Version 2.8</h4>
<ol>
<li> You may pass in "nil" as a value for <tt>-[EOAdaptor fetchedValueForValue:attribute:]</tt>
<li> Finally in version 2.8 "expressionClass" will not be overridden, but "defaultExpressionClass",
which is correct.
<li>If an image attibute has value null, the adaptor will not write a serialized [EONull null] into the DB.
<li> Image/text is written with a simpler qualifier, that is just qualifying the primary key.
<li><tt>-[MulleSybaseSQLExpression primaryKeyConstraintStatementsForEntityGroup]</tt> produces
proper SQL code now
<li> Versioning information should be correct (thx to patrick@xxxstep.co.uk for noting that).
<li> Fixed Void and In/out parameters sql generation to produce syntactically correct SQL
<li> JDBC compatibility port number hack
<li> Fixed creation of primary key constraints generation (or rather their declaration, the statement issued
is not a true constraint, which I might fix with MulleEOF 2.0)
<li> If _debug flag is set, the adaptor now writes the number of bytes read (along with the SQL) in
completeFetch
</ol>]]>
      
   </content>
</entry>
<entry>
   <title>Observing the stupid at work</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/06/observing_the_stupid_aka_backu.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1121</id>
   
   <published>2008-06-30T20:41:49Z</published>
   <updated>2008-08-28T13:33:28Z</updated>
   
   <summary>Watch how TimeMachine&apos;s backupd performs its only task, backing up stuff, like an utter moron. Kindly witness the timestamps... I massaged the log output heavily for readability. 14:35:30 backupd: Node requires deep traversal:/Volumes/Source reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable| 14:42:55 backupd: Node requires deep traversal:/Volumes/Installer...</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[Watch how TimeMachine's <b><tt>backupd</tt></b> performs its only task, backing up stuff, like an utter moron. Kindly witness the timestamps...
<p> 
I massaged the log output heavily for readability.

<pre><font size=1>14:35:30 backupd: Node requires deep traversal:/Volumes/Source reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
14:42:55 backupd: Node requires deep traversal:/Volumes/Installer reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
14:43:07 backupd: Node requires deep traversal:/Volumes/Users reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
14:49:37 backupd: Node requires deep traversal:/Volumes/Old Applications reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
14:50:05 backupd: Node requires deep traversal:/Volumes/Musik reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
14:50:18 backupd: Node requires deep traversal:/Volumes/Applications reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
14:51:23 backupd: Node requires deep traversal:/Volumes/Tiger reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
15:00:08 backupd: Node requires deep traversal:/Volumes/Free reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
15:00:08 backupd: Node requires deep traversal:/Volumes/Unix reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|

<b><i>ugh ugh, kFSEDBEventFlagReasonEventDBUntrustable means 25 minutes of scanning.</i></b>

<font color="red">15:00:13 backupd: Starting pre-backup thinning: 72.73 GB requested (including padding), 52.98 GB available</font>

<b><i>So the disk is pretty full, and more space is needed. So obviously some 
older backups should be deleted..</i></b>

<font color="red">15:07:22 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-05-21-004709: 53.05 GB now available</font>

<b><i>It deleted one and it found out it's still not enough. 
Should delete another one...</i></b>

<font color="red">15:07:22 backupd: Stopping backup.</font>

<b><i>No! Wait!</i></b>

<font color="red">15:07:28 backupd: Backup canceled.</font>

<b><i>OMG.</i></b>

15:07:34 backupd: Ejected Time Machine disk image.
15:07:34 backupd: Compacting backup disk image to recover free space
15:08:10 backupd: Completed backup disk image compaction
15:08:10 backupd: Starting standard backup
15:08:10 backupd: Network volume mounted at: /Volumes/Time Capsule
15:08:13 backupd: Disk image /Volumes/Time Capsule/Aden_000d932edfde.sparsebundle mounted at: /Volumes/Backup of Aden
15:08:13 backupd: Backing up to: /Volumes/Backup of Aden/Backups.backupdb
15:08:13 backupd: Querying receipt database for system packages
15:08:15 backupd: Using system path cache.
15:08:23 backupd: Event store UUIDs don't match for volume: Leopard
15:08:23 backupd: Event store UUIDs don't match for volume: Source
15:08:23 backupd: Event store UUIDs don't match for volume: Installer
15:08:23 backupd: Event store UUIDs don't match for volume: Users
15:08:23 backupd: Event store UUIDs don't match for volume: Old Applications
15:08:23 backupd: Event store UUIDs don't match for volume: Musik
15:08:23 backupd: Event store UUIDs don't match for volume: Applications
15:08:23 backupd: Event store UUIDs don't match for volume: Tiger
15:08:23 backupd: Event store UUIDs don't match for volume: Free
15:08:23 backupd: Event store UUIDs don't match for volume: Unix

<b><i>Oh noes, it figures out how much space it needs again ?</i></b>

15:08:23 backupd: Node requires deep traversal:/ reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
15:17:34 backupd: Node requires deep traversal:/Volumes/Source reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
15:24:52 backupd: Node requires deep traversal:/Volumes/Installer reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
15:25:04 backupd: Node requires deep traversal:/Volumes/Users reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
15:31:35 backupd: Node requires deep traversal:/Volumes/Old Applications reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
15:32:03 backupd: Node requires deep traversal:/Volumes/Musik reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
15:32:16 backupd: Node requires deep traversal:/Volumes/Applications reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
15:33:25 backupd: Node requires deep traversal:/Volumes/Tiger reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
15:42:06 backupd: Node requires deep traversal:/Volumes/Free reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
15:42:06 backupd: Node requires deep traversal:/Volumes/Unix reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|

<b><i>Here we go again. (Removing a lot of output further on)</i></b>

<font color="red">15:42:11 backupd: Starting pre-backup thinning: 72.73 GB requested (including padding), 53.05 GB available
15:50:21 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-05-20-003027: 53.27 GB now available</font>
15:50:21 backupd: Stopping backup.
15:50:27 backupd: Backup canceled.
15:50:33 backupd: Ejected Time Machine disk image.
15:50:33 backupd: Compacting backup disk image to recover free space
15:51:12 backupd: Completed backup disk image compaction
15:51:12 backupd: Starting standard backup
15:51:12 backupd: Network volume mounted at: /Volumes/Time Capsule
15:51:15 backupd: Disk image /Volumes/Time Capsule/Aden_000d932edfde.sparsebundle mounted at: /Volumes/Backup of Aden
15:51:15 backupd: Backing up to: /Volumes/Backup of Aden/Backups.backupdb
15:51:26 backupd: Node requires deep traversal:/ reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
16:25:04 backupd: Node requires deep traversal:/Volumes/Unix reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
<font color="red">16:25:09 backupd: Starting pre-backup thinning: 72.73 GB requested (including padding), 53.27 GB available
16:31:25 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-05-19-004747: 53.47 GB now available</font>
16:31:25 backupd: Stopping backup.
16:31:30 backupd: Backup canceled.
16:31:36 backupd: Ejected Time Machine disk image.
16:31:36 backupd: Compacting backup disk image to recover free space
16:32:15 backupd: Completed backup disk image compaction
16:32:15 backupd: Starting standard backup
16:32:15 backupd: Network volume mounted at: /Volumes/Time Capsule
16:32:17 backupd: Disk image /Volumes/Time Capsule/Aden_000d932edfde.sparsebundle mounted at: /Volumes/Backup of Aden
16:32:17 backupd: Backing up to: /Volumes/Backup of Aden/Backups.backupdb
16:32:27 backupd: Node requires deep traversal:/ reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
17:06:10 backupd: Node requires deep traversal:/Volumes/Unix reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
<font color="red">17:06:15 backupd: Starting pre-backup thinning: 72.73 GB requested (including padding), 53.47 GB available
17:14:00 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-05-18-014306: 53.54 GB now available</font>

<b><i>Two hours later, 0.5 GB have been recovered of the needed 20GB. 
So I'd expect only 4 days more to go...</i></b>

17:14:00 backupd: Stopping backup.
17:14:06 backupd: Backup canceled.
17:14:13 backupd: Ejected Time Machine disk image.
17:14:13 backupd: Compacting backup disk image to recover free space
17:14:52 backupd: Completed backup disk image compaction
17:14:52 backupd: Starting standard backup
17:14:52 backupd: Network volume mounted at: /Volumes/Time Capsule
17:14:55 backupd: Disk image /Volumes/Time Capsule/Aden_000d932edfde.sparsebundle mounted at: /Volumes/Backup of Aden
17:14:55 backupd: Backing up to: /Volumes/Backup of Aden/Backups.backupdb
17:15:04 backupd: Node requires deep traversal:/ reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
17:49:00 backupd: Node requires deep traversal:/Volumes/Unix reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|
17:49:05 backupd: Starting pre-backup thinning: 72.73 GB requested (including padding), 53.54 GB available
17:55:13 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-05-30-001331: 53.60 GB now available
17:55:13 backupd: Stopping backup.
17:55:19 backupd: Backup canceled.
17:55:25 backupd: Ejected Time Machine disk image.
17:55:25 backupd: Compacting backup disk image to recover free space
17:56:06 backupd: Completed backup disk image compaction
17:56:06 backupd: Starting standard backup
17:56:06 backupd: Network volume mounted at: /Volumes/Time Capsule
17:56:09 backupd: Disk image /Volumes/Time Capsule/Aden_000d932edfde.sparsebundle mounted at: /Volumes/Backup of Aden
17:56:09 backupd: Backing up to: /Volumes/Backup of Aden/Backups.backupdb
17:56:18 backupd: Node requires deep traversal:/ reason:kFSEDBEventFlagMustScanSubDirs|kFSEDBEventFlagReasonEventDBUntrustable|

<b><i>(Removing even more output further on)</i></b>

18:30:08 backupd: Starting pre-backup thinning: 72.73 GB requested (including padding), 53.60 GB available
18:38:20 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-05-29-021844: 53.67 GB now available
19:13:07 backupd: Starting pre-backup thinning: 72.73 GB requested (including padding), 53.67 GB available
19:15:46 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-05-28-010002: 53.73 GB now available
19:23:19 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-05-27-221015: 53.79 GB now available

<b><i>wohoo, deleted two!</i></u>

19:58:16 backupd: Starting pre-backup thinning: 72.73 GB requested (including padding), 53.79 GB available
20:00:06 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-06-11-142433: 53.83 GB now available
20:00:52 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-06-11-130026: 53.85 GB now available
20:00:52 backupd: Removed all 2 expired backups, more space is needed - deleting oldest backups to make room
20:06:26 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-03-25-000709: 54.24 GB now available
20:06:26 backupd: Deleted 3 backups: oldest backup is now 01.04.2008
20:41:38 backupd: Starting pre-backup thinning: 72.73 GB requested (including padding), 54.24 GB available
20:41:38 backupd: No expired backups exist - deleting oldest backups to make room
20:46:05 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-04-01-015143: 54.52 GB now available
20:49:50 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-04-08-003544: 54.78 GB now available
20:49:50 backupd: Deleted 2 backups: oldest backup is now 23.04.2008
<font color="red">21:24:38 backupd: Starting pre-backup thinning: 72.73 GB requested (including padding), 54.78 GB available
21:24:38 backupd: No expired backups exist - deleting oldest backups to make room
23:23:02 backupd: Deleted backup /Volumes/Backup of 
Aden/Backups.backupdb/Aden/2008-04-23-120205: 56.29 GB now available</font>
23:23:02 backupd: Deleted 1 backups: oldest backup is now 30.04.2008
...
ad nauseam 
</font></pre>]]>
      
   </content>
</entry>
<entry>
   <title>Getting Vista to mount Leopard Server SMB Shares</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/05/getting_vista_to_mount_leopard.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1119</id>
   
   <published>2008-05-07T17:48:04Z</published>
   <updated>2008-05-07T17:48:08Z</updated>
   
   <summary>This fixed the problem for me, that I couldn&apos;t log on to the Leopard 10.5.2 SMB share from Vista (SP1). I grabbed the solution from http://forums.macrumors.com/showthread.php?t=377771 and I am archiving it here for me to easily remember. Use regedit and...</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[This fixed the problem for me, that I couldn't log on to the Leopard 10.5.2 SMB share from Vista (SP1). I grabbed the solution from <a href="http://forums.macrumors.com/showthread.php?t=377771">http://forums.macrumors.com/showthread.php?t=377771</a> and I am archiving it here for me to easily remember.
<p>
Use <b>regedit</b> and change <tt>\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel</tt> from <b>3</b> to <b>1</b>.]]>
      
   </content>
</entry>
<entry>
   <title>iPhone SDK on PPC</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/03/iphone_sdk_on_ppc.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1118</id>
   
   <published>2008-03-07T15:26:27Z</published>
   <updated>2008-03-07T15:26:33Z</updated>
   
   <summary> I doubt that this pic constitutes a violation of Apple NDA, since it&apos;s obviously a photoshop of two already disclosed materials. He he....</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[<img src="http://www.mulle-kybernetik.com/weblog/images/iphone-ppc.jpg" height="779" width="571" align="" border="0" hspace="0" vspace="0" alt="aspen emulator on ppc" title="" longdesc="" />
<p>
I doubt that this pic constitutes a violation of Apple NDA, since it's <i>obviously</i> a photoshop of two already disclosed materials. He he.


]]>
      
   </content>
</entry>
<entry>
   <title>Time for another Xcode rant</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2008/02/time_for_another_xcode_rant.html" />
   <id>tag:www.mulle-kybernetik.com,2008:/weblog//7.1117</id>
   
   <published>2008-02-08T01:40:02Z</published>
   <updated>2008-02-08T01:40:08Z</updated>
   
   <summary>If I count the number of lines of code I am losing because of Xcode crashes, it&apos;d be probably amount to days of work over the year. WTF is so complicated about an autosave feature ? Ever noticed that there...</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[If I count the number of lines of code I am losing because of Xcode crashes, it'd be probably amount to days of work over the year. WTF is so complicated about an autosave feature ? Ever noticed that there is an autosaving API in <tt>NSDocument</tt> ? <tt>vi</tt> and <tt>emacs</tt> had that at the tail end of the punchcard era already. It's come to the point where, if Xcode terminally hangs again, I make a snapshot of the screen and then make a futile search for an OCR package for Mac OS X to save some of my work...


]]>
      
   </content>
</entry>
<entry>
   <title>The €84 Behringer FCA202 vs. the €499 Apogee Duet</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2007/12/the_84_behringer_fca202_vs_the.html" />
   <id>tag:www.mulle-kybernetik.com,2007:/weblog//7.1114</id>
   
   <published>2007-12-28T01:19:26Z</published>
   <updated>2008-01-30T21:08:02Z</updated>
   
   <summary>IntroAs a hobby guitar player, I haven&apos;t been very happy lately with my FCA202 Firewire interface. I have no problems with the sound quality, but the driver problems are nagging. The latency seemingly increases over time of usage and it...</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[<p><strong>Intro</strong></p>As a hobby guitar player, I haven't been very happy lately with my <a href="http://www.behringer.com/FCA202/">FCA202</a> Firewire interface. I have no problems with the sound quality, but the driver problems are nagging. The latency seemingly increases over time of usage and it doesn't deal well with the Mac going to sleep.<br />
Garageband doesn't initialize it properly (apparently) if the FCA202 appears on the FW bus <b>after</b> Garagebands start and so on... So it's really more a comfort problem. My hope was that the drivers of a different vendor would be better supported then the FCA202, which relies on the built in CoreAudio support alone and apparently it doesn't get much love and affection from Cupertino.<span style="font-style: italic;">The Firewire drivers don't seem to get much love and affection either, given their sorry state...</span>
<table border="0" summary="none">
  <tbody>
    <tr>
      <td><img src="http://images.apple.com/logicstudio/apogee/images/duet20070828.gif" /></td>

      <td width="10"></td>

      <td><img src="http://ecx.images-amazon.com/images/I/11LzHWZ%2BD8L.jpg" /></td>
    </tr>
  </tbody>
</table>
<p>My other comfort problem was, that I didn't know what to wish for christmas. My proposed solution to both problems: the <a href="http://www.apogeedigital.com/products/duet.php">Apogee Duet</a>. Most likely overkill, yet hopefully killing.</p>
<p><b>Driver problems are gone</b></p>
<p>I can now unplug and replug the device under Garageband. Go to sleep and wake up and everything is working fine. So it's a complete success in that respect. The integration with Mac OS X is very good, the device makes you feel like its part of the system. When you turn the knob, sliders appear on the screen. Very neat.</p>
<p>Interestingly the Maestro package comes with an apple firewire audio package, that gets installed along the other stuff: AppleFWAudio-2.2.0fc9-e1. Curious.</p>
<p>I thought that maybe that driver would also cure my FCA202 blues, but to no avail.</p>
<p><b>Usage and sound quality</b></p>
<p>I recorded myself on guitar, straight through both interfaces with no extra gear using Garageband (no effects).<br />
A problem appeared immediately that there is no way to have (sufficient) negative gain. Mind you the FCA202 has no gain at all and also no level indicator, but with the Duet it became apparent that my guitars SH-4 pickup can produce more output than the Duet can take and that I would need to turn the volume on the guitar down to be safe.</p>
<p>I have to hit the strings <strong>really</strong> hard though to produce overs. Nevertheless to be safe, I'd be turning the volume on the guitar down some. It's not really the optimal solution, since that kills some of the highs. A -20db pad on input would have been a nice feature I think.<br /></p>
<p>After recording I tried to discern some differences in sound quality. I couldn't make out any, neither over the JBL Aliens nor over my AKG K240DF headphones. I don't claim that there aren't any differences, but I can't tell my recordings apart (with what I have available).</p>
<p><i>Later: Well the control knob on the Duet is a little sucky. You'd expect that there would be a constant time for presses to be recognized and interpreted. Unfortunately they are widely varying. It's supposed to work like this. Quick press means cycle the display, longer press (2s or so) mute/unmute, really long press (5s) reset. Sometimes you have to press for 5s just to cycle the display...</i></p>
<p><b>Measurements using FuzzMeasure</b></p>
<p>Then I used a demo version of <a href="http://www.supermegaultragroovy.com/products/FuzzMeasure/">FuzzMeasure</a> to measure the harmonic distortion and the frequency response, to see how measurements would differ. I used 44.1Khz/24bit because that's what I am using in Garageband. Both interfaces do better when in 96KHz mode, but I haven't used that mode for recording yet.</p>
<p><img src="http://www.mulle-kybernetik.com/weblog/images/duet-frequency.png" height="354" width="501" align="" border="0" hspace="0" vspace="0" alt="Maestro Settings" title="Frequency Respone" longdesc="" /><img src="http://www.mulle-kybernetik.com/weblog/images/harmonic-distortion.png" height="354" width="501" align="" border="0" hspace="0" vspace="0" alt="Maestro Settings" title="Harmonic Distortion" longdesc="" /></p>
<ul>
  <li>Orange: FCA202-&gt;FCA202</li>

  <li>Red: Duet-&gt;FCA202</li>

  <li>Green: Duet-&gt;Duet</li>
</ul>Here's the setup used. I connected the line-out of the Duet once with it's instrument input (green) and once with the FCA202 input (red). I also connected the FCA202 once with itself (orange).

<p>The -3dB offset is a longer story. It's mainly there because the Apogee is a little funny in that respect. If you record an instrument at +0dB and play it with line out +0dB you will have a -3dB offset. So I wanted to compensate for that. I set the FuzzMeasure amplitude to -3dB on output and the gain on the Duet to +3dB to make a nicer graph and also to avoid some possible distortions because of samples hitting +0dB. But that didn't work because FuzzMeasure uses CoreAudio for attenuation and doesn't scale the sample values. And the FCA202 can't be volume controled from CoreAudio (nor any other place), the Apogee Duet can though. So in the end, the FCA202 got 0dB samples whereas the Apogee got -6dB samples that it scaled back to -3dB.</p>
<p>So I would think that the FCA202 had a slight distortion disadvantage but also a slight noise floor advantage in the FCA202-&gt;FCA202 measurement test and that's why there is this 3dB offset in the frequency response chart. But it's really of no interest. It's interesting to note though, that the Apogee absolutely nails that -3dB line. A point for extra effort - with no musical consequences.</p>
<p>Here's how I interpret the measurements: I'd call that basically even for recording and a win for the Duet on playback.</p>
<p>The orange line is FCA202 into itself. As one can see the frequency response is slightly worse than in the other two measurements. But the the red graph shows, that recording with the FCA202 has basically the same frequency response quality as the Duet. Nevertheless "slightly worse" means 0.1dB at 10KHz +, which shouldn't matter IMO.</p>
<p>As to distortion, the FCA202 has apparently more harmonic distortion in the lower frequencies &lt;400Hz and the Duet in the upper range &gt;1K, so that should even out. I interpret it, that for recording (ADC) the converters are pretty much in the same ballpark (at least for these two measured properties). But for playback the DAC converter of the Apogee is a bit better.<br /></p>
<p><strong>Tests with Audacity</strong><br /></p>
<p>I used <a href="http://audacity.sourceforge.net/">Audacity'</a>s - on 10.4, doesn't run on 10.5 for me - signal generator to create a file of three short testtones. One 2KHz Sawtooth, followed by a 16KHz sine and a 40Hz sine (all with a 0.8 amplitude value). For these heavy testcases the results are almost the reverse, the FCA202's ADC doesn't cut it, but the DAC isn't so bad. The Apogee Duet finally proves its moneys worth.</p>
<p><br />
<img src="http://www.mulle-kybernetik.com/weblog/images/SettingsDuet.jpg" width="457" height="254" /></p>
<p style="font-size: 9px;">Settings used for Duet. I used these settings because the output is compatible with the FCA202 and it offsets the -3dB while recording.</p>
<p style="font-size: 9px;"><span style="font-size: 12px;">Especially the sawtooth is a problem for the converters as you can see. The Apogee ADCs converter beat the FCA202 soundly in this test.</span><br /></p>
<p style="font-size: 9px;"><span style="font-size: 12px;"><br />
<a href="http://www.mulle-kybernetik.com/weblog/images/testtone-1.jpg"><img src="http://www.mulle-kybernetik.com/weblog/images/testtone-1.jpg" width="480" height="226" /></a></span></p>
<p style=""><span style="background-color: transparent; color: black;">The top sample is the test tone sample. The samples below are in order FCA-&gt;FCA, FCA-&gt;Duet, Duet-&gt;FCA, Duet-&gt;Duet.</span></p>
<p style="font-size: 6px;"><span style="font-size: 9px;"><br /></span></p>
<p style="font-size: 9px;"><span style="font-size: 12px;"><a href="http://www.mulle-kybernetik.com/weblog/images/testtone-2.jpg"><img src="http://www.mulle-kybernetik.com/weblog/images/testtone-2.jpg" width="480" height="228" /></a><br /></span></p>
<p style="font-size: 9px;"></p>
<p style=""><span style="background-color: transparent; color: black;">Close up of the 2KHz sawtooth. The Duet does very well. The FCA202 ADC don't like it.The FCA202 DAC doesn't mind.</span></p>
<p style="font-size: 6px;"><br /></p>
<p style="font-size: 6px;"><span style="font-size: 9px;"><a href="http://www.mulle-kybernetik.com/weblog/images/testtone-3.jpg"><img src="http://www.mulle-kybernetik.com/weblog/images/testtone-3.jpg" width="480" height="230" /></a><br /></span></p>
<p style=""><span style="background-color: transparent; color: black;">Spectral display. Duet and FCA202 don't mesh as can be seen in the 16Khz test.</span></p>
<p><b>Headphones</b></p>
<p>Headphone volume is much better on the Apogee. The FCA202 can't drive my 600 Ohm (common are 55 Ohm) headphones fully, but the Apogee can produce the required output.</p>
<p><b>"Reamping"</b></p>
<p>One more problem with the FCA202 was reamping. It's not usable to me, because the amplifier picks up too much garbage noise. I assumed that this was over the firewire bus and I could fix that by cutting the firewire power from the cable and by using the supplied power supply. But I never tried it and that's a good thing because the idea is just bullshit.</p>
<p>It's one of these inscrutable grounding problems, that I don't know how to fix properly. Gotta read that "Sound Reinforcement Handbook" again...</p>
<p>So reamping isn't possible for me with the Duet setup either, because it doesn't fix my problem magically.<p>
<i>I fixed the problem by interposing a DI Box between the Duet and the amp and using the Ground Lift on the DI Box. The DI Box adds a little bit of noise to the noise floor, but it's acceptable. Harddisk noises be gone!</i></p>
<p><b>Conclusion</b></p>
<p>My personal conclusion is that since even Apogee can't really improve much upon the home recording quality that's available for less than €100, my decision for picking a firewire recording audio interface would be all about convenience and comfort first and price second. The Duet is pretty much there, but not yet perfect and its probably a bit too pricey. For home recording of guitars one can probably get more for less somewhere else.</p>

<b>References</b>
<p>
<a href="http://www.newark.com/98H1905/semiconductors-prototyping/product.us0?sku=CIRRUS-LOGIC-CS4272-DZZ">The Apogee Codec</a> at $8.20 at Newark 1/08
<br>
<a href="http://www.newark.com/11J8145/semiconductors-prototyping/product.us0?sku=CIRRUS-LOGIC-CS5340-DZZ">The Behringer Codec</a> at $7.43 at Newark 1/08
<br>
<a href="http://homepage.mac.com/marc.heijligers/audio/ipod/comparison/measurements/measurements.html">iPod measurements</a> goes into more detail about measuring in general.]]>
      
   </content>
</entry>
<entry>
   <title>Predefined gcc #defines</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2007/12/predefined_gcc_defines.html" />
   <id>tag:www.mulle-kybernetik.com,2007:/weblog//7.1113</id>
   
   <published>2007-12-07T11:34:14Z</published>
   <updated>2007-12-29T19:01:49Z</updated>
   
   <summary>echo | gcc -dM -E -x c - | sort I thought I had this somewhere on my blog already, because that&apos;s something I always forget and neeed to use every few months or so....</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[<pre>echo  | gcc -dM -E -x c -  | sort</pre>

I thought I had this somewhere on my blog already, because that's something I always forget and neeed to use every few months or so.
]]>
      
   </content>
</entry>
<entry>
   <title>Put a bit more RAM into my G5</title>
   <link rel="alternate" type="text/html" href="http://www.mulle-kybernetik.com/weblog/2007/12/put_a_bit_more_ram_into_my_g5.html" />
   <id>tag:www.mulle-kybernetik.com,2007:/weblog//7.1112</id>
   
   <published>2007-12-06T13:30:59Z</published>
   <updated>2007-12-29T19:01:53Z</updated>
   
   <summary>Since RAM is currently really cheap (4GB of DDR2-800 for my PCs cost me net. €60) I bought 4 more GB for my G5s. DDR-400 RAM is unfortunately a little more than double the price of DDR2 (4GB @ €150...</summary>
   <author>
      <name>Nat!</name>
      <uri>http://www.mulle-kybernetik.com</uri>
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://www.mulle-kybernetik.com/weblog/">
      <![CDATA[Since RAM is currently really cheap (4GB of DDR2-800 for my PCs cost me net. €60) I bought 4 more GB for my G5s. DDR-400 RAM is unfortunately a little more than double the price of DDR2 (4GB @ €150 net., because it's just not used very much anymore.
<p>
Just for kicks I looked at the german Apple Store <a href="http://store.apple.com/Apple/WebObjects/germanstore.woa/9064040/wo/Av333mZkx3b628jcxYITmjh3sbT/3.0.28.9.5.9">prices</a>. 4GB would be €670 net! That's 4 1/2 times as much. I wonder if this is a historical high water mark ?
<p>
I pity the non-techy buyers that get so ripped off.]]>
      
   </content>
</entry>

</feed>
