Month: January 2018

Active Directory Federation Services (ADFS) Relying Party Trust Cert Expiry

At work, we received a critical ticket for an application that was unable to authenticate to ADFS. Nothing globally wrong – other applications are authenticating. A long call later, we discovered that the app’s certificate has expired. Why would the application not monitor their certificate expiry dates?? That’s an excellent question, but not one over which I have any control.

can monitor their certs on our side. So I wrote a quick powershell script to grab certificates from the relying party trusts and alerts us if any certs will be expiring in the next 30 days. It has to run on the ADFS server – I’d love to get it moved to the automation server in the future. I expect get-adfsrelyingpartytrust returns disabled agreements. I want to filter out disabled agreements.

Odd Anecdote

Trump included a really peculiar anecdote in tonight’s State of the Union address – a police officer encountering a pregnant illegal drug user, who hears God tell him to do it. And then garners his wife’s agreement to adopt the lady’s baby?!? Complete with video of the officer’s wife holding what I assume is the very young baby. Did this addict feel compelled to hand over her child to avoid prosecution? Was she provided addiction treatment or is she still out on the streets trying to score a hit?

I’m not sure what the point of the story was (Drug addiction is bad? That’s not news. Altruism helping others? The only one being helped here is the baby, and if the couple wanted more kids anyway … that’s hardly altruistic.), but I’m guessing there will be some journalist follow up and determine the fate of the mother and her feelings about the adoption.

Desuperheater

We got a desuperheater with our geothermal system. I was really excited for summer, expecting our electrical usage for heating water to drop dramatically. We even hooked up the Aeon Labs energy meters so we’d have numbers to show how much we were saving. Aaaand … we saved nothing. Usage actually went up between the non-HVAC period and the air conditioning season (more work outside, more getting muddy, more showers?). Super hot couple of days in early summer … nothing. I was really disappointed in the desuperheater. It wasn’t expensive or anything, but I thought it would do SOMETHING!

In mid-January, Scott replaced the sink faucet and noticed another plumbing problem. He threw the circuit breaker to the water heater to remind him to look into that other problem once the faucet was installed. A few weeks later, we heard an odd noise … I was walking around trying to isolate the source, and noticed the display on the water heater was off. Kind of worried that the odd noise was the water heater … I told him the display was off. And he remembered throwing the breaker a few weeks ago. Odd, since we’ve been doing silly things like showering in hot water and washing dishes. Haven’t noticed any hot water shortages.

Oooooh, the desuperheater was keeping the water hot. During the 50 degree days, but during the 5 degree days as well!?! When it didn’t manage to heat the water in summer?!? Turns out the desuperheater doesn’t do much if it’s cutoff if close to your water temperature set-point. We set the water heater to its lowest setting – hopefully we see reduced electrical draw. If not, I will probably get the “smart” control panel and write something to put it into vacation mode & only turn into “heat the water” mode when the temp drops significantly during a part of the day when we’re apt to want hot water (i.e. let the desuperheater do its thing if the water temp goes low at 3AM).

Looking at our power usage data, where the slope of the line is the rate of power consumption, there was a change in usage going into winter (odd, since the design is such that summer should have been the noticeable reduction). The slow becomes near horizontal now that there is a significant difference between the water heater’s set point and the desuperheater’s cutoff point.

Or a more telling chart – the red lines indicate times where the water heater was drawing power. It hasn’t cycled on for weeks even on 20 degree days.

Cheddar Cheese Biscuits

Ingredients:

  • 2 cups all-purpose flour
  • 1 tablespoon sugar
  • 1 tablespoon baking powder
  • 1/2 teaspoon sea salt
  • 1/4 teaspoon cayenne pepper
  • 1 cup buttermilk (or 1 cup milk + 1 tablespoon of vinegar)
  • 1/2 cup unsalted butter
  • 2 cloves roasted garlic
  • 1 cup shredded cheddar cheese
  • 1/2 cup diced onion greens

Method:

Preheat the oven to 450 degrees F.

Melt butter and combine with buttermilk. Mash garlic cloves and mix into milk/butter.

Combine flour, sugar, baking powder, baking soda, salt, and cayenne.

Add cheddar cheese and onion greens, stir to combine.

Add buttermilk and stir until moistened.

Use 1/4 cup measuring cup to form biscuits and place onto silicon baking sheet lined tray.

Bake for 10 minutes. Enjoy!

Reading Your Own Meter

Most power companies provide “read your own meter” instructions along with every bill. Never thought much of it until we got a really high estimated bill this month. Now our Aeon Labs energy meters give us nice digital integers (well, probably floats but still) … and that number was significantly lower than the power company’s estimate. So we read our meter.

Their dials do not move a uniform amount as they increment — is this 60,### or 59,###? Since the third digit is certainly an 8 … there’s no way it is 60,8## (otherwise the 0 would need to move almost an entire tenth of the circle by the time our 8 rolls to 0). But it seems very odd that the 9 on the second dial literally won’t move while the 8 rolls to a 0 either. Why wouldn’t each needle move constantly over the interval?!?

Motion Activated Faucets

We got motion activated faucets for the kitchens on one of Home Depot’s daily deals. I find myself trying to use my elbow to turn the valve when my hands are covered in whatever we’re cooking, and not needing to touch anything to rinse my hands would be awesome. Until it was installed, though, I never really thought about the mechanism behind the motion sensing valve. There’s still a manual handle that controls temperature and flow rate. The motion-activated valve does not have a separate control for these functions — you essentially leave your faucet turned on all the time to whatever temperature and flow rate you want. Then the motion-activated valve allows water to flow and stops water flow. Obvious, in retrospect, but not something I realized before owning one.

There is a timer that automatically shuts off water flow – but that timer is around three minutes. This seemed like a terrible idea until we accidentally discovered that activating the motion sensor a second time stops water flow. Now that I know how to turn the water off without waiting three minutes … it’s a cool feature, and one I’ll appreciate more after I make something really messy like fish and chips.

Hobbies And Parenting

I lost myself a bit when I had a kid. Reading a “for me” book was the only hobby I managed when she was a baby (i.e. without much opinion of content). I read text books, historical analysis, and crime/mystery novels out loud while I held her. But now ‘reading’ means her books, and sitting quietly to read something on my own … more stress than it’s worth.

About two years ago we got few new hires at work, and my boss sent out a quick intro for everyone. He has known me for a long time, so included a list of things that … yeah, I used to do all of those. It was, frankly, a depressing read. I decided to pick one thing I used to enjoy and start doing it again. To my surprise, the tiny person wanted to do it with me.

Well, she wants to be with me all the time so the wanting wasn’t really surprising. But she actually does my hobbies too – like pays attention when I show her what to do, respects the equipment and uses it properly, accepts there are some things she’s not old enough to use yet, and enjoys doing the projects. I was really worried the first time she wanted to make jewelry with me, and yeah she made a big mess with the beads. But she also re-sorted the beads back into their containers and was super proud of the bracelet she made. She’s got her own box of beads that is sorted her way,  and she’ll ask me if she can have some of something from one of my boxes. My beads aren’t a haphazard mess, my tools are where they belong, and she leaves the not-for-Anya tools alone.

Now she’s got a sewing machine and sews while I sew. She’s got paints and stamps and scissors — which isn’t really my thing but she’ll paint while I sew or paint en plein air while I garden. She’s getting interested in gardening beyond picking veggies, so this year she’ll be starting her own little garden. She cooks with me – although she’s not old enough to use a sharp knife or handle hot pans, she gets ingredients / chops softer things with a dinner knife / measures and mixes ingredients. And has a lot of fun “thieving” little veggie bits from the cutting board as I cook.

Hiking and biking aren’t as aerobic with a tiny person (unless you’ve got that bike that bolts onto the back of your bike and lets the kid peddle too. That thing looks awesome), but it’s more exercise than sitting at home. Running on paved trails – she doesn’t have the endurance I do, but she can do about a mile and a half at a pace that’s pushing it for me.

Hobbies might be a little different when done with a tiny person, but when someone says I have a hobby homestead, enjoy crocheting, sewing, and bicycling … I don’t feel like they’re talking about five years ago me anymore.

Git Pull Requests

I have finally run through the process of submitting a pull request to suggest changes to a Git repository. Do the normal ‘stuff’ either to make a new project or to clone an existing project to your computer. Create a new branch and check out that branch.

C:\ljr\git>git clone https://github.com/ljr55555/SampleProject

Cloning into ‘SampleProject’…

remote: Counting objects: 4, done.

remote: Compressing objects: 100% (3/3), done.

remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0

Unpacking objects: 100% (4/4), done.

C:\ljr\git>cd SampleProject

C:\ljr\git\SampleProject>git branch newEdits

C:\ljr\git\SampleProject>git checkout newEdits

Switched to branch ‘newEdits’

Make some changes and commit them to your branch

C:\ljr\git\SampleProject>git add helloworld.pl

C:\ljr\git\SampleProject>git commit -m “Added hello world script”

C:\ljr\git\SampleProject>git push origin newEdits

Counting objects: 3, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (3/3), done.

Writing objects: 100% (3/3), 408 bytes | 408.00 KiB/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To https://github.com/ljr55555/SampleProject

 * [new branch]      newEdits -> newEdits

On the GitHub site, click the “new pull request” button. Since you select the two branches within the pull request, it doesn’t seem to matter which branch’s “Pull request” tab you select.

Select the source branch and the one with your changes. Verify you can merge the branches (otherwise you’ve got a problem and need to resolve conflicts). Review the changes, then click “Create pull request”

Here’s another place for comments – comments on the pull request, not the commit comments. Click “Create pull request”.

Click “Create pull request” and you’ve got one! Now what do we do with it (i.e. if you’re the repository owner and receive a pull request). If you check the “Pull request” tab on your project, you should see one now.

Click on it to explore the changes that have been made – the “Commits” tab will have the commits, and the “Files changed” tab will show you the specific changes that have been made.

You could just comment and close the pull request (if, for instance, there was a reason you had not implemented the project that way and do not wish to incorporate the changes into your master branch). Assuming you do wish to incorporate the code, there are a couple of ways you can merge the new code into your base branch. The default is generally a good, or read the doc at https://help.github.com/articles/about-pull-request-merges/

Select the appropriate merge type and click the big green button. You have an opportunity to edit the commit message at this point, or just click “Confirm merge”

Voila, it is merged in. You can write some comment to close out the pull request.

There is a notification that the request was completed and the branch can be deleted.

And the project no longer has any open pull requests (you can remove the “is open” filter and see the request again).

And finally, someone should delete the branch. Is that the person who created the branch? Is that the person who maintains the repository? No idea! I’d delete my own, to keep things tidy … but I wouldn’t be offended if the maintainer deleted it either.

 

Parenting Books

When my girl was < 1 year, I bought a LOT of parenting books because the advertising promised me some sleep. Quickly formed a hypothesis that a large percentage of parenting book sales are completely desperate and sleep deprived moms for whom the content isn’t as important as the fact they’re trying SOMETHING. Because as a how-to guide? Absolute useless. Which makes sense since human being aren’t automatons, thus it’s pretty much impossible to predict the result of any set of inputs.

I haven’t found the toddler-themed books to be any better. “I hear that you are angry because I won’t let you go outside without a coat when it is 3 degrees” or the toddlereze version “Bean angry, don’t want coat” never once had my kid perk up and say “I’m glad you understand my frustration here. Now that you validate my point of view, sure I’ll do what you’ve asked of me”. My daughter seems to get angrier — “ok, you know I want ice cream for breakfast so why aren’t you doing it?!?”.

Choices are completely ineffective for us too. Presented two equally awesome choices (do you want to go to the zoo or the aquarium), sure she’ll pick one. Otherwise she’ll make up a third option that she does like. Or go with “C: None of the above”. Which, stepping outside of the immediate situation … props to a 3 year old kid for the thought process. But it certainly didn’t help me navigate the day.

That being said, I did like “Time-Out for Parents” (ISBN-13 978-0971030930) which didn’t so much focus on how to parent a child but asking yourself why you get stressed out over some scenarios (i.e. Why do I care if she goes without a coat when it’s 45 degrees outside? No clue, let it go and bring a jacket in case she gets cold. Why do I care when it’s 3 degrees? Health and safety, wear the coat!) and how to re-center yourself now that you’ve got massive amount of conflict in your life.

Mud Puddle

Robert Munsch’s book Mud Puddle is a really cute book, until the end. Neither Anya nor I like that she hurts the playful mud monster. So we take turns making up new endings – the mud puddle runs away, and finds an Anya. And jumps on her head. Her mom washes her off then dresses her in dingy old clothes and sends her back outside. The mud puddle jumps on her head, she jumps on the mud puddle’s head, her dog jumps on both of their heads. Then Anya picks up her dog and the mud puddle wraps himself around them both in a BIG hug.