Pastitsio

A few weeks ago, we watched an episode of Test Kitchen on PBS where they made Greek lasagna — pastitsio. It looked really good (and the idea of adding cinnamon to the sauce intrigued me). I finally got around to making it today — very tasty, although I’d prefer if the top had been less browned.

Ingredients

  • 3 lbs ground beef

  • 1 large onion, chopped

  • 12 oz tomato paste

  • 1 Tbsp ground cinnamon

  • 32 oz tube noodles — the authentic version of this recipe would use long ones

  • 1/2 lb asiago (grated)

  • 1/2 lb parmesan (grated)

  • 4 eggs

  • 8 Tbsp butter

  • 1 cup flour

  • 5 1/2 cups whole milk

Method

  • Brown the ground beef in a large pan
  • Add chopped onion and sprinkle with salt. Cook until onions begin to turn translucent.
  • Add cinnamon and stir to incorporate.
  • Add tomato paste and stir to incorporate. Add 1/2 water to thin a bit, then simmer for three hours.
  • Place meat sauce into glass storage container and refrigerate overnight.
  • When ready to prepare lasagna, remove meat sauce from refrigerator and allow to warm up (or microwave for a minute or two).
  • Preheat oven to 350 F
  • Boil noodles according to package directions.
  • Melt butter in a large pan. Add flour to make a light roux, then add milk to make a béchamel sauce.
  • Crack three eggs in a medium bowl and temper with béchamel — then incorporate egg mixture into béchamel sauce. Cook over medium heat until sauce thickens.
  • Toss noodles with one egg and layer in bottom of a large baking dish.
  • Sprinkle 1/3 of cheese on top of the noodles.
  • Spread the meat sauce over the noodles, then sprinkle 1/3 of cheese on top of meat sauce.
  • Spread béchamel sauce over the dish, then sprinkle with remaining 1/3 of cheese.
  • Bake for one hour.

Building a Docker Image Without Internet Access (kinda)

We’ve been moving a bunch of servers into magic cloudy land. A move which comes with a whole lot of additional security restrictions (and accompanying marketing that the cloud is so much more secure … uhh, no … any host to which you used a keylogged jump server to access & it had absolutely no access to the internal or external network without a specific request and firewall rule would be equally secure. You just haven’t bothered with all of those controls before!). As such, we cannot just pull an image from Docker Hub. We also cannot just use apt-get to install/update packages.

So … how can you build a Docker image with updated software for use on these locked down boxes? Bit of a trick question — you cannot. You can, however, build such an image elsewhere and then export/import the image.

Build the image using your Dockerfile

docker build -t my_app_base .

Then export the image you created

docker save my_api_base | gzip > myapp_image.tar.gz

Download the TGZ file and transfer it to your restricted-access host. Then import the image

docker load < myapp_image.tar.gz

Verify the image loaded successfully

[user@server ~]$ docker images
REPOSITORY              TAG         IMAGE ID      CREATED            SIZE
localhost/my_app_base  latest      5z8e35z99d5z  19 minutes ago     995 MB
<none>                  <none>     5zdbcfz6393z  About an hour ago  1.01 GB

Now use docker run with your my_app_base:latest image to create a running container based on the image.

Trail Mix

Trail Mix

Recipe by LisaCourse: SnacksDifficulty: Easy

Ingredients

  • 3 lbs whole almonds

  • 27 oz walnuts halves and pieces

  • 13 oz cashews

  • 8 oz hazelnuts

  • 8 oz Brazil nuts

  • 2 lbs pecans – halves and pieces

  • 10 oz bittersweet chocolate chips

  • 12 oz raisins

Method

  • Mix all of the nuts together in a large bowl
  • Take half of the nut mixture and put aside for later. Combine raisins with remaining nuts.

We found a ton of different nuts at Costco — almonds for $3.33 a pound, pecans and walnuts for about the same price. The best price I’d found for almonds was about $5 a pound, and that was at a bulk wholesale place where you had to buy something like fifteen pounds. This is a three pound bag, and the price includes shipping. Cashews, hazelnuts, and Brazil nuts were all a little more expensive, but still significantly less than what I buy them for at a bulk / wholesale place. So we made trail mix (and have plenty of nuts left over to make more trail mix throughout the year). I need to make some dehydrated bananas, apples, and cranberries to add in … but it’s tasty already!

Apache HTTPD and DER Encoded Certificate

We are in the process of updating one of the web servers at work to a newer OS – along with a newer Apache HTTPD and PHP iteration. Ran into a snag just setting up the SSL web site – we couldn’t get HTTPD started with our Venafi certificate.

[Fri Jan 28 14:35:05.092086 2022] [ssl:emerg] [pid 57739:tid 139948816931136] AH02561: Failed to configure certificate hostname.example.com:443:0, check /path/to/certs/production/server.crt

[Fri Jan 28 14:35:05.092103 2022] [ssl:emerg] [pid 57739:tid 139948816931136] SSL Library Error: error:0909006C:PEM routines:get_name:no start line (Expecting: CERTIFICATE) — Bad file contents or format – or even just a forgotten SSLCertificateKeyFile?

[Fri Jan 28 14:35:05.092115 2022] [ssl:emerg] [pid 57739:tid 139948816931136] SSL Library Error: error:140AD009:SSL routines:SSL_CTX_use_certificate_file:PEM lib

The certificate was DER encoded – that’s not what I use, but it was working on the old server.

I think there might be something between httpd-2.4.6-97 and httpd-2.4.37-43 that stopped DER encoded certificates from working. Rather than figure out some way to coerce HTTPD to use this DER file that I don’t really care if I’ve got … I just used a quick command to export the B64 version of the certificate, copied the header/footer/stuff in between, and made a base-64 encoded certificate file.

openssl x509 -inform DER -in server.crt | openssl x509 -text

And, voila, we’ve got a web server.

 

Buttermilk Almond Muffins

Ingredients:

  • 1 1/2 cups all-purpose flour
  • 3/4 cup almond meal from making almond milk
  • 1/3 cup maple syrup
  • 1 tsp baking powder
  • 1 tsp baking soda
  • 1/2 tsp salt
  • 2 eggs
  • 5 Tbsp powdered buttermilk
  • 1 1/4 cup water
  • 4 Tbsp melted butter

Method:

  1. Preheat oven to 350 F — I lined the muffin tin with silicone cups. This made removing the muffins from the tin and clean up much easier.
  2. Stir almond meal into flour and break up any clumps of almond meal.
  3. Whisk in baking powder, baking soda, salt, and powdered buttermilk.
  4. In a separate bowl, slightly beat eggs then mix in maple syrup and water.
  5. Add wet ingredients to dry ingredients and stir gently to incorporate.
  6. Drizzle in melted butter and stir to incorporate.
  7. Divide batter into muffin pan.
  8. Bake 15-20 minutes until a toothpick inserted into the center comes out clean.

The leftover pulp from making fresh almond milk was always a problem — I know you can dry it out and make almond flour, but that’s a long process. I keep trying to find a tasty use for the pulp, and I think I’ve finally figured something out. These muffins were moist, buttery, had a bit of bite from the buttermilk … and a double batch would use all of the pulp from a batch of almond milk. Muffins freeze well, too — so we can have quick breakfast/snack food stashed in the freezer.

On Five Dollar Gas

This is the third or fourth time in the last decade that I’ve been seeing news reports about “5 dollar gas” or, more generally, astronomical rise in petroleum prices. How much it costs to fill a tank, how much a gallon costs, how this impacts family budgets.

Oddly, I’ve never seen any reporting discuss ways to minimize the impact that higher gasoline prices have. Any help at all, from the trivial (make sure your tires are well inflated, drive at less congested times to avoid idling in traffic, plan excursions so you’re not making a trip “into town” for different errands three days in a row) to the expensive (buy a more fuel efficient car). There’s nothing.

This is how the free market works — something becomes expensive, you need to consider other options. Buying an electric car isn’t cheap — expensive enough that it’s not an option for some people. But driving an electric car is a way to minimize the direct impact fuel prices have on you. At an enterprise level, electric trucks can reduce the indirect impact of fuel prices.