<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>This is the natural replacement of my last, static, tumblelog-alike.</description><title>Mike Owens @ Filespanker / Blog</title><generator>Tumblr (3.0; @sphivo)</generator><link>http://mike.filespanker.com/</link><item><title>Photo</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_ldkbj9JMYz1qz5ndqo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://mike.filespanker.com/post/2346683631</link><guid>http://mike.filespanker.com/post/2346683631</guid><pubDate>Fri, 17 Dec 2010 02:59:33 -0500</pubDate></item><item><title>Photo</title><description>&lt;img src="http://30.media.tumblr.com/tumblr_ld6oe8S7D71qz5ndqo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://mike.filespanker.com/post/2158697153</link><guid>http://mike.filespanker.com/post/2158697153</guid><pubDate>Thu, 09 Dec 2010 18:10:55 -0500</pubDate></item><item><title>Bug 31657 - Unbounded recording surface -&gt; image surface fill accesses uninitialized memory</title><description>&lt;a href="https://bugs.freedesktop.org/show_bug.cgi?id=31657"&gt;Bug 31657 - Unbounded recording surface -&gt; image surface fill accesses uninitialized memory&lt;/a&gt;</description><link>http://mike.filespanker.com/post/1591353413</link><guid>http://mike.filespanker.com/post/1591353413</guid><pubDate>Tue, 16 Nov 2010 09:27:47 -0500</pubDate></item><item><title>I don’t know how I got any performance tuning done before callgrind.

Actually, I do know: I...</title><description>&lt;p&gt;I don’t know how I got &lt;em&gt;any&lt;/em&gt; performance tuning done before &lt;a href="http://valgrind.org/docs/manual/cl-manual.html"&gt;callgrind&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Actually, I do know: I used &lt;code&gt;-pg&lt;/code&gt; with &lt;code&gt;gprof&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I don’t know how I got &lt;em&gt;any&lt;/em&gt; performance tuning done before &lt;a href="http://valgrind.org/docs/manual/cl-manual.html"&gt;callgrind&lt;/a&gt;.&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1521242329</link><guid>http://mike.filespanker.com/post/1521242329</guid><pubDate>Mon, 08 Nov 2010 21:30:50 -0500</pubDate></item><item><title>SVG in Ruby vs. C++</title><description>&lt;p&gt;(paraphrasing)&lt;/p&gt;

&lt;p&gt;Ruby:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
    def resolve_property(p)
      return send(p) if respond_to?(p)
      return parent.resolve_property(p) unless parent.nil?
      return class_for_property(p).new
    end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;C++:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
    /* 400 lines of resolve_property_ref&lt;SvgProperty&gt;::whatever 
       omitted.  */`
&lt;/code&gt;&lt;/pre&gt;</description><link>http://mike.filespanker.com/post/1514464900</link><guid>http://mike.filespanker.com/post/1514464900</guid><pubDate>Mon, 08 Nov 2010 03:10:00 -0500</pubDate></item><item><title>I promised myself I’d never write another line of autotools noise after an m4 explosion in the...</title><description>&lt;p&gt;I promised myself I’d never write another line of autotools noise after an m4 explosion in the code mines a few years back.&lt;/p&gt;

&lt;p&gt;My first thought was to see how usable Rake was in a non-Rails context.  Turns out, it’s awesome for building C++ even outside of the pretty example rules in the docs.&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1397394130</link><guid>http://mike.filespanker.com/post/1397394130</guid><pubDate>Mon, 25 Oct 2010 06:50:18 -0400</pubDate></item><item><title>I’ve noticed that, after a three year break in Ruby-land, my first big C++ project since uses...</title><description>&lt;p&gt;I’ve noticed that, after a three year break in Ruby-land, my first big C++ project since uses a hell of a lot more dynamic_casts, and I’ve found a use a few real uses for typeid().&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1350229353</link><guid>http://mike.filespanker.com/post/1350229353</guid><pubDate>Tue, 19 Oct 2010 05:09:00 -0400</pubDate></item><item><title>View cones + line of sight.</title><description>&lt;img src="http://28.media.tumblr.com/tumblr_lab9im8Rqk1qz5ndqo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;View cones + line of sight.&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1317535893</link><guid>http://mike.filespanker.com/post/1317535893</guid><pubDate>Thu, 14 Oct 2010 22:56:46 -0400</pubDate></item><item><title>Needed a generic, simple “bad dude” to get actors...</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_la9424EtYT1qz5ndqo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Needed a generic, simple “bad dude” to get actors doing their thing.  Drew up a Goomba.&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1308778961</link><guid>http://mike.filespanker.com/post/1308778961</guid><pubDate>Wed, 13 Oct 2010 19:03:40 -0400</pubDate></item><item><title>Same vertices triangulated by poly2tri.  (Note, in both of these...</title><description>&lt;img src="http://27.media.tumblr.com/tumblr_la70rrDE3M1qz5ndqo1_250.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Same vertices triangulated by poly2tri.  (Note, in both of these photos, the visual paths don’t match the vertices submitted to the triangulators because they’ve been simplified before tessellating.)&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1300424979</link><guid>http://mike.filespanker.com/post/1300424979</guid><pubDate>Tue, 12 Oct 2010 15:57:27 -0400</pubDate></item><item><title>A stump triangulated by gluTess*</title><description>&lt;img src="http://26.media.tumblr.com/tumblr_la70pdmWOw1qz5ndqo1_250.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;A stump triangulated by gluTess*&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1300416029</link><guid>http://mike.filespanker.com/post/1300416029</guid><pubDate>Tue, 12 Oct 2010 15:56:00 -0400</pubDate></item><item><title>rbpoly2tri: Ruby Bindings to poly2tri, A 2D constrained Delaunay triangulation library</title><description>&lt;a href="http://github.com/mieko/rbpoly2tri"&gt;rbpoly2tri: Ruby Bindings to poly2tri, A 2D constrained Delaunay triangulation library&lt;/a&gt;: &lt;p&gt;And with this, I totally rid myself of both gluTess and GEOS.&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1300411792</link><guid>http://mike.filespanker.com/post/1300411792</guid><pubDate>Tue, 12 Oct 2010 15:55:00 -0400</pubDate></item><item><title>rbclipper</title><description>&lt;a href="http://github.com/mieko/rbclipper"&gt;rbclipper&lt;/a&gt;: &lt;p&gt;I’m tired of screwing with complicated clippers with dumb licenses.&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1292898373</link><guid>http://mike.filespanker.com/post/1292898373</guid><pubDate>Mon, 11 Oct 2010 15:08:36 -0400</pubDate></item><item><title>http://trac.osgeo.org/geos/ticket/379</title><description>&lt;a href="http://trac.osgeo.org/geos/ticket/379"&gt;http://trac.osgeo.org/geos/ticket/379&lt;/a&gt;</description><link>http://mike.filespanker.com/post/1246900415</link><guid>http://mike.filespanker.com/post/1246900415</guid><pubDate>Mon, 04 Oct 2010 23:21:08 -0400</pubDate></item><item><title>Pulled my hair our for a day getting transforms working. ...</title><description>&lt;img src="http://27.media.tumblr.com/tumblr_l9si00MFmK1qz5ndqo1_r1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Pulled my hair our for a day getting transforms working.  Working physics, bouncing around crates, etc on the see-saw.  Time-til-first crate: 2s.&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1245414274</link><guid>http://mike.filespanker.com/post/1245414274</guid><pubDate>Mon, 04 Oct 2010 19:45:00 -0400</pubDate></item><item><title>sigh...</title><description>&lt;a href="http://github.com/mieko/chipmunk-ffi/commit/9d1a4ba74bb1e1ba4473dfc7f6e6996e3bbdb359"&gt;sigh...&lt;/a&gt;</description><link>http://mike.filespanker.com/post/1241118552</link><guid>http://mike.filespanker.com/post/1241118552</guid><pubDate>Mon, 04 Oct 2010 02:26:28 -0400</pubDate></item><item><title>mieko's rbclutter-unofficial at clutter-1.4 - GitHub</title><description>&lt;a href="http://github.com/mieko/rbclutter-unofficial"&gt;mieko's rbclutter-unofficial at clutter-1.4 - GitHub&lt;/a&gt;: &lt;p&gt;Since the move to Clutter, I’ve been randomly patching rbclutter to support 1.2+ features.  Thanks to &lt;a href="https://twitter.com/bpeel"&gt;bpeel&lt;/a&gt; for rbclutter to begin with, and with some advice on my (slow) quest to get it up to speed with Clutter proper.&lt;/p&gt;

&lt;p&gt;There are still some minor hacks in there from my days of “just get it working” (implementing dup instead of initialize_copy, reusing VALUES without much care to the GObject refct, etc), but it mostly works, and has support for a few newer things that I’ve needed.&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1238605002</link><guid>http://mike.filespanker.com/post/1238605002</guid><pubDate>Sun, 03 Oct 2010 19:22:14 -0400</pubDate></item><item><title>Spent two days trying to get a half-decent boolean polygon...</title><description>&lt;img src="http://26.media.tumblr.com/tumblr_l9jz0oQNRT1qz5ndqo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Spent two days trying to get a half-decent boolean polygon library working in Ruby.  Ended up using the SWIG bindings to the PostGIS geos library, which are amazingly buggy.  In this photo, you see two stumps, the one on the left is made of 7 or so paths, the one on the right, a single path.&lt;/p&gt;

&lt;p&gt;My goal was to allow objects on the visual layer to have physical geometry, but the constraints of the geometry layer are lifted, as objects tend to be drawn as to look good, not have a low poly count.  The algorithm here does a boolean union on graphical polys before generating a physics poly, so the left and right stumps have an identical wireframe.&lt;/p&gt;

&lt;p&gt;This fix took two days, including a set of FFI bindings to GEOS, which were abandoned because GEOS has an amazingly crazy API.  Moving on…&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1214817482</link><guid>http://mike.filespanker.com/post/1214817482</guid><pubDate>Thu, 30 Sep 2010 05:14:48 -0400</pubDate></item><item><title>I’ve noticed I’m in this pattern of writing all this...</title><description>&lt;img src="http://28.media.tumblr.com/tumblr_l98katWOLU1qz5ndqo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;I’ve noticed I’m in this pattern of writing all this complicated code, getting it working, then finding a way of pushing it off by getting the same functionality from a library I’m already using.  In this example, I’ve replaced my GeometryPen with Cairo’s &lt;tt&gt;cairo_copy_path_flat&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;I was under the impression that the tolerance could not be set on curves, but &lt;tt&gt;cairo_set_tolerance&lt;/tt&gt; is sitting right there, fully documented.  For the most part, the functionality is the same, but Cairo by itself is a bit smarter than my solution regarding circles.  My implementation converted them into arcs in an almost cool manner, but by the time they came out, they were sliced like pizzas in the physics engine, which wasn’t required, as it’s still a simple polygon.  Cairo generates some nice stop-signs.&lt;/p&gt;

&lt;p&gt;Also in the photo: misaligned parallax scrolling.  On the long list of TODO.&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1177392782</link><guid>http://mike.filespanker.com/post/1177392782</guid><pubDate>Fri, 24 Sep 2010 01:23:00 -0400</pubDate></item><item><title>Day 20: Clutter, Parallax Scrolling

No updates in a few days,...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_l9667tLJ6W1qz5ndqo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Day 20: Clutter, Parallax Scrolling&lt;/p&gt;

&lt;p&gt;No updates in a few days, but I was really busy converting the engine over to Clutter/rbclutter, and it was the best decision I’ve made.  Once I knew I was about to have to get into texture slicing, I decided I needed some backup on this scene-graph stuff.&lt;/p&gt;

&lt;p&gt;Clutter has a 2D scene graph over OpenGL, and seems to be performing than my hacked together layer system.&lt;/p&gt;

&lt;p&gt;I’m to a point where screenshots aren’t really capturing what’s new: In this one, we have a parallax scrolling background.  The pink rectangle is a sensor in the “markers” layer, rigged to the level-scripting system that already works.&lt;/p&gt;</description><link>http://mike.filespanker.com/post/1169241982</link><guid>http://mike.filespanker.com/post/1169241982</guid><pubDate>Wed, 22 Sep 2010 18:23:00 -0400</pubDate></item></channel></rss>

