<?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>More of a programming nerd than is strictly healthy. See also {nevyn.nu, thirdcog.eu, twitter}</description><title>Overooped</title><generator>Tumblr (3.0; @nevyn)</generator><link>http://overooped.com/</link><item><title>Voxar is “between jobs”. That’s an eupherism...</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/K9tKnU2Dq88?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Voxar is “between jobs”. That’s an eupherism for “working all day on hobby projects”. Like Deathtroid networking. I added some sounds, too.&lt;/p&gt;

&lt;p&gt;We seem to be running into some sort of pyglet bug though, where the timer makes us crash. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
Traceback (most recent call last):
  File "src/main.py", line 295, in &lt;module&gt;
    pyglet.app.EventLoop().run()
  File "/Library/Python/2.5/site-packages/pyglet/app/carbon.py", line 84, in run
    self._timer_proc(timer, None, False)
  File "/Library/Python/2.5/site-packages/pyglet/app/carbon.py", line 133, in _timer_proc
    sleep_time = self.idle()
  File "/Library/Python/2.5/site-packages/pyglet/app/__init__.py", line 187, in idle
    dt = clock.tick(True)
  File "/Library/Python/2.5/site-packages/pyglet/clock.py", line 698, in tick
    return _default.tick(poll)
  File "/Library/Python/2.5/site-packages/pyglet/clock.py", line 317, in tick
    item.next_ts = self._get_soft_next_ts(ts, item.interval)
  File "/Library/Python/2.5/site-packages/pyglet/clock.py", line 585, in _get_soft_next_ts
    if not taken(next_ts, interval / 4):
  File "/Library/Python/2.5/site-packages/pyglet/clock.py", line 563, in taken
    if abs(item.next_ts - ts) &lt;= e:
TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'
&lt;/module&gt;&lt;/code&gt;&lt;/pre&gt;

I ugly-patched it like this:
&lt;pre&gt;&lt;code&gt;
--- clock.py	2009-04-06 22:20:44.000000000 +0200
+++ clock-uglypatched.py	2009-04-06 20:55:46.000000000 +0200
@@ -560,6 +560,8 @@
             scheduled nearby.
             '''
             for item in self._schedule_interval_items:
+                if item.next_ts == None:
+                  continue
                 if abs(item.next_ts - ts)  ts + e:
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I’m guessing a schedule item shouldn’t be allowed to have a next_ts == None at this point.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Update&lt;/em&gt;: This bug is known under &lt;a href="http://code.google.com/p/pyglet/issues/detail?id=407"&gt;issue 407&lt;/a&gt; on their bug tracker.&lt;/p&gt;</description><link>http://overooped.com/post/93720695</link><guid>http://overooped.com/post/93720695</guid><pubDate>Tue, 07 Apr 2009 07:28:00 +0200</pubDate><category>deathtroid</category></item><item><title>That was a good lunch break.</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/yc692qQeg8g?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;That was a good lunch break.&lt;/p&gt;</description><link>http://overooped.com/post/91532410</link><guid>http://overooped.com/post/91532410</guid><pubDate>Tue, 31 Mar 2009 13:50:48 +0200</pubDate><category>deathtroid</category></item><item><title>Deathtroid, r114, after Per’s productive train ride home.</title><description>&lt;img src="http://25.media.tumblr.com/MLhBbCcsblnsjzk2Dtzdo3jVo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Deathtroid, r114, after Per’s productive train ride home.&lt;/p&gt;</description><link>http://overooped.com/post/91010088</link><guid>http://overooped.com/post/91010088</guid><pubDate>Sun, 29 Mar 2009 23:31:52 +0200</pubDate><category>deathtroid</category></item><item><title>LAN party turned into coding party. We’re building a...</title><description>&lt;img src="http://25.media.tumblr.com/MLhBbCcsblmrg700jWM69pGNo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;LAN party turned into coding party. We’re building a multiplayer deathmatch Super Metroid Clone. It’s called… &lt;b style="font-size:2em"&gt;Deathtroid!&lt;/b&gt;&lt;/p&gt;</description><link>http://overooped.com/post/90823979</link><guid>http://overooped.com/post/90823979</guid><pubDate>Sun, 29 Mar 2009 06:13:00 +0200</pubDate><category>deathtroid</category></item></channel></rss>

