Saturday, July 16, 2016

TIL: Geany and Shellcheck

I've been using Geany for a while. When I selected it, I was looking for a cross-platform text editor with convenience features for writing code because all of the IDEs I had tried were cumbersome. I wanted syntax highlighting and code folding. I was happy that Geany also includes auto-completion, project support, vertical selection (when that's useful, nothing else will work as quickly), and plugin extensibility.

More recently, I ran across Shellcheck and was impressed with what it detects. Of course I could use it online or on the command line, but wouldn't it be nice to have it integrated with Geany also? Sure it would! So I proceeded to look for a Shellcheck plugin for Geany, in a case of retrospectively-humorous linear thinking.

The punchline is that Geany doesn't need a plugin; it has a far simpler approach. When I open one of my bash scripts in Geany, the first menu item under the Build menu is Lint. Guess what lint on a shell script runs? Of course it runs shellcheck! So today I learned that the feature I wanted in Geany was already there in the most appropriate place ... once I broke out of the linear thinking.

Saturday, July 9, 2016

Stay Well!

A friend of mine was in the hospital two weeks ago due to a condition triggered by a reduced immune system. That got me thinking ...

Immune System Stressors

  • emotional stress
  • physical stress
    • inadequate sleep
    • athletic overtraining
  • smoking
  • diet
    • high fat consumption
    • alcohol consumption
    • high refined sugar consumption
    • inadequate protein consumption
    • inadequate calorie consumption
    • inadequate vitamin consumption, including inadequate Vitamin B12
    • inadequate mineral consumption, including inadequate iron and/or zinc
    • inadequate water intake
    • food allergies, mostly if not avoided
    • food intolerances, mostly if not avoided
  • UV (sunburn!) and other types of radiation
  • chemical sensitivities
  • environmental and occupational chemical exposure
  • any immunodeficiency or autoimmune condition
  • common viral or bacterial infections
  • cirrhosis of the liver
  • certain drug therapies, including prednisone
  • blood transfusions and surgery
  • over age 40

[1] accessed 2016-07-09

How to Help Your Immune System

  • wash your hands frequently to avoid infection
  • get adequate sleep: 8 to 10 hours a night
  • exercise regularly, but do not over-exercise
  • maintain a healthy weight
  • do not smoke
  • do not drink alcohol, or only in moderation
  • drink plenty of fluids, especially water
  • reduce in your diet: saturated fat, refined sugar
  • adequate amounts in your balanced diet: protein, calories, vitamins, minerals, and essential fatty acids
  • eat a diet high in fruits, vegetables, and whole grains
  • cook meats thoroughly to avoid infection
  • do not over-eat
  • to counter stress, try massage, mindfulness relaxation techniques, and spend time with good friends who make you laugh
  • avoid false friends who tell you how to feel, and who your friends are/should be
  • avoid allergies and food intolerances
  • avoid sunburn
  • avoid exposure to radiation and unhealthy chemicals
  • control your blood pressure
  • get regular medical screening

[2] accessed 2016-07-09

Sunday, July 19, 2015

The Three Bins

When I have something that I want to talk out, I try to place the topic into one of three bins.

  1. The default bin is: talk it out, and forget it. Let it go! Luckily, a lot of stuff goes here.
  2. The middle bin is my least favorite, because it's filled with what I couldn't let go of from the first bin. There's a reason why some topics continue to gnaw at me, but figuring out what is actually bothering me isn't always easy. If it were easy, it wouldn't be in this bin in the first place!
  3. The smallest bin is my favorite: figure out what is actionable to improve that situation, and do it. I consider this bin the smallest because I'm always emptying it by doing what needs to be done. Woo-hoo!

So I guess that's: forget about it, chew on it, or do it. Let it go, let it stew, or take action.

And so goes the tale of Goldilocks and the Three Bins.

Thursday, June 11, 2015

The Dollops

Here's a recipe I would not have considered posting (in large part because it's different every time I make it, and I don't measure anything), but it's my youngest son's favorite dish right now, and it's loaded with vegetables. Even one formerly-picky eater likes it (although without celery)!

First start with the most important but often unmentioned preparation: shopping for the ingredients. I recommend seasonal vegetables from your local farmers' market, if you can. You can look up USA-local farmers' markets from the USDA or from Local Harvest (click on Find Farmers Markets). Vegetables that are in season have more nutrients, taste better, and are usually cheaper. You can look up what's in season from the USDA, from Sustainable Table, or from fruits and veggies: more matters! (some sites assume Northern Hemisphere). Get a lot of fresh vegetables. Also get some ground meat, potatoes, and an onion. Ground meat freezes well, and root vegetables like potatoes and onions keep well (except in spring and summer, when they want to sprout, but that's also when buying them fresh is easier!).

For an example, here's what I made tonight.

First I diced four organic russet potatoes. I usually get yukon gold instead of russet, but variety is the spice of life! I placed them in my largest mixing bowl (4 quart Pyrex), and sprinkled with salt, garlic powder, brown gravy mix, and a small scoop of Better Than Bouillon beef. I generally use garlic powder instead of minced garlic because the taste doesn't change with time; with fresh garlic, the flavor gets deeper and more pronounced the longer you keep the leftovers. I agree with Budget Bytes about Better Than Bouillon; that stuff is a tasty time-saver! Then I covered the potatoes with water, and placed them in the microwave set for 20 minutes. (These potatoes were still crunchy after 30 minutes, and finally soft after 35 minutes. Usually 15 to 20 minutes in the microwave softens diced potatoes.) Then I diced an onion, and put them in the potato bowl about 6 minutes later. Then I sliced two medium zucchini, quartered the slices, and put them in the same microwavable bowl. Next I diced a very large green pepper, and, you guessed it, added it to the bowl in the microwave! At this point, I couldn't submerge all of my vegetables, so I added more water and more spices. At the same time, I also added grated carrots from my freezer, that I bought and grated and froze when they were at their seasonal peak. I let all of that microwave until the 20 minutes ended. The vegetables were still fairly crunchy, and my eaters prefer soft, so I put the bowl in for another 10 minutes. Then I got out my large sauteuse pan (5 quart size) and put in 18 ounces of ground turkey with the same spices as earlier. I use the same spices so that all the food pieces would taste as though they cooked together. In the winter, I cook everything together for a long time in the pan (and heat the kitchen); in the summer, I prefer to use the microwave as much as possible. Once the ground turkey was completely cooked into tasty crumbles, I added a big scoop of frozen corn kernels and turned the heat down to low. When the vegetables in the microwave were finally done, I added them as well using a slotted spoon to drain the water, and turned the heat up to medium. This time, I also added several big scoops of mashed potatoes that I was afraid would go bad before we remembered to finish them. (Tip: this dish is a great home for lonely leftovers.) I kept an eye on the pan, stirring it every so often, and when food looked like it was about to stick to the pan, I added cooking water from the microwave bowl. When everything in the pan was the same warm temperature, I served dinner. I left the pan simmering on low until the excess water had cooked off. After eating a little for dinner, I packed up 10 cups of leftovers.

If you go the frugal route and select a lower-cost ground meat, it will often have a high fat content. Counter this by draining the grease off the meat after cooking, and add 2 Tablespoons (or more) of flour to soak up the remaining grease for a more palatable mouth feel.

I save the cooking water from this recipe and similar preparations. In this case, the cooking water is a flavorful vegetable broth with seasonings added. I could use it to make bread (yeast doesn't like garlic, so you may need to add a yeast enhancer like Vitamin C / powdered ascorbic acid), as a base to make a tasty soup, or to cook rice. Cooking water that's nearly a soup base on its own can be used in any recipe with compatible seasonings that calls for water. I've also used juice in place of water in some recipes; it all depends on how I think the flavors will work together.

I realize that's not the easiest recipe to follow, so here it is without the prose:

4 potatoes, diced
1/4 tsp salt
1/4 tsp garlic powder
1/2 tsp beef bouillon
  place in large bowl
  cover with water
  microwave for 5 minutes
1 onion, diced  microwave in same bowl 5 minutes
2 medium zucchini, sliced and quartered
1 large green bell pepper, diced
2 cups of grated carrots, very loose (probably 1 cup or less if packed)
  microwave in same bowl 10 minutes
  if needed, continue to microwave vegetables to desired doneness
18 oz ground turkey
1/4 tsp salt
1/4 tsp garlic powder
1/2 tsp beef bouillon
  loose-fry into tasty crumbles with no pink on medium heat
1 1/2 cups frozen corn  add to pan, and cook on low heat until thawed
   add the bowl vegetables to the pan when they're done, and return to medium heat
  add water as needed to keep food from sticking to the pan
  when all food is the same temperature, it's ready to serve!

One thing I try to do with this dish is to include a rainbow of vegetable colors. Red: I'm the only one who likes tomatoes, so when I pack some for my lunch tomorrow, I will add tomatoes. Orange: carrots! Yellow: corn. Green: green bell pepper. White: zucchini, onion, and potatoes. I'm only missing purple/blue, but otherwise I have a (fairly) complete meal in one shapeless dollop of tasty, filling food.

When I "follow" recipes from the Internet (not that I ever follow a recipe exactly), I tend to double the vegetables in the recipe, and halve the meat so that I'm happy with the result. In this case, although this has a lot of meat by my standards, you may wish to double the meat and possibly halve the vegetables.

One thing I love about this concept (it's more of a concept than an actual recipe) is that it's so flexible. You could even view it as a "mix and match" recipe!

1 pound meat or proteinground turkey
3 cups starch / starchy vegetables2 cups potatoes and 1 cup corn
5 1/2 cups vegetables3 cups zucchini, 1 cup carrots, 1 cup bell pepper, 1/2 cup onion
seasoningsalt, garlic powder, beef bouillon

So, let's imagine where we could go with this concept! I really enjoyed the pork potstickers, so how about this wild idea?

meat or protein1 pound ground pork
starch2 cups potatoes and 1 cup corn
vegetables3 cups shredded cabbage, 1 cup carrots, 1/2 cup baby corn, 1/2 cup bean sprouts, 1/2 cup onion
seasoningminced ginger root, garlic powder, soy sauce

What about an Indian variant? Hmm, curry or garam masala? I would probably use ground chicken, rice, a selection of fresh vegetables, and curry! My mom makes a delicious curried chicken salad with rice, so that's why I'd lean in that direction. What about a pizza variant? Perhaps using sausage, potatoes as a neutral base (or skip the starch and serve with rolls), tomato sauce with bell peppers and mushrooms (my favorite pizza toppings!), and seasoned with garlic and oregano. Oooh, that one might require a topping of mozzarella cheese! For a Mexican variant, beans are both protein and starchy (ground or shredded meat will also work), fajitas have bell peppers, mushrooms, and onions, and season with garlic and cumin - possibly lime and cilantro too! There are so many choices! Enjoy, and feel free to experiment!

Notice that all of these combinations are gluten-free, dairy-free (GFCF unless you sprinkle cheese on top!), and soy-free (GFCFSF). This dish is allergy-friendly and infinitely adaptable. Unlike many allergy-kind recipes, it can be made frugally. It can easily be made vegetarian. You can use up or hide leftovers in it. I have used vegetable purée in it to thicken the base (stirring soft potatoes will also do that). Use your imagination!

Wednesday, June 10, 2015

Tasty Potstickers

I ran an informal taste test of potstickers from my grocery store's freezer section. Potstickers are so yummy, but they would be so much more convenient if I could keep some in the freezer.

  1. Pagoda Express savory pork potstickers - the best of these choices, with a wide flavor profile and a good texture
  2. Tasty Select vegetable and pork potstickers - I thought these were a very close second with a good flavor range, but the other opinion rated them a distant second
  3. Tai Pei chicken potstickers - nothing exciting here
  4. Ling Ling chicken and vegetable potstickers - bland with a thick wrapper

Now I wonder if pork potstickers are tastier, or just those two brands. I still have too many leftovers from this test to want to start the next test of potstickers right away, but I do have more questions for later.

Monday, May 4, 2015

Against Bottled Water

I don't drink bottled water, because

  1. making plastic bottles uses a lot of fuel and water: it takes several times more water to make the bottle than to fill it!, and
  2. most bottled water is municipal water, but with less regulation for safety.

There are a few times when bottled water is appropriate (such as when local water is known to be unsafe), but generally it can be avoided for a more ecological choice. Consider a reusable water bottle and a water filter instead.


Flowers for Teacher Appreciation Week

It's Teacher Appreciation Week!

My children's school organizes themes for each day of the Teacher Appreciation work-Week, and today's suggestion was to bring fresh flowers to your teachers. Although cut flowers are lovely, they are also short-lived; I wanted a gift with more staying power. I also like DIY, crafts done with my kids, recycling, and gardening. (You can probably see where I'm going.) This year, like last year (I just didn't have a better idea for this year, but we did improve our technique), we put marigold starts in a self-irrigating planter; the planter was a recycled craft we made together.

These marigolds are a dwarf marigold (Tagetes patula), in French Gold (orange, not yellow). Marigolds are self-seeding annuals, which means they will come back year after year, but from seeds not roots (like perennials). The best way to prepare the seeds, according to my mother, is to let the seeds dry on the plant over winter. I recommend pulling up the plants on a dry day to gather the seed pods (where the blossoms were) once the entire plant is gray and has thoroughly dried out. Take care to gather all the seed pods that have fallen off during the drying process so you're not over-run the next year.

The first year, I planted the six seeds from a 10¢ pack on a drizzly February 12, 2012; just casually scattered under the mailbox before I escaped back to the warm dry. All of the seeds germinated, and the one closest to the road with the most space grew particularly tall; almost two feet tall and nearly as wide! (Dwarf? Ha!) The next two years, I gathered the seeds (and passed them on), and let the ones that fell and germinated on their own grow with minimal thinning; those that grew outside the rock border around my mailbox were mowed without compunction. With lateral competition, the plants did not grow as tall, but I still had an amazing number of blooms all summer until the first hard frost. This year, I plan to thin the mailbox marigolds much more to see if they grow like the first year. I carefully pulled up the largest starts for this year's teacher appreciation marigolds; marigolds are fairly sturdy so they should survive this transplanting. I have more marigold seeds now than I know what to do with! In 2012, I thought 6 seeds for 10¢ was a bit steep, but in one year I had a hundred-fold increase and I think that dime has gone a long way now.

The Parts List:

  • empty water or soda bottles, with their caps, to recycle; you need as many bottles as you want to make planters
  • cotton twine, or any cord made of uncoated natural material that will wick water (including strips of cotton tee shirts)
  • duct tape
  • aluminum foil, or any opaque flexible material to cover the roots for root health

The Tools List:

  • drill and two bits, maybe 1/16" and 1/8" (size isn't critical, just "small" and "about the size of the cord bundle"; careful adults only)
  • utility knife (careful adults only)
  • scissors
  • a towel that can get gardening-dirty

The Resources List:

Based on what I learned last year, here is how we made the self-irrigating planters from recycled water bottles this year:

  1. I drilled several small holes around the shoulder of the water bottles that were empty and to be recycled.
  2. I drilled a larger hole in the bottle cap.
  3. For the last "careful adult" step, I used a utility knife to cut the bottle roughly in half (a bit more on the top, a bit shorter on the bottom; see how one looks, and adjust the others).
  4. The remaining steps were done by my eager children. First we cut two sections of twine, and put a big knot in the middle. Then we threaded the twine through the bottle cap; holding the bottle cap like a cup, it should have octopus-style legs of twine and the knot should be large enough to keep the cord from pulling through the hole. We sealed the cap back on the top of the water bottle.
  5. We lined the inside top of the water bottle with aluminum foil to protect the plant's roots from light. You could instead wrap the entire planter at the end to do that, and to minimize algae growth. I chose to leave the bottom section visible so it's obvious when to add water, but that does allow algae growth.
  6. If the cut edge of the water bottle top is sharper than you'd like, use duct tape folded over that edge to hold the aluminum foil in place, and to cover the sharp edge itself.
  7. We carefully scooped potting mix inside the foil inside the top of the water bottle, shaping as we went.
  8. We placed the water bottle tops inside the water bottle bottoms, and watered. The goal is for the potting soil to be thoroughly moistened, so we ended up pouring out some water from the bottoms.
  9. We dried the bottles as needed before wrapping them with duct tape to hold the upside-down top to the bottom.
  10. Add a few seeds or one small plant, and you are ready to gift or tend this!

All parts came from the recycling bin or the dollar store, so this is a low-cost project. I raided the recycling bin at work because I'm opposed to bottled water.

If you leave out the aluminum foil, the plant will not be as healthy in the long term, but your children can observe the later stages of root growth.

Most plants need as much room for roots underground as they occupy aboveground, so clearly this self-irrigating water bottle planter should not be the final home for most plants. However, a group should be sufficient for a small (windowsill?) herb garden. You can also adapt this technique to larger recycled containers.

There you go! It's surprisingly easy!