Amethyst, and life updates

Oh hi there. Long time no see. Apparently I haven’t posted since February 2017, huh. A lot of things have happened in the meantime, it turns out. Some of those things are to blame for my general inactivity elsewhere, but when it comes to this blog I just can’t seem to come up with anything to say worthy of my trademark text walls, at least not ever since I joined Twitter several years ago— wait, wasn’t that in 2010? Time sure flies. I feel old. Okay, let’s face it, I am old.

“Iris” version 1.1.0 as of earlier today

In addition to it having been a while since my last post in here, it has also been a while since the last time I gave the website an overhaul, for what little use it sees nowadays. Because of that, plus some of my experiences designing the new website theme for The Battle for Wesnoth last year, I decided to try to modernize my own a little bit so it looks more in tune with my current practices. I also decided to spruce things up with a new colour scheme, like last time, taking things in a different direction to what I’m used to.

An attentive reader who’s been around for long enough might be able to tell that the “Iris” design last year did undergo a slight revision incorporating Font Awesome in order to make icons not look awful on high-DPI screens. This was a natural conclusion of my work designing and testing the theme on devices with higher pixel density. Plus it was precisely last year that I actually caved in and got a smartphone given to me by a relative, further highlighting all the inconveniences of designing things on/for 96 DPI these days. Other than that, though, the design remained mostly unchanged from what I made in 2014.

“Iris” version 1.2.0, aptly codenamed Amethyst for reasons that should be blatantly obvious, is mostly the same as before under the hood, but on the surface it hopefully looks shinier and more elegant and modern. Even though I am not using the site much right now like I mentioned above, I have a faint hope that the new look will motivate me to post more again.

Since there wasn’t a New Year post last year, or even the year before that, or uh... the year before that as well... actually I guess there haven’t been New Year posts in here since January 1st 2013. Oops. Anyway, I guess it’s time for a short summary of what I have been up to in recent times. Let’s see...

Continue reading “Amethyst, and life updates


Those who have followed me these last five years or so are probably aware that I designed and coded this site’s layout on my own in an effort to learn the basics of Web design. Thus, has been redesigned no less than eight times since its inception.

Continue reading “Iris

The Treachery of PNG Images

These two images are not the same, at least if you are using the default Firefox configuration on Linux/X11 with gfx.color_management.mode set to 2 (only tagged) instead of 0 (all disabled). It turns out I disabled that setting entirely at some point—for some reason—and later forgot about it.

To be more specific, the image to the right is the intended rendering. This is what the side-by-side comparison above should look like with the defaults.

It also seems I have been leaving behind a trail of PNG files in the web that contain bogus ICC information that causes Firefox—again, with the default configuration—to render them differently than I actually intended when exporting them in the GIMP. In the case of my avatar, it’s not a big deal since it’s just Xykon from the Order of the Stick serving as my terrifying spokesman spokeslich. However, if my memory serves me right I have seen this being an actual issue with my whole website layout in my default-configured virtual machines — and I always dismissed that color disparity as being caused by VirtualBox instead of Firefox.

Thankfully, the website CSS currently makes more use of browser gradients to prevent the faulty (?) graphics being used in practice. The spritesheet that contains the post category icon (used in the front page) is evidently affected, though.

But to what degree is it Firefox’s fault? Unfortunately, I understand jack shit about color profiles and I don’t seem to have a tool handy to tell me what the technical differences between both images are. I suspect I did something wrong in the GIMP at some point, or perhaps the problem was created by my application of a certain PNG optimization script. Does the wrongly rendered version of my avatar actually have color profile information in it?

What I do understand is that color profile information in PNG files has bitten my ass several times over the years, and not just with Firefox, but also with Wesnoth (via SDL_image).

If anyone there thinks they have a definitive answer to this conundrum, please share.

EDIT: Yes, I reuploaded my avatar to the forums and my Twitter profile during the last couple of days in order to fix this issue. It was just matter of opening importing the current versions in the GIMP and then saving exporting the unaltered contents to new files. I will probably try the optimization procedure on the fixed versions later.

EDIT 2: Also, yes, I am aware that the two sample images look identical in non-Gecko browsers.

Firefox 4 gets a clue, plus Bonus Track

Apparently the people at Mozilla finally decided to give their last Firefox release a try on a Linux/Gtk+ configuration other than Ubuntu 10.10’s default, or some diligent user reported to them how awful the new interface looks to the rest of the world who’s not using Windows. In any case, I seem to be receiving new builds through their beta channel, and a few hours ago I got my hands on Firefox 4.0.1 “beta” build 1, whatever that means.

The following picture should speak by itself: (Hint: look between the Firefox button and the toolbar.)

Firefox 4.0.1 toolbar comparison

Before switching to Mozilla Firefox 4’s builds from the Nightly (Minefield) channel some time around mid-2010, I used to follow closely the blog of one of the Debian Iceweasel maintainers, from which I got goodness such as updates on the status of Iceweasel 3.6 for Debian Sid/Squeeze in Experimental, that I used for a while.

There’s a little piece of customization advice for Iceweasel/Firefox 4.0 users posted around January that I overlooked until now.

Turns out that this night after Firefox 4.0.1’s update, I decided that the “Firefox button” should match the Oxygen window decoration in style — because I’m that crazy. I took the ~/.mozilla/firefox/<session>/chrome/userChrome.css modifications from the blog post and played around with various combinations until I produced something marginally uniquer.

Firefox 4.0.1 customization screenshot
#appmenu-toolbar-button > .toolbarbutton-text {
/* oxygen "carved" effect */
text-shadow: 0px 1px 0px white;
/* bold */
font-weight: bold;

I am actually afraid of messing around with the many possibilities of XUL/CSS styling further, lest I spend the rest of the month producing my own full-fledged Firefox theme. The fact that I can handle CSS makes this all the more worrisome.


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

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.

Hakone 1.1: the new face of Wesnoth-UMC-Dev

After so much work, codename “Hakone”, the new website layout and software powering the Wesnoth-UMC-Dev website is finished, bringing with it a series of changes to begin to renew the project for the upcoming new year.

Ancient, old, and new

The Wesnoth-UMC-Dev website has gone through three revisions counting “Hakone” — “Soradoc” and “Kalari” being its predecessors.

My emphasis during the construction of codename “Hakone” was placed on functionality, standards compliance at the web interface level, and a soft, elegant and modern look, all of which I think have been accomplished. Through the integration of technologies such as XML feeds using SimplePie, and the minimalistic yet extensible blog engine provided by Blosxom along with our homegrown Poison Ivy PHP engine, we have achieved our ultimate objective of establishing our own network identity as an independent, parallel project to Battle for Wesnoth.

We have also added an embedded IRC client using freenode’s neat webchat gateway, available from within the Contact section. This should pave the way for further coordination between developers and repository administrators using our official discussion and support channel.

In this opportunity I’ve also opted for standardizing the spelling of our short project name to “Wesnoth-UMC-Dev”, as opposed to the earlier “wesnoth-umc-dev” and “Wesnoth UMC Dev[elopment]”.

There are bugs that remain to be fixed though, which are related to the feeds handling within the various site components — but nothing that is going to matter for the moment due to our rather restricted audience.

So there goes another bit to add to my web design stories, an experience from which I’ve learned a lot of valuable information for my work on “Dorset5”.

Preparing for yet another year

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 and the Prosilver transition, Part II

Wesnoth forum - prosilver style (preview)

After some hesitation, I have deployed Prosilver Special Edition on the forums, with multiple changes meant to make it more similar to mainline Prosilver in terms of layout. Wesnoth’s custom Prosilver changes have also been applied on our copy of Prosilver SE.

In fact, Prosilver SE as used in depends completely on the main Prosilver template rather than its own partial template set, and it also replaces the default Prosilver theme/stylesheets and imagesets, since otherwise very few people would choose to use it. Besides, OAB.

Of course, further changes are not unlikely to occur, depending both on the users’ feedback and my own testing experiences. and the Prosilver transition

Most people who frequented phpBB 2 forums have met the Subsilver theme at some point. Wesnoth’s community is not the exception, and the phpBB 3 switch completed by cycholka/Mist in March 2008 during the third-to-last host migration involved switching everyone to Subsilver2, which is the last incarnation of the good old Subsilver. Most of us Wesnoth forumers have become accustomed to the cleanness, quirks and old-school feel of Subsilver2.

However, that will eventually change.

Maintaining patches for mods affecting the forum user and moderator front-ends involves editing three template sets, which are Prosilver (phpBB 3’s new built-in and default style), Subsilver2 and AcidTech, which is Subsilver2-based with some essential layout differences. There are even some mods that don’t provide MODX instructions for Subsilver2, since it’s not essential for approval in the official modifications database to include support for this style that’s most likely going to be dropped in future phpBB release series.

If you take a look at my Projects section you’ll also notice that I’ve needed to write a couple of Subsilver2 hacks in the past to add minor functionality that’s present in the official phpBB 3 “Olympus” forum theme by default. There’s a third custom change in my tree, corresponding to the Quick Reply editor toggle button.

Continue reading “ and the Prosilver transition


At last, umcreg, Wesnoth-UMC-Dev's Registry Service, is finished, deployed and announced in the forums, thus completing the first part of introducing the Registry system to the project.

There were some changes from its original incarnation, but everything turned out pretty well for a bot written from scratch in approximately 6 days by a Perl fanatic with no knowledge of object-oriented Perl — I actually learned some object-oriented Perl while at this and I feel like I can do anything with it now. 😄

I was in a hurry to get this done right before freenode deployed ircd-seven today (yays!), for no particular reason; this resulted in a security feature not working with hyperion-ircd until I introduced a quickie hack that I'll be retiring later today.

I have already registered our current members using some basic, known information about them — even including their join date. Old projects' registration will be a little slow as I need to research the current structure of the repository, of which I lost track a year ago, and retrieve original timestamps. The registry's web interface, provided by the umcreg::Web and Thoria::Web packages, can be found here.

umcreg is already working at the project's admin channel on freenode too. It only obeys the project staff's orders, though, so there's no point in trying to send messages to it.

The next step in implementing the Registry model is writing the Statistics service, codenamed “Listra”, and most likely going to be named umcstat. That will definitively take much longer than umcreg's development. Meanwhile, Espreon is trying to convince me to take care of umcdist (codename “Blackmore”) first.