<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
  <channel>
    <title>Nialscorva.net</title>
    <link>http://www.nialscorva.net/</link>
    <description></description>
    <!-- optional tags -->
    <language>en-us</language>           <!-- valid langugae goes here -->
    <generator>Nucleus CMS v3.51</generator>
    <copyright>©</copyright>             <!-- Copyright notice -->
    <category>Weblog</category>
    <docs>http://backend.userland.com/rss</docs>
    <image>
      <url>http://www.nialscorva.net//nucleus/nucleus2.gif</url>
      <title>Nialscorva.net</title>
      <link>http://www.nialscorva.net/</link>
    </image>
    <item>
 <title><![CDATA[New Laptop - ASUS G73JH-A2]]></title>
 <link>http://www.nialscorva.net/index.php?itemid=73</link>
<description><![CDATA[I got a <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16834220704R&amp;cm_re=asus_g73jh-_-34-220-704R-_-Product">G73</a> last week.  It's about the best bang for the buck in a laptop I've ever seen.  It has a huge, high quality screen, rather excessive processor and ram, and a huge drive.  So far the performance is rather impressive.  The bloatware it comes with uninstalls well and most of it is actually mildly useful.  Of course, I can't leave well enough alone, especially since the dual drives are broken into multiple, oddly shaped partitions that aren't striped.  What I did below the fold.<br />
My general requirement is that I'm going to be running a 3d client on windows while running a server in a Linux virtual machine.  I want to stripe the drives if possible to make them one big partition and make it slightly faster.  So the target is a Windows 7 host running an Ubuntu VM.<br />
<br />
<h2>Windows Setup</h2><br />
<ol><li>Run the ASUS utility that converts the recovery partition into 6 DVDs.  Took forever</li><br />
<li><a href="http://forum.notebookreview.com/microsoft-windows-7/428068-legal-windows-7-download-links-just-like-vista-before.html">Follow this guide to make a Windows 7 disk</a>  The ASUS key will work with this disk.</li><br />
<li>Boot from disk, reformat.  Delete all partitions and make a single 25-30 gig partition at the front of the first drive.  We'll make the others later.  Install, activate, blah blah.  I had to call in to get my key activated, it wouldn't do it over the net.</li><br />
<li>Go into disk manager, convert both disks to dynamic disks, then partition it.  Turn the majority of space into a striped dynamic disk.  Follow <a href="http://blog.highlyillogical.org/2009/09/howto-move-program-files-and-user-data-to-another-drive-on-windows-7/">this guide</a> to move most of the windows stuff over to the striped disk.</li><br />
<li>Use the Asus recovery disk, install using <a href="http://forum.notebookreview.com/asus/468027-complete-walk-through-doing-clean-windows-7-install.html">this guide</a>.<br />
<li>Install <a href="http://www.virtualbox.org">VirtualBox</a>.  Create a VM, install Ubuntu, install guest additions, turn off Compiz, adjust the panels to be as small as you can reasonably stand then go into seamless mode.</li><br />
<li>My Ubuntu VM has two network adapters, a NAT based one for internet connectivity and a Host-Only adapter for development purposes when I don't have internet access but need to test the client/server.  The trick to making the Host-Only work in Windows 7 is to disable the firewall for the host only interface.  Control Panel -> Firewall -> Advanced Settings -> "Windows Firewall Properties".  On each tab, click on "Customize..." beside "Protected network connections" and uncheck the "VirtualBox Host-Only Network".  That will let the VM and host talk on that network without any interference.<br />
<li>Install the 2000 other things that you need to make it work.  I recommend <a href="http://www.ninite.com"> to get all the basics.</li><br />
</ol>]]></description>
 <category>General</category>
<comments>http://www.nialscorva.net/index.php?itemid=73</comments>
 <pubDate>Sun, 9 May 2010 14:37:09 -0400</pubDate>
</item><item>
 <title><![CDATA[Github]]></title>
 <link>http://www.nialscorva.net/index.php?itemid=72</link>
<description><![CDATA[<a href="http://github.com/nialscorva">My Github projects.</a>  I've spun off two parts of TR already.  One is an Erlang mocking library for unit testing.  The other is an Erlang binding for the <a href="www.bulletphysics.com">Bullet physics library</a>.  Hopefully I'll be able to put more up there.  Both are under permissive licenses.]]></description>
 <category>Programming</category>
<comments>http://www.nialscorva.net/index.php?itemid=72</comments>
 <pubDate>Wed, 20 Jan 2010 00:18:28 -0500</pubDate>
</item><item>
 <title><![CDATA[Building Chrome with Visual C++ 2008 Express Edition]]></title>
 <link>http://www.nialscorva.net/index.php?itemid=71</link>
<description><![CDATA[Got Chrome compiling with Visual C++ 2008 Express Edition.  It's nice because it'll save me the $200+ to buy the professional edition.  Steps below the fold.  I haven't tried the tests or installer, but the app works.  It builds the libraries as well, which is what I need for my project.<br />
<ol><br />
<li> Install <a href="http://www.microsoft.com/express/vc/" target="_top">Visual C++ 2008 Express Edition with SP1</a>.<br />
</li><br />
<li> To be on par with the <a href="http://dev.chromium.org/developers/how-tos/build-instructions-windows" target="_top">official Chrome Windows build instructions</a>, you need to install the following patches: <br />
<ol><br />
<li><a href="https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=17105" target="_top">KB967631</a></li><br />
<li><a href="https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=16927" target="_top">KB960075</a></li><br />
<li><a href="https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=15363" target="_top">KB957912</a></li><br />
<li> and <a href="http://www.microsoft.com/downloads/details.aspx?familyid=294de390-3c94-49fb-a014-9a38580e64cb" target="_top">KB971092</a></li><br />
</ol> <br />
</li> <br />
<li> Install the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&amp;displaylang=en" target="_top">Microsoft Windows 7 SDK</a>. <br />
   <a href="http://blogs.msdn.com/windowssdk/archive/2008/02/22/using-visual-c-2008-express-with-the-windows-sdk-detailed-version.aspx" target="_top">Register</a> the Windows SDK with Visual C++ 2008 Express.<br />
    I believe the VS2008EE install does this automatically, so this might be an unneeded step<br />
</li><br />
<li>Install the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2105564e-1a9a-4bf4-8d74-ec5b52da3d00&amp;displaylang=en" target="_top">Windows Driver Kit (WDK) Version 7.0.0</a> which contains the ATL 7.1 headers.</li> <br />
<li>Apply the <a href="http://www.nialscorva.net/media/atlstdthunk.h.patch">patch</a> to c:\WinDDK\7600.16385.0\inc\atl71\atlstdthunk.h. The patch is set up to be run in the same directory as the file.</li><br />
<li> In VC++, Tools-&gt;Options-&gt;Projects and Solutions-&gt;VC++ Directories <br />
<ol><br />
  <li> Include: Add C:\WinDDK\7600.16385.0\inc\atl71 and c:\WinDDK\7600.16385.0\inc\mfc42 in that order.</li><br />
  <li> Libraries: Add C:\WinDDK\7600.16385.0\lib\atl71\i386</li><br />
</ol> <br />
</li> <br />
<li>Get the Google Chrome source code by following <a href="http://dev.chromium.org/developers/how-tos/get-the-code" target="_top">these instructions</a>.</li><br />
<li>Open the chrome/chrome.sln solution file in Visual C++ 2008 Express. When all projects are loaded, you will get a dialog with the following message: &ldquo;<em>Some of the properties associated with the solution could not be read</em>&ldquo;. Click &ldquo;<em>Ok</em>&rdquo; to dismiss it.</li><br />
<li> Remove the <a href="http://msdn.microsoft.com/en-us/library/thxezb7y.aspx" target="_top">&ldquo;Treat Warnings As Errors&rdquo; directive (i.e. /WX)</a> from the following projects:  <br />
<ol><br />
  <li>browser</li><br />
  <li>chrome</li><br />
  <li>plugin_tests</li><br />
  <li>unit_tests</li><br />
  <li>views</li><br />
</ol> <br />
</li> <br />
<li>Disable <a href="http://msdn.microsoft.com/en-us/library/4khtbfyf.aspx" target="_top">incremental linking (i.e. /INCREMENTAL:NO)</a> from the sync_unit_tests project.</li><br />
<li> Pick your Debug or Release target, F7 and wait.  I've only got the chrome.exe working, haven't tried the installer and test targets yet.</li><br />
</ol> <br />
<a href="http://cotsog.wordpress.com/2009/11/08/how-to-compile-google-chrome-with-visual-c-2008-express-edition/" target="_top">Original source here</a> ]]></description>
 <category>Programming</category>
<comments>http://www.nialscorva.net/index.php?itemid=71</comments>
 <pubDate>Sun, 17 Jan 2010 23:28:47 -0500</pubDate>
</item><item>
 <title><![CDATA[Boost:Asio cannot find localhost when no network connection is active]]></title>
 <link>http://www.nialscorva.net/index.php?itemid=70</link>
<description><![CDATA[This one took me a while while I was out of internet range.  I had a client using Asio that couldn't resolve the loopback interface.  Actually it could resolve the IPv6 address, but not IPv4.  Turns out that by default Asio will not resolve addresses if there is no configured non-loopback network interface.  The trick is:<br />
<br />
tcp::resolver::query query(tcp::v4(),host, port, tcp::resolver::query::all_matching);<br />
<br />
The all matching will fix it.]]></description>
 <category>Programming</category>
<comments>http://www.nialscorva.net/index.php?itemid=70</comments>
 <pubDate>Sun, 6 Dec 2009 18:23:24 -0500</pubDate>
</item><item>
 <title><![CDATA[Physics Engines]]></title>
 <link>http://www.nialscorva.net/index.php?itemid=68</link>
<description><![CDATA[So my pet project continues.  I'm mostly doing tech research, still, but there's a fair amount of design that I've written and even more that I've thought.  The pressing thing to get done at this point is a physics engine.  My needs are:<br />
- fast standalone library for a server (no rendering or graphical needs)<br />
- simple shapes.  Spheres are sufficient.<br />
- handle moderate (prefer large) velocity/mass discrepancies<br />
- large areas, preferably infinite<br />
<br />
I do not need<br />
- complex shapes<br />
- detailed collision models<br />
- stability on collision models<br />
<br />
The last is the tricky one.  Under most models, I expect collisions between dynamic objects to be the exception rather than the rule.  When they do happen, it will be a single collision, bounce, then user input to stabilize the simulation.  Occasionally, there may be clumping of objects that form loops or bounce in the frame.  With large mass/velocity discrepancies, this is just asking for something to explode.  There are game rules and hacks that could help this, basically by severe dampening whenever objects approach each other.<br />
<br />
The final constraint is that it needs to run on 64 bit linux.  I was looking at PhysX and it doesn't meet this last... ... need.  It also has a lot of things I don't really need, but I hoped that the hardware support for CUDA would outweigh that.  ODE doesn't really seem advantageous.  As much as I don't want to, it looks like I'll be rolling my own.<br />
<br />
There are some advantages.  Most of the collision models are fairly simple, so that takes care of itself.  I can make the data structure fairly intrusive to the objects, which will greatly simplify some of the queries and may let me play with some falloff values on effects that I've been considering.  I've done spatial structures before and have been reading up on the intersection tests I need, so it's nothing too scary.  Just yet another piece of code to write, though.
]]></description>
 <category>Programming</category>
<comments>http://www.nialscorva.net/index.php?itemid=68</comments>
 <pubDate>Mon, 23 Feb 2009 23:23:19 -0500</pubDate>
</item><item>
 <title><![CDATA[10 Reasons that Java sucks and why none of it matters.]]></title>
 <link>http://www.nialscorva.net/index.php?itemid=67</link>
<description><![CDATA[1)  Hypocrisy.  I remember when Java was the hot new thing.  It would free us from all the complexity and problems of C++ and older languages to provide a simple, common interface that runs on all platforms.  What were these complexities?  Well, resource management, operator overloading, and templates to name a few.  Also, everything is an object.  Except the primitives that aren't objects.  Oops, you can't put them in collections, so we'll provide object versions of them.  Oops, that gets really ugly and annoying fast, so we'll put in autoboxing.<br />
Oh, and string concatenation sucks, so we'll put in operator overloading for that.  Oh, and calling toString() on everything sucks to concatenate, so we'll make that magically be called, effectively overloading + even more for things that aren't addition.<br />
<br />
Holy crap, the collections suck and you have to constantly downcast everything.  Let's put in generics that are Templates Lite.  But we won't put in real instantiations of generic classes, cause that would let you overload functions based upon the collection type to provide interfaces that actually say what they do instead of describe their parameters-- addFooList(Collection<Foo>) is somehow better than addList(Collection<Foo>)?<br />
<br />
Memory management automatic, except on the rare occasions that it isn't and then you're screwed.  But management every other resource got more difficult and convoluted.  Eventually the finally block made it somewhat work.<br />
<br />
2)  Beans are evil.  They are C structures.  Sure, you can put logic in your setters to guarantee consistency, but not if you have co-dependent values.  All calls have to be idempotent.  Not a bad policy, usually.  The naming is a trap waiting to happen.  Using Axis, which is supposed to work with beans, I've had the following:<br />
- Boolean isFoo() // not a property, "is" is only allowed for lower case booleans<br />
- bool getFoo() // spec I read said that this is valid.  Axis couldn't see it.<br />
- not putting a setFoo() or mispelled // silently fails and leaves the property null <br />
<br />
In the end, beans train you to create objects that have simple getters and setters always implemented, which is no better than just exposing the properties themself.<br />
<br />
3)  Everything is a framework, nothing is a library.  Don't even get me started on this...<br />
<br />
And the reason none of this matters...<br />
<br />
There are a lot of mediocre programmers out there, you'll have to work with them, and you'll need them to be productive.  One expert and 7 programmers who can avoid shooting themselves in the foot can make a successful project.  You need the expert for all the times where the 7 reach the edge of Java and the framework's "helpfullness", but otherwise they'll get the job done.  That's far more valuable in the end than any language purity, unfortunately.]]></description>
 <category>General</category>
<comments>http://www.nialscorva.net/index.php?itemid=67</comments>
 <pubDate>Sun, 15 Feb 2009 21:32:28 -0500</pubDate>
</item><item>
 <title><![CDATA[What here this thing is?]]></title>
 <link>http://www.nialscorva.net/index.php?itemid=66</link>
<description><![CDATA[Maybe I'll try doing this again.  I've tried off and on over the past year to blog about Lorelei, but there's a two-fold problem with that--  everyone I want to know the stories already hears the stories and I don't care about the rest of you.<br />
<br />
Looking at the woeful number of posts I have, the best successes I've had have been when discussing something I can be an opinionated ass about.  So I think I might try that.  <br />
<br />
Lorelei is really cute, almost a year old, and quite stubborn, btw.]]></description>
 <category>General</category>
<comments>http://www.nialscorva.net/index.php?itemid=66</comments>
 <pubDate>Thu, 12 Feb 2009 22:54:13 -0500</pubDate>
</item><item>
 <title><![CDATA[Lorelei Day 2 -- Electric Boogaloo]]></title>
 <link>http://www.nialscorva.net/index.php?itemid=65</link>
<description><![CDATA[Generally she's been an un-fussy baby.   She does this little wimper and kind of cooing sound that melts the heart a bit.  The few times that she as really worked herself into actually crying, it was pretty obvious what the problem was.  Is she smacking her lips trying to eat anything near her face?  Probably hungry.  Is she kicking, waving, and pumping her legs a lot?  Remove swaddling and wait a bit.  She's probably pooping.  Otherwise just swing and hold.  The complexity of the demands is not high, even if the frequency is.  <br />
<br />
Yeah, I know it gets harder.<br />
<br />
The only problem she's having is that when she begins nursing she falls asleep, which makes life hard.  A nurse helped out this morning, so I think we're going to poke, tickle, and otherwise annoy her a lot more while nursing so she gets a solid 20-30 minutes in.  Not to mention that whenever she falls asleep, Kelley does too (and me, half the time).<br />
<br />
She's also really tiny and cute.<br />
<br />
Kelley seems to be about breaking even on minimum sleep needs now.  Yesterday she was in a heavy deficit.<br />
]]></description>
 <category>General</category>
<comments>http://www.nialscorva.net/index.php?itemid=65</comments>
 <pubDate>Wed, 20 Feb 2008 10:12:59 -0500</pubDate>
</item><item>
 <title><![CDATA[Lorelei Rose Wagner]]></title>
 <link>http://www.nialscorva.net/index.php?itemid=64</link>
<description><![CDATA[Preemptive tl;dr:<br />
<br />
Born 18 Feb 2008 at 1:11pm<br />
7lbs<br />
19.25 inches long/tall<br />
<a href="http://www.nialscorva.net/gallery/lorelei">Pictures</a><br />
<br />
Mother and daughter are doing fine, though daughter is getting more sleep than mom at this point.  Kelley is already walking and trying to get what sleep she can.  I'm mostly staying at the hospital to try to assist in sleep and pretend I'm doing something.<br />
We went in yesterday at about 10:30am.  Kelley spent some time frustrating nurses with her amazing dissappearing veins.  It took 4 stabs and 6 nurses to get the IV in, which is not a record for her in case you're keeping score.  After that it was into surgery.  Keep with the trend of the last month, Lorelei caused a little trouble.  Instead of seeing Lorelei, all the doctors saw was placenta (which is why Kel had a c-section).  When they cleared that, Lorelei flipped into breach position and hid from the doctors so they had to hunt her down and suction her out.<br />
<br />
Kelley rested and recovered.  Lorelei was bathed and whatnot.  We got up to the room and they brought Lorelei in while I was grabbing food around 3:45pm or so.  Kelley's mother and sister were there till about 5 (I think).  Nursing was successful and she alternated naps and food until everyone fell asleep around 9:30.  Lorelei more or less slept till 3:30am.  Around 5:30am they pulled Kelley off the happy button and put her on percocet.  She got up for the first time with assistance, and then got up and walked around a couple more times after that.  She's moving pretty well now, all things considered.<br />
<br />
Lorelei has been demanding contact all morning.  She was really fussy whenever put into her basinet, but went right to sleep whenever she was near Kel or I.  She was having troubles staying awake while nursing, which meant Kelley was passing out, which just wasn't all that good.  We figured out that threatening to remove her makes her wake up.<br />
<br />
That's all you folks get for now.]]></description>
 <category>General</category>
<comments>http://www.nialscorva.net/index.php?itemid=64</comments>
 <pubDate>Tue, 19 Feb 2008 11:45:41 -0500</pubDate>
</item><item>
 <title><![CDATA[Got a new car]]></title>
 <link>http://www.nialscorva.net/index.php?itemid=62</link>
<description><![CDATA[I finally sold the 330 and got a new WRX.  They've fixed a bunch of nits that I had with my first one:<br />
- Poor headlights<br />
- No climate control<br />
- 17" wheels were a better fit for the car<br />
- Temperature gauge<br />
<br />
The 3rd gen styling is much better than the 2nd, though I still prefer the first generation bug-eye headlights.  The 2.5 liter engine makes the turbo lag much less apparent, though I haven't really had a chance to take it to redline.  Still got a ways until break-in is done.<br />
<br />
Edit:<br />
It's a blue wagon, just like the old one.  Kelley can now find my car in parking lots again.]]></description>
 <category>General</category>
<comments>http://www.nialscorva.net/index.php?itemid=62</comments>
 <pubDate>Mon, 27 Nov 2006 22:10:42 -0500</pubDate>
</item>
  </channel>
</rss>
