Month: September 2017

Spent Grain Banana Bread Muffins

We brewed ten gallons using a partial mash technique. Five pounds of spent grains! Four pounds of two-row malted barley and one pound of Gambrinus honey malt. This means a lot of baking. Today, I came up with a spent grain banana bread muffin recipe.

Ingredients

6 Tbsp butter, melted
4 over-ripe bananas
1/3 cup honey
1/3 cup blackstrap molasses
1 egg
1 1/2 tsp vanilla extract
1 tsp baking soda
1/2 tsp salt
1 tsp cinnamon
1/2 tsp fresh ground nutmeg
1/8 tsp cloves
1 cup spent grains
1 1/3 cups whole wheat flour

Method

Preheat oven to 350 degrees Fahrenheit. Melt the butter and mash the bananas into the butter. Stir in the honey and molasses. Mix in the egg and vanilla extract.

Sprinkle spices over the mixture and mix. Stir in spent grains. Sprinkle baking soda over mixture.

Gently fold in the flour. Fill muffin tins about 2/3 with batter. Bake for about 30 minutes, until knife inserted into center of the largest muffin comes out without raw batter.

Spent Grain Flour

We have five pounds of spent grains. I’ve used them before as add-ins when baking – essentially take a recipe and substitute some of the spent grains for flour in a recipe. I want to try making some spent grain flour — spread the grains out over a baking tray (or three) and let it sit in the oven for five or six hours at 170 degrees until it’s dried out. Then run it through a food processor or grain mill until it is powdered. Voila, fiber rich flour with a unique flavour depending on the specific grains used in the beer recipe.

On Protesting

Sigh. Robert Jeffress, a pastor who is one of Trump’s unofficial liaisons from the religious community, was on “Fox and Friends”. There’s no reason to think that would go well, but I this is a new level of ignorant. He said, “I think what these players are doing is absolutely wrong. These players ought to be thanking God that they live in a country where they’re not only free to earn millions of dollars every year, but they’re also free from the worry of being shot in the head for taking a knee like they would be if they were in North Korea.”

Dear Trump et al, They *are* thanking god they haven’t been shot in the head. They are also protesting in the hope that maybe, one day, other people who share a similar pheomelanin:eumelanin ratio, size of melanin particles, and count of melanin particles might not have to consider *NOT BEING SHOT IN THE HEAD* something worth rejoicing but instead believe it is the normal state of affairs in the same way you, super white dude, go through life.

Maybe next time you want to frame this as a “you don’t realize how great the country is” … you might not want to pick an example that is exactly the problem. Say they’re free from the worry of being locked up for taking a knee like they would be in N Korea. Might move the discussion down the path of disproportionate prosecution, but I doubt it.

PPM Via Windows Authenticated Proxy

The office proxy used to use BASIC authentication. Which was terrible: transmission was done over clear text. Some years ago, they implemented a new proxy server that was capable of using Kerberos tickets for authentication (actually the old one could have done it too – I’ve set up the Kerberos realm on another implementation of the same product, but it wasn’t a straight forward clickity-click and you’re done). Awesome move, but it did break everything that used the HTTP_PROXY environment variable with creds included (yeah, I have a no-rights account with proxy access and put that in clear text all over the place). I just stopped using wget and curl to download files. I’d pull them to my Windows box, then scp them to the right place. But every once in a while I need a new perl module that’s available from ActiveState’s PPM. I’d have to fetch the tgz file and install it manually.

Until today — I was configuring a new Fiddler installation. Brilliant program – it’s just a web proxy that you can use for debugging purposes, but it can insert itself into HTTPS communications and provide clear text rendering of encrypted sessions too. It also proxies proxy credentials! There’s a config to allow remote hosts to connect – it’s normally bound to 127.0.0.1:8888, but it can bind to 0.0.0.0:8888 as well. If you have your web browser open & visit a site through the proxy server (i.e. you make sure the browser is authenticating fine) … set your HTTP_PROXY to http://127.0.0.1:8888 (or whatever means the specific program uses to configure a proxy). Voila, PPM hits Fiddler. Fiddler relays the request out to the proxy using the Kerberos token on your desktop. Package installs. Lot of overhead just to avoid unzipping a file … but if you are installing a package with a dozen dependencies … well, it’s a lot quicker than failing your install a dozen times and getting the next prereq!

The Straw Man Argument

The players taking a knee during the anthem are protesting racial injustice in this country. They are protesting the fact that one’s skin tone is the difference between believing a police officer is going to save you and believing a police officer is going to literally kill you. How military personnel treat people in an occupied country is a salient discussion (see: Iraq) not only as an academic appeal to human decency but as a pragmatic approach to reducing risk to military personnel. How police treat people, yeah even people committing crimes, is similarly not just an appeal to decency. An officer engaging a citizen who fears for his life … this is an infinite loop like the arms race. Cop needs to be more aggressive to prevent violence from citizen. Citizen needs to be more aggressive in resistance to officer. And no one wins. Racial relations in general are a difficult discussion, and how to ensure reasonable treatment in situations with inequitable power distribution is exponentially more difficult. Protesters are saying there’s a problem in the country that needs to be addressed.

And we all know how Trump feels about difficult ‘stuff’ – avoid, deflect, avoid some more. Some people are partaking in peaceful protest at their workplace — that’s employment law and barely free speech. There’s a good bit of case law behind companies being allowed to prohibit free speech of employees (i.e. if I reflect poorly on my company, they can fire me). Sorry, but free speech does not ensure freedom from consequences. The government won’t stop you from marching in a Neo-Nazi rally … but your employer may fire you. Your neighbors may never speak to you again.

The president of the United States (a.k.a. ‘the government’) advocates private employers fire individuals over expressions that the company did not deem worthy of reprimand … this comes really close to actually infringing on an individual’s First Amendment rights where no such infraction previously existed.

It is a nationwide straw man debate, and now other sports players are using the same protest as a symbol of their support for first amendment rights. Glad people support the first amendment (especially when you see surveys where they ask if people support actual content of the bill of rights and not just “the third amendment” – hint: the bill of rights doesn’t poll well in details). But the discussion that was being sought – how to ensure police officers are adequately trained and incentivized to diffuse dangerous situations – has become obscured.

Information Overload

Again, I hear something in one of Trump’s rambles that I think is going to get lost in the rest of the rambling. He’s speaking at a rally for some mainstream Republican dude in Alabama who he evidently endorsed. Some significant portion of people at the rally boo the dude (some interviewees literally had no clue who the dude was, they were there to see Trump … which is a lot like a memorable advertising campaign where no one remembers the product). And somewhere in the middle of Trump’s thoughts about how [minorities? professional sports players? people who disagree with Trump?] should be fired for non-violent and fairly non-disruptive protests and using the same insult toward the leader of North Korea, there’s Trump’s musing on his support for the mainstream candidate at whose rally he was speaking: “And I might have made a mistake. And I’ll be honest, I might have made a mistake.”

Umm … I’m here to talk you into voting for this guy, but maybe you shouldn’t vote for him. But, hey, I’m here so heap praise on me.

And his musing on their close relationship: “I don’t know him. I met him once”. Which, yeah, since he said the same thing about Putin may indicate a deeper relationship. But I’m more included to believe he’s supporting some dude he literally met once, knows nothing about, and worse knows nothing about the guy’s beliefs. Essentially how he supports health care bills too — I didn’t read it, I have no idea what it does. But by all things holy, they need to pass it and I’m signing the thing.

Also of note – Trump could have been at home, spending the night getting ready to watch some games tomorrow. (1) He also could have been at home working on initiatives, spending time with family, or reading through his curated folder of articles fawning over him. But (2) how the hell much work is it to watch a few games? Back when Bush was constantly down in Texas clearing brush, I wondered how quickly the stuff grew … but I can at least concede that, provided brush is there, it is a time consuming task to remove it. Seriously, it isn’t like Trump has to prep snacks for the game. Clean the house. Fluff the cushions. Make a beer run. Back before we had a PVR scheduled to record the game, “prep” meant checking the TV listing to get the time and channel. Turning on the TV. Umm, keeping eyes open and in the general direction of the screen? Now that we’ve got a PVR, it’s just turning on the TV & connecting to the stream. No wonder Trump is constantly amazed at how difficult thorny political issues turn out to be — the man needs twelve hours to prepare to sit on his ass, have someone bring him food and drink, and stare at a TV. And let’s be honest, his whole life is preparation for staring at a TV.

My Area Of Expertise

Jimmy Kimmel had an interesting comment about his input into the healthcare debate:

“I never imagined I would get involved in something like this, this is not my area of expertise. My area of expertise is eating pizza, and that’s really about it. But we can’t let them do this to our children, our senior citizens, and our veterans, or to any of us.”

But let’s be honest here, there aren’t a lot of people whose area of expertise is the impact of public policy on health care. Kimmel does, however, have expertise in being a health care consumer dealing with a condition where there is no such thing as a rational actor: a parent trying to save their new baby.

Maybe Cassidy will claim he didn’t outright lie, as Kimmel asserts. But saying you have crafted a compassionate health care policy because a parent won’t have to watch their kid die for want of a life-saving surgery is disingenuous. Essentially any health care plan passes “the Kimmel test” unless it repeals the Emergency Medical and Treatment Labor Act (I believe the act scopes the ‘provide emergency care to anyone without considering ability to pay’ bit to facilities that accept Medicare, as it is the acceptance of Medicare funds that places the facility under federal purview … so the parent may need to go do a specific hospital, but they can find one). The hospital has to perform a medical screening, and they are not permitted to discharge the patient without stabilization (or the patient opting out of treatment, or if they are transferring to another facility better equipped to deal with the issue …. but I assume the accepting hospital assumes the same legal burden so the two end points are the condition is stabilized or the patient opts out of treatment.)

It’s an inefficient structure. My sister had a kidney stone. She could go into the hospital a few times a month in extreme pain, take up a doctor’s time, get doped up on some pain killer (which takes up even more of the doctor’s time because there are people who surf hospitals looking for Oxi), be handed a prescription she had no way of filling, and be on her way. Now if the stone ruptured something, surgical intervention may have been required to stabilize her ailment. But it didn’t, so they didn’t have to perform surgery to remove the kidney stone because the condition was stabilized by eliminating pain. It would have been cheaper to just remove the thing, but she couldn’t pay for that service.

Another facet of the long-standing federal law is that the hospital is not prevented from billing you for their services. If her kidney had ruptured and emergency surgery been required, she’d have been billed tens of thousands of dollars. If you don’t have anything to take, there’s a lien that sits on the record it expires. Or you have some assets and need to file bankruptcy to protect your car/home and clear the medical bills.

It’s not enough to say our health care system put a parent in the position of being unable to afford saving their kids life – it’s been that way since 1986. Our health care system shouldn’t make the parent bring their kid in every week to be stabilized until the situation becomes so dire that the underlying condition cannot be stabilized and actually needs to be resolved. Our health care system shouldn’t make a parent file bankruptcy to save their house and car from being liquidated to cover the lien from that hospital bill.

Baseball T-Shirt: Completed

I finished Anya’s baseball t-shirt!

I sketched a quick heart in Photoshop, and drew in two lines of baseball-style stitching. The image was printed on Transfer EZE ‘paper’ using our laser printer (which answered the question: can you laser print on this stuff?). I then took a little scrap of quilt batting and laid it on the shirt. Placed a scrap of white satin on top, then stuck the Transfer Eze print onto the satin. It adhered quite well to satin – was a little concerned!

Put it in a hoop and embroidered the red stitching to hold the whole thing in place. I then trimmed the satin about a quarter inch outside of the heart’s lines; the batting was trimmed to be about a quarter inch smaller than the satin. Finishing the project was just needle turn appliqueing the heart to the shirt (using what amounts to a really short satin stitch).

The quilt batting really enhances the stitch definition for the red lines, and it makes the whole design puff out a bit from the shirt.

PHP: Windows Authentication to MS SQL Database

I’ve encountered several people now how have followed “the directions” to allow their IIS-hosted PHP code to authenticate to a MS SQL server using Windows authentication … only to get an error indicating some unexpected ID is unable to log into the SQL server.

Create your application pool and add an identity. Turn off fastcgi.impersonate in your php.ini file. Create web site, use custom application pool … FAIL.

C:\Users\administrator.RUSHWORTH<%windir%\system32\inetsrv\appcmd.exe list config "Exchange Back End" /section:anonymousAuthentication
<system.webServer>
  <security>
    <authentication>
      <anonymousAuthentication enabled="true" userName="IUSR" />
    </authentication>
  </security>
</system.webServer>

The web site still doesn’t pick up the user from the application pool. Click on Anonymous Authentication, then click “Edit” over in the actions pane. Change it to use the application pool identity here too (why wouldn’t it automatically do so when an identity is provided?? no idea!).

C:\Users\administrator.RUSHWORTH<%windir%\system32\inetsrv\appcmd.exe list config "Exchange Back End" /section:anonymousAuthentication
<system.webServer>
  <security>
    <authentication>
      <anonymousAuthentication enabled="true" userName="" />
    </authentication>
  </security>
</system.webServer>

I’ve always seen the null string in userName, although I’ve read that the element may be omitted entirely. Once the site is actually using the pool identity, PHP can authenticate to SQL accounts using Windows authentication.