<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Disqus - Latest Comments for Pseudonym</title><link>http://disqus.com/people/3352d7b7b661c84c5b888312397efc76/</link><description></description><language>en</language><lastBuildDate>Sat, 18 Oct 2008 21:05:49 -0000</lastBuildDate><item><title>Re: Optimism to be cool again?</title><link>http://meshula.disqus.com/optimism_to_be_cool_again/#comment-22263489</link><description>This reminds me of Al Lowe's complaint that no computer games today are comedies.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pseudonym</dc:creator><pubDate>Sat, 18 Oct 2008 21:05:49 -0000</pubDate></item><item><title>Re: What is it about game coding?</title><link>http://meshula.disqus.com/what_is_it_about_game_coding/#comment-22263428</link><description>That's very interesting, thanks.&lt;br&gt;&lt;br&gt;The thing I found the most interesting was "there is no version 2".  When writing mission-critical database servers back in the day (we still counted cycles, but it took second place to data integrity), we used to say that there was only one part we had to get perfect: The upgrade system.&lt;br&gt;&lt;br&gt;In most high-performance computing, it's allowed to go slow on some inputs, because you have the saving grace that you can always get sample input from the customer, work out what went wrong, and push an upgrade.&lt;br&gt;&lt;br&gt;Maybe what's weird about game development isn't that the code is unusual, it's that the customers are unusual.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pseudonym</dc:creator><pubDate>Sat, 12 Jul 2008 21:55:50 -0000</pubDate></item><item><title>Re: StringMap</title><link>http://meshula.disqus.com/stringmap/#comment-22263412</link><description>Thanks, Mike.  Wrapping working code in a class may be ugly, but yeah, it works.&lt;br&gt;&lt;br&gt;Incidentally, it wasn't just the upper limit on capacity that concerned me with StringMap.&lt;br&gt;&lt;br&gt;The exception-safety aspect did concern me.  The fact that Mike claims that it "can’t throw exceptions" just goes to show how subtle exceptions can be, if a good C++ programmer can't spot situations where it might happen.  There's the inOrder stuff that manipulates STL containers (which is safe in this case), there's always the possibility that Data::operator=() might throw (which, again, is safe in this case, but it only takes a small refactor and instantly it's not).&lt;br&gt;&lt;br&gt;Dealing with error conditions is the biggie.  Admittedly, it's the original code's fault that the return value of malloc() isn't checked, but still, it's a fault.&lt;br&gt;&lt;br&gt;Alexey wrote: "It is common in game programming to use limited containers for performance reasons."&lt;br&gt;&lt;br&gt;I don't think I'll ever understand game programmers.  They do the most horrible hacks that anyone else in any other area of high-performance computing wouldn't even begin to consider.&lt;br&gt;&lt;br&gt;I suspect it's more often for deadline reasons than performance reasons, but don't quote me on that.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pseudonym</dc:creator><pubDate>Fri, 11 Jul 2008 02:48:01 -0000</pubDate></item><item><title>Re: StringMap</title><link>http://meshula.disqus.com/stringmap/#comment-22263407</link><description>I have some real problems with C-style programming in C++, not the least of which is that this code isn't exception-safe.&lt;br&gt;&lt;br&gt;Most other high-performance C++ application areas wouldn't stand for that.  Is this common in games programming?&lt;br&gt;&lt;br&gt;Anyway, some suggestions on how to make the C-style pool allocation work in C++.&lt;br&gt;&lt;br&gt;First, I'd replace each pool with a lightweight object that owns the pool.  Perhaps something like this:&lt;br&gt;&lt;br&gt;struct Pool&lt;br&gt;{&lt;br&gt;    Tnode* buf;&lt;br&gt;    Pool() : buf(new Tnode[buffPoolGrowSize]) {}&lt;br&gt;    ~Pool() { delete[] buf; }&lt;br&gt;};&lt;br&gt;&lt;br&gt;Another option is boost::scoped_array.&lt;br&gt;&lt;br&gt;2. Replace freearr with a dynamic container of pools.  Probably std::deque is the best option here, because it doesn't do any copying.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pseudonym</dc:creator><pubDate>Mon, 07 Jul 2008 02:24:38 -0000</pubDate></item><item><title>Re: What Every Programmer Needs to Know About Category Theory</title><link>http://osteele.disqus.com/what_every_programmer_needs_to_know_about_category_theory/#comment-4881185</link><description>True enough.  Only good programmers need to know about it.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pseudonym</dc:creator><pubDate>Fri, 18 Jan 2008 01:08:57 -0000</pubDate></item><item><title>Re: What Every Programmer Needs to Know About Category Theory</title><link>http://osteele.disqus.com/what_every_programmer_needs_to_know_about_category_theory/#comment-4881190</link><description>Oliver: Category theory is to mathematics what design patterns are to software engineering (which is not, of course, what "every programmer" does).&lt;br&gt;&lt;br&gt;In software engineering, if a pattern shows up in several applications, we give it a name so we can talk about it independently of any single application.  Same with category theory.  Initial objects, products, equalisers and so on are names of patterns which turn up in a lot of algebras.&lt;br&gt;&lt;br&gt;One thing that I see a lot is that programmers come out of university with a lot of knowledge about how to implement a function/procedure/whatever, but almost none about how to implement the interface.  Making things worse is the problem that an interface is harder to change than an implementation.  It's more important that you get it right early.&lt;br&gt;&lt;br&gt;One theme that I'm seeing is that the best interfaces, the best APIs, are the most "mathematical".  Even simple things, like binary search trees, are simpler to implement and use if you think about them algebraically.  Even some .NET APIs are using monads in anger these days.&lt;br&gt;&lt;br&gt;Yes, you could come up with that without knowing any category theory.  However, category theory is another tool in the programmer's toolbox that can be used to talk about, understand and ultimately solve a problem.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pseudonym</dc:creator><pubDate>Mon, 28 Jan 2008 10:07:35 -0000</pubDate></item><item><title>Re: Wicked &amp;#8211; Musical Steampunk Fantasy in Oz</title><link>http://brassgoggles.disqus.com/wicked_8211_musical_steampunk_fantasy_in_oz/#comment-16458624</link><description>This is probably blasphemy, but I'm not impressed by this clip.  (The show itself is, no doubt, better.)&lt;br&gt;&lt;br&gt;The L. Frank Baum story was published in 1900.  While it's a contemprary of H.G. Wells ("The Time Machine" was published five years earlier), the pseudo-technology has a much more American feel to it.  More Menlo Park than London.&lt;br&gt;&lt;br&gt;The movie is from 1939, and is the height of Art Deco chic.  Very classy, but, again, more like Metropolis than Jules Verne.&lt;br&gt;&lt;br&gt;I'm not sure what to think of this.  If you consider the pseudo-history of Oz, I gues it'd make sense that it went through a Victorian phase before it went through an Art Deco phase, but that doesn't explain why the Emerald City looks like it was designed by Van Alen.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pseudonym</dc:creator><pubDate>Mon, 25 Feb 2008 22:17:25 -0000</pubDate></item></channel></rss>