Thursday, April 27, 2017

Beans

Update 2019-06-10


After years of cooking dried beans in the crockpot, I needed to adapt my approach to reduce bloating and gas, so I did some research on other methods. My current approach is almost as convenient as using the crockpot.


  1. Hot Soak: In a dutch oven, add 2 cups of water for every 1 cup of beans. Season as desired; my standard is garlic and ground cumin. Boil for 7 minutes (assuming my typical use of pinto beans, black beans, kidney beans, and white beans). Move to oven to soak overnight (4 to 24 hours suggested; I plan for overnight). [hot soak recommendation]
  2. Preparation: Rinse the beans, discard the soaking water, and refill the dutch oven to the same level with fresh water (or broth). Season again as desired. Boil for 1 minute. Skim off the foam. [digestibility, also digestibility]
  3. Bake: Bake in the oven (covered) at 350°F for 1 to 2 hours; start checking every 20-30 minutes after the first hour for tender but not overcooked beans. At the check, I may add salt. [cooking times, prefer oven, method]


I am uncomfortably aware that cooking sources I respect, namely J. Kenji López-Alt at Serious Eats, say not to soak beans, but I absolutely need to be able to stand myself after eating my own cooking. Every person is unique and may respond differently, so find what works for you!


Another debate is If and when to salt the beans. (I had no idea that cooking beans was so hotly debated until I started researching!) Some argue that cooked beans are less tender if the dried beans were soaked or cooked with salt. My choice is to cook beans with salt because I know that most people use less salt overall when the salt has been used in cooking as compared to adding salt at the table. (Sodium intake is a long discussion of its own.) I season my food with salt while cooking such that I use the salt shaker at the dining table maybe once every two months. I salt my beans depending on what I plan to do. If I plan to purée the beans to make a sofrito-style sauce, I will salt the sofrito, but either leave the beans unsalted or very lightly salted (even for me). If I plan for the beans to stand alone, I will salt them after the first check in order for the last 30 minutes (roughly) of cooking to be with salt.


I prefer cooking dried beans because I prefer my seasoned beans to unseasoned beans from a can, I prefer usually-tender beans to mushy (over-cooked) beans from a can, I can reduce the sodium content, and dried beans are generally cheaper (per unit price, canned beans would need to be 1/3 to 1/4 the cost of dried beans to match, before any discussion of flavor and texture).


Original


I read this article, So You Like Flavor? Don't Soak Your Black Beans! at Serious Eats that references an LA Times article, Don't soak your dried beans! Now even the cool kids agree.


That made me wonder How to Soak Dried Beans (from the US Dry Bean Council). They recommend and describe the hot soak method to reduce cooking time and to result in consistently tender beans. I looked up cooking times at How To Cook Dried Beans (from What's Cooking America) and Bean Varieties (from the US Dry Bean Council), giving more credence to the latter. Then I read How To Cook Beans in the Oven (from The Kitchn).


I used to (cold) soak my beans overnight, then cook for 8 hours in the crock-pot. After that research, I have a new method (that takes just about as long).


I pour 2 cups of pinto beans and 10 cups of water into my dutch oven. I heat it to boiling on the stove, then boil for 7 minutes. Now I place the dutch oven inside the oven (for heat retention) for 4 to 24 hours; I usually let the beans sit overnight. Before cooking, I exchange the soaking water (outdoor plants love these nutrients!) with fresh water. I add minced garlic or garlic powder and ground cumin at this point. I return the dutch oven of soaked pinto beans to the oven, and bake at 350 degrees for 2 hours. Around 1 1/2 hours, I add 1/2 teaspoon of salt, stir, and test the beans for done-ness. I expect 6 cups of cooked pinto beans from 2 cups of dried beans.

Thursday, April 13, 2017

VirtualBox and shared clipboard

Based on the number of results from a search, I feel grateful that I haven't had the shared clipboard between the Mac OS X 10.11 host of my work laptop and the Xubuntu 16.04 guest break sooner.

I read the documentation. I read many of the search results, including this older thread. Those commands gave me error messages! (This is useful, not terrible.)

/usr/bin/VBoxClient-all: 31: /usr/bin/VBoxClient-all: /usr/bin/VBoxClient: not found
/usr/bin/VBoxClient-all: 32: /usr/bin/VBoxClient-all: /usr/bin/VBoxClient: not found
/usr/bin/VBoxClient-all: 33: /usr/bin/VBoxClient-all: /usr/bin/VBoxClient: not found
/usr/bin/VBoxClient-all: 34: /usr/bin/VBoxClient-all: /usr/bin/VBoxClient: not found
/usr/bin/VBoxClient-all: 35: /usr/bin/VBoxClient-all: /usr/bin/VBoxClient: not found

I did a directory listing to look at the available VBox scripts, and saw that those were symlinks. Based on that, if I had to guess, the VBoxClient script was renamed to VBoxClient-all without updating the script itself where it called itself. Doh! The simplest fix was not to edit the script giving the errors but to add a symlink for the "old" name. The symlink solution will also aid any other scripts that were also not updated to call the new name.

user@guest:~$ cd /usr/bin
user@guest:/usr/bin$ ls -l VBox*
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxBalloonCtrl -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 62 Jan 18 10:06 VBoxClient-all -> /usr/lib/x86_64-linux-gnu/VBoxGuestAdditions/98vboxadd-xclient
lrwxrwxrwx 1 root root 46 Jan 18 10:06 VBoxControl -> /opt/VBoxGuestAdditions-5.0.32/bin/VBoxControl
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxHeadless -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxManage -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxSDL -> ../share/virtualbox/VBox.sh
user@guest:/usr/bin$ sudo ln -s /usr/lib/x86_64-linux-gnu/VBoxGuestAdditions/98vboxadd-xclient VBoxClient
user@guest:/usr/bin$ ls -l VBox*
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxBalloonCtrl -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 62 Apr 12 11:04 VBoxClient -> /usr/lib/x86_64-linux-gnu/VBoxGuestAdditions/98vboxadd-xclient
lrwxrwxrwx 1 root root 62 Jan 18 10:06 VBoxClient-all -> /usr/lib/x86_64-linux-gnu/VBoxGuestAdditions/98vboxadd-xclient
lrwxrwxrwx 1 root root 46 Jan 18 10:06 VBoxControl -> /opt/VBoxGuestAdditions-5.0.32/bin/VBoxControl
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxHeadless -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxManage -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxSDL -> ../share/virtualbox/VBox.sh

That might have been sufficient, but I thought this command also sounded promising.

user@guest:/usr/bin$ sudo rcvboxadd setup
Removing existing VirtualBox DKMS kernel modules ...done.
Removing existing VirtualBox non-DKMS kernel modules ...done.
Building the VirtualBox Guest Additions kernel modules ...done.
Doing non-kernel setup of the Guest Additions ...done.
You should restart your guest to make sure the new modules are actually used

And the report after a reboot is: OUCH! Lesson 1: do not try to install the HWE kernel (hardware enablement)! Virtual Box is not happy when you mess with the kernel. (Longer version: installing HWE conflicted with virtualbox-guest-x11 and that's necessary. I thought virtualbox-qt would be sufficient, but that didn't seem to be the case.) Without a skilled administrator, I don't think I would use that VM again! Lesson 2: make a snapshot before kernel upgrades! Or just any ol' time, because backups are good! I suspect the symlink helps too, but overall VBox feet were shot in the process of trying to restore the shared clipboard.