Switching Algorithm for Let’s Encrypt

Yesterday I received an email from Let’s Encrypt, the certificate provider I have been using and previously talked about in a previous post.

The mail says:

Your Let’s Encrypt client used ACME TLS-SNI-01 domain validation to issue a certificate in the past 60 days. Below is a list of names and IP addresses validated (max of one per account):

ahyangyi.org (159.89.199.139) on 2019-01-16

TLS-SNI-01 validation is reaching end-of-life. It will stop working temporarily on February 13th, 2019, and permanently on March 13th, 2019. Any certificates issued before then will continue to work for 90 days after their issuance date.

Seems a quite urgent issue, since it will actually break my setup if I do not take actions. Admittedly, this blog has been in a hiatus lately, but I do not want to see it dead.

Read more“Switching Algorithm for Let’s Encrypt”

D&D 4E Anti-slavery Party, Part 1

I have not written anything on this blog for about four weeks. There are various reasons, including procrastination.

Part of the procrastination process caused me to join a play-by-post Dungeons & Dragons 4E game on GitP forum. Anyway, since the time is already wasted, why not waste it well? So let me document the stories of the games I am playing.

The Setting

The setting is not complete set up by the DM. Instead, it was created during our discussion. It is in the D&D 4e “point of light” style, that is, all we know is one city, and basic cosmology.

The city is Danari, the misty desert city, ruled by a good but also draconic and neglecting Gold Dragon family. Due to the negligence, a corrupt aristocracy seized considerable power. And as a result, the city has become a conflux of good and evil, a staple starting point for an adventuring party.

The first mission is outside the city. It makes sense, because per the character stories, not every party member is welcomed in the city. And being a pretty monstrous party, it might as well be said that the whole party will be seen in suspicion at best…

The Party

Draj the Gnoll Wizard was a houseslave who escaped with the help from the heir to a noble family, but was also hunted down by the noble house itself.

SSana||ona (where “||” actually means the sound [ǁ]) the Thri-Kreen Ardent twice escaped death: he was the sole survivor of his birth clutch, and later he was the sole survivor of a Moradin monastery. The monastery was destructed for hiding an escaped slave.

Thorn is a Pixie Rogue, wanted in the feywild for a direct attack at eladrin slavers… Yes, you sense a pattern. We all talk about slaves. Anyway, Thorn is now in the mortal world doing her old tricks of freeing slaves.

So I was the last to write the background. The central theme is pretty well-defined to be “anti-slavery” at this point. Writing another story about slavery proved to be difficult. To make things worse, I picked the completely innocent-looking background (born in elemental chaos) and theme (Windlord), and I want them to string together.

In the end, my story is probably over complicated. But I think I kept things open enough that the DM has a few story hooks if he wants to use them, and even if he doesn’t, the story should probably not bite back.

Asjara (where “sj” is [ɧ], because two weird sounds are better than one), the Windsoul Genasi Warden, became a slave to a Djinn known as Ibanen. Ibanen did not treat Asjara nicely, forcing her to do lots of housework and gave her poor living condition. But later, Asjara showed great strength and Ibanen started to see her more favorably, and trained her to be a capable warrior and a windlord. Later,  Ibanen is tricked to sign a magical contract that turns himself into a slave of a noble in the city, and Asjara, escaped, became the freedom fighter she is now. Her sworn enemy is the city noble, who is crueler and has more slaves than Ibanen.

Djinns are frequently slavers and frequently slaves in fantasy stories, a pretty uncommon trait. Hence using them in the background story. Better, Djinns are native in the Elemental Chaos and they certainly know how to train a Windsoul Genasi to use her innate wind power. Usually Djinns are just too arrogant to care about mortals, but I guess the attitude can change when you own the mortal.

The annoying thing is that Ibanen’s story largely has a grey morality. He is a slaver, but also a victim of slavery. He is harsh with mortals that he does not see value in, but he is also quick in recognizing his slaves’ potentials, and actually takes the time and efforts in developing them. His practice of slavery clearly deserves punishment, but if Asjara one day frees him from his servitude, it’s hard to argue if he deserves more punishment. And, annoyingly, for our freedom fighters, servitude is clearly the wrong punishment for slavery, because we want to be logically consistent.

Historically, not every form of slavery has low social status, even if that’s what we tend to think about slaves. Mamluks and Janissaries, for example, held considerable political power during their respective peaks. These “slaver castes” are also part of the inspiration behind the character concept, though I do not want to dwell too long in these unpleasant historical facts.

Character Building

The character sheet is available here.

This is the first time I build a warden. And therefore, I mostly followed optimization guides when I do not have a thematic preference.

The starting point of the build is the Buffeting Winds feat.

Prerequisite: Genasi, warden, windwalker power

Benefit: When you use your windwalker power, you can slide each enemy marked by you a number of squares equal to your Constitution modifier.

This feat is not particularly strong, but is good enough that my build won’t completely suck due to picking it. In addition, it sets the theme and basically makes various build decisions.

Let me explain further.

First, this feat fixates my race, subrace and class choices. To be eligible at all, I need to play a Windsoul Genasi Warden. And when I do, I can be confident that my character will function differently from all other Genasi characters and all other Warden characters, as long as they do not belong to this particular combination. Yeah, special flakes. But if the other possibility is basically everyone playing the same character mechanically but just “reflavored”, I think this is the better alternative.

Second, it wants my character to have a high constitution to be effective. The warden has four sub-classes, two use constitution as the secondary ability score and two using wisdom. To be honest, all are viable, though the two subclasses with wisdom as secondary will be slightly harder to pull off, since I would want a constitution of at least 14 to get the feat to be functional. That leaves 17+2+1/14/10/10+2/14+1/8 as basically the only possibility, considering that this game starts from level 5. But if I go with a constitution subclass, I could start with 17+2+1/15+1/10/11+2/12/8, meaning that I get a three-grid slide and can do more in the future. I also qualify for a bunch of Int 13 feats, which while not hugely useful, is something wardens usually don’t do, so that makes things interesting.

Wardens desperately need a high secondary ability score, due to the armor class being tied to it. The constitution route therefore is probably easier to go.

Then,  the two constitution-based sub-classes are Earthstrength and Stormheart. Earthstrength’s main theme is extra defenses while Stormheart is sliding and slowing. Stormheart clearly wins in terms of flavor, since it rhymes with the theme of Buffeting Winds.

Third, it (and also the Stormheart feature mentioned above) involves forced movement, which naturally leads to deadly draw:

Benefit: Whenever you pull or slide an enemy to a square adjacent to you, you gain combat advantage against that enemy until the end of your next turn.

Which also prompts the at-will power Thorn Strike:

Melee 2
Hit: 1[W] + Strength modifier damage. The target is pulled 1 square.

At this point, the character building is half finished. The only major decisions remaining are to use a shield and a hammer. Incidentally the hammer also leads to Bludgeon Expertise, which looks like another combo piece in the build, even if it actually does not matter that much.

A character with the Bludgeon Expertise feat gains a feat bonus to weapon attack rolls using a hammer or mace equal to +1, or +2 at 11th level, or +3 at 21st level. You also gain a +1 feat bonus to the number of squares you push or slide creatures with weapon attacks you make with a hammer or mace.

Anyway, the end result is a character whose moves and strikes will reposition her opponents a lot.

Live Threads

In-character Thread

Out-of-character Thread

Rolls Thread

Print Style

Just realized that Kahuna has already included print style in their CSS, so that printed posts will be mostly black-on-white. It saves ink and promotes clarity.

My CSS hacks had interfered with this and caused the printed pages to have a weird header. It has now been fixed.

Fixing the webfont kit

Anyone interested in typography will probably ask me this question:

Why is there no ligature for “fi” in the site title, de finibus?

And for some time I thought the answer was: “I would like to, but Adagio Serif does not come with one.”

Which is completely wrong. Adagio Serif has a ligature for “fi”, as its style really asks for one.

It leads me to investigate why I don’t see ligatures in my website.

Read more“Fixing the webfont kit”

Reorganization

This is the first reorganization of posts on my blog.

In the beginning, I said that I did not care about content organization, I just wanted to write something, and there are no intended readers at all. However, as of now I already have 17 posts, this post not included. I find it starting to be hard even for myself to find the article I want.

So even without any intended readers, there is a need for keeping my blog well organized and tidy.

There are three areas covered by this reorganization: categories/tags, excerpts and tagline.

Read more“Reorganization”