<?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>BrockWoolf.com</title>
	<atom:link href="http://brockwoolf.com/feed" rel="self" type="application/rss+xml" />
	<link>http://brockwoolf.com/blog</link>
	<description></description>
	<lastBuildDate>Thu, 11 Mar 2010 12:48:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Subversion Server on Mac OS X Leopard Server</title>
		<link>http://brockwoolf.com/blog/subversion-server-on-mac-os-x-leopard-server</link>
		<comments>http://brockwoolf.com/blog/subversion-server-on-mac-os-x-leopard-server#comments</comments>
		<pubDate>Sun, 07 Mar 2010 04:13:02 +0000</pubDate>
		<dc:creator>Brock Woolf</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X Server]]></category>

		<guid isPermaLink="false">http://brockwoolf.com/blog/?p=742</guid>
		<description><![CDATA[
Nayan Hajratwala over at Agile Shrugged managed to write a really great article describing how he got Subversion repos running on Mac OS X Server. Cheers Nayan!
I got mine working on Mac OS X 10.5.8 but had to make a few different changes in order to get things working. His doesn't deal with multiple SVN [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-799" title="Screen shot 2010-03-07 at 3.21.56 PM" src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2010/03/Screen-shot-2010-03-07-at-3.21.56-PM.png" alt="Subversion and Mac OS X Server image" width="384" height="187" /></p>
<p>Nayan Hajratwala over at <a href="http://agileshrugged.com/blog/?p=14">Agile Shrugged</a> managed to write a really great article describing how he got Subversion repos running on Mac OS X Server. Cheers Nayan!</p>
<p>I got mine working on Mac OS X 10.5.8 but had to make a few different changes in order to get things working. His doesn't deal with multiple SVN repositories, only with a single one. This isn't ideal and I highly doubt anyone would go to the trouble of installing a SVN server<span id="more-742"></span> and only ever need ONE svn repository.</p>
<p>I prefer using <code>/opt/repos/svn</code> as the master path as the Open.collab.net developers <a href="http://blogs.open.collab.net/svn/subversion_server/">recommend doing it</a> this way on Mac OS X.</p>
<h3>Step 1 - Create a root SVN folder</h3>
<p>Open <strong>Terminal.app</strong>:</p>
<blockquote><p>sudo mkdir -p /opt/repos/svn</p></blockquote>
<h3>Step 2 - Create your SVN repository</h3>
<blockquote><p>sudo svnadmin create /opt/repos/svn/test<br />
sudo chown -R www:www /opt/repos/svn</p></blockquote>
<p>The second line makes Apache own this path and everything inside it including your new repo.</p>
<h3>Step 3 – Configure the Apache web server via Server Admin</h3>
<p>Server Admin is located in <strong>/Applications/Server/Server Admin</strong>.</p>
<p>1. Click <strong>Web</strong> in the Sidebar<br />
2. Click <strong>Settings</strong> in the top bar<br />
3. Select the <strong>Modules</strong> tab<br />
4. Check the following modules:</p>
<blockquote><p>authz_svn_module<br />
dav_module<br />
dav_fs_module<br />
dav_svn_module</p></blockquote>
<h3>Step 4 – Enable WebDAV on your site</h3>
<p>Reading comments, it seems that some people don't think you need this step. However for my configuration I'm pretty sure you do need to do this.</p>
<p>1. Click <strong>Sites</strong> in the top bar<br />
2. Select your site<br />
3. Click the <em>WebDAV</em> checkbox</p>
<h3>Step 5 - Create a Realm</h3>
<p>This will set up the OpenDirectory based security. We will be using <em>Basic</em> authentication only.</p>
<p>1. Select the <em>Realms</em> tab<br />
2. Click “<strong>+</strong>” under the Realms box and enter the following:</p>
<ol> Realm Name: <strong>svn_realm</strong><br />
Authentication: <strong>Basic</strong><br />
Location: <strong>/svn</strong> (Note: You have to change the dropdown to 'Location', <strong>not</strong> 'Folder').</ol>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-770" title="osxserver-realmconfig" src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2010/03/osxserver-realmconfig.png" alt="" width="503" height="260" /></p>
<p>3. Click “<strong>+</strong>” under the Users &amp; Groups box, and drag/drop the users/groups that you want to give access to. Also be sure to give them read/write privileges...then press the Save button.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-773" title="Picture 3" src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2010/03/Picture-3.png" alt="" width="431" height="65" /></p>
<h3>Step 6 – Tweak the Apache config file</h3>
<p>There is no graphical UI to do this. So you need to use Terminal.app.<br />
Edit the file under <code>/etc/apache2/</code>sites that corresponds to your site.<br />
This should be a file starting with <code>000x</code>.<br />
In the <code>&lt;location "/svn"&gt;</code> section, add the following three lines:</p>
<blockquote><p>DAV svn<br />
SVNParentPath /opt/repos/svn<br />
SVNListParentPath On</p></blockquote>
<p>This is what mine looks like:<br />
<img class="size-full wp-image-785 alignleft" title="Screen shot 2010-03-07 at 12.26.59 PM" src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2010/03/Screen-shot-2010-03-07-at-12.26.59-PM.png" alt="" width="272" height="144" /></p>
<h3>Step 7 – Restart the web server</h3>
<p>You can do this from Server Admin ('Stop Web', then 'Start Web').</p>
<p>You should be able to access your repository at  <code>http://myserver/svn</code> or locally at: <code>http://localhost/svn</code></p>
<p>Be careful not to change any other settings in the Web portion of Server admin.<br />
If you do it will change <code>DAV svn</code> to <code>DAV Off</code> again.</p>
<p>Free free to leave any comments and suggestions <img src='http://brockwoolf.com/blog/wordpress/wp-content/plugins/smilies-themer/MSN-Messenger/msn_smiley.png' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://brockwoolf.com/blog/subversion-server-on-mac-os-x-leopard-server/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compile ODE 0.11.0 on Mac OS X 10.6</title>
		<link>http://brockwoolf.com/blog/compile-ode-0-11-0-on-mac-os-x-10-6</link>
		<comments>http://brockwoolf.com/blog/compile-ode-0-11-0-on-mac-os-x-10-6#comments</comments>
		<pubDate>Wed, 30 Dec 2009 02:54:43 +0000</pubDate>
		<dc:creator>Brock Woolf</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Physics Engines]]></category>

		<guid isPermaLink="false">http://brockwoolf.com/?p=724</guid>
		<description><![CDATA[The Official ODE instructions for compiling on Mac OS (even Linux) are pretty useless. Their wiki and instruction files included with the source code contains 'generic' instrcutions that list at what worked years ago. It frustrates me that their entire project becauses useless on one platform because it takes an inner knowledge of ODE's development [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://opende.sourceforge.net/wiki/index.php/Manual_%28All%29#Before_You_Build">Official ODE instructions</a> for compiling on Mac OS (even Linux) are pretty useless. Their wiki and instruction files included with the source code contains 'generic' instrcutions that list at what worked years ago. It frustrates me that their entire project becauses useless on one platform because it takes an inner knowledge of ODE's development process in order to get the damn thing to build.</p>
<p>Macports doesn't install ODE correctly either. Macports installs a PPC binary on your system (even if you have an Intel Mac). So here is the correct way to compile ODE on a Mac.</p>
<p>Download the ODE Source Code from <a href="http://sourceforge.net/projects/opende/">Sourceforge</a>.</p>
<p>Extract the source <span id="more-724"></span>to a directory of your choosing (I use: <strong>/lib/ode-0.11.1</strong>)</p>
<p>Open a Terminal:</p>
<blockquote><p>cd build<br />
premake4 gmake --platform=universal32<br />
cd gmake<br />
make</p></blockquote>
<p>At this point you need to add in some flags to the makefile in order to get this to build on Intel correctly. So open <strong>ode.make</strong> and change the following 2 lines:</p>
<blockquote><p>cd ode-0.11.1/build/gmake<br />
vim ode.make</p></blockquote>
<p>You need to add <strong>-m32</strong> to the CXXFLAGS, which you can do by adding it to the CPPFLAGS (which uses CXXFLAGS. Find the line starting with <strong>CPPFLAGS </strong>and change it to this:</p>
<blockquote><p>CPPFLAGS  += -MMD -m32 $(DEFINES) $(INCLUDES)</p></blockquote>
<p>You also need to add <strong>-m32</strong> to LDFLAGS:</p>
<blockquote><p>LDFLAGS   += -m32 -dynamiclib -flat_namespace -framework Carbon</p></blockquote>
<p>Save and quit.</p>
<p>Build <strong>Release Libraries</strong>:</p>
<blockquote><p>make config=releasesingledll</p></blockquote>
<p>Build <strong>Debug Libraries</strong>:</p>
<blockquote><p>make config=debugsingledll</p></blockquote>
<p>This will build the libraries to here:</p>
<blockquote><p>ode-0.11.1/lib/ReleaseSingleDLL/libode_single.dylib<br />
ode-0.11.1/lib/DebugSingleDLL/libode_singled.dylib</p></blockquote>
<p>So there you go. Enjoy using ODE!</p>
]]></content:encoded>
			<wfw:commentRss>http://brockwoolf.com/blog/compile-ode-0-11-0-on-mac-os-x-10-6/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Compiling PAL with Bullet Physics 2.75 (Linux)</title>
		<link>http://brockwoolf.com/blog/compiling-pal-with-bullet-physics-2-75-linux</link>
		<comments>http://brockwoolf.com/blog/compiling-pal-with-bullet-physics-2-75-linux#comments</comments>
		<pubDate>Mon, 21 Dec 2009 16:52:46 +0000</pubDate>
		<dc:creator>Brock Woolf</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Physics Engines]]></category>

		<guid isPermaLink="false">http://brockwoolf.com/?p=698</guid>
		<description><![CDATA[
Install Bullet (Download Link):
cd bullet-2.75/
cmake . -G "Unix Makefiles" -DBUILD_EXTRAS=on -DBUILD_DEMOS=on -DCMAKE_BUILD_TYPE=Debug
make
Pretty simple. The demos will be built to bullet-2.75/demos/ and the Bullet libs are built to bullet-2.75/src/
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="bullet_logo-210-86" src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2009/12/bullet_logo-210-86.png" alt="bullet_logo-210-86" width="210" height="86" /></p>
<p><strong>Install Bullet (<a href="http://code.google.com/p/bullet/downloads/list" target="_blank">Download Link</a>):</strong></p>
<blockquote><p>cd bullet-2.75/<br />
cmake . -G "Unix Makefiles" -DBUILD_EXTRAS=on -DBUILD_DEMOS=on -DCMAKE_BUILD_TYPE=Debug<br />
make</p></blockquote>
<p>Pretty simple. The demos will be built to <strong>bullet-2.75/demos/</strong> and the Bullet libs are built to <strong>bullet-2.75/src/</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://brockwoolf.com/blog/compiling-pal-with-bullet-physics-2-75-linux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiling PAL with Bullet Physics 2.75 (Mac OS X)</title>
		<link>http://brockwoolf.com/blog/compiling-pal-with-bullet-physics-2-75-mac-os-x</link>
		<comments>http://brockwoolf.com/blog/compiling-pal-with-bullet-physics-2-75-mac-os-x#comments</comments>
		<pubDate>Mon, 21 Dec 2009 15:47:35 +0000</pubDate>
		<dc:creator>Brock Woolf</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Physics Engines]]></category>

		<guid isPermaLink="false">http://brockwoolf.com/?p=681</guid>
		<description><![CDATA[
1. Install Bullet (Download link):
You need to do a little bit of hackery on Mac OS X in order to get Bullet to build properly. (I'm running Snow Leopard 10.6). I have installed Bullet into /lib/bullet-2.75/
First, you need to get the CMakeLists.txt file here:
nano bullet-2.75/src/CMakeLists.txt
I originally got an error "ld: library not found for -lBulletMultiThreaded".
The [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-714" title="pal_logo_web" src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2009/12/pal_logo_web.gif" alt="pal_logo_web" width="285" height="156" /></p>
<p><strong>1. Install Bullet (<a href="http://code.google.com/p/bullet/downloads/list" target="_blank">Download link</a>):</strong></p>
<p>You need to do a little bit of hackery on Mac OS X in order to get Bullet to build properly. (I'm running Snow Leopard 10.6). I have installed Bullet into <strong>/lib/bullet-2.75/</strong></p>
<p>First, you need to get the<span id="more-681"></span> CMakeLists.txt file here:</p>
<blockquote><p>nano bullet-2.75/src/CMakeLists.txt</p></blockquote>
<p>I originally got an error "ld: library not found for -lBulletMultiThreaded".<br />
The solution (I found <a href="http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&amp;t=4395&amp;p=16372&amp;hilit=debug#p16372" target="_blank">here</a>) is to comment out the following lines using a pound symbol # like so:</p>
<blockquote><p>#if (CMAKE_SIZEOF_VOID_P MATCHES "8")<br />
#SUBDIRS( BulletSoftBody BulletCollision BulletDynamics LinearMath )<br />
#else (CMAKE_SIZEOF_VOID_P MATCHES "8")<br />
SUBDIRS( BulletMultiThreaded BulletSoftBody BulletCollision BulletDynamics LinearMath )<br />
#endif (CMAKE_SIZEOF_VOID_P MATCHES "8")</p></blockquote>
<p>Download and Install <a href="http://www.cmake.org/" target="_blank">CMake</a>.</p>
<p>You can now run CMake on the <strong>/lib/bullet-2.75</strong> directory. CMake, configure, generate. CMake will generate an Xcode Project for you to run:</p>
<blockquote><p>/lib/bullet-2.75/BULLET_PHYSICS.xcodeproj</p></blockquote>
<p>Build the release and debug libraries and demos using <strong>AppAllBulletDemos, Debug/Release, i386, ALL_BUILD<br />
</strong></p>
<p>Xcode builds the <strong>libraries</strong> here:</p>
<blockquote><p>/lib/bullet-2.75/src</p></blockquote>
<p>The Bullet Demo applications get built to here:</p>
<blockquote><p>/lib/bullet-2.75/Demos</p></blockquote>
<p>So you should have something like:</p>
<blockquote><p>/lib/bullet-2.75/src/BulletCollision/Debug/libBulletCollision.a<br />
/lib/bullet-2.75/Demos/AllBulletDemos/Debug/AppAllBulletDemos // &lt;--Run this in the terminal</p></blockquote>
<p>Now that Bullet is compiled, we can install and run <strong>PAL.</strong></p>
<p><strong>2. ODE (Open Dynamics Engine):</strong></p>
<p><span style="text-decoration: line-through;">It no longer runs on Snow Leopard due to the <a href="http://groups.google.com/group/ode-users/browse_thread/thread/ef7861837bfb01f3/717a654fc752a840?lnk=raot" target="_blank">DrawStuff API being removed</a> in Snow Leopard.</span> <strong><br />
UPDATE</strong>: I figure out <a href="http://brockwoolf.com/blog/compile-ode-0-11-0-on-mac-os-x-10-6" target="_blank">how to compile ODE on OS X 10.6</a>.</p>
<p><strong>3. Install PAL:</strong></p>
<p><a href="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2009/12/PAL-Configuration.png"><img class="size-full wp-image-728 alignnone" title="PAL Configuration" src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2009/12/PAL-Configuration.png" alt="PAL Configuration" width="529" height="620" /></a></p>
<p>When you run CMake on the PAL directory, you will find that it won't detect most of the Bullet library paths by itself. This requires some manual entries by yourself in order to get this to work. I will list my paths below, but note that I installed Bullet in a couple of places so these paths may not be right for you. Use this as a guideline only.</p>
<blockquote><p>BULLET_LIBRARY_BulletDynamics_Debug<br />
/lib/bullet-2.75/src/BulletDynamics/Debug/libBulletDynamics.a</p></blockquote>
<p>One thing to note is that you will see <strong>BULLET_LIBRARY_BulletMath-NOTFOUND </strong>and<strong> BULLET_LIBRARY_BulletMath_DEBUG-NOTFOUND</strong>. I'm not sure why this happens but it didn't cause a problem for me, you can just ignore this.<strong> </strong></p>
<p>Once you have setup all your paths, you can press <strong>Configure</strong> &gt; Choose Xcode &gt; then press <strong>Generate.</strong><br />
This will Generate the Xcode project file for you in <strong>/lib/PAL/PAL.xcodeproj</strong></p>
<p><img class="size-full wp-image-712 alignleft" title="Screen shot 2009-12-22 at 1.14.16 AM" src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2009/12/Screen-shot-2009-12-22-at-1.14.16-AM.png" alt="Screen shot 2009-12-22 at 1.14.16 AM" width="160" height="171" /><strong><br />
</strong></p>
<p>If you run the Xcode project, you can then build the libraries for <strong>PALBeginner</strong> binary I belive is Windows only as I get an error when I run it. Also, when you build you will need to change the build architecture to <strong>i386</strong> as it doesn't seem that 64Bit is supported yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://brockwoolf.com/blog/compiling-pal-with-bullet-physics-2-75-mac-os-x/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Gazebo 0.8.0 on Ubuntu 9.10</title>
		<link>http://brockwoolf.com/blog/install-gazebo-0-8-0-on-ubuntu-9-10</link>
		<comments>http://brockwoolf.com/blog/install-gazebo-0-8-0-on-ubuntu-9-10#comments</comments>
		<pubDate>Tue, 15 Dec 2009 03:33:47 +0000</pubDate>
		<dc:creator>Brock Woolf</dc:creator>
				<category><![CDATA[Internship]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://brockwoolf.com/?p=658</guid>
		<description><![CDATA[Official instructions are here, but this method worked for me:
install these packages with synaptic:
swig
python-wxgtk2.8
libois-dev
libode-dev
libogre-dev   ( Must be version1.4.9 )
libfltk1.1-dev
libxml2
libxml2-dev
scons
libboost-dev
libboost-signals-dev
libboost-signals1.40-dev
openal
libavformat
libtool
libxft-dev
download and install these packages:
wget http://launchpadlibrarian.net/16469340/libogremain-1.4.9_1.4.9.dfsg1-1_i386.deb
wget http://launchpadlibrarian.net/16469345/libogre-dev_1.4.9.dfsg1-1_all.deb
I got the above packages from here:
https://launchpad.net/ubuntu/intrepid/i386/libogremain-1.4.9/1.4.9.dfsg1-1
https://launchpad.net/ubuntu/karmic/i386/libogre-dev/1.4.9.dfsg1-1
modify some source:
cd gazebo-0.8.0
vi server/gui/StatusBar.cc
change:
#include &#60;stdio.h&#62;   // change this
#include &#60;cstring&#62;    //  to this
run these commands (each line by itself), better yet append them [...]]]></description>
			<content:encoded><![CDATA[<p>Official instructions are <a href="http://playerstage.sourceforge.net/doc/Gazebo-manual-svn-html/install.html" target="_blank">here</a>, but this method worked for me:</p>
<p>install these packages with synaptic:<span id="more-658"></span></p>
<blockquote><p>swig<br />
python-wxgtk2.8<br />
libois-dev<br />
libode-dev<br />
libogre-dev   ( Must be version1.4.9 )<br />
libfltk1.1-dev<br />
libxml2<br />
libxml2-dev<br />
scons<br />
libboost-dev<br />
libboost-signals-dev<br />
libboost-signals1.40-dev<br />
openal<br />
libavformat<br />
libtool<br />
libxft-dev</p></blockquote>
<p>download and install these packages:</p>
<blockquote><p>wget http://launchpadlibrarian.net/16469340/libogremain-1.4.9_1.4.9.dfsg1-1_i386.deb<br />
wget http://launchpadlibrarian.net/16469345/libogre-dev_1.4.9.dfsg1-1_all.deb</p></blockquote>
<p>I got the above packages from here:</p>
<blockquote><p>https://launchpad.net/ubuntu/intrepid/i386/libogremain-1.4.9/1.4.9.dfsg1-1</p>
<p>https://launchpad.net/ubuntu/karmic/i386/libogre-dev/1.4.9.dfsg1-1</p></blockquote>
<p>modify some source:</p>
<blockquote><p>cd gazebo-0.8.0<br />
vi server/gui/StatusBar.cc</p></blockquote>
<p>change:</p>
<blockquote><p>#include &lt;stdio.h&gt;   // change this<br />
#include &lt;cstring&gt;    //  to this</p></blockquote>
<p>run these commands (each line by itself), better yet append them to the end of <strong>~/.bashrc</strong> to make it permanent:<br />
For Bash: <strong>.bashrc</strong> (executed when you shart a shell) OR <strong>.bash_profile</strong> (executed when you log in)<br />
For csh and tcsh: <strong>.cshrc</strong><br />
For sh and ksh: <strong>.profile</strong></p>
<blockquote><p>export PATH=/usr/local/bin:$PATH<br />
export CPATH=/usr/local/include:$CPATH<br />
export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH<br />
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH<br />
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH</p></blockquote>
<p>build the source</p>
<blockquote><p>sudo scons install</p></blockquote>
<p>test that it worked:</p>
<blockquote><p>gazebo worlds/simpleshapes.world</p></blockquote>
<p>A Note on creating the ~/.gazeborc file: <a href="http://www.mail-archive.com/playerstage-gazebo@lists.sourceforge.net/msg00851.html" target="_blank">http://www.mail-archive.com/playerstage-gazebo@lists.sourceforge.net/msg00851.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://brockwoolf.com/blog/install-gazebo-0-8-0-on-ubuntu-9-10/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring a New Mac OS X Installation</title>
		<link>http://brockwoolf.com/blog/configuring-a-new-mac-os-x-installation</link>
		<comments>http://brockwoolf.com/blog/configuring-a-new-mac-os-x-installation#comments</comments>
		<pubDate>Fri, 04 Dec 2009 03:53:38 +0000</pubDate>
		<dc:creator>Brock Woolf</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://brockwoolf.com/configuring-a-new-mac-os-x-installation</guid>
		<description><![CDATA[The aim is to document commonly useful configurations and settings that you should consider applying when you get a new Mac or perform a reinstall.
Feel free to leave a comment if you have any suggestions you think should be added.
Disable .DS_Store file creation for network connections.
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
]]></description>
			<content:encoded><![CDATA[<p>The aim is to document commonly useful configurations and settings that you should consider applying when you get a new Mac or perform a reinstall.<br />
Feel free to leave a comment if you have any suggestions you think should be added.</p>
<p>Disable <strong>.DS_Store</strong> file creation for network connections.</p>
<blockquote><p>defaults write com.apple.desktopservices DSDontWriteNetworkStores true</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://brockwoolf.com/blog/configuring-a-new-mac-os-x-installation/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Copy NSString to Clipboard</title>
		<link>http://brockwoolf.com/blog/copy-nsstring-to-clipboard</link>
		<comments>http://brockwoolf.com/blog/copy-nsstring-to-clipboard#comments</comments>
		<pubDate>Sun, 20 Sep 2009 04:09:42 +0000</pubDate>
		<dc:creator>Brock Woolf</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://brockwoolf.com/?p=560</guid>
		<description><![CDATA[Coming back to the ultimate purpose of this blog... helping my memory!  
Here we are: a code snippet to copy a NSString to the clipboard...
-(void)copyToClipboard:(NSString*)str
{
NSPasteboard *pb = [NSPasteboard generalPasteboard];
NSArray *types = [NSArray     arrayWithObjects:NSStringPboardType, nil];
[pb declareTypes:types owner:self];
[pb setString: str forType:NSStringPboardType];
}
]]></description>
			<content:encoded><![CDATA[<p>Coming back to the ultimate purpose of this blog... helping my memory! <img src='http://brockwoolf.com/blog/wordpress/wp-content/plugins/smilies-themer/MSN-Messenger/msn_laugh.png' alt=':D' class='wp-smiley' /> <br />
Here we are: a code snippet to copy a NSString to the clipboard...</p>
<blockquote><p>-(void)copyToClipboard:(NSString*)str<br />
{<br />
NSPasteboard *pb = [NSPasteboard generalPasteboard];<br />
NSArray *types = [NSArray     arrayWithObjects:NSStringPboardType, nil];<br />
[pb declareTypes:types owner:self];<br />
[pb setString: str forType:NSStringPboardType];<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://brockwoolf.com/blog/copy-nsstring-to-clipboard/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AUC WWDC 2009 Photos</title>
		<link>http://brockwoolf.com/blog/auc-wwdc-2009-photos</link>
		<comments>http://brockwoolf.com/blog/auc-wwdc-2009-photos#comments</comments>
		<pubDate>Sat, 13 Jun 2009 06:57:57 +0000</pubDate>
		<dc:creator>Brock Woolf</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[WWDC]]></category>

		<guid isPermaLink="false">http://brockwoolf.com/?p=385</guid>
		<description><![CDATA[I have a collection of photos from our exciting trip sponsored by the AUC to Apple's WWDC 09 Conference in San Francisco. Check it out here.

]]></description>
			<content:encoded><![CDATA[<p>I have a collection of photos from our exciting trip sponsored by the AUC to Apple's WWDC 09 Conference in San Francisco. Check it out <a href="http://brockwoolf.com/wwdc09">here</a>.</p>
<p><a href="http://brockwoolf.com/wwdc09"><img class="aligncenter size-full wp-image-439" title="wwdc009banner-rounded1" src="http://brockwoolf.com/wordpress/wp-content/uploads/2009/06/wwdc009banner-rounded1.png" alt="" width="676" height="252" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://brockwoolf.com/blog/auc-wwdc-2009-photos/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compile and Use Boost Libraries in Xcode &amp; Visual Studio</title>
		<link>http://brockwoolf.com/blog/compile-and-use-boost-libraries-in-xcode-visual-studio</link>
		<comments>http://brockwoolf.com/blog/compile-and-use-boost-libraries-in-xcode-visual-studio#comments</comments>
		<pubDate>Wed, 28 Jan 2009 17:06:52 +0000</pubDate>
		<dc:creator>Brock Woolf</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://brockwoolf.com/?p=220</guid>
		<description><![CDATA[
A quick note on Boost. If you want to use the Boost libraries, the good news is that you can just #include the boost classes that you want to use in your code (see bottom for Boost usage in code).
However if you want to use libs such as Boost::Filesystem or Boost::iostreams, they MUST be compiled [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align:center;"><img src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2009/01/xcodeboost.png" border="0" alt="Boost.png" width="256" height="78" /></div>
<p>A quick note on Boost. If you want to use the Boost libraries, the good news is that you can just #include the boost classes that you want to use in your code (see bottom for Boost usage in code).<br />
However if you want to use libs such as Boost::Filesystem or Boost::iostreams, they MUST be compiled into a library file. This is accomplished with the <strong>bjam</strong> tool which is kinda like an easy to use compiler for Boost instead of using GCC.</p>
<p>I can't believe that there are no tutorials on the net for compiling Boost on Mac OS X. I got it compiled for Visual Studio 2005 after reading numerous articles and then I adapted it for Mac OS X. Actually it's pretty easy to compile on Mac, a little easier than it was on Windows...OK, here we go!</p>
<p>Download Bjam and the Boost source from <a href="http://www.boost.org/">http://www.boost.org/</a></p>
<h3>Compiling for Xcode 3.1:</h3>
<p>1. You need to download and copy <strong>bjam.exe</strong> to</p>
<blockquote><p>/usr/sbin</p></blockquote>
<p>This will make the command available in the Terminal.<br />
If it does not, check your paths in <strong>~/.profile</strong> using vi or TextEdit. Find the line that starts with <strong>export PATH=</strong> and copy bjam to one of the paths listed (<strong>note:</strong> each path is separated by a colon ":")</p>
<p>2. CD to the boost directory (for example):</p>
<blockquote><p>cd ~/Desktop/Boost/boost_1_37_0</p></blockquote>
<p>3. To compile for Visual Studio 2005 as <strong>static release</strong> libs:</p>
<blockquote><p>bjam toolset=darwin variant=release threading=multi link=static</p></blockquote>
<p>4. The <strong>static debug</strong> version:</p>
<blockquote><p>bjam toolset= darwin variant=debug threading=multi link=static</p></blockquote>
<p>NOTE: If you want dynamic libraries (.dylib files instead of .a files) then use"<strong><span style="color: #0000ff;">link=shared</span></strong> instead of"<span style="color: #0000ff;"><strong>link=static</strong></span>.</p>
<p>This will take a while (maybe 20 minutes) to run each of the above commands, and you"ll need both.<br />
A Note about the naming of the output files:</p>
<p>Building with link=static gives you files with the following naming convention:</p>
<p><strong>libboost_filesystem-xgcc40-mt-d-1_37.a</strong></p>
<p>Building with link=shared gives you files with the following naming convention:</p>
<p><strong>libboost_filesystem-xgcc40-mt-1_37.a</strong></p>
<h3>Including Boost in your C++ code</h3>
<blockquote><p>#include&lt;iostream&gt;<br />
<span style="color: #339966;"><span style="color: #000000;">#include&lt;boost/any.hpp&gt;</span><span style="color: #339966;"> // any is an actual library</span> </span></p></blockquote>
<h3>C++ Usage</h3>
<blockquote><p>boost::any a(5);<br />
a = 7.67;<br />
std::cout &lt;&lt; boost::any_cast &lt;double&gt; (a) &lt;&lt; std::endl;</p></blockquote>
<h3>Using the Compiled Libraries in Xcode</h3>
<p>Using the libraries can be accomplished by dragging the <strong>static</strong> (.a) lib files to tyhe Xcode project. If you really want to use dynamic library files, then you will need to drag to the Xcode project, and also have a script run after the binary is built.<br />
This is because dynamic libraries need to be copied inside the .app bundle because they are linked to at runtime, as opposed to compile time for static libs.</p>
<p>The actual process of scripting the dylib copy and modifying the darwin executable are already covered in another article I wrote here: <a href="http://brockwoolf.com/blog/how-to-use-dynamic-libraries-in-xcode-31-using-fmod">How To use Dynamic Libraries in Xcode 3.1</a></p>
<h3>Using the Header files in Xcode</h3>
<p>Okay, it's getting to be all a big pain in the ass now, but we're almost done.</p>
<p>The headers can usually be dragged to the Xcode project for individual .h files. However because the Boost headers are in nested folders, it's a lot easier to just add the path to the Xcode project.</p>
<p>Go to: <strong>Project | Edit Project Settings | Build tab | User Header Search Paths</strong><br />
Add the path to where Boost is located on your hard disk. A good place is to put it somewhere inside the <strong>/Developer</strong> folder or <strong>/usr/local/include/</strong>. Also <strong>DO NOT</strong> check the "Recursive" option. It won't work if you do.</p>
<p>It's up to you where you want to put it....</p>
<p><a href="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2009/01/picture-1.gif"><img class="size-full wp-image-285" title="Xcode User Header Search Paths" src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2009/01/picture-1.gif" alt="Xcode User Header Search Paths" width="595" height="285" /></a></p>
<h3>Compiling for Visual Studio 2005/2008:</h3>
<p>1. You need to download and copy <strong>bjam.exe</strong> to</p>
<blockquote><p>C:Windows\system32</p></blockquote>
<p>2. CD to the boost directory:</p>
<blockquote><p>cd C:Program FilesBoostboost_1_37_0</p></blockquote>
<p>3. To compile for Visual Studio 2005 as <strong>static release</strong> lib (use"<strong>msvc-8.0</strong> for VS 2008):</p>
<blockquote><p>bjam toolset=msvc-8.0 variant=release threading=multi link=static</p></blockquote>
<p>The <strong>static debug</strong> version:</p>
<blockquote><p>bjam toolset=msvc-8.0 variant=debug threading=multi link=static</p></blockquote>
<p>Here is a dynamic dll,<strong> debug runtime</strong> version (for Visual Studio 2008). It will produce files with the following file name convention:" 'libboost_math_c99-vc90-mt-sgd-1_37.lib'</p>
<blockquote><p>bjam toolset=msvc-9.0 variant=debug threading=multi runtime-link=static</p></blockquote>
<p>This will take a while (maybe 20 minutes) to run each of the above commands, and you"ll need both.<br />
A Note about the naming of the output files:<br />
Building with <strong>link=static</strong> gives you files with the following naming convention:<br />
<strong>boost_filesystem-vc80-mt-1_37.lib</strong></p>
<p>Building with <strong>link=shared</strong> gives you files with the following naming convention:<br />
<strong>libboost_filesystem-vc80-mt-1_37.dll</strong></p>
<h3>Update: Other options for compiling Boost with Bjam</h3>
<p><span>Within the final build of the libraries, you will get a lib file like the following:<br />
</span> <strong><span style="color: #3366ff;">'libboost_math_c99-vc90-mt-sgd-1_37.lib'</span></strong></p>
<p><span>The <strong>"lib"</strong> prefix is for static libraries. Use <strong>link=static </strong></span><br />
<span>The <strong>'s'</strong> letter is to static linking to <strong class="highlight">runtime</strong>. Use <strong class="highlight">runtime</strong><strong>-link=static </strong></span><br />
<span>The<strong> 'd'</strong> is <strong class="highlight">debug</strong>, use variant=<strong class="highlight">debug</strong> </span><br />
<span>The '<strong>g'</strong> is using <strong class="highlight">debug</strong> <strong class="highlight">runtime</strong>, to enable this you will need:</span><span> <strong class="highlight">runtime</strong><strong>-</strong><strong class="highlight">debugging</strong><strong>=on</strong>. </span></p>
<p>For more information, you can find the official documentation for building Boost here:<a href="http://www.boost.org/doc/libs/1_38_0/more/getting_started/index.html"></p>
<p>http://www.boost.org/doc/libs/1_38_0/more/getting_started/index.html</a></p>
<p>Well, thats it. Thanks for reading and if you have anything to add please leave a comment below (Sorry about the registration, I get too much spam otherwise).</p>
<p>Cheers,<br />
Brock</p>
]]></content:encoded>
			<wfw:commentRss>http://brockwoolf.com/blog/compile-and-use-boost-libraries-in-xcode-visual-studio/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Xcode Stepping to Random Lines</title>
		<link>http://brockwoolf.com/blog/xcode-stepping-to-random-lines</link>
		<comments>http://brockwoolf.com/blog/xcode-stepping-to-random-lines#comments</comments>
		<pubDate>Thu, 09 Oct 2008 17:46:24 +0000</pubDate>
		<dc:creator>Brock Woolf</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://brockwoolf.com/?p=187</guid>
		<description><![CDATA[Lately I've been having some issues with Xcode's debugger not stepping through in sequential order.
Note: You can skip to the bottom to see the settings you need to set, that stop the debugger to jump around the place randomly.
The point of the debugger is that you can examine variables and program logic, "stepping through" the [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I've been having some issues with Xcode's debugger not stepping through in sequential order.</p>
<p><strong><em>Note: You can skip to the bottom to see the settings you need to set, that stop the debugger to jump around the place randomly.</em></strong></p>
<p>The point of the debugger is that you can examine variables and program logic, "stepping through" the code, a single line at a time.</p>
<p>In the picture below, you can see a sample from Xcode's debugger.<br />
The way the debugger works is when a breakpoint stops the program's execution, you can view the current values that all the variables hold.<br />
The line that Xcode highlights blue hasn't actually been executed yet, it is just stopped on the line so you can process the logic yourself and then you press continue and check if it executes as you expect.</p>
<p><img src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2008/10/xcodexcode-variable-hover.png" border="0" alt="Xcode variable hover.png" width="579" height="96" align="left" /></p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>In the image above, you can see that the variable "number1" still holds the value of 2. This is because as I said above the debugger has stopped, the blue highlighted line has not been executed and will not be until the debugger moves to the line after it.</p>
<p>On a side note, DO NOT ENABLE ZEROLINK, or for that matter any other compiling optimisations such as SSE3 or Fast, etc. If you do, you will have weird problems with the debugger stepping through lines of code in the random orders.<br />
What I mean by this is that the debugger will not step from the current line to the next line and the next. It will go to random lines in a seemingly random order. The reason this happens is because zerolink causes optimisations in the compiled application. The problem with this is the human understandable order of line by line gets thrown away and you therefore cannot debug using your logic.</p>
<p>You can check if Zerolink is enable by selecting:<br />
<strong>"Project &gt; Edit Active Target".<br />
"</strong></p>
<p><img src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2008/10/xcodeeditactivetargetxcode.png" border="0" alt="EditActiveTargetXcode.png" width="323" height="429" align="left" /></p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>You can disable Zerolink by double clicking on the word "YES", or whatever it says then simply type NO.</p>
<p><img src="http://brockwoolf.com/blog/wordpress/wp-content/uploads/2008/10/xcodezerolink.png" border="0" alt="Zerolink.png" width="475" height="610" align="left" /></p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"<br />
"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p>"</p>
<p><em><strong>Update:</strong></em></p>
<p>Sorry about the long article on something so simple. I've decided not to delete the above as there are some parts that you may find useful (and pretty pictures!). After playing around with different settings I believe i've figured out the settings that <strong>actually matter</strong>."</p>
<p>Make sure the following have been set:</p>
<p><span style="color: #0000ff;">1) Instruction Scheduling = </span><strong><span style="color: #0000ff;">None<br />
</span> <span style="font-weight: normal;"><span style="color: #0000ff;">2) Optimization Level " " " = </span></span><span style="color: #0000ff;">None [-O0]<br />
</span> <span style="font-weight: normal;"><span style="color: #0000ff;">3) </span></span></strong><span style="color: #0000ff;">ZERO_LINK " " " " " " " " "= </span><strong><span style="color: #0000ff;">None</span></strong></p>
<p>The second thing you need to be careful of is that Xcode has 2 areas these settings can be set:</p>
<p><strong><span style="color: #0000ff;"><span style="color: #0000ff;">Project Settings: "</span></span><span style="font-weight: normal;"><span style="color: #0000ff;"><span style="color: #0000ff;">Project &gt; Edit Project Settings"</span></span></span><span style="color: #0000ff;"><br />
</span> <span style="color: #333399;"><span style="color: #0000ff;">Target Settings: ""</span></span><span style="font-weight: normal;"><span style="color: #333399;"><span style="color: #0000ff;">Project </span></span></span><span style="color: #333399;"><span style="color: #0000ff;">&gt; </span></span><span style="font-weight: normal;"><span style="color: #333399;"><span style="color: #0000ff;">Edit Active Target</span></span></span><span style="color: #333399;"><span style="color: #0000ff;">"</span></span></strong></p>
<p>It is useful being able to have separate settings for the <strong>Project </strong>and the <strong>Target. </strong>However, the Target settings <strong>OVERRIDE</strong> the Project settings. So it is best to change the Target settings, not the Project settings.</p>
<p>If I discover any other settings that apply, I will update this post. If you see any mistakes or would like to add anything, leave a comment and i will update it <img src='http://brockwoolf.com/blog/wordpress/wp-content/plugins/smilies-themer/MSN-Messenger/msn_smiley.png' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://brockwoolf.com/blog/xcode-stepping-to-random-lines/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
