• Skip to site navigation
  • Skip to content
  • Skip to sidebar
  • Skip to footer
  • Go to archive page
Shadowmaster’s Lair
  • Home
  • Projects
  • Articles
  • About
  • Contact
  • Blog

2011 Wrap-up

Saturday, December 31, 2011

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.

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 resolutions last New Year and it might be worth it to review them and check why I didn’t accomplish all of my goals.

  • Learning Japanese: I got severely sidetracked after a while. I may still try again in the future, just because.
  • Losing weight: I may have gained some 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.
  • Wesnoth RCX: 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 Wesnoth-TC serves well as it is.
  • Relearning C♯: Also sidetracked. It doesn’t seem worth it, in hindsight.
  • 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 After the Storm and Invasion from the Unknown as of this writing.
  • 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.
  • Website: Accomplished. In fact, in a few hours I’ll deploy a few minor changes to the code to optimize the blog template processing a bit.

One particular resolution deserves separate analysis, though:

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

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

During September and October I had a rather unexpected creativity and productivity spurt which culminated with the release of AtS version 0.5.0 with Episode I: Fear complete with 13 scenarios. More recently in December, we reached version 0.6.1 with 7 complete scenarios for Episode II: Fate. 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.

Thus, it could be said that after many difficulties, After the Storm broke out of Development Hell. Whether I’ll consider Episode III: Final (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.

Once After the Storm 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.

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:

...
screen #0:
  dimensions:    1280x800 pixels (338x211 millimeters)
  resolution:    96x96 dots per inch
...

(This information is utterly wrong. xdpyinfo reported the same screen dimensions on bluecore last year in spite of its screen being glaringly larger than reicore’s by a few milimeters.)

Posted in After the Storm, Invasion from the Unknown, Miscellaneous, Personal, Projects, Rei 2 IRC Bot, Site updates, Software, Wesnoth, Wesnoth RCX at 20:52 UTC | No comments

Rei 2 Feeds: Behind the scenes

Thursday, April 21, 2011

Just today I completed an initial, working implementation of an XML feeds reader in the Rei 2 IRC Bot framework. This implementation was pushed into master and I later tagged Rei 2 version 0.2.8, which will be eventually deployed on the shikadibot production instance, once this new shiny feature has seen enough testing and appears to be stable enough.

Thus my nearly 12 hours long coding spree culminates.

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.

Rei 2 is still bound to the Irssi IRC client, and will remain so for a good while until the new S2 state tracker is completed. The current situation is by no means bad 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.

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 (rei2-feeds-worker.pl) 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.

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 — inotify comes to mind.

• • •

For testing purposes, Rei2 on freenode already tracks the Wesnoth-UMC-Dev frontpage aggregator feed in #wesnoth-umc-dev and the Wesnoth.org’ Off-Topic forum posts feed in #wesnoth-offtopic. 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 ##shadowm nearly since Rei 2’s inception. I’m meant to port the latter two to the new model soon-ish.

To celebrate this rather important milestone, I’ve updated the Rei 2 IRC Bot project page in this site as well with some new information.

Posted in IRC, Miscellaneous, Personal, Projects, Rei 2 IRC Bot, Software at 00:56 UTC | No comments

Resolutions!

Saturday, January 1, 2011

Don’t throw your shoes at me! I didn’t come to continue the overly long “display resolution” gag!

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).

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. :P 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.

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.)

Screenshot of AtS

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

Wesnoth RCX’s 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.

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!

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 Invasion from the Unknown 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!).

Another software project I intend to tackle in the short term is Rei 2. Sure, she’s doing well and her main command handlers are many and useful enough for channels such as ##shadowm and #wesnoth-umc-dev, but her dependence on Irssi’s 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 “API 3”) which could allow the Irssi core to be swappable with a custom, native IRC client core (codenamed “Anya”). There’s really not much in the current Irssi-based implementation of the internal interfaces (“API 2”) that make a dependency switch unfeasible.

Photobucket

Finally, I’m not going to stop producing useless 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.

• • •

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.

Posted in After the Storm, IRC, Invasion from the Unknown, Miscellaneous, Personal, Projects, Rei 2 IRC Bot, Site updates, Software, Web design, Wesnoth, Wesnoth RCX at 06:30 UTC | 1 comment

Preparing for yet another year

Tuesday, November 30, 2010

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!

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 avoid boring the audience too much bore the audience as much as possible.

Continue reading “Preparing for yet another year” ›
Posted in Frogatto, IRC, Miscellaneous, Personal, Projects, Rei 2 IRC Bot, Software, Web design, Wesnoth, Wesnoth RCX, freenode at 02:11 UTC | 1 comment

State of Wesnoth-UMC-Dev, and Codename Hakone

Tuesday, November 23, 2010

The Wesnoth-UMC-Dev Project 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 Wings of Victory.

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!

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 Hakone, has started today.

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.

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.

Finally, I’ve also been making steady progress on improving Rei 2 IRC Bot’s 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, #wesnoth-umc-dev’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.

Posted in Rei 2 IRC Bot, Software, Wesnoth, Wesnoth-UMC-Dev at 06:06 UTC | 1 comment

General update

Sunday, October 10, 2010
The Sun

At last, it’s the second weekend of October and here in Chile we’re already switching to DST-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.

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

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 Projects 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.

But these aren’t all the changes. Besides the stylesheet revisions, there’s also a new project page for Rei 2 IRC bot and a new separate page with information on the website. 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 Wesnoth Evolution: 0.1 may take advantage of this new feature.

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. :Awesome:

Posted in IRC, Miscellaneous, Personal, Projects, Rei 2 IRC Bot, Site updates, Software at 01:37 UTC | No comments

Another report on Rei2's development

Thursday, October 7, 2010

Shikadibot 0314’s replacement, codenamed “Rei II” is slowly approaching completion and now the various SVN commands offered by shikadibot (dir, file, log, repo, 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.

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.

Now codename “Rei II” has an official name and source repository: Rei 2 IRC Bot at Gitorious.org.

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 ISC license to allow easier integration of the code in other suites without the load of problems created by the GNU General Public License.

A project page on this very site will be coming soon.

Posted in IRC, Rei 2 IRC Bot, Software at 04:04 UTC | No comments

Building bots, introducing Rei2

Thursday, September 30, 2010

Those who frequent my personal and Wesnoth-related IRC channels on freenode may have met Shikadibot before, but very few people have actually seen the mess that lies beneath its friendly user interface.

Shikadibot is, simply put, a shitload of hacks put together by someone who didn’t know better at that time — that someone being me. “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.

And yet I felt compelled to revisit this old project and create something new and better using the same basic ideas.

Some days ago, I started to work on a new Irssi-based IRC bot under the codename “Rei II” (Rei2.pl) 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 after Shikadibot, such as umcreg and a few random scripts for the Wesnoth-UMC-Dev Project.

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.

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:

  • “Hi” command (well, duh).
  • “Help” command (stub only though).
  • Acronyms look-up inspired by NetBSD’s (et al) wtf(6) utility.
  • Manual page abstract look-up using whatis(1), also inspired by the above.
  • Mathematical expression evaluation using GNU bc(1).
  • Dice-rolling with “d<no. sides>”, suggested by SpookyMagician on IRC.

Due to my involvement in two projects that been trolled by FSF 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.

Posted in IRC, Personal, Rei 2 IRC Bot, Software at 06:51 UTC | No comments
Page 1 of 1, totaling 8 entries
‹ May ’13  
Mo Tu We Th Fr Sa Su
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
  • Recent posts
  • Archives
  • RSS/XML RSS 1.0
  • RSS/XML RSS 2.0
  • Atom/XML Atom 1.0
  • RSS/XML Comments
Twitter: @shikadilord
Categories
  • XML Frogatto
  • XML Hardware
  • XML IRC
  • XML freenode
  • XML Miscellaneous
  • XML Personal
  • XML Projects
  • XML Rei 2 IRC Bot
  • XML Wesnoth RCX
  • XML Wesnoth-TC
  • XML Site updates
  • XML Software
  • XML Web browsers
  • XML Web design
  • XML phpBB
  • XML Wesnoth
  • XML After the Storm
  • XML Invasion from the Unknown
  • XML Wesnoth Evolution
  • XML Wesnoth-UMC-Dev
Projects
  • Wesnoth Add-ons
  • Wesnoth RCX
  • Wesnoth-TC
  • Frogatto levels
  • Rei 2 IRC Bot
  • Wesnoth-UMC-Dev Registry
  • Shikadibot 0314
  • irker-svnpoller & svnmail-filter
  • phpBB 3.0 Mods/Hacks
Articles
  • Wesnoth Evolution
Links
  • Battle for Wesnoth
  • Wesnoth-UMC-Dev
  • Frogatto & Friends
Contact • Site Information & Disclaimer

Copyright © 2006-2013 by Ignacio R. Morelle. All rights reserved.
Powered by Poison Ivy/Dorset6 D18 and Serendipity.
Hosting by rewound.net and NearlyFreeSpeech.NET.

Serendipity PHP Weblog Valid XHTML 1.0 Transitional