Vegetarian Swedish “Meatballs”

(Another day, another blog post with a vegetarian recipe! Again, I’m not turning this into a food blog, but this is just something I’ve been meaning to write up for a while, and I made it last night so the timing is right.)

I was going to just put “meat” in quotes in the title, but (a) I was thinking about SEO (yes, I’ve become that person) and (b) I realized that, for this recipe, “balls” really needs to be in quotes just as much as “meat”. You’ll see why when you cook them. Let’s just say neither “meatmuffins” nor “meatpucks” really works, for obvious reasons. I seem to keep mistyping the word as “metaballs” which I actually think is quite appropriate. But, you know… SEO.

Also just a word of caution… this is definitely not vegan, and it’s not particularly “healthy”. But it’s a bit of that “hygge” everyone’s after these days (even though that’s Danish).

I’ve been eating vegetarian/pescatarian for the last 5 1/2 years, but I’ve been a Minnesotan of mixed Scandinavian descent my entire life. So, yes… I’ve been quite familiar with Swedish meatballs for a long time. Well before Minnesota finally got an IKEA store in the mid-2000s.

In fact, I’ve made the meat variety of Swedish meatballs so many times that I still have the recipe memorized, even though I haven’t tasted them since 2013. Granted, my kids are not vegetarians, so I still have to occasionally make the traditional version for them. But last year I finally cracked the code on a vegetarian version. For a while I’d just use general-purpose frozen vegetarian “meatballs” and cook them in a vaguely Swedish cream sauce. I even used “GRÖNSAKSBULLAR” from IKEA. (Why does IKEA do everything in all-caps? It’s awfully shouty for mild-mannered Swedes.) They’re not bad… but they’re not right for this dish, either.

There’s a certain chunky texture that proper Swedish meatballs need, and the processed smoothness of frozen “meatballs” — plus the lack of the correct spices — just won’t cut it. So I turned to another processed frozen meat substitute… “crumbles”.

Yes, the secret to my vegetarian Swedish “meatballs”, if I’m being precise about it, is MorningStar Farms® Grillers® Crumbles™. (I copy-pasted that from their website to make sure I got all of the trademarks right.)

That, and a muffin tin.

This mixture isn’t as firm as one with ground beef, so you can’t shape balls by hand. That’s where the muffin tin comes in, as well as the slightly odd shape of the final product. We’ll be baking these instead of browning them in a skillet as with traditional Swedish meatballs.

This recipe also involves one of my favorite skills I have acquired as a cook: making a good sauce. Whether it’s gravy, béchamel, or whatever you want to call it, the principle is the same: 4 tbsp fat, 4 tbsp flour, 4 c flavorful liquid. Cook the fat and flour together for a minute, then gradually add the liquid, stirring constantly to absorb completely and keep the consistency smooth. Once you “get it”, it’s simple and awesome. But I rarely see it described correctly.

OK, enough Minnesota small talk. Let’s get cooking!

Vegetarian Swedish “Meatballs”

Makes 4 to 6 servings.

Ingredients

For “Meatballs” (a.k.a. Metaballs)

1/2 tbsp butter
1/2 tbsp vegetable oil
1 small(-ish) onion, very finely chopped; reserve 1-2 tbsp for cream sauce
1 12-oz pkg MorningStar Farms® Grillers® Crumbles™ or similar
3 eggs, lightly beaten
3 slices stale(-ish) bread, processed to fine crumbs
1 tsp (or so) freshly grated nutmeg
1/2 tsp ground allspice
1 tsp kosher salt
1/2 tsp freshly ground black pepper

For Cream Sauce:

2 tbsp butter
2 tbsp vegetable oil
4 tbsp flour
3 c vegetable broth
1/2 c milk and 1/2 c cream
(or just 1 c milk if you’re pretending this is healthy)
pinch of nutmeg
pinch of allspice
2 tbsp ketchup
(or 1 tbsp Worcestershire sauce if ketchup sounds too weird to you)
salt and pepper to taste
minced fresh dill or dried dill weed for garnish

Preparation

Stuff you’ll need to have ready before you start:

  • a large (12-inch), high sided skillet
  • a 12-cup muffin tin, greased and floured
  • a large mixing bowl
  1. Preheat oven to 375ºF.
  2. In large skillet, melt 1/2 tbsp butter with 1/2 tbsp oil over medium heat. Add the onions (except reserve), and cook about 3 minutes until softened. Stir in entire package of crumbles, cover and set to medium-low for 3-5 minutes. You’re just trying to thaw the crumbles, not cook them! Check periodically and break up big pieces as they thaw. Remove from heat as soon as crumbles are soft.
  3. Meanwhile, in a large mixing bowl, stir breadcrumbs into beaten eggs with nutmeg, allspice, salt and pepper. When the crumbles and onions are ready, add them and stir to combine thoroughly. Leave any remaining bits in the skillet as long as they’re not burned… they’ll flavor the sauce.
  4. Prepare your muffin tin by spraying with cooking spray and then dusting with flour. Shake out excess flour into the sink.
  5. Using a large spoon, scoop the mixture equally into the 12 cups of the muffin tin. Use the back of the spoon to smooth the mixture into rounded mounds inside the cups, but don’t press them too firmly. You just want them to stay together.
  6. Place the filled muffin tin on the center rack in the preheated oven and bake for 20 minutes. Remove muffin tin from oven and let cool.

    While the muffins are baking, you can start on the cream sauce or work on anything else you need to prepare, like potatoes or vegetables. The meatballs can rest on the counter for a while if needed.


  7. In the same skillet you used for the onion/crumble mixture, you’ll start on the cream sauce. Add your reserved onions, 2 tbsp butter and 2 tbsp oil and heat over medium-high heat. When the butter has melted and onions are translucent (or slightly browned on the edges, depending on your taste preference), add the flour and pinches of nutmeg and allspice, and whisk gently until completely absorbed and smooth, about 1 minute.
  8. Turn the heat to high and gradually add the broth to the saucepan, about 2-3 tbsp at a time. Constantly whisk the mixture gently (to avoid splashing), making sure the liquid has completely absorbed before adding more. As you do this the mixture will transform in appearance from grainy clumps, to pastry dough, to mashed potatoes, and finally a creamy smoothness.
  9. When all of the broth has been added, whisk in the milk and cream. Bring to a boil, then reduce heat to medium-low and simmer. Stir frequently to avoid sticking or burning on the bottom of the pan. Adjust heat if needed to keep a gentle simmer.
  10. After sauce has thickened slightly, add ketchup (or Worcestershire sauce) and whisk to mix thoroughly.
  11. Gently remove baked “meatballs” from muffin tin — you should be able to twist them slightly with your hand to loosen them from the cups — making sure not to break them apart. Add them into the simmering cream sauce and continue to simmer, stirring occasionally, about 10 minutes or until sauce has reached desired thickness. Add salt and pepper to taste.

Serve 2 to 3 “meatballs” per person with mashed potatoes and a generous amount of cream sauce sprinkled with dill, along with vegetables and lingonberry or cranberry sauce.

Vegetarian (Vegan) Chili

I don’t envision this turning into a food blog, but I’ve been eating vegetarian/pescatarian for about 5 1/2 years now, and I’ve gotten to the point where I rarely cook with recipes, instead relying on my experience and familiarity with the ingredients I’m using to make things “from memory.”

The thing is… I’ve gotten better as a cook, but I’m not that good. Some of the things I make can be hit-or-miss, since the quantities of ingredients and details of the cooking process are slightly different each time.

So, when I really nail something — which does happen from time to time — I think maybe it would be a good idea for me to write up a recipe, before I forget everything.

Last night I made a vegetarian chili, and was quite pleased with the results. Thus, here is the “recipe” (written up after the fact), mostly so I can remember this later.

Vegetarian Chili

Makes about 6 servings. (Unless you’re me, in which case it’s more like 4.)

Ingredients

For chili:

1/4 cup canola oil
1 small onion, finely chopped
1 red or yellow bell pepper (or 1/2 of each), finely chopped
2 cloves garlic, minced
2 tbsp chili powder
1 1/2 tsp cumin powder
1/2 tsp cayenne pepper
1/2 tsp oregano
1 28-oz can (or 2 14-oz cans) diced tomatoes (with liquid)
2 cups vegetable broth
1 tbsp maple or agave syrup
1 can chili beans, drained and rinsed
1 can black beans, drained and rinsed
salt and pepper to taste

For garnish:

minced cilantro
minced scallions
diced fresh cherry tomatoes
guacamole

Preparation

  1. In a large pot, heat oil over medium-high heat. When oil is hot, add spices (chili powder, cumin, cayenne and oregano) and stir for about 20 seconds, then add onion, peppers and garlic. Cook, stirring occasionally, until onions are translucent, about 5 minutes.
  2. Add diced tomatoes and their liquid and stir. Raise heat to high and bring to a boil. Pour in vegetable broth and syrup and return to boil.
  3. Stir in all of the beans and bring to a simmer. Reduce heat to low.
  4. Cook uncovered for at least 30 minutes, stirring occasionally. Pour in additional broth if chili is getting too thick. Season to taste with salt and pepper.
  5. Pour into bowls and garnish as desired.

Additional Notes and Suggestions

  • Quantities for spices are approximate. (And, honestly, I didn’t measure any of them besides the chili powder.) Adjust to suit your taste.
  • “Chili beans” is kind of a nebulous term. I used a can of Westbrae Natural Organic Chili Beans, which is a mixture of pinto, kidney and black beans. You can use any kind of beans, really, although I think white beans are too delicate in flavor for this. But when I think of chili I think of kidney beans or black beans. And honestly, kidney beans in large quantities don’t “agree with me”, so I went with straight black beans for the second can. I know a lot of people make chili with just black beans, but for some reason I find that a little boring.
  • Sometimes canned tomatoes have herbs like basil added. Be sure you’re getting plain tomatoes.
  • Corn is a nice addition, but we didn’t have any in the freezer last night. Add 1 cup of frozen corn at the same time as the beans.
  • This recipe is vegan, but if you eat dairy, you can garnish with sour cream or shredded sharp cheddar cheese instead of (or in addition to!) the guacamole.
  • For breakfast the next day, heat up a bowl of the leftover chili and top with a poached egg.

Fixing a redirect loop on WordPress sites with WooCommerce when converting the site to all-SSL

Best practice these days is to run sites on all-SSL, not just the parts of the site that “need” it. But not long ago, it was common to apply SSL only when it was absolutely necessary, because SSL encryption meant a performance hit. Not anymore.

You may find, if you’re trying to convert an existing WordPress / WooCommerce site to all-SSL, that reconfiguring your URLs, by using a tool such as interconnect/it’s super-slick, powerful (and dangerous) Search Replace DB tool, that once you’ve made the changes, your home page kicks into a redirect loop, indefinitely cycling between http:// and https:// versions of your URL.

WooCommerce may be to blame!

Specifically, a setting in WooCommerce called “Force HTTP when leaving the checkout”. Head on over to WooCommerce > Settings > Checkout and… um… check it out.

Simply uncheck that box, and, while you’re at it, uncheck “Force secure checkout” since it’s unnecessary on an all-SSL site, save your changes, and your home page should come back to live!

Internet Explorer and the centered background SVG problem

We are rapidly approaching, I believe, a time when we no longer need to worry about things that don’t work in Internet Explorer.

But we’re not there yet.

I’ve started using SVG images on the web a lot, especially for logos, which I tend to put into a flexible-width container at the top left corner of pages. Which is great, except IE has this annoying habit of resizing the canvas for SVGs to fill the container they’re in. The whole logo appears on the page, and scaled properly… but it’s horizontally centered in the container, rather than flush against the left edge.

There appear to be many possible solutions, but for a solution that is 100% fluid/responsive (that is, it will scale with the container), this does the trick.

It does involve manually editing the SVG code, but it’s simple and you only need to do it once as part of the image prep process. In the <svg> tag, look for the viewbox attribute. It will most likely consist of four numbers… 0 0 followed by the width and height of the canvas. After this attribute, simply add width="x" height="y" with the same x and y values from the viewbox attribute.

It works!

Noted for future reference (by me): How to reset the MySQL root password in Ubuntu 18.04

As a bleeding-edge early adopter, here in June 2018 I am already using Ubuntu 18.04 LTS for new sites I’m setting up for clients. (How daring!)

I ran aground this afternoon with a new server setup, because I couldn’t log into phpMyAdmin as root (or, therefore, as anyone, since I hadn’t set up my own user yet).

All of the old familiar ways I had been trying, and the tutorials I had referred to for at least the past two years, were not working. So then I specifically searched for a solution for Ubuntu 18.04 and found this excellent tutorial.

First off, mysql_secure_installation wasn’t working. That was one of the “old familiar ways” I had already tried thrice. THRICE I TELL YOU!

The key, I think, was these two unexpected lines:

$ sudo mkdir -p /var/run/mysqld
$ sudo chown mysql:mysql /var/run/mysqld

Because that folder didn’t exist and/or didn’t have the proper permissions, some other steps were failing silently or giving error messages that failed to point me in the direction of the actual problem.

The other thing to note is that with the version of MySQL included in Ubuntu 18.04, these are the proper MySQL commands to run:

USE mysql;
UPDATE user SET authentication_string=PASSWORD("linuxconfig.org") WHERE User='root';
UPDATE user SET plugin="mysql_native_password" WHERE User='root';

And it is actually important to run both of those UPDATE commands, because in the tutorial the results displayed show that the first one updated a record for them, while the second didn’t. I had already run the first command (but not the second) in one of my failed updates. So when I ran these, the first one didn’t update any records and the second one did.