Sunday, August 22, 2021

Same day gluten-free "injera" recipe

The prerequisite pre-recipe preamble: I struggled for a long time to make decent injera, those delicious spongy crepes/pancakes. While I'm a decent baker, every recipe I found for authentic injera called for many days of fermentation, with steps in between, and after investing so much time in making them I'd often hit disaster when it came time to cooking them. They'd stick, or be flat, or just taste terrible. Maybe I had the wrong wild yeast in the air or cooking surface or...I dunno. Many times I wish I'd had an Ethiopian grandmother I could ask for advice. Sadly, I only had YouTube, and no one to tell me what i was doing wrong.

As I read more, I learned that the injera that I knew from eating at Ethiopian restaurants might not be authentic after all, since restaurants often use wheat flour and add salt. So...it's possible the results I was getting was in fact more authentic than , but just not to my western tastes. Having never been to Ethiopia, I just don't know.

I tried adding wheat flour, but my results were still hit or miss, and since my wife avoids gluten this was a non starter.

Long story short: I created a recipe that seems to work every damn time (well, the two times I've tried it) and which is relatively simple. Take a look, then go make it!






Step 1:

Combine in a bowl:
1 cup teff flour
1 cup tapioca flour
2 cups warm water
1 tablespoon dry yeast
1/2 tsp salt
1 tablespoon apple cider vinegar

Step 2

Combine in a pot:
1/2 cup teff flour
3 cups water

Cook on medium heat until thick while stirring, then let cool.

Step 3

Mix the contents of the pot into the bowl until smooth. Let set until bubbly, maybe 90 minutes or so.



It should be crepe-batter thinness. If it's too thick, then I really did forget to write down the extra cup of water I might have added in step 2, and I will edit this recipe.

Step 3

Heat up your nonstick electric griddle to 450F. Put your batter into a container with a pouring spout. For each injera, pour slowly in a spiral (I go outward in), filling in any gaps as necessary.

Cook until the lighter spots on top disappear - about a minute - then put the lid on and cook for another minute. The edges of the injera should pull away from the griddle.

Put the injera on a piece of parchment paper and let cool for a few minutes while the next one is cooking, then roll the cooled one up. You should be able to unroll it without it sticking - if not, cook the next one a little longer.


Saturday, July 3, 2021

How to play D&D (5th edition) - the basics


Why this guide?

D&D is a fun but also complicated game with a lot of rules. The 5e Player's Guide alone is close to three hundred pages long and while it is rich on details, it is lacking in examples of actual gameplay. This guide aims to present the minimum you'll need to know to jump in and start playing.

This is not intended to be an authoritative guide, and your Dungeon Master (DM) may have their own rules about what is and what is not allowable.

Roleplaying your character

D&D is a roleplaying game (with dice and rules), so get to know your character as you create them. Their personality and motivations may reveal themselves to you a bit over time. Think a bit about what has driven them to risk life and limb. A divine calling? Boredom? The need to feed their thirty-seven children?

To help everyone get in character, address your fellow players by their character's names during the game - unless you're asking them to pass the chips, that is. Remember that your character may not know what you know, and your character may feel differently about another player's character than you might feel about the player who is playing them.

The DM is responsible for describing the environment the players are in, roleplaying the non-player characters (NPCs) which can include hostile monsters, villagers, your employers, etc, and deciding what rules apply to a given situation.

Anatomy of a character

Your character is basically a combination of class (fighter, wizard, druid etc - think of this as your profession), race (human, elf, dwarf) and various ability scores (strength, intelligence, wisdom, etc). Different classes benefit from emphasis on different abilities. Wizards need high intelligence (which gives them more effective spells), where fighters need high strength (so they do more damage with melee weapons).

Briefly, this is what a high ability score does for your character:

STRENGTH: adds to the damage you do when you hit with any weapon, feats of strength
DEXTERITY: makes you more likely to hit, avoid damage and perform acrobatics
CONSTITUTION: makes you tougher by increasing your hit points
INTELLIGENCE: benefits spell-casting for wizards, etc
WISDOM: benefits spell-casting for clerics, etc
CHARISMA: benefits spell-casting for bards, etc, adds to persuasion abilities

There are many great online tools for creating your character. Here is one that is particularly easy to use: https://www.dndbeyond.com/characters/builder

Your DM may give you guidance on how you should create your character, but when in doubt accept the defaults.

There are different methods for calculating your character's Ability Scores (if your DM allows it, the Point Buy method gives you the most control). Each score translates into a modifier. A strength of 8 gives you a -1 modifier on strength related activities (damage when clobbering your foe, for example), where a strength of 18 gives you +4 modifier on strength.

Your level reflects how seasoned your character is. You typically start at level 1 (unless your DM tells you to roll higher level characters), and go up as you have adventures and gain experience points. Going up a level increases your ability to take damage, gives you more spell casting ability, unlocks special class abilities, etc.

Game mechanics

During the course of the game, you will either be in combat or not. When you're not in combat, you can walk around, talk to NPCs or other players, interact with your environment etc.

When the DM says "roll for initiative" that's usually (but not always) a sign that combat is imminent. So each player should roll a d20 (that is, a 20 sided die), add their character's initiative modifier and tell the DM. The DM will likely roll initiative for some foul slimy thing as well. The player/beastie with the highest initiative has the first turn, then the next highest and so on until everyone has had a turn, and then it starts over again at the character who had the highest initiative.

If you need it, here's a simple online dice roller you can use: D&D Dice Roller

When it's your turn during combat, you can move, take an action and in some cases take a bonus action (depending on your class etc). A turn lasts about six seconds in game time. During your turn you can move before and/or after you take an action, as long as your total movement during your turn is less than or equal to your character's movement speed. An exception is if you take the Dash action, which allows you to essentially double your speed instead of taking another action such as attacking, casting a spell etc.

The complete list of actions you can do is this 5e Actions. The most common ones you're likely to use are Attack, Cast a spell or Hide.

If at any point during a character's turn they are within a foe's melee weapon range and leaves it, this gives their foe an opportunity to attack them immediately. For example, If you try to run past an orc on your turn and pass within five feet of it, it gets a free attack at you with its Greataxe (reach 5 feet) immediately - and will still get to attack on its upcoming turn. To prevent this "opportunity attack" you could use Disengage as your turn's action.

Hit points, armor class and damage

Your character has maximum and current hit points (HP). Hit points represent the amount of damage you can take before you fall unconscious (at 0 HP or less) and possibly die. Your current HP represents the health you have remaining, and it can never exceed your maximum. Your maximum will increase as you go up in levels.

Conceptually, a character with 100HP cannot really take ten times the damage that it would take to kill a character with 10HP, but it indicates that they are ten times better at taking blows without injury.

Your armor class (AC) is a number that describes how hard you are to hit. It's a composite of your dexterity, the armor you are wearing, and other factors.

When one character (player, monster, etc) attacks another with a weapon, the attacking player rolls a d20 and then adds their bonus to hit. The DM compares the result against the defender's AC. If it's a tie or better, the attack succeeds and the defender takes damage as described by the character sheet.

For example, let's say the following character uses a crossbow against a hapless orc. Their character sheet will list both the bonus to hit and the damage it wold inflict.



They have +5 to hit with the crossbow, so when they roll their d20 and get a 10, they will tell the DM "I got a 15".

The DM looks up the armor class of the orc and sees that it's 13, so tells the player "that hits, roll for damage." The cross bow does 1d8+3 damage, so they would roll a d8 (an eight sided die) and add 3.

If the player then rolled a 2, they would say "5 damage" and the DM would subtract 5 from the orc's current HP. If the orc had 4 HP left before the bolt hit, it would fall (and typically dead, but you could try to resuscitate it if you wanted to get information out of it).

Critical hits / critical fails

If you roll a natural 20 (that is, before you add any modifiers) when attacking, you've scored a critical hit. This means that your blow landed no matter what your foe's armor class is. Additionally, you score extra damage. Whatever dice you would roll to calculate damage for that attack, roll them twice and then add the bonus.

In the case of the crossbow attack above, if the player rolls a 20 they would say "critical hit" and then instead of rolling one eight sided die and adding three (1d+3), they would roll two eight sided dice and add three (2d8+3).

If you roll a natural 1, you automatically fail.

There are other cases when you might roll a d20, say if you're trying to use your Persuasion skill or your Acrobatics skill. Generally a 20 means success and a 1 means failure, but the DM needs to interpret this within reason. If a charming bard tries to use Persuasion to convince a king to give up his crown, a 20 might just result in the king laughing instead of having the guards take the bard to the torture chamber.

Spellcasting

Some characters can cast spells as an action. Every spell has its own requirements and effects. Your spellcasting character will have a certain number of spell slots (increasing as your level increases) which they can use. Once all your spell slots are used, you will need to take a long rest to restore them.

Cantrips are lower powered spells which do not use spell slots.

Here's an example of spellcasting using the following first level spell:



Example: the druid Ashoron Tree Bender spies five orcs stripping the bark off trees in a sacred grove. Filled with rage, he casts the Faerie Fire spell on them in preparation for an attack.

His character sheet lists a few specific details about that spell:



The last column indicates that the spell creates a 20 foot cube with the center up to 60 ft away. DEX 11 means that any one in the cube must make a dexterity saving throw by rolling a d20 and adding their dexterity bonus. If the result is less than 11, they will be affected by this spell. See the spell's description for details.

In this example, the DM rolls a DC (dexterity check) saving throw for each orc, adding their dexterity bonus (+1). To avoid the effects of the spell, they need an 11 or better. Let's say the DM rolled 10, 5, 15, 3, 9 for the orcs. For the next minute (10 turns) the second, fourth and fifth orc would be glowing - and anyone attacking a glowing orc would get to attack with advantage - that is, any character attacking a glowing orc would roll two d20s and take the better of the two numbers before adding their bonus to hit.

Recovering hit points

After the orcs have beaten up you and taken your lunch money, you may need to recover some hit points before tracking them down and getting vengeance. Here's a few ways you can recover hit points up to your maximum:

  • A healing spell, cast by you or someone else, can restore HP
  • A healing potion will do the same. You must be conscious (above 0 HP) to drink it
  • Some classes have abilities that restore HP, for example, fighters have Second Wind
  • A long or short rest can restore HP. See the rules here.

Tuesday, October 30, 2018

And here I am doing standup, trying out an Adolph Hitler joke. I think I need to commit to it more. Next time...

Monday, December 4, 2017

Dear Libertarian: the ultra-wealthy are paying a lot of taxes, but NOT their share

Warren Buffett openly and famously admits to paying a lower rate than his secretary. When Mitt Romney released his taxes (the last Republican presidential nominee to do so!), he released a single year that showed him paying a whopping 12%. And that was without taking all the deductions he was entitled to in that year. Yes, Mitt Romney lied on his taxes in order to pay more (and then presumably, re-filed after the election).

Unfortunately, every single damn time we start to talk about the fairness of the current tax system that has allowed economic inequality to flourish like this...




...someone then points out the enormous amount of dollars that the wealthy are paying in taxes with a graph like this:




Wow, the 1% are paying so much in taxes! Give them tax breaks stat!

Yes, it is true that the top 1% pay a lot of taxes. But what does this indicate? Does it mean they are taxed excessively, or does it mean they are making a larger and larger share of income? See the first graph for the answer.

I was asked recently a series of questions which I will paraphrase this way:

“why do you care that many extremely wealthy people pay a lower true tax rate than you do, and why do you think we should raise their taxes given that they that they already pay a lot in actual dollars?”

I was tempted to mention "fairness" in my answer, but I realized how subjective this is ("is it fair that people pay for public schools they don't use?" etc) and so decided to step over this rat hole.

Here’s what I care about: my welfare, my family’s welfare, my community’s welfare, my state’s welfare, my country’s welfare, my planet’s welfare. Beyond the Earth’s atmosphere, my empathy drops sharply.

I view economic inequality to be a major threat to all of the above.

This isn’t simply a case of sour grapes. Here’s how concentrated wealth in the hands of others has hurt me and my family. When we were looking to buy a house, we decided on a small mostly rural community. It was a 90 minute bus ride each way to work, but the public schools were excellent and it was relatively affordable. Our real estate agent told us that the first bid we put on a house (over asking price) was beat by THIRTEEN all-cash offers.

I found out later that money was pouring into our community from East Coast hedge funds who were buying up houses, doing cosmetic work, and flipping them for more money. The result is that we are impoverished, as well other people in my community.

I’m lucky. I’m just barely in the top 5%. That three bedroom ranch we paid over half a million for has already appreciated $200K. But do you see the trend here? Do you see how it’s getting harder and harder for each successive generation to make ends meet? And if it’s this hard for me, a five-percenter, how are the 95% making it?

How come those hedge funds had so much cash? Well, if you remember what happened in 2008, banks made “bad bets” which failed and at the end of the day a lot of home owners lost but banks and financial institutions mysteriously were booming. No one went to jail either. And there’s a lot of evidence that this was all planned (see The Magnetar Trade: How One Hedge Fund Helped Keep the Bubble Going). And it sure looks to me like the dominos are being set up again.

When even try to discuss tax fairness as a way to solve economic inequality, we immediately run into this same brick wall: the argument that the very rich already pay a HUGE dollar amount in taxes. Okay, it’s true. But I keep saying it’s a completely meaningless non sequitur, because it doesn’t indicate if they are taxed unfairly or if they simply control an absurd amount of wealth. Bringing this up seems to imply that the very wealthy are taxed too much, and we should lower their taxes. But then they’ll control even more wealth. We are heading towards feudalism with this model.

Dangers of extreme wealth concentration include erosion of democracy. The Koch brothers, for example, said they wouldn’t give to GOP candidate unless they “reformed” the tax code and health bill to their liking. It’s their right, under our corrupt system of government, that is. But they wouldn’t have that much power without the concentrated wealth.

Extreme wealth concentration has a lot to do with specific policies that were designed to concentrate wealth, written by and for the people who benefit from them most. I would support policies to reverse that trend. You could call it a wealth tax - I'd support it.

Finally, I believe that the ultra-wealthy are not only taxed too little, they receive all kinds of benefits that aren’t obvious unless you’re paying close attention. For example, tax payers finance zero-interest loans to multinational corporations (which is essentially handing them money). The thing is, I don’t have a big share in any multinational corporations. So I pay for that, and I don’t get the benefit that a large stakeholder would.

The 2008 crash was so profitable and risk-free that of course it will happen again in a modified form. Bitcoin will likely be involved. No, you probably won't figure out how to profit from it unless you're in the club. And you wouldn't have read this far if you were.

To the rest of you: thanks for reading.

Friday, February 17, 2017

Update on the toxic asset in the White House

How Donald Trump became Deutsche Bank's biggest headache

There's not too much I can add to this article, but it does confirm my thesis that:
  • Donald Trump is deeply in debt
  • His creditors (Citigroup, Deutsche Bank, ???) are afraid he will default on his debts
  • They have kept him afloat, and supported him including in his bid for the presidency, primarily so he will make good on his debts.
Some of the profit is indirect. Trump may never actually pay back his debts directly (this article discusses how Trump not only refused to pay the $330m he owed to Deutsche Bank, but counter-sued them for their role in the financial collapse), but the deals he might ink with Russia could be worth even more than what he owes.

This is an extremely dangerous game being played out.

Monday, February 13, 2017

Our president, the toxic asset

Once upon the time, there was a man who was really, really good at losing money. He was so good at losing money that his casino – a business that is mathematically guaranteed to turn a profit – was in serious financial trouble.
The banks were afraid he would go bankrupt, and then they'd lose all the money they'd lent him. But despite being deeply in debt, he was practically a synonym for wealth and prestige. When a rich, famous guy was needed in a film (Zoolander, Home Alone, etc) he'd be invited to cameo. Perhaps most rich people would turn that down, but he didn't. His brand and name were valuable, to him and to the banks..
In order to prevent him from declaring bankruptcy, the banks lent him even more money, but with some strict conditions - one being that he would limit his personal spending to $450,000 per month. This was more more than the salary of the bank's CEO who made the loan, but it was less than this man usually spent each month. Obviously, this would have been a fortune for ordinary people, but for this man it meant a serious tightening of the belt.
The banks reasoned that by keeping this man's empire afloat, he could trade on his "good" name, and they'd end up making more money than if they simply allowed him to go bankrupt and seized his assets.
To sum up, the banks made a series of bad bets on this man. Rather than take the loss, they doubled down. Even though his empire was failing, if they kept up the pretense that he was rich and successful they could squeeze more dollars out of him.
When someone owes you money and can't pay you back, you have what is known as a "toxic asset" on your hands. That phrase came into its own after these banks started issuing subprime mortgages to anyone with a pulse, regardless of their ability to pay back the loan. Again, rather than take the loss on loans in default, banks doubled down and resold them as AAA rated securities. With a little gold paint, a toxic asset can look very shiny.
The subprime mortgage-backed security Ponzi scheme imploded the day buyers stopped buying the toxic assets, and the pretense of AAA ratings quickly flaked off like so much gold paint. But the toxic asset currently in the White House is still riding high. Sixty three million people just bought his stock. But I have to wonder, when did the arrangement between the banks and this man stop? Is he still trading on his name to pay back his creditors? Is that why he uses the office of the presidency to promote his daughter's clothing line? Is that why he is sitting in that chair in the first place?
This is why we need to see his tax returns. We need to know who his creditors are, because he is their asset, not ours.

Source: The Trump Files: Donald Gets An Allowance

(shout out to my lovely wife Rachael for her research that contributed to this post)

Saturday, February 11, 2017

Scott Adams and Hitler, an open letter

Dear Mr. Adams,

I'm a slightly dorky male software engineer in my late forties, so obviously I used to follow Dilbert. Not only did I speckle my conversation with references to various Dilbert strips, I also bought many Dilbert books as well (you're welcome). You will find several of your books acting as mediums for mold colonies in my garage at this very moment.

Dilbert was a dorky engineer who may have been a loser in many ways, but was heroic in that he stood for truth. Like me! As a kid, I couldn't figure out how to avoid getting beat up, play sports or to talk to girls, but I came up at the birth of the PC era and knew I was going to be a software engineer from an early age. Your code compiled or it didn't. This all made a lot more sense to me than what made a pair of sneakers cool or not.

In the corporate cesspool of lies and puffery, Dilbert and his fellow engineers were the voice of reason. Of sanity. Of truth, even when inconvenient ("all of our friendly beta testers were killed by Project Dewdrop").

Given all that, it was a shock to me to discover that you, Scott Adams, apparently always considered the pointy-haired boss to be the true protagonist. That's the only conclusion that I can draw from your support of Trump, because to me he is the ultimate pointy-haired boss - vain, self-important, stupid and completely hostile to the the truth. When Trump claims that the murder rate is at a 47 year high (to support his lock 'em all up position), or that three to five million people voted illegally against him (to support his voter suppression initiative), this is squarely pointy-haired boss territory.

There's a lot more I can say about Trump as the pointy haired boss, and about the rise of the narcissistic psychopathic bully, but this blog post isn't about him. It's about you.

You attempted to address fears about Trump by saying this: "If Trump gets elected, and he does anything that looks even slightly Hitler-ish in office, I will join the resistance movement and help kill him."

To which my reaction was "ha fucking ha." It was an insult to people like me with genuine fears about a rising demagogue who couldn't quite distance himself from the KKK, who called Mexicans rapists (apart from the some, he assumed, who were good people) and who wanted a Muslim ban on people entering this country (excepting, as it turned out, from countries he did business in). We shouldn't be afraid, because you, a cartoonist who hasn't learned the basics of shading, were promising to throw yourself into the resistance movement.

Let's say that Trump is a totalitarian maniac. How exactly are you going to "help kill him"?

I'm reminded of one of your books, entitled "Shave the Whales". It was the premise of one of your strips, in which Dilbert ponders that "whales are mammals, mammals have hair - shave the whales." Honestly, this was one of your least funny strips in my opinion, but that's not why I bring it up. I bring it up because it gives me some insight into how your mind works.

First, you think it's funny to poke fun at people with genuine concerns - say, about the extinction of the whales. To me, this is a poor topic for comedy, given that we are in fact in the middle of the Sixth Extinction and whales are still fairly threatened despite conservation efforts (that were brought about by the people you mocked).

But it also seems to show your love for word play above all. And this brings me to your recent post, in which you wrote "I've decided to side with the Jewish gay immigrant who has an African-American boyfriend" over the protestors.

Oh, the irony of those Berkeley protestors trying to keep the Jewish gay immigrant with the African-American boyfriend from speaking! What is wrong with Berkeley and liberals?

Yeah, sure. If we want to be incredibly superficial and sophomoric about it, it does look bad for Berkeley. That guy being protested against sure looks like an oppressed minority. But let's go just a little bit deeper, shall we? Out of respect for the University of Berkeley, which is supposed to be respected institute of learning after all.

  • This Jewish gay immigrant with the African-American boyfriend (who I will call "M") once said "I don’t like Planned Parenthood. They kill all those black babies. In 20 years, they could be my harem."
  • "M" has praised Richard Spencer, who at best is a white nationalist, and who once published an article advocating for the genocide of black people.
  • "M" apparently rallied and directed hundreds of anonymous Twitter commenters to hurl racist and sexist remarks at Leslie Jones, I suppose for being black but not having a penis.
  • "M" employs online strategies that can best be described as cyber-bulling. For example, he says that "if someone calls you an anti-Semite, you go to their page and put up swastikas"
  • "M" claims that "We live in a post-fact era. It’s wonderful." I'm sorry, should Berkeley be promoting a "post-fact era"? Isn't that exactly the opposite of what they should be doing?
About black people. Yeah, he apparently likes black dick, but he certainly doesn't seem to respect black people as human beings. He's all very jokey about it. Is he serious about the swastikas, or is it a joke?

Frankly, I don't give a damn. White Nationalism is in fact on the rise, and it is being abetted by Donald Trump and Steve Bannon. This from Reuters.
The program, "Countering Violent Extremism," or CVE, would be changed to "Countering Islamic Extremism" or "Countering Radical Islamic Extremism," the sources said, and would no longer target groups such as white supremacists who have also carried out bombings and shootings in the United States"
The "hah hah, you took my swastikas seriously" bit isn't funny and it isn't okay. You cannot burn a cross on a someone's lawn ironically. Do you understand that? And if you declare that you are siding with a proponent of racist, sexist, antisemitic attacks because  he's a "Jewish gay immigrant who has an African-American boyfriend", you are letting words and labels cloud your judgment. People are afraid of this shit, and their fears are rational.

You talk about the American system of checks and balances as to why Trump could never be Hitler. Those checks and balances didn't stop the Japanese internment camps, did they? Those exact same camps are currently being cited as precedent for what Trump/Bannon want to do to Muslims. And you know, Trump has (by the hand of Barack Obama, and possibly the worst thing he did) the power to detain people indefinitely without trial under the NDAA. It seems completely unconstitutional to me, but it is law and I don't trust that Trump won't abuse it. You're a rich white man, so yeah, the system will protect you. It's designed to. But don't tell other people they have the same protections, because they do not.


Stop telling people they are hysterical. We're not. You're just being incredibly superficial, overly literal and dismissive to people with more insight into the situation than you seem to have.


No, I don't support you getting beaten up. But stop defending Nazis already.


Good luck getting your head out of your ass,

a former fan