On Mon, Dec 12, 2011 at 7:25 PM, Danny O&#39;Brien <span dir="ltr">&lt;<a href="mailto:danny@spesh.com">danny@spesh.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><br><div class="gmail_quote"><div class="im">On Mon, Dec 12, 2011 at 4:34 PM, Jonathan Lassoff <span dir="ltr">&lt;<a href="mailto:jof@thejof.com" target="_blank">jof@thejof.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Danny,<div><br></div><div>This is *really* awesome. Nice work.</div><div><br></div><div>I converted my little parallel port daemon into a proper project and gave it a name and a proper Makefile: <a href="https://github.com/jof/gateman" target="_blank">https://github.com/jof/gateman</a></div>


<div><br></div><div>I&#39;ve set up minotaur with a user called &quot;gateman&quot; that&#39;s in the &quot;lp&quot; group (to talk to the parallel port). Right now, the daemon is manually started. I hope to make this into a proper Debian package at some point with an init script and all that jazz.</div>

</blockquote></div><div><br>oho nice<br><br>I wrote an upstart script that keeps the old daemon up in the event of a reboot. Foolishly, I put it in our existing mercurial repository for gate related stuff at pony.noise:/var/hg/gate/tools/hardware<br>

<br>I&#39;ll back that out now, and push you a change on github. You might want to consider keeping it in the /var/hg/gate mercurial repository anyway. The README now points the curious to your github repository.<br></div>
</div></blockquote><div><br></div><div>I finished making some code to handle ringer state subscriptions -- <a href="https://github.com/jof/gateman/commit/6eb6dd5c7b252cfadb1ba1fe82097dec8d8b4bdf">https://github.com/jof/gateman/commit/6eb6dd5c7b252cfadb1ba1fe82097dec8d8b4bdf</a></div>
<div>This code has not been extensively tested just yet. I suspect it should work, but I might have fucked up a malloc() or something.</div><div><br></div><div>Now if you tell the gateman daemon &quot;Subscribe.&quot;, it&#39;ll remember your ephemeral port and IP and call you back with a &quot;RING!&quot; message when the gate is run. Currently, it&#39;ll only keep track of that subscription for 60 seconds, and client applications just need to ask again to keep that up to date.</div>
<div><br></div><div>Maybe we can figure out a smart way to broadcast &quot;gate ringing&quot; events via Websockets to some code in a browser that&#39;ll blink a tab or something.</div><div><br></div><div>Cheers,</div><div>
jof</div></div>