• Heartbeat

    I got to thinking about all the underlying “services” we have running under the skin and how they never fail (until something goes wrong). Below is a few minutes of your heart pumping blood throughout your body based on an average healthy adult (~80 bpm). I put in a small randomization function to simulate the fluctuations the body goes through. Think about this the next time you take yourself for granted :)

    beat (time since last 854)
    

    beat (time since last 809)

    beat (time since last 858)

    beat (time since last 836)

    beat (time since last 851)

    beat (time since last 862)

    beat (time since last 838)

    beat (time since last 821)

    beat (time since last 833)

    beat (time since last 834)

    beat (time since last 817)

    beat (time since last 896)

    beat (time since last 872)

    beat (time since last 843)

    beat (time since last 866)

    beat (time since last 819)

    beat (time since last 847)

    beat (time since last 820)

    beat (time since last 873)

    beat (time since last 861)

    beat (time since last 813)

    beat (time since last 816)

    beat (time since last 898)

    beat (time since last 873)

    beat (time since last 891)

    beat (time since last 803)

    beat (time since last 841)

    beat (time since last 822)

    beat (time since last 819)

    beat (time since last 831)

    beat (time since last 867)

    beat (time since last 825)

    beat (time since last 892)

    beat (time since last 873)

    beat (time since last 898)

    beat (time since last 833)

    beat (time since last 804)

    beat (time since last 820)

    beat (time since last 822)

    beat (time since last 875)

    beat (time since last 898)

    beat (time since last 855)

    beat (time since last 872)

    beat (time since last 866)

    beat (time since last 822)

    beat (time since last 843)

    beat (time since last 808)

    beat (time since last 841)

    beat (time since last 834)

    beat (time since last 817)

    beat (time since last 856)

    beat (time since last 828)

    beat (time since last 851)

    beat (time since last 849)

    beat (time since last 900)

    beat (time since last 832)

    beat (time since last 829)

    beat (time since last 806)

    beat (time since last 814)

    beat (time since last 848)

    beat (time since last 829)

    beat (time since last 858)

    beat (time since last 865)

    beat (time since last 805)

    beat (time since last 846)

    beat (time since last 841)

    beat (time since last 896)

    beat (time since last 830)

    beat (time since last 877)

    beat (time since last 812)

    beat (time since last 886)

    beat (time since last 862)

    beat (time since last 859)

    beat (time since last 819)

    beat (time since last 892)

    beat (time since last 818)

    beat (time since last 863)

    beat (time since last 868)

    beat (time since last 883)

    beat (time since last 812)

    beat (time since last 861)

    beat (time since last 809)

    beat (time since last 877)

    beat (time since last 828)

    beat (time since last 814)

    beat (time since last 817)

    beat (time since last 816)

    beat (time since last 887)

    beat (time since last 893)

    beat (time since last 857)

    beat (time since last 855)

    beat (time since last 843)

    beat (time since last 870)

    beat (time since last 852)

    beat (time since last 845)

    beat (time since last 890)

    beat (time since last 847)

    beat (time since last 897)

    beat (time since last 866)

    beat (time since last 863)

    beat (time since last 834)

    beat (time since last 823)

    beat (time since last 899)

    beat (time since last 838)

    beat (time since last 851)

    beat (time since last 872)

    beat (time since last 840)

    beat (time since last 873)

    beat (time since last 882)

    beat (time since last 854)

    beat (time since last 852)

    beat (time since last 900)

    beat (time since last 866)

    beat (time since last 895)

    beat (time since last 812)

    beat (time since last 865)

    beat (time since last 811)

    beat (time since last 807)

    beat (time since last 840)

    beat (time since last 834)

    beat (time since last 857)

    beat (time since last 891)

    beat (time since last 815)

    beat (time since last 820)

    beat (time since last 855)

    beat (time since last 812)

    beat (time since last 852)

    beat (time since last 830)

    beat (time since last 873)

    beat (time since last 832)

    beat (time since last 831)

    beat (time since last 842)

    beat (time since last 895)

    beat (time since last 815)

    beat (time since last 857)

    beat (time since last 841)

    beat (time since last 807)

    beat (time since last 832)

    beat (time since last 863)

    beat (time since last 808)

    beat (time since last 833)

    beat (time since last 893)

    beat (time since last 889)

    beat (time since last 811)

    beat (time since last 893)

    beat (time since last 860)

    beat (time since last 856)

    beat (time since last 858)

    beat (time since last 827)

    beat (time since last 845)

    beat (time since last 897)

    beat (time since last 810)

    beat (time since last 837)

    beat (time since last 815)

    beat (time since last 872)

    beat (time since last 852)

    beat (time since last 881)

    beat (time since last 873)

    beat (time since last 888)

    beat (time since last 829)

    beat (time since last 842)

    beat (time since last 846)

    beat (time since last 817)

    beat (time since last 865)

    beat (time since last 856)

    beat (time since last 890)

    beat (time since last 870)

    beat (time since last 821)

    beat (time since last 839)

    beat (time since last 816)

    beat (time since last 854)

    beat (time since last 897)

    beat (time since last 845)

    beat (time since last 826)

    beat (time since last 855)

    beat (time since last 859)

    beat (time since last 832)

    beat (time since last 844)

    beat (time since last 871)

    beat (time since last 820)

    beat (time since last 807)

    beat (time since last 827)

    beat (time since last 879)

    beat (time since last 875)

    beat (time since last 825)

    beat (time since last 896)

    beat (time since last 863)

    beat (time since last 886)

    beat (time since last 888)

    beat (time since last 861)

    beat (time since last 838)

    beat (time since last 884)

    beat (time since last 812)

    beat (time since last 865)

    beat (time since last 867)

    beat (time since last 860)

    beat (time since last 843)

    beat (time since last 873)

    beat (time since last 861)

    beat (time since last 805)

    beat (time since last 814)

    beat (time since last 891)

    beat (time since last 855)

    beat (time since last 888)

    beat (time since last 847)

    beat (time since last 863)

    beat (time since last 879)

    beat (time since last 853)

    beat (time since last 897)

    beat (time since last 822)

    beat (time since last 866)

    beat (time since last 862)

    beat (time since last 873)

    beat (time since last 867)

    beat (time since last 828)

    beat (time since last 840)

    beat (time since last 845)

    beat (time since last 874)

    beat (time since last 841)

    beat (time since last 868)

    beat (time since last 858)

    beat (time since last 880)

    beat (time since last 830)

    beat (time since last 818)

    beat (time since last 824)

    beat (time since last 888)

    beat (time since last 884)

    beat (time since last 854)

    beat (time since last 878)

    beat (time since last 833)

    beat (time since last 809)

    beat (time since last 874)

    beat (time since last 869)

    beat (time since last 861)

    beat (time since last 877)

    beat (time since last 900)

    beat (time since last 824)

    beat (time since last 823)

    beat (time since last 871)

    beat (time since last 807)

    beat (time since last 815)

    beat (time since last 812)

    beat (time since last 803)

    beat (time since last 822)

    beat (time since last 855)

    beat (time since last 868)

    beat (time since last 818)

    beat (time since last 805)

    beat (time since last 817)

    beat (time since last 809)

    beat (time since last 861)

    beat (time since last 821)

    beat (time since last 830)

    beat (time since last 809)

    beat (time since last 893)

    beat (time since last 873)

    beat (time since last 849)

    beat (time since last 860)

    beat (time since last 895)

    beat (time since last 861)

    beat (time since last 889)

    beat (time since last 810)

    beat (time since last 895)

    beat (time since last 869)

    beat (time since last 861)

    beat (time since last 855)

    beat (time since last 850)

    beat (time since last 849)

    beat (time since last 806)

    beat (time since last 808)

    beat (time since last 866)

    beat (time since last 886)

    beat (time since last 849)

    beat (time since last 810)

    beat (time since last 822)

    beat (time since last 823)

    beat (time since last 854)

    beat (time since last 826)

    beat (time since last 883)

    beat (time since last 840)

    beat (time since last 868)

    beat (time since last 840)

    beat (time since last 894)

    beat (time since last 815)

    beat (time since last 845)

    beat (time since last 842)

    beat (time since last 879)

    beat (time since last 899)

    beat (time since last 880)

    beat (time since last 870)

    beat (time since last 844)

    beat (time since last 804)

    beat (time since last 824)

    beat (time since last 884)

    beat (time since last 887)

    beat (time since last 832)

    beat (time since last 824)

    beat (time since last 870)

    beat (time since last 891)

    beat (time since last 886)

    beat (time since last 860)

    beat (time since last 891)

    beat (time since last 881)

    beat (time since last 859)

    beat (time since last 848)

    beat (time since last 851)

    beat (time since last 899)

    beat (time since last 845)

    beat (time since last 829)

    beat (time since last 852)

    beat (time since last 855)

    beat (time since last 868)

    beat (time since last 858)

    beat (time since last 877)

    beat (time since last 854)

    beat (time since last 883)

    beat (time since last 808)

    beat (time since last 838)

    beat (time since last 871)

    beat (time since last 887)

    beat (time since last 835)

    beat (time since last 868)

    beat (time since last 805)

    beat (time since last 853)

    beat (time since last 807)

    beat (time since last 862)

    beat (time since last 850)

    beat (time since last 853)

    beat (time since last 853)

    beat (time since last 811)

    beat (time since last 806)

    beat (time since last 888)

    beat (time since last 829)

    beat (time since last 835)

    beat (time since last 805)

    beat (time since last 802)

    beat (time since last 811)

    beat (time since last 891)

    beat (time since last 821)

    beat (time since last 839)

    beat (time since last 810)

    beat (time since last 822)

    beat (time since last 838)

    beat (time since last 894)

    beat (time since last 831)

    beat (time since last 820)

    beat (time since last 870)

    beat (time since last 861)

    beat (time since last 884)

    beat (time since last 803)

    beat (time since last 842)

    beat (time since last 820)

    beat (time since last 894)

    beat (time since last 818)

    beat (time since last 829)

    beat (time since last 892)

    beat (time since last 807)

    beat (time since last 886)

    beat (time since last 873)

    beat (time since last 857)

    beat (time since last 834)

    beat (time since last 877)

    beat (time since last 810)

    beat (time since last 838)

    beat (time since last 885)

    beat (time since last 842)

    beat (time since last 811)

    beat (time since last 898)

    beat (time since last 887)

    beat (time since last 815)

    beat (time since last 889)

    beat (time since last 849)

    beat (time since last 830)

    beat (time since last 857)

    beat (time since last 898)

    beat (time since last 846)

    beat (time since last 890)

    beat (time since last 893)

    beat (time since last 856)

    beat (time since last 841)

    beat (time since last 821)

    beat (time since last 898)

    beat (time since last 827)

    beat (time since last 845)

    beat (time since last 856)

    beat (time since last 863)

    beat (time since last 803)

    beat (time since last 814)

    beat (time since last 836)

    beat (time since last 873)

    beat (time since last 831)

    beat (time since last 816)

    beat (time since last 866)

    beat (time since last 863)

    beat (time since last 875)

    beat (time since last 860)

    beat (time since last 806)

    beat (time since last 816)

    beat (time since last 899)

    beat (time since last 885)

    beat (time since last 894)

    beat (time since last 875)

    beat (time since last 852)

    beat (time since last 869)

    beat (time since last 891)

    beat (time since last 813)

    beat (time since last 886)

    beat (time since last 841)

    beat (time since last 805)

    beat (time since last 815)

    beat (time since last 833)

    beat (time since last 862)

    beat (time since last 885)

    beat (time since last 867)

    beat (time since last 823)

    beat (time since last 881)

    beat (time since last 820)

    beat (time since last 825)

    beat (time since last 847)

    beat (time since last 834)

    beat (time since last 882)

    beat (time since last 878)

    beat (time since last 862)

    beat (time since last 876)

    beat (time since last 843)

    beat (time since last 883)

    beat (time since last 802)

    beat (time since last 862)

    beat (time since last 886)

    beat (time since last 857)

    beat (time since last 849)

    beat (time since last 816)

    beat (time since last 867)

    beat (time since last 845)

    beat (time since last 853)

    beat (time since last 822)

    beat (time since last 849)

    beat (time since last 811)

    beat (time since last 878)

    beat (time since last 892)

    beat (time since last 833)

    beat (time since last 886)

    beat (time since last 856)

    beat (time since last 821)

    beat (time since last 829)

    beat (time since last 897)

    beat (time since last 823)

    beat (time since last 837)

    beat (time since last 899)

    beat (time since last 828)

    beat (time since last 825)

    beat (time since last 835)

    beat (time since last 845)

    beat (time since last 880)

    beat (time since last 875)

    beat (time since last 814)

    beat (time since last 828)

    beat (time since last 829)

    beat (time since last 818)

    beat (time since last 811)

    beat (time since last 864)

    beat (time since last 880)

    beat (time since last 824)

    beat (time since last 846)

    beat (time since last 826)

    beat (time since last 807)

    beat (time since last 816)

    beat (time since last 864)

    beat (time since last 822)

    beat (time since last 892)

    beat (time since last 851)

    beat (time since last 816)

    beat (time since last 875)

    beat (time since last 808)

    beat (time since last 881)

    beat (time since last 803)

    beat (time since last 889)

    beat (time since last 896)

    beat (time since last 855)

    beat (time since last 869)

    beat (time since last 845)

    beat (time since last 839)

    beat (time since last 893)

    beat (time since last 830)

    beat (time since last 825)

    beat (time since last 893)

    beat (time since last 882)

    beat (time since last 825)

    beat (time since last 877)

    beat (time since last 845)

    beat (time since last 898)

    beat (time since last 827)

    beat (time since last 878)

    beat (time since last 861)

    beat (time since last 861)

    beat (time since last 853)

    beat (time since last 874)

    beat (time since last 861)

    beat (time since last 839)

    beat (time since last 817)

    beat (time since last 833)

    beat (time since last 881)

    beat (time since last 868)

    beat (time since last 885)

    beat (time since last 852)

    beat (time since last 817)

    beat (time since last 841)

    beat (time since last 848)

    beat (time since last 900)

    beat (time since last 896)

    beat (time since last 863)

    beat (time since last 856)

    beat (time since last 816)

    beat (time since last 848)

    beat (time since last 856)

    beat (time since last 859)

    beat (time since last 806)

    beat (time since last 806)

    beat (time since last 858)

    beat (time since last 823)

    beat (time since last 874)

    beat (time since last 827)

    beat (time since last 815)

    beat (time since last 815)

    beat (time since last 845)

    beat (time since last 802)

    beat (time since last 833)

    beat (time since last 866)

    beat (time since last 817)

    beat (time since last 857)

    beat (time since last 837)

    beat (time since last 817)

    beat (time since last 865)

    beat (time since last 894)

    beat (time since last 807)

    beat (time since last 890)

    beat (time since last 805)

    beat (time since last 856)

    beat (time since last 864)

    beat (time since last 833)

    beat (time since last 835)

    beat (time since last 893)

    beat (time since last 806)

    beat (time since last 900)

    beat (time since last 853)

    beat (time since last 857)

    beat (time since last 866)

    beat (time since last 802)

    beat (time since last 891)

    beat (time since last 845)

    beat (time since last 816)

    beat (time since last 883)

    beat (time since last 801)

    beat (time since last 861)

    beat (time since last 811)

    beat (time since last 804)

    beat (time since last 862)

    beat (time since last 826)

    beat (time since last 898)

    beat (time since last 840)

    beat (time since last 810)

    beat (time since last 854)

    beat (time since last 880)

    beat (time since last 898)

    beat (time since last 853)

    beat (time since last 860)

    beat (time since last 898)

    beat (time since last 850)

    beat (time since last 825)

    beat (time since last 863)

    beat (time since last 804)

    beat (time since last 885)

    beat (time since last 882)

    beat (time since last 893)

    beat (time since last 887)

    beat (time since last 852)

    beat (time since last 892)

    beat (time since last 803)

    beat (time since last 840)

    beat (time since last 823)

    beat (time since last 849)

    beat (time since last 853)

    beat (time since last 820)

    beat (time since last 889)

    beat (time since last 820)

    beat (time since last 866)

    beat (time since last 892)

    beat (time since last 824)

    beat (time since last 851)

    beat (time since last 896)

    beat (time since last 888)

    beat (time since last 836)

    beat (time since last 826)

    beat (time since last 806)

    beat (time since last 883)

    beat (time since last 896)

    beat (time since last 889)

    beat (time since last 873)

    beat (time since last 893)

    beat (time since last 814)

    beat (time since last 801)

    beat (time since last 881)

    beat (time since last 803)

    beat (time since last 813)

    beat (time since last 827)

    beat (time since last 898)

    beat (time since last 897)

    beat (time since last 863)

    beat (time since last 893)

    beat (time since last 810)

    beat (time since last 889)

    beat (time since last 837)

    beat (time since last 882)

    beat (time since last 816)

    beat (time since last 814)

    beat (time since last 821)

    beat (time since last 894)

    beat (time since last 873)

    beat (time since last 853)

    beat (time since last 806)

    beat (time since last 895)

    beat (time since last 857)

    beat (time since last 826)

    beat (time since last 840)

    beat (time since last 855)

    beat (time since last 873)

    beat (time since last 805)

    beat (time since last 876)

    beat (time since last 865)

    beat (time since last 861)

    beat (time since last 866)

    beat (time since last 819)

    beat (time since last 802)

    beat (time since last 809)

    beat (time since last 869)

    beat (time since last 872)

    beat (time since last 874)

    beat (time since last 815)

    beat (time since last 899)

    beat (time since last 862)

    beat (time since last 806)

    beat (time since last 854)

    beat (time since last 899)

    beat (time since last 899)

    beat (time since last 836)

    beat (time since last 886)

    beat (time since last 877)

    beat (time since last 864)

    beat (time since last 823)

    beat (time since last 835)

    beat (time since last 825)

    beat (time since last 802)

    beat (time since last 833)

    beat (time since last 803)

    beat (time since last 859)

    beat (time since last 898)

    beat (time since last 823)

    beat (time since last 849)

    beat (time since last 877)

    beat (time since last 890)

    beat (time since last 832)

    beat (time since last 898)

    beat (time since last 826)

    beat (time since last 855)

    beat (time since last 876)

    beat (time since last 858)

    beat (time since last 898)

    beat (time since last 849)

    beat (time since last 893)

    beat (time since last 879)

    beat (time since last 820)

    beat (time since last 856)

    beat (time since last 844)

    beat (time since last 862)

    beat (time since last 816)

    beat (time since last 824)

    beat (time since last 812)

    beat (time since last 855)

    beat (time since last 810)

    beat (time since last 837)

    beat (time since last 807)

    beat (time since last 847)

    beat (time since last 846)

    beat (time since last 833)

    beat (time since last 854)

    beat (time since last 878)

    beat (time since last 829)

    beat (time since last 883)

    beat (time since last 838)

    beat (time since last 825)

    beat (time since last 860)

    beat (time since last 852)

    beat (time since last 883)

    beat (time since last 811)

    beat (time since last 862)

    beat (time since last 860)

    beat (time since last 879)

    beat (time since last 844)

    beat (time since last 897)

    beat (time since last 871)

    beat (time since last 883)

    beat (time since last 816)

    beat (time since last 882)

    beat (time since last 855)

    beat (time since last 801)

    beat (time since last 836)

    beat (time since last 854)

    beat (time since last 829)

    beat (time since last 824)

    beat (time since last 832)

    beat (time since last 835)

    beat (time since last 852)

    beat (time since last 844)

    beat (time since last 801)

    beat (time since last 862)

    beat (time since last 868)

    beat (time since last 836)

    beat (time since last 886)

    beat (time since last 850)

    beat (time since last 884)

    beat (time since last 859)

    beat (time since last 872)

    beat (time since last 816)

    beat (time since last 846)

    beat (time since last 868)

    beat (time since last 845)

    beat (time since last 818)

    beat (time since last 841)

    beat (time since last 822)

    beat (time since last 808)

    beat (time since last 853)

    beat (time since last 842)

    beat (time since last 861)

    beat (time since last 819)

    beat (time since last 850)

    beat (time since last 827)</pre></blockquote>

  • Putting the Quick Back in Quicksilver

    It’s taken me nearly a year and I’ve finally updated my installation of Quicksilver and was disappointed to find that typing in a few letters in the wrong order (i.e: “ecl” will always give me Eclipse, but try “elc”) was suddenly a mistake that required a backspace!  In the prior version all I had to do was wait a moment and type again, the text from my last attempt would be cleared.

    It turns out that the reset timer isn’t gone but instead seems to be set to 2 seconds by default.  Trying to wait that long has nearly driven me insane, so I’ve set it to a far more comfortable .75 seconds.  Of course, everyone will have their own preference so YMMV.

    This is about the simplest fix ever but its taken me nearly a week to get around to doing simply because Quicksilver is never a thought process for me.  I treat more as a patch bay, and when’s the last time you put any effort into tweaking one of those?

  • [Almost] Back to New York

    So its been nearly a month and we’re now in the final stretch of our last week here in Bremen. While the time initially seemed to stand still, these last two weeks have flown by reminding me yet again that there truly aren’t enough hours in a day.

    The good news to report is that I’ve met some great new people, reconnected with some old ones, and managed to get a whole heck of a lot done :) If that’s not a month well spent I’m not sure what is.

  • More News From the 3ds Max Front

    I’ve really come to enjoy Thursdays and Fridays during my month’s stay here in Germany as it gives me a chance to do some work with the extremely talented students of the Hochschule Bremen.  As you may remember from my most recent post, we faced quite a headache with regards to 3ds and the way it handles Windows localization settings.  This week, however, we were extremely fortunate to stumble on a previously hidden plugin included with this popular 3d package: its OBJ capabilities.

    As I’ve seen some really bad exporters floating around, I was pleasantly surprised to find  an extremely well equipped piece of software by the name of guruware OBJ Exporter.  The capabilities of this little gem are absolutely stunning, as is the thoughtfulness put into the interface and options.  The idea of presets?  WOW!  What a novel idea!  I know I’m not the only person out there with collections of screenshots for different export targets, this feature is truly a lifesaver.

    In addition to the usual checkboxes to triangulate meshes, export texture coordinates, etc there are useful options that anyone in the real time 3d business will love.  You may ask “what could a developer possibly love about anything.. ever?”, which would be a fair question on a normal day.  Today, however, we’ve been granted the option to flip between a Z and Y up-axis, determine decimal precision, and specify target platform (which I can only assume is for the purpose of line terminations).  Brilliant.  As if cappuccino in a university cafeteria wasn’t enough, this was truly a great find.  Needless to say, we were able to correctly set up the exporter and get our test model into Betaville in a matter of minutes.  COLLADA may be the wave of the future, but the ubiquitous OBJ may still rain king for as long as there is software like this around.

  • Windows Localization and 3ds Max

    I came across an interesting quirk (I don’t know if it should be called a feature or a bug!) this afternoon that is part of the Autodesk 3ds Max “Autodesk Collada” exporter.  It turns out that if your operating system’s locale is set to somewhere in Europe (as many here in Bremen are), you will see decimal values denoted by a comma, rather than a dot (i.e: 2,03 as opposed to 2.03).

    Needless to say, this can cause some confusion, especially when you’re working with an import based pipeline.  This is just the problem we had with the jME2 importer for COLLADA, which was [not unreasonably] expecting a dot.  It instead got a comma and we got a nasty exception, fun for the whole family!

    Yikes!

    Yikes! I wasn't expecting that!

    Lukcily, we weren’t the first ones to notice this.  A helpful Autodesk employee was able to provide the solution.  He provides a reasonably concise method for changing the decimal setting in Windows:

    Go to your control panel in Windows XP and choose Regional and Language settings.  In the Regional Options tab, choose Customize next to the formats dropdown and then review the value set for Decimal Symbol.

    With this little doozy out of the way we were able to go on with our day of creating three dimensional models of Bremen for inclusion in Betaville.  The fixable problems really are the best.