<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Shadowmaster’s Blog - Rei 2 IRC Bot</title>
    <link>http://shadowm.rewound.net/blog/</link>
    <description>A light in the darkness, where everything is possible...</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.6.2 - http://www.s9y.org/</generator>
    
    

<item>
    <title>2011 Wrap-up</title>
    <link>http://shadowm.rewound.net/blog/archives/216-2011-Wrap-up.html</link>
            <category>After the Storm</category>
            <category>Invasion from the Unknown</category>
            <category>Miscellaneous</category>
            <category>Personal</category>
            <category>Projects</category>
            <category>Rei 2 IRC Bot</category>
            <category>Site updates</category>
            <category>Software</category>
            <category>Wesnoth</category>
            <category>Wesnoth RCX</category>
    
    <comments>http://shadowm.rewound.net/blog/archives/216-2011-Wrap-up.html#comments</comments>
    <wfw:comment>http://shadowm.rewound.net/blog/wfwcomment.php?cid=216</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://shadowm.rewound.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=216</wfw:commentRss>
    

    <author>nospam@example.com (shadowmaster)</author>
    <content:encoded>
    &lt;p&gt;At long last, 2011 is coming to an end. In a few hours, we’ll have to dump our old calendars to replace them with new ones bearing the number 2012 in a big font size. Then the people who believe 2012 will be the end of life on Earth will begin to panic as we approach December again. Those nutcases.&lt;/p&gt;

&lt;p&gt;This was a relatively calm and monotone year in what pertains to my personal life, so I’m not going to delve into details in this opportunity. However, I made some &lt;a href=&quot;http://shadowm.rewound.net/blog/archives/148-Resolutions!.html&quot;&gt;resolutions&lt;/a&gt; last New Year and it might be worth it to review them and check why I didn’t accomplish all of my goals.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Learning Japanese: I got severely sidetracked after a while. I may still try again in the future, just because.&lt;/li&gt;
  &lt;li&gt;Losing weight: I may have gained &lt;strike&gt;some&lt;/strike&gt; a lot of weight during the course of the year. Oops. I did, however, stop drinking coffee, because my stomach started to reject (read: try to vomit) it after a while for some reason.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/projects/wesnoth-tc.php&quot;&gt;Wesnoth RCX&lt;/a&gt;: Still halted. Frankly, there doesn’t seem to be enough interest amongst the Wesnoth community nowadays for this kind of tool, and for my own purposes &lt;a href=&quot;/projects/wesnoth-tc.php&quot;&gt;Wesnoth-TC&lt;/a&gt; serves well as it is.&lt;/li&gt;
  &lt;li&gt;Relearning C♯: Also sidetracked. It doesn’t seem worth it, in hindsight.&lt;/li&gt;
  &lt;li&gt;Learning Lua: Accomplished according to certain definitions. I haven’t really learned more about the language than necessary, but I have indeed committed some Lua code to mainline Wesnoth, and several tasks of varying difficulty are accomplished with custom Lua-backed WML tags in &lt;cite&gt;After the Storm&lt;/cite&gt; and &lt;cite&gt;Invasion from the Unknown&lt;/cite&gt; as of this writing.&lt;/li&gt;
  &lt;li&gt;Rei 2 IRC Bot: Stalled, due to lack of interest. There are also seem to be a few Irssi-specific problems with Perl 5.14, which is in the operating system I’m using at the moment, Debian wheezy.&lt;/li&gt;
  &lt;li&gt;Website: &lt;a href=&quot;http://shadowm.rewound.net/blog/archives/168-Dorset6-codename-Air.html&quot;&gt;Accomplished&lt;/a&gt;. In fact, in a few hours I’ll deploy a few minor changes to the code to optimize the blog template processing a bit.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One particular resolution deserves separate analysis, though:&lt;/p&gt;

  &lt;blockquote&gt;Then there’s Wesnoth. I intend to finish the Second Act™ of &lt;cite&gt;After the Storm&lt;/cite&gt; Episode I as soon as I may, even through the means of placeholders — I’m willing to do &lt;em&gt;anything&lt;/em&gt; to rescue AtS out of Development Hell before the end of 2011.&lt;/blockquote&gt;

&lt;p&gt;I didn’t resort to unlawful methods to accomplish this goal as I originally feared, but it still happened! Granted, rather late.&lt;/p&gt;

&lt;p&gt;During September and October I had a rather unexpected creativity and productivity spurt which culminated with the release of &lt;a href=&quot;http://shadowm.rewound.net/blog/archives/205-After-the-Storm-0.5.0.html&quot;&gt;AtS version 0.5.0&lt;/a&gt; with &lt;cite&gt;Episode I: Fear&lt;/cite&gt; complete with 13 scenarios. More recently in December, we reached &lt;a href=&quot;http://shadowm.rewound.net/blog/archives/214-After-the-Storm-0.6.1.html&quot;&gt;version 0.6.1&lt;/a&gt; with 7 complete scenarios for &lt;cite&gt;Episode II: Fate&lt;/cite&gt;. As of this writing, E2S8 and E2S9 are also complete in SVN trunk in Wesnoth-UMC-Dev, although it’s been suggested that the latter could use some spicing up. E2S10 is a work in progress since yesterday, and part of E2S12 was written already back in October, just not committed.&lt;/p&gt;

&lt;p&gt;Thus, it could be said that after many difficulties, &lt;cite&gt;After the Storm&lt;/cite&gt; broke out of Development Hell. Whether I’ll consider &lt;cite&gt;Episode III: Final&lt;/cite&gt; (expected to be shorter, around 6 scenarios) part of the required line-up for version 1.0.0 is a matter I haven’t settled yet.&lt;/p&gt;

&lt;p&gt;Once &lt;cite&gt;After the Storm&lt;/cite&gt; is finished, I plan to take a rather long break from campaign development. That isn’t to say I’m out of ideas, since there is one character I want to explore in further detail in her own campaign. However, I may have my Wesnoth time taken up by mainline work after 1.10 is released depending on the situation then, since there’s a rather large technology gap in Wesnoth that needs to be solved.&lt;/p&gt;

&lt;p&gt;Other than that, I haven’t really decided on any resolutions for 2012, so I’ll leave you with the one resolution of the moment:&lt;/p&gt;

&lt;pre&gt;
...
screen #0:
  dimensions:    1280x800 pixels (338x211 millimeters)
  resolution:    96x96 dots per inch
...
&lt;/pre&gt;

&lt;p class=&quot;italic&quot;&gt;(This information is utterly wrong. &lt;tt&gt;xdpyinfo&lt;/tt&gt; reported the same screen dimensions on bluecore last year in spite of its screen being glaringly larger than reicore’s by a few milimeters.)&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 31 Dec 2011 20:52:00 +0000</pubDate>
    <guid isPermaLink="false">http://shadowm.rewound.net/blog/archives/216-guid.html</guid>
    
</item>
<item>
    <title>Rei 2 Feeds: Behind the scenes</title>
    <link>http://shadowm.rewound.net/blog/archives/165-Rei-2-Feeds-Behind-the-scenes.html</link>
            <category>IRC</category>
            <category>Miscellaneous</category>
            <category>Personal</category>
            <category>Projects</category>
            <category>Rei 2 IRC Bot</category>
            <category>Software</category>
    
    <comments>http://shadowm.rewound.net/blog/archives/165-Rei-2-Feeds-Behind-the-scenes.html#comments</comments>
    <wfw:comment>http://shadowm.rewound.net/blog/wfwcomment.php?cid=165</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://shadowm.rewound.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=165</wfw:commentRss>
    

    <author>nospam@example.com (shadowmaster)</author>
    <content:encoded>
    &lt;p&gt;Just today I &lt;a href=&quot;http://gitorious.org/rei2/rei2/commit/025293edc1d5ca8372da664576f7fb407362500c&quot;&gt;completed&lt;/a&gt; an initial, &lt;em&gt;working&lt;/em&gt; implementation of an XML feeds reader in the &lt;a href=&quot;/projects/rei2.php&quot;&gt;Rei 2 IRC Bot&lt;/a&gt; framework. This implementation was pushed into master and I later tagged Rei 2 version 0.2.8, which will be eventually deployed on the &lt;em&gt;shikadibot&lt;/em&gt; production instance, once this new shiny feature has seen enough testing and appears to be stable enough.&lt;/p&gt;

&lt;p&gt;Thus my nearly 12 hours long coding spree culminates.&lt;/p&gt;

&lt;p&gt;There were various design issues I faced when developing the feeds reader functionality. I already came across inefficiencies inherent to the legacy single-threaded model for SVN bot functionality found in Shikadibot 0314 and reimplemented in Rei 2; it’s not directly feasible to listen and respond to interactive events from an IRC connection socket while waiting for a reply that might never arrive from a SVN server. In the feeds reader case, more complications arise from the need to download and parse multiple documents from different remote servers in quick succession.&lt;/p&gt;

&lt;p&gt;Rei 2 is still bound to the &lt;a href=&quot;http://irssi.org/&quot;&gt;Irssi IRC client&lt;/a&gt;, and will remain so for a good while until the new &lt;a href=&quot;http://gitorious.org/rei2/rei2/commits/S2&quot;&gt;S&lt;sup&gt;2&lt;/sup&gt; state tracker&lt;/a&gt; is completed. The current situation is by no means &lt;em&gt;bad&lt;/em&gt; as it allows me to concentrate my efforts on the bot’s outermost functionality layer, but the dependence on a non-native (i.e. C as opposed to Perl) backend places several constraints on what can be done in Rei 2.&lt;/p&gt;

&lt;p&gt;Instead of resorting to threads — a possibility that I still don’t dare test with Irssi+Perl — I ideated a convoluted mechanism taking advantage of child processes and a simple caching strategy. Rei 2 forks its own helper daemon (&lt;tt&gt;rei2-feeds-worker.pl&lt;/tt&gt;) when loaded (not necessarily always at Irssi’s startup!). This assistant simply fetches all XML feeds in the background every once in a while, and saves them to disk at a special location in the configuration dir — no more, no less. Meanwhile, Rei 2 sets up timed events to trap into the feeds processor and quickly work with what’s in the local on-disk cache.&lt;/p&gt;

&lt;p&gt;Theoretically, this model could be extended to other Rei 2 modules, the SVN bot code being a particularly attractive candidate. It could be possible to either fork more unique helpers in the background, or somehow merge them all into another modular application. Either way, I’m not strongly interested on messing with the design right now other than researching more optimal mechanisms to monitor cache activity — &lt;a href=&quot;http://en.wikipedia.org/wiki/Inotify&quot;&gt;inotify&lt;/a&gt; comes to mind.&lt;/p&gt;

&lt;p class=&quot;center&quot;&gt;• • •&lt;/p&gt;

&lt;p&gt;For testing purposes, Rei2 on freenode already tracks the &lt;a href=&quot;http://wesnoth-umc-dev.ai0867.net/&quot;&gt;Wesnoth-UMC-Dev frontpage&lt;/a&gt; aggregator feed in &lt;tt&gt;#wesnoth-umc-dev&lt;/tt&gt; and the &lt;a href=&quot;http://forums.wesnoth.org/&quot;&gt;Wesnoth.org&lt;/a&gt;’ Off-Topic forum posts feed in &lt;tt&gt;#wesnoth-offtopic&lt;/tt&gt;. There’s also a duplicate feed of this very blog competing against one of my earliest private-use modules which has been reporting blog posts and Twitter updates in &lt;tt&gt;##shadowm&lt;/tt&gt; nearly since Rei 2’s inception. I’m meant to port the latter two to the new model soon-ish.&lt;/p&gt;

&lt;p&gt;To celebrate this rather important milestone, I’ve updated the &lt;a href=&quot;/projects/rei2.php&quot;&gt;Rei 2 IRC Bot&lt;/a&gt; project page in this site as well with some new information.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 21 Apr 2011 00:56:00 +0000</pubDate>
    <guid isPermaLink="false">http://shadowm.rewound.net/blog/archives/165-guid.html</guid>
    
</item>
<item>
    <title>Resolutions!</title>
    <link>http://shadowm.rewound.net/blog/archives/148-Resolutions!.html</link>
            <category>After the Storm</category>
            <category>IRC</category>
            <category>Invasion from the Unknown</category>
            <category>Miscellaneous</category>
            <category>Personal</category>
            <category>Projects</category>
            <category>Rei 2 IRC Bot</category>
            <category>Site updates</category>
            <category>Software</category>
            <category>Web design</category>
            <category>Wesnoth</category>
            <category>Wesnoth RCX</category>
    
    <comments>http://shadowm.rewound.net/blog/archives/148-Resolutions!.html#comments</comments>
    <wfw:comment>http://shadowm.rewound.net/blog/wfwcomment.php?cid=148</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://shadowm.rewound.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=148</wfw:commentRss>
    

    <author>nospam@example.com (shadowmaster)</author>
    <content:encoded>
    &lt;p&gt;Don’t throw your shoes at me! I didn’t come to continue the &lt;a href=&quot;http://forums.wesnoth.org/viewtopic.php?p=472214#p472214&quot;&gt;overly&lt;/a&gt; &lt;a href=&quot;http://twitter.com/#!/shikadilord/status/20908831286501378&quot;&gt;long&lt;/a&gt; “&lt;a href=&quot;http://twitter.com/#!/shikadilord/status/21005201758490624&quot;&gt;display&lt;/a&gt; &lt;a href=&quot;http://twitter.com/#!/shikadilord/status/21005426946478080&quot;&gt;resolution&lt;/a&gt;” &lt;a href=&quot;http://twitter.com/#!/shikadilord/status/21045247970643969&quot;&gt;gag&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;I have been thinking about some stuff to do during this year for a while, actually. It’s really hard to decide because I’m a person who runs into all sort of trouble while trying to get projects accomplished (including procrastination).&lt;/p&gt;

&lt;p&gt;One thing I’m already doing is learning some Japanese, for no particular reason at all — although you’ve got to admit that having multiple languages in your curriculum is worth a bunch of coolness points. &lt;img src=&quot;/dorset6/img/smilies/razz.gif&quot; alt=&quot;:P&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; Espreon is helping me along the way with his own recently gained knowledge. It seems quite fun to learn a language in a non-Latin alphabet, if not a tad overwhelming at times, especially with kanji.&lt;/p&gt;

&lt;p&gt;It’d be a good idea to lose some weight this year, too. My addiction to sugary stuff isn’t quite compatible with my heart condition! (Nor is coffee, but… meh.)&lt;/p&gt;

&lt;div class=&quot;thumbnail float_right&quot;&gt;&lt;img src=&quot;http://i144.photobucket.com/albums/r176/shadowm2006/atspeek.png&quot; alt=&quot;Screenshot of AtS&quot; /&gt;&lt;/div&gt;

&lt;p&gt;Then there’s Wesnoth. I intend to finish the Second Act™ of &lt;cite&gt;After the Storm&lt;/cite&gt; Episode I as soon as I may, even through the means of placeholders — I’m willing to do &lt;em&gt;anything&lt;/em&gt; to rescue AtS out of &lt;a href=&quot;http://tvtropes.org/pmwiki/pmwiki.php/Main/DevelopmentHell&quot;&gt;Development Hell&lt;/a&gt; before the end of 2011.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/projects/wesnoth-tc.php&quot;&gt;Wesnoth RCX’s&lt;/a&gt; development is halted right now due to lack of interest on my part to invest energy on writing the rest of the new functionality (i.e. definition of custom ranges and palettes), but I know that once I touch Qt Creator’s awesome interface I can’t stop working for a while — so I may eventually get some inspiration to redesign the main window, which should inevitably lead me to tinker around with the rest of the code.&lt;/p&gt;

&lt;p&gt;C# was the first “major” programming language I learned, not counting Visual Basic. I have some fond memories of my first experiments with C#, but after I embarked upon learning and using C++ I kind of forgot about it. I have been considering the possibility of writing an IRC client of sorts using C# just for kicks, and to not forget this language in case I ever need it again. Why IRC? Because clients for this protocol are simple and challenging to implement, both at the same time!&lt;/p&gt;

&lt;p&gt;I’ve already started to learn a bit of Lua for my work on the aforementioned Wesnoth campaign — in fact, there’s already some released code within it written in this language, particularly in scenario 5! I have plans to rewrite parts of &lt;cite&gt;Invasion from the Unknown&lt;/cite&gt; in Lua to clean it up a little, thus paving the road for future maintenance work by me or other people (don’t forget that IftU is still abandoned!).&lt;/p&gt;

&lt;p&gt;Another software project I intend to tackle in the short term is &lt;a href=&quot;/projects/rei2.php&quot;&gt;Rei 2&lt;/a&gt;. Sure, she’s doing well and her main command handlers are many and useful enough for channels such as &lt;tt&gt;##shadowm&lt;/tt&gt; and &lt;tt&gt;#wesnoth-umc-dev&lt;/tt&gt;, but her dependence on &lt;a href=&quot;http://irssi.org/&quot;&gt;Irssi’s&lt;/a&gt; core might well be a curse for one of our use cases: Shikadibot (the Second), which runs on a resource-limited VPS where every drop of RAM has got gold value. I’m already brainstorming a possible abstraction layer (codenamed “&lt;em&gt;API 3&lt;/em&gt;”) which could allow the Irssi core to be swappable with a custom, native IRC client core (codenamed “&lt;em&gt;Anya&lt;/em&gt;”). There’s really not much in the current Irssi-based implementation of the internal interfaces (“&lt;em&gt;API 2&lt;/em&gt;”) that make a dependency switch unfeasible.&lt;/p&gt;

&lt;div class=&quot;thumbnail float_left&quot;&gt;
  &lt;a href=&quot;http://i144.photobucket.com/albums/r176/shadowm2006/screenshots/dorset50001.png&quot; target=&quot;_blank&quot; title=&quot;Click to enlarge&quot;&gt;&lt;img src=&quot;http://i144.photobucket.com/albums/r176/shadowm2006/screenshots/th_dorset50001.png&quot; alt=&quot;Photobucket&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Finally, I’m not going to stop producing &lt;del&gt;useless&lt;/del&gt; updates for my website! Dorset5 0001 is already a reality, although there’s still much I want to do before replacing the current layout. This time I have placed an emphasis on readability and elegance that I don’t think the previous revisions have lived up to so far.&lt;/p&gt;

&lt;p class=&quot;center float_reset&quot;&gt;• • •&lt;/p&gt;

&lt;p&gt;All in all, I always have so many ideas floating in my mind that I rarely carry to realization, so this can’t be considered a definitive list. There are other possibilities I’m contemplating for the long term regarding my personal life, but that’s a much more volatile subject to discuss so I’m avoiding it for now.&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Sat, 01 Jan 2011 06:30:00 +0000</pubDate>
    <guid isPermaLink="false">http://shadowm.rewound.net/blog/archives/148-guid.html</guid>
    
</item>
<item>
    <title>Preparing for yet another year</title>
    <link>http://shadowm.rewound.net/blog/archives/133-Preparing-for-yet-another-year.html</link>
            <category>Frogatto</category>
            <category>IRC</category>
            <category>Miscellaneous</category>
            <category>Personal</category>
            <category>Projects</category>
            <category>Rei 2 IRC Bot</category>
            <category>Software</category>
            <category>Web design</category>
            <category>Wesnoth</category>
            <category>Wesnoth RCX</category>
            <category>freenode</category>
    
    <comments>http://shadowm.rewound.net/blog/archives/133-Preparing-for-yet-another-year.html#comments</comments>
    <wfw:comment>http://shadowm.rewound.net/blog/wfwcomment.php?cid=133</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://shadowm.rewound.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=133</wfw:commentRss>
    

    <author>nospam@example.com (shadowmaster)</author>
    <content:encoded>
    &lt;p&gt;It’s almost over. Time flies even faster as we get closer to the end of 2010, and apparently there’s a lot to summarize despite we’re not in the finish line yet!&lt;/p&gt;

&lt;p&gt;This has been a particularly difficult year for me in a more personal sense, and I’ve faced some trials I won’t speak about and then some, but I’ve also learned new things in the road — things that may be of greater use to me in the future. There’s really a lot that could be said about this year but I’ll restrict it to computer stuff to &lt;del&gt;avoid boring the audience too much&lt;/del&gt; bore the audience as much as possible.&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://shadowm.rewound.net/blog/archives/133-Preparing-for-yet-another-year.html#extended&quot;&gt;Continue reading &quot;Preparing for yet another year&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 30 Nov 2010 02:11:00 +0000</pubDate>
    <guid isPermaLink="false">http://shadowm.rewound.net/blog/archives/133-guid.html</guid>
    
</item>
<item>
    <title>State of Wesnoth-UMC-Dev, and Codename Hakone</title>
    <link>http://shadowm.rewound.net/blog/archives/132-State-of-Wesnoth-UMC-Dev,-and-Codename-Hakone.html</link>
            <category>Rei 2 IRC Bot</category>
            <category>Software</category>
            <category>Wesnoth</category>
            <category>Wesnoth-UMC-Dev</category>
    
    <comments>http://shadowm.rewound.net/blog/archives/132-State-of-Wesnoth-UMC-Dev,-and-Codename-Hakone.html#comments</comments>
    <wfw:comment>http://shadowm.rewound.net/blog/wfwcomment.php?cid=132</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://shadowm.rewound.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=132</wfw:commentRss>
    

    <author>nospam@example.com (shadowmaster)</author>
    <content:encoded>
    &lt;p&gt;The &lt;a href=&quot;http://wesnoth-umc-dev.sourceforge.net/&quot;&gt;Wesnoth-UMC-Dev Project&lt;/a&gt; has been around for quite a while now and it’s helped in the preparation of three user-made add-ons for entering Wesnoth’s mainline repository. As time passes more content finds its place into our facilities and more people learn to take advantage of Subversion. There’s still more to come, as ESR and Fabian Müller (fabi/fendrin) are working on a new drake campaign for mainline titled &lt;cite&gt;Wings of Victory&lt;/cite&gt;.&lt;/p&gt;

&lt;p&gt;We are currently in need of more people interested in helping around with repository maintenance and application processing tasks, though. Espreon, AI and I do our best to handle new registrations and keep everything tidy and clean, but we also have projects of our own!&lt;/p&gt;

&lt;p&gt;As part of a series of changes I hope to have ready before March 2011 — just in time for our 3rd anniversary — the development of a new website “skin” codenamed &lt;em&gt;Hakone&lt;/em&gt;, has started today.&lt;/p&gt;

&lt;div class=&quot;center&quot;&gt;
  &lt;a href=&quot;http://i144.photobucket.com/albums/r176/shadowm2006/screenshots/hakone-development-1.png&quot; title=&quot;Click to enlarge&quot;&gt;
    &lt;img src=&quot;http://i144.photobucket.com/albums/r176/shadowm2006/screenshots/th_hakone-development-1.png&quot; alt=&quot;&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;I already have most of the CSS rules working, but this template is not leaving the early development stage soon, for I still want to try new and crazy ideas on it before the final deployment phase. In particular, I want to reorganize the site structure at the same time to make it more accessible to our target audience while providing as much documentation as we can. You can have a taste of the preliminary plan clicking on the screenshot above.&lt;/p&gt;

&lt;p&gt;Due to my unusual workflow, things are likely to be dropped, replaced and added as I deem necessary or convenient. I’m going to make use of Twitter to post major updates as I go during the next few months.&lt;/p&gt;

&lt;p&gt;Finally, I’ve also been making steady progress on improving &lt;a href=&quot;http://shadowm.rewound.net/projects/rei2.php&quot;&gt;Rei 2 IRC Bot’s&lt;/a&gt; power and cleanness, and for a couple of weeks Shikadibot has been running with her core instead of Shikadibot 0314’s (R.I.P.). Nonetheless, &lt;tt&gt;#wesnoth-umc-dev&lt;/tt&gt;’s bot is unlikely to change much in terms of features, as she doesn’t run with all of Rei 2’s modules for the sake of resource saving.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 23 Nov 2010 06:06:00 +0000</pubDate>
    <guid isPermaLink="false">http://shadowm.rewound.net/blog/archives/132-guid.html</guid>
    
</item>
<item>
    <title>General update</title>
    <link>http://shadowm.rewound.net/blog/archives/111-General-update.html</link>
            <category>IRC</category>
            <category>Miscellaneous</category>
            <category>Personal</category>
            <category>Projects</category>
            <category>Rei 2 IRC Bot</category>
            <category>Site updates</category>
            <category>Software</category>
    
    <comments>http://shadowm.rewound.net/blog/archives/111-General-update.html#comments</comments>
    <wfw:comment>http://shadowm.rewound.net/blog/wfwcomment.php?cid=111</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://shadowm.rewound.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=111</wfw:commentRss>
    

    <author>nospam@example.com (shadowmaster)</author>
    <content:encoded>
    &lt;div class=&quot;center&quot;&gt;
  &lt;a href=&quot;http://xkcd.com/673/&quot;&gt;
    &lt;img src=&quot;http://i144.photobucket.com/albums/r176/shadowm2006/the_sun.png&quot; alt=&quot;The Sun&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;At last, it’s the second weekend of October and here in Chile we’re already switching to &lt;acronym title=&quot;Daylight Saving Time&quot;&gt;DST&lt;/acronym&gt;-based schedules. But I didn’t come here to talk about how nice it is to have sunlight past 7 PM, or to announce any plans for summer.&lt;/p&gt;

&lt;p&gt;Instead, I came here to announce the early arrival of codename “&lt;em&gt;Dorset4&lt;/em&gt;”, the new revision of the site’s layout, now with more CSS 3! (Really.)&lt;/p&gt;

&lt;p&gt;It’s not really as big an update as I expected because there’s really very little to fix overall — I feel quite happy with my work on Dorset3 and save for some minor things no big improvements appear to be necessary. Of course, I introduced a couple of bugs with this revision (notably, in the &lt;a href=&quot;/projects/&quot;&gt;Projects&lt;/a&gt; section index), which will be fixed over the next days. The most notable changes are the introduction of a few icons in places where it made sense, and the tidying up of the sidebar and footer, all with the purpose of presenting the most important information more cleanly than ever.&lt;/p&gt;

&lt;p&gt;But these aren’t all the changes. Besides the stylesheet revisions, there’s also a new project page for &lt;a href=&quot;/projects/rei2.php&quot;&gt;Rei 2 IRC bot&lt;/a&gt; and a new separate page with &lt;a href=&quot;/website-info.php&quot;&gt;information on the website&lt;/a&gt;. The blog has also now acquired entry paging powers, which means that multi-page articles will be possible in the future — in fact, the forthcoming follow-up to &lt;a href=&quot;http://shadowm.rewound.net/blog/archives/60-Wesnoth-Evolution-0.1.html&quot;&gt;Wesnoth Evolution: 0.1&lt;/a&gt; may take advantage of this new feature.&lt;/p&gt;

&lt;p&gt;I know people in the northern hemisphere are going to freeze very soon as winter approaches, but I know I’ll still envy them in a few weeks when local temperatures start going over 32°C. &lt;img src=&quot;/dorset6/img/smilies/awesome.gif&quot; alt=&quot;:Awesome:&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 10 Oct 2010 01:37:44 +0000</pubDate>
    <guid isPermaLink="false">http://shadowm.rewound.net/blog/archives/111-guid.html</guid>
    
</item>
<item>
    <title>Another report on Rei2's development</title>
    <link>http://shadowm.rewound.net/blog/archives/110-Another-report-on-Rei2s-development.html</link>
            <category>IRC</category>
            <category>Rei 2 IRC Bot</category>
            <category>Software</category>
    
    <comments>http://shadowm.rewound.net/blog/archives/110-Another-report-on-Rei2s-development.html#comments</comments>
    <wfw:comment>http://shadowm.rewound.net/blog/wfwcomment.php?cid=110</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://shadowm.rewound.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=110</wfw:commentRss>
    

    <author>nospam@example.com (shadowmaster)</author>
    <content:encoded>
    &lt;p&gt;&lt;a href=&quot;http://wesnoth-umc-dev.sourceforge.net/bots/shikadibot.php&quot;&gt;Shikadibot 0314’s&lt;/a&gt; replacement, codenamed “&lt;a href=&quot;http://shadowm.rewound.net/blog/archives/107-Building-bots,-introducing-Rei2.html&quot;&gt;Rei II&lt;/a&gt;” is slowly approaching completion and now the various SVN commands offered by shikadibot (&lt;tt&gt;dir&lt;/tt&gt;, &lt;tt&gt;file&lt;/tt&gt;, &lt;tt&gt;log&lt;/tt&gt;, &lt;tt&gt;repo&lt;/tt&gt;, and a couple more) are implemented and working. Thanks to my newly acquired handle of class inheritance with Object-Oriented Perl, it’s now also possible to write Git equivalents with minimal hassle, which may become useful in the future, especially once I implement a way to query arbitrary named repositories.&lt;/p&gt;

&lt;p&gt;This time I’m going to try to make an IRC bot that can be more easily adapted for other people’s needs, something that was a goal for Shikadibot’s development as well, but quickly went to hell as the code became the nightmarish abomination that it is nowadays.&lt;/p&gt;

&lt;p&gt;Now codename “Rei II” has an official name and source repository: &lt;a href=&quot;http://gitorious.org/rei2&quot;&gt;&lt;strong&gt;Rei 2 IRC Bot&lt;/strong&gt; at Gitorious.org&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;All progress has taken place in a private repository at AI’s server, but from now on I’m mirroring history at Gitorious for those who might actually want to take a look at the code, and — in the future — use or contribute to Rei 2’s development. The source license is and will continue to be the &lt;a href=&quot;http://en.wikipedia.org/wiki/ISC_license&quot;&gt;&lt;acronym title=&quot;Internet Systems Consortium&quot;&gt;ISC&lt;/acronym&gt; license&lt;/a&gt; to allow easier integration of the code in other suites without the load of problems created by the GNU General Public License.&lt;/p&gt;

&lt;p&gt;A project page on this very site will be coming soon.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 07 Oct 2010 04:04:13 +0000</pubDate>
    <guid isPermaLink="false">http://shadowm.rewound.net/blog/archives/110-guid.html</guid>
    
</item>
<item>
    <title>Building bots, introducing Rei2</title>
    <link>http://shadowm.rewound.net/blog/archives/107-Building-bots,-introducing-Rei2.html</link>
            <category>IRC</category>
            <category>Personal</category>
            <category>Rei 2 IRC Bot</category>
            <category>Software</category>
    
    <comments>http://shadowm.rewound.net/blog/archives/107-Building-bots,-introducing-Rei2.html#comments</comments>
    <wfw:comment>http://shadowm.rewound.net/blog/wfwcomment.php?cid=107</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://shadowm.rewound.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=107</wfw:commentRss>
    

    <author>nospam@example.com (shadowmaster)</author>
    <content:encoded>
    &lt;p&gt;Those who frequent my personal and Wesnoth-related &lt;acronym title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/acronym&gt; channels on freenode may have met &lt;a href=&quot;http://wesnoth-umc-dev.sourceforge.net/bots/shikadibot.php&quot;&gt;Shikadibot&lt;/a&gt; before, but very few people have actually seen the mess that lies beneath its friendly user interface.&lt;/p&gt;

&lt;p&gt;Shikadibot is, simply put, a shitload of hacks put together by someone who didn’t know better at that time — that someone being &lt;strong&gt;me&lt;/strong&gt;. “Inspired” by Rhonda’s Wesbot who watches over the main Wesnoth channels, I quickly wrote Shikadibot around the middle of 2008 with nary a clue of proper Perl coding. I learned as much Perl as I needed to implement the bot’s basic functionality, and certainly not in the most orderly fashion possible. This bot is basically unmaintained and feature-frozen nowadays because I can’t be bothered to try to make something out of that mess.&lt;/p&gt;

&lt;p&gt;And yet I felt compelled to revisit this old project and create something new and better using the same basic ideas.&lt;/p&gt;

&lt;p&gt;Some days ago, I started to work on a new &lt;a href=&quot;http://irssi.org/&quot;&gt;Irssi&lt;/a&gt;-based IRC bot under the codename “Rei II” (&lt;tt&gt;Rei2.pl&lt;/tt&gt;) and building its components from scratch while trying to keep my Perl as elegant as possible while still taking advantage of advances techniques that’d have made maintaining Shikadibot much easier if I actually learned them back then. Most of the knowledge I’m applying comes from different Perl programs I wrote &lt;em&gt;after&lt;/em&gt; Shikadibot, such as &lt;a href=&quot;http://shadowm.rewound.net/blog/archives/42-umcreg.html&quot;&gt;umcreg&lt;/a&gt; and a few random scripts for the &lt;a href=&quot;http://wesnoth-umc-dev.sourceforge.net/&quot;&gt;Wesnoth-&lt;acronym title=&quot;User Made Content&quot;&gt;UMC&lt;/acronym&gt;-Dev Project&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I’d dare say that this is coming out nicely so far since I could quickly implement a small framework for the bot and seamlessly wire it into Irssi, and now I’m busier working on the fun stuff: the actual bot commands and functionality.&lt;/p&gt;

&lt;p&gt;I’m not revealing the source code yet (boo!), but I can say that so far I have implemented the following aspects, cleanly and successfully:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;“Hi” command (well, duh).&lt;/li&gt;
  &lt;li&gt;“Help” command (stub only though).&lt;/li&gt;
  &lt;li&gt;Acronyms look-up inspired by NetBSD’s (et al) &lt;a href=&quot;http://linux.die.net/man/6/wtf&quot;&gt;&lt;tt&gt;wtf&lt;/tt&gt;(6)&lt;/a&gt; utility.&lt;/li&gt;
  &lt;li&gt;Manual page abstract look-up using &lt;a href=&quot;http://linux.die.net/man/1/whatis&quot;&gt;&lt;tt&gt;whatis&lt;/tt&gt;(1)&lt;/a&gt;, also inspired by the above.&lt;/li&gt;
  &lt;li&gt;Mathematical expression evaluation using GNU &lt;a href=&quot;http://linux.die.net/man/1/bc&quot;&gt;&lt;tt&gt;bc&lt;/tt&gt;(1)&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Dice-rolling with “d&amp;lt;no. sides&amp;gt;”, suggested by SpookyMagician on IRC.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Due to my involvement in two projects that been trolled by &lt;acronym title=&quot;Free Software Foundation&quot;&gt;FSF&lt;/acronym&gt; fanboys, I have decided to publish the sources of this bot framework under a BSD-style license instead of the usual deal, since the terms of the GNU General Public License seem to be designed to provide whiners with the fuel they need to keep software developers busy with legalese instead of matters lying within their actual area of interest (id est, programming). After hearing of the FSF’s extremist views on certain issues, I don’t think I’ll use the GNU GPL again in much stuff, if at all.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 30 Sep 2010 06:51:47 +0000</pubDate>
    <guid isPermaLink="false">http://shadowm.rewound.net/blog/archives/107-guid.html</guid>
    
</item>

</channel>
</rss>