<?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>Roberto Carvajal &#187; Geek</title>
	<atom:link href="http://robertocarvajal.org/category/geek/feed/" rel="self" type="application/rss+xml" />
	<link>http://robertocarvajal.org</link>
	<description>personal blog</description>
	<lastBuildDate>Thu, 22 Jul 2010 01:37:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Running roboSimu, ODE and drawstuff in Mac OS X Snow Leopard</title>
		<link>http://robertocarvajal.org/2010/07/21/running-robosimu-ode-and-drawstuff-in-mac-os-x-snow-leopard/</link>
		<comments>http://robertocarvajal.org/2010/07/21/running-robosimu-ode-and-drawstuff-in-mac-os-x-snow-leopard/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 20:45:35 +0000</pubDate>
		<dc:creator>Roberto</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://robertocarvajal.org/2010/07/21/running-robosimu-ode-and-drawstuff-in-mac-os-x-snow-leopard/</guid>
		<description><![CDATA[During this week my lovely wife is attending a conference at school about robotics, nano technology and neuroscience, all themes that we love and are very interested into learning as much as we can. One of the workshops was about simulating robots in the computer before attempting to build them in real life, of course [...]]]></description>
			<content:encoded><![CDATA[<p>During this week my lovely wife is attending a conference at school about <a href="http://robotica.elo.utfsm.cl/escuela/">robotics, nano technology and neuroscience</a>, all themes that we love and are very interested into learning as much as we can. One of the workshops was about simulating robots in the computer before attempting to build them in real life, of course the demo was in Windows but it used an open source library called <a href="http://ode.org/">ODE (Open Dynamics Engine)</a> and examples from <a href="http://demura.net/">Kosei Demura</a> for the simulations. Of course I was hooked right away and wanted to try the examples in my mac and since today I&#8217;m sick at home and feeling like not working at all I decided to get this running, this is how you can get to run roboSimu, ODE and drawstuff in your Snow Leopard.</p>
<p>First things first, you need to install Apple&#8217;s Developer Tools, they either come in your Extras DVD or you get them from <a href="http://developer.apple.com">Apple&#8217;s Developer</a> site, they are free but you need to register.</p>
<p>Once you have the dev tools, you need to install premake 3.7 and premake 4, this is because ODE svn sources needs premake4 and roboSimu sources are made for premake 3.x.</p>
<p>So go ahead and <a href="http://sourceforge.net/projects/premake/files/">download premake 3.7 and premake 4</a>, unzip and copy the premake and premake4 binary into <code>/usr/bin</code>.</p>
<p>Next you need to install ODE, currently drawstuff is broken with the latest ODE 0.11.1 so we need to get the sources using subversion (if you don&#8217;t have subversion get the package installer <a href="http://www.open.collab.net/downloads/community/">here</a>).</p>
<p>So run:</p>
<p><code>svn co https://opende.svn.sourceforge.net/svnroot/opende/trunk ode</code></p>
<p>Now to compile ode run this:</p>
<p><code><br />
	cd ode<br />
	./autogen.sh<br />
	./configure --enable-double-precision<br />
	make<br />
	cd build<br />
	premake4 gmake<br />
        cd gmake<br />
        make config=debugdoubledll<br />
</code></p>
<p>After this you should have <code>libode_doubled.dylib</code> in <code>ode/lib/DebugDoubleDLL</code>.</p>
<p>Now into roboSimu, go to <a href="http://demura.net/9ode/6077.html">Demura&#8217;s instructions</a> and you&#8217;ll find <a href="http://demura.net/downloads/robosimu">roboSimu090614.zip</a> along with instructions to build on Windows and CodeBlocks.</p>
<p>Unzip roboSimu sources and copy the files into <code>ode/roboSimu</code>.</p>
<p>Now we need to copy the ode and drawstuff libs into <code>ode/roboSimu/DebugLib</code>.</p>
<p>Standing inside <code>ode</code> run this:</p>
<p><code><br />
	mkdir roboSimu/DebugLib<br />
	cp lib/DebugDoubleDLL/libode_doubled.dylib roboSimu/DebugLib<br />
	cp drawstuff/src/.libs/libdrawstuff.a roboSimu/DebugLib/libdrawstuffd.a<br />
	cp drawstuff/src/libdrawstuff.la roboSimu/DebugLib/libdrawstuffd.la<br />
</code></p>
<p>Almost ready!, I promise!</p>
<p>Now you need to edit <code>roboSimu/roboSimu.lua</code> edit line 77 and add the following:</p>
<p><code><br />
	--table.insert(package.links, { "GL", "GLU" })<br />
    table.insert(package.linkoptions, {"-framework OpenGL", "-framework GLUT"})<br />
</code></p>
<p>Save and quit and now it&#8217;s time to compile!</p>
<p><code><br />
	cd roboSimu<br />
	premake --target gnu<br />
	cd src<br />
	make<br />
</code></p>
<p>If everything goes well you should see this:</p>
<p><code><br />
	==== Building amotor ====<br />
	Linking amotor<br />
	==== Building arm1 ====<br />
	arm1.cpp<br />
	Linking arm1<br />
	==== Building arm2 ====<br />
	arm2.cpp<br />
	Linking arm2<br />
	==== Building arm3 ====<br />
	arm3.cpp<br />
	Linking arm3<br />
	==== Building bounce ====<br />
	bounce.cpp<br />
	Linking bounce<br />
	==== Building hello ====<br />
	hello.cpp<br />
	Linking hello<br />
	==== Building hopper ====<br />
	hopper.cpp<br />
	Linking hopper<br />
	==== Building hopper2 ====<br />
	hopper2.cpp<br />
	Linking hopper2<br />
	==== Building hopper3 ====<br />
	hopper3.cpp<br />
	Linking hopper3<br />
	==== Building legged ====<br />
	legged.cpp<br />
	Linking legged<br />
	==== Building monoBot ====<br />
	monoBot.cpp<br />
	Linking monoBot<br />
	==== Building omni ====<br />
	omni.cpp<br />
	Linking omni<br />
	==== Building pk ====<br />
	pk.cpp<br />
	Linking pk<br />
	==== Building sensor4 ====<br />
	sensor4.cpp<br />
	Linking sensor4<br />
	==== Building slope ====<br />
	slope.cpp<br />
	Linking slope<br />
	==== Building wheel1 ====<br />
	wheel1.cpp<br />
	Linking wheel1<br />
	==== Building wheel2 ====<br />
	wheel2.cpp<br />
	Linking wheel2<br />
	==== Building wheel4 ====<br />
	wheel4.cpp<br />
	Linking wheel4<br />
</code></p>
<p>Note that all the example binaries will be inside <code>ode/roboSimu/DebugLib</code>. Enjoy!</p>
<p><img src="http://farm5.static.flickr.com/4074/4816563410_2149a1520a.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://robertocarvajal.org/2010/07/21/running-robosimu-ode-and-drawstuff-in-mac-os-x-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Slickr Plugin</title>
		<link>http://robertocarvajal.org/2008/12/12/slickr-plugin/</link>
		<comments>http://robertocarvajal.org/2008/12/12/slickr-plugin/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 17:36:42 +0000</pubDate>
		<dc:creator>Roberto</dc:creator>
				<category><![CDATA[Geek]]></category>

		<guid isPermaLink="false">http://robertocarvajal.org/2008/12/12/slickr-plugin/</guid>
		<description><![CDATA[Just installed slickr plugin for wordpress, works great!, in a breeze I merged my flickr albums with a great and simple ajax interface. Can&#8217;t ask for more. Check out the photos here and the instructions of the plugin here.]]></description>
			<content:encoded><![CDATA[<p>Just installed slickr plugin for wordpress, works great!, in a breeze I merged my flickr albums with a great and simple ajax interface. Can&#8217;t ask for more.</p>
<p>Check out the <a href="http://robertocarvajal.org/photos/" title="Roberto Carvajal -   Photos">photos here</a> and the instructions of the plugin <a href="http://stimuli.ca/slickr/" title="stimuli.ca   &raquo; Slickr Gallery (AJAX Flickr plugin for WordPress)">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertocarvajal.org/2008/12/12/slickr-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Streaming Video From Linux To The Xbox 360 With Ushare</title>
		<link>http://robertocarvajal.org/2008/11/19/streaming-video-from-linux-to-the-xbox-360-with-ushare/</link>
		<comments>http://robertocarvajal.org/2008/11/19/streaming-video-from-linux-to-the-xbox-360-with-ushare/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 19:00:13 +0000</pubDate>
		<dc:creator>Roberto</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Xbox360]]></category>

		<guid isPermaLink="false">http://robertocarvajal.org/2008/11/19/streaming-video-from-linux-to-the-xbox-360-with-ushare/</guid>
		<description><![CDATA[I had successfully setup ushare to stream multimedia content from my linux fileserver/p2p machine to my xbox 360 in order to reproduce the media on my tv without using xbox 360 hard drive space and without all the hassle that means burning disks or copying data to a pendrive, it works, the only problem right [...]]]></description>
			<content:encoded><![CDATA[<p>I had successfully setup <a title="GeeXboX uShare UPnP A/V Media Server HomePage" href="http://ushare.geexbox.org/">ushare</a> to stream multimedia content from my linux fileserver/p2p machine to my xbox 360 in order to reproduce the media on my tv without using xbox 360 hard drive space and without all the hassle that means burning disks or copying data to a pendrive, it works, the only problem right now is that xbox 360 doesn&#8217;t support any kind of subtitles, altough I can understand 99% of the english I hear, that&#8217;s not the case for the rest of the family. Anyways, this is what you have to do to get things working smooth.</p>
<p>First, of course, install ushare, I won&#8217;t give details because it changes from system to system, I recommend you to use your distribution package system to get this one installed.</p>
<p>After the install you need to add a multicast route so the upnp discovery protocol can work, add this to your <code>/etc/rc.local</code> if you want this to run on each boot, just change <code>eth0</code> to your real network interface.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">route add <span style="color: #660033;">-net</span> 239.0.0.0 netmask 255.0.0.0 eth0
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span> eth0 allmulti</pre></div></div>

<p>Either run that manually now or reboot, after that you should see your route like this:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>tangerine ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># route</span>
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     <span style="color: #000000; font-weight: bold;">*</span>               255.255.255.0   U     <span style="color: #000000;">0</span>      <span style="color: #000000;">0</span>        <span style="color: #000000;">0</span> eth0
239.0.0.0       <span style="color: #000000; font-weight: bold;">*</span>               255.0.0.0       U     <span style="color: #000000;">0</span>      <span style="color: #000000;">0</span>        <span style="color: #000000;">0</span> eth0
default         Lucius          0.0.0.0         UG    <span style="color: #000000;">0</span>      <span style="color: #000000;">0</span>        <span style="color: #000000;">0</span> eth0</pre></div></div>

<p>Now edit ushare config, mine is at <code>/etc/ushare.conf</code></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># /etc/ushare.conf</span>
<span style="color: #666666; font-style: italic;"># Configuration file for uShare&lt;/code&gt;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># uShare UPnP Friendly Name (default is 'uShare').</span>
<span style="color: #007800;">USHARE_NAME</span>=uShare
&nbsp;
<span style="color: #666666; font-style: italic;"># Interface to listen to (default is eth0).</span>
<span style="color: #666666; font-style: italic;"># Ex : USHARE_IFACE=eth1</span>
<span style="color: #007800;">USHARE_IFACE</span>=eth0
&nbsp;
<span style="color: #666666; font-style: italic;"># Port to listen to (default is random from IANA Dynamic Ports range)</span>
<span style="color: #666666; font-style: italic;"># Ex : USHARE_PORT=49200</span>
<span style="color: #007800;">USHARE_PORT</span>=
&nbsp;
<span style="color: #666666; font-style: italic;"># Port to listen for Telnet connections</span>
<span style="color: #666666; font-style: italic;"># Ex : USHARE_TELNET_PORT=1337</span>
<span style="color: #007800;">USHARE_TELNET_PORT</span>=
&nbsp;
<span style="color: #666666; font-style: italic;"># Directories to be shared (space or CSV list).</span>
<span style="color: #666666; font-style: italic;"># Ex: USHARE_DIR=/dir1,/dir2</span>
<span style="color: #007800;">USHARE_DIR</span>=<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>shared<span style="color: #000000; font-weight: bold;">/</span>multimedia
&nbsp;
<span style="color: #666666; font-style: italic;"># Use to override what happens when iconv fails to parse a file name.</span>
<span style="color: #666666; font-style: italic;"># The default uShare behaviour is to not add the entry in the media list</span>
<span style="color: #666666; font-style: italic;"># This option overrides that behaviour and adds the non-iconv'ed string into</span>
<span style="color: #666666; font-style: italic;"># the media list, with the assumption that the renderer will be able to</span>
<span style="color: #666666; font-style: italic;"># handle it. Devices like Noxon 2 have no problem with strings being passed</span>
<span style="color: #666666; font-style: italic;"># as is. (Umlauts for all!)</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Options are TRUE/YES/1 for override and anything else for default behaviour</span>
<span style="color: #007800;">USHARE_OVERRIDE_ICONV_ERR</span>=
&nbsp;
<span style="color: #666666; font-style: italic;"># Enable Web interface (yes/no)</span>
<span style="color: #007800;">ENABLE_WEB</span>=<span style="color: #c20cb9; font-weight: bold;">yes</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Enable Telnet control interface (yes/no)</span>
<span style="color: #007800;">ENABLE_TELNET</span>=
&nbsp;
<span style="color: #666666; font-style: italic;"># Use XboX 360 compatibility mode (yes/no)</span>
<span style="color: #007800;">USHARE_ENABLE_XBOX</span>=<span style="color: #c20cb9; font-weight: bold;">yes</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Use DLNA profile (yes/no)</span>
<span style="color: #666666; font-style: italic;"># This is needed for PlayStation3 to work (among other devices)</span>
<span style="color: #007800;">ENABLE_DLNA</span>=no</pre></div></div>

<p>Notice the <strong>USHARE_ENABLE_XBOX=yes</strong>?, turns out that in the default config file the option is named just <strong>ENABLE_XBOX</strong> which doesn&#8217;t work, the correct option name is <strong>USHARE_ENABLE_XBOX</strong>. Now after your config is OK you should start ushare, then go to your xbox, select multimedia -&gt; videos and press X button to load videos from another source, if everything is OK there you should see your uShare source.</p>
<p>Thanks to <a title="ECBC » uShare vs XBox 360 vs Ubuntu" href="http://blog.joebalancio.com/?p=19">this blog</a>, I found the config flag fix. All kudos and greets to that guy.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertocarvajal.org/2008/11/19/streaming-video-from-linux-to-the-xbox-360-with-ushare/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Copilot</title>
		<link>http://robertocarvajal.org/2008/11/15/copilot/</link>
		<comments>http://robertocarvajal.org/2008/11/15/copilot/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 17:15:28 +0000</pubDate>
		<dc:creator>Roberto</dc:creator>
				<category><![CDATA[Geek]]></category>

		<guid isPermaLink="false">http://robertocarvajal.org/2008/11/15/copilot/</guid>
		<description><![CDATA[So my girlfriend is a geek too (surprise! surprise!) and she has helped clients for years to setup computers, get rid of virus, trojans, malware, etc and most of the time clients just bring their desktops or laptops to her and she fix them and they pick them up good as new, but some times [...]]]></description>
			<content:encoded><![CDATA[<p>So my girlfriend is a geek too (surprise! surprise!) and she has helped clients for years to setup computers, get rid of virus, trojans, malware, etc and most of the time clients just bring their desktops or laptops to her and she fix them and they pick them up good as new, but some times some clients don&#8217;t have the time and really needs to get their PC&#8217;s working quick, this is when VNC comes in. VNC for the non-geek audience is a software that enables people to control computers over the network, it&#8217;s really the best way to fix a desktop computer remotely (servers are other story). What&#8217;s the problem with VNC? well, the setup is tricky, specially when routers are on both ends and NAT needs to be setup properly before even trying to connect to the remote computer and most of clients aren&#8217;t really even remotely geeky, they really have no idea what&#8217;s going on with their PCs and they just need help. So, if you ever tried to tell a client how to setup VNC and their router over the phone, you will absolutely LOVE <a href="https://www.copilot.com/">Fog Creek Copilot</a>, I mean, you&#8217;ll want to create a shrine to the developers that made this thing possible, it&#8217;s <em>that</em> good.</p>
<p>Basically Copilot takes all the hassle out, put your name in a box or create an account, they&#8217;ll bring you back a number, tell your client/friend/family to write the number down on copilot.com download and install the software. Once both have the software running Copilot will connect them and you&#8217;ll have access to the computer. That&#8217;s it!, simple, easy, fast, brilliant. No configuration, nothing. It has various pricing options but I found out that the day pass it&#8217;s free on weekends and $5 on any workday so we go ahead and tried that (I&#8217;m a cheap bastard, I know), and oh yeah, it works on OS X and Windows, which is even better.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertocarvajal.org/2008/11/15/copilot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
