Tuesday, November 15, 2011
Wednesday, March 16, 2011
One of my current goals is to make an entire port of Term::VT102 in XS (Term::VT102::XS). It is progressing very slowly. However, in an act of impatience, I took a current copy of Term::VT102 and converted one of its functions to XS to see how much faster it was. I replaced
and ran a test script through Devel::NYTProf.
The pure-perl version ran in this much time (9.44s is the time in line):
The XS version ran in this much time:
A speedup that reduced the amount of time in that sub to nearly one ninth the time! Believe it or not, this function was one of the more expensive calls in my project code. I know I cheated by requiring $self for the XS function (rendering it completely incompatible but I don't know how to overload it quite yet), but I hope that doesn't make too much of a difference, speed-wise. If it speeds up a single function to 12% of the time (inclusive), imagine how much faster it will be with the entire thing ported to XS.
Monday, March 14, 2011
Sunday, March 13, 2011
In the NetHack community, people like to broadcast their games over telnet so others can watch, learn, and/or be impressed. Some wanted to broadcast more than just NetHack games.
Thus, termcast was born.
Anything one could do on a shell, one could do on termcast. This allowed for activities like showing off tricks in a favorite editor, the thought process of the broadcaster when writing in a programming language, knowledge of various shell commands, CompSci homework, installation processes, the list goes on.
Branching from Telnet
Termcast on the web with true streaming
I think I am quickly catching up to the functionality of the original termcast application. Though, in my opinion, one of my killer features is the ability to resize your terminal and see the terminal on the web application change sizes as well, so you don't have to assume 80x24 or anything.
I am happy with the progress I am making with the web component of App::Termcast::Server, but I hope others will start writing other components for it. I started on a telnet component, but it doesn't really work. Also, I wrote a small IRC bot (currently somewhat brittle) that announces termcast connections, which is pretty neat.
As always, I am happy to get feedback, and feel free to contribute in any way you can.
Monday, January 31, 2011
I whipped up a quick hack to give me growl alerts for irssi highlighting. It is pretty horrible, gross, and yucky, but it works well enough for me. I thought I'd share in case people don't care so much about how grotesque this is.
On my server running irssi, I wrote this irssi script:
On my macbook where I get growl messages I wrote this shell script:
...and ran it in cron on my macbook:
* * * * * /path/to/growl-alerts.sh myhost.org
Thursday, February 25, 2010
Monday, February 15, 2010
- Moose - OO with meta-object and role capabilities
- Bread::Board - Wires all the MUD components together for easy object construction
- KiokuDB - seamless, persistent OODBM for storing all the MUD data
- Path::Dispatcher - Great dispatching tools for command parsing
- POE - Convenient socket-oriented tools to prevent reinventing the wheel